      OCT 177652                LO MANTISSA+EXP 
      OCT 077777    *TEST VALUE #3 - HI MANTISSA                        TAB  470
      OCT 177400                  - LO MANTISSA                         TAB  480
      OCT 033333                  - EXPONENT                            TAB  490
      OCT 077777    RESULT #3 - HI MANTISSA                             TAB  500
      OCT 177733              - LO MANTISSA+RES. EXP                    TAB  510
      HED TEST # 18 - .PACK TESTS.
*****                     *****                                         .PACK010
*   TEST # 18 - .PACK TESTS.   *
*****                     *****                                         .PACK030
TST18 EQU * 
      NOP           RETURN ADDRESS                                      .PACK050
      JSB MSGC,I   OUTPUT TEST HEADER MESSAGE 
      DEF MMS15 
      LDA TST3      OBTAIN LOOP COUNT                                   .PACK060
      STA CNTR      SET UP LOOP COUNTER                                 .PACK070
      LDA TSTA2     OBTAIN TABLE POINTER                                .PACK080
RPT2  STA TST31     RUNNING TABLE POINTER                               .PACK090
      ADA .+2 
      LDB 0,I       OBTAIN THE EXPONENT                                 .PACK110
      STB PACK1     SET UP THE PARAMETER(EXP) 
      ADA .+2 
      STA TST32                                                         .PACK140
      DLD TST31,I   LOAD THE TEST VALUE(NO EXPONENT)                    .PACK150
      RAM .PACK     CALL TO .PACK MICRO-ROUTINE 
PACK1 BSS 1         EXPONENT PARAMETER
      STA XBUF     SAVE ACTUAL VALUE PART 1 
      STB XBUF+1   SAVE ACTUAL VALUE PART 2 
      LDA TST32 
      ADA .-1 
      LDA A,I       GET EXPECTED HI MANTISSA
      CPA XBUF      VERIFY HI MANTISSA
      JMP PACK3     OK! 
      LDA XBUF      ERROR. RESTORE (A)
      JMP PACK2     GO TO ERROR ROUTINE.
* 
PACK3 CPB TST32,I VERIFY ACT. LO MANT.+EXP. 
      JMP ARD2      EQUAL CONDITION- RESULT VERIFIED                    .PACK190
* 
*     OUTPUT ACTUAL AND EXPECTED RESULTS
* 
*     CONVERT ACTUAL VALUE TO ASCII.
PACK2 JSB ASCII,I   CONVERT HI MANTISSA TO ASCII
      DEF ACTUL+5 
      CPB 0        SWITCHING POINT
      JMP *+3 
      LDA XBUF+1
      JMP *-5         EXPONENT TO ASCII 
      LDB ACT5
      STB *-6 
*     CONVERT EXPECTED VALUE TO ASCII.
      LDB TST32,I  ACTUAL LO MANTISSA + EXP 
      LDA TST32    POINTER TO LO MANTISSA+EXP 
      ADA .-1  PTR POINTS TO HI MANT. 
      LDA 0,I      OBTAIN  HI MANTISSA
      JSB ASCII,I  CONVERT HI MANTISSA TO ASCII 
      DEF EXPCT+5 
      CPB 0        SWITCHING POINT
      JMP *+3 
      LDA 1        PREPARE LO MANTISSA + EXP
      JMP *-5         FOR ASCII CONVERSION
      LDB EXP5
      STB *-6 
      DLD XBUF     LOAD ACTUAL VALUES 
      JSB ERMS,I   OUTPUT ERROR MESSAGE 
      DEF ERM15    ERROR MESSAGE BUFFER POINTER 
      LDA TST32 
      ADA .-1 
      DLD 0,I       LOAD EXPECTED VALUES
      JSB XINV2,I   DISPLAY EXPECTED VALUES IN REG. A & B 
      JSB DSPLY,I    OUTPUT ACTUAL & EXPECTED VALUES
ARD2  ISZ CNTR      CHECK EXIT CONDITION                                .PACK 
      JMP ARD20     JUMP AROUND 
EXT14 JMP TST18,I     RETURN
ARD20 LDA TST32     OBTAIN RESULT POINTER 
      INA           UPDATE THE POINTER                                  .PACK320
      JMP RPT2      LOOP BACK                                           .PACK330
MMS15 ASC 8,H240 .PACK TEST/
ERM15 ASC 12,E240 .PACK DATA ERROR/ 
TST31 BSS 1 
TST32 BSS 1 
TSTA2 DEF TST30 
      HED TEST TABLE FOR FLUN TESTS.
*****                        *****                                      TAB  210
*   TEST TABLE FOR FLUN TESTS.   *                                      TAB  220
*****                        *****                                      TAB  230
TST2  DEC -2        NUMBER OF TEST VALUES IN THE TABLE                  TAB  240
TST2A EQU *   TABLE ENTRY ADDRESS 
      OCT 177777    *TEST VALUE #1 - LO MANTISSA+EXPONENT               TAB  260
      OCT 177400    UNPACKED LO MANTISSA                                TAB  270
      OCT 177777    UNPACKED EXPONENT(NEGATIVE)                         TAB  280
      OCT 177776    *TEST VALUE #2 - LO MANTISSA+EXPONENT               TAB  290
      OCT 177400    UNPACKED MANTISSA                                   TAB  300
      OCT 000177    UNPACKED EXPONENT(POSITIVE)                         TAB  310
      HED TEST # 19 - FLUN TESTS. 
*****                    *****                                          FLUN 010
*   TEST # 19 - FLUN TESTS.   * 
*****                    *****                                          FLUN 030
TST19 EQU * 
      NOP           RETURN ADDRESS                                      FLUN 050
      JSB MSGC,I   OUTPUT TEST HEARDER MESSAGE
      DEF MMS16 
      LDA TSTA3     ACCESS TABLE POINTER                                FLUN 060
      LDB TST2      OBTAIN TEST VALUE LOOP COUNT                        FLUN 070
      STB  CNTR     SET UP LOOP COUNTER                                 FLUN 080
RPT3  LDB 0,I       LO MANTISSA+EXPONENT IN REGISTER B                  FLUN 100
      INA           ADJUST POINTER - POINT TO UNPACKED RESULT           FLUN 110
      STA TST2B     SAVE ADJUSTED POINTER 
      RAM FLUN      CALL TO FLUN MICRO-ROUTINE                          FLUN 130
      STA XBUF     SAVE ACTUAL VALUE PART 1 
      STB XBUF+1   SAVE ACTUAL VALUE PART 2 
      CPB TST2B,I   VERIFY UNPACKED LO MANTISSA 
      JMP *+2       VERIFIED CORRECTLY(EQUAL)                           FLUN 150
      JMP ERR15     JUMP TO ERROR ROUTINE(NOT EQUAL)                    FLUN 160
      LDB TST2B    OBTAIN TABLE POINTER-RESULT PTR. 
      INB           ADJUST POINTER - POINT TO UNPACKED EXPONENT         FLUN 180
      CPA 1,I       VERIFY UNPACKED EXPONENT                            FLUN 190
      JMP ARD3          VERIFIED CORRECTLY(EQUAL) 
      LDB XBUF+1  RELOAD ACTUAL LO MANT.
ERR15 STA TEMP
      LDA B 
      LDB TEMP
      JSB ASCII,I  CONVERT TO ASCII 
      DEF ACTUL+5     ASCII 
      CPB 0        SWITCH POINT 
      JMP *+3 
      LDA 1        CONVERT ACTUAL LO MANTISSA +EXP
      JMP *-5         TO ASCII
      LDB ACT5
      STB *-6 
      LDB TST2B 
      LDA B,I 
      INB 
      LDB B,I  CONVERT EXPECTED LO MANT.
      JSB ASCII,I  MANTISSA TO ASCII
      DEF EXPCT+5 
      CPB 0        SWITCH POINT 
      JMP *+3 
      LDA 1 
      JMP *-5 
      LDB EXP5
      STB *-6 
      DLD XBUF    LOAD ACTUAL VAL.- WORDS 1 & 2 
      JSB ERMS,I   OUTPUT ERROR MESSAGE 
      DEF ERM16 
      LDA TST2B 
      ADA .-1 
      DLD 0,I       LOAD EXPECTED VALUES
      JSB XINV2,I   DISPLAY EXPECTED VALUES IN REG. A & B 
      JSB DSPLY,I   OUTPUT ACTUAL & EXPECTED VALUES 
ARD3  ISZ CNTR      CHECK EXIT CONDITION
      JMP ARD30     SKIP AROUND 
EXT15 JMP TST19,I     RETURN
ARD30 LDA TST2B  OBTAIN CURRENT TABLE POINTER 
      ADA .+2 
      JMP RPT3                                                          FLUN 330
ERM16 ASC 11,E250 FLUN DATA ERROR/
MMS16 ASC 8,H250 FLUN TEST/ 
TSTA3 DEF TST2A 
TST2B BSS 1 
      HED TEST TABLE FOR .XPAK TESTS. 
*****                         *****                                     TAB  520
*   TEST TABLE FOR .XPAK TESTS.   *                                     TAB  530
*****                         *****                                     TAB  540
TST4  DEC -4        NUMBER OF TEST VALUES IN THE TABLE                  TAB  550
TST40 EQU *         TABLE ENTRY ADDRESS                                 TAB  560
      OCT 000376    *TEST VALUE #1 - EXPONENT(POS)                      TAB  570
      OCT 070707                  - HI MANTISSA                         TAB  580
      OCT 107070                  - MID MANTISSA                        TAB  590
      OCT 070400                  - LO MANTISSA                         TAB  600
      OCT 077777    RESULT #1 - HI MANTISSA 
      OCT 177777              - MID MANTISSA
      OCT 177776              - LOW MANTISSA + EXP
      OCT 177653    *TEST VALUE #2 - EXPONENT(NEG)                      TAB  640
      OCT 070707                  - HI MANTISSA                         TAB  650
      OCT 107070                  - MID MANTISSA                        TAB  660
      OCT 070400                  - LO MANTISSA+EXP                     TAB  670
      OCT 070707    RESULT #2 - HI MANTISSA                             TAB  680
      OCT 107070              MID MANTISSA                              TAB  690
      OCT 070527              - LO MANTISSA+EXP                         TAB  700
      OCT 000146    *TEST VALUE #3 - EXPONENT                           TAB  710
      OCT 070707                  - HI MANTISSA                         TAB  720
      OCT 107070                  - MID MANTISSA                        TAB  730
      OCT 070400                  - LO MANTISSA                         TAB  740
      OCT 070707    RESULT #3 - HI MANTISSA                             TAB  750
      OCT 107070              MID MANTISSA                              TAB  760
      OCT 070714              - LO MANTISSA+EXP                         TAB  770
      OCT 000777    *TEST VALUE #4 - EXPONENT                           TAB  780
      OCT 070707                  - HI MANTISSA                         TAB  790
      OCT 107070                  - MID MANTISSA                        TAB  800
      OCT 070400                  - LO MANTISSA                         TAB  810
      OCT 077777    RESULT #4 - HI MANTISSA 
      OCT 177777              - MID MANTISSA
      OCT 177776              LOW MANTISSA + EXP
      HED TEST # 20 - .XPAK TESTS.
*****                    *****                                          .XPAK 10
*   TEST # 20 - .XPAK TESTS.   *
*****                    *****                                          .XPAK 40
TST20 EQU * 
      NOP           RETURN ADDRESS                                      .XPAK 50
      JSB MSGC,I   OUTPUT TEST HEADER MESSAGE 
      DEF MMS17 
      LDA TSTA4                                                         .XPAK 60
      STA TST41     ESTABLISH A RUNNING POINTER                         .XPAK 70
      LDB TST4      OBTAIN LOOP COUNT                                   .XPAK 80
      STB CNTR      ESTABLISH A LOOP COUNTER                            .XPAK 90
