/ WPF1 - PREFIX FOR WPS-8 SYSTEM ASSEMBLIES / / COPYRIGHT (C) 1983 BY / DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. / / THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED / ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE / INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER / COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY / OTHER PERSON. NO TITLE TO AND OWNERSHIP TO THE SOFTWARE IS HEREBY / TRANSFERRED. / / THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT / NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL / EQUIPMENT CORPORATION. / / DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY / OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL. / XLIST / WPF1 - PREFIX FOR WPS-8 SYSTEM ASSEMBLIES / / COPYRIGHT (C) 1983 BY / DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. / / THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED / ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE / INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER / COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY / OTHER PERSON. NO TITLE TO AND OWNERSHIP TO THE SOFTWARE IS HEREBY / TRANSFERRED. / / THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT / NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL / EQUIPMENT CORPORATION. / / DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY / OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL. / / EDIT HISTORY / 054 KMD 15-Sep-85 Add blast no. for TEC8VAL routine / 053 EMcD 14-sep-85 Add system wide address of STUACF flag / (UDK key while in SETUP) / 052 KMD 13-Sep-85 Add CS3CHR defs for relevent countrys / 051 KMD 09-Sep-85 Add blast number for PELINE moved from lexasc / And insert PRE/PST CUR defs into country / specific defs. /!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!NB.If CS3CHR defined also alter country / specific currency characters in lexasc at / lables 'ACURRENCY,' and 'FACURRENCY,'. / 050 EMcD 26-Aug-85 3rd attempt to add Insert/Overstrike / 049 MART 16-AUG-85 ADD DUTCH / 048 MART 07-AUG-85 ADD CONVERT STARTUP ADDRESS / 047 RCME 23-Jul-85 Global for cross field callable MATH blaster / 046 mart 09-jul-85 glogal for GRESEN graphics restart table entry / AND Add MVSWEN global for blastr table / 045 EMcD 28-Jun-85 Global for CXKBIN blast for CX / 044 RCME 25-Jun-85 Add global address of sort seq. tbl SORTBL / 043 EMcD 11-Jun-85 Change PRPUMM address, (Martins change / lost in crossed sources) / 042 rcme 07-Jun-85 Global for PGSWPH blast for 2CMF / 041 rcme 04-Jun-85 Global for HCVDBN blast for 2CMF / 040 rcme 24-May-85 Global for PSCRST blast for print screen / 039 EMcD 23-May-85 Global for PGECHO blast in EDIT / 038 mart 23-may-85 Global for printer and SYS / 037 EMcD 20-May-85 Global for 8 bit Hyphen Push-Pull / 036 Mart 20-may-85 More BLASTR table entries for 8 bit fallback / 035 EMcD 16-May-85 Global for XVMNPH, view tech char attributes / 034 EMcD 14-May-85 Global for MNCUCS blast for casing chars / 033 Mart 07-may-85 Global for fallback routine and table address / 032 EMcD 06-May-85 Global entry for SWPDED , 8 bit gold swap / 031 MART 02-MAY-85 GLOBAL FOR CFPRES CROSS FIELD CALL TO PRESCS / 030 rcme 01-May-85 Global for BLODAP, the spelling hole / 029 Mart 30-apr-85 Address of BHOOK in field 7 for cross call / and Global for FALBEN 8 bit fallback part II / 028 EMcD 29-Apr-85 Global entry for AB8INS 8 bit in abbrev doc / 027 Mart 24-apr-85 Global entry for V25STB and FALBKE 8bit fallback / 026 rcme 22-Apr-85 Global entry for merge field name search rtn / 025 rcme 18-Apr-85 Global entry for Print Screen (PRTSHL) routine / 024 Mart 18-Apr-85 Global entry for Blasted proportional tables / 023 EMcD 10-Apr-85 Global for blaster entries INCHKR and INCSZR / 022 Mart 03-apr-85 Global for blastr table entry MCLQPE / 021 EMcD 02-Apr-85 Global for table entry no for CX hole / 020 Mart 26-mar-85 PRGTCH table entry for Blastr / 019 EMcD 26-Mar-85 Fall Back Table address / 018 Mart 25-MAR-85 Add ruler table entry to blaster / 017 rcme 18-mar-85 add print screen hole definitions / 016 mdh 15-mar-85 add blaster table entry definitions section / first is the (replaced)ruler copy subroutine. / 015 mdh 12-mar-85 add hole users swap page address for ed blaster / 014 EMcD 08-mar-85 V25st address / 013 mdh 08-mar-85 added BLASTR address link to blaster & tables / /------------mods below are V2.0 and earlier / / 012 AIB 5-SEP-84 added SVFVFY to locate word for / communication between handler and verify / 011 WCE 20-AUG-84 ADDED TELEPHONE DIRECTORY WORD IN SYSTEM AREA / 010 JAC 20-JUN-84 100 UDK Integration / 009 AIB 14-MAY-84 ADD EDTC DEFINITION FOR TECH CHAR / 008 HLP 25-APR-84 Delete LPTYPE, replace with D2XONF / 007 AIB 23-APR-84 Add CMDBLK defining queue blk in cmnd field / 006 HLP 12-APR-84 Redefine PRQPNT, PRQPSZ, PRBOTM, and DSKQUE / 005 AH 21-MAR-84 Add column key definition / 004 HLP 07-MAR-84 MAKE LPOSIZ=046, DELETE SQWAIT, MOVE D2CTQF / 003 WCE 05-MAR-84 MODIFIED SYMBOLS FOR DECMATE VERSION 1.6 / 002 WJY 02-FEB-84 CHANGES FOR DECMATE I COMPATABILITY. / 001 WCE 05-JAN-84 MODIFIED SYMBOLS FOR DECMATE VERSION 1.5 / WCE 28-JUN-83 CHANGES TO SPLIT WP2CMF INTO TWO PARTS / THIS PREFIX FILE WAS REWRITTEN AND / PREVIOUS EDIT HISTORIES DELETED. PARTS / OF OTHER MODULES ARE INCLUDED HERE / BECAUSE THEY WERE NORMALY XLISTED. / NOPUNCH / DO NOT GENERATE ANY CODE FOR THESE DEFINITIONS /*************************************************************************** /**** STANDARD SYSTEM DEFINITIONS: **** /*************************************************************************** DECIMAL IFZERO SYSTYP-378 < CONDOR= 1 / DEFINE FUNCTIONS UNIQUE TO DECMATE II (NOT DECMATE I) FMWARE= 1 / DEFINE FUNCTIONS UNIQUE TO HAVING FIRMWARE ON THE / SYSTEM DISKETTE ON CONDOR (DECMATE II SYSTEM) WINNIE= 1 / ENABLE CONDOR WINCHESTER HARD DISK SUPPORT /A001 VT125R= 1 / ENABLE CONDOR REGIS GRAPHICS COMM SUPPORT /A001 > / END IFZERO SYSTYP-378 WPSTYP= 278 / DEFINE SYSTEM HARDWARE TYPE OCTAL IFDEF ENGLSH < PERDEC= 1 / DEFINE PERIOD FOR DECIMAL POINT MDYDAT= 1 / DEFINE MONTH-DAY-YEAR DATE FORMAT PRECUR= 1 / DEFINE PRE-DIGIT CURRENCY SYMBOL > / END IFDEF ENGLSH IFDEF ITALIAN < COMDEC= 1 / DEFINE COMMA FOR DECIMAL POINT DMYDAT= 1 / DEFINE DAY-MONTH-YEAR DATE FORMAT PRECUR= 1 / DEFINE PRE-DIGIT CURRENCY SYMBOL > / END IFDEF ITALIAN IFDEF DUTCH < COMDEC= 1 / DEFINE COMMA FOR DECIMAL POINT DMYDAT= 1 / DEFINE DAY-MONTH-YEAR DATE FORMAT PRECUR= 1 / DEFINE PRE-DIGIT CURRENCY SYMBOL > / EDND IFDEF DUTCH IFDEF SPANISH < COMDEC= 1 / DEFINE COMMA FOR DECIMAL POINT DMYDAT= 1 / DEFINE DAY-MONTH-YEAR DATE FORMAT PSTCUR= 1 / DEFINE POST-DIGIT CURRENCY SYMBOL CS3CHR= 1 / DEFINE 3 CHARACTER CURRENCY SYMBOL > / EDND IFDEF DUTCH IFDEF V30NOR < COMDEC= 1 / DEFINE COMMA FOR DECIMAL POINT MDYDAT= 1 / DEFINE MONTH-DAY-YEAR DATE FORMAT PRECUR= 1 / DEFINE PRE-DIGIT CURRENCY SYMBOL CS3CHR= 1 / DEFINE 3 CHARACTER CURRENCY SYMBOL > / EDND IFDEF V30NOR IFDEF V30SWE < COMDEC= 1 / DEFINE COMMA FOR DECIMAL POINT YMDDAT= 1 / DEFINE YEAR-MONTH-DAY DATE FORMAT PRECUR= 1 / DEFINE PRE-DIGIT CURRENCY SYMBOL CS3CHR= 1 / DEFINE 3 CHARACTER CURRENCY SYMBOL > / EDND IFDEF V30SWE /*************************************************************************** /**** STANDARD SYMBOL DEFINATIONS: **** /*************************************************************************** * HLT ; XX, 0 / USED FOR SUBROUTINE ENTRY POINT * 7014 ; R3L, 0 / ROTATE AC 3 LEFT (LINK IS NOT USED) * 7621 ; CAM, 0 / CLEAR AC AND MQ * 7701 ; ACL, 0 / LOAD MQ INTO AC * CLA ; AC0000, 0 / SET ACCUMULATOR TO 0 * CLA CLL CML RAL ; AC0001, 0 / SET ACCUMULATOR TO 1 (-7777) * CLA CLL IAC RAL ; AC0002, 0 / SET ACCUMULATOR TO 2 (-7776) * CLA CLL CML IAC RAL ; AC0003, 0 / SET ACCUMULATOR TO 3 (-7775) * CLA CLL IAC RTL ; AC0004, 0 / SET ACCUMULATOR TO 4 (-7774) * CLA CLL CML IAC RTL ; AC0006, 0 / SET ACCUMULATOR TO 6 (-7772) * CLA CLL IAC R3L ; AC0010, 0 / SET ACCUMULATOR TO 10 (-7770) * CLA IAC BSW ; AC0100, 0 / SET ACCUMULATOR TO 100 (-7700) * CLA CLL CML RTR ; AC2000, 0 / SET ACCUMULATOR TO 2000 (-6000) * CLA CLL CMA RAR ; AC3777, 0 / SET ACCUMULATOR TO 3777 (-4001) * CLA CLL IAC RTR ; AC4000, 0 / SET ACCUMULATOR TO 4000 (-4000) * CLA CLL CMA RTR ; AC5777, 0 / SET ACCUMULATOR TO 5777 (-2001) * CLA CLL CML IAC RTR ; AC6000, 0 / SET ACCUMULATOR TO 6000 (-2000) * CLA CLL CMA RTL ; AC7775, 0 / SET ACCUMULATOR TO 7775 (-3) * CLA CLL CMA RAL ; AC7776, 0 / SET ACCUMULATOR TO 7776 (-2) * CLA CMA ; AC7777, 0 / SET ACCUMULATOR TO 7777 (-1) /*************************************************************************** /**** STANDARD CHANGE FIELD INSTRUCTIONS **** /*************************************************************************** * 0 ; SYSFLD, 0 / SET UP SYSTEM FIELD * CDF SYSFLD ; CDFSYS, 0 * CDFSYS ; CDFDSK, 0 /A001 * CIF SYSFLD ; CIFSYS, 0 * CIFSYS ; CIFDSK, 0 /A001 * CDF CIF SYSFLD ; CDISYS, 0 * 10 ; PRFLD, 0 / SET UP PRINTER FIELD * CDF PRFLD ; CDFPRT, 0 * CIF PRFLD ; CIFPRT, 0 * CIF CDF PRFLD ; CDIPRT, 0 * 20 ; MNUFLD, 0 / SET UP MENU FIELD * CDF MNUFLD ; CDFMNU, 0 * CDFMNU ; MNCDU0, 0 / FOR WPCMND,IOA,MENU,FILE PROCESSOR * CIF MNUFLD ; CIFMNU, 0 * CDF CIF MNUFLD ; CDIMNU, 0 * 30 ; EDTFLD, 0 / SET UP EDITOR FIELD * CDF EDTFLD ; CDFEDT, 0 * CIF EDTFLD ; CIFEDT, 0 * CDF CIF EDTFLD ; CDIEDT, 0 * 40 ; BUFFLD, 0 / SET UP BUFFER FIELD * CDF BUFFLD ; CDFBUF, 0 / ADDED FOR WPCX * CDFBUF ; MNCDU2, 0 / FOR EDIT BUFFER overlayed by SORT * CIF BUFFLD ; CIFBUF, 0 * CDF CIF BUFFLD ; CDIBUF, 0 * 50 ; LPFLD, 0 / SET UP LIST PROCESSING FIELD * CDF LPFLD ; CDFLP, 0 * CIF LPFLD ; CIFLP, 0 * CDF CIF LPFLD ; CDILP, 0 * 60 ; MTHFLD, 0 / SET UP MATH FIELD * CDF MTHFLD ; CDFMTH, 0 * CIF MTHFLD ; CIFMTH, 0 * CDF CIF MTHFLD ; CDIMTH, 0 * 70 ; FIOFLD, 0 / SET UP FILE IO FIELD * CDF FIOFLD ; CDFFIO, 0 * CIF FIOFLD ; CIFFIO, 0 * CDF CIF FIOFLD ; CDIFIO, 0 * CDFFIO ; CDFACP, 0 /A001 /*************************************************************************** /**** INPUT - OUTPUT (IOT) INSTRUCTION DEFINITIONS **** /*************************************************************************** * 6030 ; IOTU1I, 0 / TERMINAL INPUT * 6040 ; IOTU1O, 0 / TERMINAL OUTPUT * 6102 ; SPL, 0 / SKIP ON POWER LOW * 6236 ; PRQ3, 0 / PANEL REQUEST NUMBER THREE /A011 * 6300 ; IOTH2I, 0 / HOST INPUT * 6310 ; IOTH2O, 0 / HOST OUTPUT * 6340 ; IOTH2A, 0 / PORT 1 * 6500 ; IOTLPT, 0 / PRINTER PORT * 6700 ; IOTWIN, 0 / IOT INSTRUCTIONS FOR WINCHESTER DISK /A001 * IOTWIN ; RDNOP, 0 / RESERVED, EFFECT NOP /A001 * IOTWIN+1 ; RDSR, 0 / SKIP ON DATA REQUEST FLAG /A001 * IOTWIN+2 ; RDSC, 0 / SEND CMND (IN AC) TO CONTROLLER /A001 * IOTWIN+3 ; RDSD, 0 / SKIP ON DONE FLAG; CLEAR FLAG /A001 * IOTWIN+4 ; RDTD, 0 / TRANSFER DATA TO/FROM AC(0:11) /A001 * IOTWIN+5 ; RDWE, 0 / WRITE INTERRUPT-ENABLE MASK FROM AC(11)/A001 * IOTWIN+6 ; RDSE, 0 / SKIP ON ERROR FLAG; CLEAR FLAG /A001 * IOTWIN+7 ; RDNOOP, 0 / RESERVED, EFFECT NOP /A001 * 6750 ; IOTDSK, 0 / DEFINE IOT INSTRUCTIONS FOR FLOPPY DISKS * IOTDSK ; RXINOP, 0 / NOP * IOTDSK ; RXISEL, 0 / SELECT DRIVE PAIR INDICATED IN AC11 * IOTDSK+1 ; RXILCD, 0 / LOAD COMMAND, CLEAR AC * IOTDSK+2 ; RXIXDR, 0 / TRANSFER DATA REGISTER * IOTDSK+3 ; RXISTR, 0 / SKIP ON TR FLAG, CLEAR FLAG * IOTDSK+4 ; RXISER, 0 / SKIP ON ERROR FLAG, CLEAR FLAG * IOTDSK+5 ; RXISDN, 0 / SKIP ON DONE FLAG, CLEAR FLAG * IOTDSK+6 ; RXIINT, 0 / ENABLE OR DISABLE RX INTERRUPTS * IOTDSK+7 ; RXIINI, 0 / INIT CONTROLLER AND INTERFACE /*************************************************************************** /**** ASCII CHARACTER CODE DEFINITIONS **** /*************************************************************************** * 7 ; BELL, 0 / ASCII BELL CODE * 12 ; LF, 0 / ASCII FOR LINE FEED (SEE "ECNWLN" BELOW) * 15 ; CR, 0 / ASCII FOR CARRIAGE RETURN * 21 ; XON, 0 / ASCII CODE TO BEGIN COMMUNICATION TRANSFER * 23 ; XOF, 0 / ASCII CODE TO STOP COMMUNICATION TRANSFER * 33 ; ESC, 0 / ASCII ESCAPE CODE /*************************************************************************** /**** EXTENDED GRAPHICS USED ON THE VT100: **** /*************************************************************************** * 140 ; EXGSLC, 0 / SELECT POINT (SOLID DIAMOND) * 141 ; EXGOVS, 0 / OVERSTRUCK CHARACTER (CHECKER BOARD) * 142 ; EXGTAB, 0 / TAB (HT) * 144 ; EXGNLN, 0 / NEW LINE (CR) * 146 ; EXGWLN, 0 / WRAPPED LINE (DEGREE SYMBOL) * 156 ; EXGCEN, 0 / CENTERED LINE (+) * 165 ; EXGPGF, 0 / PARAGRAPH (RIGHT T) * 176 ; EXGJSP, 0 / JUSTIFYING SPACE (CENTERED DOT) * 174 ; EXGETX, 0 / END OF TEXT (NOT EQUAL) * "-&177 ; EXGHLN, 0 / HYPHENATED LINE /*************************************************************************** /**** SPECIAL TEXT FORMAT CODES (IN EDITOR TEXT BUFFER) **** /*************************************************************************** * -1 ; ECBFBG, 0 / CODE FOR PHYSICAL START OF TEXT BUFFER * .-2 ; ECBFND, 0 / CODE FOR PHYSICAL END OF TEXT BUFFER * .-2 ; ECSTX, 0 / CODE FOR START OF TEXT IN BUFFER * ECSTX ; ECETX, 0 / CODE FOR END OF TEXT IN BUFFER * 0007 ; ECMDFL, 0 / 'LINE MODIFIED' FLAG * 0207 ; ECRMFL, 0 / 'RULER MODIFIED' FLAG * 0010 ; ECSTOV, 0 / START DEAD KEY CODE * 0011 ; ECTAB, 0 / TAB * 0012 ; ECNWLN, 0 / NEW LINE * 1012 ; ECPGRF, 0 / END PARAGRAPH * 1412 ; ECENLN, 0 / CENTERED LINE * 2012 ; ECWWLN, 0 / WRAPPED LINE (NO HYPHEN) * 2412 ; ECHYLN, 0 / WRAPPED LINE (WITH HYPHEN) * 3412 ; ECSLPT, 0 / SELECT POINT * 0014 ; ECNWPG, 0 / NEW PAGE * 1014 ; ECPCT1, 0 / START CONTROL * 1414 ; ECPCT2, 0 / END CONTROL * 2014 ; ECPMRK, 0 / PAGE MARKER * 0015 ; ECNDOV, 0 / END DEAD KEY CODE * 0016 ; ECSTRL, 0 / RULER START * 0017 ; ECNDRL, 0 / RULER END * 0040 ; ECSPC, 0 / SPACE * 2040 ; ECJSPC, 0 / JUSTIFYING SPACE * 3040 ; ECTMRK, 0 / POSITION MARKER * 3440 ; ECCMRK, 0 / MARKS POSITION DURING REJUSTIFICATION * 2055 ; ECPHYP, 0 / PRINTING BREAK HYPHEN * 0100 ; ECMDRL, 0 / RULER MIDDLE /*************************************************************************** /**** WPKBDA - WPS KEYBOARD DEFINITIONS **** /**** DEFINE ALL SPECIAL KEYBOARD CHARACTER VALUES **** /*************************************************************************** * -1 ; EDPWFL, 0 / POWER FAIL DETECTED * .-2 ; EDRBCH, 0 / RUB CHARACTER * .-2 ; EDRBWD, 0 / RUB WORD * .-2 ; EDNWLN, 0 / RETURN * .-2 ; EDPCMD, 0 / GOLD: COMMAND * .-2 ; EDCRET, 0 / GOLD: PARAGRAPH MARKER * .-2 ; EDTAB, 0 / TAB * .-2 ; EDINTB, 0 / GOLD: INDENT TAB * .-2 ; EDFILE, 0 / GOLD: FILE * .-2 ; EDMENU, 0 / GOLD: MENU * .-2 ; EDCONT, 0 / GOLD: CONTINUE SEARCH & SELECT * .-2 ; EDRBLN, 0 / GOLD: RUB LINE * .-2 ; EDRBSE, 0 / GOLD: RUB SENTENCE * .-2 ; EDDLTC, 0 / DELETE CHARACTER * .-2 ; EDDLTW, 0 / DELETE WORD * .-2 ; EDWORD, 0 / WORD * .-2 ; EDSENT, 0 / SENTENCE * .-2 ; EDLINE, 0 / LINE * .-2 ; EDTABP, 0 / TAB POSITION * .-2 ; EDENTR, 0 / < > (ENTER) * .-2 ; EDPAGE, 0 / PAGE * .-2 ; EDPARA, 0 / PARAGRAPH * .-2 ; EDADVN, 0 / ADVANCE * .-2 ; EDBKUP, 0 / BACKUP * .-2 ; EDGADV, 0 / GOLD: ADVANCE * .-2 ; EDGBKP, 0 / GOLD: BACKUP * .-2 ; EDBOLD, 0 / BOLD * .-2 ; EDSLCT, 0 / SELECT * .-2 ; EDUPPR, 0 / UPPER CASE * .-2 ; EDUNDL, 0 / UNDERLINE * .-2 ; EDSCUT, 0 / CUT * .-2 ; EDSWAP, 0 / SWAP * .-2 ; EDPSTE, 0 / PASTE * .-2 ; EDUDLT, 0 / GOLD: DELETE * .-2 ; EDUBLD, 0 / GOLD: BOLD * .-2 ; EDLOWR, 0 / GOLD: UPPERCASE * .-2 ; EDUUDL, 0 / GOLD: UNDERLINE * .-2 ; EDHYPS, 0 / HYPHEN PUSH * .-2 ; EDHYPL, 0 / GOLD: HYPHEN PULL * .-2 ; EDHYP1, 0 / GOLD: PRINTING BREAK HYPHEN * .-2 ; EDHYP2, 0 / GOLD: INVISIBLE HYPHEN (SHIFT PRINT HYPHEN) * .-2 ; EDDEAD, 0 / GOLD: DEAD KEY * .-2 ; EDDICT, 0 / GOLD: ABBREVIATION * .-2 ; EDGETC, 0 / GOLD: LIBRARY * .-2 ; EDDCMT, 0 / GOLD: GET * .-2 ; EDTOP, 0 / GOLD: TOP * .-2 ; EDBOTM, 0 / GOLD: BOTTOM * .-2 ; EDFIND, 0 / GOLD: SEARCH * .-2 ; EDSRCH, 0 / GOLD: CONTINUE SEARCH * .-2 ; EDNPAG, 0 / GOLD: NEW PAGE * .-2 ; EDPMRK, 0 / GOLD: PAGE MARKER * .-2 ; EDRULR, 0 / GOLD: RULER * .-2 ; EDCENT, 0 / GOLD: CENTER * .-2 ; EDGCUT, 0 / GOLD: CUT * .-2 ; EDGPST, 0 / GOLD: PASTE * .-2 ; EDGPGE, 0 / GOLD: PAGE * .-2 ; EDREPL, 0 / GOLD: REPLACE * .-2 ; EDSUBS, 0 / GOLD: SUBSCRIPT * .-2 ; EDSUPS, 0 / GOLD: SUPERSCRIPT * .-2 ; EDVIEW, 0 / GOLD: VIEW * .-2 ; EDTIME, 0 / GOLD: DATE & TIME * .-2 ; EDTC, 0 / TECH CHAR PREFIX KEY /A009 * .-2 ; EDHELP, 0 / HELP KEY * .-2 ; EDPRSC, 0 / PREVIOUS SCREEN /A001 * .-2 ; EDNXSC, 0 / NEXT SCREEN /A001 * .-2 ; EDUPAR, 0 / CURSOR UP /A001 * .-2 ; EDDNAR, 0 / CURSOR DOWN /A001 IFDEF CONDOR < /A002 * .-2 ; EDRARO, 0 / CURSOR RIGHT /A001 * .-2 ; EDLARO, 0 / CURSOR LEFT /A001 * .-2 ; EDGRAR, 0 / GOLD: CURSOR RIGHT /A001 * .-2 ; EDGLAR, 0 / GOLD: CURSOR LEFT /A001 > / END IFDEF CONDOR * .-2 ; EDRQSP, 0 / GOLD: SPACE (REQUIRED SPACE) /A001 * .-2 ; EDCOLM, 0 / COLUMN KEY /A005 * .-2 ; EDINOV, 0 / INSERT-OVERSTRIKE KEY /M050 /*************************************************************************** /**** END OF TABLE FOR WPS EDITOR **** /**** SYMBOLS BELOW ARE USED FOR WPUDKS AS ARE THE SYMBOLS ABOVE. **** /**** **** /**** IMPORTANT NOTE **** IF SYMBOLS ARE ADDED ABOVE EDXXXX **** /**** WPUDKS MUST BE MODIFIED TO UNDERSTAND THEM **** /*************************************************************************** /*************************************************************************** /**** ORDER IMPORTANT IN THE FOLLOWING SECTION **** /*************************************************************************** * .-2 ; EDU99, 0 /A010 * .-144+13 / SAVE NUMBERS FOR UDK'S /A010 * .-2 ; EDUDK9, 0 / DEFINE UDK KEY NUMBER 9 * .-2 ; EDUDK8, 0 / DEFINE UDK KEY NUMBER 8 * .-2 ; EDUDK7, 0 / DEFINE UDK KEY NUMBER 7 * .-2 ; EDUDK6, 0 / DEFINE UDK KEY NUMBER 6 * .-2 ; EDUDK5, 0 / DEFINE UDK KEY NUMBER 5 * .-2 ; EDUDK4, 0 / DEFINE UDK KEY NUMBER 4 * .-2 ; EDUDK3, 0 / DEFINE UDK KEY NUMBER 3 * .-2 ; EDUDK2, 0 / DEFINE UDK KEY NUMBER 2 * .-2 ; EDUDK1, 0 / DEFINE UDK KEY NUMBER 1 * .-2 ; EDUDK0, 0 / DEFINE UDK KEY NUMBER 0 * EDUDK0 ; EDUKND, 0 / DEFINE END OF UDK SYMBOLS /*************************************************************************** /**** IF IT IS NECESSARY TO ADD SYMBOLS NOT TO BE **** /**** INPUT INTO UDKS, ADD THEM BEYOND THIS POINT **** /*************************************************************************** * .-2 ; EDUDKY, 0 / F14 FOR UDK KEY /A010 * .-2 ; EDSETUP, 0 / SET UP KEY * .-2 ; EDDO, 0 / DO KEY /*************************************************************************** /**** RXDCL - DECLARATIONS FOR USING RX HANDLER **** /*************************************************************************** * 0 ; RXCMYF, 0 / MY FIELD * 0 ; RXFFB, 0 / FILL BUFFER * 1 ; RXCOK, 0 / NORMAL COMPLETION CODE * 2 ; RXFEB, 0 / EMPTY BUFFER * 2 ; RXBDIR, 0 / BLOCK NUMBER OF DIRECTORY INFO ON DISK * 4 ; RXFWSC, 0 / WRITE SECTOR * 6 ; RXFRSC, 0 / READ SECTOR * 10 ; RXFNU, 0 / NOT USED * 11 ; RXPDRI, 0 / DIR INFO IN DIR BLOCK * 12 ; RXFRST, 0 / READ STATUS * 14 ; RXFWDS, 0 / WRITE DELETED SECTOR * 16 ; RXFMN, 0 / MAINTENANCE * 100 ; RXF8BM, 0 / SET FOR 8-BIT MODE * 160 ; RXFLD, 0 / FIELD #7 TIMES 10 SHIFTED LEFT FOR RXJOB. * 364 ; RX02M, 0 / RX02M=0 IF RX01 IS IN USE; =1 IF RX02 IS IN USE. * 377 ; RXBALC, 0 / BLOCK NUMBER OF ALLOC INFO * -377 ; COSCNT, 0 / COS COUNT VALUE * 5600 ; RXSTRT, 0 / JOB START LOCATION. DSKACP START ADDRESS * 6400 ; RXLOAD, 0 / START LOCATION FOR WPS LOADER * 6500 ; RXLDLS, 0 / ORIGIN OF LOAD LIST /*************************************************************************** /**** OFFSETS INTO QUEUE BLOCK **** /*************************************************************************** * 0 ; RXQCOD, 0 / COMPLETION CODE RXQFNC, 0 / FUNCTION TO BE PERFORMED RXQDN1, 0 / DRIVE NAME, WORD 1 RXQDN2, 0 / DRIVE NAME, WORD 2 RXQFNO, 0 / FILE NUMBER RXQID1, 0 / PLASTIC ID RXQSPC, 0 / # FREE BLOCKS ON DISKETTE RXQCTL, 0 / CONTROLLER BITS FOR PATCHING COMMANDS RXQDRV, 0 / DRIVE NUMBER AND MODE BITS FOR LCD RXQBLK, 0 / BLOCK NUMBER RXQRS1, 0 / RESERVED RXQBAD, 0 / ADDRESS OF BUFFER RXQBFD, 0 / CDF BUFFER FIELD RXQTRK, 0 / TRACK NUMBER RXQSEC, 0 / SECTOR NUMBER /*************************************************************************** /**** HANDLER COMMANDS **** /*************************************************************************** * 0 ; RXERT, 0 / RESET DIR AND ALLOC BLOCK MEMORY RXEPR, 0 / PHYSICAL READ RXEPW, 0 / PHYSICAL WRITE RXERD, 0 / LOGICAL READ RXEWT, 0 / LOGICAL WRITE RXEAL, 0 / ALLOCATE A BLOCK RXEFR, 0 / FREE A BLOCK RXEGF, 0 / GET BLOCKNO OF FIRST BLOCK (HDR) OF FILENO RXESF, 0 / SET BLOCKNO OF FIRST BLOCK RXESP, 0 / GET # FREE BLOCKS ON DISKETTE RXEDN, 0 / GET DENSITY RXER12, 0 / READ PHYSIO 12 BIT RXEW12, 0 / WRITE PHYSIO 12 BIT RXEFMS, 0 / FORMAT SINGLE DENSITY RXEFMD, 0 / FORMAT DOUBLE DENSITY RDEMNT, 0 / WINCHESTER MOUNT VOLUME COMMAND /A001 RDEDIS, 0 / WINCHESTER DISMOUNT VOLUME /A001 RDEGTV, 0 / WINCHESTER GET VOLUME DATA /A001 RDEGTD, 0 / WINCHESTER GET DATA DIRECTORY /A001 RDEMTS, 0 / WINCHESTER MOUNT VOLUME START-UP COMMAND /A001 RDEUPD, 0 / WINCHESTER UPDATE VOLUME DIRECTORY /A003 RDESTA, 0 / WINCHESTER GET DEVICE STATUS /A003 /*************************************************************************** /**** MISCELLANIOUS CONSTANTS **** /*************************************************************************** * 0 ; RONLY, 0 / READ ONLY - ASSUMED ZERO IN 'LCKFIL' * 1 ; ALTER, 0 / READ/WRITE LOCK * 1 ; NQHDRS, 0 / NUMBER OF QUEUE HEADERS * 2 ; GLOBAL, 0 / GLOBAL FILE LOCK * 3 ; PRTNUM, 0 / PRINTER JOB NO. FOR LOCKS * 3 ; QHDRSZ, 0 / SIZE OF QUEUE HEADER BLOCK * 5 ; JSBSZ, 0 / SIZE OF JOB STATUS BLOCK * 10 ; PQSZ, 0 / SIZE OF PRINT QUEUE * 12 ; RXDPGS, 0 / SIZE OF THE "RX02" DRIVER IN PAGES /A001 * 14 ; NJSBS, 0 / MAXIMUM NUMBER OF JOBS * 14 ; CXSETZ, 0 / NUMBER OF WORDS TRANSFERED FOR S.O. MENU DISPLAY * 27 ; PRSETZ, 0 / SIZE OF PRINTER SETTINGS * 111 ; STRLEN, 0 / LENGTH OF ARG BUFFER USED BY MENU AND IOA * 311 ; MAXDOC, 0 / NUMBER OF FILES ALLOWED ON A FLOPPY + 1 /*************************************************************************** /**** MISCELLANIOUS LOCATIONS **** /*************************************************************************** * 200 ; SELCT, 0 / ROUTINE IN LP CALLED BY EDITOR * 206 ; PWRRET, 0 / LOCATION OF RETURN FROM POWER FAIL CODE. * 373 ; LDSTRT, 0 / LOCATION IN BOOTSTRAP USED BY THE SYSTEM /A001 * 3000 ; POWER, 0 / LOCATION OF WS80 POWER FAIL AND RECOVERY CODE. * 3400 ; FLABUZ, 0 / LOCATION OF ROUTINE TO FLASH LIGHTS ON TERNINAL / WHEN PRINTER HAS AN ERROR * 4000 ; CURATR, 0 / LOCATION OF BLKBOX ROUTINE FOR VIDEO COSMETICS * CURATR+1 ; BLKBOX, 0 / ... THESE TWO LOCATIONS ARE IN WPRINT * 6600 ; SVFVFY, 0 / WORD IN HANDLER USED BY VERIFY TO PASS INFO * 200 ; CONVERT,0 / CONVERT UTILITY STARTUP ADDRESS /A048 * 1000 ; V25ST, 0 / V2.5 Startup address /a014 * 1000 ; FLBKTB, 0 / Fall back table start address in PANEL /A019 * 2000 ; BLASTR, 0 / Location of panel hole blaster routine /a013 * 4000 ; FBHOOK, 0 / location of BHOOK in field 7 WPFILS /a029 * 2600 ; MBHOOK, 0 / Location of BHOOK in field 6 MATH /a047 * 6000 ; CFPRES, 0 / LOCATION OF CROSS field call to PRESCS /a029 * 0050 ; PRPUMM, 0 / location of PUM mode flag in printer /M043 /a031 * 7600 ; PRFBHL, 0 / location of 8 bit fallback routine /a033 * 3000 ; PRTBAD, 0 / location of fallback table in panel /a033 * 7676 ; V25STB, 0 / Location of initialisation block for V25ST /a027 * 2400 ; HOLEPG, 0 / Definition of users blaster swap address (editor) * 5400 ; HOLEOV, 0 / Second user blast swap address in Editor /A032 * 7000 ; PRTHOL, 0 / Definition of users blaster swap address (printer)/a017 * 7400 ; PRTSHL, 0 / Location of blasted print screen routine /a024 * 4600 ; SPHOLE, 0 / Location of users blaster swap address (spell)/a030 * 2600 ; CVDHOL, 0 / Location of users blaster swap address (2CMF) /a041 * 3000 ; MATHOL, 0 / Location of users blaster swap address (MATH) /a043 * 7600 ; SORTBL, 0 / Location of MCS sort sequence table (WPBLTB) /a044 * 7000 ; BLSTBL, 0 / Location of BLASTR table (WPBLTB) /a046 * 0600 ; SSRBRD, 0 / Location of SSRBRD read char from field in LP /a047 * 1000 ; LPHOLE, 0 / Location of the List Processing hole (WPSELC) /a047 /D004 * 4200 ; TSTFUL, 0 / TSTFUL ROUTINE IS USED TO CORRECT SPURIOUS /D004 / CHARACTERS BEING INSERTED INTO DOCUMENT DUE TO /D004 / REPETITIVE ESCAPE SEQUENCES. ALSO IN PRINTER /D006 * 4200 ; SYBUFS, / BUFFER/QUE AREA IN FIELD 0 /M001 * 4400 ; DSKQUE, 0 / DISK HANDLER /M006 * NQHDRS^QHDRSZ+DSKQUE ; RXJOB, 0 / FLOPPY JOB /M006 * RXJOB+JSBSZ ; PRJOB, 0 / PRINTER JOB * PRJOB+JSBSZ ; U1JOB, 0 / USER JOB * U1JOB+JSBSZ ; XBJOBS, 0 / EXTRA JOB BLOCKS USED BY CX, AX, & DX * XBJOBS ; JSBX0, 0 * 4600 ; RESBUF, 0 / LP FIELD math result buffer. Used by WPEDOV & WPSELC * 5200 ; RXDLDP, 0 / LOAD POINT IN WPSYS FOR THE "RX02" DRIVER /A001 / RDOSWP IS THE LOCATION TO PATCH IN DSKHND IN FIELD 0 TO PUT A JSWAP INTO / HANDLER TO ALLOW THE SYSTEM TO RUN FASTER WHEN DOING FLOPPY I/O. THIS / LOCATION IS PATCHED BY THE START-UP CODE IN THE DATE AND TIME OVERLAY IN / WPCU2 AFTER THE SYSTEM VALUES HAVE BEEN READ IN OFF OF THE SYSTEM DISKETTE. * 202 ; XCLKSKP, 0 / LOCATION OF CLOCK SKP IOT /A001 * 6412 ; RDOSWP, 0 / DSKHND PATCH LOCATION BY WPCU2 WITH JSWAP /M001 * 7212 ; RDOSWQ, 0 / WINNI PATCH LOCATION BY WPCU2 WITH JSWAP /A001 * 7400 ; DCSTRT, 0 / ENTRY POINT FOR START DOCUMENT DISK MESSAGE /A001 * 7600 ; RXDRIN, 0 / ENTRY POINT TO START SYSTEM AFTER BOOTSTRAP /A001 * 200 ; CU4DBT, 0 / Redefine DBTDOC for stand-alone assembly of CU4/a030 * 160 ; STUACF, 0 / Address of SETUP active flag fro udk in WPsys /A053 IFDEF FORIN < * 2600 ; TABLE2, 0 / LOCATION OF TABLE2 IN PRINTER IFDEF FRENCH < * TABLE2+31 ; TABLE1, 0 > IFDEF ENGCAN < * TABLE2+41 ; TABLE1, 0 > IFDEF CANADA < * TABLE2+41 ; TABLE1, 0 > IFDEF DUTCH < * TABLE2+53 ; TABLE1, 0 > IFDEF GERMAN < * TABLE2+31 ; TABLE1, 0 > IFDEF NORWAY < * TABLE2+53 ; TABLE1, 0 > IFDEF SWEDSH < * TABLE2+45 ; TABLE1, 0 > IFDEF DANISH < * TABLE2+53 ; TABLE1, 0 > * TABLE1+2 ; TABLE3, 0 > / END IFDEF FORIN /*************************************************************************** /**** BLASTER table definitions /************************************************************************ / a013 * 0 ; BLRUL0, 0 / BLRULR Blasted ruler copy routine entry /a013 * 1 ; CMPRLE, 1 / CMPRLH compare ruler table entry point /a018 * 2 ; PRTSCN, 2 / PRTSCN print screen routine entry / a017 * 3 ; CLRLRE, 3 / CLRLRH clear ruler table entry /a018 * 4 ; SPECEN, 4 / PRGTCH put tech/MN/line chars in prt bufF/A020 * 5 ; CXHLTB, 5 / CXTST CX test job table entry /A021 * 6 ; MCLQPE, 6 / MCLQPS multinational 8 bit flag set /a022 * 7 ; PLINIE, 7 / PLINIE blasted PLINIT routine /a024 * 10 ; INCHKR, 10 / INSCHK table entry /A023 * 11 ; INCSZR, 11 / INCHWD table entry /A023 * 12 ; NXTDED, 12 / NXTDED allow start/end dead in NXTARG /A024 * 13 ; LQPTBE, 13 / LQP proportional width tables /a024 * 14 ; LQPTBF, 14 / " /a024 * 15 ; LQPTBG, 15 / " /a024 * 16 ; MFNHLR, 16 / MFNRTN Merge field name search rtn /a026 * 17 ; FALBKE, 17 / Fallback code entry code /a027 * 20 ; AB8INS, 20 / 8 bit buffer insert for Abbrev doc /A028 * 21 ; FALBEN, 21 / Fallback code entry code part II /a029 * 22 ; BLODAP, 22 / Spelling holes for 8 bit spell check /a030 * 23 ; SWPDED, 23 / Hole for WPEDOV for 8 bit Gold Swap /A032 * 24 ; MNCUCS, 24 / Casing In WPEDOV blast /A034 * 25 ; XVMNPH, 25 / View attributes of tech char /A035 * 26 ; P8ENT1, 26 / Initialize 8 bit fallback variable /a036 * 27 ; P8ENT2, 27 / Get a fallback char and data value /a036 * 30 ; MCSTHY, 30 / Hyphenate 8 bit chars /A037 * 31 ; BPGECO, 31 / PGECHO blast for editor /A039 * 32 ; PSCRST, 32 / Print screen status routine /a040 * 33 ; CVBLST, 33 / Convert ASCIZ stirng to binary no. /a041 * 34 ; PGSWPH, 34 / Page swap routine from WP2CMF /a042 * 35 ; GETFLH, 35 / Read field name routine from MATH /a043 * 36 ; CXKBIN, 36 / Read user option input in CX /A045 * 37 ; GRESEN, 37 / restore startup page after graphics /a046 * 40 ; MVSWEN, 40 / move the GRAPHICS tables before VT125 /a046 / blast /a046 * 41 ; SQUISH, 41 / Squish MCS in numeric LP field to 8 bit/a047 * 42 ; PELNHL, 42 / Print Error LiNe HoLe moved from lexasc/a051 * 43 ; TEC8VAL,43 / Check for 8 bit character after ALT key/A054 /*************************************************************************** /**** USER DEFINED KEY (UDK) DEFINITIONS **** /*************************************************************************** * 7000 ; UDKSTR, 0 / STARTING ADDRESS OF UDK BUFFERS IN FIELD 2 * 12 ; UDKDEP, 0 / DEPTH OF UDK STACK * 12 ; UDKNUM, 0 / NUMBER OF UDK'S * UDKSTR ; UDKPTR, 0 / UDK STACK POINTER * UDKPTR+1 ; UDKSTK, 0 / UDK STACK STARTING LOCATION * UDKSTK+UDKDEP ; UDKDEF, 0 / FIRST LOCATION FOR UDK DEF'S IN CMND FIELD * UDKSTR+400-UDKDEF-UDKNUM-1 ; UDKLEN, 0 / AMOUNT OF WORDS FOR UDK DEFINITIONS / FOR 100 UDK'S /A010 ~26 LINES * UDKSTR ; CUDBUF, 0 / BUFFER LOCATION * 400 ; CUBFSZ, 0 / BUFFER SIZE * CUDBUF+CUBFSZ ; CUDXBF, 0 / SECOND BUFFER FOR WPUDKS * 144 ; CUUDNM, 0 / NUMBER OF UDK'S (100 BASE 10) * 2001 ; CUUDID, 0 / MASK FOR UDK IDENTIFIER * 2000 ; CUUDI2, 0 / ANOTHER MASK RELATED TO ID * 7400 ; CUBKMS, 0 / MASK FOR BLOCK NUMBER IN DIRECTORY * 377 ; CUWDMS, 0 / MASK FOR WORD IN DIRECTORY * 20 ; CUNBLK, 0 / NUMBER OF BLOCKS FOR UDK'S (16 BASE 10) / DOES NOT INCLUDE DIRECTORY BLOCK * 4017 ; U1STPT, 0 / ADDRESS OF STACK POINTER IN WPSYS * 4020 ; U1STCK, 0 / ADDRESS OF STACK * 4032 ; CTTYIN, 0 / ADDRESS OF FIELD 0 ROUTINE /C010 / USED BY UDK CODE RUNNING IN FIELD 2 * 40 ; SDBIT, 0 / SYMBOL FOR MN1 (MAY NOT BE NECESSARY) / THE FOLLOWING ROUTINES RESIDE IN WP2CMF * 2400 ; CHRUDX, 0 / ADDRESS OF UDK DISK ACCESS IN WP2CMF /C010 * 2402 ; CHKUXX, 0 / CHECK INPUT FROM UDK /C010 * 2404 ; CHKUYY, 0 / CHECK KEYBOARD INPUT /C010 /END A010 ~26 LINES /*************************************************************************** /**** EASYLINK DEFINITIONS **** /*************************************************************************** / The following locations are defined in WPSYS and referenced by WPCU3 * 127 ; EZLNTM, 0 / Saved CX terminal mode flag (used by CX). /M006 * 1206 ; CDFBF1, 0 / Location of CDF to active buffer field. * 1230 ; CDFBF2, 0 / Location of Second CDF to active buffer field. * 1236 ; H2IGET, 0 / Host Input buffer ptr for H2ICHR routine. * 1237 ; H2ICNT, 0 / Host Input buffer character count. / CDFBF3, H2IPUT CHANGED WHEN TSTFUL MOVED FROM WPRINT TO WPSYS /A004 IFNDEF CONDOR < * 1331 ; CDFBF3, 0 > / Loc of final CDF to active buffer fld. IFDEF CONDOR < * 1334 ; CDFBF3, 0 > / Loc of final CDF to active buffer fld. IFNDEF CONDOR < * 1355 ; H2IPUT, 0 > / Host Input buffer ptr for input 'rupt handler IFDEF CONDOR < * 1360 ; H2IPUT, 0 > / Host Input buffer ptr for input 'rupt handler * 46 ; LPOSIZ, 0 / SIZE OF PRINTER OUTPUT INTERRUPT CHAR BUFFER /M004 * 40 ; U1ISIZ, 0 / SIZE OF USER INPUT INTERRUPT CHARACTER BUFFER * 100 ; U1OSIZ, 0 / SIZE OF USER OUTPUT INTERRUPT CHARACTER BUFFER * 40 ; H2ISIZ, 0 / SIZE OF HOST INPUT INTERRUPT CHARACTER BUFFER * 20 ; H2OSIZ, 0 / SIZE OF HOST OUTPUT INTERRUPT CHARACTER BUFFER * 60 ; LPISIZ, 0 / SIZE OF PRINTER INPUT INTERRUPT CHARACTER BUFFER * 10 ; PRFVSZ, 0 / SIZE OF PRINTER FIELD VARIABLE SAVE AREA /A006 * 4505 ; LPOBUF, 0 / Start of LPOBUF /M006 * LPOBUF+LPOSIZ+2+U1ISIZ+2+U1OSIZ+2 ; H2IBUF, / Start of SYS COMM buffer. * H2IBUF+H2ISIZ+H2OSIZ+LPISIZ ; PRFVBF, /PRINTER VARIABLE SAVE BUFFER /A006 / The following location is in WPSYS (TSTFUL) and referenced by WPCU3 * 2000 ; TSTFUL, 0 / THE TSTFUL ROUTINE IN WPSYS IS USED TO / CORRECT SPURIOUS CHARACTERS BEING INSERTED / INTO DOCUMENT DUE TO REPETITIVE ESCAPE / SEQUENCES. * TSTFUL+47 ; H2IMAX, 0 / Location of negative host input buffer size. * H2IMAX+1 ; H2XOFP, 0 / Location of XOF point within buffer. / The following is the definition of the alternate HOST INPUT buffer / which resides in the MATH field (field 6) during AX/CX/DX transmittion. * 4000 ; COMXIT, 0 / Address of COMM clean-up code. /*************************************************************************** /**** BEGINNING LOCATIONS OF THE PRINTER HANDLERS. **** /*************************************************************************** * 131 ; P0MQSV, 0 / USED BY PRINTER AND WPSYS /a38 * 1600 ; LPHAND, 0 / USED BY PRINTER AND WPSYS * 3025 ; CLKOP, 0 / USED BY PRINTER AND WPSYS /M001 * LPHAND ; D2XONF, 0 / DOUBLE XON FLAG FOR PRINTER /M008 * LPHAND+1 ; LPDNFG, 0 / DONE FLAG: 0=BUSY, 1=DONE * LPHAND+2 ; LPPWR, 0 / POWER FAILURE LINK * LPHAND+3 ; LPICHN, 0 / NEXT LINK IN THE INTERRUPT CHAIN * LPHAND+4 ; TSTLPT, 0 / TEST OF WHETHER AN INTERRUPT APPLIES TO HANDLER * LPHAND+7 ; HBCNT, 0 / POINTER TO THE HANDLER'S BUFFER COUNTER * LPHAND+10 ; LPOCHR, 0 / OUTPUT ENTRY OF THE HANDLER * LPHAND+12 ; SQREST, 0 / SERIAL PRINTER RESTORE ROUTINE WHICH ALSO / XOF'S THE PRINTER /D004 * LPHAND+14 ; SQWAIT, 0 / SENDS CHARACTERS TO PRINTER * LPHAND+14 ; D2CTQF, 0 / HANDLER XOFF/ON VARIABLE /*************************************************************************** /**** DOCUMENT DESTINATIONS FOR THE RL BASED SYSTEMS **** /**** WHICH WE MUST MAINTAIN COMPATABILITY WITH **** /*************************************************************************** * 0 ; DLQP1, 0 / PARALLEL LETTER QUALITY PRINTERS * 4 ; DLQP2, 0 * 5 ; DLQP3, 0 * 6 ; DLQP4, 0 * 13 ; DLQP5, 0 / SERIAL LETTER QUALITY PRINTERS * 14 ; DLQP6, 0 * 15 ; DLQP7, 0 * 16 ; DLQP8, 0 * 1 ; DDP1, 0 / DRAFT PRINTERS * 3 ; DDP2, 0 * 2 ; DHOST1, 0 / SERIAL COMMUNITCATIONS * 7 ; DHOST2, 0 * 10 ; DHOST3, 0 * 11 ; DHOST4, 0 * 12 ; DNULL, 0 / This is the null device /*************************************************************************** /**** POSSIBLE DOCUMENT DESTINATIONS FOR THE STANDALONE SYSTEMS **** /*************************************************************************** * DLQP1 ; DLQP, 0 / PARALLEL LETTER QUALITY PRINTER * DDP1 ; DDP, 0 / PARALLEL DRAFT PRINTER * DHOST1 ; DHOST, 0 / HOST PRINTER * DDP2 ; DDP2, 0 / SERIAL DRAFT PRINTER * DLQP5 ; DSQ1, 0 / SERIAL LETTER QUALITY PRINTER * DLQP6 ; DSQ2, 0 / TWO-HEADED SERIAL LETTER QUALITY PRINTER /*************************************************************************** /**** DEFINITIONS FOR LOW MEMORY LOCATIONS (0-77) **** /*************************************************************************** * 3 ; INTFLG, 0 / SIGNIFICANT EVNET FLAG (JUST IN SYS FIELD) * DCA INTFLG ; SIGNAL, 0 / SIGNAL SIGNIFICANT EVENT (JUST IN SYS FIELD) * 4 ; INTCHN, 0 / POINTER TO FIRST INTERRUPT HANDLER * JMP I INTCHN ; GOINTR, 0 / INSTRUCTION TO GO PROCESS INTERRUPT * 5 ; INTXIT, 0 / POINTER TO INTERRUPT EXIT ROUTINE * JMP I INTXIT ; EXINTR, 0 / INSTRUCTION TO EXIT CURRENT INTERRUPT PROCESSING * 10 ; X0, 0 / AUTO INDEX REGISTER NUMBER 10 X1, 0 / AUTO INDEX REGISTER NUMBER 11 X2, 0 / AUTO INDEX REGISTER NUMBER 12 X3, 0 / AUTO INDEX REGISTER NUMBER 13 X4, 0 / AUTO INDEX REGISTER NUMBER 14 X5, 0 / AUTO INDEX REGISTER NUMBER 15 IX0, 0 / AUTO INDEX REGISTER NUMBER 16 IX1, 0 / AUTO INDEX REGISTER NUMBER 17 /*************************************************************************** /**** START OF SYSTEM TRANSFER VECTOR ADDRESSES **** /**** THESE LOCATIONS ARE MOVED TO ALL FIELDS UPON REQUEST **** /*************************************************************************** X=. / SAVE CURRENT LOCATION COUNT * JMS I X ; TTYIN, 0 ;X=X+1 / INSTRUCTION TO INPUT A CHARACTER FROM KEYBOARD * JMS I X ; TTYOU, 0 ;X=X+1 / INSTRUCTION TO OUTPUT A CHARACTER TO THE SCREEN * JMS I X ; XLTIN, 0 ;X=X+1 / INSTRUCTION TO TRANSLATE A SEVEN BIT CHARACTER * X ; HLTFLG, 0 ;X=X+1 / LOCATION TO STORE THE HALT FLAG * JMS I X ; UDKOPS, 0 ;X=X+1 / INSTRUCTION TO TURN ON/OFF USER DEFINED KEYS * JMS I X ; HS2IN, 0 ;X=X+1 / INSTRUCTION TO INPUT A CHARACTER FROM COMM LINE * JMS I X ; HS2OU, 0 ;X=X+1 / INSTRUCTION TO OUTPUT A CHARACTER TO COMM LINE * JMS I X ; LPTOU, 0 ;X=X+1 / INSTRUCTION TO OUTPUT A CHARACTER TO THE PRINTER * JMS I X ; ENQUE, 0 ;X=X+1 / INSTRUCTION TO ENQUEUE A JOB * JMS I X ; DEQUE, 0 ;X=X+1 / INSTRUCTION TO DEQUEUE A JOB * JMS I X ; JWAIT, 0 ;X=X+1 / INSTRUCTION TO WAIT FOR A SIGNIFICANT EVENT * JMS I X ; JSWAP, 0 ;X=X+1 / INSTRUCTION TO SWAP JOBS UNTIL NEXT EVENT * JMS I X ; JSTRT, 0 ;X=X+1 / INSTRUCTION TO START A JOB * JMS I X ; JEXIT, 0 ;X=X+1 / INSTRUCTION TO EXIT A JOB * JMS I X ; FRKINT, 0 ;X=X+1 / INSTRUCTION TO CAUSE A FORK INTERRUPT * JMP I X ; FRKXIT, 0 ;X=X+1 / INSTRUCTION TO CAUSE A FORK EXIT * X ; FRKCHN, 0 ;X=X+1 / LOCATION THAT POINTS TO THE FORK CHAIN * JMS I X ; H2INIT, 0 ;X=X+1 / INSTRUCTION TO INITIALIZE HOST LINE * JMS I X ; LPTIN, 0 ;X=X+1 / INSTRUCTION TO INPUT A CHARACTER FROM THE PRINTER /*************************************************************************** /**** USEFUL CONSTANTS LOCATED IN EACH FIELD **** /*************************************************************************** * 51 ; CDF0, 0 / CONSTANT FOR CHANGE DATA FIELD CIDF0, 0 / CONSTANT FOR CHANGE INSTRUCTION & DATA FIELD P177, 0 / CONSTANT FOR POSITIVE 177 VALUE P377, 0 / CONSTANT FOR POSITIVE 377 VALUE P77, 0 / CONSTANT FOR POSITIVE 77 VALUE P7700, 0 / CONSTANT FOR NEGATIVE 100 VALUE P3777, 0 / CONSTANT FOR POSITIVE 3777 VALUE 0 / LOCATION TO BE ASSIGNED BY SYSTEM ARCHITECT /*************************************************************************** /**** MENU FIELD ROUTINES **** /*************************************************************************** MNUCAL, 0 / POINTER TO CALL MENU ROUTINE MUBASE, 0 / POINTER TO MENU BUFFER LOCATION TIMCAL, 0 / POINTER TO CALL TIME OF DAY ROUTINE OLAYCL, 0 / POINTER TO CALL OVERLAY PROCESSOR X=. / SAVE CURRENT LOCATION COUNT * JMS I X ; FILEIO, 0 / SUBROUTINE CALL TO FILE SYSTEM * X+1 ; IOACAL, 0 / POINTER TO CALL SCREEN OUTPUT ROUTINE INACAL, 0 / POINTER TO CALL KEYBOARD INPUT ROUTINE NXACAL, 0 / POINTER TO CALL NEXT ARG ROUTINE STCCAL, 0 / POINTER TO CALL STRING COMPARE ROUTINE CVDCAL, 0 / POINTER TO CALL DECIMAL STRING CONVERSION ROUTINE DIGCAL, 0 / POINTER TO CALL DECIMAL STRING OUTPUT ROUTINE X=. / SAVE CURRENT LOCATION COUNT * JMS I X ; PGSWAP, 0 / SUBROUTINE CALL TO PAGE SWAP ROUTINE /*************************************************************************** /**** TEMPORARY REGISTER DEFINITIONS **** /*************************************************************************** * X+1 ; T3, 0 / TEMPORARY REGISTER NUMBER THREE T2, 0 / TEMPORARY REGISTER NUMBER TWO T1, 0 / TEMPORARY REGISTER NUMBER ONE /*************************************************************************** /**** SYSTEM FIELD VALUES **** /*************************************************************************** * 100 ; CLOCK, 0 / CLOCK INTERUPT COUNTER 0 / CLOCK TIME COUNTER FOR TENTHS 0 / CLOCK TIME COUNTER FOR SECONDS 0 / CLOCK TIME COUNTER FOR MINUTES 0 / CLOCK TIME COUNTER FOR HOURS DAMNTH, 0 / DAY OF MONTH (1-31) MONTH, 0 / MONTH OF YEAR (1-12) YEAR, 0 / YEAR MOD 100. (0-99) DAYEAR, 0 / DAY OF YEAR (1-366) DAWEEK, 0 / DAY OF WEEK (1-7) (SUN-SAT) PAKDAT, 0 / PACKED DATE (MONTH/DAY) RANDOM, 0 / CONSTANTLY CHANGING RANDOM NUMBER X=. / SAVE CURRENT LOCATION COUNT * JMS I X ; GETRTF, 0 / GET RETURN FIELD * X+1 ; CMONLN, 0 / COMMUNICATION HARDWARE PRESENT FLAG CMADSX, 0 / SWITCH FOR COMMUNICATION LINE OWNERSHIP RXONLN, 0 / NUMBER OF DRIVES ON THE SYSTEM INTAC, 0 / SAVED AC DURING AN INTERRUPT INTLK, 0 / SAVED LINK DURING AN INTERRUPT INTMP1, 0 / TEMP BETWEEN INTERRUPT HANDLERS AND TSTFUL ROUTINE U1HLTF, 0 / HALT FLAG STORAGE LOCATION RXTYPE, 0 / CONTAINS SYSTEM DISKETTE TYPE (RX01/RX02) STTYPE, 0 / BOOT TYPE (0-COLD,1-WARM) TIMOUT, 0 / TIME-OUT COUNTER FOR PRINTER. /*************************************************************************** /**** PRINTER FIELD VALUES **** /*************************************************************************** * 600 ; PRBOTM, 0 / FIRST LOCATION TO WRITEOUT/LOAD /M006 /D004 * 1600 ; PRTOPP, 0 / FIRST LOCATION TO WRITEOUT/LOAD /A001 * 6405 ; PRQPSZ, 0 / LOCATION OF PAGE SIZE IN PRINTER /M006 * 6422 ; PRQPNT, 0 / POINTER TO PRINTER DOC DEST IN DOC HEADER /M006 * 100 ; PRSTOP, 0 / FLAG SET BY USER JOB TO STOP THE PRINTER PRACTN, 0 / ACTION CODE IN RESPONSE TO PRINTER STOP PRACTV, 0 / VALUE USED WITH ABOVE ACTION CODE PRSTTS, 0 / PRINTER STATUS (IDLE, BUSY, OR STOP CODE) PRSTT2, 0 / PUSH DOWN PRINTER STATUS PRFNO, 0 / FILE NUMBER OF PRINTER JOB PRIRFD, 0 / FIELD TO READ FROM IN LIST PROCESSING JOB PRIRAD, 0 / ADDRESS OF READ ROUTINE TO USE FOR L.P. JOB PABORT, 0 / PRINTER ABORT FLAG LPONLN, 0 / PRINTER ON LINE FLAG WORD PRTID, 0 / ADDRESS OF PRINTER I.D. ROUTINE /*************************************************************************** /**** LPONLN BIT DEFINITIONS **** /*************************************************************************** /D001 * 40 ; TWHMSK, 0 / BIT FOR TWO HEADED PRINTERS * 40 ; MNMSK, 0 / BIT for MultiNational character capability /a017 * 100 ; XRPMSK, 0 / BIT FOR EXTENDED REPORT CAPABILITY * 200 ; MCMSK, 0 / BIT FOR MULTICOLUMN CAPABILITY * 1400 ; ASFMSK, 0 / 2 BITS FOR ASF MODEL * 2000 ; DPMSK, 0 / BIT FOR ALL DPS * 4000 ; LQPMSK, 0 / BIT FOR ALL LQPS * LQPMSK+XRPMSK+MCMSK+01 ; LQPSE, 0 / A UNIQUE CODE FOR LQPSE * LQPMSK+XRPMSK+MCMSK+02 ; LQP02, 0 / A UNIQUE CODE FOR LQP02 * ASFMSK%3 ; ASF01, 0 * ASF01^2 ; ASF02, 0 /*************************************************************************** /**** MENU FIELD VALUES **** /*************************************************************************** * 0 ; CLKCHG, 0 / INCREMENTED BY SECONDS IN FIELDS 2 AND 5 * 1 ; UDKINH, 0 / TURNS OFF UDK'S WHEN NON-ZERO * 100 ; CMNNOP, 0 / DUMMY SUBROUTINE USED BY MENU 0 / JMP I CMNNOP - RETURN TO CALLER DATESP, 0 / POINTER TO ASCII STRING CONTAINING DATE FNAMSP, 0 / POINTER TO NAME OF LAST FILE ACCESSED FNUMS, 0 / POINTER TO PACKED DRIVE NUMBER AND DOCUMENT NUMBER DRVNOP, 0 / POINTER TO DRIVE NUMBER PQADDR, 0 / POINTER USED BY PRINT QUEUE ROUTINE - LOCATION 0 PQFRST, 0 / POINTER USED BY PRINT QUEUE ROUTINE - FIRST ENTRY PQLAST, 0 / POINTER USED BY PRINT QUEUE ROUTINE - LAST ENTRY 0 / UNDEFINED LOCATION (** MAYBE IT'S UNUSED **) CMDQUX, 0 / QURX LOCATION IN CMND FIELD * CMDQUX+26 ; CMDBLK, 0 / QURX QUEUE BLOCK IN CMND FIELD * 173 ; LINPGL, 0 / LOCATION FOR LOW PAGE NUMBERS * 174 ; LINPGH, 0 / LOCATION FOR HIGH PAGE NUMBERS * 175 ; LINNUM, 0 / LOCATION FOR LINE NUMBER * 176 ; LINUSD, 0 / LOCATION FOR NUMBER OF BLOCKS USED * 177 ; LINFRE, 0 / LOCATION FOR NUMBER OF BLOCKS FREE * 400 ; OUTDIG, 0 / IOA CROSS FIELD DECIMAL CONVERSION ROUTINE * 1000 ; TIMDSP, 0 / CROSS FIELD TIME, DATE, & PRINTER DISPLAY * TIMDSP+3 ; TIMDS3, 0 / per request by Don Bradanese * 1400 ; INAIN, 0 / GET CHARACTER, UPDATE TIME & PRINTER STATUS * 1600 ; PRNTSCREEN, 0 / ROUTINE TO PRINT THE SCREEN ON DECMATE II * 3000 ; SWPBEG, 0 / LOCATION WHERE SWAP AREA BEGINS IN FIELD 2 / LOCK WORDS FOR THE OVERLAY ROUTINE - THERE IS ONE LOCK WORD FOR EACH REGION / OF MEMORY. THE VALUE OF A LOCKWORD WILL BE EITHER A 0, MEANING NOTHING IS / CURRENTLY LOADED INTO THAT REGION, OR A DISK BLOCK NUMBER, THAT NUMBER BEING / THE FIRST BLOCK (OF THE SYSTEM FLOPPY) OF THE MODULE CURRENTLY IN THAT REGION / OF MEMORY. OLAY WILL LOOK AT THE LOCK WORD FOR THE MODULE BEING REQUESTED / TO SEE IF IT IS ALREADY LOADED. * 6657 ; OLL110, 0 / FIELD 3 (USER FIELD 1) VERIFY, EDITOR, CX, MAGCARD, / COPY, DX,SORT, LP (WPPARS) * 6660 ; OLL220, 0 / FIELD 4 (USER FIELD 2) WPCU2, WPCU3, WPCU4, UDK, CX, / INDEX, VERIFY (BUFFER SPACE), WPCUT, MAGCARD, SORT * 6661 ; OLL301, 0 / FIELD 5 (USER FIELD 3) LP (WPSELC), SORT * 6662 ; OLL302, 0 / FIELD 5 (USER FIELD 3) LP (OVERLAYS) * 6663 ; OLL400, 0 / FIELD 6 (USER FIELD 4) MATH,SORT /*************************************************************************** /**** MENU CONSTANT OFFSETS - THE TWO MENU AREAS **** /*************************************************************************** / MUBUF IS THE BASE ADDRESS USED BY ROUTINES TRYING TO OBTAIN MENU VALUES. / FOR EXAMPLE TO OBTAIN MNTMP1 USE: MUBUF+MNTMP1 FOR THE ADDRESS. * 6000 ; MUBUF, 0 / MENU BUFFER BASE ADDRESS * 0 ; MNBUFA, 0 / BUFFER AREA (RELITIVE TO MUBUF) * MNBUFA+400 ; MNUSRA, 0 / USER AREA (RELITIVE TO MUBUF) /*************************************************************************** /**** USER AREA CONSTANTS **** /*************************************************************************** * MNUSRA ; MNFNO, 0 / FILE NUMBER, WITH DRIVE NUMBER IN BITS 0-3 MNFNO0, 0 / "ZERO" FILE NUMBER MNFNAM, 0 / ADDR OF NAME OF FILE MNWRDT, 0 / WHERE DATE/TIME IS DISPLAYED OR ZERO MNONUM, 0 / OVERLAY NUMBER MNOADR, 0 / ADDRESS TO START AT MNOFLD, 0 / CIDF FIELD NUMBER MNDTYR, 0 / YEAR MNDTMO, 0 / MONTH MNDTDY, 0 / DAY MNDTHR, 0 / HOUR MNDTMN, 0 / MINUTE MNMMSW, 0 / SWITCH TELLING WHICH MAIN MENU TO RETURN TO MNTMP1, 0 / MENU TEMPORARY REGISTER NUMBER 1 MNTMP2, 0 / MENU TEMPORARY REGISTER NUMBER 2 MNTMP3, 0 / MENU TEMPORARY REGISTER NUMBER 3 MNTMP4, 0 / MENU TEMPORARY REGISTER NUMBER 4 MNTMP5, 0 / MENU TEMPORARY REGISTER NUMBER 5 MNTMP6, 0 / MENU TEMPORARY REGISTER NUMBER 6 MNTMP7, 0 / MENU TEMPORARY REGISTER NUMBER 7 MNTMP8, 0 / MENU TEMPORARY REGISTER NUMBER 8 MNTMP9, 0 / MENU TEMPORARY REGISTER NUMBER 9 MNMXDR, 0 / MAX NUMBER OF FLOPPYS ON THE SYSTEM - 1 /D011 MNUSER, 0 / USER NUMBER, 0 OR 1 /D011 MNUSR2, 0 / 0 OR 2, DEPENDING ON WHICH USER MNDRV, 0 / DRIVE NUMBER, WITHOUT DOCUMENT NUMBER MNDOCN, 0 / DOCUMENT NUMBER, WITHOUT DRIVE NUMBER MNMATH, 0 / 1 MEANS MATH IS ACTIVE MNLOCK, 0 / AX log doc doc #. / only valid when AX/DX is running MNOPTN, 0 / ANOTHER OPTIONS WORD MNPROP, 0 / PRINTER OPTIONS AND SCRATCH AREA ALSO USED / BY THE COMMUNICATIONS SETTINGS MENU OF CX IFNZRO MNSYSA-MNPROP-PRSETZ-1&4000 /*************************************************************************** /**** MNOPTN BIT DEFINITIONS. **** /*************************************************************************** * 1 ; MNRX0X, 0 / SET IF SYSTEM DISKETTE IS 8-IN FLOPPY * 2 ; MNRX1X, 0 / SET IF THERE ARE RX02'S ON SYSTEM, / CLEAR IF RX01'S OR NONE * 4 ; MNRX2X, 0 / SET IF WINCHESTER IS ON LINE /A001 * 10 ; MNRX3X, 0 / SET IF WINCHESTER ASSIGNED DRIVE ONE /A001 * 20 ; MNRX4X, 0 / SET IF WINCHESTER ASSIGNED DRIVE ZERO /A001 * 40 ; MNRX5X, 0 / SET IF WINNIE FIRMWARE IN PANEL MEMORY /A001 * 100 ; MNRX6X, 0 / SET IF APU/XPU HARDWARE IS PRESENT /A001 * 200 ; MNRX7X, 0 / SET IF APU/XPU HARDWARE IS AN XPU /A001 * 400 ; MNRX8X, 0 / SET IF SYSTEM RUNNING ON DM-II HARDWARE /A003 * 1000 ; MNRX9X, 0 / SET IF /A003 * 2000 ; MNRXAX, 0 / SET IF SYSTEM RUNNING ON DM-III HARDWARE /A003 /*************************************************************************** /**** MNFMAT BIT DEFINITIONS. **** /*************************************************************************** * 1 ; MNFM0X, 0 / DATE FORMAT USED WITH MNFM1X - 0 UNINITIALIAZED * 2 ; MNFM1X, 0 / 1 DAY/MONTH/YEAR, 2 MONTH/DAY/YEAR, 3 YEAR/MONTH/DAY * 4 ; MNFM2X, 0 / CURRENCY SYMBOL IN USE, SET FOR BRITISH POUND SIGN * 10 ; MNFM3X, 0 / DICTIONARY IN USE, SET FOR BRITISH DICTIONARY * 20 ; MNFM4X, 0 / INTEGRAL MODEM, SET IF ACTIVE * 40 ; MNFM5X, 0 / SET IF * 100 ; MNFM6X, 0 / SET IF * 200 ; MNFM7X, 0 / SET IF * 400 ; MNFM8X, 0 / SET IF /*************************************************************************** /**** THE PRINTER OPTIONS AND SCRATCH AREA **** /*************************************************************************** * MNPROP ; MNQINI, 0 / SETTINGS NOT INITIALIZED MNQCPY, 0 / NUMBER OF COPIES TO BE PRINTED MNQIND, 0 / NUMBER OF SPACES IN LEFT PRINTER MARGIN MNQLSZ, 0 / EXTRA HALF LINE SPACING MNQTMG, 0 / NUMBER OF LINES IN TOP MARGIN MNQBMG, 0 / NUMBER OF LINES IN BOTTOM MARGIN MNQPSZ, 0 / NUMBER OF LINES FOR PAGE SIZE MNQPIT, 0 / PITCH WITH WHICH TO PRINT DOCUMENT MNQFRP, 0 / FROM - NUMBER OF FIRST PAGE TO PRINT MNQTOP, 0 / TO - NUMBER OF LAST PAGE TO PRINT MNQPGO, 0 / INITIAL PAGE - FIRST PAGE NUMBER TO USE MNQSP, 0 / SHADOW PRINT IF BIT 11 IS SET MNQAPG, 0 / AUTOMATIC PAGINATION MNQJUS, 0 / RESERVED - USED IN WPRINT FOR PRINTER HANDLER MNQDBL, 0 / RESERVED - USED FOR PAGE SIZE OF LAST DOC MNQSSM, 0 / STOP FLAG FOR FIRST/EVERY PAGE MNQSTX, 0 / RESERVED - USED BY MENU CODE AND IN WPRINT MNQOVP, 0 / DARKNESS - BIT 11 MEANS PRINT EXTRA DARK MNQTW, 0 / TWO WHEEL - NON-ZERO IF TWO PASSES REQUIRED MNQPNT, 0 / PRINTER TYPE - ALSO USED BY LIST PROCESSING MNQCM, 0 / NUMBER OF EXTRA SPACES BETWEEN COLUMNS MNQSB1, 0 / REPLACEMENT CHARACTER 1 - LP USES THIS VALUE MNQSB2, 0 / REPLACEMTNE CHARACTER 2 - LP USES THIS VALUE MNQUSD, 0 / LAST PRINTER SETTING USED /*************************************************************************** /**** THE FOLLOWING SETTINGS USE THE PRINTER SCRATCH AREA. **** /**** THESE LOCATIONS ARE INITIALIZED BY WPCU3/WPCU4 PRIOR TO **** /**** CALLING THE SO MENU OR CX. **** /*************************************************************************** * MNPROP ; CX0DBT, 0 / PRIMARY PORT DATA BITS. CX0PAR, 0 / "" "" PARITY. CX0SBT, 0 / "" "" STOP BITS. CX0BAU, 0 / "" "" BAUD RATE. CX1DBT, 0 / SECONDARY PORT DATA BITS. CX1PAR, 0 / "" "" PARITY. CX1SBT, 0 / "" "" STOP BITS. CX1BAU, 0 / "" "" BAUD RATE. CXPORT, 0 / PORT SELECT CXBRTM, 0 / BREAK TIME. CXTMOD, 0 / TERMINAL MODE. CXPBAU, 0 / PRINTER BAUD RATE. IFNZRO CXPBAU-MNPROP-CXSETZ+1 /*************************************************************************** /**** THE SYSTEM AREA **** /*************************************************************************** * MNUSRA+64 ; MNSYSA, 0 / CHAR THAT ENDED READ (0 MEANS TOO MANY CHARS) MNOFF, 0 / OFFSET IN INPUT STRING TO START READ MNPC, 0 / MENU PC OFFSET MNPOS, 0 / POINTER TO FIRST CHARACTER OF NEXT SYMBOL / IN THE INPUT STRING (USED BY NXTARG) MNSP, 0 / ADDRESS OF STACK POINTER, RETURN LABEL OR ZERO / ADDRESS OF TOP OF STACK AREA (USED BY / MAIN MENU TO RE-INITALIZE THE STACK POINTER) MNSPTP, 0 / RETURN BLOCK NUMBER MNILEN, 0 / -STRLEN (NEG MAX CHARS IN INPUT BUFFER) MNIBUF, 0 / START OF SCREEN INPUT BUFFER AREA * .+STRLEN+1 ; MNALEN, 0 / -NUMBER OF CHARACTERS IN ARGUMENT AREA MNARG, 0 / ARGUMENT RETURN AREA * .+17 /D011 MNBLK, 0 / BLOCK NUMBER MNPULD, 0 / TYPE OF SOFTWARE LOADED INTO EXTERNAL PROCESSOR / BIT 11 MEANS THAT AMERICAN SPELLING IS LOADED / BIT 10 MEANS THAT BRITISH SPELLING IS LOADED / BIT 9 RESERVED FOR POST PROCESSING / BITS 0-8 ARE UNUSED AT THIS TIME MNLANG, 0 / LANGUAGE SET IDENTIFIER IN TEXT MODE FORMAT MNMUTM, 0 / ACCUMULATOR USED FOR CLRV, INCV, AND STOV INST. MNUTFN, 0 / DRIVE AND FILE NUMBER FOR UTILITY PROGRAMS /A011 MNFREE, 0 / ** UNUSED LOCATION IN MENU AREA ** /*************************************************************************** /**** THESE ARE VALUES THAT ARE SET IN THE SYSTEM AND SAVED ACROSS BOOTS *** /*************************************************************************** X=. / SAVE CURRENT LOCATION COUNT * X+MUBUF ; MUSYSV, 0 / START OF THE SYSTEMS OPTION AREA /*************************************************************************** /**** THE FOLLOWING ARE INITIALIZED IN 'WPUDKD.PA' **** /**** THESE ARE THE VALUES SAVED IN THE SYSTEM AREA **** /**** AS DEFINED WITH MUSYSV **** /*************************************************************************** * X ; MNABRV, 0 / FILENO OF ABBREVIATION DOCUMENT MNLBRY, 0 / FILENO OF LIBRARY DOCUMENT MNPGSZ, 0 / DEFAULT PAGE SIZE FOR EDITOR MNSTAT, 0 / SWITCH FOR STATUS LINE SELECTION MNFMAT, 0 / FORMAT WORD FOR DATE, CURRANCY, DICTIONARY MNSDRV, 0 / USER DRIVE SELECTION FOR SPELLING / BITS 0-3 INDICATE DRIVE FOR SPELLING DICTIONARY / BITS 4-7 ARE NOT USED AT THIS TIME / BITS 8-11 INDICATE DRIVE FOR UTILITY SOFTWARE MNPDFN, 0 / SPELLING PERSONAL DICTIONARY DRIVE AND FILE NUMBER MNLGFN, 0 / LOGON EASY COMM DRIVE AND FILE NUMBER MNADFN, 0 / AUTODIAL DIRECTORY DRIVE AND FILE NUMBER /A011 MNDSEP, 0 / DATE SEPARATOR TYPED IN BY USER MNXTRA, 0 / EXTRA WORD AVAILABLE TO BE SAVED ACROSS BOOTS /A011 /*************************************************************************** /**** THE COMMUNICATIONS PART OF THE SYSTEM OPTIONS AREA **** /*************************************************************************** MNCMTP, 0 / WHAT THE COMMUNICATIONS IS SET FOR / 0 = NORMAL CX / 1 = MAGCARD MNXONF, 0 / 0 = ENABLE XON/XOF PROCESSING / 1 = DISABLE THE XON/XOF PROCESSING IN HANDLER MNPRIM, 0 / STATUS WORD FOR PORT 0; CONTAINS CHAR SIZE, / PARITY, ETC. ALSO BAUD RATE TO FIND OUT / WHAT THE VALUES ARE SEE WPCU3/WPCU4 / WHERE IT IS DISPLAYED IN CU3OPT/CU4OPT MNSECN, 0 / BAUD RATE FOR PORT 1; FOR DETAILS / ALSO LOOK AT WPCU3/WPCU4 MNPRTB, 0 / CONTAINS PRINTER BAUD INFO. ALSO CONTAINS / PORT SELECT & BREAK TIME INFO. FOR DETAILS / SEE WPCU3/WPCU4 MNCXP, 0 / THIS IS THE DOCUMENT THAT CONTAINS / THE PROTOCOL - FORMAT FOR CX TO USE / WHEN TRANSFERRING DOCUMENTS MNOPTC, 0 / UNBUNBLING OPTIONS WORD / LOADED BY RD MENU MNXDLY, 0 / VARIABLE TIMEOUT DELAY FOR DX * .-MNABRV ; MUSYSL, 0 / LENGTH OF SYSVAL AREA /*************************************************************************** /**** MNOPTC BIT DEFINITIONS. **** /*************************************************************************** * 1 ; HWDBIT, 0 / DEFINE BIT POSITION FOR COMMUNICATIONS HARDWARE * 2 ; COMBIT, 0 / DEFINE BIT POSITION FOR COMMUNICATIONS OPTION * 4 ; LPBIT, 0 / DEFINE BIT POSITION FOR LIST PROCESSING OPTION * 10 ; SRBIT, 0 / DEFINE BIT POSITION FOR SORT OPTION * 20 ; MABIT, 0 / DEFINE BIT POSITION FOR MATH OPTION * 40 ; SEDBIT, 0 / DEFINE BIT POSITION FOR SPELLING ERROR DETECTION * 2000 ; DEVBIT, 0 / DEFINE BIT POSITION FOR SOFTWARE DEVELOPMENT MENU * 4000 ; NEXBIT, 0 / DEFINE BIT POSITION FOR OPTION CONTINUATION WORD /*************************************************************************** /**** MENU INTERPRETER DEFINITIONS **** /*************************************************************************** / THE MAIN MENU CALL IS: / JMS MENU / DISK BLOCK TO READ FOR FIRST MENU / RETURN POINT / ALL MENU BLOCKS MUST START WITH: / RELOC / ADMxxx=. / RELOC 0 / THE MENU PROGRAM STARTS INTERPRETING INSTRUCTIONS / AT RELATIVE LOCATION 0. ALL MENU COMMAND TRANSFER / LABELS CAN HAVE THE FORM: / -1-ROUTINE LABEL ; ROUTINE BLOCK NUMBER / COMMANDS ALLOWED: * 0 ; NOOPER, 0 / ZERO VALUE IS A NO-OPERATION COMMAND * .-2 ; READ, 0 / READ; DESTINATION OF RESULT ADDRESS; ERROR LABEL * .-2 ; RETURN, 0 / RETURN * .-2 ; CALL, 0 / CALL; ROUTINE LABEL; ROUTINE BLOCK NUMBER * .-2 ; GOTO, 0 / GOTO; LABEL * .-2 ; NUMBER, 0 / NUMBER; DESTINATION; ERROR LABEL * .-2 ; KEYWRD, 0 / KEYWRD; TEXT; LABEL; ... * .-2 ; DISP, 0 / DISP; POSITION; IOA CONTROL STRING; ARGP1; ARGP2; ... * .-2 ; SET, 0 / SET; VALUE; DESTINATION * .-2 ; ARG, 0 / ARG; NO ARGUEMENT LABEL; DEST OF WHERE STORED * .-2 ; RANGE, 0 / RANGE; SOURCE; MINIMUM; MAXIMUM; ERROR LABEL * .-2 ; CASE, 0 / CASE; SOURCE; VALUE; LABEL; VALUE; LABEL; ... * .-2 ; PQUEUE, 0 / PQUEUE; IN-QUEUE-LABEL; EMPTY-QUEUE-LABEL * .-2 ; TRNSFR, 0 / TRNSFR; LABEL; BLOCK NUMBER * .-2 ; COPY, 0 / COPY; FROM; TO * .-2 ; FILNAM, 0 / FILNAM; NONAME LABEL; NOT DEFINED LABEL * .-2 ; CMND, 0 / CMND; OVERLAY NUMBER; ADDRESS; CDIF FIELD * .-2 ; PREAD, 0 / PREAD; FLAG; RESULT ADDRESS; ERROR LABEL * .-2 ; MXDISP, 0 / MXDISP; POSITION; TEXT STRING LABEL; BLOCK NUMBER * .-2 ; MNHALT, 0 / MNHALT - HALT INSTRUCTION, PROGRAMMING DIAGNOSTIC AID * .-2 ; FBREAK, 0 / FBREAK; ADDRESS OF FILE NUMBER * .-2 ; TSTBIT, 0 / TSTBIT; SOURCE; MASK; ZERO RESULT LABEL * .-2 ; CLRV, 0 / CLRV; * .-2 ; INCV, 0 / INCV; * .-2 ; STOV, 0 / STOV; DESTINATION * .-2 ; CLRRTN, 0 / CLRRTN * .-2 ; CLRBIT, 0 / CLRBIT; BIT MASK VALUE; DESTINATION * .-2 ; SETBIT, 0 / SETBIT; BIT SET VALUE; DESTINATION * .-2 ; SHFBIT, 0 / SHFBIT; SHIFT VALUE (+ RIGHT, - LEFT); DESTINATION /*************************************************************************** /**** WPFILS CALLS AND VALUES **** /*************************************************************************** * 7400 ; RPPGDS, 0 / GOTO PAGE BUFFER AREA IN FIELD 2 * 6000 ; HDRBUF, 0 / DOCUMENT HEADER BUFFER IN FIELD 4 * 6400 ; ETXBUF, 0 / END OF TEXT BUFFER IN FIELD 4 * 7000 ; STXBUF, 0 / START OF TEXT BUFFER IN FIELD 4 / BUFFER ALSO USED FOR L.P. HEADERS/FOOTERS * 7400 ; PSTBUF, 0 / PASTE BUFFER AREA IN FIELD 4 / THE CALLING SEQUENCE TO WPFILS HEREAFTER IS: / / CDFMYF (UNNECCESSARY IF ALREADY MAPPED) / CIFFIO / MAP FILE FIELD / FILEIO / CALL "FILE IO ROUTINE" / xxxxxx / NAME OF ROUTINE TO CALL / / (NOTE THAT xxxxxx IS MERELY AN INDEX / / INTO THE WPFILS ROUTINE TABLE (0 BASED) /******************************************************************** /******************************************************************** /***** ***** /***** ***** /***** ANY CHANGES BELOW MUST BE CO-ORDINATED ***** /***** WITH WPFILS & VICE VERSE. ***** /***** ***** /***** ***** /******************************************************************** /******************************************************************** * 100 ; SCFSPC, 0 / SPACE LEFT ON SCROLL DISKETTE * 101 ; RDFSIZ, 0 / SIZE OF RDFIL FILE * 0 ; DISKIO, 0 / OPEN DOCUMENT FOR READ OR WRITE * 0 ; XDSKIN, 0 / INITIALIZE DOCUMENT FOR READ OR WRITE XDSKCL, 0 / CLOSE DOCUMENT OPENED FOR READ OR WRITE XGETST, 0 / GET CHARACTER TOWARD START OF TEXT BUFFER XPUTST, 0 / PUT CHARACTER TOWARD START OF TEXT BUFFER XGETET, 0 / GET CHARACTER TOWARD END OF TEXT BUFFER XPUTET, 0 / PUT CHARACTER TOWARD END OF TEXT BUFFER XRDFIN, 0 / INITIALIZE FILE (EDIT READER) READ ONLY XRDFNC, 0 / READ NEXT CHARACTER (EDIT READER) READ ONLY XRDFNB, 0 / READ NEXT BYTE (EDIT READER) READ ONLY XGETSB, 0 / GET NEXT SIX BIT BYTE FROM START OF TEXT BUFFER XPUTSB, 0 / PUT NEXT SIX BIT BYTE TO START OF TEXT BUFFER XGETSE, 0 / GET NEXT SIX BIT BYTE FROM END OF TEXT BUFFER XPUTSE, 0 / PUT NEXT SIX BIT BYTE TO END OF TEXT BUFFER XHDRGT, 0 / GET CURRENT DOCUMENT HEADER XHDRPT, 0 / PUT CURRENT DOCUMENT HEADER XRPRD, 0 / RAPID PAGINATION FUNCTION CALL XRSCTP, 0 / SET UP TO ACCESS GO-TO-PAGE DESCRIPTOR WORDS /A001 /*************************************************************************** /**** LIST PROCESSING AND MATH ERROR EQUATES **** /**** THESE ERRORS ARE EQUATED HERE SINCE THEY ARE SHARED BY **** /**** LIST PROCESSING, MATH, AND MN1. **** /*************************************************************************** * 10 ; SLPERB, 0 / STANDARD LIST PROCESSING ERROR BASE NUMBER * 100 ; MSEBN, 0 / MATH SYNTAX ERROR BASE NUMBER * 200 ; DSOBEN, 0 / DATA STRUCTURE OVERFLOW BASE ERROR NUMBER * 300 ; MLABEN, 0 / MATH'S LEXIC AND ASCII BASE ERROR NUMBER * 400 ; FSEBEN, 0 / MATH FORMAT STATEMENT BASE ERROR NUMBER * 500 ; NSEBEN, 0 / CONTROL BLOCK NUMERIC SYNTAX ERROR BASE ERROR NUMBER * 600 ; NSEBE1, 0 / NUMERIC SYNTAX ERROR BASE ERROR NUMBER * 700 ; MEEBEN, 0 / MATH EXECUTION ERROR BASE ERROR NUMBER /*************************************************************************** /**** STANDARD LIST PROCESSING ERRORS ASSIGNED 10 THRU 77 **** /*************************************************************************** * SLPERB ; EVLGRC, 0 / "RECORD EXCEEDS 2500 CHARACTERS" EVPEOF, 0 / END OF FILE ERROR - "RECORD NOT TERMINATED WITH '<>'" EVCRBR, 0 / "TEXT BETWEEN RECORDS" EVLBFN, 0 / "'<' WITHIN A FIELD NAME" EVLGFN, 0 / LONG FIELD NAME - "FIELD NAME EXCEEDS 30 CHARACTERS" EVRBFD, 0 / "'>' WITHIN A FIELD VALUE" EVFULL, 0 / "RESULT DOCUMENT DISKETTE FULL" EVLGNM, 0 / LONG NUMBER - "FIELD VALUE NUMBER EXCEEDS 30 CHARACTERS" /*************************************************************************** /**** CONTROL BLOCK, COMMAND PARSER, & TRANSLATOR ERROR MESSAGES **** /**** NOTE: MATH ERROR NUMBERS BEGIN AT 100 TO ALLOW SPACE FOR **** /**** NORMAL L.P ERROR REPORTING WHICH USED 0 THRU 77 **** /*************************************************************************** /*************************************************************************** /**** MATH SYNTAX ERRORS ASSIGNED 100 - 177 **** /*************************************************************************** * MSEBN ; EVFLW1, 0 / STACK OVERFLOW ERROR - "FORMULA CONTAINS TOO MANY OPERATIONS" EVFLW2, 0 / SYMBOL POINTER TABLE OVERFLOW ERROR / "TOO MANY FIELD NAMES SPECIFIED" / NOTE - DUE TO A REWORK OF THE MATH MODULE, EVFLW2 IS NO / LONGER MEANINGFULL AND CAN NOT BE GENERATED. EVFLW3, 0 / SYMBOL TABLE OVERFLOW ERROR / "NO ROOM LEFT TO STORE THIS FIELD NAME" EVFLW4, 0 / OUTPUT LIST (POLISH STRING) OVERFLOW ERROR / "CONTROL BLOCK EQUATIONS CONTAIN TOO MANY TERMS" EVFLW5, 0 / RESULT POINTER TABLE OVERFLOW ERROR / "TOO MANY FORMULAS SPECIFIED" EVFLW6, 0 / CONTROL BLOCK INPUT LINE BUFFER OVERFLOW / "THIS LINE HAS EXCEEDED 200 CHARACTERS" EVFLW7, 0 / CONTROL BLOCK WORK BUFFER OVERFLOW OR CONTROL BLOCK / CONTROL WORD FORMAT/SYNTAX ERROR / "UNDEFINED COMMAND AT THIS POSITION" /*************************************************************************** /**** MATH DATA STRUCTURE OVERFLOW ERRORS ASSIGNED 200-277 **** /**** ALL D.S.O. ERRORS ARE "FORMULA IN ERROR AT THIS POSITION" **** /*************************************************************************** * DSOBEN ; EYNER1, 0 / OPERAND EXPECTED NEXT BUT NOT RECEIVED * DSOBEN ; EYNER2, 0 / OPERATOR EXPECTED NEXT BUT NOT RECEIVED * DSOBEN ; EYNER3, 0 / TOO MANY LEFT PARENTHESIS * DSOBEN ; EYNER4, 0 / TOO MANY RIGHT PARENTHESIS * DSOBEN ; EYNER5, 0 / FORMAT OR END OF FORMULA EXPECTED BUT NOT REC'D * DSOBEN ; EYNER6, 0 / OPERAND VARIABLE EXPECTED NEXT BUT NOT REC'D * DSOBEN ; EYNR10, 0 / CONTROL WORD LINE SYNTAX ERROR EYNR11, 0 / FORMULA FORMAT SYNTAX ERROR / "FORMULA IN ERROR AT THIS POSITION (UNEXPECTED RETURN)" /*************************************************************************** /**** MATH'S LEXIC AND ASCBCD ROUTINE ERRORS ASSIGNED 300-377 **** /*************************************************************************** * MLABEN ; ERRNFN, 0 / NONNUMERIC FIELD NAME SPECIFIED IN FORMULA / "FORMULA IN ERROR AT THIS POSITION" ERRFTW, 0 / FORMULA TERMINATED WITHIN A FIELD NAME / "FORMULA IN ERROR AT THIS POSITION (UNEXPECTED RETURN)" ERRINI, 0 / ILLEGAL NUMBER IN MATH EXPRESSION / (LENGTH EXCEEDS 30 CHARACTERS) / "FORMULA IN ERROR AT THIS POSITION" * ERRINI ; ERRICI, 0 / ILLEGAL CHARACTER IN MATH EXPRESSION / "FORMULA IN ERROR AT THIS POSITION" ERRUB, 0 / "UNMATCHED ANGLE BRACKETS" ERRLOF, 0 / LENGTH OF FIELD NAME IS GREATER THAN 30 CHARACTERS / "FIELD NAME TOO LONG" /*************************************************************************** /**** FORMAT STATEMENT ERRORS ASSIGNED 400-477 **** /**** ALL FORMAT STATEMENT ERRORS DISPLAYED AS **** /**** "FORMAT IN ERROR AT THIS POSITION" **** /*************************************************************************** * FSEBEN ; ERRMTS, 0 / MORE THAN SIX NUMERIC FIELD SPECIFIERS TO THE RIGHT OF / THE RADIX POINT IN FORMAT STATEMENT * FSEBEN ; ERRMTT, 0 / MORE THAN THIRTEEN NUMERIC FIELD SPECIFIERS IN FORMAT / STATEMENT * FSEBEN ; ERRFSD, 0 / FORMAT STATEMENT DOES NOT CONTAIN NUMERIC FIELD / SPECIFICATION * FSEBEN ; ERRCAE, 0 / CURRENCY OR ASTERISK IMMEDIATELY FOLLOWED BY SIGN * FSEBEN ; ERRTCI, 0 / THIS CHARACTER ILLEGAL IN THIS POSTION IN FORMAT / STATEMENT * FSEBEN ; ERRICF, 0 / ILLEGAL CHARACTER IN FORMAT STATEMENT * FSEBEN ; ERRLPI, 0 / LEFT PARENTHESIS IN FORMAT STATEMENT NOT CLOSED WITH / RIGHT PARENTHESIS /*************************************************************************** /**** CONTROL BLOCK NUMERIC SYNTAX ERRORS ASSIGNED 500-577 **** /**** DETECTED BY MATH'S ASCBD ROUTINE - ALL SUCH ERRORS REPORT **** /**** "NUMBER IN ERROR AT THIS POSITION" **** /*************************************************************************** * NSEBEN ; ERRTCP, 0 / THIS CHARACTER IS ILLEGAL IN THIS POSTITION OF THE NUMBER * NSEBEN ; ERRMTD, 0 / MORE THAN THIRTEEN DIGITS TO THE LEFT OF THE RADIX POINT * NSEBEN ; ERRNSD, 0 / NUMERIC STRING DID NOT CONTAIN DIGITS /*************************************************************************** /**** THE FOLLOWING FOUR ERRORS WILL ONLY OCCUR FOR NUMBERS OUTSIDE **** /**** A CONTROL BLOCK. THEIR VALUE BECOMES ERR???+(NSEBE1-NSEBEN) **** /*************************************************************************** * NSEBEN ; ERRTCT, 0 / THIS CHARACTER ILLEGAL IN A NUMBER * NSEBEN ; ERREPE, 0 / EMPTY PARENTHESIS * NSEBEN ; ERRID, 0 / ILLEGAL DIGIT * NSEBEN ; ERRLPN, 0 / LEFT PARENTHESIS NOT CLOSED WITH RIGHT PARENTHESIS /*************************************************************************** /**** L.P. NUMERIC SYNTAX ERRORS DETECTED OUTSIDE OF A CONTROL BLOCK **** /**** REPORTED AS "NUMBER WITHIN RECORD IS IN ERROR" **** /**** THESE ARE THE SAME NUMERIC SYNTAX ERRORS AS DESCRIBED ABOVE AND **** /**** ARE ASSIGNED A DIFFERENT BASE ERROR NUMBER SO WE'LL NOT PRINT A **** /**** CONTROL BLOCK LINE WHEN ERROR REPORTING. **** /*************************************************************************** * NSEBE1 /*************************************************************************** /**** MATH EXECUTION ROUTINE ERROR CODES **** /*************************************************************************** * MEEBEN ; ERROVF, 0 / "FORMULA CONTAINS TOO MANY OPERATIONS" ERRDB0, 0 / "DIVIDED BY ZERO" ERNOSP, 0 / "NO ROOM FOR THIS RESULT:" ERNSP2, 0 / "NO ROOM FOR THESE RESULTS:" EVSYN3, 0 / "MATH AREA ALREADY BEGUN" EVSYN4, 0 / "'BEGIN' NOT SECOND WORD IN CONTROL BLOCK" EVSYN5, 0 / "'END' NOT SECOND WORD IN CONTROL BLOCK" EVSYN6, 0 / "TEXT IN CONTROL BLOCK FOLLOWING 'END'" EREXTR, 0 / "NUMBER IN LINE IS IN ERROR" /*************************************************************************** /**** COMMON MATH SYMBOLS AND ROUTINE LOCATIONS **** /*************************************************************************** * 40 ; MAXTOK, 0 / SIZE OF THE TOKEN BUFFER * 1400 ; SYMCHK, 0 / LOOKS UP NAMES IN THE SYMBLE TABLE * 3400 ; ASCBCD, 0 / ROUTINE TO CONVERT ASCII TO PACKED BCD * 3404 ; CHKNME, 0 / CALLED FROM MATH FOR EDITOR MATH * 4200 ; PELINE, 0 / ROUTINE TO PRINT CONTROL BLOCK LINE TO / SCREEN FOR ERROR REPORTING PURPOSES * 4400 ; EXECUT, 0 / EXECUTES THE COMPILED FORMULAS * 4202 ; BCDCOM, 0 / ROUTINE TO COMPARE TWO BCD NUMBERS * 5400 ; BCDASC, 0 / ROUTINE TO CONVERT PACKED BCD TO ASCII / USING USER SPECIFIED FORMAT * 5400 ; BCDAR1, 0 / FIRST ARGUMENT TO BCDCOM - USED BY WPSELC * 5406 ; BCDAR2, 0 / SECOND ARGUMENT TO BCDCOM - USED BY WPSELC * 6201 ; UDTEXT, 0 / ADDRESS OF *Un.def* TEXT STRING * 6213 ; OFTEXT, 0 / ADDRESS OF *Ovr.flo* TEXT STRING * 7200 ; MTHCTL, 0 / ADDRESS OF "IN MATH CTRL BLOCK" FLAG * 7201 ; RTNMTH, 0 / ADDERSS OF ENTRY BACK TO EDITOR FROM MATH * 7344 ; TOKVAL, 0 / TOKEN BUFFER IN MATH FIELD / USED BY VARIOUS ROUTINES * 7404 ; RESULT, 0 / ADDRESS OF TABLE OF POINTERS TO THE / RESULTANTS IN THE MATH SYMBLE TABLE /*************************************************************************** /**** CAUTION **** /**** THE VALUE ASSIGNMENTS TO THE FOLLOWING FIVE EQUATES MUST NOT BE **** /**** ALTERED UNLESS A CORRESPONDING CHANGE IS MADE IN THE MATH FIELD **** /**** TO THE STARTING ADDRESS OF THE LOCATION OF THE ROUTINE WHICH EACH **** /**** IS REFERENCING. THEY ARE USED AS ENTRY POINTS INTO STRATEGICALLY **** /**** LOCATED ROUTINES IN THE MATH FIELD. **** /*************************************************************************** * 200 ; FSTLNE, 0 / "CTRL BLOCK FIRST LINE" FLG IN MATH FIELD * 201 ; RTRN1, 0 / INPUT LNE BUF PTR INITIALIZE RTN IN MATH FIELD * 203 ; RTRN2, 0 / PUT LP INPUT CHAR IN MATH INPUT LNE BUF * 205 ; RTRN3, 0 / RTN IN MATH FIELD TO PROCESS LINE OF CTRL BLK * 207 ; RTRN4, 0 / RTN IN MTH FLD TO INITIALIZE MTH CTRL BLK VALUES /*************************************************************************** /**** EDIT MATH ENTRY POINTS **** /*************************************************************************** / VALUES USED IN EDITOR MATH CONTROL BLOCK EVALUATION CODE * 46 ; DCHARL, 0 / LENGTH OF DCHAR TABLE 38(10) * DCHARL ; TCHARL, 0 / LENGTH OF TCHAR TABLE (SAME AS DCHARL ABOVE) * 174 ; MTHTYP, 0 / FLAG INDICATING TYPE OF MATH BEING USED * 175 ; MTHTOT, 0 / "EDIT MATH TOTAL" FLAG * 176 ; MTHWRK, 0 / "EDIT MATH WORK AREA" FLAG * 177 ; MTHSND, 0 / "EDIT MATH CTRL BLK 2ND LINE" FLAG * 200 ; DCHAR, 0 / LOC OF DCHAR TABLE IN LP FIELD * 246 ; TCHAR, 0 / LOC OF TCHAR TABLE IN LP FIELD * 7000 ; INCTLB, 0 / "IN CONTROL BLOCK" FLAG USED IN EDITOR MATH * 7001 ; CKCTRL, 0 / RTN TO PROCESS EDITOR MATH CTRL BLKS * 7205 ; ZROTBL, 0 / "DCHAR" & "TCHAR" TABLE SETUP ROUTINE /*************************************************************************** /**** EDIT MATH INSDEL ROUTINE EQUATES **** /*************************************************************************** * 0 ; OLDCON, 0 / PARAMETER IN CALL FOR FIELD DATA / 0=OLD CONTENTS * 1 ; NEWCON, 0 / PARAMETER IN CALL FOR FIELD DATA / 1=NEW CONTENTS DECIMAL / EXPRESS MAX TAB POSITIONS IN DECIMAL * 38 ; MXTABS, 0 / MAX. NO. OF DTABN POSITIONS ON A LINE OF TEXT * 31 ; MXASCII, 0 / MAX. LENGTH OF A NUMBER CONVERTED BY BCDASC OCTAL / GO BACK TO OCTAL * 1600 ; MASKATTR, 0 / MASK TO GET ATTRIBUTES /*************************************************************************** /**** EDIT MATH FIELD 5, PAGE 0 EQUATES **** /*************************************************************************** * 100 ; MF5P0ET, 0 / MATH_FIELD_5_PAGE_0_EQUATE_TABLE * 100 ; TCCNTR, 0 / TEMPORARY_CHARACTER_COUNTER (EXTRACTNUMBER) * 100 ; TABFLAGS, 0 / TAB_FLAGS: (EXTRACTNUMBER ROUTINE) / BIT11 = 0: NOT A DECIMAL TAB / 1: DECIMAL TAB / BIT1 = 0: LINE POSITION NEQ. POSITION / OF DECIMAL TAB IN RULER / 1: LINE POSTION EQ. POSITION / OF DECIMAL TAB IN RULER SAVCP, 0 / SAVED_CURPTR (CKCTRL, EXTRACTNUMBER, INSDEL) TABPOSITION, 0 / TAB_POSITION IN RULER - 1 (EXTRACTNUMBER) LTABPOSITION, 0 / HOLDS -TABPOSITION SETTING AT TIME OF LAST / INCREMENT OF DTABCOUNT. (EXTRACTNUMBER) LNEPC, 0 / LINE_POSITION_COUNTER (EXTRACTNUMBER) CRWMB, 0 / CHARACTER_READ_WITH_MODE_BITS (EXTRACTNUMBER) CRLMB, 0 / CHARACTER_READ_LESS_MODE_BITS (EXTRACTNUMBER) /*************************************************************************** /**** INSDEL ROUTINE PAGE 0 EQUATES **** /*************************************************************************** REG1, 0 / TEMPORARY LOCATIONS USED IN ALL PHASES REG2, 0 REG3, 0 REG4, 0 TABPCP, 0 / CURRENT TAB POSITION, FROM RULER FLAGS, 0 / DTAB RESULT FIELD IF AC0=1; PLUS DTAB NUMBER DTABPR, 0 / POINTER TO DCHAR OR TCHAR; CALL PARAMETER FLDCNT, 0 / CURRENT FIELD NUMBER CHARCNT, 0 / NO. OF CHARACTERS (ALPHANUMERIC) IN FIELD BEGFLD, 0 / POSITION OF BEGINNING OF CURRENT FIELD ENDFLD, 0 / POSITION OF END OF CURRENT FIELD RIGHTM, 0 / POSITION OF RIGHT MARGIN PCP, 0 / CURRENT POSITION XPCP, 0 / EXTRA SPACES OR SOFT SPACES BETWEEN FIELDS ABSOLM, 0 / DELETE PHASE FLAG TO SIGNAL PREVIOUS RESULTS DTABN, 0 / NUMBER OF DTAB POSITION /*************************************************************************** /**** BCDASC ROUTINE PAGE 0 EQUATES **** /*************************************************************************** FRMMAT, 0 / FORMAt_Word: * $ , T T T S S H H H H / T = tail count (no. of digits after radix point + 1) / S = sign bits 0 OR 1=leading minus, / 2=trailing minus, 3=() / H = head count (no. of digits before radix point) LFTFOR, 0 / HEAD COUNT FROM FORMAT WORD RGTFOR, 0 / TAIL COUNT FROM FORMAT WORD / IF DEFAULT SPECIFIED / = MAXRGT+1 / IF DEFAULT FORCED BECAUSE OF "%" ERROR / = 13 - LFTFOR + 1 / ELSE / = RGTFOR (FROM FORMAT WORD AS SPECIFIED BY USER) LFTNUM, 0 / # OF DIGITS TO LEFT OF RADIX WITH LEADING ZERO SUPPRESSION RGTNUM, 0 / # OF DIGITS TO RIGHT OF RADIX WITH TRAILING ZERO SUPPRESSION ASCPNT, 0 / POINTER TO RESULTS BUFFER BCDPNT, 0 / POINTER TO BCD VALUE BCDCNT, 0 / - NUMBER OF BCD WORDS IN VALUE (-VALSIZ) SGN, 0 / SIGN OF THIS WORD IS SIGN OF VALUE NEXTC, 0 / - NUMBER OF DIGITS TO OUTPUT BEFORE NEXT COMMA DUE NUMCOM, 0 / SEE ASTOUT NUMAST, 0 / SEE ASTOUT DIGNUM, 0 / NUMBER OF DIGITS OUTPUT TO SIMPLE ASCII BUFFER RGTTOT, 0 / NUMBER OF DIGITS OUTPUT TO RIGHT OF RADIX / INCLUDING TRAILING ZEROES DEFAUL, 0 / DEFAULT FLAG 0= NOT DEFAULT CASE / GREATER THAN ZERO = DEFAULT NONZR0, 0 / 0=ONLY ZERO DIGITS FOUND / OTHERWISE AT LEAST ONE NON_ZERO DIGIT FOUND / THIS IS USED TO AVOID PUTTING OUT A MINUS SIGN IF THE / VALUE IS ZERO CHRCNT, 0 / CHARACTER_COUNT - POINTS TO CHRRGT OR CHRLFT CHRLFT, 0 / NUMBER OF ASCII CHARACTER OUTPUT TO LEFT OF RADIX CHRRGT, 0 / NUMBER OF ASCII CHARACTERS OUTPUT TO RIGHT OF RADIX MRKIMA, 0 / MARKER_IN_MATH_AREA (ECTMRK IS IN THE TEXT OF THIS / MATH AREA BEING USED AS A POSITION MARKER) / IF MRKIMA = 0000 - NO ECTMRK IN MATH AREA / 0001 - ECTMRK IN MATH AREA. CURPTX, 0 / TEMP. POINTER INTO EDIT BUFFER FOR EDIT MATH CODE * .-MF5P0ET ; LMF5P0ET, 0 / LENGTH OF MF5P0ET * 200 / RESET LOCATION COUNT TO NORMAL POSITION ENPUNCH / TURN ON THE BINARY PUNCH FOR OUTPUT XLIST