* 
      OCT 052700    +0.113490887012E-20 
      OCT 052206
      OCT 064567
* 
      OCT 046617    +0.551103480763E-12 
      OCT 114157
      OCT 011661
* 
      OCT 063753    +0.625452228671E-33 
      OCT 145654
      OCT 027045
* 
* 
      OCT 122556    -0.522100769010E+20 
      OCT 010565
      OCT 136604
* 
      OCT 064733    +0.433599800126E+06 
      OCT 176315
      OCT 050446
* 
      OCT 132430    -0.226382789088E+26 
      OCT 120703
      OCT 160252
* 
* 
      OCT 063353    +0.622105439987E+26 
      OCT 030262
      OCT 006254
* 
      OCT 106603    -0.166601987643E-08 
      OCT 010601
      OCT 056707
* 
      OCT 121762    -0.103644002825E+18 
      OCT 012407
      OCT 020162
* 
* 
      OCT 136736    -0.346709115603E+08 
      OCT 154016
      OCT 011064
* 
      OCT 065256    +0.266700199801E+02 
      OCT 014667
      OCT 134412
* 
      OCT 110705    -0.924673904043E+09 
      OCT 030437
      OCT 165074
* 
* 
      OCT 103464    -0.900006521306E-06 
      OCT 001353
      OCT 001331
* 
      OCT 057561    +0.111111600077E-07 
      OCT 131402
      OCT 040315
* 
      OCT 122755    -0.100001164662E-13 
      OCT 046445
      OCT 115645
* 
* 
      OCT 135233    -0.300947600112E-16 
      OCT 030162
      OCT 146225
* 
      OCT 042374    +0.411197650034E-05 
      OCT 146771
      OCT 125737
* 
      OCT 132462    -0.123748945949E-21 
      OCT 143463
      OCT 017161
* 
* 
      OCT 103660    -0.199034120660E-21 
      OCT 173053
      OCT 153561
* 
      OCT 075724    +0.900994750110E-09 
      OCT 167475
      OCT 160705
* 
      OCT 105633    -0.179328697807E-30 
      OCT 164310
      OCT 016065
* 
* 
      OCT 047711    +0.600237011542E-34 
      OCT 000721
      OCT 050037
* 
      OCT 105475    -0.222697990123E-03 
      OCT 175523
      OCT 002751
* 
      OCT 133470    -0.133671576068E-37 
      OCT 163311
      OCT 072007
* 
* 
* 
********************************************************************
* 
      HED SUBROUTINES 
* 
*  SUBROUTINE TO TURN ON MEMORY PROTECT LOGIC.
* 
*  ENTER WITH (A)=EXIT ADDRESS AND
*             (B)=FENCE ADDRESS 
* 
MEMTN NOP 
      STA MPCKX     STORE EXIT ADDRESS
      LDA PMMTN     SET INTERRUPT ADDRESS.
      STA MPPAR 
      CLA 
      STA MPIND     RESET INDICATOR.
      INA           ANNOUNCE THAT WE ARE DOING
      STA MPTES       A MEM. PROTECT TEST.
      OTB MPPAR     LOAD FENCE REGISTER.
      STF INTP
      STC MPPAR     TURN ON MEM. PROTECT LOGIC. 
      JMP MEMTN,I 
* 
* 
* 
*  MEMORY PROTECT VIOLATION ROUTINE.
* 
* 
MPCHK NOP 
      CLF INTP
      LIA MPPAR     GET VIOLATION REGISTER. 
      SSA 
      JMP MPCK1     PARITY ERROR! 
      CLF MPPAR     TURN OFF PARITY LOGIC 
      LDA TRHLT     MEMORY PROTECT VIOLATION! 
      STA MPPAR     RESTORE TRAP CELL HALT. 
      CLA,INA       SET INDICATOR.
      STA MPIND 
      STF MPPAR     TURN ON PARITY LOGIC. 
      JMP MPCKX,I   RETURN
* 
MPCK1 EQU * 
      OCT 106077    HALT ON PARITY ERROR. 
      JMP *-1 
