plato:source:plaopl:cmpierr
Table of Contents
CMPIERR
Table Of Contents
- [00007] CMP CONDENSE ERROR ROUTINE.
- [00023] CMP ERROR REPORTING.
Source Code
- CMPIERR.txt
- CMPIERR
- * /--- FILE TYPE = E
- * /--- BLOCK CMPIERR 00 000 82/01/04 10.20
- IDENT CMPIERR
- CMPIERR TITLE CMPIERR - CMP CONDENSE ERROR ROUTINE.
- *COMMENT CMP CONDENSE ERROR ROUTINE.
- *** CMPIERR - CMP CONDENSE ERROR ROUTINE.
- *
- * THE CMP TRANSLATOR REPORTS TRANSLATION ERRORS
- * TO *MPP$ERR* IN THIS IDENT. *MPP$ERR* USES THE
- * STANDARD CONDENSOR ERROR ROUTINES TO LOG THE
- * ERRORS.
- CST
- SYSCOM B1
- LIST X
- *CALL ZPXIDEF
- LIST *
- *CALL COMCMVE
- MPP$ERR TITLE MPP$ERR - CMP ERROR REPORTING.
- ** MPP$ERR - CMP ERROR REPORTING.
- *
- * ENTRY (B1) = 1.
- * (B2) = CYBIL STACK FRAME POOINTER.
- * (B3) = CYBIL STACK LIMIT.
- * (X1) = ERROR NUMBER.
- * (X2) = BLOCK NUMBER.
- * (X3) = LINE NUMBER.
- * ((X4)) = COMMAND NAME.
- * (X5) = TAG FWA.
- *
- * EXIT (B1) = 1.
- * (B2) = AS ON ENTRY.
- * (B3) = AS ON ENTRY.
- *
- * THE CURRENT BLOCK NUMBER, LINE NUMBER, AND COMMAND
- * ARE SAVED AND RESTORED. THESE VALUES MUST BE
- * BE PRESERVED FOR THE CONDENSOR READ ROUTINES IN
- * IDENT GETLINE.
- * /--- BLOCK CMPIERR 00 000 82/01/04 10.25
- ENTRY MPO$ERR
- MPO$ERR ENTR ENTRY
- * SAVE CYBIL REGISTERS B2 AND B3.
- SX6 B2
- SX7 B3
- LX6 18
- BX6 X6+X7
- SA6 ERRA
- * SAVE CONDENSOR BLOCK NUMBER, LINE NUMBER, AND
- * COMMAND NAME, AND REPLACE WITH CMP VALUES.
- BX6 X2
- BX7 X3
- SA2 BLKNUM
- SA3 LINENUM
- SA6 A2
- SA7 A3
- BX6 X2
- BX7 X3
- SA6 ERRB
- SA7 A6+B1
- SA4 X4
- BX6 X4
- SA4 COMMAND
- SA6 A4
- BX6 X4
- SA6 A7+B1
- * SAVE CONDENSOR TAG.
- BX0 X1 PRESERVE THE ERROR NUMBER
- SX1 TAGLTH
- SX2 TAG
- SX3 ERRC
- RJ MVE=
- * MOVE CMP TAG INTO CONDENSOR TAG BUFFER.
- SX1 TAGLTH
- SX2 X5
- SX3 TAG
- RJ MVE=
- * LOG THE ERROR.
- SB1 X0
- RJ =XRJERR
- SB1 1 RESTORE (B1)
- * RESTORE THE CONDENSOR TAG BUFFER.
- SX1 TAGLTH
- SX2 ERRC
- SX3 TAG
- RJ MVE=
- * RESTORE THE CONDENSOR BLOCK NUMBER, LINE NUMBER,
- * AND COMMAND NAME.
- SA1 ERRB
- SA2 A1+B1
- SA3 A2+B1
- BX6 X1
- BX7 X2
- SA6 BLKNUM
- BX6 X3
- SA7 LINENUM
- SA6 COMMAND
- * RESTORE CYBIL REGISTERS B2 AND B3.
- SA1 ERRA
- SB3 X1
- AX1 18
- SB2 X1
- DONE EXIT
- ERRA BSS 1 24/0, 18/(B2), 18/(B3)
- ERRB BSS 1 BLKNUM
- BSS 1 LINENUM
- BSS 1 COMMAND
- ERRC BSS TAGLTH TAG BUFFER
- * /--- BLOCK CMPIERR 00 000 81/12/12 10.57
- END
plato/source/plaopl/cmpierr.txt ยท Last modified: 2023/08/05 18:54 by Site Administrator