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