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