RPT4  INA           BUMP POINTER                                        .XPAK100
      STA TEMP
      JSB XCOPY,I   JUMP TO MOVE DATA WORD ROUTINE
      DEF TEMP
      DEF XBUF      DESTINATION COPY ADDRESS
      OCT 3         WORD COUNT
      ADA .+3 
      STA TST42     SET UP ADDRESS OF RESULT IN TST4
      LDA TST41,I   OBTAIN EXPONENT OF TEST VALUE                       .XPAK150
      RAM .XPAK     CALL .XPAK MICRO-ROUTINE                            .XPAK160
      DEF XBUF      ADDRESS PARAMETER OF TEST VALUE 
      JSB COMP,I    JUMP TO VALUE COMPARISON ROUTINE
      DEF ERR16     ERROR RETURN ADDRESS
      DEF TST42     SOURCE COMPARE POINTER
      DEF XBUF      DESTINATION COMPARE ADDRESS 
      OCT 3         WORD COUNT
      JMP ARD4      OK - SKIP AROUND
ERR16 LDA .-3 
      STA XBUF+3    SET UP A LOOP COUNTER 
      LDB XBUFR    OBTAIN ACTUAL RESULT AREA ADDRESS
      LDA 1,I      OBTAIN ACTUAL VALUE
      JSB ASCII,I  CONVERT ACTUAL VALUE TO ASCII
      DEF ACTUL+5 
      INB 
      ISZ XBUF+3   DECREMENT LOOP COUNT & CHECK FOR 
      JMP *-5        EXIT CONDITION 
      LDB ACT5
      STB *-5 
      LDA .-3 
      STA XBUF+3
      LDB TST42    ADDRESS OF EXPECTED VALUE AREA 
      LDA 1,I      EXPECTED  VALUE
      JSB ASCII,I  CONVERT EXPECTED VALUE TO ASCII
      DEF EXPCT+5 
      INB 
      ISZ XBUF+3   DECREMENT LOOP COUNT & CHECK FOR 
      JMP *-5        EXIT CONDITION 
      LDB EXP5
      STB *-5 
      DLD XBUF  LOAD ACTUAL VALUE- WORDS 1 & 2
      JSB ERMS,I   OUTPUT ERROR MESSAGE 
      DEF ERM17 
      JSB SHLTC,I     SET HALT CODE 
      LDA XBUF+2   LOAD ACTUAL VAL. - WORD 3
      CLB 
      JSB XINV2,I   DISPLAY ACTUAL VAL-WORD 3 
      JSB RHLTC,I   RESTORE HALT CODE 
      JSB XINV3,I   REGISTER DISPLAY OF EXPECTED VALUES 
      DEF TST42,I 
      JSB DSPLY,I   OUTPUT ACTUAL & EXPECTED VALUES 
ARD4  ISZ CNTR      CHECK FOR EXIT CONDITION
      JMP *+2  SKIP AROUND
EXT16 JMP TST20,I     RETURN
      LDA TST42                                                         .XPAK480
      ADA .+3  MOVE TST42 TO NEXT SET OF TEST VALUE 
      STA TST41     UPDATE THE VALUE POINTER                            .XPAK500
      JMP RPT4      LOOP BACK                                           .XPAK510
ERM17 ASC 12,E260 .XPAK DATA ERROR/ 
MMS17 ASC 8,H260 .XPAK TEST/
TSTA4 DEF TST40 
TST41 BSS 1 
TST42 BSS 1 
LABLC EQU * 
      ORG 170B
ADJ   BSS 1 
XBUF  BSS 4 
XBUFR DEF XBUF
      ORG LABLC 
      HED TEST TABLE FOR .XCOM TESTS. 
