ASMB,L,C
*&FFPD1 
* 
* THIS MODULE TESTS FFP ROUTINES DBLE,SNGL,..DCM,PWR2,.FLUN,
* .PACK, .XPAK,.XCOM, AND DDINT.
* THE ONLY ENTRY POINT IS TST12, AND EXTS ARE TO FFPD3,HFAUX. 
* 
*CREATED  781127
* EDITED  781218  TO MAKE DEFS+0, REMOVE R.R ENT
* 
* LAST CODE CHANGE  781218 1235  CC 
* 
* 
      NAM FFPD1     790121 2420  REV 1913  CC 
* 
      ENT TST12 
      EXT MSGI,STSTE,TSTDI
      EXT TINIT 
      EXT B.R,R.RM1,R.RN1,RM.M0 
      EXT M.M0,M.RM0
      EXT R%M1
      EXT M%M1
      SUP 
* 
* 
* 
* 
* INSTRUCTIONS
* 
      MIC DBE,105201B,0 
      MIC SGL,105202B,0 
      MIC XPK,105206B,0 
      MIC XCM,105215B,0 
      MIC DCM,105216B,0 
      MIC DDN,105217B,0 
      MIC PWR,105225B,0 
      MIC FLN,105226B,0 
      MIC PCK,105230B,0 
* 
* 
      SKP 
* 
* 
* 
* THIS TEST TESTS FFP MICROCODE, PART 2 
* 
*S
TST12 EQU * 
TSTF1 NOP 
      JSB MSGI      "FFP2 TEST" 
      DEF MSGF1 
      JSB TINIT 
* 
      JSB STSTE     EXECUTE SUBTESTS
      OCT -1        ALL SUBTESTS ON SHORT PASS
      DEF STDBL,I   DBLE
      DEF STSGL,I   SNGL
      DEF STDCM,I   ..DCM 
      DEF STPW2,I   PWR2
      DEF STFLN,I   .FLUN 
      DEF STPCK,I   .PACK 
      DEF STXPK,I   .XPAK 
      DEF STXCM,I   .XCOM 
      DEF STDDI     DDINT 
      JMP TSTF1,I   DONE
* 
* 
MSGF1 ASC 6,FFP1 TEST //
* 
* 
* 
      SKP 
* DBLE TEST 
* 
*S
STDBL NOP 
      JSB TSTDI     CALL GEN. ROUTINE WITH PARMS
      DEF MSDBL     MESSAGE 
      DBE           OPCODE
      DEF DBLBF     OPN BUFFER
      DEF M%M1+0    ADDR OF SUBR TO EXECUTE MACRO 
      JMP STDBL,I 
* 
MSDBL ASC 4, DBLE / 
DBLBF OCT 2              EOTYP
*  TABLES FOR DBLE TESTS
********************************************************************
* 
      DEC -9        NR. OF TABLE ENTRIES. EACH ENTRY
*                                   CONSISTS OF 5 WORDS.
*  WORD 1 - 1ST WORD OF INPUT 
*  WORD 2 - 2ND WORD OF INPUT 
*  WORD 3 - 1ST WORD OF EXPECTED OUTPUT 
*  WORD 4 - 2ND WORD OF EXPECTED OUTPUT 
*  WORD 5 - 3RD WORD OF EXPECTED OUTPUT 
* 
* 
      OCT 077777    0.1701412E+39 
      OCT 177776      UPPER BOUNDARY-OUTER RANGE
* 
      OCT 077777    0.170141163178E+39
      OCT 177400
      OCT 000376
      BYT 0,0       RTN,E-0 
* 
* 
      OCT 100000    -0.1701412E+39
      OCT 000376      LOWER BOUNDARY-OUTER RANGE
* 
      OCT 100000    -0.170141183460E+39 
      OCT 0 
      OCT 000376
      BYT 0,0 
* 
* 
      OCT 040000    0.1469368E-38 
      OCT 1           UPPER BOUNDARY-INNER RANGE
* 
      OCT 040000    0.146936793853E-38
      OCT 0 
      OCT 1 
      BYT 0,0 
* 
* 
      OCT 137777    -0.1469369E-38
      OCT 176401      LOWER BOUNDARY-INNER RANGE
* 
      OCT 137777    -0.146936898950E-38 
      OCT 176400
      OCT 1 
      BYT 0,0 
* 
* 
      OCT 076612    0.9046138E+19 
      OCT 053576
* 
      OCT 076612    0.904613845903E+19
      OCT 053400
      OCT 000176
      BYT 0,0 
* 
* 
      OCT 057302    0.7403148E+00 
      OCT 121400
