IMD 1.16: 2/09/2008 14:17:33 84-93727-05 a200 f72705 scout cpu test program listing file part 4    @0|)wwЀЀtQql)  " }gA ` MIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIOS4 ME581100513563800811005135638 8110051356381F72705 VOLCPU TEST PROGRAM LISTING FILE PART4   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 (>= 'A' 1E13 C2A6 1E3A 7504+ COPY =:FC00,Q :FC00 ==> 'Q' 1E14 A252 1DE7 7504+ COPY =:3333,X :3333 ==> 'X' 1E15 E252 1DE8 7504+  COPY =:0F0F,Y :0F0F ==> 'Y' 1E16 0E07 7504+ RBIT CY,S R ==> CARRY FLAG 1E17 0E17  7504+ RBIT OV,S R ==> OVERFLOW FLAG 00000001 7504+ IFT 1;0;0;0;0 1E18 9E82 1E1B 7504+ JMP $+3 JUMP AROUND WORD 00001E19 7504+ FLOAT2 SET $ 1E19 78FF 7504+  WORD :78FF INSTRUCTION OPERAND 1E1A BFFF 7504+ WORD :BFFF 00001E1B 7504+ FLOAT3 SET $ 00000001 7504+ IFT 1;0 1E1B 5C00 7504+ ADDF FLOAT2 DO THE OPERATION 1E1C 1E19 7504+ ENDC 7504+ ENDC 00000000 7504+ IFF 0  00000001 7504+ IFT 5>0 1E1D BA9B 1E39 7504+ CSK A,=:7FFF CHECK -A- 1E1E 0000 7504+ NOP 1E1F 0E0D 7504+ HLT -A- SHOULD CONTAIN :7FFF 1E20 FA9B 1E3C 7504+   CSK Q,=:FFFF CHECK -Q- 1E21 0000 7504+ NOP 1E22 0E0D 7504+ HLT -Q- SHOULD CONTAIN :FFFF 7504+ ENDC 7504+ ENDC 1E23 0020 7504+ COPY X,A FOR TESTING 1E24 BA42 1DE7 7504+ CSK A,=:3333 CHECK -X- 1E25 0000 7504+  NOP 1E26 0E0D 7504+ HLT ADDF MODIFIED -X- 1E27 0060 7504+ COPY Y,A  FOR TESTING 1E28 BA3F 1DE8 7504+ CSK A,=:0F0F CHECK -Y- 1E29 0000 7504+ NOP 1E2A 0E0D 7504+ HLT ADDF MODIFIED -Y- 00000001 7504+ IFT 1;0;0;0;0 1E2B 826D 1E19 7504+ COPY FLOAT2,A 1E2C BA8E 1E3B 7504+ CSK A,=:78FF CHECK OPERAND WORD 1 1PAGE 0445 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:12.75 --ADDF-- INSTRUCTION TEST (PART 3-6) 1E2D 0000 7504+ NOP 1E2E 0E0D 7504+ HLT ADDF MODIFIED OPERAND 1E2F 826A 1E1A  7504+ COPY FLOAT2+1,A 1E30 BA8C 1E3D 7504+ CSK A,=:BFFF CHECK OPERAND WORD 2 1E31 0000  7504+ NOP 1E32 0E0D 7504+ HLT ADDF MODIFIED OPERAND 7504+  ENDC 00000001 7504+ IFT 1;0;0 00000001 7504+ IFT 1 1E33 36C1 1E35 7504+ JF OV,$+2 OVERFLOW STILL RESET? 1E34 0E0D 7504+ HLT NO-- ADDF CHANGED OVERFLOW  7504+ ENDC 00000001 7504+ IFT 1 1E35 56C1 1E37 7504+ JF CY,$+2  CARRY STILL RESET? 1E36 0E0D 7504+ HLT NO-- ADDF CHANGED CARRY 7504+  ENDC 7504+ ENDC 1E37 9E59 1E11 7504+ JMP FLOAT1 PATCH FOR LOOPING  1E37 0000 7504+ ORG $-1 1E37 0000 7504+ NOP 00001E38 7504+ LP::L SET $  SET UP LABEL TO REPLACE NOP WITH JMP INST. 1E38 0000 7504+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0005 7504+ LPOOL 1E39 7FFF 1E3A FC00 1E3B 78FF 1E3C FFFF 1E3D BFFF 00001E3E 7504+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 1E38 0000 7504+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1E38 9E85 1E3E 7504+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 1E3E 0000 7504+ ORG LP::L1 CONTINUE AT END OF LPOOL 7504+ ENDC 1E3E 9E81 1E40 7505 JMP PART3:2 1E3F 0000 7506 RES $;:1F-$&:1F+1,0 00001E40 7507 PART3:2 SET $ 1PAGE 0446  MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:14.75 --ADDF-- INSTRUCTION TEST (PART 3-6)  1E40 7509 NAM THIRD 0020 0020 7510 MACHINE =:20 1E40 0000 7511 ORG PART3:2 00001E40 7512 THIRD EQU $ 7513 * +:FFFFFF+127 ADDF +:*80000+104 = +:800000 +0   OVERFLOW 1E40 0308 7514 FMT A FETCH MACHINE TYPE 1E41 0D43 7515 CSK A,=:43 1E42 0000 7516 NOP 1E43 9FB6 1E7A 7517 JMP PART4ST 00001E44 7518 EEEE EQU  $ 00000000 7519 IFF 0 7519+ * CY=S OV=S A=:7FFF Q=:FFFF ADDF :7400 :0000=:0000 :0000 OV 00001E44 7519+ FLOAT1 SET $ 1E44 BF20 1DE5 7519+ JST INITRP INITIALIZE TRAP LOCATIONS 1E45 8273 1E39 7519+ COPY =:7FFF,A :7FFF ==> 'A' 1E46 48FF 7519+ COPY =:FFFF,Q :FFFF ==> 'Q' 1E47 A21F 1DE7 7519+ COPY =:3333,X :3333 ==> 'X' 1E48 E21F 1DE8 7519+ COPY =:0F0F,Y  :0F0F ==> 'Y' 1E49 0E05 7519+ SBIT CY,S S ==> CARRY FLAG 1E4A 0E15 7519+ SBIT  OV,S S ==> OVERFLOW FLAG 00000001 7519+ IFT 1;0;0;0;0 1E4B 9E82 1E4E 7519+ JMP  $+3 JUMP AROUND WORD 00001E4C 7519+ FLOAT2 SET $ 1E4C 7400 7519+ WORD :7400  INSTRUCTION OPERAND 1E4D 0000 7519+ WORD :0000 00001E4E 7519+ FLOAT3 SET $ 00000001  7519+ IFT 1 00000000 7519+ IFF 0 1E4E 5C00 7519+ ADDF FLOAT2 SHOULD OVERFLOW AND T R A P 1E4F 1E4C 7519+ ENDC 7519+ ENDC 7519+ ENDC 00000000 7519+ IFF 0 00000001 7519+ IFT 5>0 1E50 0D00 7519+ CSK A,=:0000 CHECK -A- 1E51 0000 7519+ NOP 1E52 0E0D 7519+ HLT  -A- SHOULD CONTAIN :0000 1E53 4D00 7519+ CSK Q,=:0000 CHECK -Q- 1E54 0000 7519+  NOP 1E55 0E0D 7519+ HLT -Q- SHOULD CONTAIN :0000 7519+ ENDC  7519+ ENDC 1PAGE 0447 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:16.75 --ADDF-- INSTRUCTION TEST (PART 3-6) 1E56 0020 7519+ COPY X,A FOR TESTING 1E57 BA0F 1DE7 7519+ CSK A,=:3333 CHECK -X- 1E58 0000 7519+ NOP 1E59 0E0D 7519+ HLT  ADDF MODIFIED -X- 1E5A 0060 7519+ COPY Y,A FOR TESTING 1E5B BA0C 1DE8 7519+ CSK A,=:0F0F CHECK -Y- 1E5C 0000 7519+ NOP 1E5D 0E0D 7519+ HLT ADDF MODIFIED -Y- 00000001 7519+ IFT 1;0;0;0;0 1E5E 826D 1E4C 7519+ COPY FLOAT2,A 1E5F BA9B 1E7B 7519+ CSK A,=:7400 CHECK OPERAND WORD 1 1E60 0000 7519+ NOP 1E61 0E0D 7519+  HLT ADDF MODIFIED OPERAND 1E62 826A 1E4D 7519+ COPY FLOAT2+1,A 1E63 0D00 7519+  CSK A,=:0000 CHECK OPERAND WORD 2 1E64 0000 7519+ NOP 1E65 0E0D 7519+ HLT  ADDF MODIFIED OPERAND 7519+ ENDC 00000001 7519+ IFT 1 00000000   7519+ IFF 0 00000001 7519+ IFT 1 1E66 5641 1E68 7519+ JT CY,$+2 CARRY STILL SET? 1E67 0E0D 7519+ HLT NO-- ADDF WITH OVERFLOW CHANGED CARRY 7519+ ENDC 7519+ ENDC 1E68 3641 1E6A 7519+ JT OV,$+2 OVERFLOW SET? 1E69 0E0D 7519+ HLT NO-- EXPECTED OVERFLOW WITH OV SET 7519+ ENDC 00000001 7519+ IFT 1;0 00000000 7519+ IFF 0 1E6A 8020 0020 7519+ COPY QTEMP,A CHECK TRAP FLAG TO SEE IF TRAP WAS TAKEN 1E6B 0D01 7519+ CSK A,=1 1E6C 0000 7519+ NOP 1E6D 0E0D 7519+ HLT ADDF DID NOT EXECUTE TRAP 1E6E 8389 1E78 7519+ COPY ATRAP,A 1ST WORD OF TRAP VECTOR 1E6F BA8C 1E7C 7519+ CSK A,=FLOAT3+2 CHECK 'P' 1E70 0000 7519+  NOP 1E71 0E0D 7519+ HLT ADDF TRAP STORED WRONG 'P' 1E72 8386 1E79 7519+ COPY  ATRAP+1,A 2ND WORD OF TRAP VECTOR 1E73 BA5A 1E4E 7519+ CSK A,FLOAT3 CHECK 'I' 1E74 0000 7519+ NOP 1E75 0E0D 7519+ HLT ADDF TRAP STORED WRONG 'I' 7519+  ENDC 1PAGE 0448 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:19.00 --ADDF-- INSTRUCTION TEST (PART 3-6) 7519+ ENDC 1E76 9E4D 1E44 7519+ JMP FLOAT1 PATCH FOR LOOPING  1E76 0000 7519+ ORG $-1 1E76 0000 7519+ NOP 00001E77 7519+ LP::L SET $  SET UP LABEL TO REPLACE NOP WITH JMP INST. 1E77 0000 7519+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0005 7519+ LPOOL 1E78 00A8 ATRAP 1E79 00A9 1E7A 2680 1E7B 7400 1E7C 1E50 00001E7D 7519+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 1E77 0000 7519+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1E77 9E85 1E7D 7519+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 1E7D 0000 7519+ ORG LP::L1 CONTINUE AT END OF LPOOL 7519+ ENDC 1PAGE 0449 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:19.50 --ADDF-- INSTRUCTION TEST (PART 3-6)  7521 * +:FFC000+127 ADDF +:FFE000+113 = +:800000 +0 OVERFLOW W/ROUNDUP 00000000 7522 IFF 0  7522+ * CY=R OV=R A=:7FFF Q=:FC00 ADDF :78FF :E000=:0000 :0000 OV 00001E7D 7522+ FLOAT1 SET $ 1E7D BFB3 1EB1 7522+ JST INITRP INITIALIZE TRAP LOCATIONS 1E7E 823A 1E39 7522+ COPY =:7FFF,A  :7FFF ==> 'A' 1E7F C23A 1E3A 7522+ COPY =:FC00,Q :FC00 ==> 'Q' 1E80 A2B1 1EB2 7522+ COPY =:3333,X :3333 ==> 'X' 1E81 E2B1 1EB3 7522+ COPY =:0F0F,Y :0F0F ==> 'Y' 1E82 0E07 7522+ RBIT CY,S R ==> CARRY FLAG 1E83 0E17 7522+ RBIT OV,S R ==> OVERFLOW FLAG 0000000 1 7522+ IFT 1;0;0;0;0 1E84 9E82 1E87 7522+ JMP $+3 JUMP AROUND WORD 00001E85 7522+ FLOAT2 SET $ 1E85 78FF 7522+ WORD :78FF INSTRUCTION OPERAND 1E86 E000 7522+  WORD :E000 00001E87 7522+ FLOAT3 SET $ 00000001 7522+ IFT 1 00000000 7522+  IFF 0 1E87 5C00 7522+ ADDF FLOAT2 SHOULD OVERFLOW AND T R A P 1E88 1E85  7522+ ENDC 7522+ ENDC 7522+ ENDC 00000000 7522+  IFF 0 00000001 7522+ IFT 5>0 1E89 0D00 7522+ CSK A,=:0000 CHECK -A- 1E8A 0000 7522+ NOP 1E8B 0E0D 7522+ HLT -A- SHOULD CONTAIN :0000 1E8C 4D00 7522+ CSK Q,=:0000 CHECK -Q- 1E8D 0000 7522+ NOP 1E8E 0E0D 7522+ HLT  -Q- SHOULD CONTAIN :0000 7522+ ENDC 7522+ ENDC 1E8F 0020 7522+ COPY X,A FOR TESTING 1E90 BAA1 1EB2 7522+ CSK A,=:3333 CHECK -X- 1E91 0000  7522+ NOP 1E92 0E0D 7522+ HLT ADDF MODIFIED -X- 1E93 0060 7522+ COPY Y,A FOR TESTING 1E94 BA9E 1EB3 7522+ CSK A,=:0F0F CHECK -Y- 1E95 0000 7522+  NOP 1E96 0E0D 7522+ HLT ADDF MODIFIED -Y- 00000001 7522+ IFT 1;0;0;0;0 1PAGE 0450 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:21.50 --ADDF-- INSTRUCTION TEST (PART 3-6) 1E97 826D 1E85 7522+ COPY FLOAT2,A 1E98 BA22 1E3B 7522+ CSK A,=:78FF CHECK OPERAND WORD 1 1E99 0000 7522+ NOP 1E9A 0E0D 7522+ HLT ADDF MODIFIED OPERAND 1E9B 826A 1E86 7522+ COPY FLOAT2+1,A 1E9C BA97 1EB4 7522+ CSK A,=:E000 CHECK OPERAND WORD 2 1E9D 0000 7522+ NOP 1E9E 0E0D 7522+ HLT ADDF MODIFIED OPERAND 7522+ ENDC 00000001 7522+ IFT 1 00000000 7522+ IFF 0 00000001 7522+  IFT 1 1E9F 56C1 1EA1 7522+ JF CY,$+2 CARRY STILL RESET? 1EA0 0E0D 7522+ HLT NO-- ADDF WITH OVERFLOW CHANGED CARRY 7522+ ENDC 7522+ ENDC 1EA1 3641 1EA3 7522+ JT OV,$+2 OVERFLOW SET? 1EA2 0E0D 7522+ HLT  NO-- EXPECTED OVERFLOW WITH OV SET 7522+ ENDC 00000001 7522+ IFT 1;0 00000000 7522+ IFF 0 1EA3 8020 0020 7522+ COPY QTEMP,A CHECK TRAP FLAG TO SEE IF TRAP WAS TAKEN 1EA4 0D01 7522+ CSK A,=1 1EA5 0000 7522+ NOP 1EA6 0E0D 7522+ HLT  ADDF DID NOT EXECUTE TRAP 1EA7 8350 1E78 7522+ COPY ATRAP,A 1ST WORD OF TRAP VECTOR 1EA8 BA8C 1E B5 7522+ CSK A,=FLOAT3+2 CHECK 'P' 1EA9 0000 7522+ NOP 1EAA 0E0D 7522+ HLT  ADDF TRAP STORED WRONG 'P' 1EAB 834D 1E79 7522+ COPY ATRAP+1,A 2ND WORD OF TRAP VECTOR 1EAC BA5A 1E87 7522+ CSK A,FLOAT3 CHECK 'I' 1EAD 0000 7522+ NOP 1EAE 0E0D 7522+ HLT ADDF TRAP STORED WRONG 'I' 7522+ ENDC 7522+ ENDC 1EAF 9E4D 1E7D 7522+ JMP FLOAT1 PATCH FOR LOOPING 1EAF 0000 7522+ ORG $-1 1EAF 0000  7522+ NOP 00001EB0 7522+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 1EB0 0000 7522+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0005 7522+ LPOOL 1EB1 122B INITRP 1EB2 3333 1PAGE 0451 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:23.50 --ADDF-- INSTRUCTION TEST (PART 3-6) 1EB3 0F0F 1EB4 E000 1EB5 1E89 00001EB6 7522+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 1EB0 0000 7522+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1EB0 9E85 1EB6  7522+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 1EB6 0000 7522+ ORG LP::L1 CONTINUE AT END OF LPOOL 7522+ ENDC 1PAGE 0452 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:24.00 --ADDF-- INSTRUCTION TEST (PART 3-6) 7524 * +:C00001-128 ADDF -:800001-128 = +:0 UNDERFLOW 00000000 7525 IFF 0 7525+ * CY=S OV=S A=:0040 Q=:0001 ADDF :8000 :0001=:0000 :0000 UF 00001EB6 7525+ FLOAT1 SET $ 1EB6 BF7A 1EB1 7525+ JST INITRP INITIALIZE TRAP LOCATIONS 1EB7 0940 7525+ COPY =:0040,A :0040 ==> 'A' 1EB8 4901 7525+ COPY  =:0001,Q :0001 ==> 'Q' 1EB9 A278 1EB2 7525+ COPY =:3333,X :3333 ==> 'X' 1EBA E278 1EB3 7525+  COPY =:0F0F,Y :0F0F ==> 'Y' 1EBB 0E05 7525+ SBIT CY,S S ==> CARRY FLAG 1EBC 0E15 7525+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7525+ IFT 1;0;0;0;0 1EBD 9E82 1EC0 7525+ JMP $+3 JUMP AROUND WORD 00001EBE 7525+ FLOAT2 SET $ 1EBE 8000 7525+ WORD :8000 INSTRUCTION OPERAND 1EBF 0001 7525+ WORD :0001 00001EC0 7525+ FLOAT3 SET  $ 00000001 7525+ IFT 1 1EC0 5C00 7525+ ADDF FLOAT2 SHOULD UNDERFLOW 1EC1 1EBE 7525+ ENDC 7525+ ENDC 00000000 7525+ IFF 0 00000001 7525+ IFT 5>0 1EC2 0D00 7525+ CSK A,=:0000 CHECK -A- 1EC3 0000 7525+  NOP 1EC4 0E0D 7525+ HLT -A- SHOULD CONTAIN :0000 1EC5 4D00 7525+ CSK  Q,=:0000 CHECK -Q- 1EC6 0000 7525+ NOP 1EC7 0E0D 7525+ HLT -Q- SHOULD  CONTAIN :0000 7525+ ENDC 7525+ ENDC 1EC8 0020 7525+ COPY  X,A FOR TESTING 1EC9 BA68 1EB2 7525+ CSK A,=:3333 CHECK -X- 1ECA 0000 7525+ NOP 1ECB 0E0D 7525+ HLT ADDF MODIFIED -X- 1ECC 0060 7525+ COPY Y,A  FOR TESTING 1ECD BA65 1EB3 7525+ CSK A,=:0F0F CHECK -Y- 1ECE 0000 7525+ NOP 1ECF 0E0D  7525+ HLT ADDF MODIFIED -Y- 00000001 7525+ IFT 1;0;0;0;0 1ED0 826D 1EBE 7525+ COPY FLOAT2,A 1ED1 BA8C 1EDE 7525+ CSK A,=:8000 CHECK OPERAND WORD 1 1PAGE 0453 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:26.00 --ADDF-- INSTRUCTION TEST (PART 3-6) 1ED2 0000 7525+ NOP 1ED3 0E0D 7525+ HLT ADDF MODIFIED OPERAND 1ED4 826A 1EBF 7525+  COPY FLOAT2+1,A 1ED5 0D01 7525+ CSK A,=:0001 CHECK OPERAND WORD 2 1ED6 0000 7525+  NOP 1ED7 0E0D 7525+ HLT ADDF MODIFIED OPERAND 7525+ ENDC  00000001 7525+ IFT 1 1ED8 5641 1EDA 7525+ JT CY,$+2 CARRY SET? 1ED9 0E0D 7525+ HLT NO-- EXPECTED UNDERFLOW WITH CY SET 1EDA 3641 1EDC 7525+ JT OV,$+2 OVERFLOW SET? 1EDB 0E0D 7525+ HLT NO-- EXPECTED UNDERFLOW WITH OV SET 7525+  ENDC 1EDC 9E59 1EB6 7525+ JMP FLOAT1 PATCH FOR LOOPING 1EDC 0000 7525+ ORG $-1 1EDC 0000 7525+ NOP 00001EDD 7525+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 1EDD 0000 7525+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0001 7525+  LPOOL 1EDE 8000 00001EDF 7525+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 1EDD 0000 7525+  ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1EDD 9E81 1EDF 7525+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 1EDF 0000 7525+ ORG LP::L1 CONTINUE AT END OF LPOOL 7525+  ENDC 1PAGE 0454 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:28.00 --ADDF-- INSTRUCTION TEST (PART 3-6) 7527 * +:800000 +0 ADDF +:FFFFFF +26 = +:FFFFFF +26 INSIG. OPRND 00000000 7528 IFF 0 7528+ * CY=R OV=R A=:4000 Q=:0000 ADDF :4D7F :FFFF=:4D7F :FFFF OK 00001EDF 7528+ FLOAT1 SET $ 1EDF BF51 1EB1 7528+ JST INITRP INITIALIZE TRAP LOCATIONS 1EE0 82A6 1F07 7528+  COPY =:4000,A :4000 ==> 'A' 1EE1 4900 7528+ COPY =:0000,Q :0000 ==> 'Q' 1EE2 A24F 1EB2 7528+ COPY =:3333,X :3333 ==> 'X' 1EE3 E24F 1EB3 7528+ COPY =:0F0F,Y :0F0F ==> 'Y' 1EE4 0E07 7528+ RBIT CY,S R ==> CARRY FLAG 1EE5 0E17 7528+ RBIT OV,S R ==>  OVERFLOW FLAG 00000001 7528+ IFT 1;0;0;0;0 1EE6 9E82 1EE9 7528+ JMP $+3 JUMP AROUND WORD 00001EE7 7528+ FLOAT2 SET $ 1EE7 4D7F 7528+ WORD :4D7F INSTRUCTION OPERAND  1EE8 FFFF 7528+ WORD :FFFF 00001EE9 7528+ FLOAT3 SET $ 00000001 7528+ IFT  1;0 1EE9 5C00 7528+ ADDF FLOAT2 DO THE OPERATION 1EEA 1EE7 7528+ ENDC  7528+ ENDC 00000000 7528+ IFF 0 00000001 7528+ IFT 5>0 1EEB BA9D 1F09 7528+ CSK A,=:4D7F CHECK -A- 1EEC 0000 7528+ NOP 1EED 0E0D 7528+  HLT -A- SHOULD CONTAIN :4D7F 1EEE FA99 1F08 7528+ CSK Q,=:FFFF CHECK -Q- 1EEF 0000  7528+ NOP 1EF0 0E0D 7528+ HLT -Q- SHOULD CONTAIN :FFFF 7528+  ENDC 7528+ ENDC 1EF1 0020 7528+ COPY X,A FOR TESTING 1EF2 BA3F 1EB2 7528+ CSK A,=:3333 CHECK -X- 1EF3 0000 7528+ NOP 1EF4 0E0D 7528+ HLT  ADDF MODIFIED -X- 1EF5 0060 7528+ COPY Y,A FOR TESTING 1EF6 BA3C 1EB3 7528+  CSK A,=:0F0F CHECK -Y- 1EF7 0000 7528+ NOP 1EF8 0E0D 7528+ HLT ADDF MODIFIED -Y- 00000001 7528+ IFT 1;0;0;0;0 1EF9 826D 1EE7 7528+ COPY FLOAT2,A 1EFA BA8E 1F09 7528+ CSK A,=:4D7F CHECK OPERAND WORD 1 1PAGE 0455 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:30.00 --ADDF-- INSTRUCTION TEST (PART 3-6) 1EFB 0000 7528+ NOP 1EFC 0E0D  7528+ HLT ADDF MODIFIED OPERAND 1EFD 826A 1EE8 7528+ COPY FLOAT2+1,A 1EFE BA89 1F08 7528+ CSK A,=:FFFF CHECK OPERAND WORD 2 1EFF 0000 7528+ NOP 1F00 0E0D 7528+  HLT ADDF MODIFIED OPERAND 7528+ ENDC 00000001 7528+ IFT 1;0;0 00000001 7528+ IFT 1 1F01 36C1 1F03 7528+ JF OV,$+2 OVERFLOW STILL RESET? 1F02 0E0D 7528+ HLT NO-- ADDF CHANGED OVERFLOW 7528+ ENDC 00000001 7528+ IFT 1 1F03 56C1 1F05 7528+ JF CY,$+2 CARRY STILL RESET? 1F04 0E0D 7528+  HLT NO-- ADDF CHANGED CARRY 7528+ ENDC 7528+ ENDC 1F05 9E59 1EDF 7528+ JMP FLOAT1 PATCH FOR LOOPING 1F05 0000 7528+ ORG $-1 1F05 0000 7528+ NOP 00001F06 7528+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 1F06 0000 7528+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0003 7528+ LPOOL 1F07 4000 1F08 FFFF 1F09 4D7F 00001F0A 7528+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 1F06 000  0 7528+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1F06 9E83 1F0A 7528+ JMP LP::L1  JUMP TO LABEL AT END OF LPOOL 1F0A 0000 7528+ ORG LP::L1 CONTINUE AT END OF LPOOL  7528+ ENDC 1PAGE 0456 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:32.00 --ADDF-- INSTRUCTION TEST (PART 3-6) 7530 * +:800000 +0 ADDF -:FFFFFF +26 = -:FFFFFF +26 INSIG. OPRND 00000000 7531 IFF 0 7531+ * CY=S OV=S A=:4000 Q=:0000 ADDF :CD7F :FFFF=:CD7F :FFFF OK 00001F0A 7531+ FLOAT1 SET $ 1F0A BF26 1EB1 7531+ JST INITRP INITIALIZE TRAP LOCATIONS 1F0B 827B 1F07 7531+ COPY =:4000,A :4000 ==> 'A' 1F0C 4900 7531+ COPY =:0000,Q :0000 ==> 'Q' 1F0D A224 1EB2 7531+ COPY =:3333,X :3333 ==> 'X' 1F0E E224 1EB3 7531+ COPY =:0F0F,Y :0F0F ==> 'Y' 1F0F 0E05 7531+ SBIT CY,S S ==> CARRY FLAG 1F10 0E15 7531+ SBIT OV,S  S ==> OVERFLOW FLAG 00000001 7531+ IFT 1;0;0;0;0 1F11 9E82 1F14 7531+ JMP $+3  JUMP AROUND WORD 00001F12 7531+ FLOAT2 SET $ 1F12 CD7F 7531+ WORD :CD7F INSTRUCTION OPERAND 1F13 FFFF 7531+ WORD :FFFF 00001F14 7531+ FLOAT3 SET $ 00000001 7531+  IFT 1;0 1F14 5C00 7531+ ADDF FLOAT2 DO THE OPERATION 1F15 1F12 7531+  ENDC 7531+ ENDC 00000000 7531+ IFF 0 00000001 7531+ IFT  5>0 1F16 BA9B 1F32 7531+ CSK A,=:CD7F CHECK -A- 1F17 0000 7531+ NOP 1F18 0E0D 7531+ HLT -A- SHOULD CONTAIN :CD7F 1F19 FA6E 1F08 7531+ CSK Q,=:FFFF CHECK -Q- 1F1A 0000 7531+ NOP 1F1B 0E0D 7531+ HLT -Q- SHOULD CONTAIN :FFFF  7531+ ENDC 7531+ ENDC 1F1C 0020 7531+ COPY X,A FOR TESTING 1F1D BA14 1EB2 7531+ CSK A,=:3333 CHECK -X- 1F1E 0000 7531+ NOP 1F1F 0E0D 7531+  HLT ADDF MODIFIED -X- 1F20 0060 7531+ COPY Y,A FOR TESTING 1F21 BA11 1EB3  7531+ CSK A,=:0F0F CHECK -Y- 1F22 0000 7531+ NOP 1F23 0E0D 7531+ HLT  ADDF MODIFIED -Y- 00000001 7531+ IFT 1;0;0;0;0 1F24 826D 1F12 7531+ COPY FLOAT2,A 1F25 BA8C 1F32 7531+ CSK A,=:CD7F CHECK OPERAND WORD 1 1PAGE 0457 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:34.00 --ADDF-- INSTRUCTION TEST (PART 3-6) 1F26 0000 7531+ NOP 1F27 0E0D 7531+ HLT ADDF MODIFIED OPERAND 1F28 826A 1F13 7531+ COPY FLOAT2+1,A  1F29 BA5E 1F08 7531+ CSK A,=:FFFF CHECK OPERAND WORD 2 1F2A 0000 7531+ NOP 1F2B 0E0D   7531+ HLT ADDF MODIFIED OPERAND 7531+ ENDC 00000001 7531+  IFT 1;0;0 00000001 7531+ IFT 1 1F2C 3641 1F2E 7531+ JT OV,$+2 OVERFLOW STILL SET? 1F2D 0E0D 7531+ HLT NO-- ADDF CHANGED OVERFLOW 7531+ ENDC  00000001 7531+ IFT 1 1F2E 5641 1F30 7531+ JT CY,$+2 CARRY STILL SET? 1F2F 0E0D  7531+ HLT NO-- ADDF CHANGED CARRY 7531+ ENDC 7531+  ENDC 1F30 9E59 1F0A 7531+ JMP FLOAT1 PATCH FOR LOOPING 1F30 0000 7531+ ORG $-1  1F30 0000 7531+ NOP 00001F31 7531+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 1F31 0000 7531+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0001 7531+ LPOOL 1F32 CD7F 00001F33 7531+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 1F31 0000 7531+  ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1F31 9E81 1F33 7531+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 1F33 0000 7531+ ORG LP::L1 CONTINUE AT END OF LPOOL 7531+  ENDC 7532 * 1PAGE 0458 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:36.00 --SUBF-- INSTRUCTION TEST (PART 3-7) 7534 * 7535 * 7536 *  7537 * THE FOLLOWING INSTRUCTION IS TESTED IN THIS SECTION: 7538 * 7539 *  SUBF 7540 * 7541 * 7542 * +:C43D4E +34 SUBF +:000000  = +:C43D4E +34 SUB +ZERO 00000000 7543 IFF 0 7543+ * CY=R OV=R A=:5144 Q=:3D4E SUBF :0000 :0000=:5144 :3D4E OK 00001F33 7543+ FLOAT1 SET $ 1F33 BFA7 1F5B 7543+ JST INITRP INITIALIZE TRAP LOCATIONS 1F34 82A7 1F5C 7543+ COPY =:5144,A :5144 ==> 'A' 1F35 C2A7 1F5D 7543+ COPY =:3D4E,Q :3D4E ==> 'Q' 1F36 A2A7 1F5E 7543+ COPY =:3333,X :3333 ==> 'X' 1F37 E2A7 1F5F 7543+  COPY =:0F0F,Y :0F0F ==> 'Y' 1F38 0E07 7543+ RBIT CY,S R ==> CARRY FLAG 1F39 0E17  7543+ RBIT OV,S R ==> OVERFLOW FLAG 00000001 7543+ IFT 0;1;0;0;0 1F3A 9E82 1F3D 7543+ JMP $+3 JUMP AROUND WORD 00001F3B 7543+ FLOAT2 SET $ 1F3B 0000 7543+  WORD :0000 INSTRUCTION OPERAND 1F3C 0000 7543+ WORD :0000 00001F3D 7543+ FLOAT3 SET $ 00000001 7543+ IFT 1;0 1F3D 5C01 7543+ SUBF FLOAT2 DO THE OPERATION 1F3E 1F3B 7543+ ENDC 7543+ ENDC 00000000 7543+ IFF 0  00000001 7543+ IFT 5>0 1F3F BA9C 1F5C 7543+ CSK A,=:5144 CHECK -A- 1F40 0000 75  43+ NOP 1F41 0E0D 7543+ HLT -A- SHOULD CONTAIN :5144 1F42 FA9A 1F5D 7543+  CSK Q,=:3D4E CHECK -Q- 1F43 0000 7543+ NOP 1F44 0E0D 7543+ HLT -Q- SHOULD CONTAIN :3D4E 7543+ ENDC 7543+ ENDC 1F45 0020 7543+ COPY X,A FOR TESTING 1F46 BA97 1F5E 7543+ CSK A,=:3333 CHECK -X- 1F47 0000 7543+  NOP 1PAGE 0459 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:37.75 --SUBF-- INSTRUCTION TEST (PART 3-7) 1F48 0E0D 7543+ HLT SUBF MODIFIED -X- 1F49 0060 7543+ COPY Y,A FOR TESTING 1F4A BA94 1F5F 7543+ CSK A,=:0F0F CHECK -Y- 1F4B 0000 7543+  NOP 1F4C 0E0D 7543+ HLT SUBF MODIFIED -Y- 00000001 7543+ IFT 0;1;0;0;0 1F4D 826D 1F3B 7543+ COPY FLOAT2,A 1F4E 0D00 7543+ CSK A,=:0000 CHECK OPERAND WORD 1 1F4F 0000 7543+ NOP 1F50 0E0D 7543+ HLT SUBF MODIFIED OPERAND 1F51 826A 1F3C  7543+ COPY FLOAT2+1,A 1F52 0D00 7543+ CSK A,=:0000 CHECK OPERAND WORD 2 1F53 0000  7543+ NOP 1F54 0E0D 7543+ HLT SUBF MODIFIED OPERAND 7543+  ENDC 00000001 7543+ IFT 1;0;0 00000001 7543+ IFT 1 1F55 36C1 1F57 7543+ JF OV,$+2 OVERFLOW STILL RESET? 1F56 0E0D 7543+ HLT NO-- SUBF CHANGED OVERFLOW  7543+ ENDC 00000001 7543+ IFT 1 1F57 56C1 1F59 7543+ JF CY,$+2  CARRY STILL RESET? 1F58 0E0D 7543+ HLT NO-- SUBF CHANGED CARRY 7543+  ENDC 7543+ ENDC 1F59 9E59 1F33 7543+ JMP FLOAT1 PATCH FOR LOOPING  1F59 0000 7543+ ORG $-1 1F59 0000 7543+ NOP 00001F5A 7543+ LP::L SET $  SET UP LABEL TO REPLACE NOP WITH JMP INST. 1F5A 0000 7543+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0005 7543+ LPOOL 1F5B 122B INITRP 1F5C 5144 1F5D 3D4E 1F5E 3333 1F5F 0F0F 00001F60 7543+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 1F5A 0000 7543+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1F5A 9E85 1F60 7543+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 1F60 0000 7543+ ORG LP::L1 CONTINUE AT END OF LPOOL 7543+ ENDC 1PAGE 0460 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:40.00 --SUBF-- INSTRUCTION TEST (PART 3-7)  7545 * +:C43D4E +34 SUBF -:000000 = +:C43D4E +34 SUB -ZERO 00000000 7546 IFF 0  7546+ * CY=S OV=S A=:5144 Q=:3D4E SUBF :8000 :0000=:5144 :3D4E OK 00001F60 7546+ FLOAT1 SET $ 1F60 BF7A 1F5B 7  546+ JST INITRP INITIALIZE TRAP LOCATIONS 1F61 827A 1F5C 7546+ COPY =:5144,A :5144 ==> 'A' 1F62 C27A 1F5D 7546+ COPY =:3D4E,Q :3D4E ==> 'Q' 1F63 A27A 1F5E 7546+ COPY =:3333,X :3333 ==> 'X' 1F64 E27A 1F5F 7546+ COPY =:0F0F,Y :0F0F ==> 'Y' 1F65 0E05 7546+ SBIT CY,S S ==> CARRY FLAG 1F66 0E15 7546+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7546+  IFT 0;1;0;0;0 1F67 9E82 1F6A 7546+ JMP $+3 JUMP AROUND WORD 00001F68 7546+ FLOAT2  SET $ 1F68 8000 7546+ WORD :8000 INSTRUCTION OPERAND 1F69 0000 7546+ WORD :0000 00001F6A 7546+ FLOAT3 SET $ 00000001 7546+ IFT 1;0 1F6A 5C01 7546+ SUBF FLOAT2 DO THE OPERATION 1F6B 1F68 7546+ ENDC 7546+ ENDC  00000000 7546+ IFF 0 00000001 7546+ IFT 5>0 1F6C BA6F 1F5C 7546+ CSK A,=:5144 CHECK -A- 1F6D 0000 7546+ NOP 1F6E 0E0D 7546+ HLT -A- SHOULD CONTAIN :5144 1F6F FA6D 1F5D 7546+ CSK Q,=:3D4E CHECK -Q- 1F70 0000 7546+ NOP 1F71 0E0D 7546+ HLT -Q- SHOULD CONTAIN :3D4E 7546+ ENDC 7546+  ENDC 1F72 0020 7546+ COPY X,A FOR TESTING 1F73 BA6A 1F5E 7546+ CSK A,=:3333  CHECK -X- 1F74 0000 7546+ NOP 1F75 0E0D 7546+ HLT SUBF MODIFIED -X- 1F76 0060 7546+ COPY Y,A FOR TESTING 1F77 BA67 1F5F 7546+ CSK A,=:0F0F CHECK -Y- 1F78 0000 7546+ NOP 1F79 0E0D 7546+ HLT SUBF MODIFIED -Y- 00000001 7546+  IFT 0;1;0;0;0 1F7A 826D 1F68 7546+ COPY FLOAT2,A 1F7B BA8C 1F88 7546+ CSK A,=:8000  CHECK OPERAND WORD 1 1PAGE 0461 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:42.25 --SUBF-- INSTRUCTION TEST (PART 3-7) 1F7C 0000 7546+ NOP 1F7D 0E0D 7546+ HLT  SUBF MODIFIED OPERAND 1F7E 826A 1F69 7546+ COPY FLOAT2+1,A 1F7F 0D00 7546+ CSK A,=:0000  CHECK OPERAND WORD 2 1F80 0000 7546+ NOP 1F81 0E0D 7546+ HLT SUBF MODIFIED OPERAND 7546+ ENDC 00000001 7546+ IFT 1;0;0 00000001 7546+ IFT  1 1F82 3641 1F84 7546+ JT OV,$+2 OVERFLOW STILL SET? 1F83 0E0D 7546+ HLT  NO-- SUBF CHANGED OVERFLOW 7546+ ENDC 00000001 7546+ IFT 1 1F84 5641 1F86 7546+ JT CY,$+2 CARRY STILL SET? 1F85 0E0D 7546+ HLT NO-- SUBF CHANGED CARRY 7546+ ENDC 7546+ ENDC 1F86 9E59 1F60 7546+ JMP FL  OAT1 PATCH FOR LOOPING 1F86 0000 7546+ ORG $-1 1F86 0000 7546+ NOP 00001F87 7546+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 1F87 0000 7546+ NOP  RESERVE SPACE FOR JMP INSTRUCTION 0001 7546+ LPOOL 1F88 8000 00001F89 7546+ LP::L1 SET  $ SET UP LABEL AT END OF LPOOL 1F87 0000 7546+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1F87 9E81 1F89 7546+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 1F89 0000 7546+  ORG LP::L1 CONTINUE AT END OF LPOOL 7546+ ENDC 1PAGE 0462 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:44.00 --SUBF-- INSTRUCTION TEST (PART 3-7) 7548 * +:000000 SUBF +:000000 = +:000000 +0 SUB +0 00000000 7549 IFF 0 7549+ * CY=R OV=R A=:0000 Q=:0000 SUBF :0000 :0000=:0000 :0000 OK 00001F89 7549+ FLOAT1 SET $ 1F89 BF51 1F5B 7549+ JST INITRP INITIALIZE TRAP LOCATIONS 1F8A 0900 7549+ COPY =:0000,A :0000 ==> 'A' 1F8B 4900  7549+ COPY =:0000,Q :0000 ==> 'Q' 1F8C A251 1F5E 7549+ COPY =:3333,X :3333 ==> 'X' 1F8D E251 1F5F 7549+ COPY =:0F0F,Y :0F0F ==> 'Y' 1F8E 0E07 7549+ RBIT CY,S R ==> CARRY FLAG 1F8F 0E17 7549+ RBIT OV,S R ==> OVERFLOW FLAG 00000001 7549+ IFT 0;1;0;0;0 1F90 9E82 1F93 7549+ JMP $+3 JUMP AROUND WORD 00001F91 7549+ FLOAT2 SET $ 1F91 0000 7549+ WORD :0000 INSTRUCTION OPERAND 1F92 0000 7549+ WORD :0000 00001F93 7549+ FLOAT3 SET $ 00000001 7549+ IFT 1;0 1F93 5C01 7549+ SUBF FLOAT2  DO THE OPERATION 1F94 1F91 7549+ ENDC 7549+ ENDC 00000000 7549+ IFF 0 00000001 7549+ IFT 5>0 1F95 0D00 7549+ CSK A,=:0000 CHECK -A- 1F96 0000 7549+ NOP 1F97 0E0D 7549+ HLT -A- SHOULD CONTAIN :0000 1F98 4D00 7549+ CSK Q,=:0000 CHECK -Q- 1F99 0000 7549+ NOP 1F9A 0E0D 7549+ HLT -Q- SHOULD CONTAIN :0000 7549+ ENDC 7549+ ENDC 1F9B 0020 7549+ COPY X,A FOR TESTING 1F9C BA41 1F5E 7549+ CSK A,=:3333 CHECK -X- 1F9D 0000 7549+ NOP 1F9E 0E0D 7549+ HLT SUBF MODIFIED -X- 1F9F 0060 7549+  COPY Y,A FOR TESTING 1FA0 BA3E 1F5F 7549+ CSK A,=:0F0F CHECK -Y- 1FA1 0000 7549+ NOP 1FA2 0E0D 7549+ HLT SUBF MODIFIED -Y- 00000001 7549+ IFT  0;1;0;0;0 1FA3 826D 1F91 7549+ COPY FLOAT2,A 1FA4 0D00 7549+ CSK A,=:0000 CHECK OPER AND WORD 1 1PAGE 0463 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:46.00 --SUBF-- INSTRUCTION TEST (PART 3-7) 1FA5 0000 7549+ NOP 1FA6 0E0D 7549+ HLT SUBF MODIFIED OPERAND 1FA7 826A 1F92 7549+ COPY FLOAT2+1,A 1FA8 0D00 7549+ CSK A,=:0000 CHECK OPERAND WORD 2 1FA9 0000 7549+ NOP 1FAA 0E0D 7549+ HLT SUBF MODIFIED OPERAND  7549+ ENDC 00000001 7549+ IFT 1;0;0 00000001 7549+ IFT 1 1FAB 36C1 1FAD 7549+ JF OV,$+2 OVERFLOW STILL RESET? 1FAC 0E0D 7549+ HLT NO-- SUBF CHANGED OVERFLOW 7549+ ENDC 00000001 7549+ IFT 1 1FAD 56C1 1FAF 7549+  JF CY,$+2 CARRY STILL RESET? 1FAE 0E0D 7549+ HLT NO-- SUBF CHANGED CARRY  7549+ ENDC 7549+ ENDC 1FAF 9E59 1F89 7549+ JMP FLOAT1  PATCH FOR LOOPING 1FAF 0000 7549+ ORG $-1 1FAF 0000 7549+ NOP 00001FB0 7549+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 1FB0 0000 7549+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0000 7549+ LPOOL 00001FB1 7549+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 1FB0 0000 7549+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1FB0 9E80 1FB1 7549+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 1FB1 0000 7549+ ORG LP::L1  CONTINUE AT END OF LPOOL 7549+ ENDC 1PAGE 0464 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:48.00 --SUBF-- INSTRUCTION TEST (PART 3-7) 7551 * -:000000 SUBF -:000000  = +:000000 -0 SUB -0 00000000 7552 IFF 0 7552+ * CY=S OV=S A=:8000 Q=:0000 SUBF :8000 :0000=:0000 :0000 OK 00001FB1 7552+ FLOAT1 SET $ 1FB1 BF29 1F5B 7552+ JST INITRP INITIALIZE TRAP LOCATIONS 1FB2 8255 1F88 7552+ COPY =:8000,A :8000 ==> 'A' 1FB3 4900 7552+ COPY =:0000,Q :0000 ==> 'Q' 1FB4 A229 1F5E 7552+ COPY =:3333,X :3333 ==> 'X' 1FB5 E229 1F5F 7552+  COPY =:0F0F,Y :0F0F ==> 'Y' 1FB6 0E05 7552+ SBIT CY,S S ==> CARRY FLAG 1FB7 0E15 7552+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7552+ IFT 0;1;0;0;0 1FB8 9E82 1FBB 7552+ JMP $+3 JUMP AROUND WORD 00001FB9 7552+ FLOAT2 SET $ 1FB9 8000 7552+  WORD :8000 INSTRUCTION OPERAND 1FBA 0000 7552+ WORD :0000 00001FBB 7552+ FLOAT3  SET $ 00000001 7552+ IFT 1;0 1FBB 5C01 7552+ SUBF FLOAT2 DO THE OPERATION 1FBC 1FB9 7552+ ENDC 7552+ ENDC 00000000 7552+ IFF 0  00000001 7552+ IFT 5>0 1FBD 0D00 7552+ CSK A,=:0000 CHECK -A- 1FBE 0000 7552+ NOP 1FBF 0E0D 7552+ HLT -A- SHOULD CONTAIN :0000 1FC0 4D00 7552+  CSK Q,=:0000 CHECK -Q- 1FC1 0000 7552+ NOP 1FC2 0E0D 7552+ HLT -Q- SHOULD CONTAIN :0000 7552+ ENDC 7552+ ENDC 1FC3 0020 7552+  COPY X,A FOR TESTING 1FC4 BA19 1F5E 7552+ CSK A,=:3333 CHECK -X- 1FC5 0000 7552+  NOP 1FC6 0E0D 7552+ HLT SUBF MODIFIED -X- 1FC7 0060 7552+ COPY Y,A  FOR TESTING 1FC8 BA16 1F5F 7552+ CSK A,=:0F0F CHECK -Y- 1FC9 0000 7552+ NOP 1FCA 0E0D 7552+ HLT SUBF MODIFIED -Y- 00000001 7552+ IFT 0;1;0;0;0 1FCB 826D 1FB9 7552+ COPY FLOAT2,A 1FCC BA3B 1F88 7552+ CSK A,=:8000 CHECK OPERAND WORD 1 1PAGE 0465 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:50.00 --SUBF-- INSTRUCTION TEST (PART 3-7)  1FCD 0000 7552+ NOP 1FCE 0E0D 7552+ HLT SUBF MODIFIED OPERAND 1FCF 826A 1FBA 7552+ COPY FLOAT2+1,A 1FD0 0D00 7552+ CSK A,=:0000 CHECK OPERAND WORD 2 1FD1 0000  7552+ NOP 1FD2 0E0D 7552+ HLT SUBF MODIFIED OPERAND 7552+  ENDC 00000001 7552+ IFT 1;0;0 00000001 7552+ IFT 1 1FD3 3641 1FD5 7552+  JT OV,$+2 OVERFLOW STILL SET? 1FD4 0E0D 7552+ HLT NO-- SUBF CHANGED OVERFLOW  7552+ ENDC 00000001 7552+ IFT 1 1FD5 5641 1FD7 7552+ JT CY,$+2  CARRY STILL SET? 1FD6 0E0D 7552+ HLT NO-- SUBF CHANGED CARRY 7552+  ENDC 7552+ ENDC 1FD7 9E59 1FB1 7552+ JMP FLOAT1 PATCH FOR LOOPING 1FD7 0000 7552+ ORG $-1 1FD7 0000 7552+ NOP 00001FD8 7552+ LP::L SET $  SET UP LABEL TO REPLACE NOP WITH JMP INST. 1FD8 0000 7552+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0000 7552+ LPOOL 00001FD9 7552+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL  1FD8 0000 7552+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1FD8 9E80 1FD9 7552+ JMP  LP::L1 JUMP TO LABEL AT END OF LPOOL 1FD9 0000 7552+ ORG LP::L1 CONTINUE AT END OF LPOOL 7552+ ENDC 1PAGE 0466 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:52.00 --SUBF-- INSTRUCTION TEST (PART 3-7) 7554 * -:000000 SUBF +:000000 = +:000000 -0 SUB +0 00000000 7555 IFF 0 7555+ * CY=R OV=R A=:8000 Q=:0000 SUBF :0000 :0000=:0000 :0000  OK 00001FD9 7555+ FLOAT1 SET $ 1FD9 BF01 1F5B 7555+ JST INITRP INITIALIZE TRAP LOCATIONS  1FDA 822D 1F88 7555+ COPY =:8000,A :8000 ==> 'A' 1FDB 4900 7555+ COPY =:0000,Q :0000 ==> 'Q' 1FDC A2A4 2001 7555+ COPY =:3333,X :3333 ==> 'X' 1FDD E2A4 2002 7555+ COPY =:0F0F,Y :0F0F ==> 'Y' 1FDE 0E07 7555+ RBIT CY,S R ==> CARRY FLAG 1FDF 0E17 7555+ RBIT OV,S R ==> OVERFLOW FLAG 00000001 7555+ IFT 0;1;0;0;0 1FE0 9E82 1FE3 7555+ JMP  INSTRUCTION OPERAND 1FE2 0000 7555+ WORD :0000 00001FE3 7555+ FLOAT3 SET $ 00000001 7555+ IFT 1;0 1FE3 5C01 7555+ SUBF FLOAT2 DO THE OPERATION 1FE4 1FE1  7555+ ENDC 7555+ ENDC 00000000 7555+ IFF 0 00000001 7555+  IFT 5>0 1FE5 0D00 7555+ CSK A,=:0000 CHECK -A- 1FE6 0000 7555+ NOP 1FE7 0E0D 7555+ HLT -A- SHOULD CONTAIN :0000 1FE8 4D00 7555+ CSK Q,=:0000 CHECK -Q- 1FE9 0000 7555+ NOP 1FEA 0E0D 7555+ HLT -Q- SHOULD CONTAIN :0000  7555+ ENDC 7555+ ENDC 1FEB 0020 7555+ COPY X,A FOR TESTING 1FEC BA94 2001 7555+ CSK A,=:3333 CHECK -X- 1FED 0000 7555+ NOP 1FEE 0E0D  7555+ HLT SUBF MODIFIED -X- 1FEF 0060 7555+ COPY Y,A FOR TESTING 1FF0 BA91 2002 7555+ CSK A,=:0F0F CHECK -Y- 1FF1 0000 7555+ NOP 1FF2 0E0D 7555+  HLT SUBF MODIFIED -Y- 00000001 7555+ IFT 0;1;0;0;0 1FF3 826D 1FE1 7555+ COPY FLOAT2,A 1FF4 0D00 7555+ CSK A,=:0000 CHECK OPERAND WORD 1 1PAGE 0467 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:54.00 --SUBF-- INSTRUCTION TEST (PART 3-7) 1FF5 0000 7555+  NOP 1FF6 0E0D 7555+ HLT SUBF MODIFIED OPERAND 1FF7 826A 1FE2 7555+ COPY  FLOAT2+1,A 1FF8 0D00 7555+ CSK A,=:0000 CHECK OPERAND WORD 2 1FF9 0000 7555+ NOP 1FFA 0E0D 7555+ HLT SUBF MODIFIED OPERAND 7555+ ENDC 00000001 7555+ IFT 1;0;0 00000001 7555+ IFT 1 1FFB 36C1 1FFD 7555+ JF OV,$+2 OVERFLOW STILL RESET? 1FFC 0E0D 7555+ HLT NO-- SUBF CHANGED OVERFLOW 7555+  ENDC 00000001 7555+ IFT 1 1FFD 56C1 1FFF 7555+ JF CY,$+2 CARRY STILL RESET? 1FFE 0E0D 7555+ HLT NO-- SUBF CHANGED CARRY 7555+ ENDC   7555+ ENDC 1FFF 9E59 1FD9 7555+ JMP FLOAT1 PATCH FOR LOOPING 1FFF 0000 7555+  ORG $-1 1FFF 0000 7555+ NOP 00002000 7555+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 2000 0000 7555+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0002 7555+ LPOOL 2001 3333 2002 0F0F 00002003 7555+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL  2000 0000 7555+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 2000 9E82 2003 7555+ JMP  LP::L1 JUMP TO LABEL AT END OF LPOOL 2003 0000 7555+ ORG LP::L1 CONTINUE AT END OF LPOOL 7555+ ENDC 1PAGE 0468 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:56.00 --SUBF-- INSTRUCTION TEST (PART 3-7) 7557 * +:000000 SUBF -:000000 = +:000000 +0 SUB -0 00000000 7558 IFF 0 7558+ * CY=R OV=R A=:0000 Q=:0000 SUBF :8000 :0000=:0000 :0000 OK 00002003 7558+ FLOAT1 SET $ 2003 BFA7 202B 7558+ JST INITRP INITIALIZE TRAP LOCATIONS 2004 0900 7558+ COPY =:0000,A :0000 ==> 'A' 2005 4900 7558+ COPY =:0000,Q :0000 ==> 'Q' 2006 A27A 2001 7558+ COPY =:3333,X :3333 ==> 'X' 2007 E27A 2002 7558+ COPY =:0F0F,Y  :0F0F ==> 'Y' 2008 0E07 7558+ RBIT CY,S R ==> CARRY FLAG 2009 0E17 7558+ RBIT  OV,S R ==> OVERFLOW FLAG 00000001 7558+ IFT 0;1;0;0;0 200A 9E82 200D 7558+ JMP  $+3 JUMP AROUND WORD 0000200B 7558+ FLOAT2 SET $ 200B 8000 7558+ WORD :8000  INSTRUCTION OPERAND 200C 0000 7558+ WORD :0000 0000200D 7558+ FLOAT3 SET $ 00000001  7558+ IFT 1;0 200D 5C01 7558+ SUBF FLOAT2 DO THE OPERATION 200E 200B  7558+ ENDC 7558+ ENDC 00000000 7558+ IFF 0 00000001 7558+  IFT 5>0 200F 0D00 7558+ CSK A,=:0000 CHECK -A- 2010 0000 7558+ NOP 2011 0E0D 7558+ HLT -A- SHOULD CONTAIN :0000 2012 4D00 7558+ CSK Q,=:0000 CHECK -Q- 2013 0000 7558+ NOP 2014 0E0D 7558+ HLT -Q- SHOULD CONTAIN :0000  7558+ ENDC 7558+ ENDC 2015 0020 7558+ COPY X,A FOR TESTING 2016 BA6A 2001 7558+ CSK A,=:3333 CHECK -X- 2017 0000 7558+ NOP 2018 0E0D 7558+ HLT SUBF MODIFIED -X- 2019 0060 7558+ COPY Y,A FOR TESTING 201A BA67 2002 7558+ CSK A,=:0F0F CHECK -Y- 201B 0000 7558+ NOP 201C 0E0D 7558+ HLT SUBF MODIFIED -Y- 00000001 7558+ IFT 0;1;0;0;0 201D 826D 200B 7558+ COPY  FLOAT2,A 201E BA8D 202C 7558+ CSK A,=:8000 CHECK OPERAND WORD 1 1PAGE 0469 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:58.00 --SUBF-- INSTRUCTION TEST (PART 3-7) 201F 0000 7558+  NOP 2020 0E0D 7558+ HLT SUBF MODIFIED OPERAND 2021 826A 200C 7558+ COPY FLOAT2+1,A 2022 0D00 7558+ CSK A,=:0000 CHECK OPERAND WORD 2 2023 0000 7558+ NOP 2024 0E0D 7558+ HLT SUBF MODIFIED OPERAND 7558+ ENDC 00000001 7558+ IFT 1;0;0 00000001 7558+ IFT 1 2025 36C1 2027 7558+ JF OV,$+2 OVERFLOW STILL RESET? 2026 0E0D 7558+ HLT NO-- SUBF CHANGED OVERFLOW 7558+  ENDC 00000001 7558+ IFT 1 2027 56C1 2029 7558+ JF CY,$+2 CARRY STILL RESET?  2028 0E0D 7558+ HLT NO-- SUBF CHANGED CARRY 7558+ ENDC  7558+ ENDC 2029 9E59 2003 7558+ JMP FLOAT1 PATCH FOR LOOPING 2029 0000 7558+  ORG $-1 2029 0000 7558+ NOP 0000202A 7558+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 202A 0000 7558+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0002 7558+ LPOOL 202B 122B INITRP 202C 8000 0000202D 7558+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 202A 0000 7558+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 202A 9E82 202D 7558+  JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 202D 0000 7558+ ORG LP::L1 CONTINUE AT END OF LPOOL 7558+ ENDC 1PAGE 0470 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:19:59.75 --SUBF-- INSTRUCTION TEST (PART 3-7) 7560 * +:A94868 +83 SUBF +:8C547E +83 = +:E79F50 +80  SUB, NO BORROW 00000000 7561 IFF 0 7561+ * CY=S OV=S A=:69A9 Q=:4868 SUBF :698C :547E=:6867 :9F50 OK 0000202D 7561+ FLOAT1 SET $ 202D BF7D 202B 7561+ JST INITRP INITIALIZE TRAP LOCATIONS 202E 82A6 2055 7561+ COPY =:69A9,A :69A9 ==> 'A' 202F C2A6 2056 7561+ COPY =:4868,Q :4868 ==> 'Q' 2030 A250 2001 7561+ COPY =:3333,X :3333 ==> 'X' 2031 E250 2002 7561+ COPY  =:0F0F,Y :0F0F ==> 'Y' 2032 0E05 7561+ SBIT CY,S S ==> CARRY FLAG 2033 0E15 7561+  SBIT OV,S S ==> OVERFLOW FLAG 00000001 7561+ IFT 0;1;0;0;0 2034 9E82 2037 7561+  JMP $+3 JUMP AROUND WORD 00002035 7561+ FLOAT2 SET $ 2035 698C 7561+ WORD :698C INSTRUCTION OPERAND 2036 547E 7561+ WORD :547E 00002037 7561+ FLOAT3 SET $  00000001 7561+ IFT 1;0 2037 5C01 7561+ SUBF FLOAT2 DO THE OPERATION 2038 2035   7561+ ENDC 7561+ ENDC 00000000 7561+ IFF 0 00000001  7561+ IFT 5>0 2039 BAA0 205A 7561+ CSK A,=:6867 CHECK -A- 203A 0000 7561+ NOP 203B 0E0D 7561+ HLT -A- SHOULD CONTAIN :6867 203C FA9A 2057 7561+ CSK Q,=:9F50 CHECK -Q- 203D 0000 7561+ NOP 203E 0E0D 7561+ HLT -Q- SHOULD CONTAIN :9F50 7561+ ENDC 7561+ ENDC 203F 0020 7561+ COPY X,A  FOR TESTING 2040 BA40 2001 7561+ CSK A,=:3333 CHECK -X- 2041 0000 7561+ NOP 2042 0E0D 7561+ HLT SUBF MODIFIED -X- 2043 0060 7561+ COPY Y,A FOR TESTING 2044 BA3D 2002 7561+ CSK A,=:0F0F CHECK -Y- 2045 0000 7561+ NOP 2046 0E0D 7561+ HLT SUBF MODIFIED -Y- 00000001 7561+ IFT 0;1;0;0;0 2047 826D 2035 7561+  COPY FLOAT2,A 2048 BA8F 2058 7561+ CSK A,=:698C CHECK OPERAND WORD 1 1PAGE 0471 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:02.00 --SUBF-- INSTRUCTION TEST (PART 3-7) 2049 0000  7561+ NOP 204A 0E0D 7561+ HLT SUBF MODIFIED OPERAND 204B 826A 2036 7561+  COPY FLOAT2+1,A 204C BA8C 2059 7561+ CSK A,=:547E CHECK OPERAND WORD 2 204D 0000 7561+  NOP 204E 0E0D 7561+ HLT SUBF MODIFIED OPERAND 7561+ ENDC 00000001 7561+ IFT 1;0;0 00000001 7561+ IFT 1 204F 3641 2051 7561+ JT OV,$+2 OVERFLOW STILL SET? 2050 0E0D 7561+ HLT NO-- SUBF CHANGED OVERFLOW 7561+ ENDC 00000001 7561+ IFT 1 2051 5641 2053 7561+ JT CY,$+2 CARRY STILL SET? 2052 0E0D 7561+ HLT NO-- SUBF CHANGED CARRY 7561+ ENDC  7561+ ENDC 2053 9E59 202D 7561+ JMP FLOAT1 PATCH FOR LOOPING 2053 0000 7561+  ORG $-1 2053 0000 7561+ NOP 00002054 7561+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 2054 0000 7561+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0006  7561+ LPOOL 2055 69A9 2056 4868 2057 9F50 2058 698C 2059 547E 205A 6867 0000205B 7561+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 2054 0000 7561+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 2054 9E86 205B 7561+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 205B 0000 7561+  ORG LP::L1 CONTINUE AT END OF LPOOL 7561+ ENDC 1PAGE 0472 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:04.00 --SUBF-- INSTRUCTION TEST (PART 3-7) 7563 * +:8 C547E +83 SUBF +:A94868 +83 = -:E79F50 +80 SUB, NO BORROW 00000000 7564 IFF 0 7564+ * CY=R OV=R A=:698C Q=:547E SUBF :69A9 :4868=:E867 :9F50 OK 0000205B 7564+ FLOAT1 SET $ 205B BF4F 202B 7564+  JST INITRP INITIALIZE TRAP LOCATIONS 205C 827B 2058 7564+ COPY =:698C,A :698C ==> 'A' 205D C27B 2059 7564+ COPY =:547E,Q :547E ==> 'Q' 205E A222 2001 7564+ COPY =:3333,X :3333 ==> 'X' 205F E222 2002 7564+ COPY =:0F0F,Y :0F0F ==> 'Y' 2060 0E07 7564+ RBIT CY,S  R ==> CARRY FLAG 2061 0E17 7564+ RBIT OV,S R ==> OVERFLOW FLAG 00000001 7564+ IFT 0;1;0;0;0 2062 9E82 2065 7564+ JMP $+3 JUMP AROUND WORD 00002063 7564+ FLOAT2 SET  $ 2063 69A9 7564+ WORD :69A9 INSTRUCTION OPERAND 2064 4868 7564+ WORD :4868  00002065 7564+ FLOAT3 SET $ 00000001 7564+ IFT 1;0 2065 5C01 7564+ SUBF FLOAT2 DO THE OPERATION 2066 2063 7564+ ENDC 7564+ ENDC 00000000 7564+ IFF 0 00000001 7564+ IFT 5>0 2067 BA9B 2083 7564+ CSK A,=:E867  CHECK -A- 2068 0000 7564+ NOP 2069 0E0D 7564+ HLT -A- SHOULD CONTAIN :E867 206A FA6C 2057 7564+ CSK Q,=:9F50 CHECK -Q- 206B 0000 7564+ NOP 206C 0E0D 7564+  HLT -Q- SHOULD CONTAIN :9F50 7564+ ENDC 7564+ ENDC 206D 0020 7564+ COPY X,A FOR TESTING 206E BA12 2001 7564+ CSK A,=:3333 CHECK -X- 206F 0000 7564+ NOP 2070 0E0D 7564+ HLT SUBF MODIFIED -X- 2071 0060 7564+ COPY Y,A FOR TESTING 2072 BA0F 2002 7564+ CSK A,=:0F0F CHECK -Y- 2073 0000  7564+ NOP 2074 0E0D 7564+ HLT SUBF MODIFIED -Y- 00000001 7564+ IFT 0;1;0;0;0 2075 826D 2063 7564+ COPY FLOAT2,A 2076 BA5E 2055 7564+ CSK A,=:69A9 CHECK OPERAND WORD 1 1PAGE 0473 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:06.00 --SUBF-- INSTRUCTION TEST (PART 3-7) 2077 0000 7564+ NOP 2078 0E0D 7564+ HLT SUBF MODIFIED OPERAND 2079 826A 2064 7564+ COPY FLOAT2+1,A 207A BA5B 2056 7564+ CSK A,=:4868 CHECK OPERAND WORD 2 207B 0000 7564+ NOP 207C 0E0D 7564+ HLT SUBF MODIFIED OPERAND  7564+ ENDC 00000001 7564+ IFT 1;0;0 00000001 7564+ IFT 1 207D 36C1 207F 7564+ JF OV,$+2 OVERFLOW STILL RESET? 207E 0E0D 7564+ HLT  NO-- SUBF CHANGED OVERFLOW 7564+ ENDC 00000001 7564+ IFT 1 207F 56C1 2081 75 64+ JF CY,$+2 CARRY STILL RESET? 2080 0E0D 7564+ HLT NO-- SUBF CHANGED CARRY 7564+ ENDC 7564+ ENDC 2081 9E59 205B 7564+ JMP FLOAT1  PATCH FOR LOOPING 2081 0000 7564+ ORG $-1 2081 0000 7564+ NOP 00002082 7564+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 2082 0000 7564+ NOP  RESERVE SPACE FOR JMP INSTRUCTION 0001 7564+ LPOOL 2083 E867 00002084 7564+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 2082 0000 7564+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 2082 9E81 2084 7564+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 2084 0000 7564+ ORG  LP::L1 CONTINUE AT END OF LPOOL 7564+ ENDC 1PAGE 0474 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:08.00 --SUBF-- INSTRUCTION TEST (PART 3-7) 7566 * +:8246A1 -26 SUBF +:C84986 -23 = -:B800B2 -23 SUB, WITH BORROW 00000000 7567 IFF 0 7567+ * CY=S OV=S A=:3302 Q=:46A1 SUBF :34C8 :4986=:B4B8 :00B2 OK 00002084 7567+ FLOAT1 SET $ 2084 BF26 202B 7567+ JST INITRP INITIALIZE TRAP LOCATIONS 2085 82AA 20B0 7567+ COPY =:3302,A :3302 ==> 'A' 2086 C2A5 20AC 7567+ COPY =:46A1,Q :46A1 ==> 'Q' 2087 A2A5 20AD 7567+ COPY =:3333,X :3333 ==> 'X'  2088 E2A5 20AE 7567+ COPY =:0F0F,Y :0F0F ==> 'Y' 2089 0E05 7567+ SBIT CY,S S ==> CARRY FLAG 208A 0E15 7567+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7567+ IFT  0;1;0;0;0 208B 9E82 208E 7567+ JMP $+3 JUMP AROUND WORD 0000208C 7567+ FLOAT2 SET $ 208C 34C8 7567+ WORD :34C8 INSTRUCTION OPERAND 208D 4986 7567+ WORD :4986 0000208E 7567+ FLOAT3 SET $ 00000001 7567+ IFT 1;0 208E 5C01 7567+ SUBF FLOAT2  DO THE OPERATION 208F 208C 7567+ ENDC 7567+ ENDC 00000000 7567+ IFF 0 00000001 7567+ IFT 5>0 2090 BAA0 20B1 7567+ CSK A,=:B4B8 CHECK -A- 2091 0000 7567+ NOP 2092 0E0D 7567+ HLT -A- SHOULD CONTAIN :B4B8 2093 4DB2 7567+ CSK Q,=:00B2 CHECK -Q- 2094 0000 7567+ NOP 2095 0E0D 7567+ HLT -Q- SHOULD CONTAIN :00B2 7567+ ENDC 7567+ ENDC 2096 0020 7567+ COPY X,A FOR TESTING 2097 BA95 20AD 7567+ CSK A,=:3333 CHECK -X- 2098 0000 7567+ NOP 2099 0E0D 7567+ HLT SUBF MODIFIED -X- 209A 0060 7567+ COPY Y,A FOR TESTING 209B BA92 20AE 7567+ CSK A,=:0F0F CHECK -Y- 209C 0000 7 567+ NOP 209D 0E0D 7567+ HLT SUBF MODIFIED -Y- 00000001 7567+ IFT  0;1;0;0;0 209E 826D 208C 7567+ COPY FLOAT2,A 209F BA92 20B2 7567+ CSK A,=:34C8 CHECK OPERAND WORD 1 1PAGE 0475 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:10.00 --SUBF-- INSTRUCTION TEST (PART 3-7) 20A0 0000 7567+ NOP 20A1 0E0D 7567+ HLT SUBF MODIFIED OPERAND 20A2 826A 208D 7567+ COPY FLOAT2+1,A 20A3 BA8B 20AF 7567+ CSK A,=:4986 CHECK OPERAND WORD 2 20A4 0000 7567+ NOP 20A5 0E0D 7567+ HLT SUBF MODIFIED OPERAND  7567+ ENDC 00000001 7567+ IFT 1;0;0 00000001 7567+ IFT 1 20A6 3641 20A8 7567+ JT OV,$+2 OVERFLOW STILL SET? 20A7 0E0D 7567+ HLT NO-- SUBF CHANGED OVERFLOW 7567+ ENDC 00000001 7567+ IFT 1 20A8 5641 20AA 7567+  JT CY,$+2 CARRY STILL SET? 20A9 0E0D 7567+ HLT NO-- SUBF CHANGED CARRY  7567+ ENDC 7567+ ENDC 20AA 9E59 2084 7567+ JMP FLOAT1 PATCH FOR LOOPING 20AA 0000 7567+ ORG $-1 20AA 0000 7567+ NOP 000020AB 7567+ LP::L  SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 20AB 0000 7567+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0007 7567+ LPOOL 20AC 46A1 20AD 3333 20AE 0F0F 20AF 4986 20B0 3302 20B1 B4B8 20B2 34C8 000020B3 7567+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 20AB 0000 7567+  ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 20AB 9E87 20B3 7567+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 20B3 0000 7567+ ORG LP::L1 CONTINUE AT END OF LPOOL 7567+  ENDC 1PAGE 0476 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:12.00 --SUBF-- INSTRUCTION TEST (PART 3-7) 7569 * -:8246A1 -26 SUBF -:C84986 -23 = +:B800B2 -23 00000000 7570 IFF 0 7570+ * CY=S OV=S A=:B302 Q=:46A1 SUBF :B4C8 :4986=:34B8 :00B2 OK 000020B3 7570+ FLOAT1 SET  $ 20B3 BFA7 20DB 7570+ JST INITRP INITIALIZE TRAP LOCATIONS 20B4 82A7 20DC 7570+ COPY =:B302,A :B302 ==> 'A' 20B5 C276 20AC 7570+ COPY =:46A1,Q :46A1 ==> 'Q' 20B6 A276 20AD 7570+  COPY =:3333,X :3333 ==> 'X' 20B7 E276 20AE 7570+ COPY =:0F0F,Y :0F0F ==> 'Y' 20B8 0E05 7570+ SBIT CY,S S ==> CARRY FLAG 20B9 0E15 7570+ SBIT OV,S S ==> OVERFLOW FLAG  00000001 7570+ IFT 0;1;0;0;0 20BA 9E82 20BD 7570+ JMP $+3 JUMP AROUND WORD 000020BB 7570+ FLOAT2 SET $ 20BB B4C8 7570+ WORD :B4C8 INSTRUCTION OPERAND 20BC 4986  7570+ WORD :4986 000020BD 7570+ FLOAT3 SET $ 00000001 7570+ IFT 1;0 20BD 5C01 7570+ SUBF FLOAT2 DO THE OPERATION 20BE 20BB 7570+ ENDC 7570+ ENDC 00000000 7570+ IFF 0 00000001 7570+ IFT 5>0 20BF BA9D 20DD 7570+ CSK A,=:34B8 CHECK -A- 20C0 0000 7570+ NOP 20C1 0E0D 7570+ HLT  -A- SHOULD CONTAIN :34B8 20C2 4DB2 7570+ CSK Q,=:00B2 CHECK -Q- 20C3 0000 7570+  NOP 20C4 0E0D 7570+ HLT -Q- SHOULD CONTAIN :00B2 7570+ ENDC  7570+ ENDC 20C5 0020 7570+ COPY X,A FOR TESTING 20C6 BA66 20AD 7570+  CSK A,=:3333 CHECK -X- 20C7 0000 7570+ NOP 20C8 0E0D 7570+ HLT SUBF MODIFIED -X- 20C9 0060 7570+ COPY Y,A FOR TESTING 20CA BA63 20AE 7570+ CSK A,=:0F0F CHECK -Y- 20CB 0000 7570+ NOP 20CC 0E0D 7570+ HLT SUBF MODIFIED -Y- 00000001 7570+ IFT 0;1;0;0;0 20CD 826D 20BB 7570+ COPY FLOAT2,A 20CE BA8F 20DE 7570+  CSK A,=:B4C8 CHECK OPERAND WORD 1 1PAGE 0477 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:14.00 --SUBF-- INSTRUCTION TEST (PART 3-7) 20CF 0000 7570+ NOP 20D0 0E0D 7570+  HLT SUBF MODIFIED OPERAND 20D1 826A 20BC 7570+ COPY FLOAT2+1,A 20D2 BA5C 20AF 7570+  CSK A,=:4986 CHECK OPERAND WORD 2 20D3 0000 7570+ NOP 20D4 0E0D 7570+ HLT  SUBF MODIFIED OPERAND 7570+ ENDC 00000001 7570+ IFT 1;0;0 00000001 7570+ IFT 1 20D5 3641 20D7 7570+ JT OV,$+2 OVERFLOW STILL SET? 20D6 0E0D 7570+ HLT NO-- SUBF CHANGED OVERFLOW 7570+ ENDC 00000001 7570+  IFT 1 20D7 5641 20D9 7570+ JT CY,$+2 CARRY STILL SET? 20D8 0E0D 7570+ HLT  NO-- SUBF CHANGED CARRY 7570+ ENDC 7570+ ENDC 20D9 9E59 20B3 7570+ JMP FLOAT1 PATCH FOR LOOPING 20D9 0000 7570+ ORG $-1 20D9 0000 7570+  NOP 000020DA 7570+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 20DA 0000 7570+  NOP RESERVE SPACE FOR JMP INSTRUCTION 0004 7570+ LPOOL 20DB 122B INITRP 20DC B302 20DD 34B8 20DE B4C8 000020DF 7570+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 20DA 0000 7570+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 20DA 9E84 20DF 7570+ JMP LP::L1  JUMP TO LABEL AT END OF LPOOL 20DF 0000 7570+ ORG LP::L1 CONTINUE AT END OF LPOOL   7570+ ENDC 1PAGE 0478 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:16.00 --SUBF-- INSTRUCTION TEST (PART 3-7) 7572 * +:FFFFFF+127 SUBF -:800000+104 = +:800000 +0 OVERFLOW 00000000 7573 IFF 0 7573+ * CY=R OV=R A=:7FFF Q=:FFFF SUBF :F400 :0000=:0000 :0000 OV 000020DF 7573+ FLOAT1 SET $ 20DF BF7B 20DB 7573+ JST INITRP INITIALIZE TRAP LOCATIONS 20E0 82B2 2113 7573+ COPY =:7FFF,A :7FFF ==> 'A' 20E1 48FF 7573+ COPY =:FFFF,Q :FFFF ==> 'Q' 20E2 A24A 20AD 7573+ COPY =:3333,X :3333 ==> 'X' 20E3 E24A 20AE 7573+ COPY =:0F0F,Y :0F0F ==> 'Y' 20E4 0E07 7573+ RBIT CY,S R ==> CARRY FLAG 20E5 0E17 7573+ RBIT OV,S  R ==> OVERFLOW FLAG 00000001 7573+ IFT 0;1;0;0;0 20E6 9E82 20E9 7573+ JMP $+3 JUMP AROUND WORD 000020E7 7573+ FLOAT2 SET $ 20E7 F400 7573+ WORD :F400 INSTRUCTION OPERAND 20E8 0000 7573+ WORD :0000 000020E9 7573+ FLOAT3 SET $ 00000001 7573+ IFT 1 00000000 7573+ IFF 0 20E9 5C01 7573+ SUBF FLOAT2 SHOULD OVERFLOW AND T R A P 20EA 20E7 7573+ ENDC 7573+ ENDC 7573+ ENDC 00000000 7573+ IFF 0 00000001 7573+ IFT 5>0 20EB 0D00 7573+ CSK  A,=:0000 CHECK -A- 20EC 0000 7573+ NOP 20ED 0E0D 7573+ HLT -A- SHOULD CONTAIN :0000 20EE 4D00 7573+ CSK Q,=:0000 CHECK -Q- 20EF 0000 7573+ NOP 20F0 0E0D  7573+ HLT -Q- SHOULD CONTAIN :0000 7573+ ENDC 7573+ ENDC 20F1 0020 7573+ COPY X,A FOR TESTING 20F2 BA3A 20AD 7573+ CSK A,=:3333 CHECK -X- 20F3 0000 7573+ NOP 20F4 0E0D 7573+ HLT SUBF MODIFIED -X-  20F5 0060 7573+ COPY Y,A FOR TESTING 20F6 BA37 20AE 7573+ CSK A,=:0F0F CHECK -Y- 20F7 0000 7573+ NOP 20F8 0E0D 7573+ HLT SUBF MODIFIED -Y- 00000001  7573+ IFT 0;1;0;0;0 1PAGE 0479 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:18.00 --SUBF-- INSTRUCTION TEST (PART 3-7) 20F9 826D 20E7 7573+ COPY FLOAT2,A 20FA BA99 2114 7573+  CSK A,=:F400 CHECK OPERAND WORD 1 20FB 0000 7573+ NOP 20FC 0E0D 7573+ HLT  SUBF MODIFIED OPERAND 20FD 826A 20E8 7573+ COPY FLOAT2+1,A 20FE 0D00 7573+ CSK A,=:0000 CHECK OPERAND WORD 2 20FF 0000 7573+ NOP 2100 0E0D 7573+ HLT SUBF MODIFIED OPERAND 7573+ ENDC 00000001 7573+ IFT 1 00000000 7573+  IFF 0 00000001 7573+ IFT 1 2101 56C1 2103 7573+ JF CY,$+2 CARRY STILL RESET?  2102 0E0D 7573+ HLT NO-- SUBF WITH OVERFLOW CHANGED CARRY 7573+ ENDC 7573+ ENDC 2103 3641 2105 7573+ JT OV,$+2 OVERFLOW SET? 2104 0E0D 7573+ HLT NO-- EXPECTED OVERFLOW WITH OV SET 7573+ ENDC 00000001 7573+ IFT 1;0 00000000 7573+ IFF 0 2105 8020 0020 7573+ COPY QTEMP,A CHECK TRAP FLAG TO SEE IF TRAP WAS TAKEN 2106 0D01 7573+ CSK A,=1 2107 0000 7573+ NOP 2108 0E0D  7573+ HLT SUBF DID NOT EXECUTE TRAP 2109 838B 2115 7573+ COPY ATRAP,A 1ST WORD OF TRAP VECTOR 210A BA8B 2116 7573+ CSK A,=FLOAT3+2 CHECK 'P' 210B 0000 7573+ NOP 210C 0E0D 7573+ HLT SUBF TRAP STORED WRONG 'P' 210D 8389 2117 7573+ COPY ATRAP+1,A  2ND WORD OF TRAP VECTOR 210E BA5A 20E9 7573+ CSK A,FLOAT3 CHECK 'I' 210F 0000 7573+ NOP  2110 0E0D 7573+ HLT SUBF TRAP STORED WRONG 'I' 7573+ ENDC  7573+ ENDC 2111 9E4D 20DF 7573+ JMP FLOAT1 PATCH FOR LOOPING 2111 0000 7573+  ORG $-1 2111 0000 7573+ NOP 00002112 7573+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 2112 0000 7573+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0005  7573+ LPOOL 2113 7FFF 2114 F400 1PAGE 0480 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:20.00 --SUBF-- INSTRUCTION TEST (PART 3-7) 2115 00A8 ATRAP 2116 20EB 2117 00A9 00002118 7573+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 2112 0000 7573+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 2112 9E85 2118 7573+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 2118 0000 7573+  ORG LP::L1 CONTINUE AT END OF LPOOL 7573+ ENDC 1PAGE 0481 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:20.50 --SUBF-- INSTRUCTION TEST (PART 3-7) 7575 * +:C00001-128 SUBF +:800001-128 = +:0 UNDERFLOW 00000000 7576 IFF 0 7576+ * CY=S OV=S A=:0040 Q=:0001 SUBF :0000 :0001=:0000 :0000 UF 00002118 7576+ FLOAT1 SET $ 2118 BF42 20DB 7576+  JST INITRP INITIALIZE TRAP LOCATIONS 2119 0940 7576+ COPY =:0040,A :0040 ==> 'A' 211A 4901 7576+ COPY =:0001,Q :0001 ==> 'Q' 211B A211 20AD 7576+ COPY =:3333,X :3333 ==> 'X' 211C E211 20AE 7576+ COPY =:0F0F,Y :0F0F ==> 'Y' 211D 0E05 7576+ SBIT CY,S S ==> CARRY FLAG 211E 0E15 7576+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7576+ IFT   0;1;0;0;0 211F 9E82 2122 7576+ JMP $+3 JUMP AROUND WORD 00002120 7576+ FLOAT2 SET $ 2120 0000 7576+ WORD :0000 INSTRUCTION OPERAND 2121 0001 7576+ WORD :0001  00002122 7576+ FLOAT3 SET $ 00000001 7576+ IFT 1 2122 5C01 7576+ SUBF FLOAT2 SHOULD UNDERFLOW 2123 2120 7576+ ENDC 7576+ ENDC 00000000 7576+ IFF 0 00000001 7576+ IFT 5>0 2124 0D00 7576+ CSK A,=:0000 CHECK -A- 2125 0000 7576+ NOP 2126 0E0D 7576+ HLT -A- SHOULD CONTAIN :0000 2127 4D00 7576+ CSK Q,=:0000 CHECK -Q- 2128 0000 7576+ NOP 2129 0E0D 7576+ HLT -Q- SHOULD CONTAIN :0000 7576+ ENDC 7576+ ENDC 212A 0020 7576+ COPY X,A FOR TESTING 212B BA01 20AD 7576+ CSK A,=:3333 CHECK -X- 212C 0000 7576+ NOP 212D 0E0D 7576+ HLT SUBF MODIFIED -X- 212E 0060 7576+ COPY Y,A FOR TESTING 212F BA90 2140 7576+ CSK A,=:0F0F CHECK -Y- 2130 0000 7576+ NOP 2131 0E0D 7576+ HLT SUBF MODIFIED -Y- 00000001 7576+ IFT  0;1;0;0;0 2132 826D 2120 7576+ COPY FLOAT2,A 2133 0D00 7576+ CSK A,=:0000 CHECK OPERAND WORD 1 1PAGE 0482 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:22.50 --SUBF-- INSTRUCTION TEST (PART 3-7) 2134 0000 7576+ NOP 2135 0E0D 7576+ HLT SUBF MODIFIED OPERAND 2136 826A 2121 7576+ COPY FLOAT2+1,A 2137 0D01 7576+ CSK A,=:0001 CHECK OPERAND WORD 2 2138 0000 7576+ NOP 2139 0E0D 7576+ HLT SUBF MODIFIED OPERAND  7576+ ENDC 00000001 7576+ IFT 1 213A 5641 213C 7576+ JT CY,$+2  CARRY SET? 213B 0E0D 7576+ HLT NO-- EXPECTED UNDERFLOW WITH CY SET 213C 3641 213E 7576+  JT OV,$+2 OVERFLOW SET? 213D 0E0D 7576+ HLT NO-- EXPECTED UNDERFLOW WITH OV SET 7576+ ENDC 213E 9E59 2118 7576+ JMP FLOAT1 PATCH FOR LOOPING 213E 0000 7576+ ORG $-1 213E 0000 7576+ NOP 0000213F 7576+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 213F 0000 7576+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0001 7576+ LPOOL 2140 0F0F 00002141 7576+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 213F 0000 7576+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 213F 9E81 2141 7576+  JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 2141 0000 7576+ ORG LP::L1 CONTINUE AT END  OF LPOOL 7576+ ENDC 7577 * 1PAGE 0483 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:24.25 --MULF-- INSTRUCTION TEST (PART 3-8) 7579 * 7580 * 7581 * 7582 * THE FOLLOWING INSTRUCTION IS TESTED IN THIS SECTION:  7583 * 7584 * MULF 7585 * 7586 * 00000000 7587 IFF 0 7587+ * CY=S OV=S A=:FFFF Q=:FFFF MULF :0000 :0000=:0000 :0000 OK 00002141 7587+ FLOAT1 SET $ 2141 BF19 20DB 7587+ JST INITRP INITIALIZE TRAP LOCATIONS 2142 08FF 7587+  COPY =:FFFF,A :FFFF ==> 'A' 2143 48FF 7587+ COPY =:FFFF,Q :FFFF ==> 'Q' 2144 A2A4 2169 7587+ COPY =:3333,X :3333 ==> 'X' 2145 E27A 2140 7587+ COPY =:0F0F,Y :0F0F ==> 'Y' 2146 0E05 7587+ SBIT CY,S S ==> CARRY FLAG 2147 0E15 7587+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7587+ IFT 0;0;1;0;0 2148 9E82 214B 7587+ JMP $+3 JUMP AROUND WORD 00002149 7587+ FLOAT2 SET $ 2149 0000 7587+ WORD :0000 INSTRUCTION OPERAND 214A 0000 7587+ WORD :0000 0000214B 7587+ FLOAT3 SET $ 00000001 7587+ IFT  1;0 214B 5C02 7587+ MULF FLOAT2 DO THE OPERATION 214C 2149 7587+ ENDC  7587+ ENDC 00000000 7587+ IFF 0 00000001 7587+ IFT 5>0 214D 0D00 7587+ CSK A,=:0000 CHECK -A- 214E 0000 7587+ NOP 214F 0E0D 7587+  HLT -A- SHOULD CONTAIN :0000 2150 4D00 7587+ CSK Q,=:0000 CHECK -Q- 2151 0000  7587+ NOP 2152 0E0D 7587+ HLT -Q- SHOULD CONTAIN :0000 7587+  ENDC 7587+ ENDC 2153 0020 7587+ COPY X,A FOR TESTING 2154 BA94 2169 7587+ CSK A,=:3333 CHECK -X- 2155 0000 7587+ NOP 2156 0E0D 7587+ HLT  MULF MODIFIED -X- 1PAGE 0484 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:26.25 --MULF-- INSTRUCTION TEST (PART 3-8) 2157 0060 7587+ COPY Y,A FOR TESTING 2158 BA67 2140 7587+ CSK A,=:0F0F CHECK -Y- 2159 0000 7587+ NOP 215A 0E0D 7587+ HLT  MULF MODIFIED -Y- 00000001 7587+ IFT 0;0;1;0;0 215B 826D 2149 7587+ COPY FLOAT2,A 215C 0D00 7587+ CSK A,=:0000 CHECK OPERAND WORD 1 215D 0000 7587+ NOP 215E 0E0D  7587+ HLT MULF MODIFIED OPERAND 215F 826A 214A 7587+ COPY FLOAT2+1,A 2160 0D00  7587+ CSK A,=:0000 CHECK OPERAND WORD 2 2161 0000 7587+ NOP 2162 0E0D 7587+   HLT MULF MODIFIED OPERAND 7587+ ENDC 00000001 7587+ IFT 1;0;0 00000001 7587+ IFT 1 2163 3641 2165 7587+ JT OV,$+2 OVERFLOW STILL SET? 2164 0E0D 7587+ HLT NO-- MULF CHANGED OVERFLOW 7587+ ENDC 00000001 7587+ IFT 1 2165 5641 2167 7587+ JT CY,$+2 CARRY STILL SET? 2166 0E0D 7587+  HLT NO-- MULF CHANGED CARRY 7587+ ENDC 7587+ ENDC 2167 9E59 2141 7587+ JMP FLOAT1 PATCH FOR LOOPING 2167 0000 7587+ ORG $-1 2167 0000  7587+ NOP 00002168 7587+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 2168 0000 7587+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0001 7587+ LPOOL 2169 3333 0000216A 7587+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 2168 0000 7587+ ORG  LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 2168 9E81 216A 7587+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 216A 0000 7587+ ORG LP::L1 CONTINUE AT END OF LPOOL 7587+ ENDC 1PAGE 0485 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:28.25 --MULF-- INSTRUCTION TEST (PART 3-8) 00000000 7589 IFF 0 7589+ * CY=R OV=R A=:FFFF Q=:FFFF MULF :8000 :0000=:0000 :0000 OK 0000216A 7589+ FLOAT1 SET $ 216A BFA7 2192 7589+ JST INITRP INITIALIZE TRAP LOCATIONS 216B 08FF 7589+ COPY =:FFFF,A :FFFF ==> 'A' 216C 48FF 7589+ COPY =:FFFF,Q  :FFFF ==> 'Q' 216D A27B 2169 7589+ COPY =:3333,X :3333 ==> 'X' 216E E251 2140 7589+ COPY =:0F0F,Y :0F0F ==> 'Y' 216F 0E07 7589+ RBIT CY,S R ==> CARRY FLAG 2170 0E17 7589+  RBIT OV,S R ==> OVERFLOW FLAG 00000001 7589+ IFT 0;0;1;0;0 2171 9E82 2174 7589+ JMP $+3 JUMP AROUND WORD 00002172 7589+ FLOAT2 SET $ 2172 8000 7589+ WORD :8000 INSTRUCTION OPERAND 2173 0000 7589+ WORD :0000 00002174 7589+ FLOAT3 SET $ 00000001 7589+ IFT 1;0 2174 5C02 7589+ MULF FLOAT2 DO THE OPERATION 2175 2172  7589+ ENDC 7589+ ENDC 00000000 7589+ IFF 0 00000001 7589+ IFT 5>0 2176 0D00 7589+ CSK A,=:0000 CHECK -A- 2177 0000 7589+ NOP 2178 0E0D 7589+ HLT -A- SHOULD CONTAIN :0000 2179 4D00 7589+ CSK Q,=:0000 CHECK -Q- 217A 0000 7589+ NOP 217B 0E0D 7589+ HLT -Q- SHOULD CONTAIN :0000 7589+ ENDC 7589+ ENDC 217C 0020 7589+ COPY X,A   FOR TESTING 217D BA6B 2169 7589+ CSK A,=:3333 CHECK -X- 217E 0000 7589+ NOP 217F 0E0D 7589+ HLT MULF MODIFIED -X- 2180 0060 7589+ COPY Y,A FOR TESTING 2181 BA3E 2140 7589+ CSK A,=:0F0F CHECK -Y- 2182 0000 7589+ NOP 2183 0E0D 7589+  HLT MULF MODIFIED -Y- 00000001 7589+ IFT 0;0;1;0;0 2184 826D 2172 7589+  COPY FLOAT2,A 2185 BA8D 2193 7589+ CSK A,=:8000 CHECK OPERAND WORD 1 2186 0000 7589+  NOP 1PAGE 0486 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:30.25 --MULF-- INSTRUCTION TEST (PART 3-8) 2187 0E0D 7589+ HLT MULF MODIFIED OPERAND 2188 826A 2173 7589+ COPY FLOAT2+1,A 2189 0D00 7589+ CSK A,=:0000 CHECK OPERAND WORD 2 218A 0000 7589+ NOP 218B 0E0D 7589+ HLT MULF MODIFIED OPERAND 7589+ ENDC 00000001 7589+ IFT 1;0;0 00000001 7589+ IFT 1 218C 36C1 218E 7589+ JF OV,$+2  OVERFLOW STILL RESET? 218D 0E0D 7589+ HLT NO-- MULF CHANGED OVERFLOW 7589+ ENDC 00000001 7589+ IFT 1 218E 56C1 2190 7589+ JF CY,$+2 CARRY STILL RESET? 218F 0E0D 7589+ HLT NO-- MULF CHANGED CARRY 7589+ ENDC  7589+ ENDC 2190 9E59 216A 7589+ JMP FLOAT1 PATCH FOR LOOPING 2190 0000 7589+  ORG $-1 2190 0000 7589+ NOP 00002191 7589+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 2191 0000 7589+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0002  7589+ LPOOL 2192 122B INITRP 2193 8000 00002194 7589+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 2191 0000 7589+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 2191 9E82 2194 7589+  JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 2194 0000 7589+ ORG LP::L1 CONTINUE AT END OF LPOOL 7589+ ENDC 1PAGE 0487 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:32.25 --MULF-- INSTRUCTION TEST (PART 3-8) 00000000 7591 IFF 0 7591+ * CY=S OV=S A=:405D Q=:3E8D MULF :4411 :8EE0=:43FB :97D0 OK 00002194 7591+ FLOAT1 SET $ 2194 BF7D 2192 7591+  JST INITRP INITIALIZE TRAP LOCATIONS 2195 82A6 21BC 7591+ COPY =:405D,A :405D ==> 'A' 2196 C2A6 21BD 7591+ COPY =:3E8D,Q :3E8D ==> 'Q' 2197 A251 2169 7591+ COPY =:3333,X :3333 ==> 'X' 2198 E227 2140 7591+ COPY =:0F0F,Y :0F0F ==> 'Y' 2199 0E05 7591+ SBIT CY,S  S ==> CARRY FLAG 219A 0E15 7591+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7591+  IFT 0;0;1;0;0 219B 9E82 219E 7591+ JMP $+3 JUMP AROUND WORD 0000219C 7591+ FLOAT2 SET  $ 219C 4411 7591+ WORD :4411 INSTRUCTION OPERAND 219D 8EE0 7591+ WORD :8EE0  0000219E 7591+ FLOAT3 SET $ 00000001 7591+ IFT 1;0 219E 5C02 7591+ MULF  FLOAT2 DO THE OPERATION 219F 219C 7591+ ENDC 7591+ ENDC 00000000 7591+ IFF 0 00000001 7591+ IFT 5>0 21A0 BA9D 21BE 7591+ CSK A,=:43FB  CHECK -A- 21A1 0000 7591+ NOP 21A2 0E0D 7591+ HLT -A- SHOULD CONTAIN :43FB 21A3 FA9B 21BF 7591+ CSK Q,=:97D0 CHECK -Q- 21A4 0000 7591+ NOP 21A5 0E0D 7591+  HLT -Q- SHOULD CONTAIN :97D0 7591+ ENDC 7591+ ENDC 21A6 0020 7591+ COPY X,A FOR TESTING 21A7 BA41 2169 7591+ CSK A,=:3333 CHECK -X- 21A8 0000 7591+ NOP 21A9 0E0D 7591+ HLT MULF MODIFIED -X- 21AA 0060  7591+ COPY Y,A FOR TESTING 21AB BA14 2140 7591+ CSK A,=:0F0F CHECK -Y- 21AC 0000 7591+ NOP 21AD 0E0D 7591+ HLT MULF MODIFIED -Y- 00000001 7591+  IFT 0;0;1;0;0 21AE 826D 219C 7591+ COPY FLOAT2,A 21AF BA90 21C0 7591+ CSK A,=:4411 CHECK OPERAND WORD 1 21B0 0000 7591+ NOP 1PAGE 0488 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:34.25 --MULF-- INSTRUCTION TEST (PART 3-8) 21B1 0E0D 7591+ HLT MULF MODIFIED OPERAND 21B2 826A 219D 7591+ COPY FLOAT2+1,A 21B3 BA8D 21C1 7591+ CSK A,=:8EE0 CHECK OPERAND WORD 2 21B4 0000 7591+ NOP 21B5 0E0D 7591+ HLT MULF MODIFIED OPERAND 7591+ ENDC 00000001 7591+ IFT 1;0;0 00000001 7591+ IFT 1 21B6 3641 21B8 7591+ JT OV,$+2 OVERFLOW STILL SET? 21B7 0E0D 7591+ HLT  NO-- MULF CHANGED OVERFLOW 7591+ ENDC 00000001 7591+ IFT 1 21B8 5641 21BA 7591+ JT CY,$+2 CARRY STILL SET? 21B9 0E0D 7591+ HLT NO-- MULF CHANGED CARRY 7591+ ENDC 7591+ ENDC 21BA 9E59 2194 7591+ JMP FLOAT1  PATCH FOR LOOPING 21BA 0000 7591+ ORG $-1 21BA 0000 7591+ NOP 000021BB 7591+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 21BB 0000 7591+ NOP  RESERVE SPACE FOR JMP INSTRUCTION 0006 7591+ LPOOL 21BC 405D 21BD 3E8D 21BE 43FB 21BF 97D0 21C0 4411 21C1 8EE0 000021C2 7591+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 21BB 0000 7591+  ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 21BB 9E86 21C2 7591+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 21C2 0000 7591+ ORG LP::L1 CONTINUE AT END OF LPOOL 7591+  ENDC 1PAGE 0489 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:36.25 --MULF-- INSTRUCTION TEST (PART 3-8) 00000000 7593 IFF 0 7593+ * CY=R OV=R A=:C2CD Q=:5542 MULF :402A :A9BB=:C288 :E2C1 OK 000021C2 7593+ FLOAT1 SET $ 21C2 BF4F 2192 7593+ JST INITRP INITIALIZE TRAP LOCATIONS 21C3 82A7 21EB 7593+ COPY =:C2CD,A :C2CD ==> 'A' 21C4 C2A7 21EC 7593+ COPY =:5542,Q :5542 ==> 'Q' 21C5 A223 2169 7593+ COPY =:3333,X :3333 ==> 'X' 21C6 E2A3 21EA 7593+ COPY =:0F0F,Y :0F0F ==> 'Y' 21C7 0E07 7593+ RBIT CY,S R ==> CARRY FLAG 21C8 0E17 7593+  RBIT OV,S R ==> OVERFLOW FLAG 00000001 7593+ IFT 0;0;1;0;0 21C9 9E82 21CC 7593+  JMP $+3 JUMP AROUND WORD 000021CA 7593+ FLOAT2 SET $ 21CA 402A 7593+ WORD ES (PART 3-10) 25D7 0E0D 7661+ HLT ADDRESSING MODE FAILED 7661+ * 25D8 9E6E 25C7 7661+ JMP FLOATX PATCH FOR LOOPING 25D8 0000 7661+ ORG $-1 25D8 0000 7661+ NOP OVERLAY WITH NOP 1PAGE 0540 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:05.00 FLOATING POINT ADDRESSING MODES (PART 3-10) 000025D9 7663 FLOATX SET $ 25D9 BF92 25EC 7663+ JST INITRP INITIALIZE TRAP LOCATIONS 25DA 0E65 7663+ SBIT XA,S FORCE WORD MODE 25DB 9E86 25E2 7663+ JMP $+7 7663+ * 000025DC 7663+ FLOAT4 SET $ 25DC 0000 7663+ WORD :0000 25DD 0002 7663+ WORD :0002 000025DE 7663+ FLOAT5 SET  $ 25DE 0000 7663+ WORD :0000 000025DF 7663+ FLOAT6 SET $ 25DF 25DF 7663+ WORD $ 000025E0 7663+ FLOAT7 SET $ 25E0 0000 7663+ WORD :0 000025E1 7663+ FLOAT8  SET $ 25E1 25DC 7663+ WORD FLOAT4 7663+ * 25E2 8279 25DC 7663+ COPY FLOAT4,A :0000 -> A 25E3 C279 25DD 7663+ COPY FLOAT4+1,Q :0002 -> Q 25E4 A279 25DE 7663+ COPY  FLOAT5,X (FLOAT5) -> X 25E5 E279 25DF 7663+ COPY FLOAT6,Y (FLOAT6) -> Y 7663+ *  00000000 7663+ IFF 0 25E6 5C14 7663+ CSKF -3(Y) Y-INDEXED 25E7 FFFD  7663+ ENDC 25E8 0E0D 7663+ HLT ADDRESSING MODE FAILED 25E9 0E0D 7663+  HLT ADDRESSING MODE FAILED 7663+ * 25EA 9E6E 25D9 7663+ JMP FLOATX  PATCH FOR LOOPING 25EA 0000 7663+ ORG $-1 25EA 0000 7663+ NOP OVERL  AY WITH NOP 25EB 9E82 25EE 7664 JMP AROUND 0002 7665 LPOOL 25EC 122B INITRP 25ED 1PAGE  0541 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:06.00 FLOATING POINT ADDRESSING MODES (PART 3-10) 000025EE 7667 AROUND EQU $ 000025EE 7668 FLOATX SET $ 25EE BF7D 25EC 7668+  JST INITRP INITIALIZE TRAP LOCATIONS 25EF 0E65 7668+ SBIT XA,S FORCE WORD MODE 25F0 9E86 25F7 7668+ JMP $+7 7668+ * 000025F1 7668+ FLOAT4 SET $ 25F1 0000 7668+ WORD :0000 25F2 0003 7668+ WORD :0003 000025F3 7668+ FLOAT5 SET $ 25F3 0000  7668+ WORD :0000 000025F4 7668+ FLOAT6 SET $ 25F4 0000 7668+ WORD :0000  000025F5 7668+ FLOAT7 SET $ 25F5 0000 7668+ WORD :0 000025F6 7668+ FLOAT8 SET $  25F6 25F1 7668+ WORD FLOAT4 7668+ * 25F7 8279 25F1 7668+ COPY FLOAT4,A :0000 -> A 25F8 C279 25F2 7668+ COPY FLOAT4+1,Q :0003 -> Q 25F9 A279 25F3 7668+ COPY FLOAT5,X  (FLOAT5) -> X 25FA E279 25F4 7668+ COPY FLOAT6,Y (FLOAT6) -> Y 7668+ * 00000000  7668+ IFF 0 25FB 5C44 7668+ CSKF *FLOAT8 INDIRECT 25FC 25F6 7668+  ENDC 25FD 0E0D 7668+ HLT ADDRESSING MODE FAILED 25FE 0E0D 7668+ HLT  ADDRESSING MODE FAILED 7668+ * 25FF 9E6E 25EE 7668+ JMP FLOATX PATCH FOR LOOPING 25FF 0000 7668+ ORG $-1 25FF 0000 7668+ NOP OVERLAY WITH NOP 1PAGE 0542 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:07.00 FLOATING POINT ADDRESSING MODES (PART 3-10) 00002600 7670 FLOATX SET $ 2600 BF6B 25EC 7670+ JST INITRP INITIALIZE TRAP LOCATIONS 2601 0E65 7670+ SBIT XA,S FORCE WORD MODE 2602 9E86 2609 7670+ JMP $+7 7670+ * 00002603 7670+ FLOAT4 SET $ 2603 0000 7670+ WORD :0000 2604 0004  7670+ WORD :0004 00002605 7670+ FLOAT5 SET $ 2605 0000 7670+ WORD :0000  00002606 7670+ FLOAT6 SET $ 2606 0001 7670+ WORD :0001 00002607 7670+ FLOAT7 SET $ 2607 0000 7670+ WORD :0 00002608 7670+ FLOAT8 SET $ 2608 2603 7670+ WORD  FLOAT4 7670+ * 2609 8279 2603 7670+ COPY FLOAT4,A :0000 -> A 260A C279 2604 7670+  COPY FLOAT4+1,Q :0004 -> Q 260B A279 2605 7670+ COPY FLOAT5,X (FLOAT5) -> X 260C E279 2606 7670+ COPY FLOAT6,Y (FLOAT6) -> Y 7670+ * 00000000 7670+ IFF 0 260D 5C54  7670+ CSKF *FLOAT7(Y) Y-INDEXED INDIRECT 260E 2607 7670+ ENDC 260F 0E0D 7! 670+ HLT ADDRESSING MODE FAILED 2610 0E0D 7670+ HLT ADDRESSING MODE FAILED 7670+ * 2611 9E6E 2600 7670+ JMP FLOATX PATCH FOR LOOPING 2611 0000 7670+ ORG $-1 2611 0000 7670+ NOP OVERLAY WITH NOP 1PAGE 0543 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:07.75 FLOATING POINT ADDRESSING MODES (PART 3-10) 00002612 7672 FLOATX SET $ 2612 BF59 25EC 7672+ JST INITRP INITIALIZE TRAP LOCATIONS 2613 0E65  7672+ SBIT XA,S FORCE WORD MODE 2614 9E86 261B 7672+ JMP $+7 7672+ *  00002615 7672+ FLOAT4 SET $ 2615 0000 7672+ WORD :0000 2616 0005 7672+ WORD :0005 00002617 7672+ FLOAT5 SET $ 2617 2617 7672+ WORD $ 00002618 7672+ FLOAT6 SET  $ 2618 0000 7672+ WORD :0000 00002619 7672+ FLOAT7 SET $ 2619 0000 7672+  WORD :0 0000261A 7672+ FLOAT8 SET $ 261A 2615 7672+ WORD FLOAT4 7672+ * 261B 8279 2615 7672+ COPY FLOAT4,A :0000 -> A 261C C279 2616 7672+ COPY FLOAT4+1,Q :0005 -> Q 261D A279 2617 7672+ COPY FLOAT5,X (FLOAT5) -> X 261E E279 2618 7672+ COPY FLOAT6,Y  (FLOAT6) -> Y 7672+ * 00000000 7672+ IFF 0 261F 5C24 7672+ CSKF -2(X) X-INDEXED 2620 FFFE 7672+ ENDC 2621 0E0D 7672+ HLT ADDRESSING MODE FAILED 2622 0E0D 7672+ HLT ADDRESSING MODE FAILED 7672+ * 2623 9E6E 2612 7672+ JMP FLOATX PATCH FOR LOOPING 2623 0000 7672+ ORG $-1 2623 0000 7672+ NOP OVERLAY WITH NOP 1PAGE 0544 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:08.75 FLOATING POINT ADDRESSING MODES (PART 3-10) 00002624 7674 FLOATX SET $ 2624 BF47 25EC 7674+ JST INITRP INITIALIZE TRAP LOCATIONS 2625 0E65 7674+ SBIT XA,S FORCE WORD MODE 2626 9E86 262D 7674+ JMP $+7 7674+ * 00002627 7674+ FLOAT4 SET $ 2627 0000 7674+ WORD :0000 2628 0006 7674+ WORD :0006 00002629 7674+ FLOAT5 SET  $ 2629 0001 7674+ WORD :1 0000262A 7674+ FLOAT6 SET $ 262A 0000 7674+ WORD :0 0000262B 7674+ FLOAT7 SET $ 262B 2626 7674+ WORD FLOAT4-1 0000262C 7674+ FLOAT8 SET $ 262C 2627 7674+ WORD FLOAT4 7674+ * 262D 8279 2627 7674+ COPY  FLOAT4,A :0000 -> A 262E C279 2628 7674+ COPY FLOAT4+1,Q :0006 -> Q 262F A279 2629 7674+ COPY FLOAT5,X (FLOAT5) -> X 2630 E279 262A 7674+ COPY FLOAT6,Y (FLOAT6) -> Y 7674+ " * 00000000 7674+ IFF 0 2631 5C64 7674+ CSKF *FLOAT7(X) INDIRECT X-INDEXED 2632 262B 7674+ ENDC 2633 0E0D 7674+ HLT ADDRESSING MODE FAILED 2634 0E0D  7674+ HLT ADDRESSING MODE FAILED 7674+ * 2635 9E6E 2624 7674+ JMP  FLOATX PATCH FOR LOOPING 2635 0000 7674+ ORG $-1 2635 0000 7674+ NOP  OVERLAY WITH NOP 1PAGE 0545 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:09.50 FLOATING POINT ADDRESSING MODES (PART 3-10) 00002636 7676 FLOATX SET $ 2636 BF35 25EC 7676+ JST  INITRP INITIALIZE TRAP LOCATIONS 2637 0E65 7676+ SBIT XA,S FORCE WORD MODE 2638 9E86 263F  7676+ JMP $+7 7676+ * 00002639 7676+ FLOAT4 SET $ 2639 0000 7676+  WORD :0000 263A 0007 7676+ WORD :0007 0000263B 7676+ FLOAT5 SET $ 263B FFFF 7676+ WORD -:1 0000263C 7676+ FLOAT6 SET $ 263C 263B 7676+ WORD FLOAT5 0000263D 7676+ FLOAT7 SET $ 263D 0000 7676+ WORD :0 0000263E 7676+ FLOAT8 SET $ 263E 2639  7676+ WORD FLOAT4 7676+ * 263F 8279 2639 7676+ COPY FLOAT4,A :0000 -> A 2640 C279 263A 7676+ COPY FLOAT4+1,Q :0007 -> Q 2641 A279 263B 7676+ COPY FLOAT5,X (FLOAT5) -> X 2642 E279 263C 7676+ COPY FLOAT6,Y (FLOAT6) -> Y 7676+ * 00000000 7676+  IFF 0 2643 5C34 7676+ CSKF -1(Y,X) Y-INDEXED X-INDEXED 2644 FFFF 7676+  ENDC 2645 0E0D 7676+ HLT ADDRESSING MODE FAILED 2646 0E0D 7676+ HLT  ADDRESSING MODE FAILED 7676+ * 2647 9E6E 2636 7676+ JMP FLOATX PATCH FOR LOOPING 2647 0000 7676+ ORG $-1 2647 0000 7676+ NOP OVERLAY WITH NOP 1PAGE 0546 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:10.50 FLOATING POINT ADDRESSING MODES (PART 3-10) 00002648 7678 FLOATX SET $ 2648 BF23 25EC 7678+ JST INITRP INITIALIZE TRAP LOCATIONS 2649 0E65 7678+ SBIT XA,S FORCE WORD MODE 264A 9E86 2651 7678+ JMP $+7  7678+ * 0000264B 7678+ FLOAT4 SET $ 264B 0000 7678+ WORD :0000 264C 0008  7678+ WORD :0008 0000264D 7678+ FLOAT5 SET $ 264D 0001 7678+ WORD 1 0000264E 7678+ FLOAT6 SET $ 264E 0002 7678+ WORD 2 0000264F 7678+ FLOAT7 SET $ 264F 264A 7678+ WORD FLOAT4-1 00002650 7678+ FLOAT8 SET $ 2650 264B 7678+ WORD FLOAT4 7678+ * 2651 8279 264B 7678+ COPY FLOAT4,A :0000 -> A 2652 C279 264C 7678+ #  COPY FLOAT4+1,Q :0008 -> Q 2653 A279 264D 7678+ COPY FLOAT5,X (FLOAT5) -> X 2654 E279 264E 7678+  COPY FLOAT6,Y (FLOAT6) -> Y 7678+ * 00000000 7678+ IFF 0 2655 5C74  7678+ CSKF *FLOAT5(Y,X) Y-INDX INDIR X-INDX 2656 264D 7678+ ENDC 2657 0E0D 7678+ HLT ADDRESSING MODE FAILED 2658 0E0D 7678+ HLT ADDRESSING MODE FAILED 7678+ * 2659 9E6E 2648 7678+ JMP FLOATX PATCH FOR LOOPING 2659 0000 7678+ ORG $-1 2659 0000 7678+ NOP OVERLAY WITH NOP 7679 *  7680 * 7681 * 265A DC26 0026 7682 IMS IDPCNT 265B 8026 0026 7683 COPY  IDPCNT,A 265C 0D20 7684 CSK A,=32 265D 9F86 2664 7685 JMP FLTPT1 265E 0000 7686 NOP 1PAGE 0547 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:11.50 FLOATING POINT ADDRESSING MODES (PART 3-10) 7688 * 7689 * END OF FLOATING POINT TESTING  7690 * 265F 8029 0029 7691 COPY JMP1,A JMP *$+1 INSTRUCTION 2660 8784 2665 7692 COPY  A,ATRAP+2 STORE AT TRAP LOCATION 2661 0943 7693 COPY =AET1,A UNEXPECTED ARITH. EXCEPTION TRAP ROUTINE 2662 8783 2666 7694 COPY A,ATRAP+3 STORE AT TRAP LOCATION 2663 9E9C 2680 7695 JMP PART4ST 0004 7696 LPOOL 2664 123B FLTPT1 2665 00AA 2666 00AB 2667 2668 0000 7697 RES  $;:1F-$&:1F+1,0 00002680 7698 PART4ST SET $ 1PAGE 0548 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:12.00 FOWARD VERIFY OF MEMORY 7701 * 7702 *********  7703 * 7704 * THIS TEST READS IN THE MEMORY ADDRESS AS DATA 7705 * AND OUTPUTS IT AND CHECKS TO SEE IF THE DATA 7706 * MATCHES THE ADDRESS.THIS IS DONE FROM :5000 TO 7707  * :FFFF.THEN FROM :FFFF TO :5000. 7708 * IF AN AN UNIMPLIMINTED MEMORY TRAP OCCURS 7709  * THE REST OF THE TEST WILL BE SKIPPED,AND THE 7710 * X REGISTER CAN TELL THE OPERATOR HOW MUCH MEMORY  7711 * IS INSTALLED.TO OBTAIN OPTIMAL TESTING RESULTS 7712 * THE CPU BEING TESTED SHOULD CONTAIN 64K OF MEMORY. 7713 ********** 7714 * 2680 7715 NAM MEM:TST 0020 0020 7716 MACHINE =:20 2680 0000 7717 ORG PART4ST 7718 * 00002680 7719 MEM:TST EQU $ 2680 8390 2691 7720 COPY DEMAND,A 2681 1840 7721 AND =:40,A 2682 11C1 2684 7722 JNE A,$+2 EXECUTE TEST 2683 9F8C 2690 7723 JMP MEM:END  END OF TEST 7724 * 2684 828B 2690 7725 COPY =MEM:END,A 2685 5000 7726 COPY $  A,L SET STACK LIMIT 2686 0BFF 7727 ADD =:FF,A 2687 7000 7728 COPY A,K  SET STACK REGISTER 2688 0906 7729 COPY =:6,A 2689 0404 7730 SELP A,4  DISPLAY TEST CODE 7731 * FILL IN UNIMPLIMINTED SERVICE ROUTINE ADDRESS 7732 * 268A 8284 268F 7733 COPY JST55,A JST *$+1 INSTRUCTION 268B 8786 2692 7734 COPY A,:8A PUT IN MEMORY LOCATION :8A 268C 8286 2693 7735 COPY =M:TRAP,A ADDRESS OF MEMORY EXCEPTION TRAP ROUTINE 268D 8786 2694 7736 COPY A,:8B PUT IN LOCATION :8B 268E 9E8B 269A 7737 JMP MEM0 268F BF80  7738 JST55 WORD :BF80 0006 7739 LPOOL 2690 2730 MEM:END 2691 00F5 DEMAND 2692 008A 2693 2696 M:TRAP 1PAGE 0549 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:13.25 FOWARD VERIFY OF MEMORY 2694 008B 2695 7740 * 7741 * ROUTINE THAT SERVICES AN UNIMPLIMINTED MEMORY TRAP  7742 * 00002696 7743 M:TRAP EQU $ 2696 2404 7744 SELP X,4 DISPLAY MEMORY SIZE TO CDR 7745 * IF TRAP OCCURS SKIP THE REST OF THE MEMORY 7746 * TEST: REGISTER X TELLS THE OPERATOR HOW MUCH 7747 * MEMORY IS INSTALLED. 7748 * 2697 E28C 26A4 7749 COPY =:FFF,Y 2698 74BF 2698 7750 IJNE Y,$ IDLE A WHILE 2699 9F76 2690 7751 JMP MEM:END JMP TO END OF TEST 7752 * 7753 ******** 7754 *  7755 * THE MEMORY ADDRESS IS READ IN AS DATA IN MEMORY FROM 7756 * :5000 TO :FFFF.  7757 * 7758 ********* 0000269A 7759 MEM0 EQU $ 269A A287 26A2 7760 COPY =:4FFF,X 269B 2B01 7761 MEM1 ADD =1,X START AT LOCATION :5000 269C A480 0000 7762 COPY X,0(X) WRITE LOCATION AS DATA 269D 4020 7763 COPY X,Q PUT INTO Q FOR CSK INSTRUCTION 269E FA84 26A3 7764 CSK Q,=:FFFF END OF MEMORY??? 269F 9E7B 269B 7765 JMP MEM1 NO,CONTINUE 26A0 9E7A 269B 7766 JMP MEM1 NO,CONTINUE 26A1 9E84 26A6 7767 JMP MEM2  GO TO NEXT TEST 0004 7768 LPOOL 26A2 4FFF 26A3 FFFF 26A4 0FFF 26A5 7769 *  7770 * NOW READ BACK TO VERIFY MEMORY LOCATIONS 7771 * 000026A6 7772 MEM2 EQU  $ 26A6 A27B 26A2 7773 COPY =:4FFF,X 26A7 2B01 7774 MEM3 ADD =1,X 26A8 C080 0000 7775  COPY 0(X),Q GET CONTENTS OF MEMORY LOCATIONS 26A9 402B 7776 CSK Q,X COMPARE TO EXPECTED VALUES 1PAGE 0550 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:14.50 FOWARD VERIFY OF MEMORY 26AA 0000 7777 NOP 26AB 9E81 26AD 7778 JMP ERR:44 ERROR 26AC 9E83 26B0 7% 779 JMP MEM:22 OK GO ON 26AD 0E0D 7780 ERR:44 HLT ADDRERSS TEST FAILURE 26AE 9E77 26A6 7781 JMP MEM2 PATCH FOR LOOPING 26AE 0000 7782 ORG $-1 26AE 0000  7783 NOP OVERLAY WITH NOP 26AF 9F60 2690 7784 JMP MEM:END 7785  * 7786 * 26B0 4020 7787 MEM:22 COPY X,Q PUT X IN Q FOR CSK INSTRUCTION 26B1 FA71 26A3 7788 CSK Q,=:FFFF END OF MEMORY??? 26B2 9E74 26A7 7789 JMP MEM3 NO,CONTINUE 26B3 9E73 26A7 7790 JMP MEM3 NO,CONTINUE 7791 * 1PAGE 0551 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:15.00 BACKWARDS VERIFY OF MEMORY 7793 *  7794 * NOW WRITE MEMORY ADDRESSES AS DATA BUT START 7795 * AT :FFFF AND WORK DOWN TO :0  7796 * 26B4 2900 7797 COPY =0,X GET LAST MEMORY LOCATION 26B5 2AFF 7798 MEM4 SUB =1,X START AT :FFFF 26B6 A480 0000 7799 COPY X,0(X) WRTIE ADDRESS AS DATA  7800 * 26B7 4020 7801 COPY X,Q PUT X IN Q FOR THE CSK INSTRUCTION 26B8 FA8E 26C7 7802  CSK Q,=:5000 END OF MEMORY 26B9 9E7B 26B5 7803 JMP MEM4 NO,CONTINUE 26BA 9E7A 26B5 7804 JMP MEM4 NO,CONTINUE 7805 *** YES NOW VERIFY 1PAGE 0552 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:15.50 BACKWARDS VERIFY OF MEMORY 7807 *  7808 * VERIFY DATA JUST WRITTEN 7809 * 26BB 2900 7810 COPY =:0,X SET MEMORY ADDRESS 26BC 2AFF 7811 MEM6 SUB =1,X START AT :FFFF 26BD C080 0000 7812 COPY 0(X),Q 26BE 402B 7813 CSK Q,X COMPARE Q TO EXPECTED VALUE 26BF 0000 7814 NOP 26C0 9E81 26C2 7815 JMP $+2 ERROR 26C1 9E87 26C9 7816 JMP MEM7 7817 * 26C2 6020 7818 COPY X,Y LOAD Y WITH LOGICAL ADDRESS 26C3 7020 7819 COPY X,K LOAD K WITH EXPECTED DATA 7820 * Q=ACTUAL DATA  7821 * K=EXPECTED DATA 7822 * AX=PHYSICAL ADDRESS 7823 * 26C4 0E0D 7824 HLT ADDRESS FAILURE 26C5 9E76 26BC 7825 JMP MEM6 PATCH FOR LOOPING 26C5 0000 7826 ORG $-1 26C5 0000 7827  NOP OVERLAY WITH NOP 26C6 9EE9 2730 7828 JMP MEM:END ERROR EXIT 0002  7829 LPOOL 26C7 5000 26C8 7830 * 26C9 4020 7831 MEM7 COPY X,Q PUT X IN Q FOR THE CSK INSTRUCTION 26CA FA7C 26C7 7832 CSK Q,=:5000 END OF MEMORY 26CB 9E70 26BC 7833 & JMP MEM6 NO,CONTINUE 26CC 9E6F 26BC 7834 JMP MEM6 NO,CONTINUE 7835 *  YES 26CD 9EB1 26FF 7836 JMP WALK1 ????? 1PAGE 0553 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:16.50 BYTE TEST OF MEMORY 7838 * 7839 *********  7840 * 7841 * BYTE TEST,THIS TEST VERIFIES MEMORY WITH DATA 7842 * PATTERNS IN BYTE MODE,ALTERNATING UPPER BYTE FIRST 7843 * AND 2ND BYTE FIRST,WORD BY WORD.IT VERIFIES THE  7844 * MEMORY WRITTEN,READING IN BYTE MODE. 7845 * 7846 *********** 7847 * 000026CE 7848 MEM12 EQU $ 26CE E253 26A2 7849 COPY =:4FFF,Y 26CF 28FF 7850  COPY =:FFFF,X END OF MEMORY 26D0 0955 7851 COPY =:55,A LOAD A WITH UPPER BYTE DATA 26D1 49AA 7852 COPY =:AA,Q LOAD Q WITH LOWER BYTE DATA 26D2 0E25 7853 SBIT 2,S  SET BYTE MODE 26D3 6B01 7854 MEM13 ADD =1,Y GET NEXT LOCATION 26D4 8440 0000 7855 COPY A,0(Y) WRITE DATA INTO UPPER BYTE 26D5 C441 0001 7856 COPY Q,1(Y) WRITE DATA INTO LOWER BYTE OF TEST MEMORY 7857 * 26D6 602B 7858 CSK Y,X END OF MEMORY 26D7 9E7B 26D3 7e811005135638811005135638811201104528e811005135638811005135638811201104527e' 811005135638811005135638811201104513e811005135638811005135638811005135638811005135638811005135638811005135638e.8111301307530081113013101800811130131233. PAT404P4 LST(  :402A INSTRUCTION OPERAND 21CB A9BB 7593+ WORD :A9BB 000021CC 7593+ FLOAT3 SET $  00000001 7593+ IFT 1;0 21CC 5C02 7593+ MULF FLOAT2 DO THE OPERATION 21CD 21CA  7593+ ENDC 7593+ ENDC 00000000 7593+ IFF 0 00000001 7593+ IFT 5>0 21CE BA9E 21ED 7593+ CSK A,=:C288 CHECK -A- 21CF 0000 7593+  NOP 21D0 0E0D 7593+ HLT -A- SHOULD CONTAIN :C288 21D1 FA9C 21EE 7593+ CSK Q,=:E2C1 CHECK -Q- 21D2 0000 7593+ NOP 21D3 0E0D 7593+ HLT -Q- SHOULD CONTAIN :E2C1 7593+ ENDC 7593+ ENDC 21D4 0020 7593+ COPY X,A FOR TESTING 21D5 BA13 2169 7593+ CSK A,=:3333 CHECK -X- 21D6 0000 7593+ NOP 21D7 0E0D 7593+ HLT MULF MODIFIED -X- 21D8 0060 7593+ COPY Y,A FOR TESTING 21D9 BA90 21EA 7593+ CSK A,=:0F0F CHECK -Y- 21DA 0000 7593+ NOP 21DB 0E0D 7593+ HLT MULF MODIFIED -Y- 00000001 7593+ IFT 0;0;1;0;0 21DC 826D 21CA 7593+ COPY FLOAT2,A 21DD BA91 21EF 7593+ CSK A,=:402A CHECK OPERAND WORD 1 21DE 0000 7593+  NOP 1PAGE 0490 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:38.50 --MULF-- INSTRUCTION TEST (PART 3-8) 21DF 0E0D 7593+ HLT MULF MODIFIED OPERAND 21E0 826A 21CB 7593+  COPY FLOAT2+1,A 21E1 BA8E 21F0 7593+ CSK A,=:A9BB CHECK OPERAND WORD 2 21E2 0000 7593+  NOP 21E3 0E0D 7593+ HLT MULF MODIFIED OPERAND 7593+ ENDC  00000001 7593+ IFT 1;0;0 00000001 7593+ IFT 1 21E4 36C1 21E6 7593+ JF OV,$+2 OVERFLOW STILL RESET? 21E5 0E0D 7593+ HLT NO-- MULF CHANGED OVERFLOW  7593+ ENDC 00000001 7593+ IFT 1 21E6 56C1 21E8 7593+ JF CY,$+2 CARRY STILL RESET? 21E7 0E0D 7593+ HLT NO-- MULF CHANGED CARRY 7593+ ENDC 7593+ ENDC 21E8 9E59 21C2 7593+ JMP FLOAT1 PATCH FOR LOOPING 21E8 0000  7593+ ORG $-1 21E8 0000 7593+ NOP 000021E9 7593+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 21E9 0000 7593+ NOP RESERVE SPACE FOR JMP INSTRUCTION  0007 7593+ LPOOL 21EA 0F0F 21EB C2CD 21EC 5542 21ED C288 21EE E2C1 21EF 402A 21F0 A9BB 000021F1 7593+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 21E9 0000 7593+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 21E9 9E87 21F1 7593+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 21F1 ) 0000 7593+ ORG LP::L1 CONTINUE AT END OF LPOOL 7593+ ENDC 1PAGE 0491 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:40.25 --MULF-- INSTRUCTION TEST (PART 3-8) 00000000 7595 IFF 0 7595+ * CY=S OV=S A=:C30D Q=:0FC8 MULF :C1B4 :3D71=:4446 :A1E7 OK 000021F1 7595+ FLOAT1 SET $ 21F1 BF20 2192 7595+ JST INITRP INITIALIZE TRAP LOCATIONS 21F2 82A7 221A  7595+ COPY =:C30D,A :C30D ==> 'A' 21F3 C2A7 221B 7595+ COPY =:0FC8,Q :0FC8 ==> 'Q' 21F4 A2A4 2219 7595+ COPY =:3333,X :3333 ==> 'X' 21F5 E274 21EA 7595+ COPY =:0F0F,Y :0F0F ==> 'Y' 21F6 0E05 7595+ SBIT CY,S S ==> CARRY FLAG 21F7 0E15 7595+ SBIT OV,S  S ==> OVERFLOW FLAG 00000001 7595+ IFT 0;0;1;0;0 21F8 9E82 21FB 7595+ JMP $+3  JUMP AROUND WORD 000021F9 7595+ FLOAT2 SET $ 21F9 C1B4 7595+ WORD :C1B4 INSTRUCTION OPERAND 21FA 3D71 7595+ WORD :3D71 000021FB 7595+ FLOAT3 SET $ 00000001 7595+  IFT 1;0 21FB 5C02 7595+ MULF FLOAT2 DO THE OPERATION 21FC 21F9 7595+  ENDC 7595+ ENDC 00000000 7595+ IFF 0 00000001 7595+ IFT 5>0 21FD BA9E 221C 7595+ CSK A,=:4446 CHECK -A- 21FE 0000 7595+ NOP 21FF 0E0D 7595+  HLT -A- SHOULD CONTAIN :4446 2200 FA9C 221D 7595+ CSK Q,=:A1E7 CHECK -Q- 2201 0000 7595+ NOP 2202 0E0D 7595+ HLT -Q- SHOULD CONTAIN :A1E7 7595+ ENDC 7595+ ENDC 2203 0020 7595+ COPY X,A FOR TESTING 2204 BA94 2219 7595+ CSK A,=:3333 CHECK -X- 2205 0000 7595+ NOP 2206 0E0D 7595+ HLT MULF MODIFIED -X- 2207 0060 7595+ COPY Y,A FOR TESTING 2208 BA61 21EA 7595+ CSK A,=:0F0F CHECK -Y- 2209 0000 7595+ NOP 220A 0E0D 7595+ HLT  MULF MODIFIED -Y- 00000001 7595+ IFT 0;0;1;0;0 220B 826D 21F9 7595+ COPY FLOAT2,A 220C BA91 221E 7595+ CSK A,=:C1B4 CHECK OPERAND WORD 1 220D 0000 7595+ NOP 1PAGE 0492 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:42.50 --MULF-- INSTRUCTION TEST (PART 3-8) 220E 0E0D 7595+ HLT MULF MODIFIED OPERAND 220F 826A 21FA 7595+ COPY FLOAT2+1,A 2210 BA8E 221F 7595+ CSK A,=:3D71 CHECK OPERAND WORD 2 2211 0000 7595+ NOP 2212 0E0D 7595+ HLT MULF MODIFIED OPERAND 7595+ ENDC 00000001 7595+ IFT 1;0;0 00000001 7595+ IFT 1 2213 3641 2215 7595+ JT OV,$+2 OVERFLOW STILL SE* T? 2214 0E0D 7595+ HLT NO-- MULF CHANGED OVERFLOW 7595+ ENDC 00000001 7595+ IFT 1 2215 5641 2217 7595+ JT CY,$+2 CARRY STILL SET? 2216 0E0D 7595+ HLT NO-- MULF CHANGED CARRY 7595+ ENDC 7595+  ENDC 2217 9E59 21F1 7595+ JMP FLOAT1 PATCH FOR LOOPING 2217 0000 7595+ ORG $-1 2217 0000 7595+ NOP 00002218 7595+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 2218 0000 7595+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0007 7595+ LPOOL 2219 3333 221A C30D 221B 0FC8 221C 4446 221D A1E7 221E C1B4 221F 3D71 00002220 7595+ LP::L1 SET $  SET UP LABEL AT END OF LPOOL 2218 0000 7595+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 2218 9E87 2220 7595+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 2220 0000 7595+ ORG LP::L1 CONTINUE AT END OF LPOOL 7595+ ENDC 1PAGE 0493 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:44.50 --MULF-- INSTRUCTION TEST (PART 3-8) 00000000 7597 IFF 0  7597+ * CY=R OV=R A=:3B0B Q=:9E2E MULF :4161 :9581=:3BF6 :0F20 OK 00002220 7597+ FLOAT1 SET $ 2220 BFA7 2248 7597+ JST INITRP INITIALIZE TRAP LOCATIONS 2221 82A7 2249 7597+ COPY =:3B0B,A :3B0B ==> 'A' 2222 C2A7 224A 7597+ COPY =:9E2E,Q :9E2E ==> 'Q' 2223 A275 2219 7597+ COPY  =:3333,X :3333 ==> 'X' 2224 E245 21EA 7597+ COPY =:0F0F,Y :0F0F ==> 'Y' 2225 0E07 7597+  RBIT CY,S R ==> CARRY FLAG 2226 0E17 7597+ RBIT OV,S R ==> OVERFLOW FLAG 00000001 7597+ IFT 0;0;1;0;0 2227 9E82 222A 7597+ JMP $+3 JUMP AROUND WORD 00002228  7597+ FLOAT2 SET $ 2228 4161 7597+ WORD :4161 INSTRUCTION OPERAND 2229 9581 7597+  WORD :9581 0000222A 7597+ FLOAT3 SET $ 00000001 7597+ IFT 1;0 222A 5C02 7597+ MULF FLOAT2 DO THE OPERATION 222B 2228 7597+ ENDC 7597+  ENDC 00000000 7597+ IFF 0 00000001 7597+ IFT 5>0 222C BA9E 224B 7597+  CSK A,=:3BF6 CHECK -A- 222D 0000 7597+ NOP 222E 0E0D 7597+ HLT -A- SHOULD CONTAIN :3BF6 222F FA9C 224C 7597+ CSK Q,=:0F20 CHECK -Q- 2230 0000 7597+ NOP 2231 0E0D 7597+ HLT -Q- SHOULD CONTAIN :0F20 7597+ ENDC  7597+ ENDC 2232 0020 7597+ COPY X,A FOR TESTING 2233 BA65 2219 7597+ CSK  A,=:3333 CHECK -X- 2234 0000 7597+ NOP 2235 0E0D 7597+ HLT MULF MODIF+ IED -X- 2236 0060 7597+ COPY Y,A FOR TESTING 2237 BA32 21EA 7597+ CSK A,=:0F0F  CHECK -Y- 2238 0000 7597+ NOP 2239 0E0D 7597+ HLT MULF MODIFIED -Y- 00000001 7597+ IFT 0;0;1;0;0 223A 826D 2228 7597+ COPY FLOAT2,A 223B BA91 224D 7597+ CSK A,=:4161 CHECK OPERAND WORD 1 223C 0000 7597+ NOP 1PAGE 0494 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:46.50 --MULF-- INSTRUCTION TEST (PART 3-8) 223D 0E0D 7597+ HLT  MULF MODIFIED OPERAND 223E 826A 2229 7597+ COPY FLOAT2+1,A 223F BA8E 224E 7597+ CSK  A,=:9581 CHECK OPERAND WORD 2 2240 0000 7597+ NOP 2241 0E0D 7597+ HLT  MULF MODIFIED OPERAND 7597+ ENDC 00000001 7597+ IFT 1;0;0 00000001 7597+ IFT 1 2242 36C1 2244 7597+ JF OV,$+2 OVERFLOW STILL RESET? 2243 0E0D 7597+  HLT NO-- MULF CHANGED OVERFLOW 7597+ ENDC 00000001 7597+ IFT  1 2244 56C1 2246 7597+ JF CY,$+2 CARRY STILL RESET? 2245 0E0D 7597+ HLT  NO-- MULF CHANGED CARRY 7597+ ENDC 7597+ ENDC 2246 9E59 2220 7597+  JMP FLOAT1 PATCH FOR LOOPING 2246 0000 7597+ ORG $-1 2246 0000 7597+ NOP 00002247 7597+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 2247 0000 7597+  NOP RESERVE SPACE FOR JMP INSTRUCTION 0007 7597+ LPOOL 2248 122B INITRP 2249 3B0B 224A 9E2E 224B 3BF6 224C 0F20 224D 4161 224E 9581 0000224F 7597+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 2247 0000 7597+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 2247 9E87 224F 7597+  JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 224F 0000 7597+ ORG LP::L1 CONTINUE AT END OF LPOOL 7597+ ENDC 1PAGE 0495 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:48.50 --MULF-- INSTRUCTION TEST (PART 3-8) 00000000 7599 IFF 0 7599+ * CY=S OV=S A=:0000 Q=:0001 MULF :4000 :0000=:0000 :0000 UF 0000224F 7599+ FLOAT1 SET $ 224F BF78 2248 7599+  JST INITRP INITIALIZE TRAP LOCATIONS 2250 0900 7599+ COPY =:0000,A :0000 ==> 'A' 2251 4901 7599+ COPY =:0001,Q :0001 ==> 'Q' 2252 A246 2219 7599+ COPY =:3333,X :3333 ==> 'X' 2253 E216 21EA 7599+ COPY =:0F0F,Y :0F0F ==> 'Y' 2254 0E05 7599+ SBIT CY,S  S ==> CARRY FLAG 2255 0E15 7599+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7599+ IFT 0;0;1;0;0 2256 9E82 2259 7599+ JMP $+3 JUMP AROUND WORD 00002257 7599+ FLOAT2 SET ,  $ 2257 4000 7599+ WORD :4000 INSTRUCTION OPERAND 2258 0000 7599+ WORD :0000  00002259 7599+ FLOAT3 SET $ 00000001 7599+ IFT 1 2259 5C02 7599+ MULF FLOAT2 SHOULD UNDERFLOW 225A 2257 7599+ ENDC 7599+ ENDC 00000000 7599+ IFF 0 00000001 7599+ IFT 5>0 225B 0D00 7599+ CSK A,=:0000  CHECK -A- 225C 0000 7599+ NOP 225D 0E0D 7599+ HLT -A- SHOULD CONTAIN :0000  225E 4D00 7599+ CSK Q,=:0000 CHECK -Q- 225F 0000 7599+ NOP 2260 0E0D 7599+  HLT -Q- SHOULD CONTAIN :0000 7599+ ENDC 7599+ ENDC 2261 0020 7599+ COPY X,A FOR TESTING 2262 BA36 2219 7599+ CSK A,=:3333 CHECK -X- 2263 0000 7599+ NOP 2264 0E0D 7599+ HLT MULF MODIFIED -X- 2265 0060  7599+ COPY Y,A FOR TESTING 2266 BA03 21EA 7599+ CSK A,=:0F0F CHECK -Y- 2267 0000  7599+ NOP 2268 0E0D 7599+ HLT MULF MODIFIED -Y- 00000001 7599+  IFT 0;0;1;0;0 2269 826D 2257 7599+ COPY FLOAT2,A 226A BA8C 2277 7599+ CSK A,=:4000 CHECK OPERAND WORD 1 226B 0000 7599+ NOP 1PAGE 0496 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:50.50 --MULF-- INSTRUCTION TEST (PART 3-8) 226C 0E0D 7599+ HLT MULF MODIFIED OPERAND 226D 826A 2258 7599+ COPY FLOAT2+1,A 226E 0D00 7599+ CSK A,=:0000 CHECK OPERAND WORD 2 226F 0000 7599+ NOP 2270 0E0D 7599+ HLT MULF MODIFIED OPERAND  7599+ ENDC 00000001 7599+ IFT 1 2271 5641 2273 7599+ JT CY,$+2  CARRY SET? 2272 0E0D 7599+ HLT NO-- EXPECTED UNDERFLOW WITH CY SET 2273 3641 2275 7599+ JT OV,$+2 OVERFLOW SET? 2274 0E0D 7599+ HLT NO-- EXPECTED UNDERFLOW WITH OV SET 7599+ ENDC 2275 9E59 224F 7599+ JMP FLOAT1 PATCH FOR LOOPING  2275 0000 7599+ ORG $-1 2275 0000 7599+ NOP 00002276 7599+ LP::L SET $  SET UP LABEL TO REPLACE NOP WITH JMP INST. 2276 0000 7599+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0001 7599+ LPOOL 2277 4000 00002278 7599+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 2276 0000 7599+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 2276 9E81 2278 7599+  JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 2278 0000 7599+ ORG LP::L1 CONTINUE AT END OF LPOOL 7599+ ENDC 1PAGE 0497 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1- 981/11/25 16:20:52.25 --MULF-- INSTRUCTION TEST (PART 3-8) 00000000 7601 IFF 0 7601+ * CY=R OV=R A=:7FFF Q=:FFFF MULF :4080 :0000=:7FFF :FFFF OK 00002278 7601+ FLOAT1 SET $ 2278 BF4F 2248 7601+  JST INITRP INITIALIZE TRAP LOCATIONS 2279 82A7 22A1 7601+ COPY =:7FFF,A :7FFF ==> 'A' 227A 48FF 7601+ COPY =:FFFF,Q :FFFF ==> 'Q' 227B A21D 2219 7601+ COPY =:3333,X :3333 ==> 'X' 227C E2A3 22A0 7601+ COPY =:0F0F,Y :0F0F ==> 'Y' 227D 0E07 7601+ RBIT CY,S  R ==> CARRY FLAG 227E 0E17 7601+ RBIT OV,S R ==> OVERFLOW FLAG 00000001 7601+ IFT 0;0;1;0;0 227F 9E82 2282 7601+ JMP $+3 JUMP AROUND WORD 00002280 7601+ FLOAT2 SET  $ 2280 4080 7601+ WORD :4080 INSTRUCTION OPERAND 2281 0000 7601+ WORD :0000  00002282 7601+ FLOAT3 SET $ 00000001 7601+ IFT 1;0 2282 5C02 7601+ MULF  FLOAT2 DO THE OPERATION 2283 2280 7601+ ENDC 7601+ ENDC 00000000 7601+ IFF 0 00000001 7601+ IFT 5>0 2284 BA9C 22A1 7601+ CSK A,=:7FFF  CHECK -A- 2285 0000 7601+ NOP 2286 0E0D 7601+ HLT -A- SHOULD CONTAIN :7FFF 2287 FA9A 22A2 7601+ CSK Q,=:FFFF CHECK -Q- 2288 0000 7601+ NOP 2289 0E0D 7601+  HLT -Q- SHOULD CONTAIN :FFFF 7601+ ENDC 7601+ ENDC 228A 0020 7601+ COPY X,A FOR TESTING 228B BA0D 2219 7601+ CSK A,=:3333 CHECK -X- 228C 0000 7601+ NOP 228D 0E0D 7601+ HLT MULF MODIFIED -X- 228E 0060  7601+ COPY Y,A FOR TESTING 228F BA90 22A0 7601+ CSK A,=:0F0F CHECK -Y- 2290 0000 7601+ NOP 2291 0E0D 7601+ HLT MULF MODIFIED -Y- 00000001 7601+  IFT 0;0;1;0;0 2292 826D 2280 7601+ COPY FLOAT2,A 2293 BA8F 22A3 7601+ CSK A,=:4080 CHECK OPERAND WORD 1 2294 0000 7601+ NOP 1PAGE 0498 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:54.25 --MULF-- INSTRUCTION TEST (PART 3-8) 2295 0E0D 7601+ HLT MULF MODIFIED OPERAND 2296 826A 2281 7601+ COPY FLOAT2+1,A 2297 0D00 7601+ CSK A,=:0000 CHECK OPERAND WORD 2 2298 0000 7601+ NOP 2299 0E0D 7601+ HLT MULF MODIFIED OPERAND 7601+ ENDC 00000001 7601+ IFT 1;0;0 00000001 7601+ IFT 1 229A 36C1 229C 7601+ JF OV,$+2 OVERFLOW STILL RESET? 229B 0E0D 7601+ HLT  NO-- MULF CHANGED OVERFLOW 7601+ ENDC 00000001 7601+ IFT 1 229C 56C1 229E .  7601+ JF CY,$+2 CARRY STILL RESET? 229D 0E0D 7601+ HLT NO-- MULF CHANGED CARRY 7601+ ENDC 7601+ ENDC 229E 9E59 2278 7601+ JMP FLOAT1 PATCH FOR LOOPING 229E 0000 7601+ ORG $-1 229E 0000 7601+ NOP 0000229F 7601+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 229F 0000 7601+ NOP  RESERVE SPACE FOR JMP INSTRUCTION 0004 7601+ LPOOL 22A0 0F0F 22A1 7FFF 22A2 FFFF 22A3 4080 000022A4 7601+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 229F 0000 7601+ ORG LP::L  GO BACK TO OVERLAY NOP WITH JMP INST. 229F 9E84 22A4 7601+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL  22A4 0000 7601+ ORG LP::L1 CONTINUE AT END OF LPOOL 7601+ ENDC 1PAGE 0499 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:56.25 --MULF-- INSTRUCTION TEST (PART 3-8)  00000000 7603 IFF 0 7603+ * CY=S OV=S A=:D000 Q=:03FF MULF :C77F :FC00=:5700 :01FF OK  000022A4 7603+ FLOAT1 SET $ 22A4 BF23 2248 7603+ JST INITRP INITIALIZE TRAP LOCATIONS 22A5 82A7 22CD 7603+ COPY =:D000,A :D000 ==> 'A' 22A6 C2A7 22CE 7603+ COPY =:03FF,Q :03FF ==> 'Q' 22A7 A2A4 22CC 7603+ COPY =:3333,X :3333 ==> 'X' 22A8 E277 22A0 7603+ COPY =:0F0F,Y  :0F0F ==> 'Y' 22A9 0E05 7603+ SBIT CY,S S ==> CARRY FLAG 22AA 0E15 7603+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7603+ IFT 0;0;1;0;0 22AB 9E82 22AE 7603+ JMP $+3 JUMP AROUND WORD 000022AC 7603+ FLOAT2 SET $ 22AC C77F 7603+ WORD :C77F INSTRUCTION OPERAND 22AD FC00 7603+ WORD :FC00 000022AE 7603+ FLOAT3 SET $ 00000001 7603+ IFT 1;0 22AE 5C02 7603+ MULF FLOAT2 DO THE OPERATION 22AF 22AC 7603+ ENDC 7603+ ENDC 00000000 7603+ IFF 0 00000001 7603+  IFT 5>0 22B0 BA9E 22CF 7603+ CSK A,=:5700 CHECK -A- 22B1 0000 7603+ NOP 22B2 0E0D  7603+ HLT -A- SHOULD CONTAIN :5700 22B3 FA9C 22D0 7603+ CSK Q,=:01FF CHECK -Q- 22B4 0000 7603+ NOP 22B5 0E0D 7603+ HLT -Q- SHOULD CONTAIN :01FF  7603+ ENDC 7603+ ENDC 22B6 0020 7603+ COPY X,A FOR TESTING 22B7 BA94 22CC 7603+ CSK A,=:3333 CHECK -X- 22B8 0000 7603+ NOP 22B9 0E0D 7603+ HLT MULF MODIFIED -X- 22BA 0060 7603+ COPY Y,A FOR TESTING 22BB BA64 22A0 7603+ CSK A,=:0F0F CHECK -Y- 22BC 0000 7603+ NOP 22BD 0E0D 7603+ HLT /  MULF MODIFIED -Y- 00000001 7603+ IFT 0;0;1;0;0 22BE 826D 22AC 7603+ COPY  FLOAT2,A 22BF BA91 22D1 7603+ CSK A,=:C77F CHECK OPERAND WORD 1 22C0 0000 7603+ NOP 1PAGE  0500 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:20:58.50 --MULF-- INSTRUCTION TEST (PART 3-8) 22C1 0E0D 7603+ HLT MULF MODIFIED OPERAND 22C2 826A 22AD 7603+ COPY FLOAT2+1,A 22C3 BA8E 22D2 7603+ CSK A,=:FC00 CHECK OPERAND WORD 2 22C4 0000 7603+ NOP 22C5 0E0D 7603+ HLT MULF MODIFIED OPERAND 7603+ ENDC 00000001 7603+  IFT 1;0;0 00000001 7603+ IFT 1 22C6 3641 22C8 7603+ JT OV,$+2 OVERFLOW STILL SET? 22C7 0E0D 7603+ HLT NO-- MULF CHANGED OVERFLOW 7603+ ENDC 00000001 7603+ IFT 1 22C8 5641 22CA 7603+ JT CY,$+2 CARRY STILL SET? 22C9 0E0D 7603+ HLT NO-- MULF CHANGED CARRY 7603+ ENDC 7603+ ENDC 22CA 9E59 22A4 7603+ JMP FLOAT1 PATCH FOR LOOPING 22CA 0000 7603+ ORG  $-1 22CA 0000 7603+ NOP 000022CB 7603+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 22CB 0000 7603+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0007 7603+  LPOOL 22CC 3333 22CD D000 22CE 03FF 22CF 5700 22D0 01FF 22D1 C77F 22D2 FC00 000022D3 7603+ LP::L1 SET  $ SET UP LABEL AT END OF LPOOL 22CB 0000 7603+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 22CB 9E87 22D3 7603+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 22D3 0000 7603+ ORG LP::L1 CONTINUE AT END OF LPOOL 7603+ ENDC 1PAGE 0501 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:00.25 --MULF-- INSTRUCTION TEST (PART 3-8) 00000000 7605 IFF 0 7605+ * CY=R OV=R A=:487E Q=:DC00 MULF :C85E :AD00=:D05D :AF03 OK 000022D3 7605+ FLOAT1 SET $ 22D3 BFA7 22FB 7605+ JST INITRP INITIALIZE TRAP LOCATIONS 22D4 82A7 22FC 7605+ COPY  =:487E,A :487E ==> 'A' 22D5 C2A7 22FD 7605+ COPY =:DC00,Q :DC00 ==> 'Q' 22D6 A275 22CC 7605+  COPY =:3333,X :3333 ==> 'X' 22D7 E248 22A0 7605+ COPY =:0F0F,Y :0F0F ==> 'Y' 22D8 0E07 7605+ RBIT CY,S R ==> CARRY FLAG 22D9 0E17 7605+ RBIT OV,S R ==> OVERFLOW FLAG 00000001 7605+ IFT 0;0;1;0;0 22DA 9E82 22DD 7605+ JMP $+3 JUMP AROUND WORD  000022DB 7605+ FLOAT2 SET $ 22DB C85E 7605+ WORD :C85E INSTRUCTION OPERAND 22DC AD00  7605+ WORD :AD00 000022DD 7605+ FLOAT3 SET $ 00000001 7605+ IFT 1;0 22DD 50 C02 7605+ MULF FLOAT2 DO THE OPERATION 22DE 22DB 7605+ ENDC  7605+ ENDC 00000000 7605+ IFF 0 00000001 7605+ IFT 5>0 22DF BA9E 22FE 7605+ CSK A,=:D05D CHECK -A- 22E0 0000 7605+ NOP 22E1 0E0D 7605+ HLT  -A- SHOULD CONTAIN :D05D 22E2 FA9C 22FF 7605+ CSK Q,=:AF03 CHECK -Q- 22E3 0000 7605+  NOP 22E4 0E0D 7605+ HLT -Q- SHOULD CONTAIN :AF03 7605+ ENDC  7605+ ENDC 22E5 0020 7605+ COPY X,A FOR TESTING 22E6 BA65 22CC 7605+  CSK A,=:3333 CHECK -X- 22E7 0000 7605+ NOP 22E8 0E0D 7605+ HLT  MULF MODIFIED -X- 22E9 0060 7605+ COPY Y,A FOR TESTING 22EA BA35 22A0 7605+ CSK A,=:0F0F CHECK -Y- 22EB 0000 7605+ NOP 22EC 0E0D 7605+ HLT MULF MODIFIED -Y- 00000001 7605+ IFT 0;0;1;0;0 22ED 826D 22DB 7605+ COPY FLOAT2,A 22EE BA91 2300 7605+  CSK A,=:C85E CHECK OPERAND WORD 1 22EF 0000 7605+ NOP 1PAGE 0502 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:02.50 --MULF-- INSTRUCTION TEST (PART 3-8) 22F0 0E0D 7605+  HLT MULF MODIFIED OPERAND 22F1 826A 22DC 7605+ COPY FLOAT2+1,A 22F2 BA8E 2301 7605+  CSK A,=:AD00 CHECK OPERAND WORD 2 22F3 0000 7605+ NOP 22F4 0E0D 7605+ HLT  MULF MODIFIED OPERAND 7605+ ENDC 00000001 7605+ IFT 1;0;0 00000001 7605+ IFT 1 22F5 36C1 22F7 7605+ JF OV,$+2 OVERFLOW STILL RESET? 22F6 0E0D 7605+ HLT NO-- MULF CHANGED OVERFLOW 7605+ ENDC 00000001 7605+  IFT 1 22F7 56C1 22F9 7605+ JF CY,$+2 CARRY STILL RESET? 22F8 0E0D 7605+ HLT  NO-- MULF CHANGED CARRY 7605+ ENDC 7605+ ENDC 22F9 9E59 22D3 7605+ JMP FLOAT1 PATCH FOR LOOPING 22F9 0000 7605+ ORG $-1 22F9 0000 7605+ NOP 000022FA 7605+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 22FA 0000  7605+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0007 7605+ LPOOL 22FB 122B INITRP 22FC 487E 22FD DC00 22FE D05D 22FF AF03 2300 C85E 2301 AD00 00002302 7605+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 22FA 0000 7605+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 22FA 9E87 2302 7605+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 2302 0000 7605+ ORG LP::L1 CONTINUE AT END OF LPOOL 7605+ ENDC 7606 * 1PAGE 0503 MACRO (F100) SCOUT CPU HARDW1 ARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:04.50 --DIVF-- INSTRUCTION TEST (PART 3-9) 7608 *  7609 * 7610 * 7611 * THE FOLLOWING INSTRUCTION IS TESTED IN THIS SECTION:  7612 * 7613 * DIVF 7614 * 7615 *  00000000 7616 IFF 0 7616+ * CY=S OV=S A=:405D Q=:3E8D DIVF :4411 :8EE0=:3CC2 :8E77 OK  00002302 7616+ FLOAT1 SET $ 2302 BF78 22FB 7616+ JST INITRP INITIALIZE TRAP LOCATIONS 2303 82A6 232A 7616+ COPY =:405D,A :405D ==> 'A' 2304 C2A6 232B 7616+ COPY =:3E8D,Q :3E8D ==> 'Q' 2305 A246 22CC 7616+ COPY =:3333,X :3333 ==> 'X' 2306 E219 22A0 7616+ COPY =:0F0F,Y :0F0F ==> 'Y' 2307 0E05 7616+ SBIT CY,S S ==> CARRY FLAG 2308 0E15 7616+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7616+ IFT 0;0;0;1;0 2309 9E82 230C 7616+ JMP $+3 JUMP AROUND WORD 0000230A 7616+ FLOAT2 SET $ 230A 4411 7616+ WORD :4411 INSTRUCTION OPERAND 230B 8EE0 7616+ WORD :8EE0 0000230C 7616+ FLOAT3 SET $ 00000001 7616+ IFT 1;0 230C 5C03 7616+ DIVF FLOAT2 DO THE OPERATION 230D 230A 7616+ ENDC 7616+ ENDC 00000000 7616+ IFF 0 00000001 7616+  IFT 5>0 230E BA9D 232C 7616+ CSK A,=:3CC2 CHECK -A- 230F 0000 7616+ NOP 2310 0E0D  7616+ HLT -A- SHOULD CONTAIN :3CC2 2311 FA9B 232D 7616+ CSK Q,=:8E77 CHECK -Q- 2312 0000 7616+ NOP 2313 0E0D 7616+ HLT -Q- SHOULD CONTAIN :8E77  7616+ ENDC 7616+ ENDC 2314 0020 7616+ COPY X,A FOR TESTING 2315 BA36 22CC 7616+ CSK A,=:3333 CHECK -X- 2316 0000 7616+ NOP 2317 0E0D 7616+ HLT DIVF MODIFIED -X- 1PAGE 0504 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:06.25 --DIVF-- INSTRUCTION TEST (PART 3-9) 2318 0060 7616+ COPY Y,A FOR TESTING 2319 BA06 22A0 7616+ CSK A,=:0F0F CHECK -Y- 231A 0000 7616+ NOP 231B 0E0D 7616+  HLT DIVF MODIFIED -Y- 00000001 7616+ IFT 0;0;0;1;0 231C 826D 230A 7616+  COPY FLOAT2,A 231D BA90 232E 7616+ CSK A,=:4411 CHECK OPERAND WORD 1 231E 0000 7616+  NOP 231F 0E0D 7616+ HLT DIVF MODIFIED OPERAND 2320 826A 230B 7616+ COPY FLOAT2+1,A 2321 BA8D 232F 7616+ CSK A,=:8EE0 CHECK OPERAND WORD 2 2322 0000 7616+ NOP 2323 0E0D 7616+ HLT DIVF MODIFIED OPERAND 7616+ ENDC 00000001 7616+ 2  IFT 1;0;0 00000001 7616+ IFT 1 2324 3641 2326 7616+ JT OV,$+2 OVERFLOW STILL SET? 2325 0E0D 7616+ HLT NO-- DIVF CHANGED OVERFLOW 7616+ ENDC 00000001 7616+ IFT 1 2326 5641 2328 7616+ JT CY,$+2 CARRY STILL SET? 2327 0E0D 7616+ HLT NO-- DIVF CHANGED CARRY 7616+ ENDC 7616+ ENDC 2328 9E59 2302 7616+ JMP FLOAT1 PATCH FOR LOOPING 2328 0000 7616+ ORG  $-1 2328 0000 7616+ NOP 00002329 7616+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 2329 0000 7616+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0006 7616+  LPOOL 232A 405D 232B 3E8D 232C 3CC2 232D 8E77 232E 4411 232F 8EE0 00002330 7616+ LP::L1 SET $  SET UP LABEL AT END OF LPOOL 2329 0000 7616+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 2329 9E86 2330 7616+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 2330 0000 7616+ ORG LP::L1 CONTINUE AT END OF LPOOL 7616+ ENDC 1PAGE 0505 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:08.50 --DIVF-- INSTRUCTION TEST (PART 3-9) 00000000 7618 IFF 0  7618+ * CY=R OV=R A=:465E Q=:A92F DIVF :C124 :E704=:C5AC :D545 OK 00002330 7618+ FLOAT1 SET $ 2330 BF4A 22FB 7618+ JST INITRP INITIALIZE TRAP LOCATIONS 2331 82A7 2359 7618+ COPY =:465E,A  :465E ==> 'A' 2332 C2A7 235A 7618+ COPY =:A92F,Q :A92F ==> 'Q' 2333 A218 22CC 7618+ COPY  =:3333,X :3333 ==> 'X' 2334 E2A3 2358 7618+ COPY =:0F0F,Y :0F0F ==> 'Y' 2335 0E07 7618+  RBIT CY,S R ==> CARRY FLAG 2336 0E17 7618+ RBIT OV,S R ==> OVERFLOW FLAG 00000001 7618+ IFT 0;0;0;1;0 2337 9E82 233A 7618+ JMP $+3 JUMP AROUND WORD 00002338  7618+ FLOAT2 SET $ 2338 C124 7618+ WORD :C124 INSTRUCTION OPERAND 2339 E704 7618+  WORD :E704 0000233A 7618+ FLOAT3 SET $ 00000001 7618+ IFT 1;0 233A 5C03 7618+ DIVF FLOAT2 DO THE OPERATION 233B 2338 7618+ ENDC 7618+  ENDC 00000000 7618+ IFF 0 00000001 7618+ IFT 5>0 233C BA9E 235B 7618+  CSK A,=:C5AC CHECK -A- 233D 0000 7618+ NOP 233E 0E0D 7618+ HLT -A- SHOULD CONTAIN :C5AC 233F FA9C 235C 7618+ CSK Q,=:D545 CHECK -Q- 2340 0000 7618+ NOP 2341 0E0D 7618+ HLT -Q- SHOULD CONTAIN :D545 7618+ ENDC  7618+ ENDC 2342 0020 7618+ COPY X,A FOR TESTING 2343 BA08 22CC 7618+ CSK 3  A,=:3333 CHECK -X- 2344 0000 7618+ NOP 2345 0E0D 7618+ HLT DIVF MODIFIED -X- 2346 0060 7618+ COPY Y,A FOR TESTING 2347 BA90 2358 7618+ CSK A,=:0F0F  CHECK -Y- 2348 0000 7618+ NOP 2349 0E0D 7618+ HLT DIVF MODIFIED -Y- 00000001 7618+ IFT 0;0;0;1;0 234A 826D 2338 7618+ COPY FLOAT2,A 234B BA91 235D 7618+ CSK A,=:C124 CHECK OPERAND WORD 1 234C 0000 7618+ NOP 1PAGE 0506 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:10.75 --DIVF-- INSTRUCTION TEST (PART 3-9) 234D 0E0D 7618+ HLT  DIVF MODIFIED OPERAND 234E 826A 2339 7618+ COPY FLOAT2+1,A 234F BA8E 235E 7618+ CSK  A,=:E704 CHECK OPERAND WORD 2 2350 0000 7618+ NOP 2351 0E0D 7618+ HLT  DIVF MODIFIED OPERAND 7618+ ENDC 00000001 7618+ IFT 1;0;0 00000001 7618+ IFT 1 2352 36C1 2354 7618+ JF OV,$+2 OVERFLOW STILL RESET? 2353 0E0D 7618+  HLT NO-- DIVF CHANGED OVERFLOW 7618+ ENDC 00000001 7618+ IFT  1 2354 56C1 2356 7618+ JF CY,$+2 CARRY STILL RESET? 2355 0E0D 7618+ HLT  NO-- DIVF CHANGED CARRY 7618+ ENDC 7618+ ENDC 2356 9E59 2330 7618+  JMP FLOAT1 PATCH FOR LOOPING 2356 0000 7618+ ORG $-1 2356 0000 7618+ NOP 00002357 7618+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 2357 0000 7618+  NOP RESERVE SPACE FOR JMP INSTRUCTION 0007 7618+ LPOOL 2358 0F0F 2359 465E 235A A92F 235B C5AC 235C D545 235D C124 235E E704 0000235F 7618+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 2357 0000 7618+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 2357 9E87 235F 7618+  JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 235F 0000 7618+ ORG LP::L1 CONTINUE AT END OF LPOOL 7618+ ENDC 1PAGE 0507 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:12.75 --DIVF-- INSTRUCTION TEST (PART 3-9) 00000000 7620 IFF 0 7620+ * CY=S OV=S A=:C2CD Q=:5542 DIVF :402A :A9BB=:C31A :00CA OK 0000235F 7620+ FLOAT1 SET $ 235F BF1B 22FB 7620+ JST INITRP INITIALIZE TRAP LOCATIONS 2360 82A7 2388 7620+ COPY =:C2CD,A :C2CD ==> 'A' 2361 C2A7 2389 7620+ COPY =:5542,Q :5542 ==> 'Q' 2362 A2A4 2387 7620+ COPY =:3333,X :3333 ==> 'X'  2363 E274 2358 7620+ COPY =:0F0F,Y :0F0F ==> 'Y' 2364 0E05 7620+ SBIT CY,S S ==> CARRY FLAG 2365 0E15 7620+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7620+ IFT 4  0;0;0;1;0 2366 9E82 2369 7620+ JMP $+3 JUMP AROUND WORD 00002367 7620+ FLOAT2 SET $ 2367 402A 7620+ WORD :402A INSTRUCTION OPERAND 2368 A9BB 7620+ WORD :A9BB 00002369 7620+ FLOAT3 SET $ 00000001 7620+ IFT 1;0 2369 5C03 7620+ DIVF FLOAT2  DO THE OPERATION 236A 2367 7620+ ENDC 7620+ ENDC 00000000 7620+ IFF 0 00000001 7620+ IFT 5>0 236B BA9E 238A 7620+ CSK A,=:C31A CHECK -A- 236C 0000 7620+ NOP 236D 0E0D 7620+ HLT -A- SHOULD CONTAIN :C31A 236E 4DCA 7620+ CSK Q,=:00CA CHECK -Q- 236F 0000 7620+ NOP 2370 0E0D 7620+ HLT -Q- SHOULD CONTAIN :00CA 7620+ ENDC 7620+ ENDC 2371 0020 7620+ COPY X,A FOR TESTING 2372 BA94 2387 7620+ CSK A,=:3333 CHECK -X- 2373 0000 7620+ NOP 2374 0E0D 7620+ HLT DIVF MODIFIED -X- 2375 0060 7620+ COPY Y,A FOR TESTING 2376 BA61 2358 7620+ CSK A,=:0F0F CHECK -Y- 2377 0000 7620+ NOP 2378 0E0D 7620+ HLT DIVF MODIFIED -Y- 00000001 7620+ IFT  0;0;0;1;0 2379 826D 2367 7620+ COPY FLOAT2,A 237A BA90 238B 7620+ CSK A,=:402A CHECK OPERAND WORD 1 237B 0000 7620+ NOP 1PAGE 0508 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:14.75 --DIVF-- INSTRUCTION TEST (PART 3-9) 237C 0E0D 7620+ HLT DIVF MODIFIED OPERAND 237D 826A 2368 7620+ COPY FLOAT2+1,A 237E BA8D 238C 7620+ CSK A,=:A9BB CHECK OPERAND WORD 2 237F 0000 7620+ NOP 2380 0E0D 7620+ HLT DIVF MODIFIED OPERAND  7620+ ENDC 00000001 7620+ IFT 1;0;0 00000001 7620+ IFT 1 2381 3641 2383 7620+ JT OV,$+2 OVERFLOW STILL SET? 2382 0E0D 7620+ HLT NO-- DIVF CHANGED OVERFLOW 7620+ ENDC 00000001 7620+ IFT 1 2383 5641 2385 7620+  JT CY,$+2 CARRY STILL SET? 2384 0E0D 7620+ HLT NO-- DIVF CHANGED CARRY  7620+ ENDC 7620+ ENDC 2385 9E59 235F 7620+ JMP FLOAT1 PATCH FOR LOOPING 2385 0000 7620+ ORG $-1 2385 0000 7620+ NOP 00002386 7620+ LP::L  SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 2386 0000 7620+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0006 7620+ LPOOL 2387 3333 2388 C2CD 2389 5542 238A C31A 238B 402A 238C A9BB 0000238D 7620+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 2386 0000 7620+ ORG 5  LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 2386 9E86 238D 7620+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 238D 0000 7620+ ORG LP::L1 CONTINUE AT END OF LPOOL 7620+ ENDC 1PAGE 0509 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:16.75 --DIVF-- INSTRUCTION TEST (PART 3-9) 00000000 7622 IFF 0 7622+ * CY=R OV=R A=:C30D Q=:0FC8 DIVF :C1B4 :3D71=:41C8 :5A97 OK 0000238D 7622+ FLOAT1 SET $ 238D BFA7 23B5 7622+ JST INITRP INITIALIZE TRAP LOCATIONS 238E 82A7 23B6 7622+ COPY =:C30D,A :C30D ==> 'A' 238F C2A7 23B7 7622+ COPY =:0FC8,Q  :0FC8 ==> 'Q' 2390 A276 2387 7622+ COPY =:3333,X :3333 ==> 'X' 2391 E246 2358 7622+ COPY =:0F0F,Y :0F0F ==> 'Y' 2392 0E07 7622+ RBIT CY,S R ==> CARRY FLAG 2393 0E17 7622+  RBIT OV,S R ==> OVERFLOW FLAG 00000001 7622+ IFT 0;0;0;1;0 2394 9E82 2397 7622+ JMP $+3 JUMP AROUND WORD 00002395 7622+ FLOAT2 SET $ 2395 C1B4 7622+ WORD :C1B4 INSTRUCTION OPERAND 2396 3D71 7622+ WORD :3D71 00002397 7622+ FLOAT3 SET $ 00000001 7622+ IFT 1;0 2397 5C03 7622+ DIVF FLOAT2 DO THE OPERATION 2398 2395  7622+ ENDC 7622+ ENDC 00000000 7622+ IFF 0 00000001 7622+ IFT 5>0 2399 BA9E 23B8 7622+ CSK A,=:41C8 CHECK -A- 239A 0000 7622+ NOP 239B 0E0D 7622+ HLT -A- SHOULD CONTAIN :41C8 239C FA9C 23B9 7622+ CSK Q,=:5A97  CHECK -Q- 239D 0000 7622+ NOP 239E 0E0D 7622+ HLT -Q- SHOULD CONTAIN :5A97 7622+ ENDC 7622+ ENDC 239F 0020 7622+ COPY X,A  FOR TESTING 23A0 BA66 2387 7622+ CSK A,=:3333 CHECK -X- 23A1 0000 7622+ NOP 23A2 0E0D  7622+ HLT DIVF MODIFIED -X- 23A3 0060 7622+ COPY Y,A FOR TESTING 23A4 BA33 2358 7622+ CSK A,=:0F0F CHECK -Y- 23A5 0000 7622+ NOP 23A6 0E0D 7622+  HLT DIVF MODIFIED -Y- 00000001 7622+ IFT 0;0;0;1;0 23A7 826D 2395 7622+  COPY FLOAT2,A 23A8 BA91 23BA 7622+ CSK A,=:C1B4 CHECK OPERAND WORD 1 23A9 0000 7622+ NOP 1PAGE 0510 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:19.00 --DIVF-- INSTRUCTION TEST (PART 3-9) 23AA 0E0D 7622+ HLT DIVF MODIFIED OPERAND 23AB 826A 2396 7622+ COPY FLOAT2+1,A 23AC BA8E 23BB 7622+ CSK A,=:3D71 CHECK OPERAND WORD 2 23AD 0000 7622+ NOP 23AE 0E0D 7622+ HLT DIVF MODIFIED OPERAND 7622+ ENDC 00000006 1 7622+ IFT 1;0;0 00000001 7622+ IFT 1 23AF 36C1 23B1 7622+ JF OV,$+2  OVERFLOW STILL RESET? 23B0 0E0D 7622+ HLT NO-- DIVF CHANGED OVERFLOW 7622+ ENDC 00000001 7622+ IFT 1 23B1 56C1 23B3 7622+ JF CY,$+2 CARRY STILL RESET? 23B2 0E0D 7622+ HLT NO-- DIVF CHANGED CARRY 7622+ ENDC  7622+ ENDC 23B3 9E59 238D 7622+ JMP FLOAT1 PATCH FOR LOOPING 23B3 0000 7622+  ORG $-1 23B3 0000 7622+ NOP 000023B4 7622+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 23B4 0000 7622+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0007  7622+ LPOOL 23B5 122B INITRP 23B6 C30D 23B7 0FC8 23B8 41C8 23B9 5A97 23BA C1B4 23BB 3D71 000023BC 7622+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 23B4 0000 7622+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 23B4 9E87 23BC 7622+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 23BC 0000 7622+ ORG LP::L1 CONTINUE AT END OF LPOOL 7622+ ENDC 1PAGE 0511 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:20.75 --DIVF-- INSTRUCTION TEST (PART 3-9) 00000000 7624 IFF 0 7624+ * CY=S OV=S A=:3B0B Q=:9E2E DIVF :4161 :9581=:3A1E :7161 OK 000023BC 7624+ FLOAT1 SET $ 23BC BF78 23B5 7624+ JST INITRP INITIALIZE TRAP LOCATIONS 23BD 82A6 23E4 7624+ COPY =:3B0B,A :3B0B ==> 'A' 23BE C2A6 23E5 7624+ COPY =:9E2E,Q :9E2E ==> 'Q' 23BF A247 2387 7624+ COPY =:3333,X :3333 ==> 'X' 23C0 E217 2358 7624+ COPY =:0F0F,Y :0F0F ==> 'Y' 23C1 0E05 7624+ SBIT CY,S S ==> CARRY FLAG 23C2 0E15 7624+ SBIT OV,S  S ==> OVERFLOW FLAG 00000001 7624+ IFT 0;0;0;1;0 23C3 9E82 23C6 7624+ JMP $+3 JUMP AROUND WORD 000023C4 7624+ FLOAT2 SET $ 23C4 4161 7624+ WORD :4161 INSTRUCTION OPERAND 23C5 9581 7624+ WORD :9581 000023C6 7624+ FLOAT3 SET $ 00000001 7624+  IFT 1;0 23C6 5C03 7624+ DIVF FLOAT2 DO THE OPERATION 23C7 23C4 7624+  ENDC 7624+ ENDC 00000000 7624+ IFF 0 00000001 7624+ IFT 5>0 23C8 BA9D 23E6 7624+ CSK A,=:3A1E CHECK -A- 23C9 0000 7624+ NOP 23CA 0E0D 7624+  HLT -A- SHOULD CONTAIN :3A1E 23CB FA9B 23E7 7624+ CSK Q,=:7161 CHECK -Q- 23CC 0000 7624+ NOP 23CD 0E0D 7624+ HLT -Q- SHOULD CONTAIN :7161 7624+ ENDC 7624+ ENDC 23CE 0020 7624+ COPY X,A FOR TESTING 23CF 7 BA37 2387 7624+ CSK A,=:3333 CHECK -X- 23D0 0000 7624+ NOP 23D1 0E0D 7624+ HLT DIVF MODIFIED -X- 23D2 0060 7624+ COPY Y,A FOR TESTING 23D3 BA04 2358 7624+ CSK A,=:0F0F CHECK -Y- 23D4 0000 7624+ NOP 23D5 0E0D 7624+ HLT  DIVF MODIFIED -Y- 00000001 7624+ IFT 0;0;0;1;0 23D6 826D 23C4 7624+ COPY FLOAT2,A 23D7 BA90 23E8 7624+ CSK A,=:4161 CHECK OPERAND WORD 1 23D8 0000 7624+ NOP 1PAGE 0512 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:23.00 --DIVF-- INSTRUCTION TEST (PART 3-9) 23D9 0E0D 7624+ HLT DIVF MODIFIED OPERAND 23DA 826A 23C5 7624+ COPY FLOAT2+1,A 23DB BA8D 23E9 7624+ CSK A,=:9581 CHECK OPERAND WORD 2 23DC 0000 7624+ NOP 23DD 0E0D 7624+ HLT DIVF MODIFIED OPERAND 7624+ ENDC 00000001 7624+ IFT 1;0;0 00000001 7624+ IFT 1 23DE 3641 23E0 7624+ JT OV,$+2 OVERFLOW STILL SET? 23DF 0E0D 7624+ HLT NO-- DIVF CHANGED OVERFLOW 7624+ ENDC 00000001 7624+ IFT 1 23E0 5641 23E2 7624+ JT CY,$+2 CARRY STILL SET? 23E1 0E0D 7624+ HLT NO-- DIVF CHANGED CARRY 7624+ ENDC 7624+ ENDC 23E2 9E59 23BC 7624+ JMP FLOAT1 PATCH FOR LOOPING 23E2 0000 7624+ ORG $-1 23E2 0000 7624+ NOP 000023E3 7624+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 23E3 0000 7624+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0006 7624+ LPOOL  23E4 3B0B 23E5 9E2E 23E6 3A1E 23E7 7161 23E8 4161 23E9 9581 000023EA 7624+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 23E3 0000 7624+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 23E3 9E86 23EA 7624+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 23EA 0000 7624+ ORG LP::L1 CONTINUE AT END OF LPOOL 7624+ ENDC 1PAGE 0513 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:25.00 --DIVF-- INSTRUCTION TEST (PART 3-9) 00000000 7626 IFF 0  7626+ * CY=R OV=R A=:4362 Q=:8789 DIVF :38D5 :92EF=:4B07 :C3B8 OK 000023EA 7626+ FLOAT1 SET $ 23EA BF4A 23B5 7626+ JST INITRP INITIALIZE TRAP LOCATIONS 23EB 82A7 2413 7626+ COPY =:4362,A :4362 ==> 'A' 23EC C2A7 2414 7626+ COPY =:8789,Q :8789 ==> 'Q' 23ED A219 2387 7626+ COPY =:3333,X  :3333 ==> 'X' 23EE E2A3 2412 7626+ COPY =:0F0F,Y :0F0F ==> 'Y' 23EF 0E07 7626+ RBIT CY,S R ==> CARRY FLAG 23F0 0E17 7626+ RBIT OV,S R ==> OVERFLOW FLAG 00000001 7626+8  IFT 0;0;0;1;0 23F1 9E82 23F4 7626+ JMP $+3 JUMP AROUND WORD 000023F2 7626+ FLOAT2 SET $ 23F2 38D5 7626+ WORD :38D5 INSTRUCTION OPERAND 23F3 92EF 7626+ WORD  :92EF 000023F4 7626+ FLOAT3 SET $ 00000001 7626+ IFT 1;0 23F4 5C03 7626+  DIVF FLOAT2 DO THE OPERATION 23F5 23F2 7626+ ENDC 7626+ ENDC  00000000 7626+ IFF 0 00000001 7626+ IFT 5>0 23F6 BA9E 2415 7626+ CSK A,=:4B07 CHECK -A- 23F7 0000 7626+ NOP 23F8 0E0D 7626+ HLT -A- SHOULD CONTAIN :4B07 23F9 FA9C 2416 7626+ CSK Q,=:C3B8 CHECK -Q- 23FA 0000 7626+ NOP 23FB 0E0D  7626+ HLT -Q- SHOULD CONTAIN :C3B8 7626+ ENDC 7626+  ENDC 23FC 0020 7626+ COPY X,A FOR TESTING 23FD BA09 2387 7626+ CSK A,=:3333  CHECK -X- 23FE 0000 7626+ NOP 23FF 0E0D 7626+ HLT DIVF MODIFIED -X- 2400 0060 7626+ COPY Y,A FOR TESTING 2401 BA90 2412 7626+ CSK A,=:0F0F CHECK -Y-  2402 0000 7626+ NOP 2403 0E0D 7626+ HLT DIVF MODIFIED -Y- 00000001 7626+ IFT 0;0;0;1;0 2404 826D 23F2 7626+ COPY FLOAT2,A 2405 BA91 2417 7626+ CSK A,=:38D5 CHECK OPERAND WORD 1 2406 0000 7626+ NOP 1PAGE 0514 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:27.00 --DIVF-- INSTRUCTION TEST (PART 3-9) 2407 0E0D 7626+ HLT  DIVF MODIFIED OPERAND 2408 826A 23F3 7626+ COPY FLOAT2+1,A 2409 BA8E 2418 7626+ CSK A,=:92EF CHECK OPERAND WORD 2 240A 0000 7626+ NOP 240B 0E0D 7626+ HLT DIVF MODIFIED OPERAND 7626+ ENDC 00000001 7626+ IFT 1;0;0 00000001 7626+ IFT 1 240C 36C1 240E 7626+ JF OV,$+2 OVERFLOW STILL RESET? 240D 0E0D 7626+ HLT  NO-- DIVF CHANGED OVERFLOW 7626+ ENDC 00000001 7626+ IFT 1 240E 56C1 2410 7626+ JF CY,$+2 CARRY STILL RESET? 240F 0E0D 7626+ HLT NO-- DIVF CHANGED CARRY 7626+ ENDC 7626+ ENDC 2410 9E59 23EA 7626+ JMP FLOAT1 PATCH FOR LOOPING 2410 0000 7626+ ORG $-1 2410 0000 7626+ NOP 00002411 7626+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 2411 0000 7626+ NOP  RESERVE SPACE FOR JMP INSTRUCTION 0007 7626+ LPOOL 2412 0F0F 2413 4362 2414 8789 2415 4B07 2416 C3B8 2417 38D5 2418 92EF 00002419 7626+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 29 411 0000 7626+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 2411 9E87 2419 7626+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 2419 0000 7626+ ORG LP::L1 CONTINUE AT END OF LPOOL  7626+ ENDC 1PAGE 0515 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:29.00 --DIVF-- INSTRUCTION TEST (PART 3-9) 00000000 7628 IFF 0 7628+ * CY=S OV=S A=:0000 Q=:0001 DIVF :4100 :0000=:0000 :0000 UF 00002419 7628+ FLOAT1 SET $ 2419 BF1B 23B5 7628+ JST INITRP INITIALIZE TRAP LOCATIONS 241A 0900 7628+ COPY =:0000,A :0000 ==> 'A' 241B 4901 7628+ COPY =:0001,Q :0001 ==> 'Q' 241C A2A4 2441 7628+ COPY =:3333,X :3333 ==> 'X' 241D E274 2412 7628+ COPY =:0F0F,Y :0F0F ==> 'Y' 241E 0E05 7628+ SBIT CY,S S ==> CARRY FLAG 241F 0E15 7628+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7628+ IFT 0;0;0;1;0  2420 9E82 2423 7628+ JMP $+3 JUMP AROUND WORD 00002421 7628+ FLOAT2 SET $ 2421 4100  7628+ WORD :4100 INSTRUCTION OPERAND 2422 0000 7628+ WORD :0000 00002423 7628+ FLOAT3 SET $ 00000001 7628+ IFT 1 2423 5C03 7628+ DIVF FLOAT2 SHOULD UNDERFLOW 2424 2421 7628+ ENDC 7628+ ENDC 00000000 7628+ IFF 0 00000001 7628+ IFT 5>0 2425 0D00 7628+ CSK A,=:0000 CHECK -A- 2426 0000 7628+ NOP 2427 0E0D 7628+ HLT -A- SHOULD CONTAIN :0000 2428 4D00 7628+ CSK Q,=:0000 CHECK -Q- 2429 0000 7628+ NOP 242A 0E0D 7628+ HLT  -Q- SHOULD CONTAIN :0000 7628+ ENDC 7628+ ENDC 242B 0020 7628+ COPY X,A FOR TESTING 242C BA94 2441 7628+ CSK A,=:3333 CHECK -X- 242D 0000  7628+ NOP 242E 0E0D 7628+ HLT DIVF MODIFIED -X- 242F 0060 7628+ COPY Y,A FOR TESTING 2430 BA61 2412 7628+ CSK A,=:0F0F CHECK -Y- 2431 0000 7628+  NOP 2432 0E0D 7628+ HLT DIVF MODIFIED -Y- 00000001 7628+ IFT 0;0;0;1;0 2433 826D 2421 7628+ COPY FLOAT2,A 2434 BA8D 2442 7628+ CSK A,=:4100 CHECK OPERAND WORD 1 2435 0000 7628+ NOP 1PAGE 0516 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:31.00 --DIVF-- INSTRUCTION TEST (PART 3-9) 2436 0E0D 7628+ HLT DIVF MODIFIED OPERAND 2437 826A 2422 7628+ COPY FLOAT2+1,A 2438 0D00 7628+ CSK A,=:0000 CHECK OPERAND WORD 2 2439 0000 7628+ NOP 243A 0E0D 7628+ HLT DIVF MODIFIED OPERAND 76: 28+ ENDC 00000001 7628+ IFT 1 243B 5641 243D 7628+ JT CY,$+2 CARRY SET? 243C 0E0D 7628+ HLT NO-- EXPECTED UNDERFLOW WITH CY SET 243D 3641 243F 7628+ JT  OV,$+2 OVERFLOW SET? 243E 0E0D 7628+ HLT NO-- EXPECTED UNDERFLOW WITH OV SET  7628+ ENDC 243F 9E59 2419 7628+ JMP FLOAT1 PATCH FOR LOOPING 243F 0000 7628+  ORG $-1 243F 0000 7628+ NOP 00002440 7628+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 2440 0000 7628+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0002  7628+ LPOOL 2441 3333 2442 4100 00002443 7628+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 2440 0000 7628+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 2440 9E82 2443 7628+  JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 2443 0000 7628+ ORG LP::L1 CONTINUE AT END OF LPOOL 7628+ ENDC 1PAGE 0517 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:32.75 --DIVF-- INSTRUCTION TEST (PART 3-9) 00000000 7630 IFF 0 7630+ * CY=R OV=R A=:7FFF Q=:FFFF DIVF :4000 :0000=:007F :FFFF OV 00002443 7630+ FLOAT1 SET $ 2443 BFB3 2477 7630+ JST INITRP INITIALIZE TRAP LOCATIONS 2444 82B5 247A 7630+ COPY =:7FFF,A :7FFF ==> 'A' 2445 48FF 7630+ COPY =:FFFF,Q :FFFF ==> 'Q' 2446 A27A 2441 7630+ COPY =:3333,X :3333 ==> 'X'  2447 E24A 2412 7630+ COPY =:0F0F,Y :0F0F ==> 'Y' 2448 0E07 7630+ RBIT CY,S R ==> CARRY FLAG 2449 0E17 7630+ RBIT OV,S R ==> OVERFLOW FLAG 00000001 7630+ IFT  0;0;0;1;0 244A 9E82 244D 7630+ JMP $+3 JUMP AROUND WORD 0000244B 7630+ FLOAT2 SET $ 244B 4000 7630+ WORD :4000 INSTRUCTION OPERAND 244C 0000 7630+ WORD :0000 0000244D 7630+ FLOAT3 SET $ 00000001 7630+ IFT 1 00000000 7630+ IFF 0 244D 5C03 7630+ DIVF FLOAT2 SHOULD OVERFLOW AND T R A P 244E 244B 7630+ ENDC  7630+ ENDC 7630+ ENDC 00000000 7630+ IFF 0 00000001  7630+ IFT 5>0 244F 0D7F 7630+ CSK A,=:007F CHECK -A- 2450 0000 7630+ NOP 2451 0E0D 7630+ HLT -A- SHOULD CONTAIN :007F 2452 FAA8 247B 7630+ CSK Q,=:FFFF CHECK -Q- 2453 0000 7630+ NOP 2454 0E0D 7630+ HLT -Q- SHOULD CONTAIN :FFFF 7630+ ENDC 7630+ ENDC 2455 0020 7630+ COPY X,A  FOR TESTING 2456 BA6A 2441 7630+ CSK A,=:3333 CHECK -X- 2457 0000 7630+ NOP 2458 ; 0E0D 7630+ HLT DIVF MODIFIED -X- 2459 0060 7630+ COPY Y,A FOR TESTING 245A BA37 2412 7630+ CSK A,=:0F0F CHECK -Y- 245B 0000 7630+ NOP 245C 0E0D 7630+ HLT DIVF MODIFIED -Y- 00000001 7630+ IFT 0;0;0;1;0 245D 826D 244B 7630+  COPY FLOAT2,A 1PAGE 0518 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:34.75 --DIVF-- INSTRUCTION TEST (PART 3-9) 245E BA9D 247C 7630+ CSK A,=:4000 CHECK OPERAND WORD 1 245F 0000  7630+ NOP 2460 0E0D 7630+ HLT DIVF MODIFIED OPERAND 2461 826A 244C 7630+  COPY FLOAT2+1,A 2462 0D00 7630+ CSK A,=:0000 CHECK OPERAND WORD 2 2463 0000 7630+  NOP 2464 0E0D 7630+ HLT DIVF MODIFIED OPERAND 7630+ ENDC 00000001 7630+ IFT 1 00000000 7630+ IFF 0 00000001 7630+ IFT 1 2465 56C1 2467 7630+ JF CY,$+2 CARRY STILL RESET? 2466 0E0D 7630+ HLT NO-- DIVF WITH OVERFLOW CHANGED CARRY 7630+ ENDC 7630+ ENDC 2467 3641 2469 7630+ JT OV,$+2 OVERFLOW SET? 2468 0E0D 7630+ HLT NO-- EXPECTED OVERFLOW WITH OV SET 7630+ ENDC 00000001 7630+ IFT 1;0 00000000 7630+ IFF  0 2469 8020 0020 7630+ COPY QTEMP,A CHECK TRAP FLAG TO SEE IF TRAP WAS TAKEN 246A 0D01 7630+  CSK A,=1 246B 0000 7630+ NOP 246C 0E0D 7630+ HLT DIVF DID NOT EXECUTE TRAP 246D 838A 2478 7630+ COPY ATRAP,A 1ST WORD OF TRAP VECTOR 246E BA8E 247D 7630+ CSK  A,=FLOAT3+2 CHECK 'P' 246F 0000 7630+ NOP 2470 0E0D 7630+ HLT DIVF TRAP STORED WRONG 'P' 2471 8387 2479 7630+ COPY ATRAP+1,A 2ND WORD OF TRAP VECTOR 2472 BA5A 244D 7630+ CSK A,FLOAT3 CHECK 'I' 2473 0000 7630+ NOP 2474 0E0D 7630+ HLT DIVF TRAP STORED WRONG 'I' 7630+ ENDC 7630+ ENDC 2475 9E4D 2443 7630+ JMP FLOAT1 PATCH FOR LOOPING 2475 0000 7630+ ORG $-1 2475 0000 7630+ NOP 00002476 7630+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 2476 0000 7630+ NOP  RESERVE SPACE FOR JMP INSTRUCTION 0007 7630+ LPOOL 2477 122B INITRP 2478 00A8 ATRAP 2479 00A9 1PAGE 0519 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:37.00 --DIVF-- INSTRUCTION TEST (PART 3-9) 247A 7FFF 247B FFFF 247C 4000 247D 244F 0000247E 7630+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 2476 0000 7630+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 2476 9E87 247E<  7630+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 247E 0000 7630+ ORG LP::L1 CONTINUE AT END OF LPOOL 7630+ ENDC 1PAGE 0520 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:37.25 --DIVF-- INSTRUCTION TEST (PART 3-9) 00000000 7632 IFF 0  7632+ * CY=S OV=S A=:0000 Q=:0001 DIVF :0000 :0000=:0000 :0001 DZ 0000247E 7632+ FLOAT1 SET $ 247E BF78 2477  7632+ JST INITRP INITIALIZE TRAP LOCATIONS 247F 0900 7632+ COPY =:0000,A :0000 ==> 'A' 2480 4901 7632+ COPY =:0001,Q :0001 ==> 'Q' 2481 A23F 2441 7632+ COPY =:3333,X  :3333 ==> 'X' 2482 E20F 2412 7632+ COPY =:0F0F,Y :0F0F ==> 'Y' 2483 0E05 7632+ SBIT CY,S S ==> CARRY FLAG 2484 0E15 7632+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7632+  IFT 0;0;0;1;0 2485 9E82 2488 7632+ JMP $+3 JUMP AROUND WORD 00002486 7632+ FLOAT2 SET $ 2486 0000 7632+ WORD :0000 INSTRUCTION OPERAND 2487 0000 7632+ WORD  :0000 00002488 7632+ FLOAT3 SET $ 00000001 7632+ IFT 1 2488 5C03 7632+ DIVF FLOAT2 SHOULD TRAP ON DIVIDE BY ZERO 2489 2486 7632+ ENDC 7632+  ENDC 00000000 7632+ IFF 0 00000001 7632+ IFT 5>0 248A 0D00 7632+ CSK A,=:0000 CHECK -A- 248B 0000 7632+ NOP 248C 0E0D 7632+ HLT -A- SHOULD CONTAIN :0000 248D 4D01 7632+ CSK Q,=:0001 CHECK -Q- 248E 0000 7632+ NOP 248F 0E0D 7632+ HLT -Q- SHOULD CONTAIN :0001 7632+ ENDC 7632+ ENDC 2490 0020 7632+ COPY X,A FOR TESTING 2491 BA2F 2441 7632+ CSK A,=:3333 CHECK -X- 2492 0000 7632+ NOP 2493 0E0D 7632+ HLT DIVF MODIFIED -X- 2494 0060 7632+ COPY Y,A FOR TESTING 2495 BA9C 24B2 7632+ CSK A,=:0F0F CHECK -Y- 2496 0000 7632+ NOP 2497 0E0D 7632+ HLT DIVF MODIFIED -Y- 00000001 7632+ IFT 0;0;0;1;0 2498 826D 2486 7632+ COPY FLOAT2,A 2499 0D00 7632+ CSK  A,=:0000 CHECK OPERAND WORD 1 249A 0000 7632+ NOP 1PAGE 0521 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:39.25 --DIVF-- INSTRUCTION TEST (PART 3-9) 249B 0E0D 7632+ HLT  DIVF MODIFIED OPERAND 249C 826A 2487 7632+ COPY FLOAT2+1,A 249D 0D00 7632+ CSK  A,=:0000 CHECK OPERAND WORD 2 249E 0000 7632+ NOP 249F 0E0D 7632+ HLT DIVF MODIFIED OPERAND 7632+ ENDC 00000001 7632+ IFT 0;0;1 00000001 7632+ =  IFT 1 24A0 3641 24A2 7632+ JT OV,$+2 OVERFLOW STILL SET? 24A1 0E0D 7632+ HLT NO-- DIVF CHANGED OVERFLOW 7632+ ENDC 00000001 7632+ IFT 1 24A2 5641 24A4 7632+ JT CY,$+2 CARRY STILL SET? 24A3 0E0D 7632+ HLT NO-- DIVF CHANGED CARRY 7632+ ENDC 7632+ ENDC 00000001 7632+  IFT 0;1 00000000 7632+ IFF 0 24A4 8020 0020 7632+ COPY QTEMP,A CHECK TRAP FLAG TO SEE IF TRAP WAS TAKEN 24A5 0D01 7632+ CSK A,=1 24A6 0000 7632+ NOP 24A7 0E0D 7632+ HLT DIVF DID NOT EXECUTE TRAP 24A8 834F 2478 7632+ COPY ATRAP,A 1ST WORD OF TRAP VECTOR 24A9 BA89 24B3 7632+ CSK A,=FLOAT3+2 CHECK 'P' 24AA 0000 7632+ NOP 24AB 0E0D  7632+ HLT DIVF TRAP STORED WRONG 'P' 24AC 834C 2479 7632+ COPY ATRAP+1,A 2ND WORD OF TRAP VECTOR 24AD BA5A 2488 7632+ CSK A,FLOAT3 CHECK 'I' 24AE 0000 7632+ NOP 24AF 0E0D 7632+ HLT DIVF TRAP STORED WRONG 'I' 7632+ ENDC 7632+ ENDC 24B0 9E4D 247E 7632+ JMP FLOAT1 PATCH FOR LOOPING 24B0 0000 7632+ ORG  $-1 24B0 0000 7632+ NOP 000024B1 7632+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 24B1 0000 7632+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0002 7632+  LPOOL 24B2 0F0F 24B3 248A 000024B4 7632+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 24B1 0000 7632+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 24B1 9E82 24B4 7632+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 1PAGE 0522 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:41.50 --DIVF-- INSTRUCTION TEST (PART 3-9) 24B4 0000 7632+ ORG LP::L1 CONTINUE AT END OF LPOOL 7632+ ENDC 1PAGE 0523 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:41.50 --DIVF-- INSTRUCTION TEST (PART 3-9) 00000000 7634 IFF 0 7634+ * CY=R OV=R A=:0000 Q=:0001 DIVF :8000 :0000=:0000 :0001 DZ 000024B4 7634+ FLOAT1 SET $ 24B4 BF42 2477 7634+ JST INITRP INITIALIZE TRAP LOCATIONS 24B5 0900 7634+ COPY =:0000,A :0000 ==> 'A' 24B6 4901 7634+ COPY =:0001,Q :0001 ==> 'Q' 24B7 A209 2441 7634+ COPY =:3333,X :3333 ==> 'X'  24B8 E279 24B2 7634+ COPY =:0F0F,Y :0F0F ==> 'Y' 24B9 0E07 7634+ RBIT CY,S R ==> CARRY FLAG 24BA 0E17 7634+ RBIT OV,S R ==> OVERFLOW FLAG 00000001 7634+ IFT  0;0;0;1;0 24BB 9E82 24BE 7634+ JMP $+3 JUMP AROUND WORD 000024BC 7634+ FLOAT2 SET $ 2> 4BC 8000 7634+ WORD :8000 INSTRUCTION OPERAND 24BD 0000 7634+ WORD :0000 000024BE 7634+ FLOAT3 SET $ 00000001 7634+ IFT 1 24BE 5C03 7634+ DIVF FLOAT2  SHOULD TRAP ON DIVIDE BY ZERO 24BF 24BC 7634+ ENDC 7634+ ENDC 00000000 7634+ IFF 0 00000001 7634+ IFT 5>0 24C0 0D00 7634+ CSK A,=:0000 CHECK -A- 24C1 0000 7634+ NOP 24C2 0E0D 7634+ HLT -A- SHOULD CONTAIN :0000 24C3 4D01 7634+ CSK Q,=:0001 CHECK -Q- 24C4 0000 7634+ NOP 24C5 0E0D 7634+ HLT -Q- SHOULD CONTAIN :0001 7634+ ENDC 7634+ ENDC 24C6 0020 7634+ COPY X,A FOR TESTING 24C7 BAA0 24E8 7634+ CSK A,=:3333 CHECK -X- 24C8 0000 7634+ NOP 24C9 0E0D 7634+ HLT DIVF MODIFIED -X- 24CA 0060  7634+ COPY Y,A FOR TESTING 24CB BA66 24B2 7634+ CSK A,=:0F0F CHECK -Y- 24CC 0000 7634+ NOP 24CD 0E0D 7634+ HLT DIVF MODIFIED -Y- 00000001 7634+  IFT 0;0;0;1;0 24CE 826D 24BC 7634+ COPY FLOAT2,A 24CF BA99 24E9 7634+ CSK A,=:8000  CHECK OPERAND WORD 1 24D0 0000 7634+ NOP 1PAGE 0524 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:43.75 --DIVF-- INSTRUCTION TEST (PART 3-9) 24D1 0E0D 7634+ HLT DIVF MODIFIED OPERAND 24D2 826A 24BD 7634+ COPY FLOAT2+1,A 24D3 0D00 7634+ CSK A,=:0000 CHECK OPERAND WORD 2 24D4 0000 7634+ NOP 24D5 0E0D 7634+ HLT DIVF MODIFIED OPERAND 7634+ ENDC 00000001 7634+ IFT 0;0;1 00000001 7634+ IFT  1 24D6 36C1 24D8 7634+ JF OV,$+2 OVERFLOW STILL RESET? 24D7 0E0D 7634+ HLT  NO-- DIVF CHANGED OVERFLOW 7634+ ENDC 00000001 7634+ IFT 1 24D8 56C1 24DA 7634+ JF CY,$+2 CARRY STILL RESET? 24D9 0E0D 7634+ HLT NO-- DIVF CHANGED CARRY 7634+ ENDC 7634+ ENDC 00000001 7634+ IFT 0;1 00000000 7634+ IFF 0 24DA 8020 0020 7634+ COPY QTEMP,A CHECK TRAP FLAG TO SEE IF TRAP WAS TAKEN 24DB 0D01 7634+ CSK A,=1 24DC 0000 7634+ NOP 24DD 0E0D 7634+ HLT DIVF DID NOT EXECUTE TRAP 24DE 8319 2478 7634+ COPY ATRAP,A 1ST WORD OF TRAP VECTOR  24DF BA8A 24EA 7634+ CSK A,=FLOAT3+2 CHECK 'P' 24E0 0000 7634+ NOP 24E1 0E0D 7634+  HLT DIVF TRAP STORED WRONG 'P' 24E2 8316 2479 7634+ COPY ATRAP+1,A 2ND WORD OF TRAP V? ECTOR 24E3 BA5A 24BE 7634+ CSK A,FLOAT3 CHECK 'I' 24E4 0000 7634+ NOP 24E5 0E0D 7634+ HLT DIVF TRAP STORED WRONG 'I' 7634+ ENDC 7634+  ENDC 24E6 9E4D 24B4 7634+ JMP FLOAT1 PATCH FOR LOOPING 24E6 0000 7634+ ORG $-1 24E6 0000 7634+ NOP 000024E7 7634+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 24E7 0000 7634+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0003 7634+ LPOOL 24E8 3333 24E9 8000 24EA 24C0 000024EB 7634+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 24E7 0000 7634+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1PAGE 0525 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:45.75 --DIVF-- INSTRUCTION TEST (PART 3-9) 24E7 9E83 24EB 7634+ JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 24EB 0000 7634+ ORG LP::L1 CONTINUE AT END OF LPOOL 7634+ ENDC 1PAGE 0526 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:46.00 --DIVF-- INSTRUCTION TEST (PART 3-9) 00000000 7636 IFF 0 7636+ * CY=S OV=S A=:0000 Q=:0000 DIVF :0000 :0000=:0000 :0000 DZ 000024EB 7636+ FLOAT1 SET $ 24EB BF0B 2477 7636+ JST INITRP INITIALIZE TRAP LOCATIONS 24EC 0900 7636+ COPY =:0000,A :0000 ==> 'A' 24ED 4900  7636+ COPY =:0000,Q :0000 ==> 'Q' 24EE A279 24E8 7636+ COPY =:3333,X :3333 ==> 'X' 24EF E242 24B2 7636+ COPY =:0F0F,Y :0F0F ==> 'Y' 24F0 0E05 7636+ SBIT CY,S S ==> CARRY FLAG 24F1 0E15 7636+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7636+ IFT 0;0;0;1;0 24F2 9E82 24F5 7636+ JMP $+3 JUMP AROUND WORD 000024F3 7636+ FLOAT2 SET $ 24F3 0000 7636+ WORD :0000 INSTRUCTION OPERAND 24F4 0000 7636+ WORD :0000 000024F5 7636+ FLOAT3 SET $ 00000001 7636+ IFT 1 24F5 5C03 7636+ DIVF FLOAT2  SHOULD TRAP ON DIVIDE BY ZERO 24F6 24F3 7636+ ENDC 7636+ ENDC 00000000 7636+ IFF 0 00000001 7636+ IFT 5>0 24F7 0D00 7636+ CSK A,=:0000 CHECK -A- 24F8 0000 7636+ NOP 24F9 0E0D 7636+ HLT -A- SHOULD CONTAIN :0000 24FA 4D00 7636+ CSK Q,=:0000 CHECK -Q- 24FB 0000 7636+ NOP 24FC 0E0D 7636+  HLT -Q- SHOULD CONTAIN :0000 7636+ ENDC 7636+ ENDC 24FD 0020 7636+ COPY X,A FOR TESTING 24FE BA69 24E8 7636+ CSK A,=:3333 CHECK -X- 24FF 0000 7636+ NOP 2500 0E0D 7636+ HLT DIVF MODIFIED -X- 2501 0060 @  7636+ COPY Y,A FOR TESTING 2502 BA2F 24B2 7636+ CSK A,=:0F0F CHECK -Y- 2503 0000 7636+ NOP 2504 0E0D 7636+ HLT DIVF MODIFIED -Y- 00000001 7636+  IFT 0;0;0;1;0 2505 826D 24F3 7636+ COPY FLOAT2,A 2506 0D00 7636+ CSK A,=:0000  CHECK OPERAND WORD 1 2507 0000 7636+ NOP 1PAGE 0527 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:48.00 --DIVF-- INSTRUCTION TEST (PART 3-9) 2508 0E0D 7636+ HLT DIVF MODIFIED OPERAND 2509 826A 24F4 7636+ COPY FLOAT2+1,A 250A 0D00 7636+ CSK A,=:0000 CHECK OPERAND WORD 2 250B 0000 7636+ NOP 250C 0E0D 7636+ HLT DIVF MODIFIED OPERAND 7636+ ENDC 00000001 7636+ IFT 0;0;1 00000001 7636+ IFT  1 250D 3641 250F 7636+ JT OV,$+2 OVERFLOW STILL SET? 250E 0E0D 7636+ HLT  NO-- DIVF CHANGED OVERFLOW 7636+ ENDC 00000001 7636+ IFT 1 250F 5641 2511  7636+ JT CY,$+2 CARRY STILL SET? 2510 0E0D 7636+ HLT NO-- DIVF CHANGED CARRY 7636+ ENDC 7636+ ENDC 00000001 7636+ IFT 0;1  00000000 7636+ IFF 0 2511 8020 0020 7636+ COPY QTEMP,A CHECK TRAP FLAG TO SEE IF TRAP WAS TAKEN 2512 0D01 7636+ CSK A,=1 2513 0000 7636+ NOP 2514 0E0D 7636+ HLT  DIVF DID NOT EXECUTE TRAP 2515 8389 251F 7636+ COPY ATRAP,A 1ST WORD OF TRAP VECTOR 2516 BA8A 2521 7636+ CSK A,=FLOAT3+2 CHECK 'P' 2517 0000 7636+ NOP 2518 0E0D 7636+ HLT DIVF TRAP STORED WRONG 'P' 2519 8386 2520 7636+ COPY ATRAP+1,A 2ND WORD OF TRAP VECTOR 251A BA5A 24F5 7636+ CSK A,FLOAT3 CHECK 'I' 251B 0000 7636+ NOP 251C 0E0D 7636+  HLT DIVF TRAP STORED WRONG 'I' 7636+ ENDC 7636+ ENDC 251D 9E4D 24EB 7636+ JMP FLOAT1 PATCH FOR LOOPING 251D 0000 7636+ ORG $-1 251D 0000 7636+ NOP 0000251E 7636+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 251E 0000 7636+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0003 7636+ LPOOL 251F 00A8 ATRAP 2520 00A9 2521 24F7 00002522 7636+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 251E 0000 7636+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1PAGE 0528 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:50.00 --DIVF-- INSTRUCTION TEST (PART 3-9) 251E 9E83 2522 7636+  JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 2522 0000 7636+ ORG LP::L1 CONTINUE AT END OF A LPOOL 7636+ ENDC 1PAGE 0529 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:50.50 --DIVF-- INSTRUCTION TEST (PART 3-9) 00000000 7638 IFF 0 7638+ * CY=R OV=R A=:8000 Q=:0000 DIVF :8000 :0000=:0000 :0000 DZ 00002522 7638+ FLOAT1 SET $ 2522 BFB3 2556 7638+ JST INITRP INITIALIZE TRAP LOCATIONS 2523 8245 24E9 7638+ COPY =:8000,A :8000 ==> 'A' 2524 4900 7638+ COPY =:0000,Q :0000 ==> 'Q' 2525 A242 24E8 7638+ COPY =:3333,X :3333 ==> 'X'  2526 E20B 24B2 7638+ COPY =:0F0F,Y :0F0F ==> 'Y' 2527 0E07 7638+ RBIT CY,S R ==> CARRY FLAG 2528 0E17 7638+ RBIT OV,S R ==> OVERFLOW FLAG 00000001 7638+ IFT  0;0;0;1;0 2529 9E82 252C 7638+ JMP $+3 JUMP AROUND WORD 0000252A 7638+ FLOAT2 SET $ 252A 8000 7638+ WORD :8000 INSTRUCTION OPERAND 252B 0000 7638+ WORD :0000 0000252C 7638+ FLOAT3 SET $ 00000001 7638+ IFT 1 252C 5C03 7638+ DIVF FLOAT2  SHOULD TRAP ON DIVIDE BY ZERO 252D 252A 7638+ ENDC 7638+ ENDC 00000000 7638+ IFF 0 00000001 7638+ IFT 5>0 252E 0D00 7638+ CSK A,=:0000 CHECK -A- 252F 0000 7638+ NOP 2530 0E0D 7638+ HLT -A- SHOULD CONTAIN :0000 2531 4D00 7638+ CSK Q,=:0000 CHECK -Q- 2532 0000 7638+ NOP 2533 0E0D 7638+ HLT -Q- SHOULD CONTAIN :0000 7638+ ENDC 7638+ ENDC 2534 0020 7638+ COPY X,A FOR TESTING 2535 BA32 24E8 7638+ CSK A,=:3333 CHECK -X- 2536 0000 7638+ NOP 2537 0E0D 7638+ HLT DIVF MODIFIED -X- 2538 0060  7638+ COPY Y,A FOR TESTING 2539 BA9D 2557 7638+ CSK A,=:0F0F CHECK -Y- 253A 0000 7638+ NOP 253B 0E0D 7638+ HLT DIVF MODIFIED -Y- 00000001 7638+  IFT 0;0;0;1;0 253C 826D 252A 7638+ COPY FLOAT2,A 253D BA2B 24E9 7638+ CSK A,=:8000  CHECK OPERAND WORD 1 253E 0000 7638+ NOP 1PAGE 0530 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:52.50 --DIVF-- INSTRUCTION TEST (PART 3-9) 253F 0E0D 7638+ HLT DIVF MODIFIED OPERAND 2540 826A 252B 7638+ COPY FLOAT2+1,A 2541 0D00 7638+ CSK A,=:0000 CHECK OPERAND WORD 2 2542 0000 7638+ NOP 2543 0E0D 7638+ HLT DIVF MODIFIED OPERAND 7638+ ENDC 00000001 7638+ IFT 0;0;1 00000001 7638+ IFT  1 2544 36C1 2546 7638+ JF OV,$+2 OVERFLOW STILL RESET? 2545 0E0D 7638+ HLT B  NO-- DIVF CHANGED OVERFLOW 7638+ ENDC 00000001 7638+ IFT 1 2546 56C1 2548 7638+ JF CY,$+2 CARRY STILL RESET? 2547 0E0D 7638+ HLT NO-- DIVF CHANGED CARRY 7638+ ENDC 7638+ ENDC 00000001 7638+ IFT 0;1 00000000 7638+ IFF 0 2548 8020 0020 7638+ COPY QTEMP,A CHECK TRAP FLAG TO SEE IF TRAP WAS TAKEN 2549 0D01 7638+ CSK A,=1 254A 0000 7638+ NOP 254B 0E0D 7638+ HLT DIVF DID NOT EXECUTE TRAP 254C 8352 251F 7638+ COPY ATRAP,A 1ST WORD OF TRAP VECTOR  254D BA8A 2558 7638+ CSK A,=FLOAT3+2 CHECK 'P' 254E 0000 7638+ NOP 254F 0E0D 7638+  HLT DIVF TRAP STORED WRONG 'P' 2550 834F 2520 7638+ COPY ATRAP+1,A 2ND WORD OF TRAP VECTOR 2551 BA5A 252C 7638+ CSK A,FLOAT3 CHECK 'I' 2552 0000 7638+ NOP 2553 0E0D 7638+ HLT DIVF TRAP STORED WRONG 'I' 7638+ ENDC 7638+  ENDC 2554 9E4D 2522 7638+ JMP FLOAT1 PATCH FOR LOOPING 2554 0000 7638+ ORG $-1 2554 0000 7638+ NOP 00002555 7638+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 2555 0000 7638+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0003 7638+ LPOOL 2556 122B INITRP 2557 0F0F 2558 252E 00002559 7638+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL  2555 0000 7638+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1PAGE 0531 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:54.50 --DIVF-- INSTRUCTION TEST (PART 3-9) 2555 9E83 2559 7638+  JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 2559 0000 7638+ ORG LP::L1 CONTINUE AT END OF LPOOL 7638+ ENDC 1PAGE 0532 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:54.75 --DIVF-- INSTRUCTION TEST (PART 3-9) 00000000 7640 IFF 0 7640+ * CY=S OV=S A=:0000 Q=:0000 DIVF :8000 :0000=:0000 :0000 DZ 00002559 7640+ FLOAT1 SET $ 2559 BF7C 2556 7640+  JST INITRP INITIALIZE TRAP LOCATIONS 255A 0900 7640+ COPY =:0000,A :0000 ==> 'A' 255B 4900 7640+ COPY =:0000,Q :0000 ==> 'Q' 255C A20B 24E8 7640+ COPY =:3333,X :3333 ==> 'X' 255D E279 2557 7640+ COPY =:0F0F,Y :0F0F ==> 'Y' 255E 0E05 7640+ SBIT CY,S  S ==> CARRY FLAG 255F 0E15 7640+ SBIT OV,S S ==> OVERFLOW FLAG 00000001 7640+ IFT 0;0;0;1;0 2560 9E82 2563 7640+ JMP $+3 JUMP AROUND WORD 00002561 7640+ FLOAT2 SET  $ 2561 8000 7640+ WORD :8000 INSTRUCTION OPERAND 2562 0000 7640+ WORD :0000 C  00002563 7640+ FLOAT3 SET $ 00000001 7640+ IFT 1 2563 5C03 7640+ DIVF FLOAT2 SHOULD TRAP ON DIVIDE BY ZERO 2564 2561 7640+ ENDC 7640+ ENDC  00000000 7640+ IFF 0 00000001 7640+ IFT 5>0 2565 0D00 7640+ CSK A,=:0000 CHECK -A- 2566 0000 7640+ NOP 2567 0E0D 7640+ HLT -A- SHOULD CONTAIN :0000 2568 4D00 7640+ CSK Q,=:0000 CHECK -Q- 2569 0000 7640+ NOP 256A 0E0D  7640+ HLT -Q- SHOULD CONTAIN :0000 7640+ ENDC 7640+  ENDC 256B 0020 7640+ COPY X,A FOR TESTING 256C BAA0 258D 7640+ CSK A,=:3333  CHECK -X- 256D 0000 7640+ NOP 256E 0E0D 7640+ HLT DIVF MODIFIED -X- 256F 0060 7640+ COPY Y,A FOR TESTING 2570 BA66 2557 7640+ CSK A,=:0F0F CHECK -Y- 2571 0000 7640+ NOP 2572 0E0D 7640+ HLT DIVF MODIFIED -Y- 00000001 7640+ IFT 0;0;0;1;0 2573 826D 2561 7640+ COPY FLOAT2,A 2574 BA99 258E 7640+ CSK A,=:8000 CHECK OPERAND WORD 1 2575 0000 7640+ NOP 1PAGE 0533 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:56.75 --DIVF-- INSTRUCTION TEST (PART 3-9) 2576 0E0D 7640+ HLT  DIVF MODIFIED OPERAND 2577 826A 2562 7640+ COPY FLOAT2+1,A 2578 0D00 7640+ CSK A,=:0000  CHECK OPERAND WORD 2 2579 0000 7640+ NOP 257A 0E0D 7640+ HLT DIVF MODIFIED OPERAND 7640+ ENDC 00000001 7640+ IFT 0;0;1 00000001 7640+ IFT 1 257B 3641 257D 7640+ JT OV,$+2 OVERFLOW STILL SET? 257C 0E0D 7640+ HLT  NO-- DIVF CHANGED OVERFLOW 7640+ ENDC 00000001 7640+ IFT 1 257D 5641 257F 7640+ JT CY,$+2 CARRY STILL SET? 257E 0E0D 7640+ HLT NO-- DIVF CHANGED CARRY 7640+ ENDC 7640+ ENDC 00000001 7640+ IFT  0;1 00000000 7640+ IFF 0 257F 8020 0020 7640+ COPY QTEMP,A CHECK TRAP FLAG TO SEE IF TRAP WAS TAKEN 2580 0D01 7640+ CSK A,=1 2581 0000 7640+ NOP 2582 0E0D 7640+  HLT DIVF DID NOT EXECUTE TRAP 2583 831B 251F 7640+ COPY ATRAP,A 1ST WORD OF TRAP VECTOR 2584 BA8A 258F 7640+ CSK A,=FLOAT3+2 CHECK 'P' 2585 0000 7640+ NOP 2586 0E0D 7640+  HLT DIVF TRAP STORED WRONG 'P' 2587 8318 2520 7640+ COPY ATRAP+1,A 2ND WORD OF TRAP VECTOR 2588 BA5A 2563 7640+ CSK A,FLOAT3 CHECK 'I' 2589 0000 7640+ NOP 258A 0E0D 76D 40+ HLT DIVF TRAP STORED WRONG 'I' 7640+ ENDC 7640+  ENDC 258B 9E4D 2559 7640+ JMP FLOAT1 PATCH FOR LOOPING 258B 0000 7640+ ORG $-1 258B 0000 7640+ NOP 0000258C 7640+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 258C 0000 7640+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0003 7640+ LPOOL 258D 3333 258E 8000 258F 2565 00002590 7640+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL 258C 0000 7640+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1PAGE 0534 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:58.75 --DIVF-- INSTRUCTION TEST (PART 3-9) 258C 9E83 2590 7640+  JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 2590 0000 7640+ ORG LP::L1 CONTINUE AT END OF LPOOL 7640+ ENDC 1PAGE 0535 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:21:59.00 --DIVF-- INSTRUCTION TEST (PART 3-9) 00000000 7642 IFF 0 7642+ * CY=R OV=R A=:8000 Q=:0000 DIVF :0000 :0000=:0000 :0000 DZ 00002590 7642+ FLOAT1 SET $ 2590 BF45 2556 7642+  JST INITRP INITIALIZE TRAP LOCATIONS 2591 827C 258E 7642+ COPY =:8000,A :8000 ==> 'A' 2592 4900 7642+ COPY =:0000,Q :0000 ==> 'Q' 2593 A279 258D 7642+ COPY =:3333,X :3333 ==> 'X' 2594 E242 2557 7642+ COPY =:0F0F,Y :0F0F ==> 'Y' 2595 0E07 7642+ RBIT CY,S R ==> CARRY FLAG 2596 0E17 7642+ RBIT OV,S R ==> OVERFLOW FLAG 00000001 7642+ IFT  0;0;0;1;0 2597 9E82 259A 7642+ JMP $+3 JUMP AROUND WORD 00002598 7642+ FLOAT2 SET $ 2598 0000 7642+ WORD :0000 INSTRUCTION OPERAND 2599 0000 7642+ WORD :0000 0000259A 7642+ FLOAT3 SET $ 00000001 7642+ IFT 1 259A 5C03 7642+ DIVF FLOAT2  SHOULD TRAP ON DIVIDE BY ZERO 259B 2598 7642+ ENDC 7642+ ENDC 00000000 7642+ IFF 0 00000001 7642+ IFT 5>0 259C 0D00 7642+ CSK A,=:0000 CHECK -A- 259D 0000 7642+ NOP 259E 0E0D 7642+ HLT -A- SHOULD CONTAIN :0000 259F 4D00 7642+ CSK Q,=:0000 CHECK -Q- 25A0 0000 7642+ NOP 25A1 0E0D 7642+ HLT -Q- SHOULD CONTAIN :0000 7642+ ENDC 7642+ ENDC 25A2 0020 7642+ COPY X,A FOR TESTING 25A3 BA69 258D 7642+ CSK A,=:3333 CHECK -X- 25A4 0000 7642+ NOP 25A5 0E0D 7642+ HLT DIVF MODIFIED -X- 25A6 0060 7642+ COPY Y,A FOR TESTING 25A7 BA2F 2557 7642+ CSK A,=:0F0F CHECK -Y- 25A8 E 0000 7642+ NOP 25A9 0E0D 7642+ HLT DIVF MODIFIED -Y- 00000001 7642+  IFT 0;0;0;1;0 25AA 826D 2598 7642+ COPY FLOAT2,A 25AB 0D00 7642+ CSK A,=:0000  CHECK OPERAND WORD 1 25AC 0000 7642+ NOP 1PAGE 0536 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:01.25 --DIVF-- INSTRUCTION TEST (PART 3-9) 25AD 0E0D 7642+ HLT DIVF MODIFIED OPERAND 25AE 826A 2599 7642+ COPY FLOAT2+1,A 25AF 0D00 7642+ CSK A,=:0000 CHECK OPERAND WORD 2 25B0 0000 7642+ NOP 25B1 0E0D 7642+ HLT DIVF MODIFIED OPERAND 7642+ ENDC 00000001 7642+ IFT 0;0;1 00000001 7642+ IFT  1 25B2 36C1 25B4 7642+ JF OV,$+2 OVERFLOW STILL RESET? 25B3 0E0D 7642+ HLT  NO-- DIVF CHANGED OVERFLOW 7642+ ENDC 00000001 7642+ IFT 1 25B4 56C1 25B6 7642+ JF CY,$+2 CARRY STILL RESET? 25B5 0E0D 7642+ HLT NO-- DIVF CHANGED CARRY 7642+ ENDC 7642+ ENDC 00000001 7642+ IFT 0;1 00000000 7642+ IFF 0 25B6 8020 0020 7642+ COPY QTEMP,A CHECK TRAP FLAG TO SEE IF TRAP WAS TAKEN 25B7 0D01 7642+ CSK A,=1 25B8 0000 7642+ NOP 25B9 0E0D 7642+  HLT DIVF DID NOT EXECUTE TRAP 25BA 8389 25C4 7642+ COPY ATRAP,A 1ST WORD OF TRAP VECTOR 25BB BA89 25C5 7642+ CSK A,=FLOAT3+2 CHECK 'P' 25BC 0000 7642+ NOP 25BD 0E0D 7642+  HLT DIVF TRAP STORED WRONG 'P' 25BE 8387 25C6 7642+ COPY ATRAP+1,A 2ND WORD OF TRAP VECTOR 25BF BA5A 259A 7642+ CSK A,FLOAT3 CHECK 'I' 25C0 0000 7642+ NOP 25C1 0E0D 7642+ HLT DIVF TRAP STORED WRONG 'I' 7642+ ENDC 7642+  ENDC 25C2 9E4D 2590 7642+ JMP FLOAT1 PATCH FOR LOOPING 25C2 0000 7642+ ORG $-1 25C2 0000 7642+ NOP 000025C3 7642+ LP::L SET $ SET UP LABEL TO REPLACE NOP WITH JMP INST. 25C3 0000 7642+ NOP RESERVE SPACE FOR JMP INSTRUCTION 0003 7642+ LPOOL 25C4 00A8 ATRAP 25C5 259C 25C6 00A9 000025C7 7642+ LP::L1 SET $ SET UP LABEL AT END OF LPOOL  25C3 0000 7642+ ORG LP::L GO BACK TO OVERLAY NOP WITH JMP INST. 1PAGE 0537 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:03.25 --DIVF-- INSTRUCTION TEST (PART 3-9) 25C3 9E83 25C7 7642+  JMP LP::L1 JUMP TO LABEL AT END OF LPOOL 25C7 0000 7642+ ORG LP::L1 CONTINUE AT END OF LPOOL 7642+ ENDC 7643 * 1PAGE 0538 MACRO (F100) SCOUT CPU HARDWARE TEST PROGF RAM 84-93727 (A200) 1981/11/25 16:22:03.50 FLOATING POINT ADDRESSING MODES (PART 3-10) 7646 ************************************************************************ 7647 * 7648 * SIMPLE TEST ON FLOATING POINT ADDRESSING MODES 7649 * 7650 * CSKF $-10 P-RELATIVE  7651 * CSKF MEM(Y) Y-INDEXED 7652 * CSKF *MEM INDIRECT 7653 * CSKF *MEM(Y) Y-INDEXED INDIRECT 7654 * CSKF MEM(X)  X-INDEXED 7655 * CSKF *MEM(X) INDIRECT X-INDEXED 7656 * CSKF MEM(Y,X) Y-INDEXED, X-INDEXED 7657 * CSKF *MEM(Y,X) Y-INDEXED INDIRECT X-INDEXED  7658 * 7659 ************************************************************************ 7660 * 000025C7 7661 FLOATX SET $ 25C7 BF0E 2556 7661+ JST INITRP INITIALIZE TRAP LOCATIONS 25C8 0E65 7661+ SBIT XA,S FORCE WORD MODE 25C9 9E86 25D0 7661+ JMP $+7  7661+ * 000025CA 7661+ FLOAT4 SET $ 25CA 0000 7661+ WORD :0000 25CB 0001 7661+ WORD :0001 000025CC 7661+ FLOAT5 SET $ 25CC 0000 7661+ WORD :0000 000025CD 7661+ FLOAT6 SET $ 25CD 0000 7661+ WORD :0000 000025CE 7661+ FLOAT7 SET $ 25CE 0000 7661+ WORD :0 000025CF 7661+ FLOAT8 SET $ 25CF 25CA 7661+ WORD FLOAT4  7661+ * 25D0 8279 25CA 7661+ COPY FLOAT4,A :0000 -> A 25D1 C279 25CB 7661+ COPY  FLOAT4+1,Q :0001 -> Q 25D2 A279 25CC 7661+ COPY FLOAT5,X (FLOAT5) -> X 25D3 E279 25CD 7661+  COPY FLOAT6,Y (FLOAT6) -> Y 7661+ * 00000001 7661+ IFT 1 7661+ * CSKF $-10 P-RELATIVE 25D4 5C84 7661+ WORD :5C84 25D5 FFF4 7661+ WORD :FFF4 7661+ ENDC 25D6 0E0D 7661+ HLT ADDRESSING MODE FAILED 1PAGE 0539 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:04.75 FLOATING POINT ADDRESSING MOD859 JMP MEM13 NO,CONTINUE 26D8 9E7A 26D3 7860 JMP MEM13 CONTINUE 26D9 0E27  7861 RBIT 2,S SET WORD MODE 7862 * 1PAGE 0554 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:17.25 BYTE TEST OF MEMORY 7864 * 7865 * VERIFY MEMORY 7866 * 26DA 0901 7867 COPY =1,A LOAD A WITH HIGH ORDER PHYSICAL ADDRESS 26DB E246 26A2 7868 COPY =:4FFF,Y INITIALIZE MEMORY ADDRESS 26DC 0E25 7869 SBIT 2,S SET BYTE MODE 26DD 6B01 7870 MEM15 ADD =1,Y NEXT ADDRESS 26DE 0955 7871 COG PY =:55,A EXPECTED DATA UPPER BYTE 26DF 7000 7872 COPY A,K LOAD K WITH EXPECTED DATA 26E0 C040 0000 7873 COPY 0(Y),Q READ DATA FROM TEST MEMORY(UPPER BYTE) 26E1 407B 7874 CSK Q,K COMPARE TO EXPECTED DATA 26E2 0000 7875 NOP 26E3 9E81 26E5 7876 JMP $+2  ERROR 26E4 9E87 26EC 7877 JMP MEM333 OK 7878 * 26E5 6020 7879  COPY X,Y LOAD X WITH LOW ORDER PHYSICAL ADDRESS 26E6 0E27 7880 RBIT 2,S SET WORD MODE 26E7 0E0D 7881 HLT BYTE TEST FAILURE----UPPER BYTE 7882 *  Q=EXPECTED DATA 7883 * K=EXPECTED DATA  7884 * AX=PHYSICAL ADDRESS 7885 *  Y=LOGICAL ADDRESS 7886 * 26E8 9E65 26CE 7887 JMP MEM12 PATCH FOR LOOPING  26E8 0000 7888 ORG $-1 26E8 0000 7889 NOP OVERLAY WITH NOP 26E9 9EC6 2730  7890 JMP MEM:END ERROR EXIT 0002 7891 LPOOL 26EA 26FF WALK1 26EB 7892 * 26EC 49AA 7893 MEM333 COPY =:AA,Q LOWER BYTE EXPECTED DATA 26ED 7040 7894 COPY  Q,K LOAD K WITH EXPECTED DATA 26EE 8041 0001 7895 COPY 1(Y),A READ DATA FROM TEST MEMORY (LOWER BYTE) 26EF 007B 7896 CSK A,K COMPARE TO EXPECTED DATA 26F0 0000 7897 NOP 26F1 9E81 26F3 7898 JMP $+2 ERROR 26F2 9E85 26F8 7899 JMP MEM444 OK  7900 * 26F3 6020 7901 COPY X,Y LOAD X WITH LOW ORDER PHYSICAL ADDRESS 26F4 0E27 7902  RBIT 2,S SET WORD MODE 26F5 0E0D 7903 HLT BYTE TEST FAILURE------LOWER BYTE 7904 * 1PAGE 0555 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:18.75 BYTE TEST OF MEMORY 7905 ** Q=EXPECTED DATA 7906  * K=EXPECTED DATA 7907 * AX=PHYSICAL ADDRESS 7908 * Y=LOGICAL ADDRESS 7909 * 26F6 9E57 26CE 7910 JMP MEM12 PATCH FOR LOOPING 26F6 0000 7911 ORG $-1 26F6 0000 7912  NOP OVERLAY WITH NOP 26F7 9EB8 2730 7913 JMP MEM:END ERROR EXIT  7914 * 000026F8 7915 MEM444 EQU $ 26F8 206B 7916 CSK X,Y END OF MEMORY??? 26F9 9E63 26DD 7917 JMP MEM15 NO,CONTINUE 26FA 9E62 26DD 7918 JMP MEM15 NO,CONTINUE 26FB 0E27 7919 RBIT 2,S YES,SET WORD MODE 26FC 9E51 26CE 7920 JMP MEM12 H  PATCH FOR LOOPING THRU BYTE TEST 26FC 0000 7921 ORG $-1 26FC 9E82 26FF 7922 JMP WALK1 1PAGE 0556 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:19.25 WALKING 1 MEMORY TEST  7924 * 7925 ********** 7926 * 7927 * THIS TEST WILL WALK A ONE THRU EACH MEMORY LOCATION 7928 * (HAVE A 0 IN MEMORY LOCATION AND ROTATE A 1 THRU IT),  7929 * IT IS DESIGNED TO FIND BAD BITS. 7930 * 7931 *********** 7932 * 26FD FFF0 7933 MEMLOOP WORD -16 26FE FFF0 7934 MEMLOOP2 WORD -16 7935 * 000026FF 7936 WALK1 EQU $ 26FF 0E15 7937 SBIT OV,S SET THE OVERFLOW BIT 2700 A221 26A2 7938 COPY =:4FFF,X SET STARTING MEMORY ADDRESS 2701 2B01 7939 SET:0 ADD =1,X NEXT ADDRESS 2702 6900 7940 COPY =0,Y 2703 E480 0000 7941 HERE1 COPY Y,0(X) COPY Y TO MEMORY ADDRESS 0(X) 2704 C080 0000 7942 COPY 0(X),Q READ MEMORY ADDRESS 2705 406B 7943 CSK Q,Y  SHOULD BE = 2706 0000 7944 NOP 2707 9E8B 2713 7945 JMP ERR:FIND ROUTINE WILL FIND OUT WHICH BIT FAILED 2708 6E03 7946 ROTATE Y,LO,1 WALK 1 THRU 2709 DE73 26FD 7947 IMS  MEMLOOP HAVE WE FINISHED WALKING THE 1 THRU 270A 9E78 2703 7948 JMP HERE1 NO CONTINUE 270B 0020 7949 COPY X,A PUT X IN REG A FOR CSK INSTRUCTION 270C BA16 26A3 7950 CSK A,=:FFFF END OF MEMORY 270D 9E82 2710 7951 JMP THERE1 NO JMP TO THERE1 270E 9E81 2710 7952 JMP THERE1 270F 9E87 2717 7953 JMP ONELOOP GO TO NEXT TEST 7954 * 2710 48F0  7955 THERE1 COPY =-16,Q 2711 C66B 26FD 7956 COPY Q,MEMLOOP SET MEMLOOP BACK TO -16 2712 9E6E 2701 7957 JMP SET:0 GO TEST NEXT MEMORY LOCATION 7958 * 00002713 7959 ERR:FIND EQU  $ 2713 4064 7960 AND Y,Q FIND OUT WHICH BITS ARE IN ERROR 2714 0E0D 7961 HLT ALL BITS IN Q NOT =0 ARE WRONG 2715 2B01 7962 ADD =1,X IF RESTART GET NEXT ADDRESS 2716 9E6A 2701 7963 JMP SET:0 1PAGE 0557 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:20.75 WALKING ZERO MEMORY TEST 7965 * 7966 ***********  7967 * 7968 * THIS TEST WILL WALK A ZERO THRU EACH MEMORY LOCATION 7969 *  7970 ************ 7971 * 00002717 7972 ONELOOP EQU $ 2717 0E17 7973 RBIT OV,S RESET THE OV BIT IN S 2718 A209 26A2 7974 COPY =:4FFF,X SET STARTING MEMORY LOCATION 2719 2B01 7975 SET:Y ADD =1,X NEXT ADDRESS 271A 68FF 7976 COPY =:FFFF,Y SET Y TI O ALL ONES 271B E480 0000 7977 HERE22 COPY Y,0(X) PUT Y IN MEMORY LOCATION 271C C080 0000 7978 COPY  0(X),Q COPY MEMORY LOCATION INTO Q 271D 406B 7979 CSK Q,Y SHOULD BE EQUAL 271E 0000  7980 NOP 271F 9E8B 272B 7981 JMP ERR:FIN3 GO SEE WHICH BIT FAILED 2720 6E03 7982  ROTATE Y,LO,1 WALK THE 0 THRU 2721 DE5C 26FE 7983 IMS MEMLOOP2 ARE WE DONE WALKING THE 0  2722 9E78 271B 7984 JMP HERE22 NO 2723 0020 7985 COPY X,A PUT X IN REG A FOR CSK INSTRUCTION 2724 BA91 2736 7986 CSK A,=:FFFF END OF MEMORY 2725 9E82 2728 7987 JMP  MORE3 NO JMP TO MORE3 2726 9E81 2728 7988 JMP MORE3 2727 9E88 2730 7989 JMP YESSIR  DONE WITH TEST 7990 * 2728 48F0 7991 MORE3 COPY =-16,Q 2729 C654 26FE 7992 COPY Q,MEMLOOP2 272A 9E6E 2719 7993 JMP SET:Y GO TEST NEXT ADDRESS 7994 * 0000272B 7995 ERR:FIN3 EQU $ 272B 4064 7996 AND Y,Q FIND OUT WHICH BITS ARE WRONG 272C 0000 7997 NOP EVERY BIT NOT =0 IS WRING 272D 0E0D 7998 HLT 272E 2B01 7999 ADD =1,X IF START UP GET NEXT ADDRESS 272F 9E69 2719 8000 JMP SET:Y TEST NEXT ONE 1PAGE 0558 MACRO (F100) SCOUT CPU HARDWARE TEST PROGRAM 84-93727 (A200) 1981/11/25 16:22:22.00 WALKING ZERO MEMORY TEST 00002730 8002 YESSIR EQU $ 2730 8286 2737 8003 MEM:END COPY =:D00E,A 2731 0404 8004  SELP A,4 OUTPUT =:D00E TO CRT TO SIGNAL IT IT FINISHED 2732 E285 2738 8005 COPY =:FFF,Y 2733 74BF 2733 8006 IJNE Y,$ 2734 9F80 2735 8007 JMP *$+1 2735 0122 8008 WORD A02000 2736 FFFF 2737 D00E 2738 0FFF 0000 8009 END PATSTART 0000 ERRORS (0000/0000) 0006 WARNINGS (0232/6025) 0 8002 YESSIR EQU $ 2730 8286 2737 8003 MEM:END COPY =:D00E,A 2731 0404 8004 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJ IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIK IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIL IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII