IMD 1.16: 2/09/2008 13:57:13 84-93727-01 a200 f72701 scout cpu test program files & jcl  ž ªªž @0‚|†ø)®wÂwЀЀÎtQº®qŠl) ˆ " ž}‚gÿA ¢`œžúžŒžöšè$Mˆ’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’IOS4 €MÁúE581100910382100811012104510 811012104510*F72701 VOLCPU TEST PROGRAM FILES & JCL   ’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’IžúžŒžöšè$Mˆ@†jæjg€ÿígÿèÂg@ †o G€ÿò`úkžŽŸôžŸ¢_„C# b# ž}€BŸ€ žuÒ[Ÿæ žþž]e‡ †JÂRŸ­æðiŸòÀˆÆCÆCp@€„†<€…†;€††:€ƒ †FÂ8P@ G€ÿÁÆ;à‰Ÿ•NÆêPŸéâ×èCHùC €ˆC ˜GÈTºà€qEžç‚â¢'ŸÉžŠ *ŠÃ CŠŠÏŸxÆžì @0DAJ÷LÆ )®ê‘ЀЀΎQBžxªâ" І iŸŠ€„œªª+⟠fžEŸùžB)3žß `jmBˆBŸ I,Ÿv Ÿ °Ÿ€BŸ I,ŸmžÊ ž @¬E°EšF€F)€DŸ^ÄE‚‚„Fž% †ÊæjHÿÆÄÆÄ@pÆOŸÄŸv g€ÿ7gÿ4ò]XŸ] P¢hâV+ì„s=è„胟cžÆ_†N‚£ ž‡žôŠGŠFŸÖž†›ŸÁžØŸø Š•Â“@AúLèSÃ)"$ C ž‰žkžøª1žïŠ/žjŠ-ž žhÿöÿÿ ‚p ž…âvŸR†Ÿw ÞpÞpžwâ‚pŸ Þkâižº† ’ŸÂ¢œ€15 !Š^æ\žd ²X‚ žˆò %€À'+ò²NŸs感Qâ‚)žs ‡EÞDŸ|Ÿ{ @ž$ ož¶ Ož¯ mž­ Jž« Kž© ižž gž¶†. žV tž²žì„sFè„n`" FàEžD)ž ŸE`ŸCnrgŸy Ÿw"ŸNÞž{žRŸq1ŸHÞ ž}žLŸ2`Ÿ0tŸžGŸ- ²BŸc Ÿ(Þ>Þ=Þ<žyŠ:ž;Ÿ!ž9ŸüŸ/ž5OS:: SYSžŠž"ªªiüþŒþ‹Âwþ‹þŠÂvc Bc A@6<# þIc B# ÞgIþjHÀc r‡Ÿc ·œ‡›Þš# @0‚X†ß)P ®VÂVЀЀÎSQº®PŠ‹pI þN@6 X (FROM) WORD :C28B * COPY NEG3,Q ADD Q,X * ADJUST 'FROM' POINTER COPY =0,Y * 0 -> Y (TO) WORD :C287 * COPY LENGTH,Q (LENGTH) MOVLP EQU $ COPY 0(X),A * GET 'FROM' WORD  COPY A,0(Y) * STORE AT 'TO' ADDRESS ADD =1,X * BUMP 'FROM' ADDR. ADD =1,Y  * BUMP 'TO' ADDR. ADD =1,Q * BUMP LOOP COUNT JNE Q,MOVLP * LOOP IF NOT THR U JMP PAT405 * GO START PAT * LENGTH WORD -:4000 * MOVE :4000 (16K) WORDS NEG3 WORD -3  * -3 LPOOL TITL * * WORD AND TEMP. LOCATIONS USED BY PAT * TEMP01 RES 1,0 TEMP02 RES 1,0 TEMP RES  1,0 P55AA WORD :55AA NAA55 WORD :AA55 PTFFFF WORD :FFFF PTF0F0 WORD :F0F0 PT00FF WORD :00FF PT0000 WORD 0 PT7FFF WORD :7FFF PT5555 WORD :5555 PT6666 WORD :6666 PTAAAA WORD :AAAA PT55AA EQU P55AA PTAA00 WORD :AA00 PTAA55 EQU NAA55 * * EQUATES USED BY PAT * STATUS EQU :150 STACKP EQU :0100 DATSAV EQU DTEMP PATEND EQU :4000 * * (PSW)--STATUS REGISTER EQUATES * CY EQU 0 CARRY BIT OV EQU 1 OVERFLOW BIT BY EQU 2 BYTE MODE BIT BM EQU BY ALTERNATE NAME CI EQU 4 CONSOLE INTERRUPT ENABLE BIT RI EQU 5 REAL-TIME CLOCK INTERRUPT ENABLE BIT XA EQU 6 EXTENDED ADDRESSING BIT INT EQU 8 INTERRUPTS ENABLE BIT UM EQU 10 USER MAP UP EQU 11 USER PROTECT * * OTHER WORD AND TEMP LOCATIONS * ATEMP RES 1,0 QTEMP RES 1,0 XTEMP RES 1,0 YTEMP RES 1,0 MACHIN RES 1,0 MACHINE TYPE COUNT1 RES 1,0 PASS COUNTER COUNT2 RES 1,0 PASS COUNTER IDPCNT RES  1,0 IDP PASS COUNTER PCOUNT RES 1,0 IDP TEST COUNTER RETADDR EQU 1 RETURN ADDRESS FOR SAL INST STATSV WORD :0150 JMP1 WORD :9F80 JMP *$+1 RELATIVE JST1 WORD :BF80 JST *$+1 RELATIVE HLT1 HLT HLT INSTRUCTION CONTXT RES 9,0 CONTEXT BLOCK STARTP WORD START REDOPAT WORD :0018 TITL * * ROUTINE TO INDICATE UNEXPECTED TRAP ON CONSOLE DATA REGISTER * LIGHTS ENT IN 4,A GET CONSOLE DATA REGISTER AND =:FF,A PRESERVE THE TEST NUMBER OR PTAA00,A SET UPPER BYTE TO FLAG UNEXPECTED TRAP SELP A,4 OUTPUT TO CONSOLE DISPLAY JMP *LIGHTS * * * UNIMPLEMENTED INSTRUCTION TRAP ROUTINE * UIT1 EQU $ JST LIGHTS ERROR: UNEXPECTED,UNIMPLEMENTED,INSTRUCTION JMP *STARTP * * MEMORY EXCEPTION TRAP ROUTINE * UMT1 ENT ERROR: UNEXPECTED,MEMORY,EXCEPTION JMP *STARTP * * DIVIDE/FLOATING POINT TRAP ROUTINE * (ARITHMETIC EXCEPTION TRAP ROUTINE) * AET1  EQU $ JST LIGHTS HLT * UNEXPECTED ARITHMETIC EXCEPTION JMP *STARTP * AET2 EQU $ IMS QTEMP * SET TRAP FLAG COPY A,ATEMP * COPY =AET1,A * RESTORE UNEXPECTED TRAP VECTOR COPY A,ARERR+3 * COPY ATEMP,A * JMP *ARERR  * RETURN TO MAINLINE PROGRAM * * STACK EXCEPTION TRAP ROUTINE * USET1 EQU $ JST LIGHTS *  HLT * UNEXPECTED STACK EXCEPTION JMP *STARTP * * * SYSTEM/USER TRAP ROUTINE * SUTRAP ENT HLT JMP *SUTRAP * TITL * * CONSOLE INTERRUPT ROUTINE * CONINT ENT SIN 14  COPY A,CONTXT+3 COPY Q,CONTXT+4 COPY X,CONTXT+5 COPY Y,CONTXT+6 COPY L,A  COPY A,CONTXT+1 COPY S,A COPY A,CONTXT+2 COPY K,A COPY A,CONTXT+7 COPY CONINT,A COPY A,CONTXT COPY =:40,A COPY A,S OUT A,1 RESET CONSOLE INTERRUPTS IN 4,A COPY A,DTEMP COPY =-5,Q COPY PTAAAA,A CONINT2 SELP A,4 COPY DELAY1,A COPY A,TIMER IMS TIMER JMP $-1 IN 4,A ROTATE A,L,1 IJNE  Q,CONINT2 COPY DTEMP,A SELP A,4 SIN 10 COPY CONTXT+7,A COPY A,K COPY CONTXT+2,A  COPY A,S COPY CONTXT+1,A COPY A,L COPY CONTXT+6,Y COPY CONTXT+5,X  COPY CONTXT+4,Q COPY CONTXT+3,A JMP *CONTXT DELAY1 RES 1,:0000 CONSOLE INTERRUPT TEST DELAY DTEMP RES 1,0 TEMP DATA STORAGE REG TIMER RES 1,0 * * NOTE: DO NOT OVERRUN LOCATION :80. TITL * * POWER UP TRAP VECTOR (:80) * ABS :80 POWUP JMP *$+1 PUPPTR WORD PUPRTN * * UNIMPLEMENTED INSTRUCTION TRAP VECTOR (:84) * ABS :84 LOC84 RES 2,0 INTERRUPT LOC + 1 LOC85 EQU $-1 INTERRUPT INSTRUCTION JMP *$+1 UNIMPT WORD UIT1 * * MEMORY EXCEPTION TRAP VECTOR (:88) * UNMEM0 RES 2,0 P+1 UNMEM1 EQU $-1 I JST *$+1 WORD UMT1 UNMEM3 EQU $-1 * * POWER FAIL TRAP VECTOR (:8C) * PWNVEC RES 2,0 P+1 JST *$+1 WORD PDWN PDNPTR EQU $-1  HLT * * REAL TIME CLOCK INTERRUPT CELLS (:91) * ABS :91 RTCTIM WORD 0 RTC TIMING CELL JST *$+1  RTC TIMING CELL OVERFLOW VECTOR RTCPTR WORD 0 * * CONSOLE INTERRUPT VECTOR (:94) * JST CONINT * * STACK EXCEPTION TRAP VECTOR (:9C) * ABS :9C RES 2,0 JMP *$+1 WORD USET1 TITL *  USER TRAP VECTOR (:A0) * ABS :A0 UTRAP1 RES 2,0 UTRAP2 EQU $-1 UTRAP3 JST *$+1 WORD SUTRAP UTRAP4 EQU $-1 * * SYSTEM TRAP VECTOR (:A4) * STRAP1 RES 2,0 STRAP2 EQU $-1 STRAP3 JST *$+1 WORD SUTRAP STRAP4 EQU $-1 * * DIVIDE FAULT/FLOATING POINT EXPONENT OVERFLOW TRAP VECTOR (:A8) * (ARITHMETIC EXCEPTION TRAP VECTOR) * ABS :A8 ARERR EQU $ ARERR0 RES 2,0 JMP *$+1 WORD AET1 TITL * * POWER FAIL TRAP ROUTINE * PDWN EQU $ ENT SIN 16 COPY A,CONTXT+3 COPY Q,CONTXT+4 COPY X,CONTXT+5 COPY Y,CONTXT+6 COPY L,A COPY A,CONTXT+1 COPY S,A COPY A,CONTXT+2 COPY K,A COPY A,CONTXT+7 COPY PDWN,A COPY A,CONTXT IN :04,A READ DATA REGISTER COPY A,DATSAV SAVE DATA REG. IMS PDNCT BUMP DOWN COUNTER NOP HLT * * POWER UP TRAP ROUTINE * PUPRTN EQU $  SIN 15 COPY *PWRVC2,A TEST FOR COLD START (PWRVC2 ALTERED ON POWER FAIL) JEQ A,START JUMP IF COLD START PRTN00 IMS PUPCT BUMP POWER UP COUNT NOP PRTN01 EQU $ PRTN02 COPY DATSAV,A SELP A,4 RESTORE CONSOLE DATA REGISTER AND =REDOPAT,A SEE IF CURRENT TEST IS RESUMABLE JGT A,START JUMP IF NOT  COPY PUPCT,A FETCH POWER UP COUNT XOR PDNCT,A COMPARE TO POWER DOWN COUNT JNE A,PRTN03 JUMP IF MISCOMPARE COPY CONTXT+7,A * HERE IF PF & RESUMABLE & COUNTS COMPARE COPY A,K COPY CONTXT+2,A COPY A,S COPY CONTXT+1,A COPY A,L COPY CONTXT+6,Y COPY CONTXT+5,X COPY CONTXT+4,Q COPY CONTXT+3,A JMP *CONTXT TITL PRTN03 EQU $ HERE IF PF & RESUMABLE & MISCOMPARE IMS PFERRS BUMP POWER UP/DOWN MISCOMPARE COUNTER NOP SIN 13  COPY DMAND2,A AND =:02,A JNE A,$+2 IF BIT 1 SET, DO NOT HALT ERROR: POWER,UP/DOWN,COUNTS ,NOT,EQUAL COPY PDNCT,A COPY A,PUPCT SET UP/DOWN COUNTS EQUAL * ABS :E8 START EQU $ COPY STARTPTR,A COPY CONTXPTR,X LOAD CONTEXT POINTER COPY A,0(X) STORE START ADDRESS COPY =:40,A COPY A,S JMP *CONTXT * * CONTXPTR WORD CONTXT STARTPTR WORD PAT405 POINTER TO START OF PROGRAM * * CHANGED DURING INITIALIZATION PUPCT WORD 0 POWER-UP COUNT PDNCT WORD 0 POWER-DOWN COUNT PFERRS WORD 0 POWER UP/DOWN MISCOMPARE COUNTER PWRVEC WORD POWUP PWRVC2 WORD PWNVEC POINTER TO PROGRAM RETURN POINTER DEMAND RES 1,0 MODE SEL WORD 1 DMAND2 RES 1,0  MODE SEL WORD 2 MEMFLAG RES 1,0 DEFAULT WORD :7F DEFAULT TEST SELECTION PTFFFE WORD :FFFE PT8000 WORD :8000 * *  ABS :FE PAT405 EQU $ COPY =0,A NOP **?? USED TO HAVE HLT IN HERE * TITL PAT495P1 -- BASIC INSTRUCTION SET TESTING 84-93814-11 TITL BASIC INSTRUCTION DIAGNOSTIC -- SEC. A0-1 NAM PAT495  NAM A01000 NAM A02000 MACHINE =:20 ************************************************** * * *------------ SECTION A0 ------------ * * OBJECTIVE: IN THIS SECTION SOME DEGREE OF * CONFIDENCE IS OBTAINED ON CERTAIN *  BASIC INSTRUCTIONS. * * INSTRUCTIONS: THE FOLLOWING INSTRUCTIONS ARE * TESTED.(IN ORDER OF THE LIST). * NOTE:ONLY ABSOLUTE DIRECT ADDRESSING IS USED: * * HLT HALT A01000 * COPY P,A LOAD 'A' FROM 'P' A01000 * SELP A,4 DISPLAY 'A' A01000 * JST MEM JUMP AND STORE A01000 * JMP MEM UNCONDITIONAL JMP A01000 * COPY LIT,2REG A02000 * CSK 2REG,LIT  A02000 * COPY MEM,2REG LOAD (DIRECT ADD.) A02000 * CSK 2REG,MEM ARITH COMP A&Q A02000 * COPY 2REG,MEM STORE (DIRECT ADD.) A02000 * COPY 8REG,8REG REG TO REG LOAD A03000 * JEQ 4REG,MEM  A04000 * JNE 4REG,MEM A04000 * JLT 4REG,MEM A04000 * JLE  4REG,MEM A04000 * JGT 4REG,MEM A04000 * JGE 4REG,MEM  A04000 * OR MEM,2REG INCLUSIVE OR A06000 * XOR MEM,2REG EXCLUSIVE OR A07000 * AND  MEM,2REG A08000 * RBIT OV,S A0A000 * SBIT OV,S  A0A000 * JT OV,MEM A0A000 * JF OV,MEM A0A000 * SBIT BY,S BYTE MODE A0B000 * RBIT BY,S WORD MODE A0B000 * SIN STATUS INHIBIT A0C000 * IMS MEM INCR. MEM AND SKIP A0D000 * SHIFT 4REG,LO,CNT A0E000 * FMT 4REG  A0F000 * XNX 4REG A10000 * IN 4,4REG A11000 * ************************************************** TITL ************************************************** * * *------TEST STRUCTURE------- * * FROM HERE ONWARD STEP BY STEP CONFIDENCE IS * GAINED IN VARIOUS INSTRUCTIONS BY EXECUTING *   EACH INSTRUCTION TO PERFORM ITS SIMPLEST * FUNCTION IN ABSOLUTE DIRECT ADDRESSING AND * WORD MODE. NORMALLY TWO INSTRUCTIONS ARE * TAKEN IN PAIR TO TEST EACH OTHER USING * KNOWN WORKING INSTRUCTIONS. * * BY THE END OF THIS TEST IT CAN BE SAFELY * ASSUMED THAT ALL THE INSTRUCTIONS LISTED * ABOVE ARE PERFORMING THEIR FUCTION UNDER * ABSOLUTE DIRECT ADDRESSING AND WORD MODE. * * THIS SECTION (A0) PROVIDES BASIC CONFIDENCE * AND TOOLS FOR EXTENSIVE CHECKOUT OF * INSTRUCTIONS IN THE FOLLOWING SECTIONS. * ********************************************************** TITL * * LOAD CONSOLE INTERRUPT TEST DELAY CELL * ABS DELAY1 WORD :0000 * ABS :FF PAT495 HLT TITL ******************************************************* * * * PAT INITIALIZATION * * ******************************************************* ABS :100 JMP DEFLT DEFAULT MODE STARTING POINT JMP DEMND DEMAND MODE STARTING POINT  JMP RESTRT DEMAND MODE RESTART POINT DEFLT EQU $ DEFAULT MODE INITIALIZATION COPY A,DMAND2 SET DEMAND SELECTION WORD 2 COPY DEFAULT,A SELECT TESTS 1,2,3,5,6,7,8,9,A * TEST 4 RUN IF I/O CARD PRESENT COPY A,DEMAND COPY TO DEMAND MODE SELECTION WORD 1 COPY =0,Q COPY Q,PUPCT CLEAR POWER UP COUNT  COPY Q,PDNCT CLEAR POWER DOWN COUNT JMP A01000 START IDP DEMND EQU $ DEMAND MODE INITIALIZATION COPY =0,Q COPY Q,PUPCT CLEAR POWER-UP COUNT COPY Q,PDNCT CLEAR POWER-DOWN COUNT COPY Q,PFERRS CLEAR POWER UP/DOWN MISCOMPARE COUNTER COPY Q,COUNT1 CLEAR PASS COUNTER COPY Q,COUNT2 CLEAR PASS COUNTER RESTRT COPY A,DMAND2 SET DEMAND SELECTION WORD 2 IN 4,A INPUT TEST SELECTION FROM CONSOLE WORD REGISTER COPY A,DEMAND SET DEMAND MODE SELECTION WORD 1 TITL ************************************************** * *----- SECTION A0 TEST 1 ----- * TEST: HLT, COPY P,A, SELP A,4 * JST, ERROR MACRO, AND JMP * * HALT1 -- :B200 * HALT2 -- :XX17 * HALT3 -- MACHINE TYPE * ****************************************************** * A01000 EQU $ COPY =:B200,A GET REVISION LEVEL OF PAT495 SELP A,4 DISPLAY IT ERROR: --HALT1-- DISPLAY :B200 * COPY P,A SELP A,4 ERROR: --HALT2--DISPLAY,:XX17,-,TEST,ERROR,MACRO * * ---- IF PROGRAM COUNTER INCREMENTS PROPERLY, * ---- THEN COPY 8REG,P IS VERIFIED *  FMT A FETCH MACHINE TYPE IN 'A' SELP A,4 DISPLAY MACHINE TYPE HLT HALT3--DISPLAY MACHINE TYPE COPY A,MACHIN SAVE MACHINE TYPE FOR FUTURE JMP A01020 TEST JMP ERROR: ERROR,--,JMP,FAILED A01020 EQU $ JMP A01000 LOOP PATCH ORG $-1 NOP COPY =0,A COPY A,MEMFLAG INITIALIZE PARTIAL-MEMORY TEST FLAG TITL * * INITIALIZATION * A02000 EQU $ ABS STARTPTR WORD A02000 INSERT WORD  ORG A02000 ORG BACK * SIN 2 COPY STATSV,A COPY A,S JMP PART1 LPOOL PART1 EQU $  COPY HLT1,A HLT INSTRUCTION COPY A,1 STORE AT LOCATION 1 A02002 EQU $ COPY DEMAND,A TBIT 0,A   RUN THIS TEST? JT OV,$+2 IF FALSE THEN SKIP JMP PART1:5 IF FALSE SKIP COPY =1,A USE FOR NEXT TEST  TITL ******************************************************* * * ----- A02000 ----- * * ----- TEST COPY LIT,2REG AND CSK 2REG,LIT * ******************************************************* CSK A,=:1 NOP ERROR: --ERROR,CSK,FAILED,A=1 CSK A,=0 ERROR: '--ERROR--CSK FAILED ' JMP $+2 ERROR: --ERROR--,CSK,FAILED CSK A,=2 JMP $+3 NOP ERROR: --ERROR--,CSK,FAILED COPY =:FF,Q CSK Q,=:FF NOP ERROR: IF,Q=:FF,CSK,FAILED,ELSE,COPY,FAILED TITL *************************************************** * * IN THE FOLLOSING TEST, COPY MEM,2REG, * CSK 2REG,MEM, AND COPY 2REG,MEM ARE TESTED * ************************************************** A02010 EQU $ COPY PTFFFF,A LOAD'A'WITH FFFF CSK  A,PTFFFF 'A' SHOULD BE FFFF NOP ERROR: IF,'A'=:FFFF,CSK,FAILED,ELSE,COPY,FAILED. COPY PTFFFF,Q LOAD 'Q' WITH FFFF CSK Q,PTFFFF NOP ERROR: IF,'Q'=:FFFF,CSK,FAILED,ELSE,COPY,FAILED CSK A,PT0000 'A' LT 0 JMP $+3 NOP ERROR: 'A',SHOULD,BE,:FFFF CSK A,PTFFFE JMP $+2 JMP $+2 ERROR: 'A',SHOULD,=,:FFFF COPY A,TEMP01 CSK A,TEMP01 NOP ERROR: COPY,FAILED,'A'=,:FFFF JMP A02000 ORG $-1 NOP JMP A03000 * PWRVC3 WORD POWUP TITL ************************************************** * ----- A03000 ----- * * ----- TEST ON COPY 7REG,7REG ----- * * ----- NOTE - COPY REG,P AND COPY P,REG * ARE TESTED IN SEC. A01000 * ************************************************** A03000 COPY =0,Q LOAD 'Q' WITH ZEROS COPY PTFFFF,A LOAD 'A' WITH FFFF TRLD: A,Q,X,PTFFFF TRLD: A,Q,Y,PTFFFF TRLD: A,Q,K,PTFFFF TRLD: A,Q,L,PTFFFF COPY STATSV,A TRLD: A,Q,S,STATSV COPY PTFFFF,Q LOAD 'Q' WITH FFFF  TRLD: Q,A,X,PTFFFF JMP A03000 ORG $-1 NOP TITL *************************************************** * * -------A04000------ * * -----TEST FOR JMP, JEQ, JNE, JGT, JGE, JLT, JLE * *************************************************** A04000 EQU $ COPY PTFFFF,A JEQ A,$+2 JMP $+2 ERROR: JEQ,FAILED,ON,A,<,0 JNE A,$+2  ERROR: JNE,FAILED,ON,A,<,0 JLT A,$+2 ERROR: JLT,FAILED,ON,A,<,0 JGE A,$+2 JMP $+2  ERROR: JGE,FAILED,ON,A,<,0 * COPY =0,Q JEQ Q,$+2 ERROR: JEQ,FAILED,ON,Q,=,0 JNE Q,$+2  JMP $+2 ERROR: JNE,FAILED,ON,Q,=,0 JLT Q,$+2 JMP $+2 ERROR: JLT,FAILED,ON,Q,=,0  JLE Q,$+2 ERROR: JLE,FAILED,ON,Q,=,0 JGT Q,$+2 JMP $+2 ERROR: JGT,FAILED,ON,Q,=,0 JGE Q,$+2 ERROR: JGE,FAILED,ON,Q,=,0 * COPY =1,X JLE X,$+2 JMP $+2 ERROR: JLE,FAILED,ON,X,>,0 JGT X,$+2 ERROR: JGT,FAILED,ON,X,>,0 JMP A04000 ORG $-1 NOP JMP  A06000 LPOOL TITL ************************************************** * * ----- A06000 ----- * *----- TEST FOR OR MEM ,2REG (INCLUSIVE OR) * * ************************************************** A06000 EQU $ COPY PT00FF,A COPY  PTF0F0,Q COPY Q,TEMP01 STORE '0' OR TEMP01,A CSK A,=:F0FF NOP ERROR: 'OR',FAILED,'A',SHOULD,BE,:F0FF * *************************************************** * * ------A07000------ * * TEST FOR XOR MEM,2REG (EXCLUSIVE OR) * * *************************************************** COPY PT00FF,Q COPY PTF0F0,A COPY A,TEMP01 XOR TEMP01,Q CSK Q,=:F00F NOP ERROR: 'XOR',FAILED, QREG,SHOULD,=,:F00F TITL ************************************************** * * ----- A08000 ----- * * TEST FOR AND MEM,2REG * * ************************************************** COPY PT00FF,A COPY  PTF0F0,Q COPY Q,TEMP01 STORE 'Q' AND TEMP01,A TEMP01=0, A=:FFFF CSK A,=:F0 NOP ERROR: 'AND',FAILED,'A',SHOULD,BE,:F0 JMP A06000 ORG $-1 NOP TITL ************************************************** * * ----- A0A000 ----- * * TESTS FOR RBIT OV,S SBIT OV,S JT OV,MEM JF OV,MEM * * ************************************************** * * DETAIL TEST ON STATUS WORD (OV AND BYTE MODE ) * * A0A000 EQU $ COPY STATSV,A COPY A,S RESET STATUS COPY =2,A OR STATSV,A NORMAL STATUS W/ OV SET COPY A,TEMP01 SBIT  OV,S SET OVERFLOW COPY S,Q LOAD Q FROM S CSK Q,TEMP01 NOP ERROR: ---ERROR-,SBIT,FAILED-- JF OV,$+3 JT OV,$+3 ERROR: ---ERROR-,JT,FAILED,OV=1 ERROR: ---ERROR-,JF,FAILED,OV=1  COPY S,Q CSK Q,STATSV NOP ERROR: 'JT',DID,NOT,RESET,OV,BIT JT OV,$+3 JF OV,$+3 ERROR: ---ERROR-,JF,FAILED,OV=0 ERROR: ---ERROR-,JT,FAILED,OV=0 SBIT OV,S SET OV RBIT OV,S COPY =:FF,Q COPY S,Q CSK Q,STATSV NOP ERROR: ---ERROR---,RBIT,FAILED JMP A0A000 ORG $-1 NOP TITL *************************************************** * * ----- A0B000 ----- * *----- TEST FOR SBM AND SWM * CHECK TO SEE IF SBM TURNS ON BIT 2 IN PSW * AND SWM TURNS OFF BIT 2 IN PSW * * ************************************************** A0B000 EQU $ COPY =0,Q ZERO Q REG COPY STATSV,A CLEAR A REG COPY A,S ZERO PSW COPY =4,Q OR STATSV,Q NORMAL STATUS W/ BYTE MODE SET COPY Q,TEMP01 SBIT BY,S BYTE MODE BIT ON COPY S,A RBIT BY,S BYTE MODE BIT OFF CSK A,TEMP01 NOP ERROR: 'SBM',DID,NOT,SET,BYTE,MODE,BIT. COPY S,A  CSK A,STATSV NOP ERROR: 'SWM',DID,NOF,TURN,OFF,BYTE,MODE,BIT JMP A0B000 ORG $-1  NOP TITL ************************************************** * * ----- A0C000 ----- * *----- SIMPLE TEST ON SIN . FORCED WORD MODE AND * EFFECT ON Q REG ARE CHECKED HERE.FORCED * INTERRUPT * * ************************************************** A0C000 EQU $ COPY =4,A OR STATSV,A COPY =:00FF,Q 00FF TO Q REG COPY Q,TEMP01 COPY A,S SET S TO BYTE MODE SIN :6 COPY TEMP01,A LOAD A WITH 00FF CSK A,=:00FF NOP   ERROR: 'SIN',FAILED,'A'=:00FF,=TEMP01 COPY STATSV,A COPY A,S RESTORE 'S' TO WORD MODE JMP  A0C000 ORG $-1 NOP JMP A0D000 LPOOL TITL *************************************************** * * ------A0D000------- * * -----TEST FOR IMS MEM ------- * ************************************************** A0D000 EQU $  COPY =:FE,A COPY A,TEMP01 STORE AREG IMS TEMP01 JMP $+2 ERROR: 'IMS',FAILED,AREG,SHOULD,BE,:00FE COPY TEMP01,A  CSK A,=:FF NOP ERROR: IMS,FAILED,---,NO,INCREMENT COPY PTFFFF,A :FFFF TO 'A' COPY A,TEMP01 STORE 'A' AT TEMP01 IMS TEMP01 -1+1 = 0 ERROR: 'IMS',FAILED,'A',SHOULD,BE,:FFFF,AND,TEMP01,SHUD,BE,0  COPY PT7FFF,A :7FFF TO 'A' COPY A,TEMP01 IMS TEMP01 :7FFF+1=:8000, OV SET JMP $+2 ERROR: 'IMS',FAILED,TEMP01,SHOULD,BE,:8000 JT OV,$+2 ERROR: 'IMS',FAILED,TEMP01,=:8000,OV=1,:7FFF+1,=:8000  JMP A0D000 ORG $-1 NOP TITL ************************************************** * * ---- A0E000 ---- * * SHIFT 4REG,LO,CNT * ************************************************** * * SHIFT A,LO,CNT * A0E000 EQU $ COPY  STATSV,A COPY A,S COPY PT5555,A SHIFT A,LO,1 CSK A,PTAAAA NOP ERROR: SHIFT,FAILED,--,A,SHOULD,=,:AAAA * * SHIFT Q,LO,4 * COPY PTAAAA,Q SHIFT Q,LO,4 CSK Q,=:AAA0 NOP  ERROR: SHIFT,FAILED,--,Q,SHOULD,=,:AAA0 * * SHIFT X,LO,9 * COPY PT6666,X SHIFT X,LO,8 COPY X,A  CSK A,=:6600 NOP ERROR: SHIFT,FAILED,--,X,SHOULD,=,:6600 JT OV,$+2 JMP $+2 ERROR: SHIFT,FAILED,--,OV,WAS,SET * * SHIFT Y,LO,13 * COPY PTAAAA,Y SHIFT Y,LO,13 COPY Y,A CSK A,=:4000 NOP ERROR: SHIFT,FAILED,--,Y,SHOULD,=,:4000 JT OV,$+2 ERROR: SHIFT,FAILED,--,OV,WAS,NOT,SET PATCHX A0E000 JMP A0F000 LPOOL TITL ******************************************************* * *----- SECTION A0F000 ----- * * FMT 4REG * ******************************************************* * A0F000 EQU $ COPY STATSV,A COPY A,S COPY PTFFFF,Y FMT Y FETCH M/C TYPE IN 'Y' COPY Y,A CSK A,MACHIN COMPARE WITH EXPECTED MACHINE TYPE NOP ERROR: 'FMT',FAILED TITL ************************************************** * * ---- A10000 ---- * * XNX 4REG * ************************************************** A10000 EQU $ COPY =:10,A XNX A COPY =:20,Q CSK Q,=:30  NOP ERROR: XNX,FAILED,--,Q,SHOULD,=,:30 JMP A0F000 ORG $-1 NOP TITL ******************************************************* * * ---- A11000 ---- * * IN 4,REG INPUT FROM CONSOLE WORD REGISTER * ******************************************************* A11000 COPY PTFFFF,A SELP A,4 IN 4,Q CSK Q,PTFFFF NOP ERROR: Q,SHOULD,=,:FFFF.,IF,DISPLAY=Q,THEN,SELP,FAILED,ELSE,IN COPY PTAAAA,Q SELP Q,4  IN 4,X COPY X,A CSK A,PTAAAA NOP ERROR: X,SHOULD,=,:AAAA.,IF,DISPLAY=X,THEN,SELP,FAILED,E LSE,IN COPY PT5555,X SELP X,4 IN 4,Y COPY Y,A CSK A,PT5555 NOP ERROR: Y,SHOULD,=:5555.,IF,DISPLAY=Y,THEN,SELP,FAILED,ELSE,IN COPY PT6666,Y SELP Y,4 IN 4,A CSK A,PT6666 NOP ERROR: A,SHOULD,=:6666.,IF,DISPLAY=A,THEN,SELP,FAILED,ELSE,IN COPY =1,A IDP TEST CODE SELP A,4 OUTPUT TO CONSOLE JMP A11000 PATCH FOR LOOPING ORG $-1 JMP *A11001 PATCH FOR LOOPING ORG $-1 NOP OVERLAY WITH NOP *  JMP A12000 A11001 WORD A02000 LPOOL A12000 EQU $ TITL INSTRUCTION DIAGNOSTIC -- SEC. B0-1 ******************************************************* * * *------------ SECTION B0 ------------ * * OBJECTIVE: IN THIS SECTION EXTENSIVE TESTING OF * THE FOLLOWING INSTRUCTIONS IS DONE. * * * COPY 4REG,MEM * * ******************************************************* * * *----- TEST STRUCTURE ----- * * GENERAL: EACH INSTRUCTION TEST IS VERIFIED UNDER * THE FOLLOWING CONDITIONS: * * (1) ADDRESSING MODES: THERE ARE SIX MODES. * ABSOLUTE DIRECT ADDRESSING (SPAD) * ABSOLUTE INDIREC ADDRESSING * RELATIVE DIRECT ADDRESSING * RELATIVE INDIRECT ADDRESSING * INDEXED DIRECT ADDRESSING * INDEXED INDIRECT ADDRESSING * * (2) WORD MODE * * (3) BYTE MODE * * (4) MULTIPLE LEVEL INDIRECT ADDRESSING * ******************************************************* TITL ******************************************************* * * PROGRAM STRUCTURE: PROGRAM IS DIVIDED INTO THE * FOLLOWING SECTIONS: * * B04000 -- IN THIS SECTION 'COPY 4REG,MEM' * INSTRUCTION IS TESTED UNDER ALL THE * ADDRESSING MODES AND UNDER WORD MODE. * * B05000 -- SAME TEST AS IN SECTION B04000 EXCEPT IT IS * PERFORMED UNDER BYTE MODE. * * B06000 -- IN THIS SECTION 'COPY 4REG,MEM' AND *  'CSK 2REG,MEM' ARE EXECUTED UNDER MULTIPLE LEVEL * INDIRECT ADDRESSING FOR WORD MODE. * ************************************************************* TITL ************************************************** * *----- B04000 ----- * * ADDRESSIN MODES ON COPY 4REG,MEM * -- WORD MODE -- ************************************************** * * ****** * ABSOLUTE DIRECT ADDRESSING. USING 'A'. * -- WORD MODE -- ****** * B04000 EQU $ COPY STATSV,A COPY A,S  ZERO PSW COPY =:0F,A COPY A,TEMP01 STORE'A' CSK A,TEMP01 NOP ERROR: 'A'=,TEMP01,=:0F,IF,NOT,COPY,FAILED,ELSE,CSK TITL ****** * ABSOLUTE INDIRECT ADDRESSING USING 'A' * -- WORD MODE -- * COPY A,*MEM ****** * * COPY A,*MEM * B04010 EQU $ COPY STATSV,A COPY A,S CLEAR 'S' COPY =TEMP01,A  COPY A,TEMP02 COPY =:0F,A COPY A,*TEMP02 CSK A,TEMP01 NOP ERROR: CSK,FAILED,IF,'A'=,TEMP01=,:0F,ELSE,COPY,FAILED. PATCHX B04000 TITL ****** * RELETIVE DIRECT ADDRESSING. USING 'A' * -- WORD MODE -- * COPY A,MEM ****** * * COPY A,MEM * B04020 EQU $ COPY STATSV,A COPY A,S ZERO 'S'  COPY =:0F,A COPY A,CEL442 STORE 'A' CSK A,CEL442 NOP ERROR: CSL,FAILED,IF,A=CEL442=:0F,ELSE,COP  Y,FAILED TITL ***** * RELATIVE INDIRECT ADDRESSING USING AREG * -- WORD MODE -- * COPY A,*MEM ***** * * COPY A,*MEM * B04030 EQU $ COPY STATSV,A COPY A,S ZERO PSW COPY =CEL442,A COPY A,CEL441 CEL441 = CEL442 ADD. COPY =:FF,A FF TO 'A' COPY A,*CEL441 CSK A,CEL442 NOP ERROR: CSK,FAILED,IF,'A'=CEL442,=:FF,ELSE,COPY,FAILED PATCHX B04020 JMP B04040 LPOOL TITL ****** * INDEXED ADDRESSING USING 'X'. (DIRECT) * -- WORD MODE -- * COPY A,1(X) ****** CEL440 WORD 0 CEL441 WORD 1 CEL442 WORD 0 * * COPY A,1(X) * B04040 EQU $ COPY STATSV,A COPY A,S ZERO PSW COPY =CEL441,X CEL441 ADD IN X COPY =:F0,A COPY A,1(X) STORE 'A' AT CEL442 CSK A,CEL442 NOP ERROR: CSK,FAILED,IF,'A'=,CEL442,=:F0,ELSE,COPY,FAILED. TITL ****** * INDEXED ADDRESSING USING 'Y'. (DIRECT) * -- WORD MODE -- * COPY A,1(Y) ****** * * * COPY A,1(Y) * B04050 EQU $ COPY STATSV,A COPY A,S ZERO PSW COPY =CEL441,Y CEL441 ADD IN 'Y' COPY =:A5,A LOAD 'A' WITH :00A5 COPY A,1(Y) STORE 'A' AT CEL442 CSK  A,CEL442 NOP ERROR: CSK,FAILED,IF,'A'=:A5,=CEL442,ELSE,COPY,FAILED TITL ****** * INDEXED ADDRESSING USING 'X','Y'.(DIRECT) * -- WORD MODE -- * COPY A,1(X,Y) ****** * * COPY A,1(X,Y) * B04060 EQU $ COPY STATSV,A COPY A,S COPY =CEL440,Y COPY =1,X COPY =:5A,A COPY A,1(X,Y) STORE AT CEL442 CSK A,CEL442 NOP ERROR: CSK,FAILED,IF,A=:5A=CEL442,ELSE,COPY,FAILED PATCHX B04040 JMP B04070 TITL ****** * INDIRECT INDEXED ADDRESSING USING 'X'. * -- WORD MODE -- * COPY A,*1(X) ****** CEL470 WORD 0 CEL471 WORD 1 CEL472 WORD 0 * * COPY A,*1(X) * B04070 EQU $ COPY  STATSV,A COPY A,S COPY =1,A COPY A,TEMP01 COPY =CEL471,X COPY =:FF,A LOAD :00FF IN 'A' COPY A,*TEMP01(X) CEL472=:00FF CSK A,CEL472 NOP ERROR: CSK,FAILED,IF,'A'=:FF,=CEL472,ELSE,COPY,FAILED TITL ****** * INDIRECT INDEXED ADDRESSING USING 'Y'. * -- WORD MODE -- * COPY A,*1(Y) ****** * * COPY A,*1(Y) * B04080 EQU $ COPY STATSV,A COPY A,S ZERO PSW COPY =CEL472,A COPY  A,CEL471 CEL471=.CEL472 ADD. COPY =CEL470,Y COPY =:0F,A LOAD 'A' BY :000F COPY A,*1(Y) CEL472=:000F CSK A,CEL472 NOP ERROR: CSK,FAILED,IF,'A'=:0F,=CEL472,ELSE,COPY,FAILED TITL ****** * INDIRECT INDEXED ADDRESSING USING X,Y. * -- WORD MODE -- * COPY A,*1(X,Y) ****** * * COPY A,*1(X,Y) * B04090 EQU $  COPY =1,A COPY A,CEL471 COPY STATSV,A COPY A,S ZERO S REG COPY =CEL471,X CEL471 ADD IN'X' COPY =CEL470,Y CEL470 ADD IN 'Y' COPY =:55,A COPY A,*1(X,Y) STORE A AT CEL472 CSK A,CEL472 NOP ERROR: CSK,FAILED,IF,A=:55=CEL472,ELSE,COPY,FAILED PATCHX B04070 JMP B04100 LPOOL TITL ****** * ADDRESSING MODES ON 'Q', 'X', AND 'Y' * EACH REGISTER IS TESTED UNDER ONE * ADDRESSING MODE ONLY. SELECTION OF A * REGISTER AND ADDRESSING MODE  IS RANDOM. * -- WORD MODE -- ****** CEL410 WORD 0 CEL411 WORD 0 CEL412 WORD 0 * ****** * RELATIVE INDIRECT ADDRESSING USING 'Q'. * COPY Q,*MEM ****** * * COPY Q,*MEM * B04100 EQU $ COPY PT6666,Q COPY STATSV,A COPY A,S CLEAR 'S' COPY =CEL412,A COPY A,CEL411 CEL411 =ADD.OF CEL412 COPY Q,*CEL411 STORE 'Q' AT CEL412 CSK Q,CEL412 NOP ERROR: CSK,FAILED,IF,'Q'=:6666,=CEL412,ELSE,COPY,FAILED TITL ****** *  INDEXED INDIRECT ADDRESSING USING INDEX * REGISTER 'Y' ON ''X' * -- WORD MODE -- * COPY X,*1(Y) ****** * * COPY X,*1(Y) * B04110 EQU $ COPY PT00FF,X COPY STATSV,A COPY A,S CLEAR 'S' COPY =CEL412,A COPY A,CEL411 CEL411=ADD.OF CEL412 COPY =CEL410,Y COPY X,*1(Y) STORE'X' AT CEL412 COPY X,A CSK A,CEL412 NOP ERROR: 'A'=,CEL412=,:00FF,CEL411=,CEL412 ADDRESS,'Y'=,CEL410,ADD TITL ****** *  INDEXED INDIRECT ADDRESSING USING INDEX * REGISTER 'X' ON 'Y' * -- WORD MODE -- * COPY Y,*1(X) ****** * * COPY Y,*1(X) * B04120 EQU $ COPY PTF0F0,Y COPY STATSV,A COPY A,S COPY =1,A COPY A,TEMP01 COPY =CEL411,X COPY Y,*TEMP01(X) STORE Y AT CEL412 COPY Y,A CSK A,CEL412 NOP ERROR: AREG=YREG=CEL412=:F0F0,CEL411=CEL412,ADDR PATCHX B04100 JMP B05000 LPOOL TITL INSTRUCTION DIAGNOSTIC -- SEC. B0-5 ************************************************** *----- B05000 ----- * ADDRESSING MODES ON COPY 4REG,MEM * -- BYTE MODE -- ************************************************** * ABSOLUTE DIRECT ADDRESSING MODE. USING 'A' * -- BYTE MODE -- * COPYB A,SPAD ****** B05000 EQU  $ COPY STATSV,A COPY A,S CLEAR 'S' COPY =0,A COPY A,TEMP01 COPY PTAA55,A  COPY PT55AA,Q SBIT BY,S COPYB A,TEMP01 RBIT BY,S COPY =:5500,A CSK A,TEMP01  NOP ERROR: COPY,FAILED,--,A,=,TEMP01,=,:5500 SBIT BY,S COPYB Q,TEMP01+1 RBIT BY,S CSK  Q,TEMP01 NOP ERROR: COPY,FAILED,--,Q,=,TEMP01,=,:55AA PATCHX B05000 TITL ****** * ABSOLUTE INDIRECT ADDRESSING. USING 'A' * -- BYTE MODE -- * COPY A,*SPAD ****** * * COPY A,*SPAD * B05010 EQU $ COPY =TEMP01,A SHIFT A,LO,1 TEMP01 BYTE ADD. IN 'A' COPY A,TEMP02 TEMP02 = TEMP01 BYTE ADD. COPY =0,A  COPY A,TEMP01 COPY STATSV,A COPY A,S CLEAR 'S' COPY PTAA55,A SBIT BY,S COPY A,*TEMP02 :55 TO TEMP01 BYTE 0 RBIT BY,S COPY =:5500,A CSK A,TEMP01 NOP ERROR: COPY,FAILED,--,A=TEMP01=:5500 PATCHX B05010 JMP B05020 LPOOL TITL ******************************** * RELATIVE DIRECT ADDRESSING USING 'A' * -- BYTE MODE -- * COPYB A,MEM ****** * * COPYB A,MEM * B05020 EQU $ COPY STATSV,A COPY A,S CLEAR 'S' COPY =0,A COPY A,CEL542 COPY PTAA55,A COPY PT55AA,Q SBIT BY,S COPYB A,CEL542 RBIT BY,S COPY =:5500,A CSK A,CEL542 NOP ERROR: COPY,FAILED,--,A,=,CEL542,=,:5500 SBIT BY,S COPYB Q  ,CEL542+1 RBIT BY,S CSK Q,CEL542 NOP ERROR: COPY,FAILED,--,Q,=,CEL542,=,:55AA PATCHX B05020 TITL ****** * RELATIVE INDIRECT ADDRESSING USING 'A' * -- BYTE MODE -- * COPY A,*MEM MEM = BYTE ADD. OF DESTINATION. ****** * * * COPY A,*MEM * B05030 EQU $ COPY =0,A COPY A,CEL540 COPY =CEL540,A  SHIFT A,LO,1 COPY A,CEL542 IMS CEL542 CEL542 = CEL540 BYTE 1 ADD COPY STATSV,A COPY A,S COPY =:AA,A COPY PT55AA,Q SBIT BY,S COPY Q,*CEL542 RBIT BY,S CSK A,CEL540  NOP ERROR: COPY,FAILED,--,Q,=,CEL540,=,:AA PATCHX B05030 JMP B05040 LPOOL TITL ****** * INDEXED DIRECT ADDRESSING. INDEX REG IS X * -- BYTE MODE-- * COPY A,(NTCX) XREG=BYTE ADDR * EA=XREG+CNT ********* CEL540 WORD 0 CEL541 WORD 0 CEL542 WORD 0 * * COPY A,1(X) * B05040 EQU $ COPY =CEL541,X SHIFT X,LO,1 CEL541 BYTE ADD IN 'X' COPY STATSV,A COPY A,S COPY =0,A COPY A,CEL542 COPY =:5566,A SBIT BY,S COPY A,2(X) :66 TO CEL542 BYTE 0 RBIT BY,S COPY =:6600,A CSK A,CEL542 NOP ERROR: COPY,FAILED,--,A,=,CEL542,=,:6600 PATCHX B05040 JMP B05050 LPOOL TITL ****** * INDEXED DIRECT ADDRESSING. INDEX REG. = 'Y' * -- BYTE MODE -- * COPY A,CNT(Y) 'Y'= WORD ADD * EA = 2(Y) + CNT ****** * * COPY A,CNT(Y) * B05050 EQU $ COPY =CEL541,Y CEL541 WORD ADD IN 'Y' COPY STATSV,A  COPY A,S COPY =0,A COPY A,CEL542 COPY =:5566,A SBIT BY,S COPY A,2(Y) CEL542 BYTE0 =:66 RBIT BY,S COPY =:6600,A CSK A,CEL542 NOP ERROR: COPY,FAILED,--,A,=,CEL542,=,:6600 PATCHX B05050 JMP B05060 LPOOL TITL ****** * INDEXED DIRECT ADDRESSING USING 'X' & 'Y' * -- BYTE MODE -- * COPY A,CNT(X,Y) 'X'=BYTE ADD. * 'Y'= WORD ADD. * EA = 2(Y) + CNT + (X) ****** * * COPY A,CNT(X,Y) * B05060 COPY =CEL540,Y CEL540 WORD ADDRESS IN 'Y' COPY =2,X COPY STATSV,A COPY A,S COPY =0,A COPY A,CEL542 COPY =:5566,A SBIT BY,S COPY A,2(X,Y) CEL542 BYTE 0 = :66 RBIT BY,S COPY =:6600,A CSK A,CEL542 NOP ERROR: COPY,FAILED,--,CEL542=:6600 PATCHX B05060 JMP B05070 LPOOL TITL ****** * INDEXED INDIRECT ADDRESSING USING XREG * -- BYTE MODE -- * COPY A,*CNT(X) AP =(CNT) (AP)=BYTE ADD * EA= (AP)+(X) * 'X'=BYTE ADD ****** * CEL570 WORD 0 CEL571 WORD 0 CEL572 WORD 0 * * COPY A,*CNT(X) * B05070 EQU $ COPY =2,A COPY A,TEMP01 COPY =CEL571,X SHIFT X,LO,1 CEL571 BYTE ADD IN 'X' COPY STATSV,A COPY A,S COPY =0,A COPY A,CEL572  COPY =:66FF,A SBIT BY,S COPY A,*TEMP01(X) CEL572 BYTE0 =:FF RBIT BY,S COPY =:FF00,A  CSK A,CEL572 NOP ERROR: COPY,FAILED,--,A,=,CEL572,=,:FF00 PATCHX B05070 TITL ****** * INDEXED IN  DIRECT ADDRESSING USING 'Y'. * -- BYTE MODE -- * COPY A,*CNT(Y) AP=(CNT)+(Y) (AP)=BYTE ADD. *  EA=(AP) ****** * * COPY A,*CNT(Y) * B05080 EQU $ COPY =CEL572,A SHIFT A,LO,1 CEL572 BYTE ADD IN 'A'  COPY A,CEL571 COPY =CEL570,Y COPY STATSV,A COPY A,S COPY =0,A COPY A,CEL572  COPY =:66FF,A SBIT BY,S COPY A,*1(Y) CEL572 BYTE0 =:FF RBIT BY,S COPY =:FF00,A  CSK A,CEL572 NOP ERROR: COPY,FAILED,--,A,=,CEL572,=,:FF00 PATCHX B05080 TITL ****** * INDEXED INDIRECT ADDRESSING USING AREG AND YREG * -- BYTE MODE -- * COPY A,*CNT(X,Y) AP=(Y)+(CNT) * EA=(AP)+(X) ****** * * COPY A,*CNT(X,Y) * B05090 EQU $ COPY =CEL572,A SHIFT A,LO,1 CEL572 BYTE ADDR IN AREG COPY A,CEL571 COPY  =CEL570,Y COPY =0,X COPY STATSV,A COPY A,S COPY =0,A COPY A,CEL572 COPY =:FF66,A COPY =:66FF,Q SBIT BY,S COPY A,*1(X,Y) CEL572 BYTE0 =:66 RBIT BY,S COPY =:6600,A CSK A,CEL572 NOP ERROR: COPY,FAILED,--,A,=,CEL572,=,:6600 COPY =1,X SBIT BY,S COPY Q,*1(X,Y) CEL572 BYTE1 =:FF RBIT BY,S CSK Q,CEL572 NOP ERROR: COPY,FAILED,--,Q,=,CEL572,=,:66FF PATCHX B05090 JMP B050B0 LPOOL TITL ****** * TEST ADDRESSING MODES ON 'X' & 'Y'. * -- BYTE MODE -- ****** * CEL5A0 WORD 0 CEL5A1 WORD 0 CEL5A2 WORD 0 ****** * INDEXED DIRECT ADDRESSING * --BYTE MODE -- * COPY X,CNT(Y) * COPY Y,CNT(X) ****** * * * COPY X,CNT(Y) * B050B0 EQU $ COPY =CEL5A0,Y COPY PT5555,X COPY STATSV,A COPY A,S SBIT BY,S COPY X,2(Y) CEL5A1 BYTE0 =:55 COPY X,3(Y) CEL5A1 BYTE1 =:55 RBIT BY,S COPY PT5555,A CSK A,CEL5A1 NOP ERROR: COPY,FAILED.,'X'=:5555,CEL5A1=,:5555 * * COPY Y,CNT(X) * B050B1 EQU $ COPY =CEL5A0,X SHIFT X,LO,1 CEL5A0 BYTE ADDR IN XREG COPY PTF0F0,Y COPY STATSV,A COPY A,S SBIT BY,S COPY Y,2(X) CEL5A1 BYTE 0 =:F0 COPY Y,3(X) BYTE 1 = :F0 RBIT BY,S COPY PTF0F0,A CSK A,CEL5A1 NOP ERROR: COPY,FAILED,'Y'=,:F0F0,=CEL5A1 PATCHX B050B1 JMP B06000 TITL INSTRUCTION DIAGNOSTIC -- SEC. B0-6 ************************************************** * ----- B06000 ----- * * TEST COPY 4REG,MEM USING MULTIPLE LEVEL * INDIRECT ADDRESSING FOR WORD MODE. * ************************************************** * * INDEXED INDIRECT ADDRESSING USING 'X'. * * COPY A,*TEMP01(X) TEMP01 = AP1 * (TEMP01) = TEMP02 = AP2 XA=0, BIT 15=1 * (TEMP02) + (X) = EA ************************************************* * * COPY A,*MEM(X) B06000 EQU $ COPY =0,A COPY A,S RESET XA COPY A,TEMP02 COPY =TEMP02,A OR =:8000,A COPY A,TEMP01 TEMP01 = TEMP02 ADD + BIT 15 SET COPY =TEMP,X COPY PTFFFF,A  COPY A,*TEMP01(X) :FFFF TO TEMP COPY STATSV,Q COPY Q,S CSK A,TEMP NOP ERROR:   CSK,FAILED,IF,'A'=,:FFFF,=TEMP,ELSE,COPY PATCHX B06000 TITL ************************************************* * * INDEXED INDIRECT ADRESSING USING 'Y'. * * COPY A,*TEMP01(Y) TEMP01 + (Y) = AP1 * (AP1) = TEMP02 = AP2 XA=0, BIT 15=1 * (TEMP02) = EA * ************************************************* * * COPY A,*0(Y) * B06010 EQU $ COPY =0,A COPY A,S RESET XA COPY =TEMP,A COPY A,TEMP02 TEMP02 = TEMP ADD. COPY =TEMP02,A OR PT8000,A COPY A,TEMP01 TEMP01 = TEMP02 ADD + BIT15 SET COPY =TEMP01,Y COPY PTAAAA,Q COPY Q,*0(Y) :AAAA TO TEMP COPY STATSV,A COPY A,S CSK Q,TEMP NOP ERROR: CSK,FAILED,IF,AREG=:FFFF=TEMP,ELSE,COPY,FAILED PATCHX B06010 GLPOL: TITL INSTRUCTION DIAGNOSTIC -- SEC. B1-1 ****************************************************** * * ----------- SECTION B1 ---------- * * TESTING OF THE FOLLOWING INSTRUCTIONS: * * COPY MEM,4REG B11000 * CSK 2REG,MEM B12000 * ADD MEM,4REG B13000 * SUB MEM,4REG  B14000 * JST MEM B16000 * EXCH MEM,4REG B17000 * ****************************************************** TITL ****************************************************** * * ----------- TEST STRUCTURE ---------- * * B11000  -- COPY MEM,4REG IS TESTED IN BYTE MODE * (WORD MODE TESTED IN SEC. A0). BYTE * ADDRESSABILITY OF THREE SUCCESSIVE * BYTES IS TESTED. ONE ADDRESSING MODE * IS TESTED * * B12000 -- SAME AS B11000, PLUS ONE SPECIAL CASE IS TESTED * * B13000 -- ADD MEM,4REG IS TESTED FOR POSITIVE * AND NEGATIVE OVERFLOW, IN ADDITION TO * NORMAL OPERATION, WITH ONE ADDRESSING * MODE. WORD MODE AND BYTE MODE ARE TESTED * * B14000 -- SUB MEM,4REG IS TESTED WITH ONE ADDRESSING * MODE. WORD MODE AND BYTE MODE ARE TESTED. * * B16000 -- JST MEM IS TESTED WITH ONE ADDRESSING MODE * * B17000 -- EXCH MEM,4REG IS TESTED WITH ALL ADDRESSING * MODES. WORD MODE AND BYTE MODE ARE TESTED. * ****************************************************** TITL ******************************************************* * * ---- SECTION B11000 ---- * * TEST COPY MEM,REG USING * POST INDEXED DIRECT ADDRESSING - BYTE MODE. * THREE ADJACENT BYTE ADDRESSES ARE CHECKED. * ******************************************************* B11000 COPY PT55AA,A  COPY A,TEMP01 COPY A,TEMP02 COPY =TEMP01,X SHIFT X,LO,1 SBIT BY,S COPY 0(X),A COPY 1(X),Q COPY 2(X),Y RBIT BY,S CSK A,=:55 NOP ERROR: COPY,FAILED,--,AREG,SHOULD,BE,=:55 CSK Q,=:AA NOP ERROR: COPY,FAILED,--,QREG,SHOULD,BE,=:AA CSK Y,=:55 NOP ERROR: COPY,FAILED,--,Y,SHOULD,=,:55 PATCHX B11000 TITL INSTRUCTION DIAGNOSTIC -- SEC. B1-2 ******************************************************* * * TEST CSK REG,MEM USING * PRE INDEXED DIRECT ADDRESSING - BYTE MODE. * ******************************************************* B12000 EQU $ COPY PT00FF,A COPY A,TEMP01 COPY PT55AA,A COPY A,TEMP02 COPY =TEMP01,Y COPY =:55,A SBIT B Y,S CSK A,0(Y) COMPARE A TO 0 ERROR: CSK,FAILED,--,A,>,MEM JMP $+2 ERROR: CSK,FAILED,--,A,>,MEM SBIT BY,S CSK A,1(Y) COMPARE A TO :FF JMP $+3 NOP ERROR: CSK,FAILED,--,A,<,MEM  SBIT BY,S CSK A,2(Y) COMPARE A TO :55 NOP ERROR: CSK,FAILED,--,A,=,MEM RBIT BY,S TITL ****** * * SPECIAL CASE CSK TEST -- WORD MODE * ****** COPY PT8000,Q COPY =1,A COPY A,TEMP01  CSK Q,TEMP01 JMP $+3 NOP ERROR: CSK,FAILED,--,Q,<,MEM PATCHX B12000 TITL INSTRUCTION DIAGNOSTIC -- SEC. B1-3 ******************************************************* * * ---- SECTION B1-3 * * TEST ADD MEM,REG USING * DIRECT RELATIVE ADDRESSING * ******************************************************* * * ADD MEM,A  WORD MODE * B13000 EQU $ COPY STATSV,A COPY A,S COPY PT5555,A COPY A,CEL300 COPY =:1FFF,A ADD CEL300,A CSK A,=:7554 NOP ERROR: ADD,FAILED,--,AREG,SHOULD,=:7554 * * ADD MEM,Q OVERFLOW * COPY =:5AAA,A COPY A,CEL300  COPY =:2FFF,Q ADD CEL300,Q JT OV,$+2 ERROR: ADD,FAILED,--,DID,NOT,SET,OVERFLOW CSK Q,=:8AA9 NOP ERROR: ADD,FAILED,--,Q,SHOULD,=,:8AA9 * * ADD MEM,X OVERFLOW * COPY STATSV,A  COPY A,S COPY PTAAAA,A COPY A,CEL300 COPY =:A000,X ADD CEL300,X JT OV,$+2  ERROR: ADD,FAILED,--,DID,NOT,SET,OVERFLOW COPY X,A CSK A,=:4AAA NOP ERROR: ADD,FAILED,--,X,SHOULD,=,4AAA * * ADDB MEM,Y BYTE MODE * COPY STATSV,A COPY A,S COPY =:0010,Y COPY =:FF10,Q COPY Q,CEL300 SBIT BY,S ADDB CEL300,Y RBIT BY,S COPY Y,A CSK A,=:010F NOP ERROR: ADDB,FAILED,--,Y,SHOULD,=,:010F PATCHX B13000 JMP B14000 LPOOL CEL300 RES  1,0 TITL INSTRUCTION DIAGNOSTIC -- SEC. B1-4 ******************************************************* * * ---- SECTION B14000 * * TEST SUB MEM,REG USING * ABSOLUTE DIRECT ADDRESSING * ******************************************************* * * SUB MEM,A * B14000 COPY STATSV,A COPY A,S COPY =:0100,A COPY A,TEMP01 COPY =:000A,A SUB TEMP01,A CSK A,=:FF0A NOP ERROR: SUB,FAILED,--,AREG,SHOULD,=:FF0A * * SUBB MEM,Q * COPY =:50,Q COPY =:48,A COPY A,TEMP01 SBIT BY,S SUBB TEMP01+1,Q RBIT BY,S CSK Q,=:08 NOP ERROR: SUBB,FAILED,--,Q,SHOULD,=,:0008 PATCHX B14000 TITL INSTRUCTION DIAGNOSTIC -- SEC. B1-6 ******************************************************* * * TEST JST MEM USING * RELATIVE DIRECT ADDRESSING * ******************************************************* B16000 EQU $ COPY STATSV,A COPY A,S JST B16002 B16001 EQU $ ERROR: JST,FAILED  JMP B16003 B16002 ENT COPY =B16001,A CSK A,B16002 NOP ERROR: JST,FAILED,--,WRONG,RETURN,ADDRESS IMS B16002 JMP *B16002 B16003 EQU $ PATCHX B16000 TITL INSTRUCTION DIAGNOSTIC --  SEC. B1-7 ******************************************************* * *------------ SECTION B1-7 ------------- * * OBJECTIVE: EXTENSIVE TESTING OF THE FOLLOWING * INSTRUCTIONS: * * EXCH MEM,4REG * * *----- TEST STRUCTURE ----- * * 'EXCH' IS VERIFIED UNDER ALL THE ADDRESSING * MODES, WORD MODE AND BYTE MODE * ******************************************************* TITL ******************************************************* * *----- SECTION B17000 ----- * **** * -- WORD MODE -- * ABSOLUTE DIRECT ADDRESSING * ******************************************************* B17000 EQU $ COPY =0,A COPY PTF0F0,Q COPY Q,TEMP01 EXCH TEMP01,A COPY =0,Q CSK Q,TEMP01 NOP ERROR: 'EXCH',FAILED,-,TEMP01,SHOULD,=0 CSK A,PTF0F0 NOP ERROR: 'EXCH',FAILED,AREG,SHOULD,=:F0F0 TITL ********* * * ABSOLUTE INDIRECT ADDRESSING * ---WORD MODE--- * ******** B17010 EQU $ COPY PTF0F0,Q COPY PTFFFF,X COPY =TEMP01,A COPY A,TEMP02 COPY Q,TEMP01 EXCH *TEMP02,X COPY PTFFFF,A CSK A,TEMP01 NOP ERROR: 'EXCH',IN,INDIRECT,ADD,FAILED COPY X,A CSK A,PTF0F0 NOP ERROR: EXCH,FAILED,X,SHOULD,=,:F0F0 PATCHX B17000 JMP B17020 TITL ****** * *----- B17020 ----- * * RELATIVE DIRECT AND INDIRECT ADDRESSING * --WORD MODE-- * ***** CEL171 RES 1,0 CEL172 RES 1,0 B17020 EQU $ COPY PTFFFF,A COPY  PTF0F0,Q COPY Q,CEL175 EXCH CEL175,A COPY PTFFFF,Q CSK Q,CEL175 NOP ERROR: EXCH,FAILED,CEL175,SHOULD,=,:FFFF CSK A,PTF0F0 NOP ERROR: EXCH,FAILED,A,SHOULD,=,:F0F0 * * INDIRECT RELATIVE * COPY =CEL174,A COPY A,CEL173 COPY PT00FF,X COPY =0,A COPY A,CEL174  EXCH *CEL173,X COPY PT00FF,A CSK A,CEL174 NOP ERROR: EXCH,FAILED,CEL174,SHOULD,=,:00FF  COPY X,A CSK A,=0 NOP ERROR: EXCH,FAILED,X,SHOULD,=,0 PATCHX B17020 JMP B17030  LPOOL TITL ****** * ---B17030--- * * INDEX DIRECT AND INDIRECT ADDRESSING USING XREG * --WORD MODE-- ****** CEL173 WORD 0 CEL174 WORD 0 CEL175 WORD 0 B17030 EQU $ COPY PT00FF,Q COPY PTFFFF,Y COPY PTFFFF,A COPY =CEL174,X CEL174 ADD IN 'X' COPY Q,CEL175 EXCH 1(X),Y CEL175 SHULD = :FFFF CSK A,CEL175 NOP ERROR: 'EXCH',FAILED,CEL175,SHULD,=:FFFF COPY Y,A CSK A,PT00FF NOP ERROR: EXCH,FAILED,A,SHOULD,=,:00FF * * INDIRECT INDEX 'X' * COPY =1,A COPY A,TEMP01 COPY =CEL174,X  COPY =0,A COPY A,CEL175 EXCH *TEMP01(X),Y CSK Q,CEL175 NOP ERROR: 'Q',SHULD,=,CEL175,=:00FF COPY Y,A CSK A,=0 NOP ERROR: EXCH,FAILED,Y,SHOULD,=,0 PATCHX B17030 TITL ****** * *----- B17040 ----- * * INDEX DIRECT AND INDIRECT ADDRESSING USING 'Y' * --WORD MODE-- * ****** B17040 EQU $  COPY PTFFFF,A COPY PT00FF,Q COPY PTFFFF,X COPY =CEL173,Y COPY Q,CEL174 EXCH   1(Y),X CSK A,CEL174 NOP ERROR: 'A',SHOULD,=,CEL174,=:FFFF COPY X,A CSK A,PT00FF  NOP ERROR: EXCH,FAILED,X,SHOULD,=,:00FF * * INDIRECT INDEX 'Y' * COPY =CEL175,A COPY A,CEL174  COPY =CEL173,Y COPY =0,A COPY A,CEL175 EXCH *1(Y),X CSK Q,CEL175 NOP ERROR: QREG,SHOULD,=CEL175=:00FF COPY X,A CSK A,PT0000 NOP ERROR: EXCH,FAILED,XREG,SHOULD,=0 PATCHX B17040 TITL ********* * *----- B17050 ----- * * INDEX DIRECT AND INDIRECT ADDRESSING USING HX' 'Y' * --WORD MODE-- * ****** B17050 EQU $ COPY PTFFFF,A COPY  PTFFFF,Q COPY =CEL173,Y COPY =1,X COPY X,CEL175 EXCH 1(X,Y),A CSK Q,CEL175  NOP ERROR: 'Q',SHULD,=,CEL175,=:FFFF CSK A,=1 NOP ERROR: EXCH,FAILED,A,SHOULD,=,1 * * INDIRECT INDEX 'X' 'Y' * COPY =1,X COPY X,CEL174 CEL174 = 1 COPY =CEL173,Y COPY =CEL174,X  COPY A,CEL175 CEL 175 = 1 COPY PTFFFF,A EXCH *1(X,Y),Q CSK A,CEL175 NOP  ERROR: 'A',SHULD,=,CEL175,=:FFFF CSK Q,=1 NOP ERROR: EXCH,FAILED,Q,SHOULD,=,1 PATCHX B17050  JMP B17060 LPOOL TITL ****** * *----- B17060 ----- * * ABSOLUTE DIRECT AND INDIRECT ADDRESSING * -- BYTE MODE -- * ****** B17060 EQU $ COPY PTF0F0,Q COPY PT6666,Y COPY Q,TEMP01 :F0F0 - TEMP01  SBIT BY,S EXCHB Y,TEMP01 RBIT BY,S COPY =:66F0,A CSK A,TEMP01 NOP ERROR: 'A',SHULD,=,TEMP01,=:66F0 COPY Y,A CSK A,=:F0 NOP ERROR: EXCHB,FAILED,YREG,SHOULD,=:F0 * * ABSOLUTE INDIRECT * COPY PT00FF,X COPY =TEMP01,A SHIFT A,LO,1 BYTE ADDRESS COPY A,TEMP02 TEMP02 = TEMP01 BYTE ADDRESS (BYTE 0) COPY A,TEMP IMS TEMP TEMP = TEMP01 BYTE ADDRESS (BYTE 1) COPY PT55AA,A COPY A,TEMP01 SBIT BY,S EXCH Q,*TEMP02 TEMP01 BYTE0 =F0 EXCH X,*TEMP TEMP01 BYTE1 = FF RBIT BY,S COPY =:F0FF,A CSK A,TEMP01 NOP ERROR: EXCH,FAILED,A,SHOULD,=,:F0FF CSK Q,=:55 NOP ERROR: EXCH,FAILED,Q,SHOULD,=,:55 COPY X,Q CSK Q,=:AA NOP ERROR: EXCH,FAILED,X,SHOULD,=,.:66 PATCHX B17060 JMP B17070 TITL ****** * *----- B17070 ----- * * RELATIVE DIRECT AND INDIRECT ADDRESSING * -- BYTE MODE -- * ****** CEL177 RES 1 CEL178 RES 1 B17070 EQU $ COPY =:F0AA,A COPY PTAAAA,Q COPY PTF0F0,X COPY Q,CEL177 :AAAA IN SBIT BY,S EXCHB X,CEL177 RBIT BY,S CSK A,CEL177 NOP ERROR: 'A',SHULD,=,CEL177,=:F0AA COPY X,A CSK A,=:AA NOP ERROR: EXCH,FAILED,X,SHOULD,=,:AA * *  INDIRECT RELATIVE * COPY =CEL178,A SHIFT A,LO,1 BYTE ADD COPY A,CEL177 COPY Q,CEL178 COPY PTF0F0,X COPY =:F0AA,A SBIT BY,S EXCH X,*CEL177 RBIT BY,S CSK A,CEL178 NOP ERROR: 'A',SHOULD,=,CEL178,=:AAF0 COPY X,A CSK A,=:AA NOP ERROR: EXCH,FAILED,XREG,SHOULD,=:AA PATCHX  B17070 JMP B17080 LPOOL TITL ******* * * ---B17080--- * * INDEX DIRECT AND INDIRECT ADDRESSING 'X' AND 'Y' * --BYTE MODE -- * ***** CEL179 RES 1 CEL180 RES 1 CEL181 RES 1 B17080 EQU $ COPY PTFFFF,A COPY PTF0F0,Q  COPY =CEL179,X SHIFT X,LO,1 CEL179 BYTE ADD IN 'X' COPY A,CEL179 CEL179 = :FFFF.  COPY Q,CEL180 CEL180 = :F0F0 COPY =CEL179,Y CEL179 WORD ADD IN 'Y' SBIT BY,S EXCH 1(X),Q CEL179 = :FFF0, Q=:00FF EXCHB 2(Y),A CEL180 = :FFF0, A=:00F0 RBIT BY,S CSK A,=:F0  NOP ERROR: EXCH,FAILED,A,SHOULD,=,:F0 CSK Q,=:FF NOP ERROR: EXCH,FAILED,A,SHOULD,=,:FF  COPY =:FFF0,A CSK A,CEL179 NOP ERROR: 'A',SHOULD,=,CEL179,=:FFF0 CSK A,CEL180 NOP ERROR: CEL180,SHOULD,=:FFF0 * * INDIRECT INDEX USING (X) * COPY =2,A COPY A,TEMP01 COPY =CEL179,X SHIFT X,LO,1 CEL179 BYTE ADD IN 'X' COPY PT5555,A COPY A,CEL180 COPY =0,Q  SBIT BY,S EXCH *TEMP01(X),Q RBIT BY,S COPY =:0055,A CSK A,CEL180 NOP ERROR: 'A',SHULD,=,CEL180,=:0055 CSK Q,=:55 NOP ERROR: EXCH,FAILED,Q,SHOULD,=,:55 * * INDIRECT INDEX USING (Y) * COPY =CEL179,Y COPY =CEL181,A SHIFT A,LO,1 COPY A,CEL180 COPY PTF0F0,A COPY A,CEL181 COPY PTFFFF,A SBIT BY,S EXCH A,*1(Y) RBIT BY,S COPY =:FFF0,Q CSK Q,CEL181 NOP ERROR: EXCH,FAILED,CEL181,SHOULD,=:FFF0 CSK A,=:F0 NOP ERROR: EXCH,FAILED,AREG,SHOULD,=:F0 PATCHX B17080 GLPOL: TITL ***** * *----- B17090 ----- * * INDEX DIRECT AND INDIRECT ADDRESSING USING (X,Y) * -- BYTE MODE -- * ****** B17090 EQU $ COPY =CEL180,Y COPY =1,X COPY PTFFFF,A COPY A,CEL181 COPY PTF0F0,A SBIT BY,S EXCH 2(X,Y),A RBIT BY,S CSK A,=:FF NOP ERROR: EXCH,FAILED,A,SHOULD,=,:FF COPY =:FFF0,A CSK A,CEL181 NOP ERROR: EXCH,FAILED,CEL181,SHOULD,=,:FFF0 * * INDIRECT INDEX * COPY PTFFFF,Q  COPY =CEL181,A SHIFT A,LO,1 CEL181 BYTE ADD IN HA' COPY A,CEL180 COPY =CEL179,Y 'Y' = CEL179 ADD COPY =0,X COPY PT6666,A COPY A,CEL181 CEL181 =:6666 COPY =:FF66,A  SBIT BY,S EXCH *1(X,Y),Q RBIT BY,S CSK A,CEL181 NOP ERROR: 'A',SHULD,=,CEL181,=:FF00  CSK Q,=:66 NOP ERROR: EXCH,FAILED,Q,SHOULD,=,:66 PATCHX B17090 TITL ***** * *----- B170A0 ----- * * INDEX MULTILEVEL INDIRECT ADDRESSING USING 'X' * ***** B170A0 EQU $ COPY =0,A COPY A,S COPY A,TEMP02 COPY =TEMP02,A OR =:8000,A COPY A,TEMP01 COPY =TEMP,X COPY PTAAAA,A COPY A,TEMP COPY PTFFFF,A EXCH A,*TEMP01(X) CSK A,PTAAAA NOP ERROR: EXCH,FAILED,AREG,SHOULD,=:AAAA COPY TEMP,Q CSK Q,PTFFFF NOP ERROR: EXCH,FAILED,TEMP,SHOULD,=,:FFFF * * INDEX MULTILEVEL INDIRECT ADDRESSING USING 'Y' * B170B0 EQU $ COPY =0,A C OPY A,S COPY =TEMP,A COPY A,TEMP02 COPY =TEMP02,A OR PT8000,A COPY A,TEMP01  COPY =TEMP01,Y COPY PTFFFF,A COPY A,TEMP COPY PTAAAA,Q EXCH Q,*0(Y) CSK Q,PTFFFF NOP ERROR: EXCH,FAILED,Q,SHOULD,=,:FFFF COPY TEMP,A CSK A,PTAAAA NOP ERROR: EXCH,FAILED,TEMP,SHOULD,=,:AAAA COPY STATSV,A COPY A,S PATCHX B170A0 GLPOL: TITL INSTRUCTION DIAGNOSTIC -- SEC. C ************************************************** * * ----------- SECTION C ---------- * * TESTING OF THE FOLLOWING INSTRUCTIONS: * * NEG 8REG,8REG C02000 * ADD 8REG,8REG C11000 * SUB 8REG,8REG C12000 * AND 8REG,8REG C13000 * XOR 8REG,8REG C14000 * OR 8REG,8REG C15000 * CSM 8REG,8REG C21000 * CSN 8REG,8REG C22000 * CSK  8REG,8REG C23000 * EXCH 8REG,8REG C24000 * COMP 8REG,8REG C25000 * ************************************************** * * ----------- TEST STRUCTURE ---------- * * EACH INSTRUCTION IS TESTED FOR CORRECT * OPERATION WITH A DIFFERENT REGISTER PAIR * FOR EACH INSTRUCTION, OR EACH CONDITION * OF AN INSTRUCTION. NEG & ADD ARE CHECKED * FOR CORRECT SETTING OF OV. CSM, CSN, & CSK * ARE CHECKED FOR ALL COMPARE OUTCOMES. * **************************************************** TITL ******** * * ---C02000--- * * NEG Q,A * ***** C02000 EQU $ COPY PT5555,Q COPY =0,A NEG Q,A CSK A,=:AAAB NOP ERROR: NEG,FAILED,--,A,SHOULD,=,:AAAB COPY =:8000,X NEG X,Q JT OV,$+2 ERROR: NEG,FAILED,--,DID,NOT,SET,OV CSK Q,PT8000 NOP ERROR: NEG,FAILED,--,Q,SHOULD,=,:8000 TITL INSTRUCTION DIAGNOSTIC -- SEC. C1-1 ***** * * ---- C11000 * * ADD Y,X * ***** C11000 EQU $ COPY PT6666,Y COPY =:0FFF,X ADD Y,X COPY X,A CSK  A,=:7665 NOP ERROR: ADD,FAILED,--,X,SHOULD,=,:7665 *** * ADD L,Y POS. OVERFLOW *** COPY PT5555,Y COPY PT5555,A COPY A,L ADD L,Y JT OV,$+2 ERROR: ADD,FAILED,--,DID,NOT,SET,OV COPY Y,A CSK A,PTAAAA NOP ERROR: ADD,FAILED,--,Y,SHOULD,=,:AAAA *** * ADD K,L  NEG. OVERFLOW *** COPY PTAAAA,A COPY A,K COPY A,L ADD K,L JT OV,$+2 ERROR: ADD,FAILED,--,DID,NOT,SET,OV COPY L,A CSK A,=:5554 NOP ERROR: ADD,FAILED,--,L,SHOULD,=,:5554 TITL INSTRUCTION DIAGNOSTIC -- SEC. C1-2 ***** * * ---C12000--- * * SUB S,K * ******** C12000 EQU $ COPY =:FF,A COPY A,K COPY =:43,A COPY A,S SUB S,K COPY STATSV,A COPY A,S COPY K,A CSK A,=:BC NOP ERROR: SUB,FAILED,--,K,SHOULD,=,:BC PATCHX C02000 TITL INSTRUCTION DIAGNOSTIC -- SEC. C1-3 ***** * * ---- C13000 ---- * * AND A,Q * ***** C13000 EQU $ COPY PTF0F0,A COPY PT00FF,Q AND A,Q   CSK Q,=:F0 NOP ERROR: AND,FAILED,--,Q,SHOULD,=,:F0 * ***** * * ---- C14000 ---- * * XOR Q,X * ***** C14000 EQU $ COPY PTAAAA,Q COPY PT6666,X XOR Q,X COPY X,A CSK A,=:CCCC  NOP ERROR: XOR,FAILED,--,X,SHOULD,=,:CCCC TITL INSTRUCTION DIAGNOSTIC -- SEC. C1-5 ***** * * ---- C15000 ---- * * OR X,Y * ***** C15000 EQU $ COPY PT6666,X COPY PT5555,Y OR X,Y COPY Y,A  CSK A,=:7777 NOP ERROR: OR,FAILED,--,Y,SHOULD,=,:7777 PATCHX C13000 JMP C21000 LPOOL TITL INSTRUCTION DIAGNOSTIC -- SEC. C2-1 ***** * * ---C21000--- * * CSM Y,L * ******* C21000 EQU $ COPY PTFFFF,Y COPY =0,A COPY A,L CSM Y,L GREATER ERROR: CSM,FAILED,--,Y>L JMP $+2 ERROR: CSM,FAILED,--,Y>L *** * CSM L,K *** COPY PT6666,A COPY A,K CSM L,K LESS JMP $+3 NOP ERROR: CSM,FAILED,--,LY JMP $+2 ERROR: CSK,FAILED,--,X>Y *** *  CSK X,K *** COPY PT6666,A COPY A,K CSK X,K LESS JMP $+3 NOP ERROR: CSK,FAILED,--,X :FFFE JMP $+2 HLT CSKE FAILED -- Q > :FFFE  CSKE Q,PT0000 JMP $+3 HLT CSKE FAILED -- Q < :0000 HLT  CSKE FAILED -- " " " TITL INSTRUCTION DIAGNOSTIC -- SEC. H1-2 ****** * * ---- H12000 ---- * * COPYE *MEM(X),Q * COPYE Q,*MEM(Y) * ****** H12000 EQU $ COPY =0,X COPY =0,Y COPY =TEMP02,A COPY  A,TEMP01 COPY PT6666,A COPY A,TEMP02 COPYE *TEMP01(X),Q LOAD Q FROM TEMP02 CSK Q,PT6666  NOP ERROR: COPYE,FAILED,--,Q,SHOULD,=,:6666 COPY PTAAAA,Q COPYE Q,*TEMP01(Y) STORE Q IN TEMP02  CSK Q,TEMP02 NOP ERROR: COPYE,FAILED,--,TEMP02,SHOULD,=,:AAAA PATCHX H11000 TITL INSTRUCTION DIAGNOSTIC -- SEC. H1-3 ****** * * ---- H13000 ---- * * ADDE MEM,Y * ****** H13000 EQU $ COPY PT5555,Q  COPY Q,TEMP01 COPY =:158F,Y ADDE TEMP01,Y COPY Y,Q CSK Q,=:6AE4 NOP ERROR: ADDE,FAILED,--,Y,SHOULD,=,:6AE4 ****** * * ADDE MEM,X POSITIVE OVERFLOW * ****** COPY PT6666,X ADDE TEMP01,X COPY X,A CSK A,=:BBBB NOP ERROR: ADDE,FAILED,--,XREG,SHOULD,=:BBBB JT OV,$+2 ERROR: ADDE,FAILED,--,OV,SHOULD,BE,SET TITL ****** * * ---H14000--- * * SUB MEM(X),A * ******** H14000 EQU $ COPY =1,X  COPY PTAAAA,A COPY =:2222,Q COPY Q,TEMP02 SUBE TEMP01(X),A SUBTRACT TEMP02 FROM A CSK A,=:8888 NOP ERROR: SUBE,FAILED,--,A,SHOULD,=,:8888 ****** * * SUBE MEM(Y),A NEGATIVE OVERFLOW * ******  COPY =1,Y SUBE TEMP01(Y),A SUBTRACT TEMP02 FROM A CSK A,PT6666 NOP ERROR: SUBE,FAILED,--,A,SHOULD,=,:6666 JT OV,$+2 ERROR: SUBE,FAILED,--,OV,SHOULD,BE,1 PATCHX H13000 TITL INSTRUCTIO N DIAGNOSTIC -- SEC. H1-5 ****** * * ---- H15000 ---- * * EXCHE MEM(X,Y),Q * ****** H15000 EQU $ COPY =0,X  COPY =1,Y COPY PT5555,A COPY A,TEMP02 COPY PTAAAA,Q EXCHE TEMP01(X,Y),Q EXCHANGE TEMP02 AND Q CSK Q,PT5555 NOP ERROR: EXCHE,FAILED,--,Q,SHOULD,=,:5555 COPY TEMP02,A CSK A,PTAAAA NOP ERROR: EXCH,FAILED,--,TEMP02,SHOULD,=,:AAAA TITL INSTRUCTION DIAGNOSTIC -- SEC. H1-6 ****** * * ---- H16000 ---- * * ANDE *MEM(X),A ****** H16000 EQU $ COPY =1,X COPY =CEL131,A COPY A,CEL130 CEL131 ADD IN CEL130 COPY PT5555,A COPY A,CEL132 COPY PT6666,A ANDE *CEL130(X),A AND CEL132 WITH A CSK A,=:4444 NOP ERROR: ANDE,FAILED,--,AREG,SHOULD,=:4444 * ********* * * ---- H16001 ---- * * ANDE *MEM(X),Q * ********* H16001 EQU $ COPY PT6666,Q ANDE *CEL130(X),Q AND CEL132 WITH Q  CSK Q,=:4444 NOP HLT ANDE FAILED -- Q SHOULD = :4444 PATCHX H15000 JMP H17000 * CEL130 WORD 0 CEL131 WORD 0 CEL132 WORD 0 LPOOL TITL ********* * * ---- H17000 ---- * * ORE *MEM(Y),Q * ****** H17000 EQU  $ COPY =1,Y COPY =CEL132,A COPY A,CEL131 COPY PTAAAA,A COPY A,CEL132 COPY PT6666,Q ORE *CEL130(Y),Q OR CEL132 WITH Q CSK Q,=:EEEE NOP ERROR: ORE,FAILED,--,Q,SHOULD,=,:EEEE * ********* * * ---- H17001 ---- * * ORE *MEM(Y),A * ********* H17001 EQU $ COPY PT6666,A  ORE *CEL130(Y),A OR CEL132 WITH A CSK A,=:EEEE NOP HLT ORE FAILED -- A SHOULD = :EEEE TITL INSTRUCTION DIAGNOSTIC -- SEC. H1-8 ****** * * ---- H18000 ---- * * XORE MEM(X,Y),A * ****** H18000 EQU $ COPY =2,X COPY =0,Y COPY PT5555,A COPY A,CEL132 COPY PT6666,A  XORE CEL130(X,Y),A XOR CEL132 WITH A CSK A,=:3333 NOP ERROR: XORE,FAILED,--,A,SHOULD,=,:3333 * ********* * * ---- H18001 ---- * * XORE MEM(X,Y),Q * ********* H18001 EQU $ COPY PT6666,Q XORE CEL130(X,Y),Q XOR CEL132 WITH Q CSK Q,=:3333 NOP HLT XORE FAILED -- Q SHOULD = :3333 * PATCHX H17000 TITL INSTRUCTION DIAGNOSTIC -- SEC. H1-9 ****** * * ---- H19000 ---- * * JSTE MEM * JMPE MEM * ****** H19000 EQU $ JSTE H19002 H19001 EQU $ ERROR: JSTE,FAILED,--,DID,NOT,JUMP  JMP H19004 * * H19002 ENT COPY =H19001,A CSK A,H19002 NOP JMP H19003 ABNORMAL EXIT -- BAD RETURN ADDRESS IMS H19002 JMP *H19002 * * H19003 EQU $ ERROR: JSTE,FAILED,--,BAD,RETURN,ADDR,IN,H11062 H19004 JMPE H19005 ERROR: JMPE,FAILED H19005 EQU $ PATCHX H19000 TITL TITL INSTRUCTION DIAGNOSTIC -- SEC. H1-A ******** * * ---H1A000--- * * IMSE *MEM * ****** H1A000 EQU $ COPY =CEL131,Q COPY Q,CEL130 COPY =-1,A COPY A,CEL131 IMSE *CEL130 INCREMENT CEL131 ERROR: IMSE,FAILED,--,CEL131,SHOULD,=,0   IMSE *CEL130 JMP $+2 ERROR: IMSE,FAILED,--,CEL131,SHOULD,=,1 COPY CEL131,A CSK A,=1  NOP ERROR: IMSE,FAILED,--,WRONG,INCREMENT COPY PT7FFF,A COPY A,CEL131 IMS CEL131 JMP $+2 ERROR: IMSE,FAILED JT OV,$+2 ERROR: IMSE,FAILED,--,OV,SHOULD,BE,1 TITL INSTRUCTION DIAGNOSTIC -- SEC. H1-B ****** * * ---- H1B000 ---- * * DMSE *MEM * ****** H1B000 EQU $ COPY =TEMP02,A COPY A,TEMP01 COPY =0,A COPY A,TEMP02 DMSE *TEMP01 DECREMENT TEMP02 ERROR: DMSE,FAILED,--,TEMP02,SHOULD,=,-1 DMSE *TEMP01 JMP $+2 ERROR: DMSE,FAILED,--,TEMP02,SHOULD,=,-2 COPY TEMP02,A  CSK A,PTFFFE NOP ERROR: DMSE,FAILED,--,WRONG,INCREMENT COPY PT8000,A COPY A,TEMP02  DMSE TEMP02 JMP $+2 ERROR: DMSE,FAILED JT OV,$+2 ERROR: DMSE,FAILED,--,OV,SHOULD,BE,1  PATCHX H1A000 JMP H21000 LPOOL H1C000 EQU $ TITL INSTRUCTION DIAGNOSTIC -- SEC. H2 ********************************************************* * * -----SECTION H2------------ * * TESTING OF THE FOLLOWING INSTRUCTIONS: * * JSKXIT * * G06028 ENT HLT UNEXPECTED STACK EXCEPTION TRAP * G06029 JMP G06020 PATCH FOR LOOPING ORG $-1 NOP OVERLAY WITH NOP JMP G06050 LPOOL TITL AUTO I/O TEST * * ********** * * THIS ROUTINE TEST AUTO I/O TO AND FROM THE CRT. * * THE INTERRUPT VECTORS ARE SET UP IN THE FOLLOWING MANNOR * * AOB AOB :F8 * COUNT  -BYTE COUNT * OUTPUT BUFFER ADDRESS * ALL ZEROES * JST $+1 * EOB ROUTINE TO JMP TO * *********** * ********** * * THIS ROUTINE SHOULD SENT 4 BYTES OF DATA TO THE CRT * AFTER THE AUTO I/O PROCEDURE HAS STARTED.TO START THE * AUTO I/O PROCEDURE SET UP THE INTERRUPT VECTOR AS * DESCRIBED ABOVE.THEN OUTPUT :610 TO LOCATION :F9(CRT) * TO START THE PROCEDURE,FINALLY ENABLE BIT 8 IN THE * STATUS REGISTER AND 'TEST' SHOULD APPEAR ON THE CRT. * ********** * * IOD EQU :F8 ADDRESS OF CRT INTBAS EQU :E0 1ST ADDRESS OF INTERRUPT VECTOR PRINT33 BYTE :0A,'TEST',:0D OUTPUT BUFFER LPRINT33 EQU $-PRINT33*2 RESET EQU :100 AOB1 AOB IOD+0 KOM EQU :612 START AUTO I/O EOB1 JST *$+1 WORD00 WORD 0 * * G06050 EQU $ COPY =:40,A COPY A,S SET STATUS COPY AOB1,A COPY A,:E0 COPY WORD00,A COPY  A,:E3 COPY A,:E6 COPY A,:E7 FILL IN UNUSED LOCATIONS WITH ZEROES COPY =LPRINT33,X GET MESSAGE LENGTH COPY =RESET,A OUT A,IOD+1 RESET THE CRT NEG X,X NEGATE THE BYTE COUNT COPY =PRINT33,Q SUB =1,Q SUBSTRACT 1 FROM Q SHIFT Q,LO,1 JF OV,$+2 IF IN 1ST 32K OV =0 RBIT 15,X ADD =1,Q GET Q BACK COPY X,:E1 PUT OUTPUT BUFFER IN :E1 COPY Q,:E2 COPY EOB1,A COPY A,:E4 PUT JST $+1 IN :E4 COPY =G06056,A EOB INTERRUPT ROUTINE ADDRESS COPY A,:E5 STORE IN :E5 COPY =KOM,A OUT A,IOD+1 START AUTO I/O(WHEN BIT 8 SET) COPY =:140,Q COPY Q,S ENABLE GLOBAL INTERRUPTS COPY =2,Y IJNE Y,$ IDLE A WHILE RBIT 8,  S DISABLE INTERRUPTS HLT EOB INTERRUPT NEVER OCCURRED JMP G06050 PATCH FOR LOOPING ORG $-1 NOP  OVERLAY WITH NOP JMP G08000 SKIP AUTO IO INPUT TEST BECAUSE OF * ...PROBLEMS OF OPERATOR INTERFACE * * G06056 ENT RBIT 8,S DISABLE INTERRUPTS JMP G08000 SKIP AUTO IO INPUT TEST BECAUSE OF *  ...PROBLEMS WITH OPERATOR INTERFACE LPOOL TITL * ******** * * TEST AUTO I/O INPUT * * THE INTERRUPT VECTOR IS SET UP IN THE FOLLOWING MANNOR * * AIB AIB :F8 * NEGITIVE BYTE COUNT * INPUT BUFFER ADDRESS * ALL ZEROES * JST JST *$+1 * ADDRESS OF EOB ROUTINE * *********** * ********* * * IN ORDER TO EXECUTE THIS TEST THE OPERATOR MUST * TYPE IN FOUR LETTERS OR A CARRIAGE RETURN WHEN * D0D0 APPEARS ON THE CONSOLE DATA REGISTER. THIS TEST * IS NORMALLY SKIPPED BECAUSE OF THIS. * * TO EXECUTE THIS TEST,THE INTERRUPT VECTOR IS SET UP * AS DESCRIBED ABOVE.THEN :E18 MUST BE OUTPUT TO LOCATION * :F9 (CRT) (THIS MEANS IT IS WAITING FOR DATA TO BE INPUT * OR A CARRIAGE RETURN.FINALLY BIT 8 OF THE STATUS REGISTER * MUST BE ENABLED. * ********* * AIB1 AIB IOD+0 IBUFF RES 2,0 INPUT BUFFER ADDRESS ADDRESS EQU $-IBUFF*2 KIN EQU :E18 STARTS INPUT * G06090 EQU $ COPY AIB1,A COPY A,:E0 STORE IN 1ST INTERRUPT LOCATION COPY =RESET,A COPY A,IOD+1 RESET CRT COPY =ADDRESS,Q GET MESSAGE LENGTH NEG Q,Q NEGATE THE BYTE COUNT COPY =IBUFF,X SUB =1,X SHIFT X,LO,1 JF OV,$+2 IF IN 1ST 32K THEN OV =0 RBIT 15,Q ADD  =1,X COPY Q,:E1 BYTE COUNT IN :E1 COPY X,:E2 INPUT BUFFER ADDRESS COPY WORD00,A COPY A,:E3 COPY  A,:E6 COPY A,:E7 FILL IN UNUSED LOCATIONS WITH ZEROES COPY EOB1,A JST *$+1 INSTRUCTION COPY A,:E4 STORE IN 5TH INTERRUPT LOCATION COPY =G06096,A EOB INTERRUPT ROUTINE ADDRESS COPY A,:E5 STORE IN 6TH INTERRUPT LOCATION COPY =:D0D0,A SELP A,4 TELL OPERATOR TO TYPE IN FOUR * ...LETTERS OR A CARRIAGE RETURN COPY =KIN,A OUT A,IOD+1 INITIALIZE AUTO I/O(WHEN BIT SET) SBIT 8,S ENABLE INTERRUPTS JMP *+1  JUMP RELATIVE WORD $-1 RBIT 8,S DISABLE INTERRUPTS HLT EOB INTERRUPT DID NOT OCCUR JMP G06090  PATCH FOR LOOPING ORG $-1 NOP OVERLAY WITH NOP JMP G06099 ERROR EXIT * G06096 ENT RBIT 8,S DISABLE INTERRUPTS G06099 JMP G08000 LPOOL TITL NON-INTERRUPTABILITY TESTING ************ * * NON-INTERRUPTILITY TESTING * * JST MEM * JSK MEM * JSKE MEM * PUSH VAL * POP * SBIT 8,S * CBIT 8,S * COPY 8REG,S * XNX 4REG * UIS * * ALL INSTRUCTIONS ARE TESTED FOR BEING NON-INTERRUPTABLE * THE NON-INTERRUPTIBILITY OF STATUS REGISTER BIT CHANGE * INSTRUCTIONS IS TESTED ONLY WHEN THE INTERRUPT BIT IS * CHANGED.THE NON-INTERRUPTIBILITY TESTING OF XNX REFERES * TO TESTING THAT XNX DOES NOT ALTER THE NON-INTERRUPTIBILITY * OF A NON INTERRUPTIBILITY INSTRUCTION IT INDEXES. * *********** * TITL ******* * * JST MEM AS NON INTERRUPTABLE INSTRUCTION * ******* * ********** * * THIS MAKES SURE THE JST IN! STRUCTION WILL NOT BE * INTERRUPTED BY AN INTERRUPT REQUEST. * *********** * G08000 EQU $ COPY STATSV,A RESTORE STATUS COPY A,S COPY JST1,A JST *$+1 COPY A,:E4 COPY =G08007,A INTERRUPT SERVICE ROUTINE ADDRESS COPY A,:E5 SIN 3 COPY =:6F2,A BRANCH TO FIRMWARE ADDRESS :F OUT A,CRTDEVA --TO CAUSE INTERRUPT COPY =0,A JST G08004 RBIT 8,S DISABLE INTERRUPTS HLT JST FAILED--DID NOT JMP JMP G08009 ERROR EXIT G08004 ENT COPY =1,A NOP ALLOW INTERRUPT TO OCCUR RBIT 8,S DISABLE INTERRUPTS HLT INTERRUPT DID NOT OCCUR JMP G08009 ERROR EXIT G08007 ENT INTERRUPT SERVICE ROUTINE JNE A,$+2 HLT  INTERRUPT DID NOT OCCUR * G08009 JMP G08000 PATCH FOR LOOPING ORG $-1 NOP OVERLAY WITH NOP TITL TITL ********** * * JSK MEM AS NON INTERRUPTABLE INSTRUCTION * ********** * ********** * * THIS MAKES SURE THE JSK INSTRUCTION WILL NOT BE * INTERRUPTED BY AN INTERRUPT REQUEST * *********** * G08020 EQU $ COPY STATSV,A RESTORE STATUS COPY A,S COPY =G08026,A INTERRUPT SERVICE ROUTINE ADDRESS COPY A,:E5 STORE AT INTERRUPT LOCATION COPY =:9C,X STACK TRAP LOCATION COPY =G08028,A TRAP SERVICE ROUTINE ADDRESS COPY A,3(X) STORE IN 4TH WORD OF TRAP COPY =STAKLP2,A STACK LIMIT COPY A,L LOAD L REG COPY =STAKKP2,A STACK POINTER COPY A,K LOAD K REG SIN 3 COPY =:6F2,A BRANCH TO FIRMWARE LOCATION :F OUT A,CRTDEVA --TO FORCE AN INTERRUPT  COPY =0,A JSK G08024 SHOULD BE NON-INTERRUPTABL;E RBIT 8,S HLT JSK DID NOT OCCUR JMP G08029 ERROR EXIT G08024 EQU $ COPY =1,A COPY SHOULD EXECUTE BEFORE INTERRUPT NOP ALLOW INTERRUPT TO OCCUR RBIT 8,S HLT INTERRUPT DID NOT OCCUR JMP G08029 ERROR EXIT G08026 ENT JNE A,$+2 TEST A HLT JSK IS INTERRUPTABLE--ERROR JMP G08030 EXIT G08028 EQU $ STACK SERVICE ROUTINE SIN 1 RBIT 8,S DISABLE INTERRUPTS HLT UNEXPECTED STACK OVERFLOW G08029 JMP G08020 PATCH FOR LOOPING ORG $-1 NOP OVERLAY WITH NOP TITL ******** * * JSKE MEM AS NON INTERRUPTABLE INSTRUCTION * ******** * ******** * * THIS MAKES SURE THAT THE JSKE INSTRUCTION WILL * NOT BE INTERRUPTED BY AN INTERRUPT REQUEST * ******** * G08030 EQU $ FMT A TEST TO SEE IF THIS IS A 01 OR 02 SCOUT CSK A,=:43 IF =:43 D0 TEST NOP JMP G08040 SKIP TEST COPY STATSV,A INITIALIZE STATUS COPY A,S COPY =G08036,A INTERRUPT SERVICE ROUTINE ADDRESS COPY A,:E5 STORE AT INTERRUPT LOCATION COPY =G08038,A STACK TRAP SERVICE ROUTINE ADDRESS COPY A,3(X) STORE IN 4TH WORD OF TRAP (9F0 COPY =STAKLP2,A STACK LIMIT COPY A,L LOAD L REG COPY =STAKKP2,A STACK PIONTER COPY A,K STACK POINTER SIN 3 COPY =:6F2,A BRANCH TO FIRMWARE LOCATION :F OUT A,CRTDEVA --TO CAUSE INTERRUTP COPY =0,A JSKE G08034 NOP RBIT 8,S HLT INTERRUPT DID NOT OCCUR * G08034 EQU $ COPY =1,A COPY SHOULD E" XECUTE BEFORE INTERRUPT OCCURS NOP ALLOW INTERRUPT TO OCCUR RBIT 8,S RESET INTERRUPTS HLT INTERRUPT DID NOT OCCUR JMP G08039 ERROR EXIT G08036 ENT JNE A,$+2 TEST A HLT JSKE IS INTERRUPTABLE JMP G08039 ERROR EXIT G08038 EQU $ SIN 1 RBIT 8,S DISABLE INTERRUPTS HLT UNEXPECTED STACK OVERFLOW G08039 JMP G08030 PATCH FOR LOOPING ORG $-1 NOP OVERLAY WITH NOP JMP G08040 * * * DATA * STAKP2  RES 13,0 STAKLP2 EQU STAKP2 STAK1P2 EQU STAKP2+7 STAKKP2 EQU STAKP2+8 STAKXP2 EQU STAKP2+13 * LPOOL TITL ********** * * PUSH VAL AS NON-INTERRUPTABLE INSTRUCTION * ********** * *********** * * THIS MAKES SURE THAT THE PUSH INSTRUCTION CAN NOT * BE INTERRUPTED. * ************ * G08040 EQU $ COPY STATSV,A INITIALIZE STATUS COPY A,S COPY =G08046,A INTERRUPT SERVICE ROUTINE ADDRESS COPY A,:E5 STORE AT INTERRUPT LOCATION COPY =G08048,A  STORE TRAP SERVICE ROUTINE COPY A,3(X) STORE IN 4TH TRAP LOCATION COPY =STAKLP2,A STACK LIMIT COPY A,L LOAD L REG COPY =STAKXP2,A STACK POINTER COPY A,K LOAD K REG SIN 3 COPY =:6F2,A BRANCH TO FIRMWARE ADDRESS :F OUT A,CRTDEVA TO CAUSE INTERRUPT COPY =0,A PUSH 0 SHOULD BE NON-INTERRUPTABLE COPY  =1,A COPY SHOULD EXECUTE BEFORE INTERRUPT NOP RBIT 8,S HLT INTERRUPT DID NOT OCCUR JMP G08049 ERROR EXIT G08046 ENT INTERRUPT SERVICE ROUTINE JNE A,$+2 HLT PUSH WAS INTERRUPTED JMP G08049 * G08048 EQU $ STACK OVERFLOW TRAP ROUTINE SIN 1 RBIT 8,S HLT UNEXPECTED STACK OVERFLOW TRAP * G08049 JMP G08040 PATCH FOR LOOPING ORG $-1 NOP OVERLAY WITH NOP * COPY =USET1,A UNEXPECTED STACK TRAP ROUTINE ADDRESS COPY A,3(X) STORE IN 4TH WORD OF TRAP ********** * * POP AS INTERRUPT INSTRUCTION * *********** * G08050 EQU $ COPY STATSV,A INITIALIZE STATUS COPY A,S COPY =G08056,A INTERRUPT SERVICE ROUTINE ADDRESS COPY A,:E5 STORE AT INTERRUPT LOCATION COPY =STAKLP2,A STACK LIMIT COPY A,L LOAD L REG COPY =STAK1P2,A STACK POINTER COPY A,K LOAD K REG COPY STATSV,A INITIALIZE STACK COPY A,STAK1P2+1 COPY =0,A COPY A,STAK1P2+2 * SIN 3 COPY =:6F2,A BRANCH TO FIRMWARE ADDRESS :F OUT A,CRTDEVA  --TO CAUSE AN INTERRUPT COPY =0,A POP SHOULD BE NON-INTERRUPTABLE COPY =1,A COPY SHOULD EXECUTE BEFORE INTERRUPT NOP ALLOW INTERRUPT TO OCCUR RBIT 8,S DISABLE INTERRUPTS HLT INTERRUPT DOES NOT OCCUR JMP G08059 * * G08056 ENT INTERRUPT SERVICE ROUTINE JNE A,$+2 HLT POP WAS INTERRUPTED * G08059 JMP G08059 PATCH FOR LOOPING ORG $-1 NOP OVERLAY WITH NOP JMP G08060 * LPOOL * TITL * ************ * * SBIT 8,S AS NON-INTERRUPTABLE INSTRUCTION * ************ * G08060 EQU $ COPY =:40,A COPY  A,S INITIALIZE STATUS COPY =G08066,A INTERRUPT SERVICE ROUTINE ADDRESS COPY A,:E5 STORE AT INTERRUPT LOC# ATION COPY =:6F2,A BRANCH TO FIRMWARE ADDRESS :F OUT A,CRTDEVA --TO CAUSE INTERRUPT COPY =0,A SBIT 8,S  ENABLE INTERRUPTS COPY =1,A COPY SHOULD EXECUTE BEFORE INTERRUPT NOP RBIT 8,S DISABLE INTERRUPTS HLT INTERRUPT DID NOT OCCUR JMP G08069 ERROR EXIT * G08066 ENT INTERRUPT SERVICE ROUTINE JNE A,$+2 CHECK TO SEE IF COPY OCCURED HLT SBIT IN S IS INTERRUPTABLE G08069 JMP G08060 PATCH FOR LOOPING ORG $-1 NOP OVERLAY WITH NOP TITL * ********** * * CBIT 8,S AS NON-INTERRUPTABLE INSTRUCTION * ********** * G08070 EQU $ COPY =:40,A COPY A,S INITIALIZE STATUS COPY =G08076,A INTERRUPT SERVICE ROUTINE ADDRESS COPY A,:E5 STORE AT INTERRUPT ADDRESS COPY =:6F2,A BRANCH TO FIRMWARE ADDRESS :F OUT A,CRTDEVA --TO CAUSE INTERRUPT COPY =0,A CBIT 8,S SHOULD BE NON-INTERRUPTABLE COPY =1,A SHOULD EXECUTE BEFORE INTERRUPT NOP  RBIT 8,S DISABLE INTERRUPTS HLT INTERRUPT DID NOT OCCUR JMP G08079 ERROR EXIT * G08076 ENT INTERRUPT SERVICE ROUTINE JNE A,$+2 CHECK TO SEE IF COPY OCCURED HLT CBIT IS INTERRUPTABLE G08079 JMP G08070 PATCH FOR LOOPING ORG $-1 NOP OVERLAY WITH NOP TITL * ********* * * XNX 4REG AS NON-INTERRUPTABLE INSTRUCTION * ********** * G08090 EQU $ COPY =:40,A COPY A,S INITIALIZE STATUS COPY =G08096,A INTERRUPT ROUTINE SERVICE ADDRESS COPY A,:E5 SAVE AT INTERRUPT LOCATION COPY =:6F2,Q BRANCH TO FIRMWARE ADDRESS :F OUT Q,CRTDEVA --TO CAUSE INTERRUPT COPY =:0,A SBIT 8,S ENABLE INTERRUPTS XNX A JST G08094 SHOULD BE NON INTERRUPTABLE RBIT 8,S DISABLE INTERRUPTS HLT JST FAILED--DID NOT JMP JMP G08099 ERROR EXIT * G08094 ENT COPY =1,A COPY SHOULD EXECUTE BEFORE INTERRUPT NOP RBIT 8,S DISABLE INTERRUPTS HLT INTERRUPT DID NOT OCCUR JMP G08099 ERROR EXIT * G08096 ENT INTERRUPT SERVICE ROUTINE JNE A,$+2 TEST TO SEE IF COPY OCCURRED HLT JST AFTER XNX IS INTERRUPTABLE G08099 JMP G08090 PATCH FOR LOOPING ORG $-1 NOP OVERLAY WITH NOP TITL * ********* * * UIS AS NON-INTERRUPTABLE INSTRUCTION * ********* * G080A0 EQU $ COPY =:40,A COPY A,S INITIALIZE STATUS COPY =G080A6,A INTERRUPT SERVICE ROUTINE COPY A,:E5 SAVE IN INTERRUPT LOCATION  COPY =:6F2,A BRANCH TO FIRMWARE ADDRESS :F OUT A,CRTDEVA -- TO CAUSE INTERRUPT COPY =0,A SBIT 8,S ENABLE INTERRUPTS UIS SHOULD BE NON-INTERRUPTABLE COPY =1,A COPY SHOULD EXECUTE BEFORE INTERRUPT NOP RBIT 8,S DISABLE INTERRUPTS HLT INTERRUPT DID NOT OCCUR JMP G080A9 ERROR EXIT * G080A6 ENT INTERRUPT SERVICE ROUTINE ADDRESS JNE A,$+2 CHECK TO SEE IF COPY OCCURRED HLT UIS IS INTERRUPTABLE G080A9 JMP G080A0 PATCH FOR LOOPING ORG $-1 NOP OVERLAY WITH NOP JMP G09000 LPOOL * G09000 JMP PART3ST  LEAVE SPACE FOR DMA * * DMA TO GO IN LATER TITL I/O TEST IMPLEMENTATION **********************************$ **************************************** * * THE I/O TEST FUNCTIONS ARE PRESENTLY NOT IMPLEMENTED * DUE TO THE LACK OF AN I/O TEST CARD. * ************************************************************************ RES $;:1F-$&:1F+1,0 PART3ST SET $ TITL PAT405P3 FLOATING POINT INSTRUCTIONS TESTING TITL FLOATING POINT INITIALIZATION NAM FLPT NAM INITRP MACHINE =:20 ORG PART3ST ATRAP EQU :A8 FLPT EQU $ FMT A IS THIS A 4/04-01 OR 02?? CSK A,=:43 IF = TO :43 IT IS A 4/04-02 NOP JMP PART3:1 IT IS A 4/04-01 SO SKIP THIS TEST COPY DEMAND,A FETCH TEST SELECTION AND =:20,A TEST BIT 5 JNE A,$+2 IF SET, EXECUTE TEST JMP PART3:1 EXIT TEST IF NOT SET COPY =5,A FLOATING POINT RUN INDICATOR SELP A,4 OUTPUT TO CONSOLE JMP FLTPT0 * * TRAP INITIALIZATION SUBROUTINE * INITRP ENT COPY =AET2,A SET UP TRAP VECTOR COPY A,ATRAP+3 COPY =0,A COPY A,ATRAP CLEAR SAVED 'P' COPY A,ATRAP+1 CLEAR SAVED 'I' COPY A,QTEMP ZERO OUT TRAP FLAG JMP *INITRP LPOOL FLTPT0 COPY =0,A COPY A,IDPCNT SET UP LOOP COUNTER FLTPT1 EQU $ TITL --FIX-- INSTRUCTION TEST (PART 3-1) * * * THE FOLLOWING INSTRUCTION IS TESTED IN THIS SECTION: * * FIX * * * +:000000 FIX = :0000 :0000 POSITIVE ZERO FLTEST :0000,:0000,FIX,,,SP,:0000,:0000,S TITL * -:000000 FIX = :0000 :0000  NEGATIVE ZERO FLTEST :8000,:0000,FIX,,,SP,:0000,:0000,S TITL * +:FFF64F +0 FIX = :0000 :0000 ALL FRACTION FLTEST :407F,:F64F,FIX,,,SP,:0000,:0000,S TITL * +:FFFFFF +15 FIX = :0000 :7FFF MAX POS. S.P., CHECK TRUNCATION  FLTEST :47FF,:FFFF,FIX,,,SP,:0000,:7FFF,R TITL * -:800000 +1 FIX = :FFFF :FFFF MIN NEG. S.P., CHECK TRUNCATION  FLTEST :C080,:0000,FIX,,,SP,:FFFF,:FFFF,S TITL * +:800000 +16 FIX = :0000 :8000 SMALLEST POS. D.P. FLTEST :4800,:0000,FIX,,,DP,:0000,:8000,S TITL * +:800000 +17 FIX = :0001 :0000 CROSS WORD BOUNDARY FLTEST :4880,:0000,FIX,,,DP,:0001,:0000,R TITL * +:FFFFFF +31 FIX = :7FFF :FF80 MAX POS. D.P. FLTEST :4FFF,:FFFF,FIX,,,DP,:7FFF,:FF80,S TITL * -:800000 +32 FIX = :8000 :0000 MAX. NEG. D.P. FLTEST :D000,:0000,FIX,,,DP,:8000,:0000,R TITL * -:800001 -128 FIX= :0000 :0000 SMALL NEG FRACTION FLTEST :8000,:0001,FIX,,,SP,:0000,:0000,R TITL * -:C00001 +02 FIX= :FFFF :FFFD NEG INT, FRACT FLTEST :C140,:0001,FIX,,,SP,:FFFF,:FFFD,S TITL * +:CFFFFF +02 FIX= :0000 :0003 POS INT, TRUNCATION FLTEST :417F,:FFFF,FIX,,,SP,:0000,:0003,R TITL * +:FFFFFF +32 FIX = :FFFF :FF00 OVERFLOW FLTEST :507F,:FFFF,FIX,,,OV,:FFFF,:FF00,S TITL * +:800000 +33 FIX = NON NON OVERFLOW FLTEST :5080,:0000,FIX,,,OV,,,R TITL * -:800001 +32 FIX = NON NON OVERFLOW FLTEST :D000,:0001,FIX,,,OV,,,S * TITL --FLOAT-- INSTRUCTION TEST (PART 3-2) * * * THE FOLLOWING INSTRUCTION IS TESTED IN THIS SECTION: * * FLOAT * * FLTEST :0000,:0000,FLOAT,,,OK,:0000,:0000,R TITL FLTEST :0000,:7FFF,FLOAT,,,OK,:47FF,:FE00,S TITL FLTEST :0000,:8000,FLOAT,,,OK,:4800,:0000,R TITL FLTEST :0001,:0000,FLOAT,,,OK,:4880,:0000,S TITL FLTEST :7FFF,:FF80,FLOAT,,,OK,:4FFF,:FFFF,R TI% TL FLTEST :FFFF,:FFFF,FLOAT,,,OK,:C080,:0000,S TITL FLTEST :8000,:0000,FLOAT,,,OK,:D000,:0000,R * TITL --CSKF-- INSTRUCTION TEST (PART 3-3) * * * THE FOLLOWING INSTRUCTION IS TESTED IN THIS SECTION: * * CSKF * * FLTEST :0000,:0000,CSKF,:0000,:0001,LT,,,S TITL FLTEST :0000,:0000,CSKF,:8000,:0001,GT,,,R TITL FLTEST :0000,:0000,CSKF,:0000,:0000,EQ,,,S TITL FLTEST :0000,:0001,CSKF,:0000,:0000,GT,,,S TITL FLTEST :8000,:0001,CSKF,:0000,:0000,LT,,,R TITL FLTEST :8000,:0000,CSKF,:8000,:0000,EQ,,,S TITL FLTEST :0000,:0000,CSKF,:8000,:0000,EQ,,,R TITL FLTEST :8000,:0000,CSKF,:0000,:0000,EQ,,,S TITL FLTEST :0000,:8000,CSKF,:0000,:8001,LT,,,R TITL FLTEST :0000,:8001,CSKF,:0000,:8000,GT,,,S JMP PART3:1 RES $;:1F-$&:1F+1,0 PART3:1 SET $ TITL NAM CHRIS MACHINE =:20 ORG PART3:1 * CHRIS EQU $ FMT A CHECK MACHINE TYPE CSK A,=:43 SKIP IF NOT A 4/04-02 NOP JMP PART3:2 SKIP JMP RRRR * RRRR EQU $ FLTEST :0000,:8000,CSKF,:0000,:8000,EQ,,,R TITL  FLTEST :FFFF,:8000,CSKF,:FFFF,:8001,GT,,,S TITL FLTEST :FFFF,:8001,CSKF,:FFFF,:8000,LT,,,R TITL FLTEST :FFFF,:8000,CSKF,:FFFF,:8000,EQ,,,S TITL FLTEST :5555,:5555,CSKF,:AAAA,:AAAA,GT,,,R TITL FLTEST :AAAA,:AAAA,CSKF,:5555,:5555,LT,,,S TITL FLTEST :5555,:AAAA,CSKF,:AAAA,:5555,GT,,,R TITL FLTEST :AAAA,:5555,CSKF,:5555,:AAAA,LT,,,S TITL FLTEST :5555,:AAAA,CSKF,:5555,:AAAA,EQ,,,R TITL FLTEST :AAAA,:5555,CSKF,:AAAA,:5555,EQ,,,S TITL FLTEST :577C,:D405,CSKF,:57FC,:D405,LT,,,R TITL FLTEST :577C,:D405,CSKF,:56FC,:D405,GT,,,S TITL  FLTEST :577C,:D405,CSKF,:577C,:D405,EQ,,,R TITL FLTEST :C6A6,:4ED3,CSKF,:C6A6,:4ED2,LT,,,S TITL FLTEST :C6A6,:4ED3,CSKF,:C6A6,:4ED4,GT,,,R TITL FLTEST :C6A6,:4ED3,CSKF,:C6A6,:4ED3,EQ,,,S * TITL --CSKF-- INSTRUCTION TEST (PART 3-4) * * * * THE FOLLOWING INSTRUCTION IS TESTED IN THIS SECTION: * * CSKF * * FLTEST :3CBE,:7428,CSKF,:3CBE,:7429,LT,,,R TITL FLTEST :3CBE,:7428,CSKF,:3CBE,:7427,GT,,,S TITL FLTEST :3CBE,:7428,CSKF,:3CBE,:7428,EQ,,,R TITL FLTEST :7FFF,:FFFF,CSKF,:007F,:FFFF,GT,,,S TITL FLTEST :7FFF,:FFFF,CSKF,:7FFF,:FFFE,GT,,,R TITL  FLTEST :7FFF,:FFFF,CSKF,:7FFF,:FFFF,EQ,,,S * TITL --ADDF-- INSTRUCTION TEST (PART 3-5) * * * * THE FOLLOWING INSTRUCTION IS TESTED IN THIS SECTION: * * ADDF * * * +:C43D4E +34 ADDF +:000000 = +:C43D4E +34 ADD +ZERO  FLTEST :5144,:3D4E,ADDF,:0000,:0000,OK,:5144,:3D4E,R TITL * +:C43D4E +34 ADDF -:000000 = +:C43D4E +34 ADD -ZERO  FLTEST :5144,:3D4E,ADDF,:8000,:0000,OK,:5144,:3D4E,S TITL * +:000000 ADDF -:000000 = +:000000 +0 ADD -0  FLTEST :0000,:0000,ADDF,:8000,:0000,OK,:0000,:0000,R TITL * +:C43D4E +34 ADDF +:9EFB4C +34 = +:B19C4D +35 CARRY INTO EXP. FLTEST :5144,:3D4E,ADDF,:511E,:FB4C,OK,:51B1,:9C4D,S TITL * -:8264CA +13 ADDF -:A6B183 +8 = -:879A56 +13 PRE-SCALE REQUIRED FLTEST :C682,:64CA,ADDF,:C426,:B183,OK,:C687,:9A56,R TITL * -:A6B183 +8 ADDF -:8264CA +13 = -:879A56 +13 PRE-& SCALE REQUIRED FLTEST :C426,:B183,ADDF,:C682,:64CA,OK,:C687,:9A56,S TITL * +:E483A9 -37 ADDF +:B73145 -44 = +:E5F20C -37 CHECK ROUNDING FLTEST :2DE4,:83A9,ADDF,:2A37,:3145,OK,:2DE5,:F20C,R TITL * +:B73145 -44 ADDF +:E483A9 -37 = +:E5F20C -37 CHECK ROUNDING FLTEST :2A57,:3145,ADDF,:2DE4,:83A9,OK,:2DE6,:320C,S TITL * +:A94868 +83 ADDF -:8C547E +83 = +:E79F50 +80 SUB, NO BORROW FLTEST :69A9,:4868,ADDF,:E98C,:547E,OK,:6867,:9F50,R TITL * -:8C547E +83 ADDF +:A94868 +83 = +:E79F50 +80 SUB, NO BORROW FLTEST :E98C,:547E,ADDF,:69A9,:4868,OK,:6867,:9F50,S TITL * -:C84986 -23 ADDF +:8246A1 -26 = -:B800B2 -23 SUB, NO BORROW FLTEST :B4C8,:4986,ADDF,:3302,:46A1,OK,:B4B8,:00B2,R * TITL --ADDF-- INSTRUCTION TEST (PART 3-6) * * * * THE FOLLOWING INSTRUCTION IS TESTED IN THIS SECTION: * * ADDF * * * +:8246A1 -26 ADDF -:C84986 -23 = -:B800B2 -23 SUB, WITH BORROW+RNDUP FLTEST :3302,:46A1,ADDF,:B4C8,:4986,OK,:B4B8,:00B2,S TITL * +:A6ED4F-128 ADDF +:0 = +:A6ED4F-128 ADD ZERO FLTEST :0026,:ED4F,ADDF,:0000,:0000,OK,:0026,:ED4F,R TITL * +:0  ADDF +:A6ED4F-128 = +:A6ED4F-128 ADD ZERO FLTEST :0000,:0000,ADDF,:0026,:ED4F,OK,:0026,:ED4F,S TITL * +:FFFC00+127 ADDF +:FFF7FF+112 = +:FFFFFF+127 MAX POS W/ROUNDUP FLTEST :7FFF,:FC00,ADDF,:78FF,:BFFF,OK,:7FFF,:FFFF,R JMP PART3:2 RES $;:1F-$&:1F+1,0 PART3:2 SET $ TITL NAM THIRD MACHINE =:20 ORG PART3:2 THIRD EQU $ * +:FFF 811009033706e 811009103821811009103821811130124852eú811009103821811009103821811130124850e' 811009103821811009103821811130162307e811009103821811009103821811009103821811009103821811009103821811009103821eÈ dÌ.nçìý8111301244552581113012463800811130124832eƒ-ð[à8111251623370081112516244175811130092112e°2ñe8111250942437581112516222275811130092156 eâÊ8110010950022581112516244325811130092233(  eäN8110121313542581101213135525811130092409 eòœ8111250939312581112509393225811130092336 eíôØ$8110230412552581102304131150811023041311 . PAT404 ASMPAT404 BINPAT404 OBJ PATLINK MAP PATPRINT JCL PATJCL JCLPAT404 LSTE MEM H21000 * CEA MEM H22000 * CSME 4REG,MEM H23000 *  ADDC MEM,2REG H24000 * SUBC MEM,2REG H25000 * COPY MEM,AQ/AX/AY H26000 * ) COPY AQ,AX,AY,MEM H27000 * MUL MEM,AQ/AX/AY H28000 * DIV MEM,AQ/AX/AY H29000 * ************************************************** TITL ******************************************************* * * TEST STRUCTURE: * * H21000-JSKE IS TESTED ON ALL ASPECTS OF * OPERATION, INCLUDING OPERATION OF * THE STACK EXCEPTION TRAP. * * H22000-CEA IS TESTED FOR CORRECT OPERATION. * * H23000-CSME IS TESTED ON ALL OUTCOMES OF *  THE COMPARE. * * H24000-ADDC IS TESTED FOR CORRECT OPERATION * INCLUDING EFFECT ON OV AND CY. * * H25000-SUBC IS TESTED FOR CORRECT OPERATION * INCLUDING EFFECT ON OV AND CY. * * H26000-COPY MEM,REG.PR. IS TESTED FOR CORRECT * OPERATION. AX PAIR IS USED. * * H27000-COPY REG.PR.,MEM IS TESTED FOR CORRECT * OPERATION. AY PAIR IS USED * * H28000-MUL IS TESTED IN THE FOUR QUADRANTS * (+*+, +*-, -*+, AND -*-). * * H29000 DIV IS TESTED IN THE FOUR QUADRANTS * H29000 DIV IS TESTED IN ONE QUADRANT * FOR NORMAL DIVIDES, AND FOR DIVIDES * CAUSING THE ARITHMETIC EXCEPTION TRAP. * TRAP OPERATION IS COMPLETELY TESTED. * FIVE SPECIAL CASES CAUSING TRAPS * ARE TESTED. *************************************************** TITL ******** * * ---- H21000 ---- * * JSKE MEM * ****** H21000 EQU $ COPY =:9C,X STACK TRAP LOCATION COPY =H21003,A STACK TRAP ROUTINE LOCATION COPY A,3(X) STORE IN 4TH WORD OF TRAP COPY JMP1,A STORE JMP *$+1 COPY A,2(X) IN 3RD WORD OF TRAP COPY =STACKL,A COPY A,L STACK LIMIT COPY =STACKK,A COPY A,K STACK POINTER COPY =0,A CLEAR STORAGE COPY A,STACK1 COPY A,STACK2 JSKE H21002 H21001 EQU $  ERROR: JSKE,FAILED,--,DID,NOT,JUMP * H21002 COPY =STACK1,A CSK A,K NOP ERROR: K,WAS,NOT,DECREMENTED COPY STACK1,Q CSK Q,=H21001 NOP ERROR: INCORRECT,RETURN,ADDRESS,IN,STACK JMP H21010 TITL * * DATA * STACK RES 8,0 STACK STACKL EQU STACK STACK LIMIT STACK2 EQU STACK+6 STACK CELL 7 STACK1 EQU STACK+7 STACK CELL 8 STACKK EQU STACK+8 STACK POINTER (INITIAL) JMP2 JMP 0(Y) * * TRAP ROUTINE * H21003 EQU $ ERROR: JSKE,FAILED,--,UNEXPECTED,STACK,OVERFLOW,TRAP JMP H21002 TITL ****** * * JSKE MEM  FORCED STACK OVERFLOW TRAP * ****** H21010 EQU $ COPY =H21014,A STACK TRAP ROUTINE LOCATION COPY A,3(X)  COPY =STACK1,A COPY A,K STACK POINTER H21011 JSKE H21013 H21012 EQU $ ERROR: JSKE,FAILED,--,DID,NOT,JUMP * H21013 EQU $ ERROR: JSKE,FAILED,--,DID,NOT,TAKE,TRAP JMP H21014 TITL * * TRAP ROUTINE * H21014 COPY 0(X),A OVERFLOW TRAP 1ST WORD (:9C) CSK A,=H21013 JSKE JUMP LOCATION NOP ERROR: LOC :9C SHOULD = JSKE JUMP LOC COPY 1(X),A OVERFLOW TRAP 2ND WORD (:9D) CSK A,H21011 JSKE INSTRUCTION NOP ERROR: LOC,:9D,SHOULD,BE,JSKE,INST. * COPY  =STACK2,A CSK A,K NOP ERROR: K,WAS,NOT,DECREMENTED COPY STACK2,A CSK A,=H21012 *  NOP ERROR: INCORRECT,RETURN,ADDRESS,IN,STACK PATCHX H21000 COPY =USET1,A GET ADDRESS OF UNEXPECTED STACK TRAP COPY A,3(X) STORE IN 4TH WORD OF TRAP TITL INSTRUCTION DIAGNOSTIC -- SEC. H2-2 ****** * * ---- H22000 ---- * * CEA *MEM(X,Y),Q * ****** H22000 EQU $ COPY =1,Y COPY =0,X COPY =TEMP,A  COPY A,TEMP02 CEA *TEMP01(X,Y),Q EA=TEMP CSK Q,A NOP ERROR: CEA,FAILED,--,X,SHOULD,=,ADDR,OF,TEMP TITL ****** * * ---- H23000 ---- * * CSME A,MEM A>MEM * ****** H23000 EQU $ COPY PT5555,A  COPY A,TEMP01 COPY PTFFFF,A CSME A,TEMP01 ERROR: CSME,FAILED,--,A,>,TEMP01,(MAG) JMP $+2  ERROR: CSME,FAILED,--,A,>,TEMP01,(MAG) * * CSME X,MEM X)ŠDÁúB  )Š:â2¢0†8€ÑÁº5 M žf$)žÀàÄ%ð"'‚ž ` ð   „„Ü€„%ѱ'‚¯ž MU @ Mª žZLž‚P‚¡À Æz%²p'ºv ª ‚”†mÆm ‚Ž%³h'ºg  ª žanžˆfððÿðªOx;€À¢¹.†xÆxâµ%ЁB' ð Mÿ ðºj ºh „¢¡.€†`I%ё' UºZ MU ⒂’†Q€†P€%‘A'HðúJ ð žE²uw³ž‚¶"âÌ)€†=€%Â' ÿ ðº4 À‚n†-âj)€†*f%ÑÁ'º% Mf ž^×) 0„ ¶€„)€„€‘‘ž Àø 0 „ ·’„i€„ÀÑ@ø €ž €(0žXÿ€úvžƒ4À AºÆ ¢v@!6A ûs ࢌ b ºº à€P`R6A `ž €pPPr6A Pº§ ÿp C0p3€(0p Œ žL7€À@Mð À  E º  à`'`º‰ žkL:ž‡ª«ÿveUTÌÌwwà P`V ž €pPvž‚ pp €À@  @ Jž  à k ž €p {ž‚ P [ ƒIP@[ž‚ žO…€Àp@pž @pø €` @`ø žn—#ž€(0)ip P`)iƒê#  c Â×K 6Až r`RmžqƒÚù  6A ž`¹ ÂÔNúÑ 6Až NSM 6A  . ž 6Až .K ºŒ 6A žAØ% Cž‘â°n `º° 6Až àn¬`  6A ‚ º6Až Bº› 6Až ž\üLž–@ €@ úÌfRªæ€ CžÈIUN úà 6Á NÚMª 6Á )s. æ 6Až .€ º] 6Až àn`ž 6Až nØ`  6Až žLGž—`7 CŸ˜€ÀOž ú 6Až Oº‹ ú‰ 6A ž†Ì̀*^U™˜€)/ ž @ û 6Á /ù  @ ø 6A žM–1 ào  @`ø 6Až €oLž @`ú… 6A ž‚úª€ÀOž úA 6Á O#º‰ ú‡ 6A žPÆ9žƒUVfb€ / º” @ ø 6Až /«ºŠ @ ú‡ 6A ž„33UFfj€àoº¬ @`úš 6Až oàž @`M 6Á žLþ4€ÀOº“ ú 6Až Oh ð ø 6Až žƒxxþ€ / ž @ úu 6Až /êž @ ø 6Až žM1,‚ŒÂ‹OºŠ ú‡ 6Až žƒÌ̙™€ /rž @ ø 6Až €àoòž @`ø 6Až žU\,ž€ Ž(0Iô(0K Ž(= 00ž( Ž(0Iô(0K Ž(06A 6Á €(0žV‡I)€C C  6A @"ú”žvI@ @M ) > N- iÿ`6A žb¥ž‚[º¹ ·Kÿø Kû² 6A žpž *š ºª ãŠjÿ`ž 6A àlªž l¥ žkÍ 8f-" ÀYfú’ €3ºŽ ƒˆ ž‚ žk➇ÿ[úªDUwfUÿA Až  HÿTÁž TÁ M žmý)5Až 5A ž iuÁ uÁž `ž žk €(0VÂVB  0ž( VBV  ÂB  B  žd .ž€„ ž „ Bž žo A)€„ "ž „ bž žn Si€„ ž „€„ Rž žl g)i€„ 2ž ) „ rž žl {žƒ€†{  }ž ‚Ɔs€†r B }ž žm ’)€†h " }ž ‚²†_€†_ b }ž žl Ši€†T  }ž i‚†J R }ž žm ¹)i€†A 2 }ž i‚‰†6 r }ž žl Í8ž‚ ~ CŸù€' 'ù ž 'ž‚ Àg gù ž gž‚  )i „€„Ghø ÀGYø žL %ÀÄâÇg @`úÄ  '  ºŸ 6A )€žÄ+ºµ iž 6A ž\ (!)i€„ÀG<ø €ž )‚”†€†€n Jº” ÀGn JúŽ ž` H0žŒ K %jä»»""ˆˆDDi‚߆r€†qÀg^ JúÙ €'^ JºÓ )i€†a€? JºÊ ÀG? JúÄ ž^ w' | žˆ ‚Œº}ž‚ÞzŸy  ‡ žp ‡/ÂDÆ@ÿ†?GM J GM Jž ‚7  €†2Þ1ž 6A „ „gM gMž €» ƒŽ„g ž 6A žR µ!ž‡ Lîî33 zùú)œ‚Û„ƒ€)„‚‚ØP‚×p †”†’ Í ‚Ð{ ‹úÌ ž‹œ@ žl‚Ÿ„ƒ‚ºp è  ž€€€ºµ €ºu ‚¯{ ‚eº« žC ú L„ƒi) „Gt@  €„€ ž )'ž‚ àg žc IžŠ ß Ö Þ Ý Ì ê è Ü ç  d  VAž € d  VA € e»š 6A VÁ  Cž€Ig dM VA Ig dû” VAž Ëg eúŒ 6A VA žC a'ž†úùþ Cž „ €'ž - IÄ€àgGÀø Àø ža ‡=ž „IG  Mÿ ª 'ž @ úÄ ‚Â`„ÂÀ‚ÀGºŸ û8 ‚¹gº· @`úŽ ‚²„° Gº£ M žF Ã)š‚¥„ƒ€)„‚‚—„€IG žž M €€º“ Àúp žd ß7ž@ú ±ãN/Iè*Ð7Õ€€ Ñ Ï CžÒ‚‹„ƒƒ‡„ƒ†ig ž†ùú ûiš‚Ó„Cƒv†z€)'  ‚Ë„C †q€@G  žX /‚„C „@„A †d Ã^G  žŽ  ûV €@º¯ ÀAúp )š‚š„ƒ€„ãFg ‚¡„ƒ‚ „‚Ÿig žR C‚š„ƒ „ÀG ‚“„ƒ‚„‚IG žn U ž  # ! : CÀà L U ‚©„ƒ‚š†{‚§Â§G cº¥ ú£ ž žo tF CžË)š‚™„ƒ†e €iÿg c ÿ @`û† ž žŠ Äú síõÝ_?ö í Šiš‚€„C ÿ„€¢ 'ºž @ ú— ž iš‚•„C‚”„‚“Ã^Gº úŽ ž ž; ¹ž‰ÿ §ÿ ž±ãè*á,N‚¶„C ÿ„ IG  M ž žo Ô= CŸ£‚£„Cƒ1„  'ž - ž )š‚“„ƒ€„€ÀGž M ž‡ ž… Ó \ è ù‚‘„ƒƒ „€hgº2 m ž žD ž‚ ‚À„ƒƒ¿„‚ŸÀGž û¶ ž žo $,‚²„ƒ †« IGQA º€ ž ‚€„ƒ @GA QA ž ‚™„ƒû† IGA ú‰ ž žU OE)š C„ƒžˆ #ú@ 3 ? N)œ‚Á„ƒ‚Ÿ„‚ †¹†·‚»P‚ºpþƒ ž ‚µ{ ‚«º± ‚¯„ƒþ  €€ºª €ºw ‚€{ ‚•º  ‚ž†‚šp#  ‚’{ žH “ž•Gœ@Ÿ€ k •  œ i y x › w âÜ „@„A„B„C„D„E‚Øp‚ÓP€(0€ÀâÑäƒC þ#‚Î; 0â€@ºÁ €Až( €Bž €Cž €D œ €Eº± pºš ž žF ㆄ@„A„B„C„D„E‚šp€(0G‡€Àâ•äƒC ÿq ž” 4 ú û â A; 0ât€@ºq €(@žA €Bž €Cž €D œ €Eº^ pºY €€º± €º> ž):* L„ƒ‚KpI)iP` 0E…c ž €(; 0ø -œ `º1 > Pº+ pº& žYc1ž‚ ø)€‚Í„ƒ€)„‚ „€„¥ €€ºÄ €ºx ‚Ÿ„‚ O„ƒ) ‚º„ƒ€)„‚ „€„[f €€º± €ºx ‚š„‚ O„ƒžS“ @0 (ñ„4ŸfÀ6Á €+)žˆ 5Œžv£  „fÐ À+ø žv­fà‚‹ž Ÿžz³ž‰Ðqp\5‡†fá „fð ‰ø Ÿ‰žvÇf°6A ž|Ë žŠfñ ‚‰ž  žzÕŸyf/Ÿ€à,fàAƒÁ6Ažºi„ ‚»„C †Ú€(0Þמž®ÿ6l)‚Ñ# –Ð# º¶žž†+@ úƞtžl‚Æ…–   „@  ža€@·֖ú–ž„º” žƒº‘ €Aºm žO =„Cž? %ž»õ ÿŸ   v<<\|| &F\\\JŸŸŸŸŸŸÿÿÿÿÿÿÿÿŸŸ ŸÿÿÿÿÿŸƒDŸ€ )‘‚­„‚/€(0G„€†£…UIÞŸTJ€€º›ž{ žž…OžrW ž‹W žˆ €€  ‚‡A W…žMž„…G‡÷†ë †wþ„€‚ç„‚U…&Þbž~  W€€  ‚˺̞‚ †TÞŞ[‚Q)†ÀI@Šœ†»‚»C†¹†ž †C†Cþ„€‚µ„‚U… !Þ2ž~Þ/ž|  ‡W€€  ‚˜º›žžŒðq ‚ºŒž‚ º‰ Þ‡žNEžÿŸÿž‰]5²ÿ÷äÿƒŠD‚ˆ ž‡€(0Ÿ€ õ )ˆ @„ƒž€À€Dž  $Aø àd!@ ø €a@`ø žd9€Aø ÀDAø žsFž€€*‡È‚ʇLJ †ŠÂÆBù…  ‡ ž”  0–µA žfažŠl%ÿ€€(0‚|‡¡‚¥‡ )œ€*„‚‚¡„ƒ‚jP‚pp˜Bù žŽ/€(0; p º` ž‚  ž\1žŽäåYð‚Ž TEST eø¿€ @0‚z‡¡‚z‡ ‡ ‡ )‚jù !ŸJÿN6Á ýK§–Ç–‚i‡\‚–‡[‚•ù”0@it¿‡ ž_Àžº ‡ž·àãæçáâüšÂ@Eø ‚|‡p‚>‡ I@A¢ž*ÿ.6Á@ý+Çi§i‚=‡c‡c‡c‚8‡+‚‘‡*‚‚ù…î‡ ž`ò"ž‚ ‡ž…ùÑôÐЀ(0€*‡‚è‡/‚âù Ÿƒ‡ ž‰ ‡ žƒ Á žh!€(0‚Ó‡Ï)œ‚Ñ„ƒ‚ÌP‚Îp/‚Åù þƒ‡ žŒ ‡ ž‡ Á ž„‡ ž`3% Cžž€(0‚²‡«‚±„ƒ‚©P‚«p/‚¢ù K‡ ‡ ž‡ Á žƒ‡ ž\Wž— 'òåY,0aPT€(0‚·‡s‚¶„ƒ‚qP‚³p/‚jù C ‡ ž‡ Á žƒ‡ žcŒ L„ƒ€(0‚›‡T‚TP‚˜p€(†H †G/‚Iù c ‡ žƒ Á žšž†…‰f¥` @0‚ɇ3‚1ù … ‡ žƒ Á žoÀ @0‚¹‡"‚ ù † ‡ žƒ Á žoÑ @0‚©‡ÂBù … Ÿƒ‡ ž‰ ‡ žƒ Á žiè @0‚“‡“‚“ù … ‡ žƒ Á žnú ž‡œÎå÷åòžœ 6 CŸƒ ÁŸ‹ žŽ F‡‡ ‡†‡†„ Ÿxõ«š© „&Ÿo I¢˜â˜  M ºŒ `º‰ VÁ 6Á žeU33Vž‚YŸQ‚šI¢zâz  M ºn `ºk VÁ 6Á žes€tžvŸ4‚šÂš¢]â]  M ºQ `ºN VÁ 6Á že@öO‘ž‚”Ÿ‚›Hÿ¢?â?  ú º3 `º0 VÁ 6Á že®ÿGÿ¯ž‚²¿›‚›I¢!â! º• ú’ º `º VÁ 6Á žeÌ+À€ÿÿÍžƒÑ¿|‚œI¢â  ú ºŒ `º‰ VA 6Á žeë33H잃ð¿]‚šI¢yây  M ºm `ºj VA 6Á že H€ ž ¿@‚šHÿ¢\â\ º ú‘ ºP `ºM VA 6Á že'Oÿÿ€(ž‚+¿"‚›I¢>â> º“ M º2 `º/ VA 6Á žeE€ÐFž‚I¿‚|I¢ â   M º `º VÁ 6Á žecdž€e¿›‚žI¢â º” ú• ºŽ `º‹ VÁ 6Á že+ÿÿ33Á@ÿý€ž†‡¿y‚šHÿ¢xâx  M ºl `ºi VÁ 6Á že¡A¢ž€¿\‚šHÿ¢[â[ ºU ú‘ ºO `ºL VA 6A žeŸPÿ¿ž‚¿>‚”I¢=â= º7 `º4 VA 6A žkÖP€×žÙ¿'‚”I¢&â& º  `º VA 6A žkíÐð¿ I¢â?   M º `ºˆ 6Á VÁ že  ž ¿› š¢šâz º– ú” ºŽ `ºk 6A VA že'+ÿ33Gÿþ(ž….¿z ™¢yâY º” M ºm `ºJ 6Á VÁ žeH€HIž‚L¿\ I¢[â; º“ M ºO `º, 6A VA žefH€gži¿?‚?H€¢>â º“ ú‘ º2 `º 6Á VÁ žeƒOÿÿÿ„ž‚‡¿!ÿHÿ¢ â º” M º `ºˆ 6A VA že¡À€¢ž‚¥¿‚#I¢ây º“ M º `ºj 6Á VÁ že¿Ð33Àž‚Ã3¿³ I(â°ž‚\˞‚  M ºŸ `ºš ‚j  ‚g  6A VA ƒA ƒ‹A € A žMõ+UUÿš©öž…ü3¿z I(âwž‚€\ ž  M ºf `ºa ‚jº• ‚g  6Á VÁ ƒTA ƒRA € A žM.€/ž13¿E I(âBž‚\9  M º1 `º, ‚j  ‚g  6A VA ƒA ƒA € A žMcdž€e3¿ I(âž‚\m ž  M º `ºš ‚j  ‚g  6A VA ƒŒA ƒŠA € A žM—ÿUUš©˜ž„3¿³‚I(âxž‚\¥ž‚ º M ºe `ºb ‚j  ‚g  6Á VÁ ƒTA ƒRA € A žMÏ+ОÒ3¿~‚²I(âCž‚€\Ú º€ M º0 `º- ‚jº• ‚g  6A VA ƒA ƒA € A žM€ž3¿I I(âž‚€\  M º `ºš ‚jº` ‚g  6Á VÁ ƒŒA ƒŠA € A žM9ÿUUš©:ž„?3¿‚EI(âxž‚\G º7 M ºe `ºb ‚j  ‚g  6A VA ƒTA ƒRA € A žMqrž€s3¿³ Â(âDž‚€\{ž‚  ú º1 `º. ‚j  ‚gº’ 6Á VÁ ƒ A ƒA € A žM¥+€Šž‚©3¿} Â|(âž‚€\± ž  úl º `ºš ‚j  ‚gº“ 6A VA ƒA ƒ‹A € A žMÛÿUU€š©Üž…➝8 CŸµž€¿! ÂW(âTž‚€\   úG ºA `º> ‚j  ‚gº7 6Á VÁ ƒ1A ƒ/A € A žM7@8ž:3¿³ÿÂ"(âž‚ÿÿ€\B ž º¥ ú º  `º  ‚jº– ‚gº“ 6A VA ƒA ƒ‹A € A žMl+ÿÿ€š©mž…s3¿zÿÂz(⯞‚ÿÿ€\{ž‚ ºl új ºž `º™ ‚jº] ‚gº“ 6Á VÁ ƒTA ƒRA € A žM¥UUÿ€Šžƒª3¿CÿÂ|(âxž‚ÿÿ€\² º5 úl ºg `ºb ‚jº& ‚gº\ 6A VA ƒA ƒA € A žMÜÝž€Þ3¿‚GÂF(âDž‚ªªªª\æ ž º9 ú6 º3 `º. ‚jº• ‚gº‘ 6Á VÁ ƒ‹A ƒ‰A € A žMªªš©žƒ3¿³‚{Âz(â ž‚UUUU\ž‚ ºm új ºž `º› ‚jº— ‚gº“ 6A VA ƒTA ƒRA € A žMG+ÿUUHžƒL3¿|‚}ÂC(âzž‚ªªUU\T ž ºo ú3 ºg `ºd ‚jº' ‚gº\ 6Á VÁ ƒA ƒA € A žM~ž€€3¿H‚ÂH(âFž‚UUªª\ˆž‚ º ú8 º3 `º0 ‚jº, ‚gº‘ 6A VA ƒ‹A ƒ‰A € A žM²ªªš©³žƒ·3¿‚Âz(âž‚UUªª\¿ º új º `ºš ‚jº– ‚gºZ 6Á VÁ ƒTA ƒRA € A žMéÿUUêž‚í3¿³‚EÂ|(âzž‚ªªUU\õ º7 úl ºg `ºd ‚jº( ‚gº\ 6A VA ƒA ƒA € A žM+ ž"3¿~‚²Â²(âEž‚WüÔ\*ž‚ º€ ú¢ º2 `º/ ‚jº™ ‚gº’ 6Á VÁ ƒŒA ƒŠA € A žMTW|Ôš©WüUž…[@ 3¿E‚yÂy(â ž‚VüÔ\c ž ºk úi º `ºš ‚jº— ‚gºY 6A VA ƒSA ƒQA € A žMÿUUVüŽžƒ’3¿‚BÂB(âyž‚W|Ô\š º4 ú2 ºf `ºc ‚jº% ‚gº" 6Á VÁ ƒA ƒA € A žMÄÅž€Æ3¿³‚³Â³(âEž‚ÆŠNÒ\Ξ‚ º¥ ú£ º2 `º/ ‚jº– ‚gº– 6A VA ƒA ƒ‹A € A žMø+ÆŠNÓš©NÒùž†3¿y‚yÂy(â ž‚ÆŠNÔ\ ž ºk úi º `ºš ‚jº\ ‚gº“ 6Á VÁ ƒSA ƒQA € A žM2ÿUUNÔ3žƒ73¿B‚BÂB(âyž‚ÆŠNÓ\? º4 ú2 ºf `ºc ‚jº% ‚gº" 6A VA ƒA ƒA € A žMijž€k3¿‚²Â²(âEž‚<Ÿt)\sž‚ º€ ú¢ º2 `º/ ‚jº• ‚gº• 6Á VÁ ƒŒA ƒŠA € A žM<Ÿt(š©t)žž…€3¿³‚yÂy(â ž‚<Ÿt'\¬ ž ºk úi ºž `º› ‚jº\ ‚gº” 6A VA ƒSA ƒQA € A žMÖ+ÿUUt'מ„Ü3¿{‚AÂA(âyž‚<Ÿt(\ä º3 ú1 ºf `ºc ‚jº$ ‚gº! 6Á VÁ ƒA ƒA € A žMž€3¿G‚²Hÿ(âEž‚ÿÿ\ ž º€ ú¢ º2 `º/ ‚j  ‚gº’ 6A VA ƒŒA ƒŠA € A žMBÿÿÿš©Cž„H3¿‚zHÿ(â ž‚ÿÿþ\P ž ºl új º `ºš ‚jº] ‚gº“ 6Á VÁ ƒTA ƒRA € A žMzÿUUÿþ{žƒ3¿³‚CHÿ(âyž‚ÿÿÿ\‡ º5 ú3 ºf `ºc ‚jº& ‚gº# 6A VA ƒA ƒA € A žM±+²žŽ'¿~‚ŠÂŠ¢ŠâŠž‚\Œº› ú™ º– `º“ ‚m  ‚j  6Á VÁ žYÚQD=N33Ûž„à'¿R‚zÂz¢zâzž‚€\èºo úm ºj `ºg ‚mºŒ ‚j  6A VA žY€ž '¿) I¢QâQž‚€\  M ºA `º> ‚mºc ‚j  6Á VÁ žY/0ž€1'¿‚)Â)¢)â)ž‚QûL\9º› ú™ º `º ‚mºŽ ‚jº‹ 6A VA žYWQ±œMQûLXž„]'¿§‚§Â§¢§â§ž‚Ä&±ƒ\eº  úž º— `º” ‚mº“ ‚jº 6Á VÁ žYƒ +ƂdÊ33ƇšVÄ&±ƒ„ž‰Ž'¿v‚|Â|¢vâvž‚Æ‚dÊ\–ºo úm ºf `ºc ‚mº\ ‚jºY 6A VA žY޵ž€¶'¿N‚ŠÂŠ¢NâNž‚*71E\Ÿºž úœ º> `º; ‚mº‘ ‚jºŠ 6Á VÁ žYÜ-䃩1E-åò *7Ýž†ä'¿ ‚ŠÂy¢ â ž‚-䃩\캜 úš º `º  ‚mº^ ‚jº[ 6A VA žY *W-æ2  žƒ'¿§‚§Â§¢§â§ž‚éŒT~\º  úž º— `º” ‚mº“ ‚jº 6Á VÁ žY5 +i©Hh33hgŸPéŒT~6ž‰@'¿v‚|Â|¢vâvž‚i©Hh\Hºo úm ºf `ºc ‚mº\ ‚jºY 6A VA žYfgž€h'¿N‚ŠÂŠ¢NâNž‚3F¡\pº M² º> `º; ‚mº ‚jºŒ 6Á VÁ žYŽŽÈI†Žž3F¡ž…•'¿!‚|Â|¢!â!ž‚ŽÈI†\ºp M²  º `º ‚mº_ ‚jº\ 6A VA žY»Œž€œ'¿§ &Š¢ŠâŠž‚\Å & ú™ º– `º“ ‚m  ‚j  6Á VÁ žYã+íO33äž„é'¿{ I¢zâzž‚&íO\ñ & úm ºj `ºg ‚m & ‚jº] 6A VA žYž€'¿S‚ŠÂŠ¢RâRž‚xÿ¿ÿ\º› ú› ºB `º? ‚mºŽ ‚jºŒ 6Á VÁ žY7ÿüxÿÿÿ¿ÿ8ž…>ž@7 CŸ¶¿ ‚sHÿ¢âž‚t\L  M º `º  ‚mº› ‚j  VA 6A €  ƒ‰ºŒ ƒ†ºZ žMvš©&€tPwž…}3¿³‚:Â:¢±â±ž‚xÿà\…  M º¡ `ºž ‚mº" ‚jº— VÁ 6A €  ƒPºŒ ƒMA ºZ žM¯+33à‰°ž…¶'¿z @I¢xâxž‚€\Ÿ  M ºh `ºe ‚mºŒ ‚j  VA 6A žY܀ݞß'¿Q‚ŠI¢OâOž‚Mÿÿ\纝 ú™ º? `º< ‚mºŽ ‚jº‰ 6Á VÁ žY@ÿÿMžƒ '¿&‚{I¢$â$ž‚Íÿÿ\º› ún º `º ‚mºŒ ‚jº^ 6A VA žY0Í1ž3'¿§‚§Â§¢§â§ž‚\;ºœ úš º— `º” ‚m  ‚j  6Á VÁ žYY+QD=N33Zž…`'¿z‚zÂz¢zâzž‚€\hºo úm ºj `ºg ‚mºŒ ‚j  6A VA žY†€‡ž‰'¿Q I¢QâQž‚\‘  M ºA `º> ‚m  ‚j  6Á VÁ žY¯°ž€±'¿)‚UI¢)â)ž‚€\¹  M º `º ‚mº; ‚j  6A VA žYרž€Ù'¿‚-I¢€â€ž‚\á  M º” `º‘ ‚m  ‚j  6Á VÁ žYÿ33 ž‚ '¿§ I¢zâzž‚€\  M ºj `ºg ‚mº ‚j  6Á VÁ žY )+€ *ž‚ -'¿}‚ŠÂŠ¢PâPž‚iŒT~\ 5º  úš º@ `º= ‚mº ‚jºŒ 6A VA žY Si©HhŸPiŒT~hg Tž† ['¿O‚{Â{¢"â"ž‚i©Hh\ cº› úl º `º ‚mº^ ‚jº[ 6Á VÁ žY èg ‚ž „'¿&‚ªÂ¥¢¥â¥ž‚4ÈI†\ Œº  M² º• `º’ ‚mº’ ‚jº‹ 6A VA žY ª F¡33I†3Žž4È «ž‡ ³'¿§‚§Âv¢vâvž‚ŽÈI†\ »º M² ºf `ºc ‚mº ‚jº\ 6A VA žY Ù+³4žŽÈ Úž„ ß3¿{‚²Hÿ¢JâJž‚ô\ ç  M º: `º7 ‚mº™ ‚j  VÁ 6A €  ƒ‹º‹ ƒ‰ºZ žM!ÿôš ë©!ž…!'¿B @I¢âž‚\!  M º `º ‚m  ‚j  VA 6A žY!>!?ž!A'¿ÿHÿ¢€âzž‚\!I  M º” `ºg ‚m  ‚j  6A VA žY!g33!hž!j'¿§ÿHÿ¢{âQž‚€\!r  M ºk `º> ‚mº ‚j  6Á VÁ žY!+€!‘ž‚!”'¿}‚ŠÂŠ¢Qâ'ž‚DŽà\!œº ú›  ºA `º ‚mº ‚jº 6A VA žY!º@]>Cû—ÐDŽà!»ž†!Â'¿O‚§Â§¢#⣞‚@*©»\!ʺž úœ º `º ‚mº‘ ‚jºŽ 6Á VÁ žY!è ÂÍUBˆâÁ@*©»!鞇!ñ'¿ ‚§Â§¢€âtž‚ÁŽ=q\!ùºž úœ º” `ºa ‚mº‘ ‚jºŽ 6A VA žY" 33à ÈDF¡çÁŽ=q"ž‡" '¿§‚§Â§¢uâEž‚Aa•\"(ºž úœ ºe `º2 ‚mº‘ ‚jºŽ 6Á VÁ žY"F +; ž.;ö Aa•"Gž‡"O'¿x I¢Fâž‚@\"W  M º6 `º ‚mºŒ ‚j  VA 6A žY"u@"vž"x'¿O‚§Hÿ¢â£ž‚@€\"€ºœ úš º  `º ‚mº ‚j  6Á VÁ žY"žÿÿÿ@€"Ÿž„"€'¿#‚§Â§¢€âwž‚Çü\"¬ºž úœ º” `ºd ‚mº‘ ‚jºŽ 6A VA žY"Ê 33ÐÿWÿÇü"Ëž‡"Ó'¿§‚§Â§¢uâHž‚È^­\"Ûºž úœ ºe `º5 ‚mº‘ ‚jºŽ 6Á VÁ žY"ù +H~ÜÐ]¯È^­"úž‡#'¿x‚ŠÂŠ¢Fâž‚DŽà\# º ú› º6 `º ‚mº ‚jº 6A VA žY#(@]><ŽwDŽà#)ž†#0'¿J‚§Â§¢â£ž‚Á$ç\#8ºž úœ º `º ‚mº‘ ‚jºŽ 6Á VÁ žY#V F^©/ŬÕEÁ$ç#Wž‡#_'¿‚§Â§¢€âtž‚@*©»\#gºž MÊ º” `ºa ‚mº ‚jº 6A VA žY#…33ÂÍUBÃ@*©»#†ž†#'¿§‚§Â§¢vâFž‚ÁŽ=q\#•ºž úœ ºf `º3 ‚mº‘ ‚jºŽ 6Á VÁ žY#³ +à ÈAÈZ—ÁŽ=q#Žž‡#Œ'¿x‚ŠÂŠ¢Gâž‚Aa•\#ĺ ú› º7 `º ‚mº ‚jº 6A VA B žY#â; ž.:qaAa•#㞆#ê'¿J‚§Â§¢â£ž‚8Ւï\#òºž úœ º  `º ‚mº‘ ‚jºŽ 6Á VÁ žY$ Cb‡‰KÞ8Ւï$ž‡$'¿ I¢€âtž‚A\$!  M º” `ºa ‚mº ‚j  VA 6A žY$?33A$@ž‚$C3¿³‚µHÿ¢zâJž‚@\$K  úš ºj `º7 ‚mº ‚j  VÁ 6A €  ƒŠºŽ ƒ‡ºZ žM$u +š©ÿÿÿ@$O$vž‡$~3¿x I¢?âž‚\$†  M º/ `ºœ ‚m  ‚j  6A VA €  ƒOº‰ ƒLºZ žM$°$Š$±ž‚$Ž3¿B I¢ âyž‚€\$Œ  M º  `ºf ‚mº™ ‚j  6Á VÁ €  ƒºŠ ƒºZ žM$æ33€$À$瞃$ë3¿ I¢yâBž‚\$ó  M ºi `º/ ‚m  ‚j  6A VA €  ƒ‰ºŠ ƒ†ºZ žM%š©$÷%žƒ%"3¿³‚EI¢Bâ ž‚€\%*  M º2 `º ‚mº+ ‚j  6Á VÁ €  ƒRºŠ ƒOºZ žM%T+%.%Užƒ%Y3¿| I¢ âyž‚€\%a  M º  `ºf ‚mº™ ‚j  6A VA €  ƒºŠ ƒºZ žM%‹33€%e%Œžƒ%3¿E‚|I¢yâBž‚\%˜  M ºi `º/ ‚m  ‚j  6Á VÁ €  ƒ‰º‰ ƒ‡ºZ žM%š%œ©%Þƒ%Ç¿ež†%ʂyÂy¢yây\„ÿô  žn%Ø¿’ež†%ß%܂yÂy¢yây\ÿý  žn%êž‚+¿}ež†%ñ‚yÂy¢yây\D%ö  žn%ÿ¿kež†&‚yÂy¢yây\T&  žn&¿Yež†&&‚yÂy¢yây\$ÿþ  žn&#¿Gež†&&&'‚yÂy¢yây\d&+  žn&5¿5ež†ÿÿ&;&9‚yÂy¢yây\4ÿÿ  žn&G¿#ež†&J&K‚yÂy¢yây\t&M JMEM:TST THIRD CHRIS JINITRP FLPT IOT JRTC UIT HEWITT JA02000 A01000 PAT495 JDEFAULT PATEND PFERRS JPDNCT PUPCT COUNT2 JCOUNT1 PAT405 O0SEGMENTBLANK oim MACRO (F100) i ‹ Bi‡€€„@+kKQºÀÿýþ UªªUÿÿððÿÿUUffªªªf@g ggPŸ€¿€   è ÿŽ7Œ7 5   5Œ7 5Ü „ C†á€ŸÜŒ7  5  Ÿ} ߄/Ä0€1ä2P „-0„.p„3‚s„, @0†™ Hû€‚”†•Þ”ž~Tž‚Ž Ÿ€3p€.0€-Pà2 1À0€/,€Ÿ€¿„Ÿ€=¿€@¿€¬ ‘¿€Ÿ=œŸ€L ¿€O¿€Oš Ÿ€C ÿ„/Ä0€1ä2P„-0„. p„3‚s„,†BÞŽ f Þ­‚96`‚§š§ˀ3p€. 0€-Pà2 1À0€/,ޛςœÁ ‚“†‘肆¢„„€ @0,,þggg€Œg ÿþ€þg }ÿg   ž‚žˆž†r‚s†oIÆhÆhž‰IÆdÆdÆdÄ$Ä%†e†bg  ‚’   „#ž žs †Ug ï"" €(0ž„²€+„‚H 6AŸó    ž ž‚  IÿMÿ €ž Àø  žž‚ º,žž „ž žMT ž€I€ @ ø I` @`ø Ip@pø IP @Pø I€(0@0ø( IÀ @ ž žW €Až Á Á Až  IQA QÁž SÁž RÁ RA ž SA )2Áž 2A ž^¡ ž‚`€ÀÄŽºÎ À €„ØúÈ €ÀÄ” ð žjº €(0 Ž(„@0ø 6 6B  @0ø( 6B6  Iÿ@0ø( žbØ I€(0Iô(Ä%0'ž 0ž( žoé Ž(IÿÄ0_€ ÿ €(0žsö žƒðÿð þ„Üž € ÿ  €„Ü €„Üž 6A žk €(0€ž ÀN1ú•   .q º 6Až ànÁ`ºˆ 6A žb- ž„ª f@€(0àc`ž#   I M0 žqA €Aø ÀD! ž   $a`ž àdž žc^C Ÿ^ ž‚"€(0 „ž €( 0 „ …ž žor €(0 †”º“ €(0‚‰†Œ ÿ‡ŠºŠ žoƒ ž‡Š‹€(0¢v ð„ºy €(0ân ¥„Aºq  €(0â¬) Z„Áºh žf¥ žƒ€(0 „¢ ÿ…‘ ºw €(0‚–†p╠…Aºm  †h€(0¢‰âŠ U…Áºb ž`É žˆ‰š©§À€( 0‚†yÇxúx  €(0‚”†p ⓥA ºm à€(0 „¢‰å‘`ºb ž`ò ž„ÒÐр(0 „€À %„"'‚›ž %Ä#'ø žl  „ „€(0€%…'‚…ž žp ž‚U€(0 †ª€À%†Ì '‚tº£ %Æ¿'ú žl2 †–‚†•Þ”€(0 ªÀ%ǎ'ºŠ žoC ž‰K¢ .€(0 †y‚Š%„‚'‚‡ºs žq\ ž„LUffâ{€(0 †f‚w%„B'‚tº` žro žâR)€(0 †U‚f%„Â'‚cºO žq€ ž„ „¢º.€(0 †w‚µ%…‘'ºq žo– ‚­†j⫀(0 †f‚€%…A'º` žo§ ‚œ†Yâš)€(0 †Tf‘ %…Á'‚)ºM )%ÅÁ'úF žfÁ žˆ„fÿ…ƒâ»  €(0%€B€C'€ºt ¢¯. à€(0%ä‚äƒ'€ºg žrä ž€ 0„ ¶„)€…‘À(0@ž žqô 0 „ ·‹„iÀÅ@€(0ø žpúȀžƒ  €„„).%€€Àà‚' U Mª mU žl €„€„i U%ž@ ž  %žAž‚ %žB 'ÃS „øž‚ žc9 €(0€†³‚§Š±ºŠ ‚€†¬ £ʪ6A ú  €(0€†¡¢š ªŸ6A º– €(0iHƔ%ê€'`º‹ žUd žŒÿuTZª/ÿŠ© Jª €(0‚Ø„ ŒºÕ IP H„%Ì#'M žm„ €(0Ÿ‚ ž‡ ‚ú} ÞzŸyžs‘ ÀĐIø ž  À  „ı€ž ž žf«ž‚ €ÀÆ¢’¡ÀúŸ ž ‚ †–  †”³’€º‘  žfÈ ž‹ÔÓÒÿ ˆ Àà€¢rÆzðºx `ž  „¢f †mñ‘úk `  žeï €À âXÆ^°Aº\ ž  ‚L†TâL †R±AúP ž že  €Àâ>)ŠDÁúB   )Š:â2¢0†8€ÑÁº5 M žf$ žÀàÄ%ð"'‚ž  ` ð   „„Ü€ „%ѱ'‚¯ž MU @ Mª žZLž‚OP ‚¡À Æz%²p'ºv ª  ‚”†mÆm ‚Ž%³h'ºg ª žanžˆfððÿðªOvwx €À¢¹.†xÆxâµ%ЁB' ð  Mÿ ðºj ºh  „¢¡.€†`I%ё' UºZ  MU ⒂’†Q€†P€ %‘A'HðúJ ð žE²uw³ž‚¶ âÌ)€†=€%Â' ÿ ð º4 À‚n†-âj)€†*f %ÑÁ'º% Mf ž^× 0„ ¶€„)€„€‘‘ ž Àø 0 „  ·’„i€„ÀÑ@ø €ž €(0žXÿ€úvžƒ À AºÆ ¢v@!6A ûs  ࢌ b ºº à€P`R 6A `ž €pPPr6A  Pº§ ÿp C0p3€(0p Œ žL7 €À@Mð À  E º   à`'`º‰ žkL ž‡ª«ÿveUTÌÌwwà P `V ž €pPvž‚ pp  €À@  @ Jž  à k ž €p {ž‚ P [  ƒIP@[ž‚ žO… €Àp@pž @pø €` @`ø žn— ž€(0)ip P`)iƒê #  c Â×K 6Až r`R mžqƒÚù  6A ž`¹ ÂÔNúÑ 6Až NSM  6A  . ž 6Až .K ºŒ 6A žAØ  Cž‘â°n `º° 6A ž àn¬`  6A ‚  º6Až Bº› 6Až ž\ü ž–@ €@  úÌfRªæ€  CžÈIUN úà 6Á NÚ Mª 6Á )s. æ 6A ž .€ º] 6Až àn `ž 6Až nØ`  6Až žLGž—`g  CŸ˜€ÀOž ú  6Až Oº‹ ú‰ 6A  ž†Ì̀*^U™˜€)/ ž  @ û 6Á /ù  @ ø 6A žM– ào D  @`ø 6A ž €oLž @`ú… 6A  ž‚úª€ÀOž úA  6Á O#º‰ ú‡ 6A žPÆ žƒUVfb€ / º” @  ø 6Až /«ºŠ @ ú‡  6A ž„33UFfj€ào º¬ @`úš 6Až oàž  @`M 6Á žLþ €ÀOº“ ú 6Až  Oh ð ø 6Až žƒ xxþ€ / ž @ úu  6Až /êž @ ø 6Až žM1 ‚ŒÂ‹OºŠ ú‡ 6Až  žƒÌ̙™€ /rž @  ø 6Až €àoòž @`ø 6Až žU\ ž€ Ž(0Iô(0K  Ž(00ž( Ž(0 Iô(0K Ž(06A 6Á €(0žV‡ I)€C C  6A @"ú” žvI@ @M ) > N- iÿ`6A žb¥ ž‚[º¹ ·Kÿø Kû² 6A žpž  *š ºª ãŠjÿ`ž  6A àlªž l¥ žkÍ  8f-" ÀYfú’ € 3ºŽ ƒˆ ž‚ žkâ ž‡ÿ[úªDUwfUÿA  Až  HÿTÁž TÁ M žmý )5Až 5A ž i uÁ uÁž `ž žk  €(0VÂVB  0ž(  VBV  ÂB  B  žd . ž€„ ž „ Bž žo A )€„ "ž „ bž žn S i€„ ž „ €„ Rž žl g )i€„ 2ž ) „ rž žl { žƒ€†{  }ž  ‚Ɔs€†r B }ž žm ’ )€†h " }ž ‚²†_ €†_ b }ž žl Š i€†T  }ž i‚†J R }ž žm ¹ )i€†A 2 }ž i ‚‰†6 r }ž žl Í ž‚ ~ CŸù€'  'ù ž 'ž‚ À g gù ž gž‚   )i „€„Ghø ÀGYø žL  ÀÄâÇg @`úÄ  '   ºŸ 6A )€žÄ+ ºµ iž 6A ž\ ( )i€„ÀG<ø € ž )‚”†€†€n Jº”  ÀGn JúŽ ž` H žŒ K %jä»»""ˆˆ DDi‚߆r€†qÀg^ JúÙ  €'^ JºÓ )i€†a€ ? JºÊ ÀG? JúÄ ž^ w ' | žˆ ‚Œº}ž‚ÞzŸy  ‡ žp ‡ ÂDÆ@ÿ†?GM J GM Jž  ‚7  €†2Þ1ž 6A  „ „gM gMž €»  ƒŽ„g ž 6A žR µ ž‡ Lîî33 zùú)œ‚Û„ƒ €)„‚‚ØP‚×p †”†’ Í  ‚Ð{ ‹úÌ ž‹ œ@ žl‚Ÿ„ƒ‚ºp è  ž€ €€ºµ €ºu ‚¯{ ‚eº« žC ú L„ƒi) „Gt@   €„€ ž )'ž‚ àg žc  žŠ ß Ö Þ Ý Ì ê è Ü ç   d  VAž € d  VA € e»š  6A VÁ  Cž€Ig d M VA Ig dû” VA ž Ëg eúŒ 6A VA žC a ž†úùþ Cž „ €'ž -  IÄ€àgGÀø Àø ža ‡ ž „IG  Mÿ  ª 'ž @ úÄ  ‚Â`„ÂÀ‚ÀGºŸ û8  ‚¹gº· @`úŽ  ‚²„° Gº£ M žF à )š‚¥„ƒ€)„‚‚—„€IG  žž M €€º“ Àúp žd ß ž@ú ±ãN/Iè*Ð7Õ€€ Ñ Ï CžÒ‚‹„ƒƒ‡„ƒ† ig ž†ùú ûiš ‚Ó„Cƒv†z€)'  ‚Ë„C †q€@G  žX  ‚„C „@„A †d Ã^G   žŽ  ûV €@º¯  ÀAúp )š‚š„ƒ€„ãFg  ‚¡„ƒ‚ „‚Ÿig žR C ‚š„ƒ „ÀG ‚“„ƒ‚„‚IG žn U ž  # ! : CÀà L U ‚©„ƒ‚š†{‚§Â§G cº¥ ú£ ž žo t  CžË)š‚™„ƒ†e €iÿ g c ÿ @`û† ž žŠ Äú síõÝ_?ö í Šiš‚€ „C ÿ„€¢ 'ºž @ ú—  ž iš‚•„C‚”„‚“Ã^G º úŽ ž ž; ¹ ž‰ÿ §ÿ ž±ãè*á,N‚¶ „C ÿ„ IG  M ž žo Ô  CŸ£‚£„Cƒ1„  ' ž - ž )š‚“„ƒ €„€ÀGž M  ž‡ žE … Ó \ è ù‚‘„ƒƒ „ €hgº2 m ž žD  ž‚ ‚À„ƒƒ¿„‚ŸÀG ž û¶ ž žo $ ‚²„ƒ †« IGQA º€  ž ‚€„ƒ @GA  QA ž ‚™„ƒû† IGA ú‰ ž žU O )š C„ƒžˆ #ú@ 3 ? N )œ‚Á„ƒ‚Ÿ„‚ †¹†·‚»P‚º pþƒ ž ‚µ{ ‚«º±  ‚¯„ƒþ  €€ºª €ºw  ‚€{ ‚•º  ‚ž† ‚šp#  ‚’{ žH “ž• œ@Ÿ€ k •  œ i y x › w  âÜ „@„A„B„C„D„E‚Øp‚Ó P€(0€ÀâÑäƒC þ#‚Î;  0â€@ºÁ €Až(  €Bž €Cž €D œ  €Eº± pºš ž žF ã †„@„A„B„C„D„E‚šp€( 0G‡€Àâ•äƒC ÿq ž”   ú û â A;  0ât€@ºq €(@žA €B ž €Cž €D œ €E º^ pºY €€º± €º> ž): L„ƒ‚KpI)iP` 0E …c ž €(; 0ø  -œ `º1 Pº+ pº& žYc ž‚ ø)€‚Í„ƒ€)„‚ „€„ ¥ €€ºÄ €ºx ‚Ÿ„‚ O„ƒ) ‚º„ƒ€)„‚ „€„[f  €€º± €ºx ‚š„‚ O„ƒžS“ @0 (ñ„4ŸfÀ6Á €+)žˆ 5Œžv£  „fÐ À+ø žv­fà‚‹ž Ÿžz³ ž‰Ðqp\5‡†fá „fð ‰ø Ÿ‰žvÇf°6A ž|Ë žŠfñ ‚‰ž  žzÕŸyf/Ÿ€à,fàg ƒÁ6Ažºi„ ‚»„C †Ú€( 0Þמž®ÿ6l)‚Ñ# –Ð# º¶ žž†+@ úƞtžl‚Æ…–   „@  ža€@·֖ú– ž„º” žƒº‘ €Aºm žO =„Cž?  ž»õ ÿŸ    v< <\|| &F\\\ ŸŸŸŸŸŸÿÿÿÿÿÿ ÿÿŸŸ ŸÿÿÿÿÿŸg ƒDŸ€ )‘‚­„‚/€( 0G„€†£…UIޟTJ €€º›ž{ žž…OžrW  ž‹W žˆ €€  ‚‡A W…žMž„ …G‡÷†ë †wþ„€‚ç„‚U… Þbž~  W€€  ‚˺Ì ž‚ †TÞŞ[‚Q)†ÀI@Šœ†» ‚»C†¹†ž †C†Cþ„€‚µ„‚U…  Þ2ž~Þ/ž|  ‡W€€   ‚˜º›žžŒðq ‚ºŒž‚  º‰ އžNEžÿŸÿž‰]²ÿ÷äÿg ƒŠD‚ˆ ž‡€(0Ÿ€ õ  )ˆ @„ƒž€À€D ž  $Aø àd! @ ø €a@`ø žd9 €Aø ÀDAø žsF ž€€*‡È‚ʇLJ †ŠÂÆBù …  ‡ ž”  0–µA žfažŠl ÿ€€(0‚|‡¡‚¥‡ )œ€*„‚‚¡„ƒ ‚jP‚pp˜Bù žŽ/€( 0; p º` ž‚  ž\ žŽäåYð‚Ž TES T eø¿€ @0‚z‡¡‚z‡ ‡ ‡  )‚jù !ŸJÿN6Á ýK§–Ç– ‚i‡\‚–‡[‚•ù”0@it¿‡ ž_À žº ‡ž·àãæçáâüšÂ@Eø ‚|‡p‚>‡ I@A¢ž*ÿ.6Á@ý+ Çi§i‚=‡c‡c‡c‚8‡+‚‘‡*‚‚ù…î‡ ž`ò ž‚ ‡ž…ùÑôÐЀ(0 €*‡‚è‡/‚âù Ÿƒ‡ ž‰  ‡ žƒ Á žh €(0‚Ó‡Ï)œ‚Ñ„ƒ‚ÌP‚Îp /‚Åù þƒ‡ žŒ ‡  ž‡ Á ž„‡ ž`3  Cžž€(0‚²‡«‚±„ƒ‚© P‚«p/‚¢ù K‡  ‡ ž‡ Á žƒ‡ ž\Wž—  òåY,0aPT€(0 ‚·‡s‚¶„ƒ‚qP‚³p/‚jù  C ‡ ž‡ Á žƒ‡ žcŒ L„ƒ€(0‚›‡T‚TP‚˜p€( †H †G/‚Iù c ‡ žƒ Á žš ž†…‰f¥` @0‚ɇ3 ‚1ù … ‡ žƒ Á žoÀ @0‚¹‡"‚ ù † ‡ žƒ Á žoÑ @0‚©‡ÂBù … Ÿƒ‡  ž‰ ‡ žƒ Á žiè @0‚“‡“‚“ù … ‡ žƒ Á žnú ž‡œÎå÷åòžœ g  CŸƒ ÁŸ‹ žŽg  F‡‡ ‡†‡†„ Ÿxõ«š © „&Ÿo I¢˜â˜   M ºŒ `º‰ VÁ 6Á žeU33Vž‚Y ŸQ‚šI¢zâz  M  ºn `ºk VÁ 6Á žes€tžv Ÿ4‚šÂš¢]â]  M  F  ºQ `ºN VÁ 6Á že@öO‘ž‚” Ÿ‚›Hÿ¢?â?  ú  º3 `º0 VÁ 6Á že®ÿGÿ¯ž‚² ¿›‚›I¢!â! º• ú’  º `º VÁ 6Á žeÌ+À€ÿÿÍžƒÑ ¿|‚œI¢â  ú  ºŒ `º‰ VA 6Á žeë33H잃ð ¿]‚šI¢yây  M  ºm `ºj VA 6Á že H€ ž  ¿@‚šHÿ¢\â\ º ú‘  ºP `ºM VA 6Á že'Oÿÿ€(ž‚+ ¿"‚›I¢>â> º“ M  º2 `º/ VA 6Á žeE€ÐFž‚I ¿‚|I¢ â   M  º `º VÁ 6Á žecdž€e ¿›‚žI¢â º” ú•  ºŽ `º‹ VÁ 6Á že+ÿÿ33Á@ÿý€ž†‡ ¿y‚šHÿ¢xâx  M  ºl `ºi VÁ 6Á že¡A¢ž€ ¿\‚šHÿ¢[â[ ºU ú‘  ºO `ºL VA 6A žeŸPÿ¿ž‚ ¿>‚”I¢=â= º7  `º4 VA 6A žkÖP€×žÙ ¿'‚”I¢&â& º   `º VA 6A žkíÐîžð ¿ I¢â  M  º `ºˆ 6Á VÁ že  ž  ¿› š¢šâz º– ú”  ºŽ `ºk 6A VA že'+ÿ33Gÿþ(ž…. ¿z ™¢yâY º” M  ºm `ºJ 6Á VÁ žeH€HIž‚L ¿\ I¢[â; º“ M  ºO `º, 6A VA žefH€gži ¿?‚?H€¢>â º“ ú‘  º2 `º 6Á VÁ žeƒOÿÿÿ„ž‚‡ ¿!ÿHÿ¢ â º” M  º `ºˆ 6A VA že¡À€¢ž‚¥ ¿‚#I¢ây º“ M  º `ºj 6Á VÁ že¿Ð33Àž‚à ¿³ I(â°ž‚\Ë ž‚  M ºŸ  `ºš ‚j  ‚g   6A VA ƒA ƒ‹A € A žMõ+UUÿš©öž…ü ¿z I(âwž‚€\  ž  M ºf  `ºa ‚jº• ‚g   6Á VÁ ƒTA ƒRA € A žM.€/ž1 ¿E I(âBž‚\9   M º1  `º, ‚j  ‚g   6A VA ƒA ƒA € A žMcdž€e ¿ I(âž‚\m  ž  M º  `ºš ‚j  ‚g   6A VA ƒŒA ƒŠA € A žM—ÿUUš©˜ž„ ¿³‚I(âxž‚\¥ ž‚ º M ºe  `ºb ‚j  ‚g   6Á VÁ ƒTA ƒRA € A žMÏ+ОÒ ¿~‚²I(âCž‚€\Ú  º€ M º0  `º- ‚jº• ‚g   6A VA ƒA ƒA € A žM€ž ¿I I(âž‚€\   M º  `ºš ‚jº` ‚g   6Á VÁ ƒŒA ƒŠA € A žM9ÿUUš©:ž„? ¿‚EI(âxž‚\G  º7 M ºe  `ºb ‚j  ‚g   6A VA ƒTA ƒRA € A žMqrž€s ¿³ Â(âDž‚€\{ ž‚  ú º1  `º. ‚j  ‚gº’  6Á VÁ ƒ A ƒA € A žM¥+€Šž‚© ¿} Â|(âž‚€\±  ž  úl º  `ºš ‚j  ‚gº“  6A VA ƒA ƒ‹A € A žMÛÿUU€š©Üž…➝g  CŸµž€¿! ÂW(âT ž‚€\   úG   ºA `º> ‚j   ‚gº7 6Á VÁ ƒ1A ƒ/A € A žM7@8ž: ¿³ÿÂ"(âž‚ÿÿ€\B  ž º¥G  ú º   `º  ‚jº– ‚gº“  6A VA ƒA ƒ‹A € A žMl+ÿÿ€š©mž…s ¿zÿÂz(⯞‚ÿÿ€\{ ž‚ ºl új ºž  `º™ ‚jº] ‚gº“  6Á VÁ ƒTA ƒRA € A žM¥UUÿ€Šžƒª ¿CÿÂ|(âxž‚ÿÿ€\²  º5 úl ºg  `ºb ‚jº& ‚gº\  6A VA ƒA ƒA € A žMÜÝž€Þ ¿‚GÂF(âDž‚ªªªª\æ  ž º9 ú6 º3  `º. ‚jº• ‚gº‘  6Á VÁ ƒ‹A ƒ‰A € A žMªªš©žƒ ¿³‚{Âz(â ž‚UUUU\ ž‚ ºm új ºž  `º› ‚jº— ‚gº“  6A VA ƒTA ƒRA € A žMG+ÿUUHžƒL ¿|‚}ÂC(âzž‚ªªUU\T  ž ºo ú3 ºg  `ºd ‚jº' ‚gº\  6Á VÁ ƒA ƒA € A žM~ž€€ ¿H‚ÂH(âFž‚UUªª\ˆ ž‚ º ú8 º3  `º0 ‚jº, ‚gº‘  6A VA ƒ‹A ƒ‰A € A žM²ªªš©³žƒ· ¿‚Âz(âž‚UUªª\¿  º új º  `ºš ‚jº– ‚gºZ  6Á VÁ ƒTA ƒRA € A žMéÿUUêž‚í ¿³‚EÂ|(âzž‚ªªUU\õ  º7 úl ºg  `ºd ‚jº( ‚gº\  6A VA ƒA ƒA € A žM+ ž" ¿~‚²Â²(âEž‚WüÔ\* ž‚ º€ ú¢ º2  `º/ ‚jº™ ‚gº’  6Á VÁ ƒŒA ƒŠA € A žMTW|Ôš©WüUž…[ ¿E‚yÂy(â ž‚VüÔ\c  ž ºk úi º  `ºš ‚jº— ‚gºY  6A VA ƒSA ƒQA € A žMÿUUVüŽžƒ’ ¿‚BÂB(âyž‚W|Ô\š  º4 ú2 ºf  `ºc ‚jº% ‚gº"  6Á VÁ ƒA ƒA € A žMÄÅž€Æ ¿³‚³Â³(âEž‚ÆŠNÒ\Î ž‚ º¥ ú£ º2  `º/ ‚jº– ‚gº–  6A VA ƒA ƒ‹A € A žMø+ÆŠNÓš©NÒùž† ¿y‚yÂy(â ž‚ÆŠNÔ\  ž ºk úi º  `ºš ‚jº\ ‚gº“  6Á VÁ ƒSA ƒQA € A žM2ÿUUNÔ3žƒ7 ¿B‚BÂB(âyž‚ÆŠNÓ\?  º4 ú2 ºf  `ºc ‚jº% ‚gº"  6A VA ƒA ƒA € A žMijž€k ¿‚²Â²(âEž‚<Ÿt)\s ž‚ º€ ú¢ º2  `º/ ‚jº• ‚gº•  6Á VÁ ƒŒA ƒŠA € A žM<Ÿt(š©t)žž…€ ¿³‚yÂy(â ž‚<Ÿt'\¬  ž ºk úi ºž  `º› ‚jº\ ‚gº”  6A VA ƒSA ƒQA € A žMÖ+ÿUUt'מ„Ü ¿{‚AÂA(âyž‚<Ÿt(\ä  º3 ú1 ºf  `ºc ‚jº$ ‚gº!  6Á VÁ ƒA ƒA € A žMž€ ¿G‚²Hÿ(âEž‚ÿÿ\  ž º€ ú¢ º2  `º/ ‚j  ‚gº’  6A VA ƒŒA ƒŠA € A žMBÿÿÿš©Cž„H ¿‚zHÿ(â ž‚ÿÿþ\P  ž ºl új º  `ºš ‚jº] ‚gº“  6Á VÁ ƒTA ƒRA € A žMzÿUUÿþ{žƒ ¿³‚CHÿ(âyž‚ÿÿÿ\‡  º5 ú3 ºf  `ºc ‚jº& ‚gº#  6A VA ƒA ƒA € A žM±+²žŽ ¿~‚ŠÂŠ¢ŠâŠž‚\Œ º› ú™ º– `º“  ‚m  ‚j  6Á VÁ žYÚQD=N33Ûž„à ¿R‚zÂz¢zâzž‚€\è ºo úm ºj `ºg  ‚mºŒ ‚j  6A VA žY€ž  ¿) I¢QâQž‚€\  M ºA `º>  ‚mºc ‚j  6Á VÁ žY/0ž€1 ¿‚)Â)¢)â)ž‚H QûL\9 º› ú™ º `º  ‚mºŽ ‚jº‹ 6A VA žYWQ±œMQûLXž„] ¿§‚§Â§¢§â§ž‚Ä&±ƒ\e º  úž º— `º”  ‚mº“ ‚jº 6Á VÁ žYƒ +ƂdÊ33ƇšVÄ&±ƒ„ž‰Ž ¿v‚|Â|¢vâvž‚Æ‚dÊ\– ºo úm ºf `ºc  ‚mº\ ‚jºY 6A VA žY޵ž€¶ ¿N‚ŠÂŠ¢NâNž‚*71E\Ÿ ºž úœ º> `º;  ‚mº‘ ‚jºŠ 6Á VÁ žYÜ-䃩1E-åò *7Ýž†ä ¿ ‚ŠÂy¢ â ž‚-䃩\ì ºœ úš º `º   ‚mº^ ‚jº[ 6A VA žY *W-æ2  žƒ ¿§‚§Â§¢§â§ž‚éŒT~\ º  úž º— `º”  ‚mº“ ‚jº 6Á VÁ žY5 +i©Hh33hgŸPéŒT~6ž‰@ ¿v‚|Â|¢vâvž‚i©Hh\H ºo úm ºf `ºc  ‚mº\ ‚jºY 6A VA žYfgž€h ¿N‚ŠÂŠ¢NâNž‚3F¡\p º M² º> `º;  ‚mº ‚jºŒ 6Á VÁ žYŽŽÈI†Žž3F¡ž…• ¿!‚|Â|¢!â!ž‚ŽÈI†\ ºp M² º `º  ‚mº_ ‚jº\ 6A VA žY»Œž€œ ¿§ &Š¢ŠâŠž‚\Å & ú™ º– `º“  ‚m  ‚j  6Á VÁ žYã+íO33äž„é ¿{ I¢zâzž‚&íO\ñ & úm ºj `ºg  ‚m & ‚jº] 6A VA žYž€ ¿S‚ŠÂŠ¢RâRž‚xÿ¿ÿ\ º› ú› ºB `º?  ‚mºŽ ‚jºŒ 6Á VÁ žY7ÿüxÿÿÿ¿ÿ8ž…>ž@g  CŸ¶¿ ‚sHÿ¢âž‚ t\L  M º  `º  ‚mº› ‚j   VA 6A €  ƒ‰ºŒ ƒ†ºZ žMvš©&€tPwž…} ¿³‚:Â:¢±â±ž‚xÿà\…  M º¡ `ºž  ‚mº" ‚jº— VÁ  6A €   ƒPºŒ ƒMºZ žM¯+33à‰°ž…¶ ¿z @I¢xâxž‚€\Ÿ  M ºh `ºe  ‚mºŒ ‚j  VA 6A žY܀ݞß ¿Q‚ŠI¢OâOž‚Mÿÿ\ç º ú™ º? `º<  ‚mºŽ ‚jº‰ 6Á VÁ žY@ÿÿMžƒ  ¿&‚{I¢$â$ž‚Íÿÿ\ º› ún º `º  ‚mºŒ ‚jº^ 6A VA žY0Í1ž3 ¿§‚§Â§¢§â§ž‚\; ºœ úš º— `º”  ‚m  ‚j  6Á VÁ žYY+QD=N33Zž…` ¿z‚zÂz¢zâzž‚€\h ºo úm ºj `ºg  ‚mºŒ ‚j  6A VA žY†€‡ž‰ ¿Q I¢QâQž‚\‘  M ºA `º>  ‚m  ‚j  6Á VÁ žY¯°ž€± ¿)‚UI¢)â)ž‚€\¹  M º `º  ‚mº; ‚j  6A VA žYרž€Ù ¿‚-I¢€â€ž‚\á  M º” `º‘  ‚m  ‚j  6Á VÁ žYÿ33 ž‚  ¿§ I¢zâzž‚€\   M ºj `ºg  ‚mº ‚j  6Á VÁ žY )+€ *ž‚ - ¿}‚ŠÂŠ¢PâPž‚iŒT~\ 5 º  úš º@ `º=  ‚mº ‚jºŒ 6A VA žY Si©HhŸPiŒT~hg Tž† [ ¿O‚{Â{¢"â"ž‚i©Hh\ c º› úl º `º  ‚mº^ ‚jº[ 6Á VÁ žY èg ‚ž „ ¿&‚ªÂ¥¢¥â¥ž‚4ÈI†\ Œ º  M² º• `º’  ‚mº’ ‚jº‹ 6A VA žY ª F¡33I†3Žž4È «ž‡ ³ ¿§‚§Âv¢vâvž‚ŽÈI†\ » º M² ºf `ºc  ‚mº ‚jº\ 6A VA žY Ù+³4žŽÈ Úž„ ß ¿{‚²Hÿ¢JâJž‚ô\ ç  M º: `º7  ‚mº™ ‚j  VÁ  6A €  ƒI ‹º‹ ƒ‰ºZ žM!ÿôš ë©!ž…! ¿B @I¢âž‚\!   M º `º  ‚m  ‚j  VA 6A žY!>!?ž!A ¿ÿHÿ¢€âzž‚\!I  M º” `ºg  ‚m  ‚j  6A VA žY!g33!hž!j ¿§ÿHÿ¢{âQž‚€\!r  M ºk `º>  ‚mº ‚j  6Á VÁ žY!+€!‘ž‚!” ¿}‚ŠÂŠ¢Qâ'ž‚DŽà\!œ º ú› ºA `º  ‚mº ‚jº 6A VA žY!º@]>Cû—ÐDŽà!»ž†! ¿O‚§Â§¢#⣞‚@*©»\!Ê ºž úœ º `º  ‚mº‘ ‚jºŽ 6Á VÁ žY!è ÂÍUBˆâÁ@*©»!鞇!ñ ¿ ‚§Â§¢€âtž‚ÁŽ=q\!ù ºž úœ º” `ºa  ‚mº‘ ‚jºŽ 6A VA žY" 33à ÈDF¡çÁŽ=q"ž‡"  ¿§‚§Â§¢uâEž‚Aa•\"( ºž úœ ºe `º2  ‚mº‘ ‚jºŽ 6Á VÁ žY"F +; ž.;ö Aa•"Gž‡"O ¿x I¢Fâž‚@\"W  M º6 `º  ‚mºŒ ‚j  VA 6A žY"u@"vž"x ¿O‚§Hÿ¢â£ž‚@€\"€ ºœ úš º  `º  ‚mº ‚j  6Á VÁ žY"žÿÿÿ@€"Ÿž„"€ ¿#‚§Â§¢€âwž‚Çü\"¬ ºž úœ º” `ºd  ‚mº‘ ‚jºŽ 6A VA žY"Ê 33ÐÿWÿÇü"Ëž‡"Ó ¿§‚§Â§¢uâHž‚È^­\"Û ºž úœ ºe `º5  ‚mº‘ ‚jºŽ 6Á VÁ žY"ù +H~ÜÐ]¯È^­"úž‡# ¿x‚ŠÂŠ¢Fâž‚DŽà\#  º ú› º6 `º  ‚mº ‚jº 6A VA žY#(@]><ŽwDŽà#)ž†#0 ¿J‚§Â§¢â£ž‚Á$ç\#8 ºž úœ º `º  ‚mº‘ ‚jºŽ 6Á VÁ žY#V F^©/ŬÕEÁ$ç#Wž‡#_ ¿‚§Â§¢€âtž‚@*©»\#g ºž MÊ º” `ºa  ‚mº ‚jº 6A VA žY#…33ÂÍUBÃ@*©»#†ž†# ¿§‚§Â§¢vâFž‚ÁŽ=q\#• ºž úœ ºf `º3  ‚mº‘ ‚jºŽ 6Á VÁ žY#³ +à ÈAÈZ—ÁŽ=q#Žž‡#Œ ¿x‚ŠÂŠ¢Gâž‚Aa•\#Ä º ú› º7 `º  ‚mº ‚jº 6A VA žY#â; ž.:qaAa•#㞆#ê ¿J‚§Â§¢â£ž‚8Ւï\#ò ºž úœ º  `º  ‚mº‘ ‚jºŽ 6Á VÁ žY$ Cb‡‰KÞ8Ւï$ž‡$ ¿ I¢€âtž‚A\$!  M º” `ºa  ‚mº ‚j  VA 6A žY$?33A$@ž‚$C ¿³‚µHÿ¢zâJž‚@\$K  úš ºj `º7  ‚mº ‚j  VÁ  6A €  ƒŠºŽ ƒ‡ºZ žM$u +š©ÿÿÿ@$O$vž‡$~ ¿x I¢?âž‚\$†  M º/ `ºœ  ‚m  ‚j  6A  VA €  ƒOº‰ ƒLºZ žM$°$Š$±ž‚$Ž ¿B I¢ âyž‚€\$Œ  M º  `ºf  ‚mº™ ‚j  6Á  VÁ €  ƒºŠ ƒºZ žM$æ33€$À$瞃$ë ¿ I¢yâBž‚\$ó  M ºi `º/  ‚m  ‚j  6A  VA €  ƒ‰ºŠ ƒ†ºZ žM%š©$÷%žƒ%" ¿³‚EI¢Bâ ž‚€\%*  M º2 `º  ‚mº+ ‚j  6Á  VÁ €  ƒRºŠ ƒOºZ žM%T+%.%Užƒ%Y ¿| I¢ âyž‚€\%a  M º  `ºf  ‚mº™ ‚j  6A  VA €  ƒºŠ ƒºZ žM%‹33€%e%Œžƒ% ¿E‚|I¢yâBž‚\%˜  M ºi `º/  ‚m  ‚j  6Á  VÁ €  ƒ‰º‰ ƒ‡ºZ žM%š%œ©%Þƒ%Ç ¿ež†%ʂyÂy¢yây\„ÿô  žn%Ø ¿’ež†%ß%܂yÂy¢yây\ÿýJ   žn%ê ž‚+¿}ež† %ñ‚yÂy¢yây\D%ö  žn%ÿ ¿kež†&‚yÂy¢yây\T&  žn& ¿Yež†&&‚yÂy¢yây\$ÿþ  žn&# ¿Gež†&&&'‚yÂy¢yây\d&+  žn&5 ¿5ež†ÿÿ&;&9‚yÂy¢yây\4ÿÿ  žn&G ¿#ež†&J&K‚yÂy¢yây\t&M  žn&Y Ü&€& Ÿ†€)‡„ C‡ƒžœ;ª«&€g ƒ@ÁŸŒ‚‹P ÿp ‚„‡† ‚†‡†ž‹¿€'0õŠ&–‹$⌠t¿Ÿv¢‡+€€@ ú„ž{žzž„Oÿÿÿ ÿ¢{+À€@+žžƒ žw&® Ÿ`@ úqžtžs)*ÿ€€@ úŽž{ žz)*ÿÀ€@+žž‡` p  žv&Å 1PAGE 0001 MULTI-TASKING LINKER (F1) 1981/11/25 16:22:32 FILE USAGE SUMMARY DH.PAT404.BIN=DH.PAT404.OBJ 1PAGE 0002 MULTI-TASKING LINKER (F1,EB,E5,E3,--,E3,E1) 1981/11/25 16:24:39 ALL SYMBOLS THE TRANSFER ADDRESS IS 0000(0SEGMENT) ABSOLUTE SYMBOLS (0000 - FFFE) 0024-COUNT1 00F2-PFERRS 0113-A01000 0F5D-RTC  1700-CHRIS 0025-COUNT2 00F8-DEFAULT 0122-A02000 100A-IOT 1E40-THIRD 00F0-PUPCT 00FE-PAT405 0760-HEWITT 1220-FLPT 2680-MEM:TST 00F1-PDNCT 00FF-PAT495 0EE0-UIT 122B-INITRP 4000-PATEND MEMORY RELOCATABLE (0000 - FFFF) 0000-R:LOW FFFF-R:HIGH NO WARNINGS 981/11/25 16:24:39 ALL SYMBOLS THE TRANSFER ADDRESS IS 0000(0SEGMENT) ABSOLUTE SYMBOLS (0000 - FFFE) 0024-COUNT1 00F2-PFERRS 0113-A01000 0F5D-RTC  1700-CHRIS 0025-COUNT2 00F8-DEFAULT 0122-A02000 100A-IOT 1E40-THIRD 00F0-PUPCT 00FE-PAT405 0760 THE JCL PRINTS LINK MAP FOR CPU HARDWARE TEST PROGRAM, DOCUMENTATION FOR USING THE PROGRAM AND LIST FILE OF THE PROGRAM. THE LIST FILE SPLITED ON FOUR PARTS. THE LINK MAP ASSUMED ON SF. THE DOCUMENTATION FILE ASSUMED ON UF. THE LIST FILES ASSUMED ON UF. PRINT LINK MAP? IF YES TYPE C IF NO TYPE X. PAUSE M SF PRINT SF.PATLINK.MAP PRINT PAT404 DOCUMENTATION? IF YES TYPE INSERT VOLUME F72706 INTO UF & TYPE C IF NO TYPE X PAUSE M UF PRI UF.PAT404:DOC DO NOT TYPE ANYTHING UNTIL THE PRINTER STOPED!!! PAUSE DIS UF PRINT A LISTING? IF YES TYPE C IF NO TYPE X. PAUSE INSERT VOLUME F72702 INTO UF PAUSE M UF PRI UF.PAT404P1 DO NOT TYPE ANYTHING UNTIL THE PRINTER STOPED!!! PAUSE DIS UF INSERT VOLUME F72703 INTO UF PAUSE M UF PRI UF.PAT404P2 DO NOT TYPE ANYTHING UNTIL THE PRINTER STOPED!!! PAUSE DIS UF INSERT VOLUME F72704 INTO UF PAUSE M UF PRI UF.PAT404P3 DO NOT TYPE ANYTHING UNTIL THE PRINTER STOPED!!! PAUSE DIS UF INSERT VOLUME F72705 INTO UF PAUSE M UF PRI UF.PAT404P4 DO NOT TYPE ANYTHING UNTIL THE PRINTER STOPED!!! PAUSE DIS SF DIS UF JOB YPE X. PAUSE INSERT VOLUME F72702 INTO UF PAUSE M UF PRI UF.PAT404P1 DO NOT TYPE ANYTHING UNTIL THE PRINTER STOPED!!! PAUSE DIS UF INSERT VOLUME F72703 INTO UF PAUSE M UF PRI UF.PAT404P2 DO NOT TYPE ANYTHING UNTIL THE PRINTER STOPED!!! PAUSE DIS UF INSERT VOLUME F72704 INTO UF PAUSE M UF PRI UF.PAT404P3 DO NOT TYPE ANYTHING UNTIL THE PRINTER STOPED!!! PAUSE DIS UF INSERT VOLUME F72705 INTO UF PAUSE M UF PRI UF.PAT404PS RBIT 2,S SET WORD MODE HLT BYTE TEST FAILURE----UPPER BYTE * Q=EXPECTED DATA * K=EXPECTED DATA * AX=PHYSICAL ADDRESS * K  Y=LOGICAL ADDRESS * JMP MEM12 PATCH FOR LOOPING ORG $-1 NOP OVERLAY WITH NOP JMP MEM:END ERROR EXIT LPOOL * MEM333 COPY =:AA,Q LOWER BYTE EXPECTED DATA COPY Q,K LOAD K WITH EXPECTED DATA COPY 1(Y),A READ DATA FROM TEST MEMORY (LOWER BYTE) CSK A,K COMPARE TO EXPECTED DATA NOP JMP $+2 ERROR JMP MEM444 OK * COPY X,Y LOAD X WITH LOW ORDER PHYSICAL ADDRESS RBIT 2,S SET WORD MODE HLT  BYTE TEST FAILURE------LOWER BYTE * ** Q=EXPECTED DATA *  K=EXPECTED DATA * AX=PHYSICAL ADDRESS * Y=LOGICAL ADDRESS * JMP MEM12 PATCH FOR LOOPING ORG $-1 NOP OVERLAY WITH NOP JMP MEM:END ERROR EXIT * MEM444 EQU $ CSK X,Y END OF MEMORY??? JMP MEM15 NO,CONTINUE JMP MEM15 NO,CONTINUE RBIT 2,S YES,SET WORD MODE JMP MEM12 PATCH FOR LOOPING THRU BYTE TEST ORG $-1 JMP WALK1 TITL WALKING 1 MEMORY TEST * ********** * * THIS TEST WILL WALK A ONE THRU EACH MEMORY LOCATION * (HAVE A 0 IN MEMORY LOCATION AND ROTATE A 1 THRU IT), * IT IS DESIGNED TO FIND BAD BITS. * *********** * MEMLOOP WORD -16 MEMLOOP2 WORD -16 * WALK1 EQU  $ SBIT OV,S SET THE OVERFLOW BIT COPY =:4FFF,X SET STARTING MEMORY ADDRESS SET:0 ADD =1,X NEXT ADDRESS  COPY =0,Y HERE1 COPY Y,0(X) COPY Y TO MEMORY ADDRESS 0(X) COPY 0(X),Q READ MEMORY ADDRESS CSK Q,Y SHOULD BE = NOP JMP ERR:FIND ROUTINE WILL FIND OUT WHICH BIT FAILED ROTATE Y,LO,1 WALK 1 THRU IMS MEMLOOP HAVE WE FINISHED WALKING THE 1 THRU JMP HERE1 NO CONTINUE COPY X,A PUT X IN REG A FOR CSK INSTRUCTION CSK A,=:FFFF END OF MEMORY JMP THERE1 NO JMP TO THERE1 JMP THERE1 JMP ONELOOP GO TO NEXT TEST * THERE1 COPY =-16,Q COPY Q,MEMLOOP SET MEMLOOP BACK TO -16 JMP SET:0 GO TEST NEXT MEMORY LOCATION * ERR:FIND EQU $ AND Y,Q FIND OUT WHICH BITS ARE IN ERROR HLT ALL BITS IN Q NOT =0 ARE WRONG ADD =1,X  IF RESTART GET NEXT ADDRESS JMP SET:0 TITL WALKING ZERO MEMORY TEST * *********** * * THIS TEST WILL WALK A ZERO THRU EACH MEMORY LOCATION * ************ * ONELOOP EQU $ RBIT OV,S RESET THE OV BIT IN S COPY =:4FFF,X SET STARTING MEMORY LOCATION SET:Y ADD =1,X NEXT ADDRESS COPY =:FFFF,Y SET Y TO ALL ONES HERE22 COPY Y,0(X) PUT Y IN MEMORY LOCATION COPY 0(X),Q COPY MEMORY LOCATION INTO Q CSK Q,Y SHOULD BE EQUAL NOP JMP ERR:FIN3 GO SEE WHICH BIT FAILED ROTATE Y,LO,1 WALK THE 0 THRU IMS MEMLOOP2 ARE WE DONE WALKING THE 0 JMP HERE22 NO COPY X,A PUT X IN REG A FOR CSK INSTRUCTION CSK A,=:FFFF END OF MEMORY JMP MORE3 NO JMP TO MORE3 JMP MORE3 JMP YESSIR DONE WITH TEST * MORE3 COPY =-16,Q COPY Q,MEMLOOP2 JMP SET:Y GO TEST NEXT ADDRESS * ERR:FIN3 EQU $ AND Y,Q FIND OUT WHICH BITS ARE WRONG NOP EVERY BIT NOT =0 IS WRING HLT L  ADD =1,X IF START UP GET NEXT ADDRESS JMP SET:Y TEST NEXT ONE TITL YESSIR EQU $ MEM:END COPY =:D00E,A SELP A,4 OUTPUT =:D00E TO CRT TO SIGNAL IT IT FINISHED COPY =:FFF,Y IJNE Y,$ JMP *$+1 WORD A02000 END PATSTART O MORE3 JMP MORE3 JMP YESSIR DONE WITH TEST * MORE3 COPY =-16,Q COPY Q,MEMLOOP2 JMP SET:Y GO TEST NEXT ADDRESS * ERR:FIN3 EQU $ AND Y,Q FIND OUT WHICH BITS ARE WRONG NOP EVERY BIT NOT =0 IS WRING HLT pº M² º> `º; ‚mº ‚jºŒ 6Á VÁ žYŽŽÈI†Žž3F¡ž…•'¿!‚|Â|¢!â!ž‚ŽÈI†\ºp M²  º `º ‚mº_ ‚jº\ 6A VA žY»Œž€œ'¿§ &Š¢ŠâŠž‚\Å & ú™ º– `º“ ‚m  ‚j  6Á VÁ žYã+íO33äž„é'¿{ I¢zâzž‚&íO\ñ & úm ºj `ºg ‚m & ‚jº] 6A VA žYž€'¿S‚ŠÂŠ¢RâRž‚xÿ¿ÿ\º› ú› ºB `º? ‚mºŽ ‚jºŒ 6Á VÁ žY7ÿüxÿÿÿ¿ÿ8ž… žn&YÜ&€& Ÿ†€)‡„ C‡ƒžœ;ª«&€/ƒ@ÁŸŒ‚‹P ÿp ‚„‡†‚†‡†ž‹¿€'0õŠ&–‹$âŒt¿Ÿv¢‡+€€@ ú„ž{žzž„Oÿÿÿÿ¢{+À€@+žžƒ žw&®Ÿ`@ úqžtžs)*ÿ€€@ úŽž{žz)*ÿÀ€@+žž‡` p  žv&Å$žéP@ ú|žpžož±âS(ÿ UIª%k„@ÄA`+ž{žz' âF%k UpÀ@@{žž‡` ' že&èžÆ&ÿIªp@€A{žž…` ' žW&öžž kžcžb'žQ&ü=ž‚ÿðÿð¢!+iä€À€@kž‹nÞsžx ºž‚žž‡HðÆkžn@d +žj¢ +hÿä€À€@kž‹nÞ\žx º‘ž‚žžˆHðÆTžn@d +ži‚†â…t¿Ÿ€"ÿÿÐÿmF1EBE5E3--E3E1"ÿÿÐÿmF1EBE5E3--E3E1’I’I’IžéP@ ú|žpžož±âS(ÿ U Iª%k„@ÄA`+ž{žz' âF% k UpÀ@@{žž‡` ' že&è žÆ&ÿIªp@€A{žž…` ' žW&öžž kžcžb'žQ&ü ž‚ÿðÿð¢!+iä€À€@kž‹ nÞsžx ºž‚žž‡HðÆkžn@d  +žj¢ +hÿä€À€@kž‹ nÞ\žx º‘ž‚žžˆHðÆTžn@d  +ži‚†â…t¿Ÿ€"ÿÿÐÿ 801222141326801222141326811125154945MACRO UF.PAT404:DOC(NOO,L=) MACRO UF.PAT404(D=UF.PAT404,L=) ASS LO=UF.PATLINK.MAP LINK UF.PAT404 /J PRINT FILES IF YES TYPE C IF NO TYPE X DO PATPRINT 811009103821811009103821811009103821VA žY ª F¡33I†3Žž4È «ž‡ ³'¿§‚§Âv¢vâvž‚ŽÈI†\ »º M² ºf `ºc ‚mº ‚jº\ 6A VA žY Ù+³4žŽÈ Úž„ ß3¿{‚²Hÿ¢JâJž‚ô\ ç  M º: `º7 ‚mº™ ‚j  VÁ 6A €  ƒ‹º‹ ƒ‰ºZ žM!ÿôš ë©!ž…!'¿B @I¢âž‚\!  M º `º ‚m  ‚j  VA 6A žY!>!?ž!A'¿ÿHÿ¢€âzž‚\!I  M º” `ºg ‚m  ‚j  6A VA žY!g33!hž!j'¿§ÿHÿ¢{âQ’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I