Table of Contents

CMPIERR

Table Of Contents

  • [00007] CMP CONDENSE ERROR ROUTINE.
  • [00023] CMP ERROR REPORTING.

Source Code

CMPIERR.txt
  1. CMPIERR
  2. * /--- FILE TYPE = E
  3. * /--- BLOCK CMPIERR 00 000 82/01/04 10.20
  4. IDENT CMPIERR
  5. CMPIERR TITLE CMPIERR - CMP CONDENSE ERROR ROUTINE.
  6. *COMMENT CMP CONDENSE ERROR ROUTINE.
  7. *** CMPIERR - CMP CONDENSE ERROR ROUTINE.
  8. *
  9. * THE CMP TRANSLATOR REPORTS TRANSLATION ERRORS
  10. * TO *MPP$ERR* IN THIS IDENT. *MPP$ERR* USES THE
  11. * STANDARD CONDENSOR ERROR ROUTINES TO LOG THE
  12. * ERRORS.
  13.  
  14. CST
  15. SYSCOM B1
  16.  
  17. LIST X
  18. *CALL ZPXIDEF
  19. LIST *
  20. *CALL COMCMVE
  21.  
  22. MPP$ERR TITLE MPP$ERR - CMP ERROR REPORTING.
  23. ** MPP$ERR - CMP ERROR REPORTING.
  24. *
  25. * ENTRY (B1) = 1.
  26. * (B2) = CYBIL STACK FRAME POOINTER.
  27. * (B3) = CYBIL STACK LIMIT.
  28. * (X1) = ERROR NUMBER.
  29. * (X2) = BLOCK NUMBER.
  30. * (X3) = LINE NUMBER.
  31. * ((X4)) = COMMAND NAME.
  32. * (X5) = TAG FWA.
  33. *
  34. * EXIT (B1) = 1.
  35. * (B2) = AS ON ENTRY.
  36. * (B3) = AS ON ENTRY.
  37. *
  38. * THE CURRENT BLOCK NUMBER, LINE NUMBER, AND COMMAND
  39. * ARE SAVED AND RESTORED. THESE VALUES MUST BE
  40. * BE PRESERVED FOR THE CONDENSOR READ ROUTINES IN
  41. * IDENT GETLINE.
  42.  
  43. * /--- BLOCK CMPIERR 00 000 82/01/04 10.25
  44.  
  45. ENTRY MPO$ERR
  46.  
  47. MPO$ERR ENTR ENTRY
  48.  
  49. * SAVE CYBIL REGISTERS B2 AND B3.
  50.  
  51. SX6 B2
  52. SX7 B3
  53. LX6 18
  54. BX6 X6+X7
  55. SA6 ERRA
  56.  
  57. * SAVE CONDENSOR BLOCK NUMBER, LINE NUMBER, AND
  58. * COMMAND NAME, AND REPLACE WITH CMP VALUES.
  59.  
  60. BX6 X2
  61. BX7 X3
  62. SA2 BLKNUM
  63. SA3 LINENUM
  64. SA6 A2
  65. SA7 A3
  66. BX6 X2
  67. BX7 X3
  68. SA6 ERRB
  69. SA7 A6+B1
  70. SA4 X4
  71. BX6 X4
  72. SA4 COMMAND
  73. SA6 A4
  74. BX6 X4
  75. SA6 A7+B1
  76.  
  77. * SAVE CONDENSOR TAG.
  78.  
  79. BX0 X1 PRESERVE THE ERROR NUMBER
  80. SX1 TAGLTH
  81. SX2 TAG
  82. SX3 ERRC
  83. RJ MVE=
  84.  
  85. * MOVE CMP TAG INTO CONDENSOR TAG BUFFER.
  86.  
  87. SX1 TAGLTH
  88. SX2 X5
  89. SX3 TAG
  90. RJ MVE=
  91.  
  92. * LOG THE ERROR.
  93.  
  94. SB1 X0
  95. RJ =XRJERR
  96. SB1 1 RESTORE (B1)
  97.  
  98. * RESTORE THE CONDENSOR TAG BUFFER.
  99.  
  100. SX1 TAGLTH
  101. SX2 ERRC
  102. SX3 TAG
  103. RJ MVE=
  104.  
  105. * RESTORE THE CONDENSOR BLOCK NUMBER, LINE NUMBER,
  106. * AND COMMAND NAME.
  107.  
  108. SA1 ERRB
  109. SA2 A1+B1
  110. SA3 A2+B1
  111. BX6 X1
  112. BX7 X2
  113. SA6 BLKNUM
  114. BX6 X3
  115. SA7 LINENUM
  116. SA6 COMMAND
  117.  
  118. * RESTORE CYBIL REGISTERS B2 AND B3.
  119.  
  120. SA1 ERRA
  121. SB3 X1
  122. AX1 18
  123. SB2 X1
  124.  
  125. DONE EXIT
  126.  
  127. ERRA BSS 1 24/0, 18/(B2), 18/(B3)
  128. ERRB BSS 1 BLKNUM
  129. BSS 1 LINENUM
  130. BSS 1 COMMAND
  131. ERRC BSS TAGLTH TAG BUFFER
  132. * /--- BLOCK CMPIERR 00 000 81/12/12 10.57
  133.  
  134. END