* 
MPCKX BSS 1         EXIT ADDRESS
* 
* 
      HED CONSTANTS AND STORAGE 
RM111 ASC 18,E111 NOT INTERRUPTIBLE DURING PARAM. 
      ASC 3,FETCH/
RM112 ASC 18,E112 P-REG NOT RESTORED ON INTERR. D 
      ASC 10,URING PARAM. FETCH/
RM113 ASC 18,E113 A-REG NOT RESTORED ON INTERR. D 
      ASC 10,URING PARAM. FETCH/
RM114 ASC 18,E114 B-REG NOT RESTORED ON INTERR. D 
      ASC 10,URING PARAM. FETCH/
      HED CONSTANTS AND STORAGE 
      ORG 140B
IOIP  DEF IOID
TSTP  DEF TSTD      POINTER TO TEST TABLE 
HDMP  DEF HDMS      POINTER TO HEADER MESSAGE 
STDA  OCT 007777
STDB  OCT 0 
* 
* 
* 
* 
      ORG 150B
********************************************************************
* 
*  MAPPING CODES FOR MACRO
* 
.GOTO EQU 221B
.ENTR EQU 223B
.ENTP EQU 224B
.SETP EQU 227B
.XMPY EQU 203B
.XDIV EQU 204B
.XADD EQU 213B
.XSUB EQU 214B
XADD  EQU 207B
XSUB  EQU 210B
XMPY  EQU 211B
XDIV  EQU 212B
********************************************************************
* 
* 
* 
*  OUTPUT STORED HERE 
* 
POUTP DEF OUTPT 
OUTPT BSS 1 
      BSS 1 
      BSS 1 
* 
* 
MPPAR EQU 5 
HDMS  ASC 14,START 21MX FFP DIAGNOSTIC 2/ 
* 
IOID  EQU * 
      DEF STCSC 
      DEF STFSC 
      DEF CLCSC 
      DEF INTSC 
      DEC -1
TEMP  BSS 9 
      DEC -6,-5,-4,-3,-2,-1 
.     DEC 0,1,2,3,4,5,6,7,8,9 
BIT5  OCT 40
BIT14 OCT 40000 
BIT15 OCT 100000
INDIC BSS 1 
PADHD DEF ADHED 
PADBS DEF ADBAS 
PADB1 DEF ADBS1 
PADH1 DEF ADHD1 
PADH2 DEF ADHD2 
PADB2 DEF ADBS2 
INTSC NOP 
ITRAP JSB *+1,I     INSERT IN TRAP CELL 
      DEF INTSB       FOR INTERRUPT TEST
B77   OCT 77
P40   DEC 40
P8    DEC 8 
P15   DEC 15
J     BSS 1 
M16   DEC -16 
M17   DEC -17 
M15   DEC -15 
PINTR DEF INNTR 
PINTP DEF INNTP 
PPROV DEF PROVN 
PRNTY DEF RNTY1 
INNTR RAM .ENTR     INSERTS 
      DEF TTB1        FOR 
      RSS               .ENTR TEST
* 
INNTP NOP           INSERTS 
      NOP             FOR 
      RAM .ENTP         .ENTP 
      DEF TTB1            TEST
* 
PMMTN JSB *+1,I     INSERT FOR TRAP CELL
      DEF MPCHK       OF MEMORY PROTECT, IF MEM.