* 
      OCT 057302    0.740314841270E+00
      OCT 121400
      OCT 0 
      BYT 0,0 
* 
* 
      OCT 040762    0.1117218E-18 
      OCT 166205
* 
      OCT 040762    0.111721805266E-18
      OCT 166000
      OCT 000205
      BYT 0,0 
* 
* 
      OCT 115330    -0.2091832E-22
      OCT 060153
* 
      OCT 115330    -0.209183192871E-22 
      OCT 060000
      OCT 000153
      BYT 0,0 
* 
* 
      OCT 131524    -0.2209911E+20
      OCT 006202
* 
      OCT 131524    -0.220991105949E+20 
      OCT 006000
      OCT 000202
      BYT 0,0 
* 
* 
* 
      SKP 
* SNGL TEST 
* 
*S
STSGL NOP 
      JSB TSTDI     CALL GEN. ROUTINE WITH PARMS
      DEF MSSGL     MESSAGE 
      SGL           OPCODE
      DEF SGLBF     OPN BUFFER
      DEF R%M1+0    ADDR OF SUBR TO EXECUTE MACRO 
      JMP STSGL,I 
* 
MSSGL ASC 4, SNGL / 
SGLBF OCT 2              EOTYP
      DEC -22            #OPNS
*  SPECIAL TEST TABLE FOR SNGL TESTS
* 
*  OVERFLOW SHOULD BE SET 
********************************************************************
      OCT 137777    -0.146936793854E-38 
      OCT 177600      LOWER BOUNDARY-INNER RANGE
      OCT 000401
* 
      OCT 0         0.0000000E+00 
      OCT 0 
      BYT 0,1       RTN,E-0 
* 
* 
      OCT 077777    +0.170141163178E+39 
      OCT 177600      UPPER BOUNDARY-OUTER RANGE
      OCT 000376
* 
      OCT 077777    +0.1701412E+39
      OCT 177776
      BYT 0,1 
* 
* 
********************************************************************
*  SPECIAL TEST TABLE FOR SNGL TEST 
* 
*  OVERFLOW SHOULD NOT BE SET 
********************************************************************
* 
      OCT 137777    LOWER BOUNDARY-INNER RANGE
      OCT 177600
      OCT 000001
* 
      OCT 137777
      OCT 177401
      BYT 0,0 
* 
* 
      OCT 077777    UPPER BOUNDARY-OUTER RANGE
      OCT 177577
      OCT 177776
* 
      OCT 077777
      OCT 177776
      BYT 0,0 
* 
* 
*  TABLE FOR SNGL TESTS 
********************************************************************
* 
*  FIRST 3 WORDS  - INPUT 
*  SECOND 2 WORDS - OUTPUT
* 
      OCT 054173    +0.287135603715E+35 
      OCT 000526
      OCT 106346
* 
      OCT 054173    +0.2871356E+35
      OCT 000746
      BYT 0,0 
* 
* 
      OCT 056172    +0.447201649260E+27 
      OCT 124176
      OCT 170262
* 
      OCT 056172    +0.4472016E+27
      OCT 124262
      BYT 0,0 
* 
* 
      OCT 060557    +0.214263410162E+15 
      OCT 105471
      OCT 136540
* 
      OCT 060557    +0.2142634E+15
      OCT 105540
      BYT 0,0 
* 
* 
      OCT 046047    +0.998174653012E+07 
      OCT 114503
      OCT 155460
* 
      OCT 046047    +0.9981746E+07
      OCT 114460
      BYT 0,0 
* 
* 
      OCT 041443    +0.209814274109E+01 
      OCT 176076
      OCT 165004
* 
      OCT 041443    +0.2008143E+01
      OCT 176004
      BYT 0,0 
* 
* 
      OCT 061147    +0.187692645130E-03 
      OCT 127056
      OCT 023351
* 
      OCT 061147    +0.1876926E-03
      OCT 127351
      BYT 0,0 
* 
* 
      OCT 053416    +0.791765024518E-10 
      OCT 032105
      OCT 060677
* 
      OCT 053416    +0.7917650E-10
      OCT 032277
      BYT 0,0 
* 
* 
      OCT 073326    +0.100659253781E-18 
      OCT 062211
      OCT 043603
* 
      OCT 073326    +0.1006593E-18
      OCT 062603
      BYT 0,0 
* 
* 
      OCT 047131    +0.791117549280E-26 
      OCT 033165
      OCT 011525
* 
      OCT 047131    +0.7911175E-26
      OCT 033125
      BYT 0,0 
* 
* 
      OCT 076101    +0.912876403313E-37 
      OCT 014640
      OCT 110413