*****                        *****                                      TAB  080
*   TEST TABLE FOR .XCOM TESTS.   *                                     TAB  090
*****                        *****                                      TAB  100
TST6  DEC -3        NUMBER OF TEST VALUES IN THE TABLE                  TAB  110
TST60 EQU *         TABLE ENTRY ADDRESS                                 TAB  120
      OCT 052525    *TEST VALUE #1 - HI MANTISSA                        TAB  130
      OCT 052525                  - MID MANTISSA                        TAB  140
      OCT 052400                  - LO MANTISSA(NO EXPONENT)            TAB  150
      OCT 000000    RESULT #1 - ADJUSTMENT TO EXPONENT                  TAB  160
      OCT 125252              - HI MANTISSA                             TAB  170
      OCT 125252              - MID MANTISSA                            TAB  180
      OCT 125400              - LO MANTISSA                             TAB  190
      OCT 177777    *TEST VALUE #2 - HI MANTISSA                        TAB  200
      OCT 177777                  - MID MANTISSA                        TAB  210
      OCT 177400                  - LO MANTISSA(NO EXOPNENT)            TAB  220
      OCT 000000    RESULT #2 - ADJUSTMENT TO EXPONENT                  TAB  230
      OCT 000000              - HI MANTISSA                             TAB  240
      OCT 000000              - MID MANTISSA                            TAB  250
      OCT 000400              LO MANTISSS                               TAB  260
      OCT 000000    *TEST VALUE #3 - HI MANTISSA                        TAB  270
      OCT 000000                  - MID MANTISSA                        TAB  280
      OCT 000000                  - LO MANTISSA                         TAB  290
      OCT 000000    RESULT #3 - ADJUSTMENT TO EXP 
      OCT 000000              - HI MANTISSA                             TAB  310
      OCT 000000              - MID MANTISSA                            TAB  320
      OCT 000000      - LO MANTISSA                                     TAB  330
      HED TEST #21 - .XCOM TESTS. 
*****                    *****                                          .XCOM 10
*   TEST # 21 - .XCOM TESTS.
*****                    *****                                          .XCOM 30
TST21 NOP 
      JSB MSGC,I   OUTPUT TEST HEADER MESSAGE 
      DEF MMS18 
      LDA TST6      OBTAIN LOOP COUNT                                   .XCOM 50
      STA CNTR      SET UP THE LOOP COUNTER 
      LDA TSTA5     OBTAIN ADDRESS OF TABLE ENTRY 
RPT5  STA TST61     SET UP ADDRESS PARAMETER
      ADA .+3 
      STA TST62     POINTER TO RESULT                                   .XCOM110
      JSB XCOPY,I  JUMP TO MOVE DATA ROUTINE
      DEF TST61    SOURCE COPY ADDRESS
      DEF XBUF     DESTINATION COPY ADDRESS 
      OCT 3 
      RAM .XCOM     CALL TO .XCOM MICRO-ROUTINE                         .XCOM120
      DEF XBUF     ADDRESS PARAMETER
      STA ADJ      SAVE RETURNED ADJUSTMENT TO EXP
      JSB COMP,I   JUMP TO COMPARISON ROUTINE 
      DEF ERR17    ERROR RETURN ADDRESS 
      DEF TST62     SOURCE COMPARE POINTER
      DEF ADJ      DESTINATION COMPARE ADDRESS
      OCT 4        WORD COUNT 
      JMP ARD5
ERR17 JSB CNVRT,I 
      DEF ADJ 
      DEF TST62 
      OCT 4 
      LDA ADJ   EXPONENT ADJUSTMENT 
      LDB XBUF  ACTUAL VAL. - WORD 1
      JSB ERMS,I    JUMP TO ERROR MESSAGE HANDLER                       .XCOM370
      DEF ERM18 
      JSB SHLTC,I   SET HALT CODE 
      DLD XBUF+1
      JSB XINV2,I   OUTPUT WORDS 2 & 3
      JSB RHLTC,I   RESTORE HALT CODE 
      LDA TST62,I 
      LDB TST62 
      INB 
      STB TST61 
      JSB XINV4,I   REG. DISPLAY OF EXPECTED VALUES 
      DEF TST61,I 
      JSB DSPLY,I   OUTPUT ACTUAL & EXPECTED VALUES 
ARD5  ISZ CNTR      CHECK FOR EXIT CONDITION                            .XCOM420
      JMP *+2       JUMP AROUND 
EXT17 JMP TST21,I     RETURN
      LDA TST62 
      ADA .+4  ADJUST TEST TABLE POINTER
      JMP RPT5      LOOP BACK                                           .XCOM470
ERM18 ASC 12,E300 .XCOM DATA ERROR/ 
MMS18 ASC 8,H300 .XCOM TEST/
TSTA5 DEF TST60 
TST61 BSS 1 
TST62 BSS 1 
      HED TEST TABLE FOR ..DCM TESTS. 
*****                         *****                                     TAB  850
*   TEST TABLE FOR ..DCM TESTS.   *                                     TAB  860
*****                         *****                                     TAB  870
TST5  DEC -3        NUMBER OF TEST VALUSS IN THE TABLE                  TAB  880
TST50 EQU *         TABLE ENTRY ADDRESS                                 TAB  890
      OCT 000000    *TEST VALUE #1 - HI MANTISSA                        TAB  900
      OCT 000000                  - MID MANTISSA                        TAB  910
      OCT 000377                  - LO MANTISSA+EXPONENT(NEGATIVE)      TAB  920
      OCT 000000    RESULT #1 - HI MANTISSA 
      OCT 000000              - MID MANTISSA
      OCT 000000              - LO MANTISSA + EXP 
      OCT 177777    *TEST VALUE #2 - HI MANTISSA                        TAB  960
      OCT 177777                  - MID MANTISSA                        TAB  970
      OCT 177777                  - LO MANTISSA+EXOONENT                TAB  980
      OCT 040000    RESULT #2 - HI MANTISSA 
      OCT 000000              - MID MANTISSA                            TAB  000
      OCT 000263              - LO MANTISSA + EXP 
      OCT 000000    *TEST VALUE #3 - HI MANTISSA(NEGATIVE)              TAB  020
      OCT 000000                  - MID MANTISSA                        TAB  030
      OCT 000376                  - LO MANTISSA+EXPONENT(POSITIVE)      TAB  040
      OCT 000000    RESULT #3 - HI MANTISSA 
      OCT 000000                  - MID MANTISSA O.K.                   TAB  060
      OCT 000000                  - EXPONENT OVERFLOWED                 TAB  070
      HED TEST # 22 - ..DCM TESTS.
*****                     *****                                         ..DCM 10
*   TEST # 22 - ..DCM TESTS.   *
*****                     *****                                         ..DCM 30
TST22 NOP 
      JSB MSGC,I   OUTPUT TEST HEADER MESSAGE 
      DEF MMS19 
      LDA TST5      OBTAIN LOOP COUNT                                   ..DCM 60
      STA CNTR      SET UP A LOOP COUNTER                               ..DCM 70
      LDA TSTA6 
RPT6  STA TST51     TEST VALUE ADDRESS PARAMETER                        ..DCM100
      ADA .+3 
      STA TST52     SET UP RESULT POINTER                               ..DCM130
      JSB XCOPY,I  MOVE TEST VALUES INTO BUFFER 
      DEF TST51    SOURCE COPY ADDRESS
      DEF XBUF     DESTINATION COPY ADDRESS 
      OCT 3        WORD COUNT 
      RAM ..DCM     CALL TO ..DCM MICRO-ROUTINE                         ..DCM140
      DEF XBUF      ADDRESS PARAMETER OF TEST VALUE 
      JSB COMP,I   VALUE COMPARISONS
      DEF ERR18    ERROR RETURN ADDRESS 
      DEF TST52     SOURCE COMPARE POINTER
      DEF XBUF     DESTINATION COMPARE ADDRESS
      OCT 3        WORD COUNT 
      JMP ARD6
ERR18 JSB CNVRT,I 
      DEF XBUF     ACTUAL VALUE BUFFER ADDRESS
      DEF TST52 
      OCT 3        WORD COUNT 
      DLD XBUF   LOAD ACTUAL VAL. - WORDS 1 & 2 
      JSB ERMS,I    JUMP TO ERROR MESSAGE HANDLER                       ..DCM350
      DEF ERM19 
      JSB SHLTC,I   SET HALT CODE 
      LDA XBUF+2
      CLB 
      JSB XINV2,I   DISPLAY ACT. VAL. WORD 3
      JSB RHLTC,I   RESTORE HALT CODE 
      JSB XINV3,I   REG. DISPLAY OF EXPECTED VALUES 
      DEF TST52,I 
      JSB DSPLY,I   OUTPUT ACT. & WXP. VALUES 
ARD6  ISZ CNTR      CHECK FOR EXIT CONDITION
      JMP *+2       SKIP AROUND 
                                                                                                                                            