*                                 PROTECT IS USED.
TRHLT OCT 106077    INSERT FOR TRAP CELL OF MEM.
*                                 PROTECT, IF IT IS NOT USED. 
MPTES BSS 1 
MPIND BSS 1 
INTAD BSS 1 
INTN1 BSS 1 
PSBHD DEF SBHED 
PSBBS DEF SBBAS 
B10   OCT 10
AREG  BSS 1 
BREG  BSS 1 
INTID BSS 1 
PDVH1 DEF DVHD1 
PDVB1 DEF DVBS1 
PMLHD DEF MLHED 
PMLBS DEF MLBAS 
PDVHD DEF DVHED 
PDVBS DEF DVBAS 
PMLH1 DEF MLHD1 
PMLB1 DEF MLBS1 
PNTRP BSS 1 
PNTRY DEF ENTRY 
PERMS DEF ERMES 
PDATC DEF DATCK 
PCHEK DEF CHECK 
PXAD2 DEF XADD2 
PMEMT DEF MEMTN 
PR142 DEF E142
PR162 DEF E162
PR163 DEF E163
PPNRS DEF PNRES 
PANRS DEF ANRES 
PBNRS DEF BNRES 
PINTK DEF INTCK 
PPRNN DEF PRNIN 
B60   OCT 60
* 
*  ERROR AND NON-ERROR MESSAGES 
* 
MMS01 ASC 8,H030 .GOTO TEST/
MMS02 ASC 8,H050 .ENTR TEST/
MMS03 ASC 8,H060 .ENTP TEST/
MMS04 ASC 8,H100 .SETP TEST/
MMS08 ASC 8,H140 .XADD TEST/
MMS09 ASC 8,H150 .XSUB TEST/
MMS10 ASC 8,H160 .XMPY TEST/
MMS11 ASC 8,H200 .XDIV TEST/
MMS05 ASC 8,H115 XADD TEST/ 
PERN6 DEF ERNR6 
ERNR6 ASC 2,E115
MMS06 ASC 8,H125 XSUB TEST/ 
PERN7 DEF ERNR7 
ERNR7 ASC 2,E125
MMS07 ASC 8,H135 XMPY TEST/ 
PERN8 DEF ERNR8 
ERNR8 ASC 2,E135
MMS12 ASC 8,H215 XDIV TEST/ 
PER12 DEF ERN12 
ERN12 ASC 2,E215
* 
* 
*  BUFFER FOR DATA ERROR MESSAGES FOR 
*         DBLE      XADD      XSUB
*         XMPY      XDIV
*  TESTS. 
* 
RMS00 ASC 8,XXXX DATA ERROR 
      OCT 6412      CR-LF 
      ASC 2,ACT 
RMAC1 ASC 11,XXXXXX  XXXXXX  XXXXXX 
      OCT 6412
      ASC 2,EXP 
RMEX1 ASC 12,XXXXXX  XXXXXX  XXXXXX/
PRAC1 DEF RMAC1 
PREX1 DEF RMEX1 
PERN2 DEF ERNR2 
PERN3 DEF ERNR3 
PERN4 DEF ERNR4 
PERN5 DEF ERNR5 
ERNR2 ASC 2,E140
ERNR3 ASC 2,E150
ERNR4 ASC 2,E160
ERNR5 ASC 2,E200
E144  ASC 2,E144
RMS01 ASC 18,E030 FAILED FOR INDIRECT ADDRESSING/ 
RMS02 ASC 10,E031 FAILED FOR J=0/ 
RMS03 ASC 11,E032 FAILED FOR J=NEG/ 
RMS04 ASC 11,E033 FAILED FOR J>16/
RMS05 ASC 10,E034 FAILED FOR J=8/ 
RMS06 ASC 18,E050 FAILED FOR ACTUAL NR OF PARAM.
      ASC 7,<ALLOWED NR/
RMS07 ASC 18,E051 FAILED FOR ACTUAL NR OF PARAM.
      ASC 7,= ALLOWED NR/ 
RMS08 ASC 18,E052 FAILED FOR ACTUAL NR OF PARAM.
      ASC 7,> ALLOWED NR/ 
* 
*  BUFFER TO OUTPUT ERROR MESSAGE "NO CHECK ON MEM PROT VIOLATION"
* 
* 
RMS09 ASC 18,XXXX NO CHECK ON MEM PROT VIOLATION/ 
E053  ASC 2,E053
E104  ASC 2,E104
E145  ASC 2,E145
PR145 DEF E145
PR053 DEF E053
PR104 DEF E104
* 
RMS10 ASC 18,E060 FAILED FOR ACTUAL NR OF PARAM.
      ASC 7,< ALLOWED NR/ 