* 
      OCT 076101    +0.9128764E-37
      OCT 015013
      BYT 0,0 
* 
* 
      OCT 123006    -0.222764026459E+30 
      OCT 136521
      OCT 001304
* 
      OCT 123006    -0.2227640E+30
      OCT 136704
      BYT 0,0 
* 
* 
      OCT 135273    -0.623901549812E+18 
      OCT 123304
      OCT 122570
* 
      OCT 135273    -0.6239015E+18
      OCT 123570
      BYT 0,0 
* 
* 
      OCT 116745    -0.200918547392E+06 
      OCT 027173
      OCT 142044
* 
      OCT 116745    -0.2009186E+06
      OCT 027044
      BYT 0,0 
* 
* 
      OCT 103050    -0.111893657122E-37 
      OCT 114715
      OCT 057405
* 
      OCT 103050    -0.1118937E-37
      OCT 115005
      BYT 0,0 
* 
* 
      OCT 125123    -0.211198476202E-29 
      OCT 162564
      OCT 107075
* 
      OCT 125123    -0.2111985E-29
      OCT 162475
      BYT 0,0 
* 
* 
      OCT 137263    -0.432109685454E-21 
      OCT 110363
      OCT 136565
* 
      OCT 137263    -0.4321097E-21
      OCT 110565
      BYT 0,0 
* 
* 
      OCT 123016    -0.998563210089E-14 
      OCT 131465
      OCT 001245
* 
      OCT 123016    -0.9985632E-14
      OCT 131645
      BYT 0,0 
* 
* 
      OCT 115506    -0.600354780987E-05 
      OCT 172540
      OCT 004737
* 
      OCT 115506    -0.6003548E-05
      OCT 172737
      BYT 0,0 
* 
* 
* 
      SKP 
* 
* 
* ..DCM TEST
* 
*S
STDCM NOP 
      JSB TSTDI     CALL GEN. ROUTINE WITH PARMS
      DEF MSDCM     MESSAGE 
      DCM           OPCODE
      DEF DCMBF     OPN BUFFER
      DEF M.M0+0    ADDR OF SUBR TO EXECUTE MACRO 
      JMP STDCM,I 
* 
MSDCM ASC 4, ..DCM/ 
DCMBF OCT 2              EOTYP
*   TEST TABLE FOR ..DCM TESTS.   * 
*****                         ***** 
      DEC -3        NUMBER OF TEST VALUSS IN THE TABLE
      OCT 000000    *TEST VALUE #1 - HI MANTISSA
      OCT 000000                  - MID MANTISSA
      OCT 000377                  - LO MANTISSA+EXPONENT(NEGATIVE)
      OCT 000000    RESULT #1 - HI MANTISSA 
      OCT 000000              - MID MANTISSA
      OCT 000000              - LO MANTISSA + EXP 
      BYT 0,0       RTN E-O 
* 
      OCT 177777    *TEST VALUE #2 - HI MANTISSA
      OCT 177777                  - MID MANTISSA
      OCT 177777                  - LO MANTISSA+EXOONENT
      OCT 040000    RESULT #2 - HI MANTISSA 
      OCT 000000              - MID MANTISSA
      OCT 000263              - LO MANTISSA + EXP 
      BYT 0,0 
* 
      OCT 000000    *TEST VALUE #3 - HI MANTISSA(NEGATIVE)
      OCT 000000                  - MID MANTISSA
      OCT 000376                  - LO MANTISSA+EXPONENT(POSITIVE)
      OCT 000000    RESULT #3 - HI MANTISSA 
      OCT 000000                  - MID MANTISSA O.K. 
      OCT 000000                  - EXPONENT OVERFLOWED 
      BYT 0,0 
* 
* 
* 
* 
* 
* 
      SKP 
* .PWR2 TEST
* 
*S
STPW2 NOP 
      JSB TSTDI     CALL GEN. ROUTINE WITH PARMS
      DEF MSPW2     MESSAGE 
      PWR           OPCODE
      DEF PW2BF     OPN BUFFER
      DEF R.RM1+0   ADDR OF SUBR TO EXECUTE MACRO 
      JMP STPW2,I 
* 
MSPW2 ASC 4, .PWR2/ 
PW2BF OCT 3              EOTYP
* 
*   TEST TABLE FOR PWR2 TESTS.   *
      DEC -3        NUMBER OF TEST VALUES IN THE TABLE
      OCT 0,177776  *TEST VALUE #1 - HI,LO MANTISSA+EXPONENT
      DEC 1         POWER OF 2=N
      OCT 0,177400  RESULT #1 - EXPONENT OVERFLOWED 
      BYT 0,0       RTN E-O 
