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