RMS11 ASC 15,E100 A-REG. NOT=0 UPON RETURN/ 
RMS12 ASC 17,E101 B-REG. DOES NOT CONTAIN LAST
      ASC 11,ADDRESS+1 UPON RETURN/ 
RMS13 ASC 14,E102 INCORRECT VALUE STORED/ 
RMS14 ASC 16,E103 MORE LOCATIONS FILLED THAN
      ASC 5,REQUESTED/
RMS17 ASC 17,E054 RETURN ADDRESS NOT STORED IN
      ASC 9,CORRECT LOCATION/ 
* 
*  BUFFER TO OUTPUT "OVERFLOW NOT SET". 
* 
RMS18 ASC 11,XXXX OVERFLOW NOT SET/ 
E141  ASC 2,E141
E161  ASC 2,E161
E201  ASC 2,E201
PR141 DEF E141
PR161 DEF E161
PR201 DEF E201
* 
* 
* 
RMS20 ASC 16,E055 RETURN ADDR. NOT IN A-REG/
RMS21 ASC 15,E056 INCORRECT ADDR. IN B-REG/ 
* 
*  BUFFER TO OUTPUT "OVERFLOW SET"
* 
RMS22 ASC 9,XXXX OVERFLOW SET/
E143  ASC 2,E143
PR143 DEF E143
* 
* 
****************RMS25 MESSAGE ON OTHER PAGE 
* 
PT18  DEF TB18
PXST6 DEF XSTP6 
PXST4 DEF XSTP4 
PR105 DEF E105
PR106 DEF E106
PR107 DEF E107
PR110 DEF E110
* 
* USED FOR INTERRUPT TEST OF .SETP
* 
CNT1  DEF CNT2,I
CNT2  DEF CNT3,I
CNT3  DEF CNT 
CNT   DEC 31
* 
* 
PXS10 DEF XST10 
PXS11 DEF XST11 
PXS15 DEF XST15 
PNTR4 DEF NNTR4 
      HED SUBROUTINES 
* 
*  SUBROUTINE TO PRINT "OVERFLOW SET" 
*  ENTER WITH (B)=POINTER TO ERROR NUMBER STRING
* 
PROVS NOP 
      LDA B,I       MOVE
      STA RMS22      ERROR
      INB             NUMBER
      LDA B,I          INTO 
      STA RMS22+1       MESSAGE BUFFER. 
* 
      JSB ERMS,I    PRINT ERROR MESSAGE.
      DEF RMS22 
      JMP PROVS,I   EXIT. 
* 
* 
* 
* 
* 
      HED TEST DATA TABLES
* 
* 
********************************************************************
*  TABLE FOR XDIV TESTS 
********************************************************************
* 
DVHED EQU * 
      DEC 17        NR. OF TABLE ENTRIES. EACH ENTRY
*                                   CONSISTS OF 9 WORDS.
* 
* 
*  FIRST 3 WORDS  - 1ST OPERAND 
*  SECOND 3 WORDS - 2ND OPERAND 
*  LAST 3 WORDS   - EXPECTED OUTPUT 
* 
DVBAS EQU * 
      OCT 062646    +0.412336000120E+34 
      OCT 007535
      OCT 145340
* 
      OCT 042272    +0.900813201144E+07 
      OCT 001001
      OCT 073460
* 
      OCT 057250    +0.457737519385E+27 
      OCT 066051
      OCT 066662
* 
* 
      OCT 072235    +0.881109231566E+25 
      OCT 022130
      OCT 030646
* 
      OCT 071116    +0.234100876999E+06 
      OCT 116020
      OCT 060044
* 
      OCT 040512    +0.376380149815E+20 
      OCT 121346
      OCT 140204
* 
* 
      OCT 056370    +0.511110388901E+14 
      OCT 067242
      OCT 060534
* 
      OCT 076377    +0.399994678903E+04 
      OCT 111406
      OCT 020030