* 
      OCT 0,177403  *TEST VALUE #2 - HI,LO MANTISSA+EXPONENT
      DEC -1        POWER 
      OCT 0,177401  RESULT # 2 - EXPONENT UNDERFLOWED 
      BYT 0,0 
* 
      OCT 0,177476  *TEST VALUE # 3 - LO MANTISSA+EXPONENT
      DEC 5         POWER 
      OCT 0,177510  RESULT #3 - NORMAL
      BYT 0,0 
* 
* 
* 
      SKP 
      SKP 
* .FLUN TEST
* 
*S
STFLN NOP 
      JSB TSTDI     CALL GEN. ROUTINE WITH PARMS
      DEF MSFLN     MESSAGE 
      FLN           OPCODE
      DEF FLNBF     OPN BUFFER
      DEF B.R+0     ADDR OF SUBR TO EXECUTE MACRO 
      JMP STFLN,I 
* 
MSFLN ASC 4, .FLUN/ 
FLNBF OCT 3              EOTYP
* 
*   TEST TABLE FOR FLUN TESTS.   *
      DEC -2        NUMBER OF TEST VALUES IN THE TABLE
      OCT 177777    *TEST VALUE #1 - LO MANTISSA+EXPONENT 
      OCT 177777    UNPACKED EXPONENT(NEGATIVE) 
      OCT 177400    UNPACKED LO MANTISSA
      BYT 0,0       RTN E,0 
* 
      OCT 177776    *TEST VALUE #2 - LO MANTISSA+EXPONENT 
      OCT 000177    UNPACKED EXPONENT(POSITIVE) 
      OCT 177400    UNPACKED MANTISSA 
      BYT 0,0 
      SKP 
* .PACK TEST
* 
*S
STPCK NOP 
      JSB TSTDI     CALL GEN. ROUTINE WITH PARMS
      DEF MSPCK     MESSAGE 
      PCK           OPCODE
      DEF PCKBF     OPN BUFFER
      DEF R.RN1+0   ADDR OF SUBR TO EXECUTE MACRO 
      JMP STPCK,I 
* 
MSPCK ASC 4, .PACK/ 
PCKBF OCT 2              EOTYP
* 
*   TEST TABLE FOR .PACK TESTS.   * 
      DEC -2      NUMBER OF TEST VALUES IN TABLE
      OCT 077777    *TEST VALUE #1 - HI MANTISSA
      OCT 177777                  - LO MANTISSA 
      OCT 177777                  - EXPONENT (NEG)
      OCT 040000    RESULT #1 - HI MANTISSA 
      OCT 0                   - LO MANTISSA+EXP 
      BYT 0,0       RTN E-O 
* 
      OCT 077777    *TEST VALUE #2 - HI MANTISSA
      OCT 177252                  - LO MANTISSA 
      OCT 000125                - EXPONENT(POS) 
      OCT 077777    RESULT #2 - HI MANTISSA 
      OCT 177652                LO MANTISSA+EXP 
      BYT 0,0 
* 
      OCT 077777    *TEST VALUE #3 - HI MANTISSA
      OCT 177400                  - LO MANTISSA 
      OCT 033333                  - EXPONENT
      OCT 077777    RESULT #3 - HI MANTISSA 
      OCT 177733              - LO MANTISSA+RES. EXP
      BYT 0,0 
* 
      SKP 
* .XPAK TEST
* 
*S
STXPK NOP 
      JSB TSTDI     CALL GEN. ROUTINE WITH PARMS
      DEF MSXPK     MESSAGE 
      XPK           OPCODE
      DEF XPKBF     OPN BUFFER
      DEF M.RM0+0   ADDR OF SUBR TO EXECUTE MACRO 
      JMP STXPK,I 
* 
MSXPK ASC 4, .XPAK/ 
XPKBF OCT 2              EOTYP
* 
*   TEST TABLE FOR .XPAK TESTS.   * 
      DEC -4        NUMBER OF TEST VALUES IN THE TABLE
      OCT 000376    *TEST VALUE #1 - EXPONENT(POS)
      OCT 070707                  - HI MANTISSA 
      OCT 107070                  - MID MANTISSA
      OCT 070400                  - LO MANTISSA 
      OCT 077777    RESULT #1 - HI MANTISSA 
      OCT 177777              - MID MANTISSA
      OCT 177776              - LOW MANTISSA + EXP
      BYT 0,1       RTN,E-O 
