Introduction ZCPR3 Environment Command Line GETCL1/GETCL2 CRT/PRT Data GETCRT/GETPRT External FCB GETEFCB Environment GETENV/GETVID FCP Address GETFCP Filenames GETFN1/GETFN2 Initialize Z3INIT IOP Address GETIOP DU/Max DU GETDUOK/GETMDISK/GETMUSER Messages GETMSG/GETSHM/PUTSHM Named Dir GETNDR Path GETPATH Processor Spd GETSPEED Quiet Flag GETQUIET RCP Address GETRCP Shell Stack GETSH1/GETSH2 Wheel Byte GETWHL/PUTWHL ZEX Data GETZFC/GETZNC/GETZRUN/PUTZNC/PUTZRUN :Introduction to the ZCPR3 Environment Anù prograí runninç undeò ZCPR³ ió withiî whaô caî bå calleä á ZCPR³ environment® Á hosô oæ facilitieó anä datá ió availablå tï thió prograí whicè á normaì CP/Í prograí doeó noô have® Foò instance¬ á prograí runninç undeò thå ZCPR³ environment: . can find out what name it was invoked by . can access a set of messages from ZCPR3 which tell it a number of things about how it was invoked ® caî senä messageó tï ZCPR³ anä programó which run after it completes . can find out many things about its environment, such as the processor speed, CRT and printer characteristics, maximum number of disks . can determine what characteristics the user's terminal has and make use of these to employ cursor addressing and other such functions Alì oæ thå informatioî outlineä abovå anä morå ió availablå tï anù runninç prograí thrõ thå ZCPR³ Environmenô Descriptor® Thió ió á blocë oæ memorù (25¶ bytes© whicè containó addresseó anä otheò datá iî á precisely-defineä format® Aô installatioî time¬ thå ZCPR³ utilitieó caî bå seô uð tï internallù contaiî aî Environmenô Descriptoò oò theù caî bå installeä witè á pointeò tï aî Environmenô Descriptoò whicè resideó aô somå fixeä locatioî iî memorù (thió ió thå preferreä approach)® Oncå thå routineó iî Z3LIÂ havå beeî initializeä witè knowledgå oæ thå addresó oæ thió environmenô descriptor¬ theù caî extracô specifiã informatioî froí iô foò uså iî thå applicatioî program. Thå followinç informatioî ió containeä withiî á ZCPR³ Environment Descriptor: . address of External Path . size of External Path . address of RCP . size of RCP . address of FCP . size of FCP . address of IOP . size of IOP . address of Named Dir . size of Named Dir . address of Command Line . size of Command Line . address of Env Descriptor . size of Env Descriptor . address of Shell Stack . size of Shell Stack . address of Z3 Messages . size of Stack Entries . address of External FCB . address of External Stk . address of Wheel Byte . quiet flag . processor speed . DU approval flag . maximum disk allowed . maximum user allowed ® datá oî CRÔ ® datá oî Printeò . two reserved file names . ZCPR3 TERMCAP (Z3TCAP) Thå purposå oæ Z3LIÂ ió tï providå thå programmeò witè easù accesó tï thå informatioî iî thå ZCPR³ Environmenô Descriptoò anä tï allo÷ hií tï easilù makå uså oæ thió information. To illustrate, the some Z3LIB routines are: . GETPRT - return data on the width, number of lines, and form feed ability of the printer . GETCL2 - return the address of the first char of the next command to be run, if any . GETEFCB - return the address of the external FCB so the program can determine its name . SHPUSH - push a command line on the shell stack ® SHPOÐ - poð á commanä linå froí thå shelì stk . IFT - invoke the next IF level and make it T . IFEND - back up to previous IF level Thió HLÐ filå describeó thoså Z3LIÂ routineó whicè providå accesó tï thå ZCPR³ Environmenô Descriptoò data® All of these routines are of the general name: GETxxxxx wherå thå mnemoniã followinç thå GEÔ prefiø alludeó tï whaô information is being obtained. :Command Line GETCL1/GETCL2 Z3LIB Routine: GETCL1 Function: Returnó thå addresó oæ thå Commanä Linå Buffeò iî HÌ anä itó sizå (iî byte© iî A® Thå Commanä Linå Buffeò ió structured as follows: cmdline: db
db