* 
      OCT 057463    +0.127779297041E+11 
      OCT 173575
      OCT 001104
* 
* 
      OCT 070262    +0.721269304566E+04 
      OCT 142655
      OCT 141432
* 
      OCT 057544    +0.119238671105E+02 
      OCT 012160
      OCT 105410
* 
      OCT 045634    +0.604895457055E+03 
      OCT 123625
      OCT 107024
* 
* 
      OCT 045015    +0.666998765432E+18 
      OCT 037276
      OCT 175170
* 
      OCT 047362    +0.222213812456E+17 
      OCT 035177
      OCT 110156
* 
      OCT 074020    +0.300160803715E+02 
      OCT 073537
      OCT 073012
* 
* 
      OCT 052443    +0.991134896977E-08 
      OCT 044560
      OCT 156715
* 
      OCT 076717    +0.239967811234E-03 
      OCT 167465
      OCT 171751
* 
      OCT 053236    +0.413028269033E-04 
      OCT 044516
      OCT 013345
* 
* 
      OCT 054147    +0.221007761103E+02 
      OCT 030732
      OCT 044012
* 
      OCT 064254    +0.113489002136E-16 
      OCT 152477
      OCT 004221
* 
      OCT 066032    +0.194739364118E+19 
      OCT 020313
      OCT 130572
* 
* 
      OCT 074025    +0.388012009141E-24 
      OCT 075200
      OCT 021537
* 
      OCT 042534    +0.211678009126E-02 
      OCT 153241
      OCT 162361
* 
      OCT 067314    +0.183302937676E-21 
      OCT 140567
      OCT 137561
* 
* 
      OCT 064401    +0.336015800197E+04 
      OCT 041626
      OCT 104430
* 
      OCT 070140    +0.911697334097E+04 
      OCT 014152
      OCT 032742
* 
      OCT 073632    +0.368560691832E-30 
      OCT 151411
      OCT 020467
* 
* 
      OCT 045430    +0.216450126987E+20 
      OCT 121027
      OCT 121202
* 
      OCT 131634    -0.111161366901E-08 
      OCT 044430
      OCT 027707
* 
      OCT 101052    -0.194717043359E+29 
      OCT 142161
      OCT 132274
* 
* 
      OCT 104244    -0.880691123011E+22 
      OCT 161600
      OCT 047222
* 
      OCT 041315    +0.334011980776E+02 
      OCT 064725
      OCT 116414
* 
      OCT 106646    -0.263670518933E+21 
      OCT 130440
      OCT 020610
* 
* 
      OCT 065170    +0.665431209112E+01 
      OCT 007764
      OCT 106006
* 
      OCT 102772    -0.346801235431E-11 
      OCT 165764
      OCT 175665
* 
      OCT 110120    -0.191876827741E+13 
      OCT 017746
      OCT 013522
* 
* 
      OCT 040240    +0.200012067011E+29 
      OCT 116103
      OCT 161676
* 
      OCT 136726    -0.999803245095E+25 
      OCT 126231
      OCT 031650
* 
      OCT 101367    -0.200051428111E+04 
      OCT 142601
      OCT 025426
* 
* 
      OCT 120520    -0.666301256707E+16 
      OCT 014773
      OCT 034552
* 
      OCT 055365    +0.200019760222E+15 
      OCT 056540
      OCT 144140
* 
      OCT 136540    -0.333117715953E+02 
      OCT 057571
      OCT 032414
* 
* 
      OCT 060543    +0.345990123677E-12 
      OCT 033503
      OCT 072657
* 
      OCT 121570    -0.110302660799E-04 
      OCT 127430
      OCT 003341
* 
      OCT 136243    -0.313673415647E-07 
      OCT 117441
      OCT 137321
* 
* 
      OCT 131643    -0.555610345980E-09 
      OCT 031347
      OCT 160305
* 
      OCT 045777    +0.996110388604E+07 
      OCT 043761
      OCT 065060
* 
      OCT 137661    -0.557779893008E-16 
      OCT 037111
      OCT 013627
* 
                                                                        