* 
      OCT 177653    *TEST VALUE #2 - EXPONENT(NEG)
      OCT 070707                  - HI MANTISSA 
      OCT 107070                  - MID MANTISSA
      OCT 070400                  - LO MANTISSA+EXP 
      OCT 070707    RESULT #2 - HI MANTISSA 
      OCT 107070              MID MANTISSA
      OCT 070527              - LO MANTISSA+EXP 
      BYT 0,0 
* 
      OCT 000146    *TEST VALUE #3 - EXPONENT 
      OCT 070707                  - HI MANTISSA 
      OCT 107070                  - MID MANTISSA
      OCT 070400                  - LO MANTISSA 
      OCT 070707    RESULT #3 - HI MANTISSA 
      OCT 107070              MID MANTISSA
      OCT 070714              - LO MANTISSA+EXP 
      BYT 0,0 
* 
      OCT 000777    *TEST VALUE #4 - EXPONENT 
      OCT 070707                  - HI MANTISSA 
      OCT 107070                  - MID MANTISSA
      OCT 070400                  - LO MANTISSA 
      OCT 077777    RESULT #4 - HI MANTISSA 
      OCT 177777              - MID MANTISSA
      OCT 177776              LOW MANTISSA + EXP
      BYT 0,1 
* 
      SKP 
* .XCOM TEST
* 
*S
STXCM NOP 
      JSB TSTDI     CALL GEN. ROUTINE WITH PARMS
      DEF MSXCM     MESSAGE 
      XCM           OPCODE
      DEF XCMBF     OPN BUFFER
      DEF RM.M0+0   ADDR OF SUBR TO EXECUTE MACRO 
      JMP STXCM,I 
* 
MSXCM ASC 4, .XCOM/ 
XCMBF OCT 3              EOTYP
* 
*   TEST TABLE FOR .XCOM TESTS.   * 
      DEC -3        NUMBER OF TEST VALUES IN THE TABLE
      OCT 052525    *TEST VALUE #1 - HI MANTISSA
      OCT 052525                  - MID MANTISSA
      OCT 052400                  - LO MANTISSA(NO EXPONENT)
      OCT 000000    RESULT #1 - ADJUSTMENT TO EXPONENT
      OCT 125252              - HI MANTISSA 
      OCT 125252              - MID MANTISSA
      OCT 125400              - LO MANTISSA 
      BYT 0,0       RTN,E-O 
* 
      OCT 177777    *TEST VALUE #2 - HI MANTISSA
      OCT 177777                  - MID MANTISSA
      OCT 177400                  - LO MANTISSA(NO EXOPNENT)
      OCT 000000    RESULT #2 - ADJUSTMENT TO EXPONENT
      OCT 000000              - HI MANTISSA 
      OCT 000000              - MID MANTISSA
      OCT 000400              LO MANTISSS 
      BYT 0,0 
* 
      OCT 000000    *TEST VALUE #3 - HI MANTISSA
      OCT 000000                  - MID MANTISSA
      OCT 000000                  - LO MANTISSA 
      OCT 000000    RESULT #3 - ADJUSTMENT TO EXP 
      OCT 000000              - HI MANTISSA 
      OCT 000000              - MID MANTISSA
      OCT 000000      - LO MANTISSA 
      BYT 0,0 
* 
      SKP 
* DDINT TEST
* 
*S
STDDI NOP 
      JSB TSTDI     CALL GEN. ROUTINE WITH PARMS
      DEF MSDDI     MESSAGE 
      DDN           OPCODE
      DEF DDIBF     OPN BUFFER
      DEF M%M1+0    ADDR OF SUBR TO EXECUTE MACRO 
      JMP STDDI,I 
* 
MSDDI ASC 4, DDINT/ 
DDIBF OCT 2              EOTYP
* 
*   TEST TABLE FOR DDINT TESTS.   * 
      DEC -2       NUMBER OF TEST VALUES IN TABLE 
      OCT 177777   TEST VALUE #1 - HI MANTISSA
      OCT 177777                  MID MANTISSA
      OCT 177436                  - LO MANTISSA+EXPO
      OCT 000000    RESULT #1 - HI MANTISSA 
      OCT 000000              - MID MANTISSA
      OCT 000000             -  LO MANTISSA + EXP 
      BYT 0,0       RTN,E-O 
* 
      OCT 077700   TEST VALUE #2 - HI MANTISSA
      OCT 000000                  - MID MANTISSA
      OCT 000430
      OCT 077700    RESULT #2 - HI MANTISSA 
      OCT 000000              - MID MANTISSA
      OCT 000030              - LO MANTISSA + EXP 
      BYT 0,0 
* 
* 
* 
      END 
                                                                                                                                                                                            