IMD 1.16: 2/09/2008 14:11:25 84-93727-03 a200 f72703 scout cpu test program listing file part 2    @0|)wwЀЀtQql)  " }gA ` MIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIOS4 ME581100208312900811005142850 8110051428501F72703 VOLCPU TEST PROGRAM LISTING FILE PART2   IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII M@jjggg@ o G`k_C# b# }B u[ ]e JRiCCp@<;: F8P@ G;NPCHC C GTqE'ɞ * Cϟx @0DAJL )‘ЀЀΎQBx"  i+ fEB)3 `jmBBI,v  BI,m  @EEFF)D^EF% jH@pOğv g7g4]X] PhV+s=胾c_N GF֞ؾ “@ALS)"$ C k1/j-h p vRw ppwp ki 15 !^\d X %'+Ns愾Q)s ED|{ @$ o O m J K i g. V tsFn`"FED) E`Cnrgy w"N{Rq1H }L2`0tG- Bc (>=MEM 4755 * 4756 ****** 00000B06 4757 H23000 EQU $ 0B06 801B 001B 4758 COPY PT5555,A 0B07 8411 0011 4759 COPY A,TEMP01 0B08 8016 0016 4760 COPY PTFFFF,A 0B09 0705 4761 CSME A,TEMP01 0B0A 0011 0B0B 0E0D  4762 HLT CSME FAILED -- A > TEMP01 (MAG) 0B0C 9E81 0B0E 4763 JMP $+2 0B0D 0E0D 4764 HLT CSME FAILED -- A > TEMP01 (MAG) 4765 * 4766 * CSME X,MEM X OVERFLOW FLAG 00000001 7305+ IFT 1;0 00001332 7305+ FLOAT3 SET $ 00000001 7305+ IFT 1 1332 030C 7305+ FIX -- EXPECT DOUBLE PRECISION RESULT 7305+ ENDC 7305+ ENDC 00000000 7305+  IFF 0 00000001 7305+ IFT 5>0 1333 BA93 1347 7305+ CSK A,=:8000 CHECK -A- 1334 0000 7305+ NOP 1335 0E0D 7305+ HLT -A- SHOULD CONTAIN :8000 1336 4D00 7305+ CSK Q,=:0000 CHECK -Q- 1337 0000 7305+ NOP 1338 0E0D 7305+ HLT  -Q- SHOULD CONTAIN :0000 7305+ ENDC 7305+ ENDC 1339 0020 7305+ COPY X,A FOR TESTING 133A BA32 12ED 7305+ CSK A,=:3333 CHECK -X- 133B 0000  7305+ NOP 133C 0E0D 7305+ HLT FIX MODIFIED -X- 133D 0060 7305+ COPY Y,A FOR TESTING 133E BA2F 12EE 7305+ CSK A,=:0F0F CHECK -Y- 133F 0000 7305+  NOP 1340 0E0D 7305+ HLT FIX MODIFIED -Y- 00000001 7305+ IFT 1 1341 5641 1343 7305+ JT CY,$+2 CARRY SET? 1342 0E0D 7305+ HLT NO-- SHOULD BE SET WHEN DOUBLE PRECISION 1343 36C1 1345 7305+ JF OV,$+2 OVERFLOW RESET? 1344 0E0D 7305+  HLT NO-- SHOULD BE RESET WHEN DOUBLE PRECISION 7305+ ENDC 1345 9E65 132B 7305+  JMP FLOAT1 PATCH FOR LOOPING 1345 0000 7305+ ORG $-1 1PAGE 0293 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:07.75 --FIX-- INSTRUCTION TEST (PART 3-1) 1345 0000 7305+   NOP 00001346 7305+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 1346 0000 7305+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0002 7305+ LPOOL 1347 8000 1348 D000 00001349 7305+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 1346 0000 7305+ ORG  LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1346 9E82 1349 7305+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 1349 0000 7305+ ORG LP::L1 CONTINUE AT END OF LPOOL 7305+ ENDC 1PAGE 0294 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:08.00 --FIX-- INSTRUCTION TEST (PART 3-1) 7307 * -:800001 -128 FIX= :0000 :0000 SMALL NEG FRACTION 00000000 7308 IFF  0 7308+ * CY=R OV=R A=:8000 Q=:0001 FIX =:0000 :0000 SP 00001349 7308+ FLOAT1 SET $ 1349 BF04 12CE 7308+ JST INITRP INITIALIZE TRAP LOCATIONS 134A 827C 1347 7308+ COPY =:8000,A :8000 ==> 'A' 134B 4901 7308+ COPY =:0001,Q :0001 ==> 'Q' 134C A220 12ED 7308+ COPY =:3333,X :3333 ==> 'X' 134D E220 12EE 7308+ COPY =:0F0F,Y :0F0F ==> 'Y' 134E 0E07 7308+ RBIT  CY,S R ==> CARRY FLAG 134F 0E17 7308+ RBIT OV,S R ==> OVERFLOW FLAG 00000001 7308+ IFT 1;0 00001350 7308+ FLOAT3 SET $ 00000001 7308+ IFT 1 1350 030C  7308+ FIX -- EXPECT SINGLE PRECISION RESULT 7308+ ENDC 7308+ ENDC 00000000 7308+ IFF 0 00000001 7308+ IFT 5>0 1351 0D00 7308+ CSK A,=:0000 CHECK -A- 1352 0000 7308+ NOP 1353 0E0D 7308+ HLT  -A- SHOULD CONTAIN :0000 1354 4D00 7308+ CSK Q,=:0000 CHECK -Q- 1355 0000 7308+  NOP 1356 0E0D 7308+ HLT -Q- SHOULD CONTAIN :0000 7308+ ENDC  7308+ ENDC 1357 0020 7308+ COPY X,A FOR TESTING 1358 BA14 12ED 7308+  CSK A,=:3333 CHECK -X- 1359 0000 7308+ NOP 135A 0E0D 7308+ HLT FIX MODIFIED -X- 135B 0060 7308+ COPY Y,A FOR TESTING 135C BA11 12EE 7308+ CSK A,=:0F0F CHECK -Y- 135D 0000 7308+ NOP 135E 0E0D 7308+ HLT FIX MODIFIED -Y-  00000001 7308+ IFT 1 135F 56C1 1361 7308+ JF CY,$+2 CARRY RESET? 1360 0E0D 7308+ HLT NO-- SHOULD BE RESET WHEN SINGLE PRECISION 1361 36C1 1363 7308+ JF OV,$+2 OVERFLOW RESET? 1362 0E0D 7308+ HLT NO-- SHOULD BE RESET WHEN SINGLE PRECISION  7308+ ENDC 1363 9E65 1349 7308+ JMP FLOAT1 PATCH FOR LOOPING 1363 0000 7308+ !  ORG $-1 1PAGE 0295 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:11.25 --FIX-- INSTRUCTION TEST (PART 3-1) 1363 0000 7308+ NOP 00001364 7308+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 1364 0000 7308+ NOP RESERVE SPACE FOR JMP INSTRUCTION  0000 7308+ LPOOL 00001365 7308+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 1364 0000 7308+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1364 9E80 1365 7308+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 1365 0000 7308+ ORG LP::L1 CONTINUE AT END OF LPOOL  7308+ ENDC 1PAGE 0296 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:11.50 --FIX-- INSTRUCTION TEST (PART 3-1) 7310 * -:C00001 +02 FIX= :FFFF :FFFD NEG INT, FRACT 00000000 7311 IFF 0 7311+ * CY=S OV=S A=:C140 Q=:0001 FIX =:FFFF :FFFD SP 00001365 7311+ FLOAT1 SET $ 1365 BF9B 1381 7311+ JST INITRP INITIALIZE TRAP LOCATIONS 1366 829E 1385 7311+  COPY =:C140,A :C140 ==> 'A' 1367 4901 7311+ COPY =:0001,Q :0001 ==> 'Q' 1368 A204 12ED 7311+ COPY =:3333,X :3333 ==> 'X' 1369 E204 12EE 7311+ COPY =:0F0F,Y :0F0F ==> 'Y' 136A 0E05 7311+ SBIT CY,S S ==> CARRY FLAG 136B 0E15 7311+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7311+ IFT 1;0 0000136C 7311+ FLOAT3 SET $ 00000001 7311+  IFT 1 136C 030C 7311+ FIX -- EXPECT SINGLE PRECISION RESULT 7311+  ENDC 7311+ ENDC 00000000 7311+ IFF 0 00000001 7311+ IFT  5>0 136D BA94 1382 7311+ CSK A,=:FFFF CHECK -A- 136E 0000 7311+ NOP 136F 0E0D 7311+ HLT -A- SHOULD CONTAIN :FFFF 1370 FA95 1386 7311+ CSK Q,=:FFFD CHECK -Q- 1371 0000 7311+ NOP 1372 0E0D 7311+ HLT -Q- SHOULD CONTAIN :FFFD  7311+ ENDC 7311+ ENDC 1373 0020 7311+ COPY X,A FOR TESTING  1374 BA8E 1383 7311+ CSK A,=:3333 CHECK -X- 1375 0000 7311+ NOP 1376 0E0D 7311+  HLT FIX MODIFIED -X- 1377 0060 7311+ COPY Y,A FOR TESTING 1378 BA8B 1384  7311+ CSK A,=:0F0F CHECK -Y- 1379 0000 7311+ NOP 137A 0E0D 7311+ HLT  FIX MODIFIED -Y- 00000001 7311+ IFT 1 137B 56C1 137D 7311+ JF CY,$+2 CARRY RESET? 137C 0E0D 7311+ HLT NO-- SHOULD BE RESET WHEN SINGLE PRECISION 137D 36C1 137F 7311+ JF OV,$+2 OVERFLOW RESET? 137E 0E0D 7311+ HLT NO-- SHOULD BE RESET"  WHEN SINGLE PRECISION 7311+ ENDC 137F 9E65 1365 7311+ JMP FLOAT1 PATCH FOR LOOPING 137F 0000 7311+ ORG $-1 1PAGE 0297 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:14.75 --FIX-- INSTRUCTION TEST (PART 3-1) 137F 0000 7311+ NOP 00001380 7311+ LP::L  SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 1380 0000 7311+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0006 7311+ LPOOL 1381 122B INITRP 1382 FFFF 1383 3333 1384 0F0F 1385 C140  1386 FFFD 00001387 7311+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 1380 0000 7311+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1380 9E86 1387 7311+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 1387 0000 7311+ ORG LP::L1 CONTINUE AT END OF LPOOL 7311+  ENDC 1PAGE 0298 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:15.25 --FIX-- INSTRUCTION TEST (PART 3-1) 7313 * +:CFFFFF +02 FIX= :0000 :0003 POS INT, TRUNCATION 00000000 7314 IFF 0 7314+ * CY=R OV=R A=:417F Q=:FFFF FIX =:0000 :0003 SP 00001387 7314+ FLOAT1 SET $ 1387 BF79 1381 7314+ JST INITRP INITIALIZE TRAP LOCATIONS 1388 829A 13A3 7314+ COPY =:417F,A :417F ==> 'A' 1389 48FF 7314+ COPY =:FFFF,Q :FFFF ==> 'Q' 138A A278 1383 7314+ COPY  =:3333,X :3333 ==> 'X' 138B E278 1384 7314+ COPY =:0F0F,Y :0F0F ==> 'Y' 138C 0E07 7314+  RBIT CY,S R ==> CARRY FLAG 138D 0E17 7314+ RBIT OV,S R ==> OVERFLOW FLAG 00000001 7314+ IFT 1;0 0000138E 7314+ FLOAT3 SET $ 00000001 7314+ IFT 1 138E 030C 7314+ FIX -- EXPECT SINGLE PRECISION RESULT 7314+ ENDC  7314+ ENDC 00000000 7314+ IFF 0 00000001 7314+ IFT 5>0 138F 0D00  7314+ CSK A,=:0000 CHECK -A- 1390 0000 7314+ NOP 1391 0E0D 7314+ HLT  -A- SHOULD CONTAIN :0000 1392 4D03 7314+ CSK Q,=:0003 CHECK -Q- 1393 0000 7314+ NOP 1394 0E0D 7314+ HLT -Q- SHOULD CONTAIN :0003 7314+ ENDC 7314+ ENDC 1395 0020 7314+ COPY X,A FOR TESTING 1396 BA6C 1383 7314+ CSK A,=:3333 CHECK -X- 1397 0000 7314+ NOP 1398 0E0D 7314+ HLT  FIX MODIFIED -X- 1399 0060 7314+ COPY Y,A FOR TESTING 139A BA69 1384 7314+ CSK  A,=:0F0F CHECK -Y- 139B 0000 7314+ NOP 139C 0E0D 7314+ HLT FIX MODIFIED -Y- 00000001 7314+ IFT 1 139D 56C1 139F 7314+ JF CY,$+2 CARRY RESET? 139E 0E0# D 7314+ HLT NO-- SHOULD BE RESET WHEN SINGLE PRECISION 139F 36C1 13A1 7314+ JF  OV,$+2 OVERFLOW RESET? 13A0 0E0D 7314+ HLT NO-- SHOULD BE RESET WHEN SINGLE PRECISION 7314+ ENDC 13A1 9E65 1387 7314+ JMP FLOAT1 PATCH FOR LOOPING 13A1 0000  7314+ ORG $-1 1PAGE 0299 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:18.25 --FIX-- INSTRUCTION TEST (PART 3-1) 13A1 0000 7314+ NOP 000013A2 7314+ LP::L SET $  SET UP LABEL TO REPLACE NOP WITH JMP INST. 13A2 0000 7314+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0001 7314+ LPOOL 13A3 417F 000013A4 7314+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 13A2 0000 7314+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 13A2 9E81 13A4 7314+  JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 13A4 0000 7314+ ORG LP::L1 CONTINUE AT END OF LPOOL 7314+ ENDC 1PAGE 0300 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:18.75 --FIX-- INSTRUCTION TEST (PART 3-1) 7316 * +:FFFFFF +32 FIX = :FFFF :FF00 OVERFLOW 00000000 7317 IFF 0 7317+ * CY=S OV=S A=:507F Q=:FFFF FIX =:FFFF :FF00 OV 000013A4 7317+ FLOAT1 SET $ 13A4 BF5C 1381 7317+ JST INITRP INITIALIZE TRAP LOCATIONS 13A5 829A 13C0 7317+ COPY =:507F,A :507F ==> 'A' 13A6 48FF 7317+ COPY =:FFFF,Q :FFFF ==> 'Q' 13A7 A25B 1383 7317+ COPY =:3333,X :3333 ==> 'X' 13A8 E25B 1384 7317+ COPY =:0F0F,Y :0F0F ==> 'Y' 13A9 0E05 7317+ SBIT CY,S S ==> CARRY FLAG 13AA 0E15 7317+ SBIT OV,S  S ==> OVERFLOW FLAG 00000001 7317+ IFT 1;0 000013AB 7317+ FLOAT3 SET $ 00000001 7317+ IFT 1 13AB 030C 7317+ FIX -- SHOULD OVERFLOW 7317+  ENDC 7317+ ENDC 00000000 7317+ IFF 0 00000001 7317+ IFT 5>0 13AC BA55 1382 7317+ CSK A,=:FFFF CHECK -A- 13AD 0000 7317+ NOP 13AE 0E0D  7317+ HLT -A- SHOULD CONTAIN :FFFF 13AF FA91 13C1 7317+ CSK Q,=:FF00 CHECK -Q- 13B0 0000 7317+ NOP 13B1 0E0D 7317+ HLT -Q- SHOULD CONTAIN :FF00  7317+ ENDC 7317+ ENDC 13B2 0020 7317+ COPY X,A FOR TESTING 13B3 BA4F 1383 7317+ CSK A,=:3333 CHECK -X- 13B4 0000 7317+ NOP 13B5 0E0D 7317+  HLT FIX MODIFIED -X- 13B6 0060 7317+ COPY Y,A FOR TESTING 13B7 BA4C 1384 7317+ CSK A,=:0F0F CHECK -Y- 13B8 0000 7317+ NOP 13B9 0E0D 7317+ HLT $  FIX MODIFIED -Y- 00000001 7317+ IFT 1 00000001 7317+ IFT 1 13BA 5641 13BC 7317+ JT CY,$+2 CARRY SET? 13BB 0E0D 7317+ HLT NO-- EXPECTED OVERFLOW WITH CY SET 7317+ ENDC 13BC 3641 13BE 7317+ JT OV,$+2 OVERFLOW SET? 13BD 0E0D 7317+ HLT NO-- EXPECTED OVERFLOW WITH OV SET 7317+ ENDC 1PAGE  0301 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:21.50 --FIX-- INSTRUCTION TEST (PART 3-1) 00000001 7317+ IFT 1;0 7317+ ENDC 13BE 9E65 13A4 7317+ JMP FLOAT1 PATCH FOR LOOPING 13BE 0000 7317+ ORG $-1 13BE 0000 7317+ NOP 000013BF  7317+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 13BF 0000 7317+ NOP  RESERVE SPACE FOR JMP INSTRUCTION 0002 7317+ LPOOL 13C0 507F 13C1 FF00 000013C2 7317+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 13BF 0000 7317+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 13BF 9E82 13C2 7317+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 13C2 0000 7317+ ORG LP::L1 CONTINUE AT END OF LPOOL 7317+ ENDC 1PAGE 0302 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:22.25 --FIX-- INSTRUCTION TEST (PART 3-1) 7319 * +:800000 +33 FIX = NON NON OVERFLOW 00000000 7320 IFF 0 7320+ * CY=R OV=R A=:5080 Q=:0000 FIX = OV 000013C2 7320+ FLOAT1 SET $ 13C2 BF3E 1381 7320+ JST INITRP INITIALIZE TRAP LOCATIONS 13C3 8294 13D8 7320+ COPY =:5080,A :5080 ==> 'A' 13C4 4900 7320+ COPY =:0000,Q :0000 ==> 'Q' 13C5 A23D 1383 7320+ COPY =:3333,X :3333 ==> 'X' 13C6 E23D 1384 7320+  COPY =:0F0F,Y :0F0F ==> 'Y' 13C7 0E07 7320+ RBIT CY,S R ==> CARRY FLAG 13C8 0E17 7320+ RBIT OV,S R ==> OVERFLOW FLAG 00000001 7320+ IFT 1;0 000013C9 7320+ FLOAT3 SET $ 00000001 7320+ IFT 1 13C9 030C 7320+ FIX -- SHOULD OVERFLOW 7320+ ENDC 7320+ ENDC 00000000 7320+ IFF 0  7320+ ENDC 13CA 0020 7320+ COPY X,A FOR TESTING 13CB BA37 1383 7320+  CSK A,=:3333 CHECK -X- 13CC 0000 7320+ NOP 13CD 0E0D 7320+ HLT FIX MODIFIED -X- 13CE 0060 7320+ COPY Y,A FOR TESTING 13CF BA34 1384 7320+ CSK A,=:0F0F CHECK -Y- 13D0 0000 7320+ NOP 13D1 0E0D 7320+ HLT FIX MODIFIED -Y-  00000001 7320+ IFT 1 00000001 7320+ IFT 1 13D2 5641 13D4 7320+ JT C% Y,$+2 CARRY SET? 13D3 0E0D 7320+ HLT NO-- EXPECTED OVERFLOW WITH CY SET  7320+ ENDC 13D4 3641 13D6 7320+ JT OV,$+2 OVERFLOW SET? 13D5 0E0D 7320+ HLT  NO-- EXPECTED OVERFLOW WITH OV SET 7320+ ENDC 00000001 7320+ IFT  1;0 7320+ ENDC 13D6 9E6B 13C2 7320+ JMP FLOAT1 PATCH FOR LOOPING 13D6 0000 7320+ ORG $-1 13D6 0000 7320+ NOP 000013D7 7320+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 13D7 0000 7320+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0001 7320+ LPOOL 1PAGE 0303 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:25.25 --FIX-- INSTRUCTION TEST (PART 3-1) 13D8 5080 000013D9 7320+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 13D7 0000 7320+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 13D7 9E81 13D9 7320+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 13D9 0000 7320+ ORG LP::L1 CONTINUE AT END OF LPOOL 7320+ ENDC 1PAGE 0304 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:25.50 --FIX-- INSTRUCTION TEST (PART 3-1) 7322 * -:800001 +32 FIX = NON NON OVERFLOW 00000000 7323 IFF 0 7323+ * CY=S OV=S A=:D000 Q=:0001 FIX = OV 000013D9 7323+ FLOAT1 SET $ 13D9 BF27 1381 7323+ JST INITRP INITIALIZE TRAP LOCATIONS 13DA 8294 13EF 7323+  COPY =:D000,A :D000 ==> 'A' 13DB 4901 7323+ COPY =:0001,Q :0001 ==> 'Q' 13DC A226 1383 7323+ COPY =:3333,X :3333 ==> 'X' 13DD E226 1384 7323+ COPY =:0F0F,Y :0F0F ==> 'Y' 13DE 0E05 7323+ SBIT CY,S S ==> CARRY FLAG 13DF 0E15 7323+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7323+ IFT 1;0 000013E0 7323+ FLOAT3 SET $ 00000001 7323+  IFT 1 13E0 030C 7323+ FIX -- SHOULD OVERFLOW 7323+ ENDC 7323+ ENDC 00000000 7323+ IFF 0 7323+ ENDC 13E1 0020 7323+ COPY X,A FOR TESTING 13E2 BA20 1383 7323+ CSK A,=:3333 CHECK -X- 13E3 0000 7323+ NOP 13E4 0E0D 7323+ HLT FIX MODIFIED -X- 13E5 0060 7323+  COPY Y,A FOR TESTING 13E6 BA1D 1384 7323+ CSK A,=:0F0F CHECK -Y- 13E7 0000 7323+ NOP 13E8 0E0D 7323+ HLT FIX MODIFIED -Y- 00000001 7323+ IFT 1 00000001 7323+ IFT 1 13E9 5641 13EB 7323+ JT CY,$+2 CARRY SET? 13EA 0E0D 7323+ HLT NO-- EXPECTED OVERFLOW WITH CY SET 7323+ ENDC 13EB 3641 13ED 73& 23+ JT OV,$+2 OVERFLOW SET? 13EC 0E0D 7323+ HLT NO-- EXPECTED OVERFLOW WITH OV SET 7323+ ENDC 00000001 7323+ IFT 1;0 7323+ ENDC 13ED 9E6B 13D9 7323+ JMP FLOAT1 PATCH FOR LOOPING 13ED 0000 7323+ ORG $-1 13ED 0000 7323+ NOP 000013EE 7323+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 13EE 0000 7323+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0001 7323+ LPOOL 1PAGE 0305 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:28.75 --FIX-- INSTRUCTION TEST (PART 3-1) 13EF D000 000013F0 7323+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 13EE 0000 7323+  ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 13EE 9E81 13F0 7323+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 13F0 0000 7323+ ORG LP::L1 CONTINUE AT END OF LPOOL 7323+ ENDC 7324 * 1PAGE 0306 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:29.00 --FLOAT-- INSTRUCTION TEST (PART 3-2) 7326 * 7327 * 7328 *  THE FOLLOWING INSTRUCTION IS TESTED IN THIS SECTION: 7329 * 7330 * e811002083129811002083129811201095357e811002083129811002083129811201095356e' 811002083129811002083129811201095318e811002083129811002083129811002083129811002083129811002083129811002083129e.(ˊ8111301251292581113012542300811130125641e8110230512515081102305191400811023051914. PAT404P2 LSTPAT404 LST(  6068 * ROUTINE WHICH INCREMENTS A COUNTER (INSTRU) 6069 * AND PICKS BIT PATTERNS WHICH ARE UNIMPLEMENTED 6070 * INSTRUCTIONS AS DEFINED BY A TABLE (UITAB). 6071 * 00000EED 6072 P13010 EQU $ 0EED DED7 0F45 6073 IMS INSTRU INCREMENT CURRENT INSTRUCTION CELL 0EEE 9E81 0EF0 6074 JMP $+2 CONTINUE TEST 0EEF 9EAE 0F1E 6075 JMP P13025 END OF UIT, EXIT 0EF0 00FF 6076 TBIT 15,A 0EF1 366C 0F1E 6077 JT OV,P13025 0EF2 2900 6078  COPY =0,X CLEAR UITAB INDEX 0EF3 82D1 0F45 6079 P13011 COPY INSTRU,A GET CURRENT INSTRUCTION 0EF4 230A 6080 XNX X 0EF5 96D0 0F46 6081 AND MSKTAB,A MASK OFF 'DON'T CARE' BITS 0EF6 230A 6082 XNX X 0EF7 BAB6 0F2E 6083 CSK A,UITAB COMPARE TO SKELETON FROM TABLE 0EF8 0000 6084 NOP 0EF9 9E81 0EFB 6085 JMP $+2 NO MATCH 0EFA 9E86 0F01 6086  JMP P13015 UNIMP. INSTR. FOUND 0EFB 2B01 6087 ADD =1,X INCREMENT UITAB INDEX 0EFC 4020 6088 COPY X,Q 0EFD FAC6 0F44 6089 CSK Q,TSTSIZ REACHED END OF UITAB ? 0EFE 9E74 0EF3 6090 JMP P13011 NO, LOOP TO CONTINUE 0EFF 0000 6091 NOP 0F00 9E6C 0EED 6092  JMP P13010 END OF UITAB, GET NEXT INSTR. FOR TESTING 1PAGE 0235 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:13:59.00 UNIMPLEMENTED INSTRUCTION TEST 6094 * 6095 *  ROUTINE TO TEST AN UNIMPLEMENTED INSTRUCTION 6096 * WHICH HAS BEEN FOUND BY THE PRECEEDING ROUTINE  6097 * 00000F01 6098 P13015 EQU $ 0F01 82C3 0F45 6099 COPY INSTRU,A GET UNIMPLEMENTED INSTRUCTION 0F02 8685 0F08 6100 COPY A,P13016 STORE FOR EXECUTION 0F03 96A0 0F24 6101 AND =:FF00,A ISOLATE UPPER 8 BITS FOR DISPLAY 0F04 0B02 6102 ADD =2,A UIT TEST CODE 0F05 0404 6103 SELP A,4 OUTPUT TO CONSOLE 0F06 0900 6104 COPY =0,A 0F07 8440 0000 6105 COPY A,0(Y) CLEAR FIRST WORD OF TRAP 6106 * 6107 * 0F08 0E0D 6108 P13016 HLT EXECUTE UNIMPLEMENTED INSTRUCTION HERE 0F09 0000 6109 P13017 NOP  FILLER FOR MULTI-WD. MEM. REF. INSTRUCTIONS 6110 * 6111 * 00000F0A 6112 P13018 EQU $ 0F0A 0E0D 6113 HLT INSTRUCTION AT P13016 DID NOT CAUSE TRAP 0F0B 9E61 0EED 6114 JMP P13010 FIND NEXT UNIMP. INSTR. 6115 * 6116 * TEMPORARY UNIMPLEMENTED INSTRUCTION TRAP ROUTINE 6117 * 00000F0C 6118 P13019 EQU $ 0F0C 8040 0000 6119 COPY 0(Y),A GET 1ST WORD OF TRAP (:84) 0F0D C2B7 0F45 6120 COPY INSTRU,Q GET INSTRU) CTION 0F0E D696 0F25 6121 AND =:9F00,Q MASK OFF ''DON'T CARE'' BITS 0F0F FA96 0F26 6122 CSK  Q,=:0700 MULTI-WD. MEM. REF. CLASS ? 0F10 0000 6123 NOP 0F11 9E84 0F16 6124 JMP P13020 NO 0F12 BA94 0F27 6125 CSK A,=P13018 LOC :84 SHOULD BE P+2 0F13 0000 6126 NOP 0F14 0E0D 6127 HLT LOC :84 SHOULD BE P13018 ADDRESS 0F15 9E83 0F19 6128 JMP P13022 6129 * 0F16 BA91 0F28 6130 P13020 CSK A,=P13017 LOC :84 SHOULD BE P+1 0F17 0000 6131  NOP 0F18 0E0D 6132 HLT LOC. :84 SHOULD BE P13017 ADDR. 0F19 8041 0001 6133 P13022 COPY 1(Y),A GET 2ND WORD FROM TRAP 0F1A BA6D 0F08 6134 CSK A,P13016 0F1B 0000 6135  NOP 0F1C 0E0D 6136 HLT LOC. :85 SHOULD BE INSTR. AT P13016 1PAGE 0236 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:00.50 UNIMPLEMENTED INSTRUCTION TEST 0F1D 9E4F 0EED 6137  JMP P13010 FIND NEXT UNIMP. INSTR. 0F1E 093D 6138 P13025 COPY =UIT1,A UNEXPECTED UIT SERVICE ROUTINE 0F1F 8443 0003 6139 COPY A,3(Y) STORE IN 4TH WORD OF TRAP 6140 *  6141 * 0F20 9E3F 0EE0 6142 JMP P13000 PATCH FOR LOOPING 0F20 0000 6143 ORG  $-1 0F20 0000 6144 NOP 0F21 9EBB 0F5D 6145 JMP P13900 000C 6146 LPOOL 0F22 00F5 DEMAND 0F23 0F0C P13019 0F24 FF00 0F25 9F00 0F26 0700 0F27 0F0A P13018 0F28 0F09 P13017 0F29 0F2A 0F2B 0F2C 0F2D 6147 * 6148 * TABLE OF UNIMPLEMENTED INSTRUCTIONS 6149 *  00000F2E 6150 UITAB EQU $ UNIMPLEMENTED CODES 0F2E 0E0E 6151 WORD :0E0E :0EXE,:2EXE,:4EXE,:6EXE 0F2F 0F04 6152 WORD :0F04 :0F04,:2F04,:4F04,:6F04 0F30 0F06 6153  WORD :0F06 :0F06,:2F06,:4F06,:6F06 0F31 0F0D 6154 WORD :0F0D :0F0D,:2F0D,:4F0D,:6F0D 0F32 0F0E 6155 WORD :0F0E :0F0E,:2F0E,:4F0E,:6F0E 0F33 0F0F 6156 WORD :0F0F :0F0F,:2F0F,:4F0F,:6F0F 0F34 7600 6157 WORD :7600 :76XX 0F35 1C00 6158 WORD :1C00 :1CX0-:1CX7 0F36 1C08 6159 WORD :1C08 :1CX8-:1CXF 0F37 3C00 6160  WORD :3C00 :3CX0-:3CX7 0F38 3C08 6161 WORD :3C08 :3CX8-:3CXF 0F39 5C08 6162 WORD :5C08 :5CX8-:5CXF 0F3A 7C00 6163 WORD :7C00 :7CX0-:7CX7 0F3B 7C08  6164 WORD :7C08 :7CX8-:7CXF 0F3C 1D00 6165 WORD :1D00 :1DXX,:3DXX,:5DXX,:7DXX 0F3D 030B 6166 WORD :030B :03XB,:23XB,:43XB,:63XB 0F3E 2600 6167 WORD :2600 :26XX 1PAGE 0237 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:01.50 UNIMPLEMENTE* D INSTRUCTION TEST 0F3F 4600 6168 WORD :4600 :46XX 0F40 5C05 6169 WORD :5C05 :5CX5 0F41 5C06 6170 WORD :5C06 :5CX6 0F42 5C07 6171 WORD :5C07  :5CX7 0F43 030E 6172 WORD :030E :03XE,:23XE,:43XE,:63XE 6173 *  :03XF,:23XF,:43XF,:63XF 6174 * 0F44 0016 6175 TSTSIZ WORD $-UITAB 0F45 0000  6176 INSTRU RES 1,0 1PAGE 0238 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:02.00 UNIMPLEMENTED INSTRUCTION TEST 6178 * 6179 * TABLE OF UNIMP. INSTR. MASKS  6180 * 00000F46 6181 MSKTAB EQU $ 0F46 9F0F 6182 WORD :9F0F 0F47 9F0F 6183 WORD :9F0F 0F48 9F0F 6184 WORD :9F0F 0F49 9F0F 6185 WORD :9F0F 0F4A 9F0F 6186 WORD :9F0F 0F4B 9F0F 6187 WORD :9F0F 0F4C FF00 6188 WORD :FF00 0F4D FF08 6189 WORD :FF08 0F4E FF08 6190 WORD :FF08 0F4F FF08 6191  WORD :FF08 0F50 FF08 6192 WORD :FF08 0F51 FF08 6193 WORD :FF08 0F52 FF08  6194 WORD :FF08 0F53 FF08 6195 WORD :FF08 0F54 9F00 6196 WORD :9F00 0F55 9F0C 6197 WORD :9F0C 0F56 9F0F 6198 WORD :9F0F 0F57 FF00 6199 WORD  :FF00 0F58 FF00 6200 WORD :FF00 0F59 FF0F 6201 WORD :FF0F 0F5A FF0F 6202  WORD :FF0F 0F5B FF0F 6203 WORD :FF0F 0F5C 9F0E 6204 WORD :9F0E  6205 * 00000F5D 6206 P13900 EQU $ 1PAGE 0239 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:02.50 REAL TIME CLOCK TEST 6208 ******************************************************* 6209 * 6210 * ---------- REAL TIME CLOCK TEST ---------- 6211 *  6212 * THIS TEST VERIFIES CORRECT OPERATION OF THE REAL TIME 6213 * CLOCK INCREMENT AND INTERRUPT. THE INCREMENT CELL IS 6214 * SET TO A 2 SECOND COUNT, AND IS ALLOWED TO INCREMENT  6215 * TO ZERO, WITH THE TEST CHECKING THE INCREMENTING 6216 * PROCESS. AS THE INCREMENT COUNT GOES TO ZERO, AN 6217 * INTERRUPT SHOULD OCCUR. 6218 * 6219 ******************************************************* 00000F5D 6220 RTC EQU $ 00000F5D 6221 N31000  EQU $ 0F5D 8344 0F22 6222 COPY DEMAND,A TEST SELECTION 0F5E 1808 6223 AND =8,A  0F5F 11C2 0F62 6224 JNE A,$+3 IF BIT 3 SET, EXECUTE TEST 0F60 9F80 0F61 6225 JMP *$+1  BIT 3 RESET, ABORT TEST 0F61 100A 6226 WORD G00000 POINTER TO END OF RTC TEST +  6227 * 0F62 0903 6228 COPY =:03,A RTC TEST CODE 0F63 0404 6229 SELP A,4  OUTPUT TO CONSOLE 0F64 2991 6230 COPY =:91,X RTC INCREMENT CELL LOCATION 6231 * 0F65 82AD 0F93 6232 COPY =N31025,A RTC INTERRUPT SERVICE ROUTINE 0F66 8482 0002 6233 COPY  A,2(X) PUT IN :93 0F67 0E2F 6234 SIN 3 0F68 8028 0028 6235 COPY STATSV,A 0F69 3000 6236 COPY A,S 0F6A 0E47 6237 RBIT CI,S TURN OFF CONSOLE INTERRUPT ENABLE 1PAGE 0240 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:03.50 REAL TIME CLOCK TEST  00000F6B 6239 N31010 EQU $ 0F6B 0810 6240 COPY =:FF10,A DEC. -240 COUNT FOR INCREMENT CELL 0F6C 8480 0000 6241 COPY A,0(X) THIS SHOULD GIVE A 2 SECOND WAIT 0F6D 0811 6242 COPY  =:FF11,A VALUE FOR IMAGE COUNTER 0F6E 86A3 0F92 6243 COPY A,COUNT 0F6F 0E85 6244 SBIT  INT,S ENABLE INTERRUPTS 0F70 0E55 6245 SBIT RI,S ENABLE RTC 0F71 4900 6246 N31011 COPY =0,Q CLEAR DELAY COUNTER 0F72 DE9F 0F92 6247 IMS COUNT COMPARISON VALUE FOR INCREMENT CELL 0F73 0000 6248 NOP 00000F74 6249 N31012 EQU $ 0F74 544A 0F7F 6250 IJEQ  Q,N31013 INCREMENT DELAY COUNTER, JUMP IF EXPIRED 0F75 8080 0000 6251 COPY 0(X),A GET INCREMENT CELL 0F76 BA9B 0F92 6252 CSK A,COUNT HAS INCREMENT OCCURED YET ? 0F77 0000 6253 NOP 0F78 9E7B 0F74 6254 JMP N31012 NO, COUTINUE DELAY LOOP 0F79 0D00 6255 CSK A,=0 HAS INCREMENT CELL GONE TO ZERO ? 0F7A 0000 6256 NOP 0F7B 9E81 0F7D 6257 JMP $+2 NO, OK 0F7C 9E85 0F82 6258 JMP N31014 YES, ERROR 6259 * 0F7D 004F 6260 TBIT 4,A COPY BIT 4 TO OV FOR DISPLAY 0F7E 9E72 0F71 6261 JMP N31011 WAIT FOR NEXT INCREMENT 6262 * 0F7F 0E57 6263 N31013 RBIT RI,S DISABLE RTC 0F80 0E0D 6264 HLT TIMER EXPIRED BEFORE INCREMENT OCCURED 0F81 9E8B 0F8D 6265 JMP N31028 0F82 0E57 6266 N31014 RBIT RI,S DISABLE RTC 0F83 0E0D 6267 HLT INCREMENT CELL WENT TO ZERO WITH NO INTERRUPT 0F84 9E88 0F8D 6268 JMP N31028 1PAGE 0241 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:04.75 REAL TIME CLOCK TEST 0F85 0E0D 6270 N31025 ENT INTERRUPT SERVICE ROUTINE 0F86 8080 0000 6271 COPY 0(X),A GET INCREMENT CELL 0F87 0D00 6272 CSK  A,=0 0F88 0000 6273 NOP 0F89 0E0D 6274 HLT INCREMENT CELL SHOULD BE 0 ON INTERRUPT 0F8A 8287 0F92 6275 COPY COUNT,A 0F8B 1141 0F8D 6276 JEQ A,$+2 0F8C 0E0D 627, 7 HLT INCREMENT CELL SHOULD HAVE ZERO IN 'COUNT' 00000F8D 6278 N31028 EQU $ 0F8D 0E57 6279 RBIT RI,S DISABLE RTC 0F8E 0E85 6280 SBIT INT,S ENABLE INTERRUPTS 0F8F 9E4D 0F5D 6281 JMP N31000 PATCH FOR LOOPING 0F8F 0000 6282 ORG $-1 0F8F 0000 6283 NOP OVERLAY WITH NOP 0F90 9E84 0F95 6284 N31029 JMP N31030 EXIT 0F91 0000 6285 COUNTA RES 1,0 CHECK COUNT OVERFLOW CELL 0F92 0000 6286 COUNT RES 1,0  CHECK COUNT FOR INCREMENT CELL 0002 6287 LPOOL 0F93 0F85 N31025 0F94 1PAGE 0242 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:05.50 REAL TIME CLOCK TEST 6289 *********************************************************************** 6290 * 6291 * RTC CONSISTENCY TEST 6292 * 6293 * THE RTC IS RUN FOR ABOUT 1/8 SECOND (16 TICS) AND  6294 * AN AVERAGE 2 TIC SOFTWARE COUNT IS TAKEN. A + AND - 6295 * 3% WINDOW IS CALCULATED ON THIS SOFTWARE COUNT, AND 6296 * USED TO DETERMINE THE CONSISTENCY OF THE RTC OVER A 6297 * 4 SECOND SPAN 6298 * 6299 ************************************************************************ 6300 * 00000F95 6301 N31030 EQU $ 0F95 0E47 6302 RBIT CI,S DISABLE CONSOLE INTERRUPT 0F96 0E87 6303 RBIT INT,S INHIBIT INTERRUPTS 0F97 08F7 6304 COPY =:FFF7,A SET LOOP TO 9 TIMES 0F98 86EB 1004 6305 COPY A,N3LOOP 0F99 0900 6306 COPY =0,A CLEAR SOFTWARE COUNT 0F9A 8677 0F92 6307 COPY A,COUNT 0F9B 08FE 6308 N31031 COPY =:FFFE,A MINUS TWO TICS 0F9C 8480 0000 6309 COPY A,0(X) STORE AT :91 0F9D 82E7 1005 6310 COPY =N31032,A INTERRUPT RETURN 0F9E 8482 0002 6311 COPY A,2(X) STORE AT :93 0F9F 0E55 6312 SBIT RI,S ENABLE RTC 0FA0 0E85 6313 SBIT INT,S START RTC 0FA1 0000 6314 RES $;:F-$&:F,0 IMS INSTR. MUST BE AT LOC. :XXXF 0FAF DE62 0F92 6315 N310311 IMS  COUNT 0FB0 9E7E 0FAF 6316 JMP $-1 0FB1 0E0D 6317 HLT NO INTERRUPT OR COUNT OVERFLOW 6318 * 0FB2 0E0D 6319 N31032 ENT 0FB3 0E57 6320 RBIT RI,S STOP RTC 0FB4 8080 0000 6321 COPY 0(X),A CHECK TIC COUNT = 0 0FB5 0D00 6322 CSK A,=0 0FB6 0000 6323 NOP 0FB7 0E0D 6324 HLT RTC COUNT CELL NOT = 0 AT INTERRUPT 0FB8 82CB 1004 6325 COPY N3LOOP,A 0FB9 BACC 1006 6326 CSK A,=:FFF7 THROW AWAY FIRST 0FBA 0000 6327 NOP 0FBB 9E82 0FBE 6328 JMP $+3 0FBC 0900 6329 COPY =0,A -  FIRST 0FBD 8654 0F92 6330 COPY A,COUNT 0FBE DEC5 1004 6331 IMS N3LOOP FINISHED? 1PAGE 0243 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:07.00 REAL TIME CLOCK TEST 0FBF 9E5B 0F9B 6332 JMP N31031 NO 0FC0 8251 0F92 6333 COPY COUNT,A 0FC1 0E29 6334  SHIFT A,RO,3 DIVIDE BY 8 0FC2 86C0 1003 6335 COPY A,LOW THIS IS A TWO TIC SOFTWARE AVERAGE 0FC3 0E49 6336 SHIFT A,RO,5 6 % WINDOW 0FC4 4000 6337 COPY A,Q 0FC5 8ABD 1003 6338 ADD LOW,A 0FC6 86BB 1002 6339 COPY A,HIGH 0FC7 82BB 1003 6340 COPY LOW,A 0FC8 0043 6341 SUB Q,A 0FC9 86B9 1003 6342 COPY A,LOW 1PAGE 0244 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:07.50 REAL TIME CLOCK TEST 6345 * 6346 * SECOND PART OF TEST BEGINS HERE 6347 * 0FCA 0810 6348 COPY =:FF10,A SET UP FOR 4 SECOND RUN 0FCB 86B8 1004 6349 COPY A,N3LOOP 0FCC 0900 6350 N31033 COPY =0,A 0FCD 8643 0F91 6351 COPY A,COUNTA 0FCE 8643 0F92 6352 COPY A,COUNT 0FCF 08FE 6353 COPY =:FFFE,A USE MINUS TWO AGAIN 0FD0 8480 0000 6354 COPY A,0(X) STORE IN :91 0FD1 82B5 1007 6355  COPY =N31034,A RTC INTERRUPT SERVICE ROUTINE LOCATION 0FD2 8482 0002 6356 COPY A,2(X) STORE IN :93 0FD3 0E55 6357 SBIT RI,S ENABLE RTC 0FD4 0E85 6358 SBIT INT,S START RTC 0FD5 0000 6359 RES $;:F-$&:F,0 IMS INSTR. MUST BE AT LOC. :XXXF 0FDF DE32 0F92 6360 N310341 IMS COUNT 0FE0 9E7E 0FDF 6361 JMP $-1 0FE1 DE2F 0F91 6362 IMS COUNTA 0FE2 9E7C 0FDF 6363  JMP N310341 0FE3 0E0D 6364 HLT NO INTERRUPT OR COUNT OVERFLOW  6365 * 0FE4 0E0D 6366 N31034 ENT 0FE5 0E87 6367 RBIT INT,S 0FE6 0E57 6368 RBIT RI,S STOP RTC 0FE7 8080 0000 6369 COPY 0(X),A CHECK TIC COUNT = 0 0FE8 0D00 6370  CSK A,=0 0FE9 0000 6371 NOP 0FEA 0E0D 6372 HLT RTC COUNT CELL NOT = 0 ON INTERRUPT 0FEB 8298 1004 6373 COPY N3LOOP,A 0FEC BA9B 1008 6374 CSK A,=:FF10 THROW AWAY FIRST 0FED 0000 6375 NOP 0FEE 9E81 0FF0 6376 JMP $+2 0FEF 9E8C 0FFC 6377 JMP N31035 FIRST 6378 * 0FF0 18F0 6379 AND =:F0,A -- 0FF1 0E71  6380 SHIFT A,LO,8 -- CONSOLE 0FF2 0B08 6381 ADD =8,A -- DISPLAY 0FF3 0404  6382 SELP A,4 -- 6383 * 0FF4 821D 0F92 6384 COPY COUNT,A 0FF5 BA8C 1002 6385 CSK A,HIGH DOES COUNT FIT IN WINDOW 0FF6 9E82 0FF9 6386 JMP $+3 0FF7 0000 .  6387 NOP 1PAGE 0245 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:08.75 REAL TIME CLOCK TEST 0FF8 0E0D 6388 HLT COUNT IS ABOVE LIMIT - RTC PERIOD TOO LONG 0FF9 BA89 1003 6389 CSK A,LOW 0FFA 0E0D 6390 HLT COUNT IS BELOW LIMIT - RTC PERIOD TOO SHORT 0FFB 0000 6391 NOP 00000FFC 6392 N31035 EQU $ 0FFC DE87 1004 6393 IMS  N3LOOP ARE WE FINISHED? 0FFD 9E4E 0FCC 6394 JMP N31033 NO 0FFE 0E45 6395 SBIT  CI,S ENABLE CONSOLE INTERRUPT 6396 * 0FFF 9E15 0F95 6397 JMP N31030 PATCH FOR LOOPING 0FFF 0000 6398 ORG $-1 0FFF 9F81 1001 6399 JMP *LOOP PATCH FOR LOOPING THROUGH ENTIRE RTC TEST 0FFF 0000 6400 ORG $-1 0FFF 0000 6401 NOP OVERLAY WITH NOP 1000 9E89 100A 6402 JMP G00000 1PAGE 0246 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:09.50 REAL TIME CLOCK TEST 6404 * 1001 0F5D 6405 LOOP WORD N31000 POINTER TO BEGINNING OF RTC TEST 1002 0000 6406 HIGH RES 1,0 HIGH LIMIT 1003 0000 6407 LOW RES 1,0 LOW LIMIT 1004 0000 6408 N3LOOP RES 1,0 LOOP CONTROL 0005  6409 LPOOL 1005 0FB2 N31032 1006 FFF7 1007 0FE4 N31034 1008 FF10 1009 1PAGE 0247 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:09.75 I/O TEST -- INITIALIZATION 6411 ******************************************************* 6412 * 6413 * ---------- I/O TEST ---------- 6414 * 6415 * THE I/O TEST (IOT) TESTS ALL INPUT / OUTPUT 6416 * FUNCTIONS OF THE CRT AND THE CDR. 6417 *******************************************************  6418 * 6419 * 6420 * INITIALIZATION 6421 * 0000100A 6422 IOT EQU $ 0000100A 6423 G00000 EQU $ 100A 838A 1015 6424 COPY DEMAND,A TEST SELECTION 100B 1810 6425 AND =:10,A TEST BIT 4 100C 1144 1011 6426 JEQ A,G00002 SET, DO I/O TEST 100D 8288 1016 6427 COPY =:0F04,A IOT RUN INDICATOR 100E 0404 6428 SELP  A,4 100F 0900 6429 COPY =0,A 1010 9E87 1018 6430 JMP G00012 EXECUTE I/O TEST  00001011 6431 G00002 EQU $ 1011 8028 0028 6432 COPY STATSV,A 1012 3000 6433 COPY  A,S INITIALIZE STATUS 1013 9F80 1014 6434 JMP *$+1 1014 1220 6435 WORD PART3ST 0003 6436 LPOOL 1015 00F5 DEMAND 1016 0F04 1017 00001018 6437 G00012 EQU $ 1018 0904  6438 COPY =:4,A 1019 0404 6439 SELP A,4 SELP THE TEST CODE 101A 2988 6/ 440 COPY =UNMEM0,X ADDRESS OF MEMORY EXCEPTION TRAP VECTOR 101B 0940 6441 COPY =UMT1,A  UNEXPECTED UNIMPLIMINTED MEMORY TRAP ROU. ADDRESS 101C 8483 0003 6442 COPY A,3(X) STORE IN 4TH WORD OF TRAP 101D 9E80 101E 6443 JMP G02000 1PAGE 0248 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:10.75 CONSOLE DATA REGISTER TEST (IN,OUT INSTRUCTIONS) 6446 * 6447 ******* 6448 * 6449 * TEST THE IN,SELP, INSTRUCTIONS WITH THE 6450 * CONSOLE DATA REGISTER (FUNCTION CODE 4) 6451 * IN AND SELP ARE TESTED WITH 4 REGISTERS AND 4 6452 * DATA PATTERNS (:FFFF, :5555, :AAAA, AND :0000) 6453 * DATA IS OUTPUT TO THE CDR AND THEN READ BACK IN 6454 * USING THE IN INSTRUCTION. 6455 * 6456 * 6457 * 6458 ******* 6459 * 6460 * SELP 4REG,CDR 6461 *  IN 4,4REG 6462 * 6463 ****** 0000101E 6464 G02000 EQU $ 101E C019 0019 6465 COPY PT0000,Q INITIALIZE Q 101F 8016 0016 6466 COPY PTFFFF,A INITIALIZE A 1020 4404 6467 SELP Q,4 SELP Q TO THE CONSOLE DATA REGISTER 1021 0104 6468 IN 4,A READ IT BACK 1022 B819 0019 6469 CSK A,PT0000 1023 0000 6470 NOP 1024 0E0D 6471 HLT WORD BUS FAILURE -- A SHOULD BE =0 6472 * 1025 A01D 001D 6473  COPY PTAAAA,X INITIALIZE X 1026 2404 6474 SELP X,4 SELP X TO THE CONSOLE DATA REGISTER  1027 4104 6475 IN 4,Q READ IT BACK IN 1028 F81D 001D 6476 CSK Q,PTAAAA 1029 0000 6477 NOP 102A 0E0D 6478 HLT WORD BUS FAILURE --Q SHOULD = :AAAA 1PAGE 0249 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:11.75 CONSOLE DATA REGISTER TEST (IN,OUT INSTRUCTIONS) 102B E01B 001B 6480 COPY PT5555,Y INITIALIZE Y 102C 6404 6481 SELP Y,4 WRITE TO THE CONSOLE DATA REGISTER 102D 2104 6482 IN 4,X READ IT BACK 102E 4020  6483 COPY X,Q 102F F81B 001B 6484 CSK Q,PT5555 1030 0000 6485 NOP 1031 0E0D  6486 HLT WORD BUS FAILURE --X SHOULD =:5555 6487 * 1032 8016 0016 6488  COPY PTFFFF,A 1033 0404 6489 SELP A,4 SELP A TO CONSOLE DATA REGISTER 1034 6104  6490 IN 4,Y READ IT BACK 1035 4060 6491 COPY Y,Q 1036 F816 0016 6492  CSK Q,PTFFFF 1037 0000 6493 NOP 1038 0E0D 6494 HLT WORD BUS FIALURE --Y SHOULD =:FFFF 6495 * 1039 9E64 101E 6496 JMP G02000 PATCH FOR LOOPING 1039 00 000 6497 ORG $-1 1039 0000 6498 NOP OVERLAY WITH NOP 1PAGE 0250 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:12.25 CONSOLE DATA REGISTER TEST 6500 * 6501 ******* 6502 * 6503 * SELP 4REG,4 6504 *  6505 ******* 6506 * 0000103A 6507 G03000 EQU $ 103A 801C 001C 6508  COPY PT6666,A 103B 0404 6509 SELP A,4 SELP TO THE CONSOLE DATA REGISTER 103C 4104 6510 IN 4,Q READ IT BACK 103D F81C 001C 6511 CSK Q,PT6666 103E 0000 6512  NOP 103F 0E0D 6513 HLT DATA BUS FAILURE --QREG SHOULD =:6666 6514 * 1040 C016 0016 6515 COPY PTFFFF,Q 1041 4404 6516 SELP Q,4 SELP TO CONSOLE DATA REGISTER 1042 4104 6517 IN 4,Q READ IT BACK 1043 F816 0016 6518 CSK Q,PTFFFF COMPARE TO EXPECTED VALUE 1044 0000 6519 NOP 1045 0E0D 6520 HLT DATA BUS FAILURE -- AREG SHOULD BE :FFFF 6521 * 1046 9E73 103A 6522 JMP G03000 PATCH FOR LOOPING  1046 0000 6523 ORG $-1 1046 0000 6524 NOP OVERLAY WITH NOP 1047 9E80 1048 6525 JMP G06000 1PAGE 0251 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:13.00 I/O TEST --INTERRUPT INSTRUCTION TESTING 6527 * 6528 * 6529 ********* 6530 * 6531 * TEST SIN FOR INTERRUPT INHIBIT 6532 * TEST JST AS INTERRUPT INSTRUCTION 6533 * AND VERIFY INTERRUPT TO OCCUR 6534 * 6535 * 6536 ********* 6537 * 6538 ********** 6539 *  6540 * AN INTERRUPT REQUEST IS FORCED BY OUTPUTTING :6F0 6541 * TO LOCATION :F9,THEN A SIN INSTRUCTION IS EXECUTED, 6542 * NEXT BIT 8 IN THE STATUS REGISTER IS SET =1.THIS TEST 6543 *  MAKES SURE THE SIN INSTRUCTION WORKS CORRECTLY AS 6544 * WELL AS USING THE JST INSTRUCTION AS AN INTERRUPT  6545 * INSTRUCTION. 6546 * 6547 ************ 6548 *  000000F9 6549 CRTDEVA EQU :F9 6550 * 00001048 6551 G06000 EQU $ 1048 802A 002A 6552 COPY JST1,A JST INSTRUCTION 1049 87C8 1092 6553 COPY A,:E4 STORE IN INTERRUPT VECTOR 104A 82CA 1095 6554 COPY =G06003,A INTERRUPT SERVICE ROUTINE ADDRESS 104B 87C7 1093 6555 COPY A,:E5 STORE IN INTERRUPT VECTOR 104C 0E87 6556 RBIT 8,S DISABLE INTERRUPTS 104D 0900 6557 COPY =0,A 104E 868A 1059 6558 COPY A,G06003 CLEAR SUBROUTINE RETURN POINTER 1  104F C2C6 1096 6559 COPY =:6F0,Q --BRANCH TO FIRMWARE ADDRESS :F 1050 42F9 6560 OUT Q,CRTDEVA --TO CAUSE INTERRUPT 1051 0E1F 6561 SIN 2 1052 0E85 6562 SBIT 8,S  ENABLE INTERRUPTS 1053 0000 6563 NOP 1054 0B01 6564 ADD =1,A THIS INSTRUCTION SHOULD EXECUTE BEFORE INTERRUPT 1055 0B01 6565 G06002 ADD =1,A SHOULD NOT EXECUTE 1056 0E87 6566 RBIT 8,S DISABLE INTERRUPTS 1057 0E0D 6567 HLT INTERRUPT DID NOT OCCUR 1058 9E94 106D 6568 JMP G06020 ERROR EXIT 1059 0E0D 6569 G06003 ENT 1PAGE 0252 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:14.25 I/O TEST --INTERRUPT INSTRUCTION TESTING 105A 0D01 6570 CSK A,=1 105B 0000 6571 NOP 105C 0E0D 6572 HLT  SIN ALLOWED WRONG NUNBER OF INSTRUCTIONS TO EXECUTE 105D 0030 6573 COPY S,A 105E 96B5 1094 6574  AND =:0100,A TEST BIT 8 105F 1141 1061 6575 JEQ A,$+2 TEST BIT 8 1060 0E0D 6576 HLT JST FAILED --INT BIT SHOULD BE SET STILL 1061 9E66 1048 6577 JMP G06000  PATCH FOR LOOPING 1061 0000 6578 ORG $-1 1061 0000 6579 NOP OVERLAY WITH NOP 1062 9E8A 106D 6580 JMP G06020 1PAGE 0253 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:14.75 I/O TEST --INTERRUPT INSTRUCTION TESTING 6582 * 6583 ******* 6584 * 6585 * JSK AS AN INTERRUPT INSTRUCTION 6586 * 6587 ******* 6588 * 6589 * 6590 ********* 6591 *  6592 * THIS WILL TEST THE JSK INSTRUCTION AS AN INTERRUPT 6593 * INSTRUCTION.AFTER THE INTERRUPT IS GENERATED AN THE 6594 * JSK TAKES PLACE,THE K REGISTER IS CHECKED TO MAKE 6595 * SURE IT HAS DECREMENTED BY ONE. 6596 * 6597 *********** 6598 * 1063  6599 DSTAK RES 9 00001063 6600 DSTACKL EQU DSTAK 0000106B 6601 DSTACKK EQU DSTAK+8 106C FF80 106D 6602 JSK1 JSK *$+1 6603 * 0000106D 6604 G06020 EQU $ 106D 8028 0028 6605 COPY STATSV,A INITIALIZE STATUS 106E 3000 6606 COPY A,S 106F 827C 106C 6607  COPY JSK1,A JSK *$+1 INSTRUCTION 1070 87A1 1092 6608 COPY A,:E4 1071 82A5 1097 6609  COPY =G06025,A INTERRUPT SERVICE ROUTINE LOCATION 1072 87A0 1093 6610 COPY A,:E5 STORE IN LOC :E5 1073 299C 6611 COPY =:9C,X STACK EXCEPTION TRAP LOCATION 1074 802A 002A 6612 COPY  JST1,A JST *$+1 INSTRUCTION 1075 8482 0002 6613 COPY A,2(X) STORE IN 3RD WORD OF TRAP 1076 2 82A1 1098 6614 COPY =G06028,A STACK EXCEPTION TRAP SERVICE ROUTINE 1077 8483 0003 6615 COPY A,3(X) STORE IN 4TH WORD OF TRAP (:9F) 1078 826A 1063 6616 COPY DSTACKL,A STACK LIMIT 1079 5000  6617 COPY A,L LOAD L REG 107A 8270 106B 6618 COPY DSTACKK,A STACK POINTER 107B 7000 6619 COPY A,K LOAD K REG 107C 0E1F 6620 SIN 2 107D C298 1096 6621  COPY =:6F0,Q 107E 42F9 6622 OUT Q,CRTDEVA FORCE INTERRUPT AT FIRMWARE LOC F 107F 0000 6623 NOP 00001080 6624 G06023 EQU $ 1PAGE 0254 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:16.00 I/O TEST --INTERRUPT INSTRUCTION TESTING 1080 0E0D 6625 HLT  INTERRUPT DID NOT OCCUR 1081 9E8E 1090 6626 JMP G06029 ERROR EXIT 1PAGE 0255 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:16.00 I/O TEST --INTERRUPT INSTRUCTION TESTING  6628 * 6629 * INTERRUPT SERVICE ROUTINE 6630 * 00001082 6631 G06025 EQU $ 1082 0E2F 6632 SIN 3 1083 8028 0028 6633 COPY STATSV,A FETCH VALUE FOR S REG 1084 3008 6634 EXCH A,S INITIALIZE STATUS AND SAVE PREVIOUS STATUS 1085 003B 6635 CSK  A,S COMPARE STATUS WITH EXPECTED VALUE 1086 0000 6636 NOP 1087 0E0D 6637 HLT  JSK FAILED --K CONTAINS WRONG VALUE 1088 0070 6638 COPY K,A GET STACK POINTER 1089 0B01 6639 ADD =:1,A (EXPECTED STACK VALUE) 108A BA60 106B 6640 CSK A,DSTACKK  COMPARE WITH EXPECTED VALUE 108B 0000 6641 NOP 108C 0E0D 6642 HLT JSK FAILED --K HAS WRONG VALUE 108D 9E82 1090 6643 JMP G06029 EXIT 6644 * 6645 * 108E 0E0D 6646 G06028 ENT 108F 0E0D 6647 HLT UNEXPECTED STACK EXCEPTION TRAP 6648 * 1090 9E5C 106D 6649 G06029 JMP G06020 PATCH FOR LOOPING 1090 0000 6650  ORG $-1 1090 0000 6651 NOP OVERLAY WITH NOP 1091 9E8E 10A0 6652 JMP  G06050 0008 6653 LPOOL 1092 00E4 1093 00E5 1094 0100 1095 1059 G06003 1096 06F0 1097 1082 G06025 1098 108E G06028 1099 1PAGE 0256 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:17.00 AUTO I/O TEST 6655 * 6656 * 6657 ********** 6658 *  6659 * THIS ROUTINE TEST AUTO I/O TO AND FROM THE CRT. 6660 * 6661 * THE INTERRUPT VECTORS ARE SET UP IN THE FOLLOWING MANNOR 6662 * 6663 * AOB AOB :F8  6664 * COUNT -BYTE COUNT 6665 * OUTPUT BUFFER ADDRESS 6666 * ALL ZERO3 ES 6667 * JST $+1 6668 * EOB ROUTINE TO JMP TO 6669 *  6670 *********** 6671 * 6672 ********** 6673 * 6674 * THIS ROUTINE SHOULD SENT 4 BYTES OF DATA TO THE CRT 6675 * AFTER THE AUTO I/O PROCEDURE HAS STARTED.TO START THE 6676 * AUTO I/O PROCEDURE SET UP THE INTERRUPT VECTOR AS 6677 * DESCRIBED ABOVE.THEN OUTPUT :610 TO LOCATION :F9(CRT) 6678 * TO START THE PROCEDURE,FINALLY ENABLE BIT 8 IN THE  6679 * STATUS REGISTER AND 'TEST' SHOULD APPEAR ON THE CRT. 6680 * 6681 ********** 6682 * 6683 * 000000F8 6684 IOD EQU :F8 ADDRESS OF CRT  000000E0 6685 INTBAS EQU :E0 1ST ADDRESS OF INTERRUPT VECTOR 109A 0A54 6686 PRINT33 BYTE :0A,'TEST',:0D OUTPUT BUFFER 109B 4553 109C 540D 00000006 6687 LPRINT33 EQU $-PRINT33*2 00000100 6688 RESET EQU :100 109D 65F8 6689 AOB1 AOB IOD+0 00000612 6690 KOM EQU :612 START AUTO I/O 109E BF80 109F 6691 EOB1 JST *$+1 109F 0000 6692 WORD00 WORD 0 6693 *  6694 * 000010A0 6695 G06050 EQU $ 1PAGE 0257 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:18.00 AUTO I/O TEST 10A0 0940 6696 COPY =:40,A 10A1 3000 6697  COPY A,S SET STATUS 10A2 827A 109D 6698 COPY AOB1,A 10A3 87A1 10C5 6699 COPY A,:E0 10A4 827A 109F 6700 COPY WORD00,A 10A5 87A0 10C6 6701 COPY A,:E3 10A6 87A0 10C7 6702  COPY A,:E6 10A7 87A0 10C8 6703 COPY A,:E7 FILL IN UNUSED LOCATIONS WITH ZEROES 10A8 2906  6704 COPY =LPRINT33,X GET MESSAGE LENGTH 10A9 826A 1094 6705 COPY =RESET,A 10AA 02F9 6706 OUT A,IOD+1 RESET THE CRT 10AB 2021 6707 NEG X,X NEGATE THE BYTE COUNT  10AC C29F 10CC 6708 COPY =PRINT33,Q 10AD 4AFF 6709 SUB =1,Q SUBSTRACT 1 FROM Q 10AE 4E01 6710 SHIFT Q,LO,1 10AF 36C1 10B1 6711 JF OV,$+2 IF IN 1ST 32K OV =0 10B0 20FD 6712 RBIT 15,X 10B1 4B01 6713 ADD =1,Q GET Q BACK 10B2 A796 10C9 6714  COPY X,:E1 PUT OUTPUT BUFFER IN :E1 10B3 C796 10CA 6715 COPY Q,:E2 10B4 8269 109E 6716  COPY EOB1,A 10B5 875C 1092 6717 COPY A,:E4 PUT JST $+1 IN :E4 10B6 8296 10CD 6718  COPY =G06056,A EOB INTERRUPT ROUTINE ADDRESS 10B7 875B 1093 6719 COPY A,:E5 STORE IN :E5 10B8 8295 10CE 6720 COPY =KOM,A 10B9 02F9 6721 OUT A,IOD+1 START AUTO I/O(WHEN BIT 8 SET) 10BA C294 10CF 6722 COPY =:140,Q 10BB 3040 6723 COPY Q,S ENABLE GLOBAL INTERRUPT4 S 10BC 6902 6724 COPY =2,Y 10BD 74BF 10BD 6725 IJNE Y,$ IDLE A WHILE 10BE 0E87  6726 RBIT 8,S DISABLE INTERRUPTS 10BF 0E0D 6727 HLT EOB INTERRUPT NEVER OCCURRED 10C0 9E5F 10A0 6728 JMP G06050 PATCH FOR LOOPING 10C0 0000 6729 ORG  $-1 10C0 0000 6730 NOP OVERLAY WITH NOP 10C1 9EBA 10FC 6731 JMP G08000  SKIP AUTO IO INPUT TEST BECAUSE OF 6732 * ...PROBLEMS OF OPERATOR INTERFACE 6733 * 6734 * 10C2 0E0D 6735 G06056 ENT 10C3 0E87 6736 RBIT  8,S DISABLE INTERRUPTS 10C4 9EB7 10FC 6737 JMP G08000 SKIP AUTO IO INPUT TEST BECAUSE OF  6738 * ...PROBLEMS WITH OPERATOR INTERFACE 1PAGE 0258 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:19.50 AUTO I/O TEST 000B 6739 LPOOL 10C5 00E0 10C6 00E3 10C7 00E6 10C8 00E7 10C9 00E1 10CA 00E2 10CB 10FC G08000 10CC 109A PRINT33 10CD 10C2 G06056 10CE 0612 KOM 10CF 0140 1PAGE 0259 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:19.75 AUTO I/O TEST  6741 * 6742 ******** 6743 * 6744 * TEST AUTO I/O INPUT  6745 * 6746 * THE INTERRUPT VECTOR IS SET UP IN THE FOLLOWING MANNOR 6747 *  6748 * AIB AIB :F8 6749 * NEGITIVE BYTE COUNT 6750 * INPUT BUFFER ADDRESS 6751 * ALL ZEROES 6752 * JST JST *$+1 6753 * ADDRESS OF EOB ROUTINE 6754 * 6755 *********** 6756 * 6757 ********* 6758 * 6759 * IN ORDER TO EXECUTE THIS TEST THE OPERATOR MUST 6760 * TYPE IN FOUR LETTERS OR A CARRIAGE RETURN WHEN 6761 * D0D0 APPEARS ON THE CONSOLE DATA REGISTER. THIS TEST 6762 * IS NORMALLY SKIPPED BECAUSE OF THIS. 6763 * 6764 * TO EXECUTE THIS TEST,THE INTERRUPT VECTOR IS SET UP 6765 * AS DESCRIBED ABOVE.THEN :E18 MUST BE OUTPUT TO LOCATION  6766 * :F9 (CRT) (THIS MEANS IT IS WAITING FOR DATA TO BE INPUT 6767 * OR A CARRIAGE RETURN.FINALLY BIT 8 OF THE STATUS REGISTER 6768 * MUST BE ENABLED. 6769 * 6770 ********* 6771 * 10D0 45F8 6772 AIB1 AIB IOD+0 10D1 0000 6773 IBUFF RES 2,0 INPUT BUFFER ADDRESS 00000004 6774 ADDRESS EQU $-IBUFF*2 00000E18 6775 KIN EQU :E18 STARTS INPUT 6776 * 000010D3 6777 G06090 EQU $ 10D3 827C 10D0 6778 COPY AIB1,A 10D4 8770 10C5 6779 COPY A,:E0 STORE IN 1ST INTERRUPT LOCATION 10D5 823E 1094 6780 5  COPY =RESET,A 10D6 87A0 10F7 6781 COPY A,IOD+1 RESET CRT 10D7 4904 6782 COPY  =ADDRESS,Q GET MESSAGE LENGTH 10D8 4041 6783 NEG Q,Q NEGATE THE BYTE COUNT 1PAGE 0260 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:20.75 AUTO I/O TEST 10D9 A29E 10F8 6784  COPY =IBUFF,X 10DA 2AFF 6785 SUB =1,X 10DB 2E01 6786 SHIFT X,LO,1 10DC 36C1 10DE 6787 JF OV,$+2 IF IN 1ST 32K THEN OV =0 10DD 40FD 6788 RBIT 15,Q 10DE 2B01  6789 ADD =1,X 10DF C769 10C9 6790 COPY Q,:E1 BYTE COUNT IN :E1 10E0 A769 10CA 6791 COPY X,:E2 INPUT BUFFER ADDRESS 10E1 823D 109F 6792 COPY WORD00,A 10E2 8763 10C6 6793  COPY A,:E3 10E3 8763 10C7 6794 COPY A,:E6 10E4 8763 10C8 6795 COPY A,:E7 FILL IN UNUSED LOCATIONS WITH ZEROES 10E5 8238 109E 6796 COPY EOB1,A JST *$+1 INSTRUCTION 10E6 872B 1092 6797 COPY A,:E4 STORE IN 5TH INTERRUPT LOCATION 10E7 8291 10F9 6798 COPY =G06096,A EOB INTERRUPT ROUTINE ADDRESS 10E8 872A 1093 6799 COPY A,:E5 STORE IN 6TH INTERRUPT LOCATION 10E9 8290 10FA 6800 COPY =:D0D0,A 10EA 0404 6801 SELP A,4 TELL OPERATOR TO TYPE IN FOUR  6802 * ...LETTERS OR A CARRIAGE RETURN 10EB 828F 10FB 6803 COPY =KIN,A 10EC 02F9 6804 OUT A,IOD+1 INITIALIZE AUTO I/O(WHEN BIT SET) 10ED 0E85 6805 SBIT 8,S ENABLE INTERRUPTS 10EE 9D01 0001 6806 JMP *+1 JUMP RELATIVE 10EF 10EE 6807  WORD $-1 10F0 0E87 6808 RBIT 8,S DISABLE INTERRUPTS 10F1 0E0D 6809 HLT  EOB INTERRUPT DID NOT OCCUR 10F2 9E60 10D3 6810 JMP G06090 PATCH FOR LOOPING 10F2 0000 6811 ORG $-1 10F2 0000 6812 NOP OVERLAY WITH NOP 10F3 9E82 10F6 6813 JMP G06099 ERROR EXIT 6814 * 10F4 0E0D 6815 G06096 ENT 10F5 0E87 6816  RBIT 8,S DISABLE INTERRUPTS 10F6 9E85 10FC 6817 G06099 JMP G08000 0005 6818  LPOOL 10F7 00F9 10F8 10D1 IBUFF 10F9 10F4 G06096 10FA D0D0 10FB 0E18 KIN 1PAGE 0261 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:22.25 NON-INTERRUPTABILITY TESTING 6820 ************  6821 * 6822 * NON-INTERRUPTILITY TESTING 6823 * 6824 * JST MEM 6825 * JSK MEM 6826 * JSKE MEM 6827 * PUSH VAL  6828 * POP 6829 * SBIT 8,S 6830 * CBIT 8,S 6831 * COPY 8REG,S 6832 * XNX 4REG 6833 * UIS 6834 * 68356  * ALL INSTRUCTIONS ARE TESTED FOR BEING NON-INTERRUPTABLE 6836 * THE NON-INTERRUPTIBILITY OF STATUS REGISTER BIT CHANGE 6837 * INSTRUCTIONS IS TESTED ONLY WHEN THE INTERRUPT BIT IS 6838 * CHANGED.THE NON-INTERRUPTIBILITY TESTING OF XNX REFERES 6839 * TO TESTING THAT XNX DOES NOT ALTER THE NON-INTERRUPTIBILITY 6840 * OF A NON INTERRUPTIBILITY INSTRUCTION IT INDEXES. 6841 *  6842 *********** 6843 * 1PAGE 0262 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:22.75 NON-INTERRUPTABILITY TESTING 6845 ******* 6846 * 6847 * JST MEM AS NON INTERRUPTABLE INSTRUCTION 6848 * 6849 ******* 6850 * 6851 ********** 6852 * 6853 * THIS MAKES SURE THE JST INSTRUCTION WILL NOT BE 6854 * INTERRUPTED BY AN INTERRUPT REQUEST. 6855 * 6856 *********** 6857 * 000010FC 6858 G08000 EQU $ 10FC 8028 0028 6859 COPY STATSV,A RESTORE STATUS 10FD 3000 6860 COPY A,S 10FE 802A 002A 6861 COPY JST1,A JST *$+1 10FF 8712 1092 6862 COPY A,:E4 1100 82E8 1169 6863 COPY =G08007,A INTERRUPT SERVICE ROUTINE ADDRESS 1101 8711 1093 6864 COPY A,:E5 1102 0E2F 6865 SIN 3 1103 82E2 1166 6866 COPY =:6F2,A BRANCH TO FIRMWARE ADDRESS :F 1104 02F9 6867 OUT A,CRTDEVA --TO CAUSE INTERRUPT  1105 0900 6868 COPY =0,A 1106 BE83 110A 6869 JST G08004 1107 0E87 6870 RBIT 8,S DISABLE INTERRUPTS 1108 0E0D 6871 HLT JST FAILED--DID NOT JMP 1109 9E89 1113 6872 JMP G08009 ERROR EXIT 110A 0E0D 6873 G08004 ENT 110B 0901 6874 COPY =1,A 110C 0000 6875 NOP ALLOW INTERRUPT TO OCCUR 110D 0E87 6876 RBIT  8,S DISABLE INTERRUPTS 110E 0E0D 6877 HLT INTERRUPT DID NOT OCCUR 110F 9E83 1113 6878 JMP G08009 ERROR EXIT 1110 0E0D 6879 G08007 ENT INTERRUPT SERVICE ROUTINE 1111 11C1 1113 6880 JNE A,$+2 1112 0E0D 6881 HLT INTERRUPT DID NOT OCCUR 6882 * 1113 9E68 10FC 6883 G08009 JMP G08000 PATCH FOR LOOPING 1113 0000 6884  ORG $-1 1113 0000 6885 NOP OVERLAY WITH NOP 1PAGE 0263 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:24.00 NON-INTERRUPTABILITY TESTING 6888 ********** 6889 * 6890 * JSK MEM AS NON INTERRUPTABLE INSTRUCTION 6891 *  6892 ********** 6893 * 6894 ********** 6895 * 7  6896 * THIS MAKES SURE THE JSK INSTRUCTION WILL NOT BE 6897 * INTERRUPTED BY AN INTERRUPT REQUEST  6898 * 6899 *********** 6900 * 00001114 6901 G08020 EQU $ 1114 8028 0028 6902 COPY STATSV,A RESTORE STATUS 1115 3000 6903 COPY A,S 1116 82D3 116A 6904 COPY =G08026,A INTERRUPT SERVICE ROUTINE ADDRESS 1117 87CF 1167 6905 COPY A,:E5 STORE AT INTERRUPT LOCATION 1118 299C 6906 COPY =:9C,X STACK TRAP LOCATION 1119 82D1 116B 6907  COPY =G08028,A TRAP SERVICE ROUTINE ADDRESS 111A 8483 0003 6908 COPY A,3(X) STORE IN 4TH WORD OF TRAP 111B 82CC 1168 6909 COPY =STAKLP2,A STACK LIMIT 111C 5000 6910 COPY A,L  LOAD L REG 111D 82CE 116C 6911 COPY =STAKKP2,A STACK POINTER 111E 7000 6912 COPY A,K  LOAD K REG 111F 0E2F 6913 SIN 3 1120 82C5 1166 6914 COPY =:6F2,A BRANCH TO FIRMWARE LOCATION :F 1121 02F9 6915 OUT A,CRTDEVA --TO FORCE AN INTERRUPT 1122 0900 6916  COPY =0,A 1123 FE83 1127 6917 JSK G08024 SHOULD BE NON-INTERRUPTABL;E 1124 0E87 6918  RBIT 8,S 1125 0E0D 6919 HLT JSK DID NOT OCCUR 1126 9E8C 1133 6920 JMP G08029 ERROR EXIT 00001127 6921 G08024 EQU $ 1127 0901 6922 COPY =1,A  COPY SHOULD EXECUTE BEFORE INTERRUPT 1128 0000 6923 NOP ALLOW INTERRUPT TO OCCUR 1129 0E87 6924 RBIT 8,S 112A 0E0D 6925 HLT INTERRUPT DID NOT OCCUR 112B 9E87 1133 6926 JMP G08029 ERROR EXIT 112C 0E0D 6927 G08026 ENT 112D 11C1 112F 6928 JNE  A,$+2 TEST A 112E 0E0D 6929 HLT JSK IS INTERRUPTABLE--ERROR 112F 9E84 1134 6930  JMP G08030 EXIT 1PAGE 0264 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:25.25 NON-INTERRUPTABILITY TESTING 00001130 6931 G08028 EQU $ STACK SERVICE ROUTINE 1130 0E0F 6932 SIN 1 1131 0E87 6933 RBIT 8,S DISABLE INTERRUPTS 1132 0E0D 6934 HLT UNEXPECTED STACK OVERFLOW 1133 9E60 1114 6935 G08029 JMP G08020 PATCH FOR LOOPING 1133 0000 6936 ORG $-1 1133 0000 6937 NOP OVERLAY WITH NOP 1PAGE  0265 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:25.75 NON-INTERRUPTABILITY TESTING  6939 ******** 6940 * 6941 * JSKE MEM AS NON INTERRUPTABLE INSTRUCTION 6942 * 6943 ******** 6944 * 6945 ********  6946 * 6947 * THIS MAKES SURE THAT THE JSKE INSTRUCTION WILL 6948 * NOT BE INTERRUP8 TED BY AN INTERRUPT REQUEST 6949 * 6950 ******** 6951 * 00001134 6952 G08030 EQU $ 1134 0308 6953 FMT A TEST TO SEE IF THIS IS A 01 OR 02 SCOUT 1135 0D43 6954 CSK A,=:43 IF =:43 D0 TEST 1136 0000 6955 NOP 1137 9EB8 1170 6956  JMP G08040 SKIP TEST 1138 8028 0028 6957 COPY STATSV,A INITIALIZE STATUS 1139 3000 6958 COPY A,S 113A 82B2 116D 6959 COPY =G08036,A INTERRUPT SERVICE ROUTINE ADDRESS 113B 87AB 1167 6960 COPY A,:E5 STORE AT INTERRUPT LOCATION 113C 82B1 116E 6961 COPY =G08038,A STACK TRAP SERVICE ROUTINE ADDRESS 113D 8483 0003 6962 COPY A,3(X) STORE IN 4TH WORD OF TRAP (9F0 113E 82A9 1168 6963 COPY =STAKLP2,A STACK LIMIT 113F 5000 6964 COPY A,L LOAD L REG 1140 82AB 116C 6965 COPY =STAKKP2,A STACK PIONTER 1141 7000 6966 COPY A,K STACK POINTER 1142 0E2F 6967 SIN 3 1143 82A2 1166 6968 COPY =:6F2,A BRANCH TO FIRMWARE LOCATION :F 1144 02F9 6969 OUT A,CRTDEVA --TO CAUSE INTERRUTP 1145 0900 6970 COPY =0,A  1146 0703 6971 JSKE G08034 1147 114B 1148 0000 6972 NOP 1149 0E87 6973 RBIT 8,S 114A 0E0D 6974 HLT INTERRUPT DID NOT OCCUR 6975 * 0000114B 6976 G08034 EQU $ 114B 0901 6977 COPY =1,A COPY SHOULD EXECUTE BEFORE INTERRUPT OCCURS 114C 0000 6978 NOP ALLOW INTERRUPT TO OCCUR 114D 0E87 6979 RBIT 8,S  RESET INTERRUPTS 114E 0E0D 6980 HLT INTERRUPT DID NOT OCCUR 1PAGE 0266 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:27.00 NON-INTERRUPTABILITY TESTING 114F 9E87 1157 6981 JMP G08039 ERROR EXIT 1150 0E0D 6982 G08036 ENT 1151 11C1 1153 6983 JNE A,$+2 TEST A 1152 0E0D 6984 HLT JSKE IS INTERRUPTABLE 1153 9E83 1157 6985 JMP G08039 ERROR EXIT 00001154 6986 G08038 EQU $ 1154 0E0F 6987 SIN 1 1155 0E87 6988 RBIT 8,S DISABLE INTERRUPTS 1156 0E0D 6989 HLT UNEXPECTED STACK OVERFLOW 1157 9E5C 1134 6990 G08039 JMP G08030 PATCH FOR LOOPING 1157 0000 6991 ORG  $-1 1157 0000 6992 NOP OVERLAY WITH NOP 1158 9E97 1170 6993 JMP G08040  6994 * 6995 * 6996 * DATA 6997 * 1159 0000 6998 STAKP2 RES 13,0 00001159 6999 STAKLP2 EQU STAKP2 00001160 7000 STAK1P2 EQU STAKP2+7  00001161 7001 STAKKP2 EQU STAKP2+8 00001166 7002 STAKXP2 EQU STAKP2+13 7003 * 09 00A 7004 LPOOL 1166 06F2 1167 00E5 1168 1159 STAKLP2 1169 1110 G08007 116A 112C G08026 116B 1130 G08028 116C 1161 STAKKP2 116D 1150 G08036 116E 1154 G08038 116F 1PAGE 0267 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:27.75 NON-INTERRUPTABILITY TESTING 7006 ********** 7007 *  7008 * PUSH VAL AS NON-INTERRUPTABLE INSTRUCTION 7009 * 7010 **********  7011 * 7012 *********** 7013 * 7014 * THIS MAKES SURE THAT THE PUSH INSTRUCTION CAN NOT 7015 * BE INTERRUPTED. 7016 * 7017 ************ 7018 * 00001170 7019 G08040 EQU $ 1170 8028 0028 7020 COPY STATSV,A  INITIALIZE STATUS 1171 3000 7021 COPY A,S 1172 82B7 11AA 7022 COPY =G08046,A INTERRUPT SERVICE ROUTINE ADDRESS 1173 8773 1167 7023 COPY A,:E5 STORE AT INTERRUPT LOCATION 1174 82B6 11AB  7024 COPY =G08048,A STORE TRAP SERVICE ROUTINE 1175 8483 0003 7025 COPY A,3(X) STORE IN 4TH TRAP LOCATION 1176 8271 1168 7026 COPY =STAKLP2,A STACK LIMIT 1177 5000 7027 COPY A,L LOAD L REG 1178 82B3 11AC 7028 COPY =STAKXP2,A STACK POINTER 1179 7000 7029 COPY A,K LOAD K REG 117A 0E2F 7030 SIN 3 117B 826A 1166 7031 COPY =:6F2,A  BRANCH TO FIRMWARE ADDRESS :F 117C 02F9 7032 OUT A,CRTDEVA TO CAUSE INTERRUPT 117D 0900 7033  COPY =0,A 117E 4309 7034 PUSH 0 SHOULD BE NON-INTERRUPTABLE 117F 0000 1180 0901 7035 COPY =1,A COPY SHOULD EXECUTE BEFORE INTERRUPT 1181 0000 7036 NOP 1182 0E87 7037 RBIT 8,S 1183 0E0D 7038 HLT INTERRUPT DID NOT OCCUR 1184 9E87 118C 7039 JMP G08049 ERROR EXIT 1185 0E0D 7040 G08046 ENT INTERRUPT SERVICE ROUTINE 1186 11C1 1188 7041 JNE A,$+2 1187 0E0D 7042 HLT PUSH WAS INTERRUPTED  1188 9E83 118C 7043 JMP G08049 7044 * 00001189 7045 G08048 EQU $ STACK OVERFLOW TRAP ROUTINE 1189 0E0F 7046 SIN 1 118A 0E87 7047 RBIT 8,S 1PAGE 0268  MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:29.00 NON-INTERRUPTABILITY TESTING 118B 0E0D 7048 HLT UNEXPECTED STACK OVERFLOW TRAP 7049 * 118C 9E63 1170 7050 G08049 JMP G08040 PATCH FOR LOOPING 118C 0000 7051 ORG $-1 118C 0000 7052 NOP OVERLAY WITH NOP 7053 * 118D 094C 7054 COPY =USET1,A UNEXPECTED STACK TRAP ROUTINE ADDRESS 118E 8483 0003 7055 COPY A,3(X) STORE IN 4TH WORD OF TRAP 705: 6 ********** 7057 * 7058 * POP AS INTERRUPT INSTRUCTION 7059 *  7060 *********** 7061 * 0000118F 7062 G08050 EQU $ 118F 8028 0028 7063  COPY STATSV,A INITIALIZE STATUS 1190 3000 7064 COPY A,S 1191 829B 11AD 7065 COPY  =G08056,A INTERRUPT SERVICE ROUTINE ADDRESS 1192 8754 1167 7066 COPY A,:E5 STORE AT INTERRUPT LOCATION 1193 8254 1168 7067 COPY =STAKLP2,A STACK LIMIT 1194 5000 7068 COPY A,L LOAD L REG 1195 8298 11AE 7069 COPY =STAK1P2,A STACK POINTER 1196 7000 7070 COPY A,K  LOAD K REG 1197 8028 0028 7071 COPY STATSV,A INITIALIZE STACK 1198 8648 1161 7072 COPY  A,STAK1P2+1 1199 0900 7073 COPY =0,A 119A 8647 1162 7074 COPY A,STAK1P2+2  7075 * 119B 0E2F 7076 SIN 3 119C 8249 1166 7077 COPY =:6F2,A BRANCH TO FIRMWARE ADDRESS :F 119D 02F9 7078 OUT A,CRTDEVA --TO CAUSE AN INTERRUPT 119E 0900 7079 COPY  =0,A 119F 6309 7080 POP SHOULD BE NON-INTERRUPTABLE 11A0 0901 7081 COPY  =1,A COPY SHOULD EXECUTE BEFORE INTERRUPT 11A1 0000 7082 NOP ALLOW INTERRUPT TO OCCUR 11A2 0E87 7083 RBIT 8,S DISABLE INTERRUPTS 11A3 0E0D 7084 HLT  INTERRUPT DOES NOT OCCUR 11A4 9E83 11A8 7085 JMP G08059 7086 * 7087 * 11A5 0E0D 7088 G08056 ENT INTERRUPT SERVICE ROUTINE 11A6 11C1 11A8 7089 JNE A,$+2 11A7 0E0D 7090 HLT POP WAS INTERRUPTED 1PAGE 0269 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:30.25 NON-INTERRUPTABILITY TESTING 7091 * 11A8 9E7F 11A8 7092  G08059 JMP G08059 PATCH FOR LOOPING 11A8 0000 7093 ORG $-1 11A8 0000 7094 NOP OVERLAY WITH NOP 11A9 9E86 11B0 7095 JMP G08060 7096 * 0006  7097 LPOOL 11AA 1185 G08046 11AB 1189 G08048 11AC 1166 STAKXP2 11AD 11A5 G08056 11AE 1160 STAK1P2 11AF  7098 * 1PAGE 0270 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:30.50 NON-INTERRUPTABILITY TESTING 7100 * 7101 ************ 7102 * 7103 * SBIT 8,S AS NON-INTERRUPTABLE INSTRUCTION 7104 * 7105 ************  7106 * 000011B0 7107 G08060 EQU $ 11B0 0940 7108 COPY =:40,A 11B1 3000 7109  COPY A,S INITIALIZE STATUS 11B2 82C9 11FC 7110 COPY =G08066,A INTERRUPT SERVICE ROUTINE ADDRESS 11B3 8733 1167 7111 COPY A,:E5 STORE AT INTERRUPT LOCATION 11B4 8231 1166 7112 COPY ;  =:6F2,A BRANCH TO FIRMWARE ADDRESS :F 11B5 02F9 7113 OUT A,CRTDEVA --TO CAUSE INTERRUPT 11B6 0900 7114 COPY =0,A 11B7 0E85 7115 SBIT 8,S ENABLE INTERRUPTS 11B8 0901  7116 COPY =1,A COPY SHOULD EXECUTE BEFORE INTERRUPT 11B9 0000 7117 NOP 11BA 0E87  7118 RBIT 8,S DISABLE INTERRUPTS 11BB 0E0D 7119 HLT INTERRUPT DID NOT OCCUR 11BC 9E83 11C0 7120 JMP G08069 ERROR EXIT 7121 * 11BD 0E0D 7122 G08066 ENT INTERRUPT SERVICE ROUTINE 11BE 11C1 11C0 7123 JNE A,$+2 CHECK TO SEE IF COPY OCCURED 11BF 0E0D 7124 HLT SBIT IN S IS INTERRUPTABLE 11C0 9E6F 11B0 7125 G08069 JMP G08060 PATCH FOR LOOPING 11C0 0000 7126 ORG $-1 11C0 0000 7127 NOP  OVERLAY WITH NOP 1PAGE 0271 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:31.50  NON-INTERRUPTABILITY TESTING 7129 * 7130 ********** 7131 *  7132 * CBIT 8,S AS NON-INTERRUPTABLE INSTRUCTION 7133 * 7134 **********  7135 * 000011C1 7136 G08070 EQU $ 11C1 0940 7137 COPY =:40,A 11C2 3000 7138 COPY A,S INITIALIZE STATUS 11C3 82B9 11FD 7139 COPY =G08076,A INTERRUPT SERVICE ROUTINE ADDRESS 11C4 8722 1167 7140 COPY A,:E5 STORE AT INTERRUPT ADDRESS 11C5 8220 1166 7141 COPY =:6F2,A BRANCH TO FIRMWARE ADDRESS :F 11C6 02F9 7142 OUT A,CRTDEVA --TO CAUSE INTERRUPT 11C7 0900 7143 COPY =0,A 11C8 0E86 7144 CBIT 8,S SHOULD BE NON-INTERRUPTABLE 11C9 0901 7145 COPY =1,A SHOULD EXECUTE BEFORE INTERRUPT 11CA 0000 7146 NOP 11CB 0E87 7147 RBIT 8,S DISABLE INTERRUPTS 11CC 0E0D 7148 HLT INTERRUPT DID NOT OCCUR 11CD 9E83 11D1 7149 JMP G08079 ERROR EXIT 7150 * 11CE 0E0D  7151 G08076 ENT INTERRUPT SERVICE ROUTINE 11CF 11C1 11D1 7152 JNE A,$+2 CHECK TO SEE IF COPY OCCURED 11D0 0E0D 7153 HLT CBIT IS INTERRUPTABLE 11D1 9E6F 11C1 7154 G08079 JMP G08070 PATCH FOR LOOPING 11D1 0000 7155 ORG $-1 11D1 0000 7156 NOP  OVERLAY WITH NOP 1PAGE 0272 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:32.50 NON-INTERRUPTABILITY TESTING 7158 * 7159 ********* 7160 *  7161 * XNX 4REG AS NON-INTERRUPTABLE INSTRUCTION 7162 * 7163 **********  7164 * 000011D2 7165 G08090 EQU $ 11D2 0940 7166 COPY =:40,A 11D3 3000 <  7167 COPY A,S INITIALIZE STATUS 11D4 82A9 11FE 7168 COPY =G08096,A INTERRUPT ROUTINE SERVICE ADDRESS 11D5 8711 1167 7169 COPY A,:E5 SAVE AT INTERRUPT LOCATION 11D6 C20F 1166 7170  COPY =:6F2,Q BRANCH TO FIRMWARE ADDRESS :F 11D7 42F9 7171 OUT Q,CRTDEVA --TO CAUSE INTERRUPT 11D8 0900 7172 COPY =:0,A 11D9 0E85 7173 SBIT 8,S ENABLE INTERRUPTS 11DA 030A 7174 XNX A 11DB BE83 11DF 7175 JST G08094 SHOULD BE NON INTERRUPTABLE 11DC 0E87 7176 RBIT 8,S DISABLE INTERRUPTS 11DD 0E0D 7177 HLT JST FAILED--DID NOT JMP 11DE 9E89 11E8 7178 JMP G08099 ERROR EXIT 7179 * 11DF 0E0D 7180 G08094 ENT 11E0 0901 7181 COPY =1,A COPY SHOULD EXECUTE BEFORE INTERRUPT 11E1 0000 7182 NOP 11E2 0E87 7183 RBIT 8,S DISABLE INTERRUPTS 11E3 0E0D 7184 HLT INTERRUPT DID NOT OCCUR 11E4 9E83 11E8 7185 JMP G08099 ERROR EXIT 7186 * 11E5 0E0D 7187 G08096 ENT INTERRUPT SERVICE ROUTINE 11E6 11C1 11E8 7188 JNE  A,$+2 TEST TO SEE IF COPY OCCURRED 11E7 0E0D 7189 HLT JST AFTER XNX IS INTERRUPTABLE 11E8 9E69 11D2 7190 G08099 JMP G08090 PATCH FOR LOOPING 11E8 0000 7191 ORG $-1 11E8 0000 7192 NOP OVERLAY WITH NOP 1PAGE 0273 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:33.50 NON-INTERRUPTABILITY TESTING 7194 * 7195 *********  7196 * 7197 * UIS AS NON-INTERRUPTABLE INSTRUCTION 7198 *  7199 ********* 7200 * 000011E9 7201 G080A0 EQU $ 11E9 0940 7202 COPY  =:40,A 11EA 3000 7203 COPY A,S INITIALIZE STATUS 11EB 8293 11FF 7204 COPY =G080A6,A INTERRUPT SERVICE ROUTINE 11EC 8793 1200 7205 COPY A,:E5 SAVE IN INTERRUPT LOCATION 11ED 8293 1201 7206 COPY =:6F2,A BRANCH TO FIRMWARE ADDRESS :F 11EE 02F9 7207 OUT A,CRTDEVA -- TO CAUSE INTERRUPT 11EF 0900 7208 COPY =0,A 11F0 0E85 7209 SBIT 8,S ENABLE INTERRUPTS 11F1 0309 7210 UIS SHOULD BE NON-INTERRUPTABLE 11F2 0901 7211 COPY =1,A COPY SHOULD EXECUTE BEFORE INTERRUPT 11F3 0000 7212 NOP 11F4 0E87 7213 RBIT 8,S DISABLE INTERRUPTS 11F5 0E0D 7214 HLT INTERRUPT DID NOT OCCUR 11F6 9E83 11FA 7215 JMP G080A9 ERROR EXIT 7216 * 11F7 0E0D 7217 G080A6 ENT  INTERRUPT SERVICE ROUTINE ADDRESS 11F8 11C1 11FA 7218 JNE A,$+2 CHECK TO SEE IF COPY OCCURRE= D 11F9 0E0D 7219 HLT UIS IS INTERRUPTABLE 11FA 9E6E 11E9 7220 G080A9 JMP G080A0  PATCH FOR LOOPING 11FA 0000 7221 ORG $-1 11FA 0000 7222 NOP OVERLAY WITH NOP 11FB 9E87 1203 7223 JMP G09000 0007 7224 LPOOL 11FC 11BD G08066 11FD 11CE G08076 11FE 11E5 G08096 11FF 11F7 G080A6 1200 00E5 1201 06F2 1202 7225 * 1203 9E9C 1220 7226 G09000 JMP PART3ST LEAVE SPACE FOR DMA 7227 * 7228 * DMA TO GO IN LATER 1PAGE 0274 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:34.75 I/O TEST IMPLEMENTATION  7230 ************************************************************************** 7231 *  7232 * THE I/O TEST FUNCTIONS ARE PRESENTLY NOT IMPLEMENTED 7233 * DUE TO THE LACK OF AN I/O TEST CARD. 7234 * 7235 ************************************************************************ 1204 0000 7236 RES $;:1F-$&:1F+1,0 00001220 7237 PART3ST SET $ 1PAGE 0275 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:35.00 FLOATING POINT INITIALIZATION 1220 7240 NAM FLPT 122B 7241 NAM INITRP 0020 0020 7242 MACHINE =:20 1220 0000 7243 ORG PART3ST 000000A8 7244 ATRAP EQU :A8 00001220 7245 FLPT EQU $ 1220 0308 7246 FMT A IS THIS A 4/04-01 OR 02?? 1221 0D43 7247 CSK A,=:43 IF = TO :43 IT IS A 4/04-02 1222 0000 7248 NOP 1223 9F8F 1233 7249 JMP PART3:1 IT IS A 4/04-01 SO SKIP THIS TEST 1224 838F 1234 7250 COPY DEMAND,A FETCH TEST SELECTION 1225 1820 7251 AND =:20,A TEST BIT 5 1226 11C1 1228 7252 JNE A,$+2 IF SET, EXECUTE TEST 1227 9F8B 1233 7253 JMP PART3:1 EXIT TEST IF NOT SET 1228 0905 7254 COPY =5,A FLOATING POINT RUN INDICATOR 1229 0404 7255 SELP A,4 OUTPUT TO CONSOLE 122A 9E8E 1239 7256  JMP FLTPT0 7257 * 7258 * TRAP INITIALIZATION SUBROUTINE 7259 * 122B 0E0D 7260 INITRP ENT 122C 0946 7261 COPY =AET2,A SET UP TRAP VECTOR 122D 8787 1235 7262 COPY A,ATRAP+3 122E 0900 7263 COPY =0,A 122F 8786 1236 7264 COPY A,ATRAP CLEAR SAVED 'P' 1230 8786 1237 7265 COPY A,ATRAP+1 CLEAR SAVED 'I' 1231 8420 0020 7266  COPY A,QTEMP ZERO OUT TRAP FLAG 1232 9F78 122B 7267 JMP *INITRP 0006 7268 LPOOL 1233 1700 1234 00F5 DEMAND 1235 00AB 1236 00A8 ATRAP 1237 00A9 1238 1239 0900 7269 FLTPT0 COPY =0,A 123A 8426 0026 7270 COPY A,IDPCNT SET UP LOOP COUNTER 0000123B 7271 FLTPT1 EQU $ 1PAGE 0276 M> ACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:36.25 --FIX-- INSTRUCTION TEST (PART 3-1)  7273 * 7274 * 7275 * THE FOLLOWING INSTRUCTION IS TESTED IN THIS SECTION: 7276 * 7277 * FIX 7278 * 7279 *  7280 * +:000000 FIX = :0000 :0000 POSITIVE ZERO 00000000 7281 IFF 0  7281+ * CY=S OV=S A=:0000 Q=:0000 FIX =:0000 :0000 SP 0000123B 7281+ FLOAT1 SET $ 123B BE6F 122B 7281+ JST INITRP INITIALIZE TRAP LOCATIONS 123C 0900 7281+ COPY =:0000,A :0000 ==> 'A'  123D 4900 7281+ COPY =:0000,Q :0000 ==> 'Q' 123E A298 1257 7281+ COPY =:3333,X :3333 ==> 'X' 123F E298 1258 7281+ COPY =:0F0F,Y :0F0F ==> 'Y' 1240 0E05 7281+ SBIT CY,S  S ==> CARRY FLAG 1241 0E15 7281+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7281+  IFT 1;0 00001242 7281+ FLOAT3 SET $ 00000001 7281+ IFT 1 1242 030C 7281+  FIX -- EXPECT SINGLE PRECISION RESULT 7281+ ENDC 7281+  ENDC 00000000 7281+ IFF 0 00000001 7281+ IFT 5>0 1243 0D00 7281+ CSK A,=:0000 CHECK -A- 1244 0000 7281+ NOP 1245 0E0D 7281+ HLT -A- SHOULD CONTAIN :0000 1246 4D00 7281+ CSK Q,=:0000 CHECK -Q- 1247 0000 7281+ NOP 1248 0E0D 7281+ HLT -Q- SHOULD CONTAIN :0000 7281+ ENDC 7281+ ENDC 1249 0020 7281+ COPY X,A FOR TESTING 124A BA8C 1257 7281+ CSK A,=:3333 CHECK -X- 124B 0000 7281+ NOP 124C 0E0D 7281+ HLT FIX MODIFIED -X- 124D 0060 7281+ COPY Y,A FOR TESTING 124E BA89 1258 7281+ CSK A,=:0F0F CHECK -Y- 124F 0000 7281+ NOP 1250 0E0D 7281+ HLT FIX MODIFIED -Y- 00000001 7281+ IFT 1 1PAGE 0277 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:38.75 --FIX-- INSTRUCTION TEST (PART 3-1) 1251 56C1 1253 7281+ JF CY,$+2 CARRY RESET? 1252 0E0D 7281+ HLT NO-- SHOULD BE RESET WHEN SINGLE PRECISION 1253 36C1 1255 7281+ JF OV,$+2  OVERFLOW RESET? 1254 0E0D 7281+ HLT NO-- SHOULD BE RESET WHEN SINGLE PRECISION  7281+ ENDC 1255 9E65 123B 7281+ JMP FLOAT1 PATCH FOR LOOPING 1255 0000 7281+  ORG $-1 1255 0000 7281+ NOP 00001256 7281+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 1256 0000 7281+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0002 ?  7281+ LPOOL 1257 3333 1258 0F0F 00001259 7281+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 1256 0000 7281+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1256 9E82 1259 7281+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 1259 0000 7281+ ORG LP::L1 CONTINUE AT END OF LPOOL 7281+ ENDC 1PAGE 0278 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:39.75 --FIX-- INSTRUCTION TEST (PART 3-1) 7283 * -:000000 FIX = :0000 :0000 NEGATIVE ZERO 00000000 7284 IFF 0 7284+ * CY=S OV=S A=:8000 Q=:0000 FIX =:0000 :0000 SP 00001259 7284+ FLOAT1 SET $ 1259 BE51 122B 7284+ JST INITRP INITIALIZE TRAP LOCATIONS 125A 829A 1275 7284+ COPY =:8000,A :8000 ==> 'A' 125B 4900 7284+ COPY =:0000,Q :0000 ==> 'Q' 125C A27A 1257 7284+ COPY =:3333,X :3333 ==> 'X' 125D E27A 1258 7284+ COPY =:0F0F,Y :0F0F ==> 'Y' 125E 0E05 7284+ SBIT CY,S S ==> CARRY FLAG 125F 0E15 7284+ SBIT OV,S  S ==> OVERFLOW FLAG 00000001 7284+ IFT 1;0 00001260 7284+ FLOAT3 SET $ 00000001  7284+ IFT 1 1260 030C 7284+ FIX -- EXPECT SINGLE PRECISION RESULT  7284+ ENDC 7284+ ENDC 00000000 7284+ IFF 0 00000001 7284+  IFT 5>0 1261 0D00 7284+ CSK A,=:0000 CHECK -A- 1262 0000 7284+ NOP 1263 0E0D 7284+ HLT -A- SHOULD CONTAIN :0000 1264 4D00 7284+ CSK Q,=:0000  CHECK -Q- 1265 0000 7284+ NOP 1266 0E0D 7284+ HLT -Q- SHOULD CONTAIN :0000  7284+ ENDC 7284+ ENDC 1267 0020 7284+ COPY X,A  FOR TESTING 1268 BA6E 1257 7284+ CSK A,=:3333 CHECK -X- 1269 0000 7284+ NOP 126A 0E0D  7284+ HLT FIX MODIFIED -X- 126B 0060 7284+ COPY Y,A FOR TESTING 126C BA6B 1258 7284+ CSK A,=:0F0F CHECK -Y- 126D 0000 7284+ NOP 126E 0E0D 7284+  HLT FIX MODIFIED -Y- 00000001 7284+ IFT 1 126F 56C1 1271 7284+ JF CY,$+2 CARRY RESET? 1270 0E0D 7284+ HLT NO-- SHOULD BE RESET WHEN SINGLE PRECISION 1271 36C1 1273 7284+ JF OV,$+2 OVERFLOW RESET? 1272 0E0D 7284+ HLT NO-- SHOULD BE RESET WHEN SINGLE PRECISION 7284+ ENDC 1273 9E65 1259 7284+ JMP FLOAT1 PATCH FOR LOOPING 1273 0000 7284+ ORG $-1 1PAGE 0279 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:42.75 --FIX-- INSTRUCTION TEST (PART 3-1) 1273 0000 7284+ NOP 00001274 7@ 284+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 1274 0000 7284+ NOP  RESERVE SPACE FOR JMP INSTRUCTION 0001 7284+ LPOOL 1275 8000 00001276 7284+ LP::L1 SET  $ SET UP LABEL AT END OF LPOOL 1274 0000 7284+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1274 9E81 1276 7284+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 1276 0000 7284+ ORG LP::L1 CONTINUE AT END OF LPOOL 7284+ ENDC 1PAGE 0280 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:43.25 --FIX-- INSTRUCTION TEST (PART 3-1) 7286 * +:FFF64F +0 FIX = :0000 :0000 ALL FRACTION 00000000 7287 IFF 0 7287+ * CY=S OV=S A=:407F Q=:F64F FIX =:0000 :0000 SP 00001276 7287+ FLOAT1 SET $ 1276 BE34 122B 7287+ JST INITRP  INITIALIZE TRAP LOCATIONS 1277 829A 1292 7287+ COPY =:407F,A :407F ==> 'A' 1278 C29A 1293 7287+ COPY =:F64F,Q :F64F ==> 'Q' 1279 A25D 1257 7287+ COPY =:3333,X :3333 ==> 'X' 127A E25D 1258 7287+ COPY =:0F0F,Y :0F0F ==> 'Y' 127B 0E05 7287+ SBIT CY,S S ==> CARRY FLAG 127C 0E15 7287+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7287+ IFT 1;0 0000127D 7287+ FLOAT3 SET $ 00000001 7287+ IFT 1 127D 030C 7287+ FIX -- EXPECT SINGLE PRECISION RESULT 7287+ ENDC 7287+ ENDC 00000000 7287+  IFF 0 00000001 7287+ IFT 5>0 127E 0D00 7287+ CSK A,=:0000 CHECK -A- 127F 0000 7287+ NOP 1280 0E0D 7287+ HLT -A- SHOULD CONTAIN :0000 1281 4D00  7287+ CSK Q,=:0000 CHECK -Q- 1282 0000 7287+ NOP 1283 0E0D 7287+ HLT  -Q- SHOULD CONTAIN :0000 7287+ ENDC 7287+ ENDC 1284 0020  7287+ COPY X,A FOR TESTING 1285 BA51 1257 7287+ CSK A,=:3333 CHECK -X- 1286 0000 7287+ NOP 1287 0E0D 7287+ HLT FIX MODIFIED -X- 1288 0060 7287+  COPY Y,A FOR TESTING 1289 BA4E 1258 7287+ CSK A,=:0F0F CHECK -Y- 128A 0000 7287+  NOP 128B 0E0D 7287+ HLT FIX MODIFIED -Y- 00000001 7287+ IFT 1 128C 56C1 128E 7287+ JF CY,$+2 CARRY RESET? 128D 0E0D 7287+ HLT NO-- SHOULD BE RESET WHEN SINGLE PRECISION 128E 36C1 1290 7287+ JF OV,$+2 OVERFLOW RESET? 128F 0E0D 7287+ HLT NO-- SHOULD BE RESET WHEN SINGLE PRECISION 7287+ ENDC 1290 9E65 1276 7287+ JMP FLOAT1 PATCH FOR LOOPING 1290 0000 7287+ ORG $-1 1PAGE 0281 MACRO (F10A 0) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:46.50 --FIX-- INSTRUCTION TEST (PART 3-1) 1290 0000  7287+ NOP 00001291 7287+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 1291 0000 7287+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0002 7287+ LPOOL 1292 407F 1293 F64F 00001294 7287+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 1291 0000 7287+  ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1291 9E82 1294 7287+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 1294 0000 7287+ ORG LP::L1 CONTINUE AT END OF LPOOL 7287+  ENDC 1PAGE 0282 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:47.00 --FIX-- INSTRUCTION TEST (PART 3-1) 7289 * +:FFFFFF +15 FIX = :0000 :7FFF MAX POS. S.P., CHECK TRUNCATION 00000000 7290 IFF 0 7290+ * CY=R OV=R A=:47FF Q=:FFFF FIX =:0000 :7FFF SP 00001294 7290+ FLOAT1 SET $ 1294 BE16 122B 7290+ JST INITRP INITIALIZE TRAP LOCATIONS 1295 829B 12B1 7290+  COPY =:47FF,A :47FF ==> 'A' 1296 48FF 7290+ COPY =:FFFF,Q :FFFF ==> 'Q' 1297 A23F 1257 7290+ COPY =:3333,X :3333 ==> 'X' 1298 E23F 1258 7290+ COPY =:0F0F,Y :0F0F ==> 'Y' 1299 0E07 7290+ RBIT CY,S R ==> CARRY FLAG 129A 0E17 7290+ RBIT OV,S R ==> OVERFLOW FLAG 00000001 7290+ IFT 1;0 0000129B 7290+ FLOAT3 SET $ 00000001 7290+  IFT 1 129B 030C 7290+ FIX -- EXPECT SINGLE PRECISION RESULT 7290+  ENDC 7290+ ENDC 00000000 7290+ IFF 0 00000001 7290+ IFT  5>0 129C 0D00 7290+ CSK A,=:0000 CHECK -A- 129D 0000 7290+ NOP 129E 0E0D 7290+ HLT -A- SHOULD CONTAIN :0000 129F FA90 12B0 7290+ CSK Q,=:7FFF CHECK -Q- 12A0 0000 7290+ NOP 12A1 0E0D 7290+ HLT -Q- SHOULD CONTAIN :7FFF  7290+ ENDC 7290+ ENDC 12A2 0020 7290+ COPY X,A FOR TESTING 12A3 BA33 1257 7290+ CSK A,=:3333 CHECK -X- 12A4 0000 7290+ NOP 12A5 0E0D 7290+  HLT FIX MODIFIED -X- 12A6 0060 7290+ COPY Y,A FOR TESTING 12A7 BA30 1258 7290+ CSK A,=:0F0F CHECK -Y- 12A8 0000 7290+ NOP 12A9 0E0D 7290+ HLT  FIX MODIFIED -Y- 00000001 7290+ IFT 1 12AA 56C1 12AC 7290+ JF CY,$+2 CARRY RESET? 12AB 0E0D 7290+ HLT NO-- SHOULD BE RESET WHEN SINGLE PRECISION 12AC 36C1 12AE 7290+ JF OV,$+2 OVERFLOW RESET? 12AD 0E0D 7290+ HLT NO-- SHOULD BE RESET B WHEN SINGLE PRECISION 7290+ ENDC 12AE 9E65 1294 7290+ JMP FLOAT1 PATCH FOR LOOPING 12AE 0000 7290+ ORG $-1 1PAGE 0283 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:50.00 --FIX-- INSTRUCTION TEST (PART 3-1) 12AE 0000 7290+ NOP 000012AF 7290+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 12AF 0000 7290+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0002 7290+ LPOOL 12B0 7FFF 12B1 47FF 000012B2 7290+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 12AF 0000 7290+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 12AF 9E82 12B2 7290+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 12B2 0000 7290+ ORG LP::L1 CONTINUE AT END OF LPOOL 7290+ ENDC 1PAGE 0284 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:50.50 --FIX-- INSTRUCTION TEST (PART 3-1) 7292 * -:800000 +1 FIX = :FFFF :FFFF MIN NEG. S.P., CHECK TRUNCATION 00000000 7293 IFF 0 7293+ * CY=S OV=S A=:C080 Q=:0000 FIX =:FFFF :FFFF SP 000012B2 7293+ FLOAT1 SET $ 12B2 BF9B 12CE 7293+ JST  INITRP INITIALIZE TRAP LOCATIONS 12B3 829B 12CF 7293+ COPY =:C080,A :C080 ==> 'A' 12B4 4900 7293+ COPY =:0000,Q :0000 ==> 'Q' 12B5 A221 1257 7293+ COPY =:3333,X :3333 ==> 'X' 12B6 E221 1258 7293+ COPY =:0F0F,Y :0F0F ==> 'Y' 12B7 0E05 7293+ SBIT CY,S S ==> CARRY FLAG 12B8 0E15 7293+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7293+ IFT 1;0  000012B9 7293+ FLOAT3 SET $ 00000001 7293+ IFT 1 12B9 030C 7293+ FIX  -- EXPECT SINGLE PRECISION RESULT 7293+ ENDC 7293+ ENDC 00000000 7293+ IFF 0 00000001 7293+ IFT 5>0 12BA BA95 12D0 7293+ CSK A,=:FFFF CHECK -A- 12BB 0000 7293+ NOP 12BC 0E0D 7293+ HLT -A- SHOULD CONTAIN :FFFF 12BD FA92 12D0 7293+ CSK Q,=:FFFF CHECK -Q- 12BE 0000 7293+ NOP 12BF 0E0D 7293+  HLT -Q- SHOULD CONTAIN :FFFF 7293+ ENDC 7293+ ENDC 12C0 0020 7293+ COPY X,A FOR TESTING 12C1 BA15 1257 7293+ CSK A,=:3333 CHECK -X- 12C2 0000 7293+ NOP 12C3 0E0D 7293+ HLT FIX MODIFIED -X- 12C4 0060  7293+ COPY Y,A FOR TESTING 12C5 BA12 1258 7293+ CSK A,=:0F0F CHECK -Y- 12C6 0000 7293+ NOP 12C7 0E0D 7293+ HLT FIX MODIFIED -Y- 00000001 7293+  IFT 1 12C8 56C1 12CA 7293+ JF CY,$+2 CARRY RESET? 12C9 0E0D 7293+ HLT C  NO-- SHOULD BE RESET WHEN SINGLE PRECISION 12CA 36C1 12CC 7293+ JF OV,$+2 OVERFLOW RESET? 12CB 0E0D 7293+ HLT NO-- SHOULD BE RESET WHEN SINGLE PRECISION 7293+ ENDC 12CC 9E65 12B2 7293+ JMP FLOAT1 PATCH FOR LOOPING 12CC 0000 7293+ ORG $-1 1PAGE 0285 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:53.50 --FIX-- INSTRUCTION TEST (PART 3-1) 12CC 0000 7293+ NOP 000012CD 7293+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 12CD 0000 7293+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0003 7293+  LPOOL 12CE 122B INITRP 12CF C080 12D0 FFFF 000012D1 7293+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 12CD 0000 7293+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 12CD 9E83 12D1 7293+  JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 12D1 0000 7293+ ORG LP::L1 CONTINUE AT END OF LPOOL 7293+ ENDC 1PAGE 0286 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:54.00 --FIX-- INSTRUCTION TEST (PART 3-1) 7295 * +:800000 +16 FIX = :0000 :8000 SMALLEST POS. D.P. 00000000 7296 IFF 0 7296+ * CY=S OV=S A=:4800 Q=:0000 FIX =:0000 :8000 DP  000012D1 7296+ FLOAT1 SET $ 12D1 BF7C 12CE 7296+ JST INITRP INITIALIZE TRAP LOCATIONS 12D2 829C 12EF 7296+ COPY =:4800,A :4800 ==> 'A' 12D3 4900 7296+ COPY =:0000,Q :0000 ==> 'Q' 12D4 A202 1257 7296+ COPY =:3333,X :3333 ==> 'X' 12D5 E202 1258 7296+ COPY =:0F0F,Y :0F0F ==> 'Y' 12D6 0E05 7296+ SBIT CY,S S ==> CARRY FLAG 12D7 0E15 7296+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7296+ IFT 1;0 000012D8 7296+ FLOAT3 SET $ 00000001 7296+ IFT 1 12D8 030C 7296+ FIX -- EXPECT DOUBLE PRECISION RESULT  7296+ ENDC 7296+ ENDC 00000000 7296+ IFF 0 00000001 7296+ IFT 5>0 12D9 0D00 7296+ CSK A,=:0000 CHECK -A- 12DA 0000 7296+ NOP 12DB 0E0D 7296+ HLT -A- SHOULD CONTAIN :0000 12DC FA18 1275 7296+ CSK Q,=:8000 CHECK -Q- 12DD 0000 7296+ NOP 12DE 0E0D 7296+ HLT -Q- SHOULD CONTAIN :8000 7296+ ENDC 7296+ ENDC 12DF 0020 7296+ COPY X,A  FOR TESTING 12E0 BA8C 12ED 7296+ CSK A,=:3333 CHECK -X- 12E1 0000 7296+ NOP 12E2 0E0D 7296+ HLT FIX MODIFIED -X- 12E3 0060 7296+ COPY Y,A FOR TESTING 12E4 BA89 12EE 7296+ CSK A,=:0F0F CHECK -Y- 12E5 0000 7296+ NOP 12E6 0E0D 7296+ D  HLT FIX MODIFIED -Y- 00000001 7296+ IFT 1 12E7 5641 12E9 7296+ JT  CY,$+2 CARRY SET? 12E8 0E0D 7296+ HLT NO-- SHOULD BE SET WHEN DOUBLE PRECISION 12E9 36C1 12EB 7296+ JF OV,$+2 OVERFLOW RESET? 12EA 0E0D 7296+ HLT NO-- SHOULD BE RESET WHEN DOUBLE PRECISION 7296+ ENDC 12EB 9E65 12D1 7296+ JMP FLOAT1  PATCH FOR LOOPING 12EB 0000 7296+ ORG $-1 1PAGE 0287 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:57.00 --FIX-- INSTRUCTION TEST (PART 3-1) 12EB 0000 7296+ NOP 000012EC  7296+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 12EC 0000 7296+ NOP  RESERVE SPACE FOR JMP INSTRUCTION 0003 7296+ LPOOL 12ED 3333 12EE 0F0F 12EF 4800 000012F0 7296+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 12EC 0000 7296+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 12EC 9E83 12F0 7296+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 12F0 0000 7296+ ORG LP::L1 CONTINUE AT END OF LPOOL 7296+ ENDC 1PAGE 0288 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:14:57.50 --FIX-- INSTRUCTION TEST (PART 3-1)  7298 * +:800000 +17 FIX = :0001 :0000 CROSS WORD BOUNDARY 00000000 7299 IFF 0  7299+ * CY=R OV=R A=:4880 Q=:0000 FIX =:0001 :0000 DP 000012F0 7299+ FLOAT1 SET $ 12F0 BF5D 12CE 7299+  JST INITRP INITIALIZE TRAP LOCATIONS 12F1 829A 130C 7299+ COPY =:4880,A :4880 ==> 'A' 12F2 4900 7299+ COPY =:0000,Q :0000 ==> 'Q' 12F3 A279 12ED 7299+ COPY =:3333,X :3333 ==> 'X' 12F4 E279 12EE 7299+ COPY =:0F0F,Y :0F0F ==> 'Y' 12F5 0E07 7299+ RBIT CY,S  R ==> CARRY FLAG 12F6 0E17 7299+ RBIT OV,S R ==> OVERFLOW FLAG 00000001 7299+  IFT 1;0 000012F7 7299+ FLOAT3 SET $ 00000001 7299+ IFT 1 12F7 030C 7299+  FIX -- EXPECT DOUBLE PRECISION RESULT 7299+ ENDC 7299+  ENDC 00000000 7299+ IFF 0 00000001 7299+ IFT 5>0 12F8 0D01 7299+ CSK A,=:0001 CHECK -A- 12F9 0000 7299+ NOP 12FA 0E0D 7299+ HLT -A- SHOULD CONTAIN :0001 12FB 4D00 7299+ CSK Q,=:0000 CHECK -Q- 12FC 0000 7299+ NOP 12FD 0E0D 7299+ HLT -Q- SHOULD CONTAIN :0000 7299+ ENDC 7299+ ENDC 12FE 0020 7299+ COPY X,A FOR TESTING 12FF BA6D 12ED 7299+ CSK A,=:3333 CHECK -X- 1300 0000 7299+ NOP 1301 0E0D 7299+ HLT FIX MODIFIED -E X- 1302 0060 7299+ COPY Y,A FOR TESTING 1303 BA6A 12EE 7299+ CSK A,=:0F0F CHECK -Y- 1304 0000 7299+ NOP 1305 0E0D 7299+ HLT FIX MODIFIED -Y- 00000001 7299+ IFT 1 1306 5641 1308 7299+ JT CY,$+2 CARRY SET? 1307 0E0D 7299+ HLT NO-- SHOULD BE SET WHEN DOUBLE PRECISION 1308 36C1 130A 7299+ JF OV,$+2 OVERFLOW RESET? 1309 0E0D 7299+ HLT NO-- SHOULD BE RESET WHEN DOUBLE PRECISION 7299+  ENDC 130A 9E65 12F0 7299+ JMP FLOAT1 PATCH FOR LOOPING 130A 0000 7299+ ORG $-1 1PAGE 0289 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:00.50 --FIX-- INSTRUCTION TEST (PART 3-1) 130A 0000 7299+ NOP 0000130B 7299+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 130B 0000 7299+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0001 7299+ LPOOL 130C 4880 0000130D 7299+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 130B 0000 7299+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 130B 9E81 130D 7299+ JMP LP::L1  JUMP TO LABEL AT END OF LPOOL 130D 0000 7299+ ORG LP::L1 CONTINUE AT END OF LPOOL  7299+ ENDC 1PAGE 0290 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:01.00 --FIX-- INSTRUCTION TEST (PART 3-1) 7301 * +:FFFFFF +31 FIX = :7FFF :FF80 MAX POS. D.P. 00000000 7302 IFF 0 7302+ * CY=S OV=S A=:4FFF Q=:FFFF FIX =:7FFF :FF80 DP 0000130D 7302+ FLOAT1 SET $ 130D BF40 12CE 7302+ JST INITRP INITIALIZE TRAP LOCATIONS 130E 829A 1329 7302+  COPY =:4FFF,A :4FFF ==> 'A' 130F 48FF 7302+ COPY =:FFFF,Q :FFFF ==> 'Q' 1310 A25C 12ED 7302+ COPY =:3333,X :3333 ==> 'X' 1311 E25C 12EE 7302+ COPY =:0F0F,Y :0F0F ==> 'Y' 1312 0E05  7302+ SBIT CY,S S ==> CARRY FLAG 1313 0E15 7302+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7302+ IFT 1;0 00001314 7302+ FLOAT3 SET $ 00000001 7302+ IFT 1 1314 030C 7302+ FIX -- EXPECT DOUBLE PRECISION RESULT 7302+  ENDC 7302+ ENDC 00000000 7302+ IFF 0 00000001 7302+ IFT  5>0 1315 BA1A 12B0 7302+ CSK A,=:7FFF CHECK -A- 1316 0000 7302+ NOP 1317 0E0D 7302+ HLT -A- SHOULD CONTAIN :7FFF 1318 FA91 132A 7302+ CSK Q,=:FF80 CHECK -Q- 1319 0000 7302+ NOP 131A 0E0D 7302+ HLT -Q- SHOULD CONTAIN :FF80  7302+ ENDC 7302+ ENDC 131B 0020 7302+ COPY X,A FOR TESTING 13F 1C BA50 12ED 7302+ CSK A,=:3333 CHECK -X- 131D 0000 7302+ NOP 131E 0E0D 7302+  HLT FIX MODIFIED -X- 131F 0060 7302+ COPY Y,A FOR TESTING 1320 BA4D 12EE 7302+ CSK A,=:0F0F CHECK -Y- 1321 0000 7302+ NOP 1322 0E0D 7302+ HLT  FIX MODIFIED -Y- 00000001 7302+ IFT 1 1323 5641 1325 7302+ JT CY,$+2 CARRY SET? 1324 0E0D 7302+ HLT NO-- SHOULD BE SET WHEN DOUBLE PRECISION 1325 36C1 1327 7302+  JF OV,$+2 OVERFLOW RESET? 1326 0E0D 7302+ HLT NO-- SHOULD BE RESET WHEN DOUBLE PRECISION 7302+ ENDC 1327 9E65 130D 7302+ JMP FLOAT1 PATCH FOR LOOPING  1327 0000 7302+ ORG $-1 1PAGE 0291 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:04.00 --FIX-- INSTRUCTION TEST (PART 3-1) 1327 0000 7302+ NOP 00001328 7302+ LP::L SET  $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 1328 0000 7302+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0002 7302+ LPOOL 1329 4FFF 132A FF80 0000132B 7302+ LP::L1 SET $  SET UP LABEL AT END OF LPOOL 1328 0000 7302+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1328 9E82 132B 7302+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 132B 0000 7302+ ORG LP::L1 CONTINUE AT END OF LPOOL 7302+ ENDC 1PAGE 0292 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:04.50 --FIX-- INSTRUCTION TEST (PART 3-1) 7304 * -:800000 +32 FIX = :8000 :0000 MAX. NEG. D.P. 00000000 7305 IFF 0 7305+ * CY=R OV=R A=:D000 Q=:0000 FIX =:8000 :0000 DP 0000132B 7305+ FLOAT1 SET $ 132B BF22 12CE 7305+ JST INITRP INITIALIZE TRAP LOCATIONS 132C 829B 1348 7305+ COPY =:D000,A :D000 ==> 'A' 132D 4900 7305+ COPY  =:0000,Q :0000 ==> 'Q' 132E A23E 12ED 7305+ COPY =:3333,X :3333 ==> 'X' 132F E23E 12EE 7305+  COPY =:0F0F,Y :0F0F ==> 'Y' 1330 0E07 7305+ RBIT CY,S R ==> CARRY FLAG 1331 0E17  FLOAT 7331 * 7332 * 00000000 7333 IFF 0 7333+ * CY=R OV=R A=:0000 Q=:0000 FLOAT =:0000 :0000 OK 000013F0 7333+ FLOAT1 SET $ 13F0 BF10 1381 7333+ JST  INITRP INITIALIZE TRAP LOCATIONS 13F1 0900 7333+ COPY =:0000,A :0000 ==> 'A' 13F2 4900  7333+ COPY =:0000,Q :0000 ==> 'Q' 13F3 A20F 1383 7333+ COPY =:3333,X :3333 ==> 'X' 13F4 E20F 1384 7333+ COPY =:0F0F,Y :0F0F ==> 'Y' 13F5 0E07 7333+ RBIT CY,S R ==> CARRY FLAG 13F6 0E17 7333+ RBIT OV,S R ==> OVERFLOW FLAG 00000001 7333+ IFT 0;1G  000013F7 7333+ FLOAT3 SET $ 00000001 7333+ IFT 1 13F7 030D 7333+ FLOAT  -- DO THE OPERATION 7333+ ENDC 7333+ ENDC 00000000 7333+ IFF 0 00000001 7333+ IFT 5>0 13F8 0D00 7333+ CSK A,=:0000 CHECK -A- 13F9 0000 7333+ NOP 13FA 0E0D 7333+ HLT -A- SHOULD CONTAIN :0000 13FB 4D00 7333+ CSK Q,=:0000 CHECK -Q- 13FC 0000 7333+ NOP 13FD 0E0D 7333+ HLT -Q- SHOULD CONTAIN :0000 7333+ ENDC 7333+ ENDC 13FE 0020 7333+ COPY X,A FOR TESTING 13FF BA03 1383 7333+ CSK A,=:3333 CHECK -X- 1400 0000 7333+ NOP 1401 0E0D 7333+ HLT FLOAT MODIFIED -X- 1402 0060 7333+ COPY Y,A FOR TESTING 1403 BA88 140C 7333+ CSK A,=:0F0F CHECK -Y- 1404 0000 7333+ NOP 1405 0E0D 7333+ HLT FLOAT MODIFIED -Y- 00000001 7333+ IFT  1;0;0 00000001 7333+ IFT 1 1PAGE 0307 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:31.00 --FLOAT-- INSTRUCTION TEST (PART 3-2) 1406 36C1 1408 7333+ JF OV,$+2 OVERFLOW STILL RESET? 1407 0E0D 7333+ HLT NO-- FLOAT CHANGED OVERFLOW 7333+  ENDC 00000001 7333+ IFT 1 1408 56C1 140A 7333+ JF CY,$+2 CARRY STILL RESET? 1409 0E0D 7333+ HLT NO-- FLOAT CHANGED CARRY 7333+ ENDC  7333+ ENDC 140A 9E65 13F0 7333+ JMP FLOAT1 PATCH FOR LOOPING 140A 0000 7333+ ORG $-1 140A 0000 7333+ NOP 0000140B 7333+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 140B 0000 7333+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0001 7333+ LPOOL 140C 0F0F 0000140D 7333+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 140B 0000 7333+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 140B 9E81 140D 7333+ JMP LP::L1  JUMP TO LABEL AT END OF LPOOL 140D 0000 7333+ ORG LP::L1 CONTINUE AT END OF LPOOL  7333+ ENDC 1PAGE 0308 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:32.75 --FLOAT-- INSTRUCTION TEST (PART 3-2) 00000000 7335 IFF 0 7335+ * CY=S OV=S A=:0000 Q=:7FFF FLOAT =:47FF :FE00 OK 0000140D 7335+ FLOAT1 SET $ 140D BF9B 1429 7335+ JST INITRP INITIALIZE TRAP LOCATIONS 140E 0900 7335+ COPY =:0000,A :0000 ==> 'A' 140F C29A 142A 7335+ COPY  =:7FFF,Q :7FFF ==> 'Q' 1410 A29A 142B 7335+ COPY =:3333,X :3333 ==> 'X' 1411 E27A 140C 7335+ H  COPY =:0F0F,Y :0F0F ==> 'Y' 1412 0E05 7335+ SBIT CY,S S ==> CARRY FLAG 1413 0E15  7335+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7335+ IFT 0;1 00001414 7335+ FLOAT3 SET $ 00000001 7335+ IFT 1 1414 030D 7335+ FLOAT -- DO THE OPERATION 7335+ ENDC 7335+ ENDC 00000000 7335+ IFF 0  00000001 7335+ IFT 5>0 1415 BA96 142C 7335+ CSK A,=:47FF CHECK -A- 1416 0000 7335+ NOP 1417 0E0D 7335+ HLT -A- SHOULD CONTAIN :47FF 1418 FA94 142D 7335+  CSK Q,=:FE00 CHECK -Q- 1419 0000 7335+ NOP 141A 0E0D 7335+ HLT -Q- SHOULD CONTAIN :FE00 7335+ ENDC 7335+ ENDC 141B 0020 7335+  COPY X,A FOR TESTING 141C BA8E 142B 7335+ CSK A,=:3333 CHECK -X- 141D 0000 7335+  NOP 141E 0E0D 7335+ HLT FLOAT MODIFIED -X- 141F 0060 7335+ COPY Y,A  FOR TESTING 1420 BA6B 140C 7335+ CSK A,=:0F0F CHECK -Y- 1421 0000 7335+ NOP 1422 0E0D 7335+ HLT FLOAT MODIFIED -Y- 00000001 7335+ IFT 1;0;0 00000001 7335+ IFT 1 1423 3641 1425 7335+ JT OV,$+2 OVERFLOW STILL SET? 1424 0E0D 7335+ HLT NO-- FLOAT CHANGED OVERFLOW 7335+ ENDC 00000001 7335+  IFT 1 1425 5641 1427 7335+ JT CY,$+2 CARRY STILL SET? 1426 0E0D 7335+ HLT  NO-- FLOAT CHANGED CARRY 7335+ ENDC 1PAGE 0309 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:35.00 --FLOAT-- INSTRUCTION TEST (PART 3-2) 7335+ ENDC 1427 9E65 140D 7335+ JMP FLOAT1 PATCH FOR LOOPING 1427 0000 7335+ ORG $-1 1427 0000  7335+ NOP 00001428 7335+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 1428 0000 7335+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0005 7335+ LPOOL 1429 122B INITRP 142A 7FFF 142B 3333 142C 47FF 142D FE00 0000142E 7335+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 1428 0000 7335+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1428 9E85 142E 7335+  JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 142E 0000 7335+ ORG LP::L1 CONTINUE AT END OF LPOOL 7335+ ENDC 1PAGE 0310 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:36.50 --FLOAT-- INSTRUCTION TEST (PART 3-2) 00000000 7337 IFF 0 7337+ * CY=R OV=R A=:0000 Q=:8000 FLOAT =:4800 :0000 OK 0000142E 7337+ FLOAT1 SET $ 142E BF7A 1429 7337+ JSTI  INITRP INITIALIZE TRAP LOCATIONS 142F 0900 7337+ COPY =:0000,A :0000 ==> 'A' 1430 C299 144A 7337+ COPY =:8000,Q :8000 ==> 'Q' 1431 A279 142B 7337+ COPY =:3333,X :3333 ==> 'X' 1432 E259 140C 7337+ COPY =:0F0F,Y :0F0F ==> 'Y' 1433 0E07 7337+ RBIT CY,S R ==> CARRY FLAG 1434 0E17 7337+ RBIT OV,S R ==> OVERFLOW FLAG 00000001 7337+ IFT 0;1 00001435 7337+ FLOAT3 SET $ 00000001 7337+ IFT 1 1435 030D 7337+ FLOAT  -- DO THE OPERATION 7337+ ENDC 7337+ ENDC 00000000 7337+ IFF 0 00000001 7337+ IFT 5>0 1436 BA94 144B 7337+ CSK A,=:4800 CHECK -A- 1437 0000 7337+ NOP 1438 0E0D 7337+ HLT -A- SHOULD CONTAIN :4800 1439 4D00 7337+ CSK Q,=:0000 CHECK -Q- 143A 0000 7337+ NOP 143B 0E0D 7337+ HLT -Q- SHOULD CONTAIN :0000 7337+ ENDC 7337+ ENDC 143C 0020 7337+ COPY X,A FOR TESTING 143D BA6D 142B 7337+ CSK A,=:3333 CHECK -X- 143E 0000 7337+ NOP 143F 0E0D 7337+ HLT FLOAT MODIFIED -X- 1440 0060 7337+ COPY Y,A FOR TESTING 1441 BA4A 140C 7337+ CSK A,=:0F0F CHECK -Y- 1442 0000 7337+ NOP 1443 0E0D 7337+ HLT FLOAT MODIFIED -Y- 00000001 7337+ IFT 1;0;0 00000001 7337+ IFT 1 1444 36C1 1446 7337+ JF OV,$+2 OVERFLOW STILL RESET? 1445 0E0D 7337+ HLT NO-- FLOAT CHANGED OVERFLOW 7337+ ENDC  00000001 7337+ IFT 1 1446 56C1 1448 7337+ JF CY,$+2 CARRY STILL RESET? 1447 0E0D  7337+ HLT NO-- FLOAT CHANGED CARRY 7337+ ENDC 1PAGE 0311 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:38.75 --FLOAT-- INSTRUCTION TEST (PART 3-2)  7337+ ENDC 1448 9E65 142E 7337+ JMP FLOAT1 PATCH FOR LOOPING 1448 0000 7337+  ORG $-1 1448 0000 7337+ NOP 00001449 7337+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 1449 0000 7337+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0002 7337+ LPOOL 144A 8000 144B 4800 0000144C 7337+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL  1449 0000 7337+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1449 9E82 144C 7337+ JMP  LP::L1 JUMP TO LABEL AT END OF LPOOL 144C 0000 7337+ ORG LP::L1 CONTINUE AT END OF LPOOL  7337+ ENDC 1PAGE 0312 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:1J 5:40.00 --FLOAT-- INSTRUCTION TEST (PART 3-2) 00000000 7339 IFF 0 7339+ * CY=S OV=S A=:0001 Q=:0000 FLOAT =:4880 :0000 OK 0000144C 7339+ FLOAT1 SET $ 144C BF5C 1429 7339+ JST INITRP INITIALIZE TRAP LOCATIONS 144D 0901 7339+ COPY =:0001,A :0001 ==> 'A' 144E 4900 7339+  COPY =:0000,Q :0000 ==> 'Q' 144F A25B 142B 7339+ COPY =:3333,X :3333 ==> 'X' 1450 E23B 140C 7339+ COPY =:0F0F,Y :0F0F ==> 'Y' 1451 0E05 7339+ SBIT CY,S S ==> CARRY FLAG 1452 0E15 7339+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7339+ IFT 0;1 00001453 7339+ FLOAT3 SET $ 00000001 7339+ IFT 1 1453 030D 7339+ FLOAT  -- DO THE OPERATION 7339+ ENDC 7339+ ENDC 00000000 7339+  IFF 0 00000001 7339+ IFT 5>0 1454 BA93 1468 7339+ CSK A,=:4880 CHECK -A- 1455 0000 7339+ NOP 1456 0E0D 7339+ HLT -A- SHOULD CONTAIN :4880 1457 4D00 7339+ CSK Q,=:0000 CHECK -Q- 1458 0000 7339+ NOP 1459 0E0D 7339+ HLT  -Q- SHOULD CONTAIN :0000 7339+ ENDC 7339+ ENDC 145A 0020 7339+ COPY X,A FOR TESTING 145B BA4F 142B 7339+ CSK A,=:3333 CHECK -X- 145C 0000  7339+ NOP 145D 0E0D 7339+ HLT FLOAT MODIFIED -X- 145E 0060 7339+ COPY Y,A FOR TESTING 145F BA2C 140C 7339+ CSK A,=:0F0F CHECK -Y- 1460 0000 7339+  NOP 1461 0E0D 7339+ HLT FLOAT MODIFIED -Y- 00000001 7339+ IFT 1;0;0  00000001 7339+ IFT 1 1462 3641 1464 7339+ JT OV,$+2 OVERFLOW STILL SET? 1463 0E0D 7339+ HLT NO-- FLOAT CHANGED OVERFLOW 7339+ ENDC 00000001 7339+ IFT 1 1464 5641 1466 7339+ JT CY,$+2 CARRY STILL SET? 1465 0E0D 7339+  HLT NO-- FLOAT CHANGED CARRY 7339+ ENDC 1PAGE 0313 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:42.25 --FLOAT-- INSTRUCTION TEST (PART 3-2) 7339+  ENDC 1466 9E65 144C 7339+ JMP FLOAT1 PATCH FOR LOOPING 1466 0000 7339+ ORG $-1 1466 0000 7339+ NOP 00001467 7339+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 1467 0000 7339+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0001 7339+ LPOOL 1468 4880 00001469 7339+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 1467 0000 7339+  ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1467 9E81 1469 7339+ JMP LP::L1 JUMP TO LAK BEL AT END OF LPOOL 1469 0000 7339+ ORG LP::L1 CONTINUE AT END OF LPOOL 7339+  ENDC 1PAGE 0314 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:43.50 --FLOAT-- INSTRUCTION TEST (PART 3-2) 00000000 7341 IFF 0 7341+ * CY=R OV=R A=:7FFF Q=:FF80 FLOAT =:4FFF :FFFF OK 00001469 7341+ FLOAT1 SET $ 1469 BF3F 1429 7341+ JST INITRP INITIALIZE TRAP LOCATIONS 146A 823F 142A 7341+ COPY =:7FFF,A :7FFF ==> 'A' 146B 4880 7341+ COPY =:FF80,Q  :FF80 ==> 'Q' 146C A23E 142B 7341+ COPY =:3333,X :3333 ==> 'X' 146D E21E 140C 7341+ COPY =:0F0F,Y :0F0F ==> 'Y' 146E 0E07 7341+ RBIT CY,S R ==> CARRY FLAG 146F 0E17 7341+  RBIT OV,S R ==> OVERFLOW FLAG 00000001 7341+ IFT 0;1 00001470 7341+ FLOAT3 SET  $ 00000001 7341+ IFT 1 1470 030D 7341+ FLOAT -- DO THE OPERATION  7341+ ENDC 7341+ ENDC 00000000 7341+ IFF 0 00000001  7341+ IFT 5>0 1471 BA93 1485 7341+ CSK A,=:4FFF CHECK -A- 1472 0000 7341+ NOP 1473 0E0D 7341+ HLT -A- SHOULD CONTAIN :4FFF 1474 FA91 1486 7341+ CSK Q,=:FFFF CHECK -Q- 1475 0000 7341+ NOP 1476 0E0D 7341+ HLT -Q- SHOULD CONTAIN :FFFF 7341+ ENDC 7341+ ENDC 1477 0020 7341+ COPY X,A  FOR TESTING 1478 BA32 142B 7341+ CSK A,=:3333 CHECK -X- 1479 0000 7341+ NOP 147A 0E0D 7341+ HLT FLOAT MODIFIED -X- 147B 0060 7341+ COPY Y,A FOR TESTING 147C BA0F 140C 7341+ CSK A,=:0F0F CHECK -Y- 147D 0000 7341+ NOP 147E 0E0D 7341+ HLT FLOAT MODIFIED -Y- 00000001 7341+ IFT 1;0;0 00000001 7341+  IFT 1 147F 36C1 1481 7341+ JF OV,$+2 OVERFLOW STILL RESET? 1480 0E0D 7341+ HLT NO-- FLOAT CHANGED OVERFLOW 7341+ ENDC 00000001 7341+ IFT 1  1481 56C1 1483 7341+ JF CY,$+2 CARRY STILL RESET? 1482 0E0D 7341+ HLT  NO-- FLOAT CHANGED CARRY 7341+ ENDC 1PAGE 0315 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:45.75 --FLOAT-- INSTRUCTION TEST (PART 3-2) 7341+ ENDC 1483 9E65 1469 7341+ JMP FLOAT1 PATCH FOR LOOPING 1483 0000 7341+ ORG $-1 1483 0000 7341+  NOP 00001484 7341+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 1484 0000 7341+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0002 7341+ LPOOL 1485 4FFF 1486 FFFL F 00001487 7341+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 1484 0000 7341+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1484 9E82 1487 7341+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 1487 0000 7341+ ORG LP::L1 CONTINUE AT END OF LPOOL 7341+ ENDC 1PAGE 0316 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:15:47.25 --FLOAT-- INSTRUCTION TEST (PART 3-2) 00000000 7343 IFF 0 7343+ * CY=S OV=S A=:FFFF Q=:FFFF FLOAT =:C080 :0000 OK  00001487 7343+ FLOAT1 SET $ 1487 BF21 1429 7343+ JST INITRP INITIALIZE TRAP LOCATIONS 1488 08FF 7343+ COPY =:FFFF,A :FFFF ==> 'A' 1489 48FF 7343+ COPY =:FFFF,Q :FFFF ==> 'Q' 148A A220 142B 7343+ COPY =:3333,X :3333 ==> 'X' 148B E200 140C 7343+ COPY =:0F0F,Y  :0F0F ==> 'Y' 148C 0E05 7343+ SBIT CY,S S ==> CARRY FLAG 148D 0E15 7343+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7343+ IFT 0;1 0000148E 7343+ FLOAT3 SET $ 00000001 7343+ IFT 1 148E 030D 7343+ FLOAT -- DO THE OPERATION  7343+ ENDC 7343+ ENDC 00000000 7343+ IFF 0 00000001 7343+  IFT 5>0 148F BA94 14A4 7343+ CSK A,=:C080 CHECK -A- 1490 0000 7343+ NOP 1491 0E0D 7343+ HLT -A- SHOULD CONTAIN :C080 1492 4D00 7343+ CSK Q,=:0000 CHECK -Q- 1493 0000 7343+ NOP 1494 0E0D 7343+ HLT -Q- SHOULD CONTAIN :0000  7343+ ENDC 7343+ ENDC 1495 0020 7343+ COPY X,A FOR TESTING 1496 BA14 142B 7343+ CSK A,=:3333 CHECK -X- 1497 0000 7343+ NOP 1498 0E0D 7343+ HLT FLOAT MODIFIED -X- 1499 0060 7343+ COPY Y,A FOR TESTING 149A BA88 14A3 7343+ CSK A,=:0F0F CHECK -Y- 149B 0000 7343+ NOP 149C 0E0D 7343+ HLT FLOAT MODIFIED -Y- 00000001 7343+ IFT 1;0;0 00000001 7343+ IFT IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII