ASMB,A,B,L,C 00001000 HED GENERAL OPERATING PROCEDURE 00002000 ORG 0 00003000 SUP 00004000 * GENERAL OPERATING PROCEDURE 00005000 * 00006000 * A. LOAD DIAGNOSTIC CONFIGURATOR AND SET IT UP. 00007000 * B. LOAD DIAGNOSTIC MAIN PROGRAM 00008000 * C. LOAD ADDRESS 100B. 00009000 * D. LOAD SWITCH REG. WITH SELECT CODE AND OPTIONS 00010000 * E. PRESS RUN AND WAIT FOR HALT 107074. 00011000 * F. LOAD SWITCH REGISTER 00012000 * IF SET =: 00013000 * 15 = HALT AT END OF EACH TEST 00014000 * 14 = SUPRESS ERROR HALTS 00015000 * 13 = LOOP ON LAST TEST 00016000 * 12 = LOOP ON DIAGNOSTIC 00017000 * (SUPPRESS ALL OPERATOR INTERVENTION) 00018000 * 11 = SUPRESS ERROR MESSAGES 00019000 * 10 = SUPRESS NON-ERROR MESSAGES 00020000 * 9 = GO TO USER CONTROL SECTION 00021000 * AT END OF PRESENT TEST 00022000 * 8= SUPPRESS OPERATOR INTERVENTION TESTS 00023000 * 7 00024000 * = DIAGNOSTIC OPTIONS 00025000 * 0 00026000 * NOTE: STANDARD RUN SHOULD BE WITH SW. REG. = 0 00027000 * USER CONTROL WILL ASK FOR A 32 BIT WORD. 00028000 * EACH BIT WILL = 1 TEST 00029000 * 00030000 * G. PRESS RUN. 00031000 * H. RESTART - LOAD ADDRESS 2000B 00032000 * I. RECONFIGURE IF TESTING I/O INTERFACE - LOAD ADDRESS 100B 00033000 * 00034000 * GENERAL COMPUTER HALTS 00035000 * 00036000 * 1020XX E OR H 000 TO 067 00037000 * 1060XX E OR H 100 TO 167 00038000 * 1030XX E OR H 200 TO 267 00039000 * 1070XX E OR H 300 TO 367 00040000 * 00041000 * CONTROL PROGRAM HALT MESSAGES 00042000 * 00043000 * 102077 END OF DIAG (A = PASS COUNT) 00044000 * 102076 END OF TEST (A = TEST #) 00045000 * 102075 USER SELECTION REQUEST 00046000 * 102074 SELECT CODE INPUT COMPLETE 00047000 * 102073 USER SELECT CODE ERROR 00048000 * 102072 RESERVED 00049000 * 102071 RESERVED 00050000 * 102070 RESERVED 00051000 * 00052000 * 106077 TRAP CELL HALT 00053000 * 00054000 * 00055000 * 00056000 HED PROGRAM ORGANIZATION CHART 00057000 * ******************************************* 00058000 * * CONFIGURATOR 100B * 00059000 * * LINKAGE TABLE * 00060000 * ******************************************* 00061000 * * EXECUTIVE 130B * 00062000 * * LINKAGE * 00063000 * ******************************************* 00064000 * * CONSTANTS 150B * 00065000 * * AND * 00066000 * * STORAGE * 00067000 * ******************************************* 00068000 * * 2000B * 00069000 * * EXECUTIVE CONTROL * 00070000 * * * 00071000 * ******************************************* 00072000 * * IF USED * 00073000 * * BASIC I/O TESTS (TEST 00) * 00074000 * * ZCEND * 00075000 * ******************************************* 00076000 * * TABLE OF TEST POINTERS * 00077000 * * TABLE OF I/O INSTR POINTERS * 00078000 * ******************************************* 00079000 * * * 00080000 * * * 00081000 * * * 00082000 * * * 00083000 * * * 00084000 * * MAIN DIAGNOSTICS (1-31) * 00085000 * * * 00086000 * * * 00087000 * * * 00088000 * * * 00089000 * * * 00090000 * ******************************************* 00091000 * 00092000 * 00093000 * 00094000 * 00095000 * 00096000 * 00097000 * 00098000 * 00099000 * 00100000 * 00101000 * 00102000 * 00103000 * 00104000 * 00105000 * 00106000 * 00107000 * 00108000 * 00109000 * 00110000 * 00111000 HED CONFIGURATOR LINKAGE TABLE 00112000 A EQU 0 A REGISTER REFERENCE 00113000 B EQU 1 B REGISTER REFERENCE 00114000 SW EQU 1 SWITCH REGISTER REFERENCE 00115000 INTP EQU 0 INTERRUPT CHANNEL REFERENCE 00116000 * 00117000 * 00118000 ORG 100B 00119000 * 00120000 JMP CFIG,I GO TO CONFIGURATION SECTION 00121000 FAIN BSS 1 FAST INPUT (PHOTO READER) 00122000 SLOP BSS 1 SLOW OUTPUT (LIST) 00123000 FAOP BSS 1 FAST OUTPUT (DUMP OR PUNCH) 00124000 SLIN BSS 1 SLOW INPUT (KEYBOARD) 00125000 FWAM DEF FWAA FIRST WORD OF AVBL. MEMORY 00126000 LWAM BSS 1 LAST WORD OF AVBL. MEMORY 00127000 BSS 1 NOT USED (MAG TAPE) 00128000 OTMC BSS 1 1 MILL SEC TIME OUT COUNT 00129000 BSS 4 SELECT CODES FOR I/O 00130000 CPTO BSS 1 COMPUTER TYPE/OPTIONS 00131000 USSC BSS 1 USER CARD TYPE AND SELECT CODE 00132000 MEMO BSS 1 MEMORY SIZE AND TYPE 00133000 ISWR BSS 1 INTERNAL SWITCH REGISTER 00134000 TMRR BSS 1 1 MILL SEC TIMER 00135000 SWRC BSS 1 CONFIGURATOR SWITCH CK PTR 00136000 I2AS BSS 1 INTEGER TO ASCII CONVERSION 00137000 O2AS BSS 1 OCTAL TO ASCII CONVERSION 00138000 AS2N BSS 1 ASCII CONVERSION 00139000 DSNL BSS 1 DIAGNOSTIC SERIAL NUMBER 00140000 FMTR BSS 1 FORMATTER 00141000 * 00142000 * 00143000 * CONTROL LINKAGE AND DATA REFERENCES 00144000 * 00145000 CFIG DEF ZCONF CONFIGURATION SECTION 00146000 MSGC DEF ZMSGC MESSAGE WITH NO HALT 00147000 MSGH DEF ZMSGH MESSAGE WITH HALT 00148000 ERMS DEF ZERMS ERROR MESSAGE 00149000 SWRT DEF ZSWRT SWITCH REGISTER CHECK ROUTINE 00150000 TSTN OCT 0 CURRENT TEST NUMBER 00151000 EXRT DEF ZEXRT RETURN TO CONTROL PROGRAM 00152000 NOP RESERVED 00153000 * 00154000 * 00155000 * 00156000 * 00157000 * 00158000 * 00159000 * 00160000 * 00161000 * 00162000 * 00163000 * 00164000 * 00165000 * 00166000 HED EXECUTIVE CONTROL 00167000 ORG 2000B 00168000 ZSTEX CLC INTP,C TURN I/O SYSTEM OFF 00169000 JSB MSGC,I DO CRLF 00170000 DEF ZRTLF 00171000 LDA HDMP GET INTRODUCTORY MESSAGE 00172000 STA *+2 00173000 JSB MSGC,I OUT PUT IT 00174000 NOP 00175000 CLA CLEAR PASS 00176000 STA ZEOLC COUNT 00177000 LDB ZSW9 CHECK FOR USER SELECTION REQ 00178000 JSB SWRT,I 00179000 JMP ZUSR IT'S USERS CHOICE 00180000 ZNUSR LDA STDA GET STANDARD TEST RUN 00181000 LDB STDB * 00182000 JMP ZEXC 00183000 * 00184000 ZUSR LDA ZSINA RETRIEVE PREVIOUS RUN 00185000 LDB ZSINB 00186000 HLT 75B WAIT FOR USER INPUT 00187000 NOP 00188000 NOP 00189000 NOP 00190000 ZEXC STA ZUINA SAVE 00191000 STB ZUINB USER 00192000 STA ZSINA INPUT 00193000 STB ZSINB PROGRAM 00194000 LDB ZSW9 CHECK IF SW9 IS DOWN 00195000 JSB SWRT,I 00196000 JMP ZUSR NO GO AND WAIT 00197000 CCA SET TEST NUMBER 00198000 STA TSTN =-1 00199000 CLA 00200000 STA ZTSTA CLEAR TEST RUN FLAG 00201000 * 00202000 * 00203000 * 00204000 * 00205000 * 00206000 * 00207000 * 00208000 * 00209000 * 00210000 * 00211000 * 00212000 * 00213000 * 00214000 * 00215000 * 00216000 * 00217000 SKP 00218000 ZEXCL LDA ZUINA RESTORE A REG. 00219000 LDB ZUINB RESTORE B REG. 00220000 ERA,RAL ROTATE 00221000 ERB FIRST 00222000 ERA TEST BIT 00223000 STA ZUINA SAVE POSITIONS 00224000 STB ZUINB 00225000 ISZ TSTN MOVE TEST UP ONE 00226000 NOP 00227000 ZXCL1 LDA TSTN 00228000 ADA TSTP GET IT'S 00229000 LDA A,I ADDRESS 00230000 CPA Z.M1 IS IT END OF LIST 00231000 JMP ZEOL YES 00232000 LDB ZUINB 00233000 SSB,RSS SHOULD IT BE RUN? 00234000 JMP ZEXCL NO 00235000 STA ZTSTA YES - SAVE TEST ADDRESS 00236000 JSB ZITCH INITIALIZE TRAP CELL HALTS 00237000 JSB ZTSTA,I GO DO TEST 00238000 ZEXRT LDA TSTN DISPLAY TEST NUMBER IF HALTED 00239000 LDB ZSW15 CHECK FOR HALT AT END OF TEST 00240000 JSB SWRT,I 00241000 HLT 76B YES WAIT FOR OPERATOR 00242000 LDB ZSW9 CHECK FOR ABORT 00243000 JSB SWRT,I 00244000 JMP ZUSR YES 00245000 LDB ZSW13 CHECK FOR LOOP ON ROUTINE 00246000 JSB SWRT,I 00247000 JMP ZXCL1 YES - LOOP 00248000 JMP ZEXCL CONTINUE 00249000 * 00250000 ZEOL LDA ZTSTA CHECK IF ANY TESTS WERE RUN 00251000 SZA,RSS ? 00252000 JMP ZNUSR NO SO PICK UP STANDARD RUN 00253000 LDA ZEOLC UP DATE PASS COUNT 00254000 INA 00255000 STA ZEOLC 00256000 CCE 00257000 LDB ZPSCA GET PASS COUNT 00258000 ADB Z.2 ADDRESS 00259000 JSB O2AS,I CONVERT IT 00260000 JSB MSGC,I CALL PRINT ROUTINE 00261000 ZPSCA DEF ZPSC 00262000 LDB ZSW12 CHECK FOR LOOP ON DIAG. 00263000 JSB SWRT,I 00264000 JMP *+3 YES 00265000 LDA ZEOLC 00266000 HLT 77B NO WAIT AND DISPLAY PASS COUNT 00267000 LDA ZSINA RESTORE ORIGINAL 00268000 LDB ZSINB PROGRAM 00269000 JMP ZEXC DO IT ALL AGAIN 00270000 * 00271000 SKP 00272000 * MESSAGE OUTPUT WITH OUT HALT 00273000 * 00274000 ZMSGC NOP ENTRY 00275000 JSB ZMSG OUTPUT MESSAGE 00276000 OCT 2000 SWITCH 10 CHECK 00277000 JMP ZMSGC,I RETURN TO CALLER 00278000 * 00279000 * MESSAGE OUTPUT WITH HALT 00280000 * 00281000 ZMSGH NOP ENTRY 00282000 JSB ZMSG OUTPUT MESSAGE 00283000 OCT 2000 SWITCH 10 CHECK 00284000 LDA ZHLT GET HALT CODE 00285000 STA *+2 PUT IT IN PLACE 00286000 LDA ZSAVA RESTORE A REGISTER 00287000 NOP HALT FOR DISPLAY 00288000 JMP ZMSGH,I RETURN TO CALLER 00289000 * 00290000 * ERROR MESSAGE WITH HALT 00291000 * 00292000 ZERMS NOP ENTRY 00293000 JSB ZMSG OUTPUT MESSAGE 00294000 OCT 4000 SWITCH 11 CHECK 00295000 CLA 00296000 LDB ZSW14 CHECK SWR BIT 14 TO SUPPRESS 00297000 JSB SWRT,I HALT 00298000 STA *+3 PUT HALT IN PLACE 00299000 LDA ZSAVA RESTORE A & B 00300000 LDB ZSAVB 00301000 ZHLT NOP WAIT FOR OPERATOR 00302000 JMP ZERMS,I RETURN TO CALLER 00303000 * 00304000 * 00305000 * 00306000 * 00307000 * 00308000 * 00309000 * 00310000 * 00311000 * 00312000 * 00313000 * 00314000 * 00315000 * 00316000 SKP 00317000 * OUTPUT MESSAGE 00318000 * 00319000 ZMSG NOP 00320000 STA ZSAVA SAVE A AND B REGISTERS 00321000 STB ZSAVB 00322000 LDB ZMSG,I GET SWITCH REGISTER BIT 00323000 LDA ZMSG 00324000 ADA Z.M2 DECREMENT RETURN ADDRESS 00325000 STA ZMSG 00326000 JSB SWRT,I CHECK TO SUPPRESS MESSAGE 00327000 JMP ZMSG0 YES 00328000 LDA ZMSG,I CHECK IF ERROR 00329000 LDA A,I 00330000 LDA A,I IF SO 00331000 ALF,ALF 00332000 AND Z.177 00333000 CPA ZA.E 00334000 JSB ZCFTN CHECK TO OUTPUT TEST NUMBER 00335000 LDA ZMSG,I NO RETRIEVE FORMAT 00336000 LDB A,I ADDRESS 00337000 CLA,CLE 00338000 JSB FMTR,I 00339000 ZMSG0 LDA ZMSG,I CONVERT HALT CODE 00340000 LDB A,I FROM ASCII STRING 00341000 CCA,CCE 00342000 JSB AS2N,I 00343000 STA ZN2AO SAVE RESULT 00344000 AND Z.300 DECODE 00345000 LDB ZH2 HALT CODE 00346000 CPA Z.100 00347000 LDB ZH6 00348000 CPA Z.200 00349000 LDB ZH3 00350000 CPA Z.300 00351000 LDB ZH7 00352000 LDA ZN2AO GET HALT NUMBER 00353000 AND Z.77 00354000 IOR B 00355000 STA ZHLT SAVE IT 00356000 ISZ ZMSG,I ADJUST RETURN POINTERS 00357000 ISZ ZMSG 00358000 ISZ ZMSG 00359000 ISZ ZMSG 00360000 LDA ZSAVA RESTORE A AND B REGISTERS 00361000 LDB ZSAVB 00362000 JMP ZMSG,I 00363000 * 00364000 * 00365000 * 00366000 * 00367000 * 00368000 * 00369000 SKP 00370000 ZCFTN NOP 00371000 LDA TSTN GET TEST NUMBER 00372000 CPA ZCFTT IS IT THE SAME ONE? 00373000 JMP ZCFTN,I YES SKIP OUTPUT 00374000 STA ZCFTT NO - THEN UPDATE IT 00375000 JSB ZN2AO CONVERT IT 00376000 STA ZTSTN PUT IT IN STRING 00377000 CLA DO A CRLF 00378000 JSB SLOP,I 00379000 CLA,CLE INDICATE START OF FORMAT 00380000 LDB ZTSTF 00381000 JSB FMTR,I 00382000 JMP ZCFTN,I RETURN 00383000 * 00384000 * 00385000 * 00386000 * 00387000 ZSAVA NOP 00388000 ZSAVB NOP 00389000 ZEOLC NOP 00390000 ZTSTA NOP 00391000 ZSINA NOP 00392000 ZSINB NOP 00393000 ZUINA NOP 00394000 ZUINB NOP 00395000 ZBTMP NOP 00396000 Z.2 OCT 2 00397000 Z.7 OCT 7 00398000 Z.10 OCT 10 00399000 Z.60 OCT 60 00400000 Z.77 OCT 77 00401000 Z.177 OCT 177 00402000 Z.M1 DEC -1 00403000 Z.M2 DEC -2 00404000 ZD100 DEC -100 00405000 ZIOM OCT 177700 00406000 ZSW15 OCT 100000 00407000 ZSW14 OCT 40000 00408000 ZSW13 OCT 20000 00409000 ZSW12 OCT 10000 00410000 ZS812 OCT 010400 00411000 ZSW9 OCT 1000 00412000 Z.100 OCT 100 00413000 Z.200 OCT 200 00414000 Z.300 OCT 300 00415000 ZH2 OCT 102000 00416000 ZH6 OCT 106000 00417000 ZH3 OCT 103000 00418000 ZH7 OCT 107000 00419000 ZCFTT DEC -1 00420000 ZTSTF DEF *+1 00421000 ASC 3,TEST 00422000 ZTSTN ASC 2,XX// 00423000 ZRTLF ASC 1,// 00424000 ZPSC ASC 6,PASS XXXXXX/ 00425000 ZA.E OCT 105 00426000 HED GENERAL ROUTINES 00427000 * 00428000 * 00429000 ZN2AO NOP 00430000 STA ZIOAD SAVE NUMBER 00431000 AND Z.7 CONVERT FIRST 00432000 IOR Z.60 NUMBER 00433000 STA B SAVE IT 00434000 LDA ZIOAD GET 00435000 RAR,RAR SECOND 00436000 RAR NUMBER 00437000 AND Z.7 CONVERT 00438000 IOR Z.60 IT 00439000 ALF,ALF MOVE TO UPPER HALF 00440000 IOR B ADD LOWER 00441000 JMP ZN2AO,I AND RETURN 00442000 * 00443000 * 00444000 * 00445000 * SWITCH REGISTER CHECK 00446000 * 00447000 ZSWRT NOP 00448000 STA ZN2AO SAVE A REGISTER 00449000 LIA SW GET SWITCH REG. 00450000 AND B MASK OUT BIT 00451000 SZA,RSS IS IT UP? 00452000 ISZ ZSWRT NO 00453000 LDA ZN2AO RESTORE A REGISTER 00454000 LIB SW LET B = SWITCH REGISTER 00455000 JMP ZSWRT,I RETURN TO CALLER 00456000 * 00457000 * 00458000 * 00459000 * INITIALIZE TRAP CELL HALTS 00460000 * 00461000 ZITCH NOP 00462000 LDA ZTSH GET STARTING TRAP CELL HALT 00463000 LDB Z.2 GET FIRST TRAP CELL LOCATION 00464000 ZTSHL STA B,I PUT IT IN PLACE 00465000 CPB Z.77 AM I FINISHED 00466000 JMP ZITCH,I YES 00467000 INB NEXT ADDRESS 00468000 JMP ZTSHL 00469000 * 00470000 ZTSH OCT 106077 00471000 * 00472000 * 00473000 * 00474000 SKP 00475000 * PUT JSB INSTRUCTION IN TRAP CELL 00476000 * 00477000 ZTCJI NOP 00478000 LDB ZJSBI GET INSTRUCTION 00479000 STB ZIOSC,I PUT IT IN TRAP CELL 00480000 LDA ZTCJI,I GET LOCATION 00481000 STA 3B SAVE IT FOR JSB INSTRUCTION 00482000 ISZ ZTCJI ADJUST RETURN 00483000 JMP ZTCJI,I RETURN TO CALLER 00484000 * 00485000 ZJSBI JSB 3B,I JSB INSTRUCTION 00486000 * 00487000 * 00488000 * INITIALIZE SELECT CODE I/O INSTRUCTIONS 00489000 * 00490000 ZISC NOP 00491000 STA ZIOSC SAVE SELECT CODE 00492000 STB ZIOAD SAVE TABLE ADDRESS 00493000 ZIOL LDB ZIOAD,I GET ADDRESS OF LOCATION 00494000 CPB Z.M1 IS IT THE TERMINATOR 00495000 JMP ZISC,I YES RETURN TO CALLER 00496000 LDA B,I NO - GET CONTENTS 00497000 AND ZIOM MASK OFF OLD SELECT CODE 00498000 IOR ZIOSC ADD IN NEW SELECT CODE 00499000 STA B,I RESTORE IT 00500000 ISZ ZIOAD MOVE TO NEXT ADDRESS 00501000 JMP ZIOL DO IT 00502000 * 00503000 ZIOSC NOP 00504000 ZIOAD NOP 00505000 * 00506000 * 00507000 * 00508000 * 00509000 SKP 00510000 * CONFIGURATION SECTION 00511000 * 00512000 ZCONF CLC INTP,C TURN I/O SYSTEM OFF 00513000 LIA SW GET SELECT CODE AND OPTIONS 00514000 STA USSC SAVE THEM 00515000 AND Z.77 ELIMINATE OPTIONS 00516000 LDB A 00517000 CMB,INB CHECK THAT SC > 7 00518000 ADB Z.7 00519000 SSB ? 00520000 JMP *+3 OK GO ON 00521000 HLT 73B NO 00522000 JMP ZCONF TRY AGAIN 00523000 LDB IOIP INITIALIZE TEST I/O 00524000 JSB ZISC INSTRUCTIONS 00525000 HLT 74B ALLOW OPERATOR TO CHANGE SWIT 00526000 JMP ZSTEX GO TO EXEC CONTROL SECTION 00527000 * 00528000 * 00529000 * 00530000 * 00531000 * 00532000 * 00533000 * 00534000 * 00535000 * 00536000 * 00537000 * 00538000 * 00539000 * 00540000 * 00541000 * 00542000 * 00543000 * 00544000 * 00545000 * 00546000 * 00547000 * 00548000 * 00549000 * 00550000 HED BASIC I/O TESTS 00551000 CH EQU 10B 00552000 * 00553000 TST00 EQU * 00554000 NOP 00555000 LDA USSC GET CELL LOCATION 00556000 AND Z.77 00557000 JSB ZBIO DO BASIC I/O 00558000 JMP TST00,I 00559000 * 00560000 ZBIO NOP 00561000 CLC INTP,C TURN OFF ALL I/O 00562000 LDB ZBIOD INITIALIZE BASIC I/O 00563000 JSB ZISC INSTRUCTIONS 00564000 * 00565000 * INTERRUPT FLAG CHECK 00566000 * 00567000 ZBIO1 STF INTP 00568000 CLF INTP 00569000 SFC INTP 00570000 RSS 00571000 JMP *+3 00572000 E000 JSB ERMS,I E000 CLF 0-SFC 0 ERROR 00573000 DEF ZBE00 00574000 SFS INTP 00575000 JMP *+3 00576000 E001 JSB ERMS,I E001 CLF 0-SFS 0 ERROR 00577000 DEF ZBE01 00578000 STF INTP 00579000 SFC INTP 00580000 JMP *+4 00581000 CLF INTP TURN OFF INTS 00582000 E002 JSB ERMS,I E002 STF 0-SFC 0 ERROR 00583000 DEF ZBE02 00584000 SFS INTP 00585000 JMP *+3 00586000 CLF INTP TURN OFF INTERRUPTS 00587000 JMP ZBIO2 00588000 CLF INTP TURN OFF INTS 00589000 E003 JSB ERMS,I E003 STF 0-SFS 0 ERROR 00590000 DEF ZBE03 00591000 JMP ZBIO2 00592000 * 00593000 ZBE00 ASC 12,E000 CLF 0-SFC 0 ERROR/ 00594000 ZBE01 ASC 12,E001 CLF 0-SFS 0 ERROR/ 00595000 ZBE02 ASC 12,E002 STF 0-SFC 0 ERROR/ 00596000 ZBE03 ASC 12,E003 STF 0-SFS 0 ERROR/ 00597000 * 00598000 * 00599000 SKP 00600000 * CARD FLAG CHECK 00601000 * 00602000 ZBIO2 EQU * 00603000 ZBS21 STF CH 00604000 ZBS22 CLF CH 00605000 ZBS23 SFC CH 00606000 RSS 00607000 JMP *+3 00608000 E005 JSB ERMS,I E005 CLF CH-SFC CH ERROR 00609000 DEF ZBE05 00610000 ZBS24 SFS CH 00611000 JMP *+3 00612000 E006 JSB ERMS,I E006 CLF CH-SFS CH ERROR 00613000 DEF ZBE06 00614000 ZBS25 STF CH 00615000 ZBS26 SFC CH 00616000 JMP *+3 00617000 E007 JSB ERMS,I E007 STF CH-SFC CH ERROR 00618000 DEF ZBE07 00619000 ZBS27 SFS CH 00620000 RSS 00621000 JMP ZBIO3 00622000 E010 JSB ERMS,I E010 STF CH-SFS CH ERROR 00623000 DEF ZBE10 00624000 JMP ZBIO3 00625000 * 00626000 ZBE05 ASC 13,E005 CLF CH-SFC CH ERROR/ 00627000 ZBE06 ASC 13,E006 CLF CH-SFS CH ERROR/ 00628000 ZBE07 ASC 13,E007 STF CH-SFC CH ERROR/ 00629000 ZBE10 ASC 13,E010 STF CH-SFS CH ERROR/ 00630000 * 00631000 * 00632000 * 00633000 * 00634000 * 00635000 * 00636000 * 00637000 * 00638000 * 00639000 * 00640000 * 00641000 * 00642000 * 00643000 * 00644000 * 00645000 * 00646000 * 00647000 * 00648000 * 00649000 SKP 00650000 * INTERRUPT CONTROL 00651000 * 00652000 ZBIO3 JSB ZTCJI SET JSB INSTRUCTION 00653000 DEF ZB3E 00654000 ZBS31 STF CH SET THE FLAG 00655000 ZBS32 STC CH SET THE CONTROL 00656000 STF INTP TURN I/O SYSTEM ON THEN 00657000 CLF INTP TURN I/O SYSTEM OFF 00658000 NOP GIVE IT A CHANCE TI INTERRUPT 00659000 NOP 00660000 ZBS33 CLF CH RESET CH FLAG 00661000 JMP ZBIO4 00662000 * 00663000 ZBE04 ASC 16,E004 CLF 0 DID NOT INHIBIT INT/ 00664000 * 00665000 ZB3E NOP 00666000 CLF INTP TURN OFF INTS 00667000 E004 JSB ERMS,I E004 00668000 DEF ZBE04 00669000 * 00670000 * 00671000 * 00672000 * 00673000 * 00674000 * 00675000 * 00676000 * 00677000 * 00678000 * 00679000 * 00680000 * 00681000 * 00682000 * 00683000 * 00684000 * 00685000 * 00686000 * 00687000 * 00688000 * 00689000 * 00690000 * 00691000 * 00692000 * 00693000 SKP 00694000 * SELECT CODE SCREEN TEST 00695000 * 00696000 ZBIO4 LDB Z.10 START WITH LOWEST ADDRESS 00697000 ZB40 LDA ZIOSC GET SELECT CODE (*EDITED IN TCP*) 00698000 AND Z.77 00699000 CPB A IS IT THE CH? 00700000 JMP Z.CLF+1 YES - SKIP TEST 00701000 LDA Z.STF SET UP 00702000 AND ZIOM 00703000 IOR B STF INSTRUCTION 00704000 STA Z.STF PUT IT IN PLACE 00705000 LDA Z.CLF SET UP 00706000 AND ZIOM 00707000 IOR B CLF INSTRUCTION 00708000 STA Z.CLF PUT IT IN LINE 00709000 ZBS41 CLF CH CLEAR CHANNEL FLAG 00710000 Z.STF STF CH EXECUTE STF CH INSTRUCTION 00711000 ZBS42 SFC CH TEST CHANNEL FLAG 00712000 JMP ZB41 00713000 Z.CLF CLF CH CLEAR TEST FLAG 00714000 CPB Z.77 IS TEST FINISHED? 00715000 JMP ZBIO5 YES 00716000 INB NO 00717000 JMP ZB40 DO NEXT CHANNEL 00718000 * 00719000 ZBE11 ASC 14,E011 STF XX SET CARD FLAG// 00720000 * 00721000 ZB41 STB ZBTMP SAVE NUMBER 00722000 LDA B CONVERT CH FOR MESSAGE 00723000 JSB ZN2AO 00724000 STA ZBE11+5 00725000 LDA ZBTMP RETRIEVE NUMBER 00726000 E011 JSB ERMS,I E011 00727000 DEF ZBE11 00728000 * 00729000 * 00730000 * 00731000 * 00732000 * 00733000 SKP 00734000 * CHECK INTERRUPT & HOLD OFF 00735000 * 00736000 ZBIO5 JSB ZTCJI 00737000 DEF ZBI5 00738000 CLA SET UP 00739000 STA ZBF5 FLAGS 00740000 STA ZBI5 FOR TEST 00741000 STA ZBTMP 00742000 ZBS51 STC CH TURN ON 00743000 ZBS52 STF CH CARD 00744000 STF INTP AND INTERRUPTS 00745000 STC 1 * 00746000 STF 1 * 00747000 CLC 1 * 00748000 CLF 1 * NO INTERRUPT 00749000 JMP *+1,I * SHOULD OCCURR 00750000 DEF *+1 * HERE 00751000 JSB *+1,I * 00752000 DEF *+1 * 00753000 ZBF5 NOP * 00754000 ISZ ZBTMP INT. SHOULD BE HERE 00755000 ISZ ZBTMP 00756000 CLF INTP TURN I/O SYSTEM OFF 00757000 LDA ZBI5 DID IT INTERRUPT? 00758000 SZA 00759000 JMP *+4 00760000 E014 JSB ERMS,I E014 NO INT 00761000 DEF ZBE14 00762000 JMP ZBIO6 ABORT REST OF SECTION 00763000 LDA ZBTMP CHECK FOR CORRECT INTERRUPT 00764000 CPA Z.2 ? 00765000 JMP *+3 00766000 E026 JSB ERMS,I E026 INT EXECUTION ERROR 00767000 DEF ZBE26 00768000 ZBS53 CLF CH TURN OFF CH FLAG 00769000 JMP ZBIO6 GO TO NEXT SECTION 00770000 * 00771000 ZBD5 DEF ZBF5-1 00772000 ZBD5A DEF ZBF5+1 00773000 * 00774000 ZBE12 ASC 16,E012 INT DURING HOLD OFF INSTR/ 00775000 ZBE13 ASC 12,E013 SECOND INT OCURRED/ 00776000 ZBE14 ASC 06,E014 NO INT/ 00777000 ZBE15 ASC 12,E015 INT RTN ADDR ERROR/ 00778000 ZBE26 ASC 13,E026 INT EXECUTION ERROR/ 00779000 * 00780000 * 00781000 * 00782000 * 00783000 SKP 00784000 ZBI5 NOP 00785000 CLF INTP TURN I/O SYSTEM OFF 00786000 LDA ZBD5 CHECK TO SEE IF ALL 00787000 CPA ZBF5 INSTRUCTION COMPLETED 00788000 JMP *+3 YES 00789000 E012 JSB ERMS,I E012 INT DURING HOLD OFF 00790000 DEF ZBE12 00791000 LDA ZBD5A CHECK RETURN ADDRESS 00792000 LDB CPTO IF 210X 00793000 SSB ADD ONE 00794000 INA 00795000 CPA ZBI5 00796000 JMP ZBI5A 00797000 E015 JSB ERMS,I E015 INT RTN ADDR ERROR 00798000 DEF ZBE15 00799000 JMP ZBIO6 00800000 ZBI5A JSB ZTCJI SET SECOND INT TRAP 00801000 DEF ZBT5 00802000 STF INTP TURN I/O SYSTEM ON 00803000 JMP ZBI5,I CONTINUE TEST 00804000 * 00805000 * 00806000 ZBT5 NOP 00807000 CLF INTP TURN I/O SYSTEM OFF 00808000 E013 JSB ERMS,I E013 SECOND INT OCURRED 00809000 DEF ZBE13 00810000 * 00811000 * 00812000 * 00813000 * 00814000 * 00815000 SKP 00816000 * CLC CH AND CLC 0 00817000 * 00818000 ZBIO6 JSB ZTCJI SET JSB INSTRUCTION 00819000 DEF ZBI61 00820000 ZBS61 STC CH SET CH CONTROL 00821000 ZBS62 STF CH SET CH FLAG 00822000 STF INTP TURN ON INTERRUPTS 00823000 ZBS63 CLC CH CLEAR CH CONTROL 00824000 NOP GIVE IT A CHANCE 00825000 NOP 00826000 CLF INTP TURN INTS OFF 00827000 ZB60 JSB ZTCJI SET JSB INSTRUCTION 00828000 DEF ZBI62 00829000 ZBS64 CLF CH CLEAR CH FLAG 00830000 ZBS65 STC CH SET CH CONTROL 00831000 ZBS66 STF CH SET CH FLAG 00832000 STF INTP TURN ON INTS 00833000 CLC INTP CLEAR I/O SYSTEM 00834000 NOP GIVE IT A CHANCE 00835000 NOP 00836000 CLF INTP TURN OFF INTS 00837000 JMP ZBIO7 00838000 * 00839000 * 00840000 ZBI61 NOP 00841000 CLF INTP TURN OFF INTS 00842000 E016 JSB ERMS,I E016 CLC CH ERROR 00843000 DEF ZBE16 00844000 JMP ZB60 00845000 * 00846000 ZBI62 NOP 00847000 CLF INTP TURN OFF INTS 00848000 E017 JSB ERMS,I E017 CLC 0 ERROR 00849000 DEF ZBE17 00850000 JMP ZBIO7 00851000 * 00852000 ZBE16 ASC 9,E016 CLC CH ERROR/ 00853000 ZBE17 ASC 9,E017 CLC 0 ERROR/ 00854000 * 00855000 * 00856000 * 00857000 * 00858000 * 00859000 SKP 00860000 * EXTERNAL & INTERNAL PRESET TEST 00861000 * 00862000 ZBIO7 LDB ZS812 CHECK TO SUPPRESS 00863000 JSB SWRT,I ? 00864000 JMP H025 YES - SKIP PRESET TEST 00865000 H024 JSB MSGC,I TELL OPERATOR 00866000 DEF ZBM24 PRESS PRESET 00867000 * 00868000 ZBS71 CLF CH CLEAR CH FLAG 00869000 STF INTP TURN ON INTS 00870000 JSB ZTCJI SET TRAP CELL JSB INSTRUCTION 00871000 DEF ZBI70 00872000 HLT 24B WAIT FOR OPERATOR 00873000 CLA,INA SET UP FLAGS FOR TESTS 00874000 SFS INTP CHECK INTP FLAG 00875000 CLA NOT SET SO CLEAR FLAG 00876000 RAL MOVE TO NEXT FLAG 00877000 CLF INTP TURN OFF ONTPS 00878000 ZBS72 SFS CH CHECK CHANNEL FLAG 00879000 INA NOT SET SO FLAG IT 00880000 RAL MOVE TO NEXT FLAG 00881000 LIB 0 CHECK I/O BUSS 00882000 SZB SHOULD BE ZERO 00883000 INA NOT SO FLAG IT 00884000 RAL MOVE TO NEXT FLAG 00885000 STF INTP CHECK CONTROL ON CARD 00886000 NOP GIVE IT A CHANCE 00887000 NOP 00888000 CLF INTP TURN OFF INTPS 00889000 * 00890000 * 00891000 * 00892000 * 00893000 * 00894000 * 00895000 * 00896000 * 00897000 * 00898000 * 00899000 * 00900000 * 00901000 * 00902000 * 00903000 * 00904000 * 00905000 * 00906000 * 00907000 * 00908000 * 00909000 * 00910000 * 00911000 * 00912000 SKP 00913000 ZB70 SLA,RSS CHECK FOR ERRORS 00914000 JMP *+3 00915000 E022 JSB ERMS,I E022 DID NOT CLEAR CONTROL 00916000 DEF ZBE22 00917000 RAR 00918000 SLA,RSS 00919000 JMP *+3 00920000 E023 JSB ERMS,I E023 I/O LINES NOT CLEAR 00921000 DEF ZBE23 00922000 RAR 00923000 SLA,RSS 00924000 JMP *+3 00925000 E020 JSB ERMS,I E020 FLAG NOT SET 00926000 DEF ZBE20 00927000 RAR 00928000 SLA,RSS 00929000 JMP *+3 00930000 E021 JSB ERMS,I E021 DID NOT DIABLE INTS 00931000 DEF ZBE21 00932000 H025 JSB MSGC,I TELL OPERATOR 00933000 DEF ZBM25 BASIC I/O IS COMPLETE 00934000 JMP ZBIO,I RETURN TO CALLER 00935000 * 00936000 ZBI70 NOP CONTROL FAILED 00937000 CLF INTP TURN OFF INTPS 00938000 INA 00939000 JMP ZB70 00940000 * 00941000 ZBE20 ASC 17,E020 PRESET(EXT) DID NOT SET FLAG/ 00942000 ZBE21 ASC 19,E021 PRESET(INT) DID NOT DISABLE INTS/ 00943000 ZBE22 ASC 20,E022 PRESET(EXT) DID NOT CLEAR CONTROL/ 00944000 ZBE23 ASC 21,E023 PRESET(EXT) DID NOT CLEAR I-O LINES/ 00945000 ZBM24 ASC 17,H024 PRESS PRESET (EXT&INT),RUN/ 00946000 ZBM25 ASC 08,H025 BI-O COMP/ 00947000 SKP 00948000 ZBIOD DEF *+1 00949000 DEF ZBS21 00950000 DEF ZBS22 00951000 DEF ZBS23 00952000 DEF ZBS24 00953000 DEF ZBS25 00954000 DEF ZBS26 00955000 DEF ZBS27 00956000 DEF ZBS31 00957000 DEF ZBS32 00958000 DEF ZBS33 00959000 DEF ZBS41 00960000 DEF ZBS42 00961000 DEF ZBS51 00962000 DEF ZBS52 00963000 DEF ZBS53 00964000 DEF ZBS61 00965000 DEF ZBS62 00966000 DEF ZBS63 00967000 DEF ZBS64 00968000 DEF ZBS65 00969000 DEF ZBS66 00970000 DEF ZBS71 00971000 DEF ZBS72 00972000 DEC -1 00973000 * 00974000 ZCEND EQU * 00975000 * 00976000 * 00977000 * 00978000 * 00979000 * 00980000 * 00981000 * 00982000 * 00983000 * 00984000 * 00985000 * 00986000 * 00987000 * 00988000 * 00989000 * 00990000 * 00991000 * 00992000 * 00993000 * 00994000 * 00995000 * 00996000 * 00997000 * 00998000 * 00999000 * 01000000 HED HP 2894 CARD READER PUNCH DIAGNOSTIC 01001000 ******************************************************************** 01002000 * BASE PAGE DATA FOR TEST CONTROL PROGRAM * 01003000 ******************************************************************** 01004000 * 01005000 ORG 100B 01006000 JMP CON2.,I GOTO TWO-CHANNEL CONFIG SECTION 01007000 ORG 126B 01008000 DSN OCT 113001 DIAGNOSTIC SERIAL NUMBER 01009000 ORG 140B 01010000 IOIPD DEF IOID POINTER TO DATA CH I/O INS TABLE 01011000 IOIPC DEF IOIC POINTER TO CMND CH I/O INS TABLE 01012000 TSTP DEF TSTD POINTER TO TEST TABLE 01013000 HDMP DEF HDMS POINTER TO HEADER MESSAGE 01014000 STDA OCT 7777 DEFAULT TEST SET 01015000 STDB OCT 0 01016000 * 01017000 ******************************************************************** 01018000 * BASE PAGE CONSTANTS * 01019000 ******************************************************************** 01020000 * 01021000 ORG 150B 01022000 DATA EQU 10B DUMMY DATA CH SELECT CODE 01023000 CMND EQU 11B DUMMY CMND CH SELECT CODE 01024000 * 01025000 RNR NOP 01026000 ICNT NOP 01027000 SHIFT NOP 01028000 SAVA NOP 01029000 SAVB NOP 01030000 POIST NOP 01031000 CNROT NOP 01032000 ARLIM NOP 01033000 COLCT NOP 01034000 ARA NOP 01035000 BUFPO NOP 01036000 SHF NOP 01037000 ARPO NOP 01038000 CCTRL NOP 01039000 DCTRL NOP 01040000 RQNCL NOP 01041000 POINT NOP 01042000 WSIND NOP 01043000 EXPO NOP 01044000 ACPO NOP 01045000 BLI NOP 01046000 EXDA NOP 01047000 ACDA NOP 01048000 ROTA NOP 01049000 COLO NOP 01050000 PON NOP 01051000 GLO NOP 01052000 SLO NOP 01053000 VAPO NOP 01054000 MOI NOP 01055000 CACO NOP 01056000 EPU NOP 01057000 PIN NOP 01058000 * 01059000 ONE OCT 1 01060000 O400 OCT 400 01061000 INSTA OCT 030040,030060 01062000 PUPRI OCT 60000 01063000 MSK12 OCT 7777 01064000 MSK13 OCT 17777 01065000 B10 OCT 2000 01066000 CLBF OCT 100000 01067000 INHIF OCT 4000 01068000 SCMSK OCT 77 01069000 B8A12 OCT 10400 01070000 ECS1 OCT 10342 01071000 EDS1 OCT 1000 01072000 ECS2 OCT 10202 01073000 EDS4 OCT 0 01074000 ECS5 OCT 340 01075000 EDS2 OCT 400 01076000 ECS3 OCT 10200 01077000 ECS4 OCT 200 01078000 ECS6 OCT 10340 01079000 ECS7 OCT 10360 01080000 ECS8 OCT 114360 01081000 ECS9 OCT 114340 01082000 ECS10 OCT 360 01083000 ECS12 OCT 100360 01084000 ZERO OCT 0 01085000 SCM OCT 10000 01086000 B8 OCT 400 01087000 H2S2 OCT 114000 01088000 H2SOM OCT 100000 01089000 B11 OCT 4000 01090000 B5 OCT 40 01091000 B4 OCT 20 01092000 B6 OCT 100 01093000 B15 OCT 100000 01094000 B9 OCT 1000 01095000 B1 OCT 2 01096000 CBIN OCT 104000 01097000 B7 OCT 200 01098000 B14 OCT 40000 01099000 QWB2K OCT 174000 01100000 PI2K OCT 154000 01101000 WI2K OCT 134000 01102000 PSI2K OCT 176000 01103000 CMSK OCT 17 01104000 CM0 OCT 0 01105000 CM1 OCT 1 01106000 CM2 OCT 2 01107000 CM3 OCT 3 01108000 CM4 OCT 4 01109000 CM5 OCT 5 01110000 CM6 OCT 6 01111000 CM7 OCT 7 01112000 CM10 OCT 10 01113000 CM11 OCT 11 01114000 B3285 OCT 30500 01115000 B12 OCT 10000 01116000 * 01117000 D11 DEC 11 01118000 M16 DEC -16 01119000 M1 DEC -1 01120000 M3 DEC -3 01121000 DEC80 DEC 80 01122000 AL63 DEC 63 01123000 D80 DEC 80 01124000 D79 DEC 79 01125000 AL39 DEC 39 01126000 D4 DEC 4 01127000 D5 DEC 5 01128000 D3 DEC 3 01129000 M5 DEC -5 01130000 D2 DEC 2 01131000 D12 DEC 12 01132000 M80 DEC -80 01133000 M10 DEC -10 01134000 D19 DEC 19 01135000 * 01136000 PUBUA DEF PUBU 01137000 BCV2. DEF BCV2 01138000 CLOF. DEF CLOUF 01139000 CROF. DEF CROUF 01140000 PRBUA DEF PRBU 01141000 RDBUA DEF RDBU 01142000 CLPF. DEF CLPRF 01143000 CRPF. DEF CRPRF 01144000 CLIF. DEF CLINF 01145000 CRIF. DEF CRINF 01146000 DFW. DEF DFW 01147000 CFW. DEF CFW 01148000 DSTW. DEF DSTW 01149000 CSTW. DEF CSTW 01150000 STRE. DEF STREP 01151000 AR2B. DEF AR2BU 01152000 SCAN. DEF SCAN 01153000 CLCV. DEF CLCV 01154000 CRCV. DEF CRCV 01155000 CRC1. DEF CRCV1 01156000 DST. DEF DST 01157000 CST. DEF CST 01158000 STA. DEF STA 01159000 CER. DEF CER 01160000 SPU. DEF SPU 01161000 SPR. DEF SPR 01162000 IREA. DEF IREA 01163000 SRD. DEF SRD 01164000 ICLO. DEF ICLO 01165000 ICRO. DEF ICRO 01166000 ICLP. DEF ICLP 01167000 ICRP. DEF ICRP 01168000 ICLI. DEF ICLI 01169000 ICRI. DEF ICRI 01170000 DODO. DEF DODO 01171000 CON2. DEF CON2 TWO-CHANNEL CONFIG SECTION 01172000 TS00. DEF TST00 01173000 ZBIO. DEF ZBIO 01174000 ISCM. DEF ISCM 01175000 COCS. DEF COCS 01176000 CSER. DEF CSER 01177000 BEX. DEF BEX 01178000 BAC. DEF BAC 01179000 CODS. DEF CODS 01180000 ERST. DEF ERST 01181000 ISOM. DEF ISOM 01182000 DSER. DEF DSER 01183000 DACO. DEF DACO 01184000 RB2. DEF RB2 01185000 QWB2. DEF QWB2 01186000 PWI2. DEF PWI2 01187000 RA1. DEF RA1 01188000 FI1. DEF FI1 01189000 ECL. DEF ECL 01190000 ECR. DEF ECR 01191000 DEX. DEF DEX 01192000 DAC. DEF DAC 01193000 OCO. DEF OCO 01194000 PI2. DEF PI2 01195000 PSI2. DEF PSI2 01196000 WI2. DEF WI2 01197000 BUD. DEF BUD 01198000 WSCH. DEF WSCH 01199000 RA0. DEF RA0 01200000 FI0. DEF FI0 01201000 RB0. DEF RB0 01202000 FI2. DEF FI2 01203000 PUX. DEF PUX 01204000 RDX. DEF RDX 01205000 PUY. DEF PUY 01206000 RDY. DEF RDY 01207000 QB2. DEF QB2 01208000 RWB2. DEF RWB2 01209000 QSB2. DEF QSB2 01210000 HPA. DEF HPA 01211000 ALMF. DEF ALMF 01212000 CSM. DEF CSM 01213000 * 01214000 JCER JMP CER.,I 01215000 JSPU JMP SPU.,I 01216000 JSPR JMP SPR.,I 01217000 JIREA JMP IREA.,I 01218000 JSRD JMP SRD.,I 01219000 SKP 01220000 ******************************************************************** 01221000 * POINTERS TO DATA CH I/O INSTRUCTIONS * 01222000 ******************************************************************** 01223000 * 01224000 IOID EQU * 01225000 DEF DFA 01226000 DEF DSA 01227000 DEF DIO1 01228000 DEF DIO2 01229000 DEF DIO3 01230000 DEF DIO4 01231000 DEF DIO5 01232000 DEF DIO6 01233000 DEF IRDBU 01234000 DEF DIO7 01235000 DEF DIO8 01236000 DEF LNDRQ 01237000 DEF DIO9 01238000 DEF DIO11 01239000 DEF DIO13 01240000 DEF DIO14 01241000 DEF DIO15 01242000 DEF DIO17 01243000 DEF IRD 01244000 DEF DIO19 01245000 DEF DIO22 01246000 DEF DIO24 01247000 DEF DIO25 01248000 DEF DIO26 01249000 DEF DIO27 01250000 DEF DIO28 01251000 DEF LNDRI 01252000 DEF DIO32 01253000 DEF DIO33 01254000 DEF DIO34 01255000 DEF DIO35 01256000 DEF DIO36 01257000 DEF DIO37 01258000 DEF DIO38 01259000 DEF DIO39 01260000 DEF DIO40 01261000 DEF DIO41 01262000 DEF DIO42 01262100 DEC -1 END OF TABLE INDICATOR 01263000 SKP 01264000 ******************************************************************** 01265000 * POINTERS TO CMND CH I/O INSTRUCTIONS * 01266000 ******************************************************************** 01267000 * 01268000 IOIC EQU * 01269000 DEF CFA 01270000 DEF CSA 01271000 DEF CIO1 01272000 DEF CIO2 01273000 DEF CIO3 01274000 DEF CIO4 01275000 DEF CIO05 01276000 DEF CIO06 01277000 DEF CIO07 01278000 DEF CIO08 01279000 DEF CIO09 01280000 DEF CIO10 01281000 DEF CIO11 01282000 DEF CIO12 01283000 DEF CIO13 01284000 DEF CIO14 01285000 DEF CIO15 01286000 DEF CIO16 01287000 DEF CIO17 01288000 DEF CIO18 01289000 DEF CIO19 01290000 DEF CIO20 01291000 DEF CIO21 01292000 DEF CIO22 01293000 DEC -1 END OF TABLE INDICATOR 01294000 * 01295000 ******************************************************************** 01296000 * POINTERS TO START OF EACH TEST * 01297000 ******************************************************************** 01298000 * 01299000 TSTD EQU * 01300000 DEF TST0 BASIC I/O TEST FOR DATA CH 01301000 DEF TST01 BASIC I/O TEST FOR CMND CH 01302000 DEF TST02 01303000 DEF TST03 01304000 DEF TST04 01305000 DEF TST05 01306000 DEF TST06 01307000 DEF TST07 01308000 DEF TST08 01309000 DEF TST09 01310000 DEF TST10 01311000 DEF TST11 01312000 DEF TST12 01313000 DEC -1 END OF TABLE INDICATOR 01314000 * 01315000 IOIP DEF IOIDD DUMMY POINTER FOR TCP 01316000 IOIDD EQU * 01317000 DEC -1 01318000 SKP 01319000 ******************************************************************** 01320000 * HEADER MESSAGE * 01321000 ******************************************************************** 01322000 * 01323000 HDMS ASC 13,HP 2894 CARD READER PUNCH 01324000 ASC 6,DIAGNOSTIC/ 01325000 * 01326000 ******************************************************************** 01327000 * DATA PATTERNS * 01328000 ******************************************************************** 01329000 * 01330000 WCPA OCT 7777,0,7777 01331000 OCT 3777,5777,6777,7377,7577,7677 01332000 OCT 7737,7757,7767,7773,7775,7776 01333000 OCT 7777,0 01334000 OCT 4000,2000,1000,400,200,100 01335000 OCT 40,20,10,4,2,1,0 01336000 OCT 2525,5252,7777,2525,0 01337000 OCT 5252,2525,7777,5252,0 01338000 * 01339000 HPA OCT 4000,2000 01340000 OCT 1000,400,200,100,40,20,10,4,2,1 01341000 OCT 4400,4200,4100,4040,4020,4010,4004,4002 01342000 OCT 4001 01343000 OCT 2400,2200,2100,2040,2020,2010,2004,2002 01344000 OCT 2001 01345000 OCT 1200,1100,1040,1020,1010,1004,1002,1001 01346000 OCT 202,102,42,22,12,6 01347000 OCT 4202,4102,4042,4022,4012,4006 01348000 OCT 2202,2102,2042,2022,2012,2006,1400 01349000 OCT 1202,1102,1042,1022,1012,1006 01350000 OCT 0 01351000 * 01352000 SCHB OCT 0,7777,7777,0,0,7777,2525 01353000 OCT 5252,5252,2525,7777,0,0,7777 01354000 OCT 7777,0,5252,2525,2525,5252 01355000 * 01356000 FULL OCT 7777 01357000 * 01358000 ALMF OCT 3777,5777,6777,7377,7577,7677 01359000 OCT 7737,7757,7767,7773,7775,7776 01360000 * 01361000 ORG 1400B 01362000 ******************************************************************** 01363000 * PUNCH, PRINT, AND READ BUFFERS * 01364000 ******************************************************************** 01365000 * 01366000 PUBU BSS 80 01367000 PRBU BSS 80 01368000 RDBU BSS 80 01369000 SKP 01370000 ORG ZCEND LAST WORD IN CONTROL PROGRAM 01371000 ******************************************************************** 01372000 * TWO-CHANNEL CONFIGURATION SECTION * 01373000 ******************************************************************** 01374000 * 01375000 CON2 CLC INTP,C TURN I/O SYSTEM OFF 01376000 LIA SW GET SELECT CODE AND OPTIONS 01377000 STA USSC SAVE THEM 01378000 AND Z.77 ELIMINATE OPTIONS 01379000 LDB A 01380000 CMB,INB CHECK THAT SC > 7 01381000 ADB Z.7 FOR DATA CH (HI PRIOR) 01382000 SSB ? 01383000 JMP *+3 OK GO ON 01384000 HLT 73B NO 01385000 JMP CON2 TRY AGAIN 01386000 LDB IOIPD INITIALIZE TEST I/O 01387000 JSB ZISC INSTRUCTIONS FOR DATA CH 01388000 LDA USSC GET SELECT CODE 01389000 AND Z.77 FOR CMND CH (LO PRIOR) 01390000 INA 01391000 LDB IOIPC INITIALIZE TEST I/O 01392000 JSB ZISC INSTRUCTIONS FOR CMND CH 01393000 HLT 74B ALLOW OPERATOR TO CHANGE SWIT 01394000 JMP ZSTEX GO TO EXEC CONTROL SECTION 01395000 SKP 01396000 ******************************************************************** 01397000 * SUBROUTINES * 01398000 ******************************************************************** 01399000 * 01400000 *==================================================================* 01401000 * SUBROUTINES DFW AND CFW * 01402000 * THESE SUBROUTINES CHECK SETTING OF DATA CH AND CMND CH * 01403000 * FLAG WITHIN A TIME LIMIT BY INCREMENTING A-REGISTER * 01404000 *==================================================================* 01405000 * 01406000 * CALLING SEQUENCE: 01407000 * 01408000 * LDA X (X=-1,-2,...,-N;ABS(N) REPRESENTS NO. OF 01409000 * REQ.ROLLOVERS OF A) 01410000 * JSB DFW.,I (OR CFW.,I) 01411000 *P+1 ... RETURN IF FLAG SET IN TIME 01412000 *P+2 ... RETURN IF FLAG NOT SET IN TIME 01413000 * 01414000 DFW NOP 01415000 STA RNR STORE -REQ.NO.OF ROLLOVERS OF A 01416000 CLA 01417000 DFA SFC DATA IS FLAG SET? 01418000 JMP DFW,I YES,EXIT TO P+1 01419000 ISZ A NO; IS A-REG FULL? 01420000 JMP DFA NO 01421000 ISZ RNR YES;IS WAITING STILL REQ? 01422000 JMP DFA YES 01423000 ISZ DFW NO,EXIT TO P+2 01424000 JMP DFW,I 01425000 * 01426000 CFW NOP 01427000 STA RNR STORE -REQ.NO.OF ROLLOVERS OF A 01428000 CLA 01429000 CFA SFC CMND IS FLAG SET? 01430000 JMP CFW,I YES,EXIT TO P+1 01431000 ISZ A NO; IS A-REG FULL? 01432000 JMP CFA NO 01433000 ISZ RNR YES;IS WAITING STILL REQ? 01434000 JMP CFA YES 01435000 ISZ CFW NO,EXIT TO P+2 01436000 JMP CFW,I 01437000 SKP 01438000 *==================================================================* 01439000 * SUBROUTINES DSTW AND CSTW * 01440000 * THESE SUBROUTINES CHECK SETTING OF DATA CH AND CMND CH * 01441000 * STATUS BITS WITHIN A TIME LIMIT BY INCREMENTING ICNT COUNTER * 01442000 *==================================================================* 01443000 * 01444000 * CALLING SEQUENCE: 01445000 * 01446000 * LDA X (X=-1,-2,...,-N;ABS(N) REPRESENTS NO. OF 01447000 * REQ.ROLLOVERS OF ICNT) 01448000 * LDB BITY (Y=0,1,2,...,15) 01449000 * JSB DSTW.,I (OR CSTW.,I) 01450000 *P+1 ... RETURN IF BITY SET TO 1 IN TIME 01451000 *P+2 ... RETURN IF BITY=0 (ERROR) 01452000 * 01453000 DSTW NOP 01454000 STA RNR STORE -REQ.NO.OF ROLLOVERS INCT 01455000 CLA 01456000 STA ICNT SET ICNT COUNTER TO 0 01457000 DSA LIA DATA GET STATUS 01458000 AND B AND BIT MASK 01459000 SZA IS BIT SET TO 1? 01460000 JMP DSTW,I YES,EXIT TO P+1(BIT=1) 01461000 ISZ ICNT NO;IS ICNT FULL? 01462000 JMP DSA NO 01463000 ISZ RNR YES;IS WAITING STILL REQ? 01464000 JMP DSA YES 01465000 ISZ DSTW NO,EXIT TO P+2(BIT=0) 01466000 JMP DSTW,I 01467000 * 01468000 CSTW NOP 01469000 STA RNR STORE -REQ.NO.OF ROLLOVERS INCT 01470000 CLA 01471000 STA ICNT SET ICNT COUNTER TO 0 01472000 CSA LIA CMND GET STATUS 01473000 AND B AND BIT MASK 01474000 SZA IS BIT SET TO 1? 01475000 JMP CSTW,I YES,EXIT TO P+1(BIT=1) 01476000 ISZ ICNT NO;IS ICNT FULL? 01477000 JMP CSA NO 01478000 ISZ RNR YES;IS WAITING STILL REQ? 01479000 JMP CSA YES 01480000 ISZ CSTW NO,EXIT TO P+2(BIT=0) 01481000 JMP CSTW,I 01482000 SKP 01483000 *==================================================================* 01484000 * SUBROUTINE STREP * 01485000 * THIS SUBROUTINE CHECKS SW REG BIT 7 AFTER MESSAGES WITH (*), * 01486000 * REPORTS CMND CH AND DATA CH STATUS (IF BIT 7 SET), AND HALTS * 01487000 *==================================================================* 01488000 * 01489000 * CALLING SEQUENCE: 01490000 * 01491000 * JSB STRE.,I 01492000 *P+1 ... RETURN 01493000 * 01494000 STREP NOP 01495000 LDB B7 IS STATUS REPORT REQUIRED? 01496000 JSB SWRT,I 01497000 JMP *+2 YES,REPORT STATUS 01498000 JMP STREP,I NO,EXIT 01499000 JSB STA.,I REPORT STATUS 01500000 LDB B14 IS HALT AFT ST REP TO BE SUPPR? 01501000 JSB SWRT,I 01502000 JMP *+3 ON-YES,CONTINUE 01503000 LDB SAVB OFF-NO,RESTORE DATA ST IN B 01504000 OCT 106023 HALT 01505000 JMP STREP,I 01506000 SKP 01507000 *==================================================================* 01508000 * SUBROUTINE STA * 01509000 * THIS SUBROUTINE REPORTS CMND CH AND DATA CH STATUS * 01510000 * WITHOUT HALT * 01511000 *==================================================================* 01512000 * 01513000 * CALLING SEQUENCE: 01514000 * 01515000 * JSB STA.,I 01516000 *P+1 ... NORMAL RETURN 01517000 * 01518000 STA NOP 01519000 CLA 01520000 STA SHIFT 01521000 LDA ONE INITIALIZE ASCII BUF FOR CMND 01522000 LDB D11 01523000 JSB AR2B.,I 01524000 DEF INSTA 01525000 DEF BUFC 01526000 DEF SHIFT 01527000 * 01528000 LDA ONE INITIALIZE ASCII BUF FOR DATA 01529000 LDB D11 01530000 JSB AR2B.,I 01531000 DEF INSTA 01532000 DEF BUFD 01533000 DEF SHIFT 01534000 * 01535000 CIO1 LIA CMND GET CMND CH STATUS 01536000 STA SAVA SAVE IT 01537000 DIO1 LIB DATA GET DATA CH STATUS 01538000 STB SAVB SAVE IT 01539000 * 01540000 LDB SAVA CONVERT CMND CH STATUS TO ASCII 01541000 LDA BUFCA 01542000 JSB SCAN.,I 01543000 * 01544000 LDB SAVB CONVERT DATA CH STATUS TO ASCII 01545000 LDA BUFDA 01546000 JSB SCAN 01547000 * 01548000 LDA SAVA RETURN STATUS TO A AND B 01549000 LDB SAVB 01550000 JSB MSGC,I OUTPUT STATUS WITHOUT HALT 01551000 DEF H123 01552000 JMP STA,I 01553000 * 01554000 BUFDA DEF BUFD 01555000 BUFCA DEF BUFC 01556000 SKP 01557000 *==================================================================* 01558000 * SUBROUTINE SCAN * 01559000 * THIS SUBROUTINE CONVERTS A 16-BIT WORD INTO ASCII * 01560000 * (FORMAT IS:X XXX XXX XXX XXX XXX) * 01561000 *==================================================================* 01562000 * 01563000 * CALLING SEQUENCE: 01564000 * 01565000 * LDB WRD WORD TO SCAN AND CONVERT TO ASCII 01566000 * LDA ADDR ADDR OF ASCII BUFFER(MUST HAVE 11 POSITIONS) 01567000 * JSB SCAN.,I 01568000 *P+1 ... RETURN 01569000 * 01570000 SCAN NOP 01571000 STA POIST STORE ASCII BUF ADDRESS 01572000 LDA M16 INITIALIZE ROTATION COUNTER 01573000 STA CNROT 01574000 NSTB SSB,RSS IS SIGN OF B=0? 01575000 JMP *+4 YES 01576000 LDA O400 NO,OR OCTAL 400 (LEFT H) 01577000 IOR POIST,I 01578000 STA POIST,I 01579000 ISZ CNROT IS 16 POSITIONS EXHAUSTED? 01580000 JMP *+2 NO 01581000 JMP SCAN,I YES,EXIT 01582000 ISZ POIST 01583000 RBL 01584000 SSB,RSS IS SIGN OF B=0? 01585000 JMP *+4 YES 01586000 LDA O400 NO,OR OTCTAL 400 (LEFT H) 01587000 IOR POIST,I 01588000 STA POIST,I 01589000 ISZ CNROT 01590000 RBL 01591000 SSB,RSS IS SIGN OF B=0? 01592000 JMP *+4 YES 01593000 LDA ONE NO,OR 1 (RIGHT H) 01594000 IOR POIST,I 01595000 STA POIST,I 01596000 ISZ CNROT 01597000 ISZ POIST 01598000 RBL 01599000 JMP NSTB CONTINUE CONVERSION 01600000 SKP 01601000 ORG 4000B 01602000 *==================================================================* 01603000 * SUBROUTINE AR2BU * 01604000 * THIS SUBROUTINE TRANSFERS A SEQUENCE OF L CHARACTERS FROM * 01605000 * AN ARRAY "AR" INTO N POSITIONS OF A BUFFER "BU". * 01606000 * IF L>>>TRY TO PICK AGAIN>>>> 02227000 ICH JSB ERMS,I OUTPUT E113 02228000 DEF E113 02229000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02230000 NMCH JSB CLCV.,I INS COL&CRD NO.IN ERR MSG 02231000 LDA BCV2.,I 02232000 STA CLIF.,I 02233000 JSB CRC1.,I 02234000 LDA BCV2.,I 02235000 STA CRIF.,I 02236000 LDA COLCT 02237000 LDB WSIND 02238000 INB 02239000 JSB ERMS,I OUTPUT E101 02240000 DEF E101 02241000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02242000 ISZ IBUA 02243000 JMP IBUA,I ERROR,EXIT TO P+2 02244000 SKP 02245000 *==================================================================* 02246000 * SUBROUTINES CLCV, CRCV, AND CRCV1 * 02247000 * THESE SUBROUTINES CONVERT COLUMN NO. AND CARD NO. TO ASCII. * 02248000 * AFTER CALL, BCV2 CONTAINS 2 DIGITS IN ASCII * 02249000 *==================================================================* 02250000 * 02251000 * CALLING SEQUENCE: 02252000 * 02253000 * JSB CLCV.,I (OR CRCV.,I OR CRC1.,I) 02254000 *P+1 ... RETURN 02255000 * 02256000 CLCV NOP 02257000 CLE 02258000 LDA COLCT 02259000 LDB BCVA 02260000 JSB I2AS,I 02261000 JMP CLCV,I 02262000 * 02263000 CRCV NOP 02264000 CLE 02265000 LDA WSIND 02266000 LDB BCVA 02267000 JSB I2AS,I 02268000 JMP CRCV,I 02269000 * 02270000 CRCV1 NOP 02271000 CLE 02272000 LDA WSIND 02273000 INA 02274000 LDB BCVA 02275000 JSB I2AS,I 02276000 JMP CRCV1,I 02277000 * 02278000 BCVA DEF BCV 02279000 * 02280000 BCV NOP 02281000 NOP 02282000 BCV2 NOP 02283000 SKP 02284000 *==================================================================* 02285000 * SUBROUTINES DST AND CST * 02286000 * THESE SUBROUTINES CHECK INDIVIDUAL STATUS BITS OF * 02287000 * DATA CH OR CMND CH * 02288000 *==================================================================* 02289000 * 02290000 * CALLING SEQUENCE: 02291000 * 02292000 * LDB BITY BIT OF INTEREST (Y=0,1,...,15) 02293000 * JSB DST.,I (OR CST.,I) 02294000 *P+1 ... RETURN IF BIT SET TO 1 02295000 *P+2 ... RETURN IF BIT SET TO 0 02296000 * 02297000 DST NOP 02298000 DIO9 LIA DATA GET STATUS 02299000 AND B AND BIT MASK 02300000 SZA,RSS IS BIT SET TO 1? 02301000 ISZ DST NO,EXIT TO P+2 (BIT=0) 02302000 JMP DST,I YES,EXIT TO P+1 (BIT=1) 02303000 * 02304000 CST NOP 02305000 CIO4 LIA CMND GET STATUS 02306000 AND B AND BIT MASK 02307000 SZA,RSS IS BIT SET TO 1? 02308000 ISZ CST NO,EXIT TO P+2 (BIT=0) 02309000 JMP CST,I YES,EXIT TO P+1 (BIT=1) 02310000 * 02311000 *==================================================================* 02312000 * SUBROUTINE WAIT * 02313000 * THIS SUBROUTINE IS ENTERED WHILE WAITING FOR INTERRUPT * 02314000 * ON DATA CH OR CMND CH * 02315000 *==================================================================* 02316000 * 02317000 * CALLING SEQUENCE: 02318000 * 02319000 * JSB WAIT 02320000 *P+1 ... ERROR RETURN 02321000 * 02322000 WAIT NOP 02323000 LDA M10 02324000 STA RNR 02325000 CLA 02326000 WW ISZ A IS A REG FULL? 02327000 JMP WW NO 02328000 ISZ RNR YES;IS WAITING STILL REQ? 02329000 JMP WW YES 02330000 JMP WAIT,I NO,ERROR EXIT 02331000 SKP 02332000 *==================================================================* 02333000 * SUBROUTINE TO EDIT E3031 TO E030 * 02334000 *==================================================================* 02335000 * 02336000 * CALLING SEQUENCE: 02337000 * 02338000 * JSB CSER.,I 02339000 *P+1 ... NORMAL RETURN 02340000 * 02341000 CSER NOP 02342000 STA SAVA STORE EXP CMND ST 02343000 STB SAVB STORE ACT CMND ST 02344000 CLA EDIT ERR MSG TO E030 02345000 STA SHIFT 02346000 LDA D4 02347000 LDB D5 02348000 JSB AR2B.,I 02349000 DEF EE030 02350000 DEF E3031 02351000 DEF SHIFT 02352000 JSB ERST.,I 02353000 JMP CSER,I 02354000 * 02355000 *==================================================================* 02356000 * SUBROUTINE TO EDIT E3031 TO E031 * 02357000 *==================================================================* 02358000 * 02359000 * CALLING SEQUENCE: 02360000 * 02361000 * JSB DSER.,I 02362000 *P+1 ... NORMAL RETURN 02363000 * 02364000 DSER NOP 02365000 STA SAVA STORE EXP DATA ST 02366000 STB SAVB STORE ACT DATA ST 02367000 CLA EDIT ERR MSG TO E031 02368000 STA SHIFT 02369000 LDA D4 02370000 LDB D5 02371000 JSB AR2B.,I 02372000 DEF EE031 02373000 DEF E3031 02374000 DEF SHIFT 02375000 JSB ERST.,I 02376000 JMP DSER,I 02377000 SKP 02378000 *==================================================================* 02379000 * SUBROUTINE ERST * 02380000 * THIS SUBROUTINE CONVERTS STATUS TO ASCII AND OUTPUTS * 02381000 * ERROR MESSAGE. BEFORE CALL, SAVA MUST CONTAIN EXP STATUS * 02382000 * AND SAVB ACT STATUS * 02383000 *==================================================================* 02384000 * 02385000 * CALLING SEQUENCE: 02386000 * 02387000 * JSB ERST.,I 02388000 *P+1 ... NORMAL RETURN 02389000 * 02390000 ERST NOP 02391000 LDA ONE INIT BEX BUFF FOR EXP STATUS 02392000 LDB D11 02393000 JSB AR2B.,I 02394000 DEF INSTA 02395000 DEF BEX 02396000 DEF SHIFT 02397000 * 02398000 LDA ONE INIT BAC BUFF FOR ACT STATUS 02399000 LDB D11 02400000 JSB AR2B.,I 02401000 DEF INSTA 02402000 DEF BAC 02403000 DEF SHIFT 02404000 * 02405000 LDB SAVA CONVERT EXP STATUS TO ASCII 02406000 LDA BEX. 02407000 JSB SCAN.,I 02408000 * 02409000 LDB SAVB CONVERT ACT STATUS TO ASCII 02410000 LDA BAC. 02411000 JSB SCAN.,I 02412000 LDA SAVA RETURN STATUS TO A AND B 02413000 LDB SAVB 02414000 JSB ERMS,I OUTPUT E030 OR E031 02415000 DEF E3031 02416000 JMP ERST,I 02417000 SKP 02418000 *==================================================================* 02419000 * SUBROUTINES COCS AND CODS * 02420000 * THESE SUBROUTINES COMPARE CMND CH AND DATA CH STATUS * 02421000 * REPORT ERROR, IF NECESSARY * 02422000 *==================================================================* 02423000 * 02424000 * CALLING SEQUENCE: 02425000 * 02426000 * LDA ECSX (OR EDSX) LOAD EXP CMND (OR DATA) ST IN A 02427000 * JSB COCS.,I (OR CODS.,I) 02428000 *P+1 ... NORMAL RETURN 02429000 * 02430000 COCS NOP 02431000 CIO06 LIB CMND LOAD ACT CMND ST IN B 02432000 CPA B IS CMND STATUS OK? 02433000 JMP COCS,I YES,EXIT 02434000 JSB CSER.,I NO,REPORT ERROR 02435000 JMP COCS,I 02436000 * 02437000 CODS NOP 02438000 DIO32 LIB DATA LOAD ACT DATA ST IN B 02439000 CPA B IS DATA STATUS OK? 02440000 JMP CODS,I YES,EXIT 02441000 JSB DSER.,I NO,REPORT ERROR 02442000 JMP CODS,I 02443000 SKP 02444000 *==================================================================* 02445000 * SUBROUTINE ISCM * 02446000 * THIS SUBROUTINE INITIATES DEVICE FOR STACKER CONTROL MODE * 02447000 *==================================================================* 02448000 * 02449000 * CALLING SEQUENCE: 02450000 * 02451000 * JSB ISCM.,I 02452000 *P+1 ... NORMAL RETURN 02453000 * 02454000 ISCM NOP 02455000 CLF 0 02456000 DIO33 CLC DATA 02457000 CIO07 CLC CMND 02458000 CIO08 CLF CMND 02459000 DIO34 CLF DATA 02460000 LDA SCM 02461000 CIO09 OTA CMND 02462000 LDA CBIN 02463000 DIO35 OTA DATA 02464000 JMP ISCM,I 02465000 * 02466000 *==================================================================* 02467000 * SUBROUTINE ISOM * 02468000 * THIS SUBROUTINE INITIATES DEVICE FOR STACKER OVERFLOW MODE * 02469000 *==================================================================* 02470000 * 02471000 * CALLING SEQUENCE: 02472000 * 02473000 * JSB ISOM.,I 02474000 *P+1 ... NORMAL RETURN 02475000 * 02476000 ISOM NOP 02477000 CLF 0 02478000 DIO36 CLC DATA 02479000 CIO10 CLC CMND 02480000 CIO11 CLF CMND 02481000 DIO37 CLF DATA 02482000 LDA ZERO 02483000 CIO12 OTA CMND 02484000 LDA CBIN 02485000 DIO38 OTA DATA 02486000 JMP ISOM,I 02487000 SKP 02488000 *==================================================================* 02489000 * SUBROUTINE DACO * 02490000 * THIS SUBROUTINE COMPARES EXPECTED AND ACTUAL DATA (AFTER * 02491000 * READ) AND REPORTS ERROR, IF NECESSARY. BEFORE CALL, PUBU * 02492000 * MUST CONTAIN EXP DATA AND RDBU MUST CONTAIN ACT DATA. * 02493000 * IF (BLI)=0, CARD IS TO BE BLANK; IF NOT, CARD IS NOT TO * 02494000 * BE BLANK. * 02495000 *==================================================================* 02496000 * 02497000 * CALLING SEQUENCE: 02498000 * 02499000 * JSB DACO.,I 02500000 *P+1 ... NORMAL RETURN 02501000 *P+2 ... ERROR RETURN 02502000 * 02503000 DACO NOP 02504000 LDA PUBUA 02505000 STA EXPO 02506000 LDA RDBUA 02507000 STA ACPO 02508000 LDA ONE SET COLCT TO 1 02509000 STA COLCT 02510000 LDA ACPO,I 02511000 AND B12 ISOLATE READ CHECK BIT 02512000 SZA,RSS READ CHECK ON? 02513000 JMP CAG NO 02514000 JSB ERMS,I YES,OUTPUT E124 02515000 DEF E124 02516000 JSB STRE.,I IS STATUS REPORT REQUIRED? 02517000 CAG LDB EXPO,I 02518000 LDA ACPO,I 02519000 AND MSK12 02520000 CPA B IS EXP DATA EQUAL TO ACT DATA? 02521000 JMP *+2 YES 02522000 JMP DER NO 02523000 CND LDA COLCT 02524000 CPA D80 WAS 80 COLS COMPARED? 02525000 JMP DACO,I YES,EXIT TO P+1 02526000 ISZ COLCT NO 02527000 ISZ EXPO 02528000 ISZ ACPO 02529000 JMP CAG 02530000 DER STB EXDA STORE EXP DATA 02531000 STA ACDA STORE ACT DATA 02532000 LDA BLI 02533000 SZA IS CARD TO BE BLANK? 02534000 JMP NMS NON-ZERO,NO 02535000 JSB ERMS,I ZERO,YES,OUTPUT E107 02536000 DEF E107 02537000 JSB STRE.,I IS STATUS REPORT REQUIRED? 02538000 ISZ DACO 02539000 JMP DACO,I IF NON-BL,EXIT TO P+2 02540000 * 02541000 NMS JSB CLCV.,I INSERT COL NO.IN E110 02542000 LDA BCV2.,I 02543000 STA ECL.,I 02544000 JSB CRCV.,I 02545000 LDA BCV2.,I INSERT CRD NO IN E110 02546000 STA ECR.,I 02547000 * 02548000 CLA 02549000 STA SHIFT 02550000 LDA ONE INIT DEX BUFF FOR EXP DATA 02551000 LDB D11 02552000 JSB AR2B.,I 02553000 DEF INSTA 02554000 DEF DEX 02555000 DEF SHIFT 02556000 * 02557000 LDA ONE 02558000 LDB D11 INIT DAC BUFF FOR ACT DATA 02559000 JSB AR2B.,I 02560000 DEF INSTA 02561000 DEF DAC 02562000 DEF SHIFT 02563000 LDB EXDA CONVERT EXP DATA TO ASCII 02564000 LDA DEX. 02565000 JSB SCAN.,I 02566000 * 02567000 LDB ACDA CONVERT ACT DATA TO ASCII 02568000 LDA DAC. 02569000 JSB SCAN.,I 02570000 * 02571000 LDA D2 EDIT E110 02572000 LDB D3 02573000 JSB AR2B.,I 02574000 DEF EXP 02575000 DEF DEX 02576000 DEF SHIFT 02577000 * 02578000 LDA D2 02579000 LDB D3 02580000 JSB AR2B.,I 02581000 DEF ACD 02582000 DEF DAC 02583000 DEF SHIFT 02584000 * 02585000 LDA COLCT LOAD COLCT IN A 02586000 LDB WSIND LOAD CRD NO IN B 02587000 * 02588000 JSB ERMS,I OUTPUT E110 02589000 DEF E110 02590000 JSB STRE.,I IS STATUS REPORT REQUIRED? 02591000 JMP CND GOTO TEST IF 80 COLS WERE COMPARED 02592000 SKP 02593000 *==================================================================* 02594000 * SUBROUTINE OCO * 02595000 * THIS SUBROUTINE CONVERTS 80 12-BIT DATA WORDS (COLUMNS) * 02596000 * OF A BUFFER (PUBU=BUF X, PRBU=BUF Y) FROM OCTAL TO ASCII * 02597000 * AND DISPLAYS THEM ON TTY. * 02598000 *==================================================================* 02599000 * 02600000 * CALLING SEQUENCE: 02601000 * 02602000 * LDA BUF. BUFFER POINTER(PUBUA OR PRBUA) 02603000 * JSB OCO.,I 02604000 *P+1 ... NORMAL RETURN 02605000 * 02606000 OCO NOP 02607000 STA PON STORE BUF POINTER(OF PUBU OR PRBU) 02608000 LDA M80 SET GREAT LOOP CNTR TO 80 02609000 STA GLO 02610000 RVA LDA M10 SET SMALL LOOP CNTR TO 10 02611000 STA SLO 02612000 LDA BUD. GET BUD POINTER 02613000 STA VAPO 02614000 NOC CLE CONVERT 1 COLUMN TO OCTAL 02615000 LDA PON,I 02616000 LDB BUOC. 02617000 JSB O2AS,I 02618000 LDA BU4M.,I 02619000 STA VAPO,I 02620000 ISZ VAPO 02621000 LDA BU4L.,I 02622000 STA VAPO,I 02623000 ISZ SLO WAS 10 COLS CONVERTED? 02624000 JMP *+2 NO 02625000 JMP DIS YES,GOTO DISPLAY 10 COLS 02626000 ISZ GLO INCREMENT GLO BY 1 02627000 ISZ PON INCREMENT PON BY 1 02628000 ISZ VAPO INCREMENT VAPO BY 2 02629000 ISZ VAPO 02630000 JMP NOC GOTO CONVERT NEXT COLUMN 02631000 DIS JSB MSGC,I DISPLAY 10 COLS ON TTY 02632000 DEF HBUD 02633000 ISZ GLO WAS 80 COLS CONV AND DISPL? 02634000 JMP *+2 NO,INC PON&RESET SLO&VAPO 02635000 JMP OCO,I YES,EXIT 02636000 ISZ PON 02637000 JMP RVA 02638000 * 02639000 BUOC NOP 02640000 BU4M NOP 02641000 BU4L NOP 02642000 * 02643000 BUOC. DEF BUOC 02644000 BU4M. DEF BU4M 02645000 BU4L. DEF BU4L 02646000 SKP 02647000 *==================================================================* 02648000 * SUBROUTINE WSCH * 02649000 * THIS SUBROUTINE CHECKS CARD IN WAIT STATION,READY FOR * 02650000 * CMND, AND STACKER FULL CONDITIONS. ERROR MESSAGES ARE GIVEN * 02651000 * IF ANY OF THE CONDITIONS CAN NOT BE REMOVED. * 02652000 *==================================================================* 02653000 * 02654000 * CALLING SEQUENCE: 02655000 * 02656000 * JSB WSCH.,I 02657000 *P+1 ... ERROR RETURN 02658000 *P+2 ... NORMAL RETURN 02659000 * 02660000 WSCH NOP 02661000 LDB B4 02662000 JSB CST.,I IS CARD IN WAIT STATION? 02663000 JMP *+2 YES 02664000 JMP RDCH NO 02665000 JSB MSGH,I OUTPUT H050 02666000 DEF H050 02667000 LDB B4 02668000 JSB CST.,I IS CARD IN WAIT STATION? 02669000 JMP *+2 YES 02670000 JMP RDCH NO 02671000 JSB ERMS,I OUTPUT E051 02672000 DEF E051 02673000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02674000 JMP WSCH,I ERROR EXIT 02675000 RDCH LDB B5 02676000 JSB CST.,I READY FOR CMND? 02677000 JMP RDOK YES 02678000 LDB B15 NO 02679000 JSB DST.,I IS INPUT BUFFER FULL? 02680000 JMP TCLB YES 02681000 SFU LDB B8 NO 02682000 JSB DST.,I IS STACKER FULL? 02683000 JMP *+2 YES 02684000 JMP CMAN NO 02685000 JSB MSGH,I OUTPUT H044 02686000 DEF H044 02687000 LDB B8 02688000 JSB DST.,I IS STACKER FULL? 02689000 JMP *+2 YES 02690000 JMP RDCH NO 02691000 JSB ERMS,I OUTPUT E045 02692000 DEF E045 02693000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02694000 JMP WSCH,I ERROR EXIT 02695000 TCLB LDA B15 TRY TO CLEAR INPUT BUFFER 02696000 DIO41 OTA DATA 02697000 LDB B15 02698000 JSB DST.,I IS INPUT BUFFER FULL? 02699000 JMP *+2 YES,GOTO CLEAR MANUALLY 02700000 JMP SFU NO,GOTO CHECK STACKER COND 02701000 CMAN JSB MSGH,I OUTPUT H046 02702000 DEF H046 02703000 LDB B5 02704000 JSB CST.,I READY FOR CMND? 02705000 JMP RDOK YES 02706000 JSB ERMS,I NO,OUTPUT E047 02707000 DEF E047 02708000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02709000 JMP WSCH,I ERROR EXIT 02710000 RDOK ISZ WSCH 02711000 JMP WSCH,I NORMAL EXIT 02712000 SKP 02713000 *==================================================================* 02714000 * SUBROUTINE PUX * 02715000 *==================================================================* 02716000 * 02717000 * CALLING SEQUENCE: 02718000 * 02719000 * JSB PUX.,I 02720000 *P+1 ... ERROR RETURN 02721000 *P+2 ... NORMAL RETURN 02722000 * 02723000 PUX NOP 02724000 JSB WSCH.,I IS WSCH CHECK OK? 02725000 JMP PUX,I NO,ERROR EXIT TO P+1 02726000 * 02727000 LDB B1 02728000 JSB CST.,I IS HOP-2 EMPTY? 02729000 JMP *+2 ON-YES 02730000 JMP PWS0 OFF-NO,OK 02731000 JSB MSGH,I OUTPUT H056 02732000 DEF H056 02733000 LDB B1 02734000 JSB CST.,I IS HOP-2 EMPTY? 02735000 JMP *+2 ON-YES,ERROR 02736000 JMP PWS0 OFF-NO,OK 02737000 JSB ERMS,I OUTPUT E057 02738000 DEF E057 02739000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02740000 JMP PUX,I ERROR EXIT TO P+1 02741000 * 02742000 PWS0 CLA 02743000 STA WSIND SET WSIND TO 0 02744000 ISZ PUX 02745000 JMP PUX,I NORMAL EXIT TO P+2 02746000 SKP 02747000 *==================================================================* 02748000 * SUBROUTINE RDX * 02749000 *==================================================================* 02750000 * 02751000 * CALLING SEQUENCE: 02752000 * 02753000 * JSB RDX.,I 02754000 *P+1 ... ERROR RETURN 02755000 *P+2 ... NORMAL RETURN 02756000 * 02757000 RDX NOP 02758000 JSB WSCH.,I IS WSCH CHECK OK? 02759000 JMP RDX,I NO,ERROR EXIT TO P+1 02760000 * 02761000 LDB B3285 YES,IS LOOP ON TEST,DIAG,OR SUPP 02762000 JSB SWRT,I INTERVENT,OR SUPP PUNCH REQ? 02763000 JMP *+3 ON-YES,NO MESSAGE 02764000 JSB MSGH,I OFF-NO,OUTPUT H062 02765000 DEF H062 02766000 * 02767000 LDB B9 02768000 JSB DST.,I IS HOP-1 EMPTY? 02769000 JMP *+2 ON-YES 02770000 JMP RWS0 OFF-NO,OK 02771000 JSB MSGH,I OUTPUT H063 02772000 DEF H063 02773000 LDB B9 02774000 JSB DST.,I IS HOP-1 EMPTY? 02775000 JMP *+2 ON-YES,ERROR 02776000 JMP RWS0 OFF-NO,OK 02777000 JSB ERMS,I OUTPUT E064 02778000 DEF E064 02779000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02780000 JMP RDX,I ERROR EXIT TO P+1 02781000 * 02782000 RWS0 CLA 02783000 STA WSIND SET WSIND TO 0 02784000 ISZ RDX 02785000 JMP RDX,I NORMAL EXIT TO P+2 02786000 SKP 02787000 *==================================================================* 02788000 * SUBROUTINE PUY * 02789000 *==================================================================* 02790000 * 02791000 * CALLING SEQUENCE: 02792000 * 02793000 * JSB PUY.,I 02794000 *P+1 ... ERROR RETURN 02795000 *P+2 ... NORMAL RETURN 02796000 * 02797000 PUY NOP 02798000 LDA M3 02799000 STA EPU SET EPU CNTR TO -3 02800000 * 02801000 ISZ WSIND INCREMENT WSIND 02802000 * 02803000 CLA CLEAR PUBU FOR BL CARD COMPARE 02804000 STA SHIFT 02805000 LDA ZERO 02806000 LDB D80 02807000 JSB AR2B.,I 02808000 DEF ZERO 02809000 DEF PUBU 02810000 DEF SHIFT 02811000 * 02812000 TRAG LDB B4 02813000 JSB CST.,I IS CARD IN WAIT STATION? 02814000 JMP RPY ON-YES,OK 02815000 JSB ERMS,I OFF-NO,ERROR,OUTPUT E060 02816000 DEF E060 02817000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02818000 JMP PUY,I ERROR EXIT TO P+1 02819000 * 02820000 RPY LDB B5 02821000 JSB CST.,I READY FOR CMND? 02822000 JMP H2PY YES,OK 02823000 * 02824000 LDB B8 NO 02825000 JSB DST.,I IS STACKER FULL? 02826000 JMP SFP YES 02827000 JSB ERMS,I NO,OUTPUT E061 02828000 DEF E061 02829000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02830000 JMP PUY,I ERROR EXIT TO P+1 02831000 * 02832000 SFP JSB MSGH,I OUTPUT H044 02833000 DEF H044 02834000 * 02835000 LDB B8 02836000 JSB DST.,I IS STACKER FULL? 02837000 JMP *+2 YES,ERROR 02838000 JMP RPY NO,CHECK RDY COND AGAIN 02839000 * 02840000 JSB ERMS,I OUTPUT E045 02841000 DEF E045 02842000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02843000 JMP PUY,I ERROR EXIT TO P+1 02844000 * 02845000 H2PY LDB B1 02846000 JSB CST.,I IS HOP-2 EMPTY? 02847000 JMP *+2 ON-YES 02848000 JMP WCPY OFF-NO,OK 02849000 LDA WSIND IS LAST CARD IN W S? 02850000 CPA D12 02851000 JMP WCPY YES,DONT WORRY THAT HOP-2 EMPTY 02852000 JSB MSGH,I NO,OUTPUT H056 02853000 DEF H056 02854000 * 02855000 LDB B1 02856000 JSB CST.,I IS HOP-2 EMPTY? 02857000 JMP *+2 ON-YES,ERROR 02858000 JMP RPY OFF-NO,CHECK RDY COND AGAIN 02859000 * 02860000 JSB ERMS,I OUTPUT E057 02861000 DEF E057 02862000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02863000 JMP PUY,I ERROR EXIT TO P+1 02864000 * 02865000 WCPY JSB DACO.,I IS CRD IN W S BLANK? 02866000 JMP COPU YES,OK,PREP EXIT TO P+2 02867000 ISZ EPU NO,ERR,WAS IT LAST ATTEMPT? 02868000 JMP *+2 NO,CONTINUE 02869000 JMP PUY,I YES ERR EXIT TO P+1 02870000 JSB MSGH,I OUTPUT H114 02871000 DEF H114 02872000 JSB RB2.,I FEED&READ 1 BL CRD,OK? 02873000 JMP PUY,I NO,ERR EXIT TO P+1 02874000 JMP TRAG YES 02875000 COPU ISZ PUY 02876000 JMP PUY,I NORMAL EXIT TO P+2 02877000 SKP 02878000 *==================================================================* 02879000 * SUBROUTINE RDY * 02880000 *==================================================================* 02881000 * 02882000 * CALLING SEQUENCE: 02883000 * 02884000 * JSB RDY.,I 02885000 *P+1 ... ERROR RETURN 02886000 *P+2 ... NORMAL RETURN 02887000 * 02888000 RDY NOP 02889000 * 02890000 ISZ WSIND INCREMENT WSIND 02891000 * 02892000 LDB B4 02893000 JSB CST.,I IS CARD IN WAIT STATION? 02894000 JMP RRY ON-YES,OK 02895000 JSB ERMS,I OFF-NO,ERR,OUTPUT E060 02896000 DEF E060 02897000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02898000 JMP RDY,I ERROR EXIT TO P+1 02899000 * 02900000 RRY LDB B5 02901000 JSB CST.,I READY FOR CMND? 02902000 JMP H1RY YES,OK 02903000 * 02904000 LDB B8 NO 02905000 JSB DST.,I IS STACKER FULL? 02906000 JMP SFR YES 02907000 JSB ERMS,I OUTPUT E061 02908000 DEF E061 02909000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02910000 JMP RDY,I ERROR EXIT TO P+1 02911000 * 02912000 SFR JSB MSGH,I OUTPUT H044 02913000 DEF H044 02914000 * 02915000 LDB B8 02916000 JSB DST.,I IS STACKER FULL? 02917000 JMP *+2 YES,ERROR 02918000 JMP RRY NO,CHECK RDY COND AGAIN 02919000 * 02920000 JSB ERMS,I OUTPUT E045 02921000 DEF E045 02922000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02923000 JMP RDY,I ERROR EXIT TO P+1 02924000 * 02925000 H1RY LDB B9 02926000 JSB DST.,I IS HOP-1 EMPTY? 02927000 JMP *+2 ON-YES 02928000 JMP WCRY OFF-NO,OK 02929000 LDA WSIND IS LAST CARD IN W S? 02930000 CPA D12 02931000 JMP WCRY YES,DONT WORRY THAT HOP-1 EMPTY 02932000 JSB MSGH,I NO,OUTPUT H063 02933000 DEF H063 02934000 LDB B9 02935000 JSB DST.,I IS HOP-1 EMPTY? 02936000 JMP *+2 ON-YES,ERROR 02937000 JMP RRY OFF-NO,CHECK RDY COND AGAIN 02938000 * 02939000 JSB ERMS,I OUTPUT E064 02940000 DEF E064 02941000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 02942000 JMP RDY,I ERROR EXIT TO P+1 02943000 * 02944000 WCRY JSB DACO.,I IS CRD IN W S OK(EXP=ACT)? 02945000 NOP YES,OK,EXIT TO P+2 02946000 ISZ RDY NO,EXIT TO P+2 ANYWAY 02947000 JMP RDY,I 02948000 * 02949000 *==================================================================* 02950000 * SUBROUTINE CSM * 02951000 * THIS SUBROUTINE CHECKS IF THE DEVICE LAST OPERATION WAS IN * 02952000 * STACKER CONTROL MODE. IF NOT, CLEAR IS REQUESTED. * 02953000 *==================================================================* 02954000 * 02955000 * CALLING SEQUENCE: 02956000 * 02957000 * JSB CSM.,I 02958000 *P+1 ... NORMAL RETURN 02959000 * 02960000 CSM NOP 02961000 CIO22 LIA CMND GET CONTROL BITS 02962000 AND B12 02963000 SZA WAS DEV IN STCK CNTRL MODE? 02964000 JMP CSM,I YES,OK,EXIT 02965000 JSB ISCM.,I NO,INIT DEV F ST CNTRL MODE 02966000 JSB MSGH,I OUTPUT H053 02967000 DEF H053 02968000 JMP CSM,I EXIT 02969000 SKP 02970000 *==================================================================* 02971000 * ACTION SUBROUTINES * 02972000 * THESE SUBROUTINES REALIZE ALL THE OPERATIONS OF THE * 02973000 * PRINTING READER PUNCH USED IN THIS DIAGNOSTIC. SYMBOLS * 02974000 * IN THE NAME OF EACH SUBROUTINE DESCRIBE EACH OPERATION * 02975000 * AS FOLLOWS: * 02976000 * R...READ * 02977000 * P...PUNCH * 02978000 * Q...READ AND PUNCH * 02979000 * W...PRINT (WRITE) FROM OUTPUT BUFFER * 02980000 * S...PRINT (SEPARATE PRINT DATA) FROM PRINT BUFFER * 02981000 * F...FEED (NO READ, PUNCH, OR PRINT) * 02982000 * * 02983000 * A...USE HOPPER 1 * 02984000 * B...USE HOPPER 2 * 02985000 * I...INHIBIT INPUT FEED * 02986000 * * 02987000 * 0...STACKER OVERFLOW MODE * 02988000 * 1...USE STACKER 1 * 02989000 * 2...USE STACKER 2 * 02990000 *==================================================================* 02991000 * 02992000 * CALLING SEQUENCE: 02993000 * 02994000 * JSB VXYZ.,I (VXYZ STAND FOR SYMBOLS EXPLAINED ABOVE) 02995000 *P+1 ... ERROR RETURN 02996000 *P+2 ... NORMAL RETURN 02997000 * 02998000 RB2 NOP 02999000 LDA H2S2 03000000 CLB 03001000 JSB DODO.,I 03002000 DEC 80 03003000 JMP RB2,I 03004000 ISZ RB2 03005000 JMP RB2,I 03006000 * 03007000 QWB2 NOP 03008000 LDA QWB2K 03009000 CLB 03010000 JSB DODO.,I 03011000 DEC 80 03012000 JMP QWB2,I 03013000 ISZ QWB2 03014000 JMP QWB2,I 03015000 * 03016000 PWI2 NOP 03017000 LDA QWB2K 03018000 LDB INHIF 03019000 JSB DODO.,I 03020000 DEC 0 03021000 JMP PWI2,I 03022000 ISZ PWI2 03023000 JMP PWI2,I 03024000 * 03025000 RA1 NOP 03026000 LDA SCM 03027000 CLB 03028000 JSB DODO.,I 03029000 DEC 80 03030000 JMP RA1,I 03031000 ISZ RA1 03032000 JMP RA1,I 03033000 * 03034000 FI1 NOP 03035000 LDA SCM 03036000 LDB INHIF 03037000 JSB DODO.,I 03038000 DEC 0 03039000 JMP FI1,I 03040000 ISZ FI1 03041000 JMP FI1,I 03042000 * 03043000 * 03044000 PI2 NOP 03045000 LDA PI2K 03046000 LDB INHIF 03047000 JSB DODO.,I 03048000 DEC 0 03049000 JMP PI2,I 03050000 ISZ PI2 03051000 JMP PI2,I 03052000 * 03053000 WI2 NOP 03054000 LDA WI2K 03055000 LDB INHIF 03056000 JSB DODO.,I 03057000 DEC 0 03058000 JMP WI2,I 03059000 ISZ WI2 03060000 JMP WI2,I 03061000 * 03062000 PSI2 NOP 03063000 LDA PSI2K 03064000 LDB INHIF 03065000 JSB DODO.,I 03066000 DEC 0 03067000 JMP PSI2,I 03068000 ISZ PSI2 03069000 JMP PSI2,I 03070000 * 03071000 RA0 NOP 03072000 CLA 03073000 CLB 03074000 JSB DODO.,I 03075000 DEC 80 03076000 JMP RA0,I 03077000 ISZ RA0 03078000 JMP RA0,I 03079000 * 03080000 FI0 NOP 03081000 CLA 03082000 LDB INHIF 03083000 JSB DODO.,I 03084000 DEC 0 03085000 JMP FI0,I 03086000 ISZ FI0 03087000 JMP FI0,I 03088000 * 03089000 RB0 NOP 03090000 LDA H2SOM 03091000 CLB 03092000 JSB DODO.,I 03093000 DEC 80 03094000 JMP RB0,I 03095000 ISZ RB0 03096000 JMP RB0,I 03097000 * 03098000 * 03099000 FI2 NOP 03100000 LDA H2S2 03101000 LDB INHIF 03102000 JSB DODO.,I 03103000 DEC 0 03104000 JMP FI2,I 03105000 ISZ FI2 03106000 JMP FI2,I 03107000 * 03108000 QB2 NOP 03109000 LDA PI2K 03110000 CLB 03111000 JSB DODO.,I 03112000 DEC 80 03113000 JMP QB2,I 03114000 ISZ QB2 03115000 JMP QB2,I 03116000 * 03117000 RWB2 NOP 03118000 LDA WI2K 03119000 CLB 03120000 JSB DODO.,I 03121000 DEC 80 03122000 JMP RWB2,I 03123000 ISZ RWB2 03124000 JMP RWB2,I 03125000 * 03126000 QSB2 NOP 03127000 LDA PSI2K 03128000 CLB 03129000 JSB DODO.,I 03130000 DEC 80 03131000 JMP QSB2,I 03132000 ISZ QSB2 03133000 JMP QSB2,I 03134000 SKP 03135000 ******************************************************************** 03136000 * MESSAGES * 03137000 ******************************************************************** 03138000 * 03139000 ZBMA0 ASC 13, FOR DATA CH (HI PRIOR)/ 03140000 ZBMA1 ASC 13, FOR CMND CH (LO PRIOR)/ 03141000 E3031 ASC 5,E03X XXXX 03142000 ASC 5,STATUS ERR 03143000 OCT 6412 03144000 ASC 4, EXP: 03145000 BEX BSS 11 03146000 OCT 6412 03147000 ASC 4, ACT: 03148000 BAC BSS 11 03149000 ASC 1,/ 03150000 EE030 ASC 5,E030 CMND 03151000 EE031 ASC 5,E031 DATA 03152000 H032 ASC 18,H032 CLEAR DEVICE,STACKERS,HOPPERS; 03153000 ASC 11,PRESS STOP,START,RUN/ 03154000 H033 ASC 10,H033 PRESS STOP,RUN/ 03155000 H034 ASC 11,H034 PRESS START,RUN/ 03156000 H035 ASC 17,H035 LOAD HOP-1 WITH 1 BLANK CARD; 03157000 ASC 12,PRESS STOP 2X,START,RUN/ 03158000 H036 ASC 17,H036 LOAD HOP-2 WITH 1 BLANK CARD; 03159000 ASC 12,PRESS STOP 2X,START,RUN/ 03160000 H037 ASC 16,H037 STACKER CONTROL MODE CHECK 03161000 ASC 4,FOLLOWS/ 03162000 H040 ASC 16,H040 STACKER OVERFLOW MODE CHECK 03163000 ASC 5, FOLLOWS/ 03164000 H041 ASC 19,H041 EXTEND STACK-1 ARM TO LIMIT;PRESS 03165000 ASC 3, RUN/ 03166000 H042 ASC 19,H042 EXTEND STACK-2 ARM TO LIMIT;PRESS 03167000 ASC 3, RUN/ 03168000 H043 ASC 13,H043 PRESS STOP,START,RUN/ 03169000 H044 ASC 15,H044 STACKER FULL,UNLOAD;PRESS 03170000 ASC 8, STOP,START,RUN/ 03171000 E045 ASC 15,E045 STATUS SHOWS STACKER FULL 03172000 ASC 9, AFTER UNLOAD(*)/ 03173000 H046 ASC 18,H046 NOT READY FOR CMND;CLEAR DEVICE 03174000 ASC 11,,PRESS STOP,START,RUN/ 03175000 E047 ASC 20,E047 NOT READY FOR CMND AFTER CLEAR(*)/ 03176000 H050 ASC 13,H050 CARD IN WAIT STATION; 03177000 ASC 17,CLEAR DEVICE,PRESS STOP,START,RUN/ 03178000 E051 ASC 19,E051 STATUS SHOWS CARD IN WAIT STATION 03179000 ASC 8,AFTER CLEAR(*)/ 03180000 H052 ASC 17,H052 LOAD HOP-1&2 WITH BLANK CARDS 03181000 ASC 13,;PRESS STOP 2X,START,RUN/ 03182000 H053 ASC 19,H053 CLEAR DEVICE,STACKERS;PRESS STOP, 03183000 ASC 5,START,RUN/ 03184000 E054 ASC 11,E054 TEST ABORTED(*)/ 03185000 H055 ASC 10,H055 CLEAR STACKERS; 03186000 ASC 11,PRESS STOP,START,RUN/ 03187000 H056 ASC 19,H056 HOP-2 EMPTY,LOAD WITH BLANK CARDS 03188000 ASC 13,;PRESS STOP 2X,START,RUN/ 03189000 E057 ASC 19,E057 STATUS SHOWS HOP-2 EMPTY AFTER LO 03190000 ASC 3,AD(*)/ 03191000 E060 ASC 19,E060 NO CARD ARRIVED IN WAIT STATION(* 03192000 ASC 1,)/ 03193000 E061 ASC 18,E061 NO RETURN TO READY FOR CMND(*)/ 03194000 H062 ASC 19,H062 LOAD HOP-1 WITH TEST CARDS;PRESS 03195000 ASC 9,STOP 2X,START,RUN/ 03196000 H063 ASC 19,H063 HOP-1 EMPTY,LOAD WITH TEST CARDS; 03197000 ASC 12,PRESS STOP 2X,START,RUN/ 03198000 E064 ASC 19,E064 STATUS SHOWS HOP-1 EMPTY AFTER LO 03199000 ASC 3,AD(*)/ 03200000 E065 ASC 18,E065 NOT READY FOR CMND BEFORE FEED 03201000 ASC 4,REQ(*)/ 03202000 E066 ASC 19,E066 LOAD OUT BUFF ERR; DATA FLAG NOT 03203000 ASC 4,SET(COL: 03204000 CLOUF BSS 1 03205000 ASC 3,, CRD: 03206000 CROUF BSS 1 03207000 ASC 3,)(*)/ 03208000 E067 ASC 19,E067 LOAD PRINT BUFF ERR; DATA FLAG NO 03209000 ASC 5,T SET(COL: 03210000 CLPRF BSS 1 03211000 ASC 3,, CRD: 03212000 CRPRF BSS 1 03213000 ASC 3,)(*)/ 03214000 E100 ASC 19,E100 IN BUFF FULL (CMND FLAG) NOT SET( 03215000 ASC 2,*)/ 03216000 E101 ASC 19,E101 UNLOAD IN BUFF ERR; DATA FLAG NOT 03217000 ASC 5, SET (COL: 03218000 CLINF BSS 1 03219000 ASC 3,, CRD: 03220000 CRINF BSS 1 03221000 ASC 3,)(*)/ 03222000 E102 ASC 19,E102 LOAD OUT BUFF ERR;NO INT ON DATA 03223000 ASC 4,CH (COL: 03224000 ICLO BSS 1 03225000 ASC 3,, CRD: 03226000 ICRO BSS 1 03227000 ASC 3,)(*)/ 03228000 E103 ASC 19,E103 LOAD PRINT BUFF ERR;NO INT ON DAT 03229000 ASC 5,A CH (COL: 03230000 ICLP BSS 1 03231000 ASC 3,, CRD: 03232000 ICRP BSS 1 03233000 ASC 3,)(*)/ 03234000 E104 ASC 19,E104 UNLOAD IN BUFF ERR;NO INT ON DATA 03235000 ASC 4, CH(COL: 03236000 ICLI BSS 1 03237000 ASC 3,,CRD: 03238000 ICRI BSS 1 03239000 ASC 3,)(*)/ 03240000 E105 ASC 18,E105 IN BUFF FULL NOT SET;NO INT ON 03241000 ASC 6,CMND CH(*)/ 03242000 E106 ASC 15,E106 UNEXP INT ON CMND CH(*)/ 03243000 E107 ASC 20,E107 NON-BLANK CARD IN WAIT STATION(*)/ 03244000 E110 ASC 13,E110 DATA COMPARE ERR(COL: 03245000 ECL BSS 1 03246000 ASC 3,,CRD: 03247000 ECR BSS 1 03248000 ASC 2,)(*) 03249000 OCT 6412 03250000 ASC 1, 03251000 DEX BSS 11 03252000 OCT 6412 03253000 ASC 1, 03254000 DAC BSS 11 03255000 ASC 1,/ 03256000 EXP ASC 3, EXP: 03257000 ACD ASC 3, ACT: 03258000 E111 ASC 11,E111 PICK FAILURE(*)/ 03259000 H112 ASC 16,H112 CORRECT HOP COND,CLEAR DEV; 03260000 ASC 11,PRESS STOP,START,RUN/ 03261000 E113 ASC 10,E113 INPUT CHECK(*)/ 03262000 H114 ASC 16,H114 CLEAR DEV,REMOVE NON-BL CRD 03263000 ASC 11,;PRESS STOP,START,RUN/ 03264000 H115 ASC 15,H115 OPERATOR DESIGN FOLLOWS/ 03265000 H116 ASC 4,H116 @/ 03266000 H117 ASC 8,H117 BUFFER X:/ 03267000 H120 ASC 8,H120 BUFFER Y:/ 03268000 HBUD ASC 2, 03269000 BUD ASC 18,AAAA AAAA AAAA AAAA AAAA AAAA 03270000 ASC 12,AAAA AAAA AAAA AAAA/ 03271000 H121 ASC 13,H121 ORDER NOT RECOGNIZED/ 03272000 E122 ASC 14,E122 ERR IN ORDER EXECUTION/ 03273000 H123 ASC 6,H123 STATUS 03274000 OCT 6412 03275000 ASC 4, CMND: 03276000 BUFC BSS 11 03277000 OCT 6412 03278000 ASC 4, DATA: 03279000 BUFD BSS 11 03280000 ASC 1,/ 03281000 E124 ASC 10,E124 READ CHECK(*)/ 03282000 C0 ASC 2,:0/ 03283000 C1 ASC 2,:1/ 03284000 C2 ASC 2,:2/ 03285000 C3 ASC 2,:3/ 03286000 C4 ASC 2,:4/ 03287000 C5 ASC 2,:5/ 03288000 C6 ASC 2,:6/ 03289000 C7 ASC 2,:7/ 03290000 C10 ASC 2,:10/ 03291000 C11 ASC 2,:11/ 03292000 SKP 03293000 ******************************************************************** 03294000 * TEST 0 * 03295000 ******************************************************************** 03296000 * 03297000 TST0 NOP 03298000 JSB TS00.,I DO BASIC I/O FOR DATA CH 03299000 JSB MSGC,I APPEND IDENTIFICATION 03300000 DEF ZBMA0 OF DATA CH (HI PRIOR) 03301000 JMP TST0,I 03302000 * 03303000 ******************************************************************** 03304000 * TEST 1 * 03305000 ******************************************************************** 03306000 * 03307000 TST01 EQU * 03308000 NOP 03309000 LDA SCM 03310000 CIO13 OTA CMND BEGIN WITH STACK CNTRL MODE 03311000 LDA INHIF 03312000 IOR CLBF 03313000 DIO39 OTA DATA 03314000 LDA USSC GET CELL LOCATION 03315000 AND SCMSK OF CMND CH (LO PRIOR) 03316000 INA 03317000 JSB ZBIO.,I DO BASIC I/O FOR CMND CH 03318000 JSB MSGC,I APPEND IDENTIFICATION 03319000 DEF ZBMA1 OF CMND CH (LO PRIOR) 03320000 JMP TST01,I 03321000 * 03322000 ******************************************************************** 03323000 * TEST 2 * 03324000 ******************************************************************** 03325000 * 03326000 TST02 EQU * 03327000 NOP 03328000 LDB B8A12 03329000 JSB SWRT,I IS BIT 8 OR 12 ON? 03330000 JMP TST02,I YES,ELIM OPER INTERV (EXIT) 03331000 JSB ISCM.,I NO,CONT,INIT DEV FOR STACK C MOD 03332000 CIO18 STC CMND,C 03333000 CIO19 CLC CMND,C 03334000 *------------------------------------------------------------------* 03335000 * SUBTEST 1 * 03336000 *------------------------------------------------------------------* 03337000 JSB MSGH,I OUTPUT H032 03338000 DEF H032 03339000 LDA ECS1 LOAD EXP CMND STAT IN A 03340000 JSB COCS.,I COMPARE CMND STATUS 03341000 * 03342000 LDA EDS1 LOAD EXP DATA STATUS IN A 03343000 JSB CODS.,I COMPARE DATA STATUS 03344000 *------------------------------------------------------------------* 03345000 * SUBTEST 2 * 03346000 *------------------------------------------------------------------* 03347000 JSB MSGH,I OUTPUT H033 03348000 DEF H033 03349000 LDA ECS2 LOAD EXP CMND STATUS IN A 03350000 JSB COCS.,I COMPARE CMND STATUS 03351000 * 03352000 LDA EDS1 LOAD EXP DATA STATUS IN A 03353000 JSB CODS.,I COMPARE DATA STATATUS 03354000 *------------------------------------------------------------------* 03355000 * SUBTEST 3 * 03356000 *------------------------------------------------------------------* 03357000 JSB MSGH,I OUTPUT H034 03358000 DEF H034 03359000 LDA ECS1 LOAD EXP CMND STATUS IN A 03360000 JSB COCS.,I COMPARE CMND STATUS 03361000 * 03362000 LDA EDS1 LOAD EXP DATA STATUS IN A 03363000 JSB CODS.,I COMPARE DATA STATUS 03364000 *------------------------------------------------------------------* 03365000 * SUBTEST 4 * 03366000 *------------------------------------------------------------------* 03367000 JSB MSGH,I OUTPUT H035 03368000 DEF H035 03369000 LDA ECS1 LOAD EXP CMND STATUS IN A 03370000 JSB COCS.,I COMPARE CMND STATUS 03371000 * 03372000 LDA EDS4 LOAD EXP DATA STATUS IN A 03373000 JSB CODS.,I COMPARE DATA STATUS 03374000 *------------------------------------------------------------------* 03375000 * SUBTEST 5 * 03376000 *------------------------------------------------------------------* 03377000 JSB MSGH,I OUTPUT H036 03378000 DEF H036 03379000 LDA ECS6 LOAD EXP CMND STATUS IN A 03380000 JSB COCS.,I COMPARE CMND STATUS 03381000 * 03382000 LDA EDS4 LOAD EXP DATA STATUS IN A 03383000 JSB CODS.,I COMPARE DATA STATUS 03384000 *------------------------------------------------------------------* 03385000 * SUBTEST 6 * 03386000 *------------------------------------------------------------------* 03387000 JSB MSGC,I OUTPUT H037 03388000 DEF H037 03389000 * 03390000 JSB MSGH,I OUTPUT H041 03391000 DEF H041 03392000 LDA EDS2 LOAD EXP DATA STATUS IN A 03393000 JSB CODS.,I COMPARE DATA STATUS 03394000 * 03395000 LDA ECS3 LOAD EXP CMND STATUS IN A 03396000 JSB COCS.,I COMPARE CMND STATUS 03397000 *------------------------------------------------------------------* 03398000 * SUBTEST 7 * 03399000 *------------------------------------------------------------------* 03400000 JSB MSGH,I OUTPUT H043 03401000 DEF H043 03402000 * 03403000 JSB MSGH,I OUTPUT H042 03404000 DEF H042 03405000 LDA EDS2 LOAD EXP DATA STATUS IN A 03406000 JSB CODS.,I COMPARE DATA STATUS 03407000 * 03408000 LDA ECS3 LOAD EXP CMND STATUS IN A 03409000 JSB COCS.,I COMPARE CMND STATUS 03410000 *------------------------------------------------------------------* 03411000 * SUBTEST 8 * 03412000 *------------------------------------------------------------------* 03413000 JSB MSGH,I OUTPUT H043 03414000 DEF H043 03415000 * 03416000 JSB ISOM.,I INIT DEV FOR STACK OVERFL MODE 03417000 CIO20 STC CMND,C 03418000 CIO21 CLC CMND,C 03419000 JSB MSGC,I OUTPUT H040 03420000 DEF H040 03421000 * 03422000 JSB MSGH,I OUTPUT H041 03423000 DEF H041 03424000 LDA EDS4 LOAD EXP DATA ST IN A 03425000 JSB CODS.,I COMPARE DATA ST 03426000 * 03427000 LDA ECS5 LOAD EXP CMND ST IN A 03428000 JSB COCS.,I COMPARE CMND ST 03429000 *------------------------------------------------------------------* 03430000 * SUBTEST 9 * 03431000 *------------------------------------------------------------------* 03432000 JSB MSGH,I OUTPUT H042 03433000 DEF H042 03434000 LDA EDS2 LOAD EXP DATA ST IN A 03435000 JSB CODS.,I COMPARE CMND STATUS 03436000 * 03437000 LDA ECS4 LOAD EXP CMND ST IN A 03438000 JSB COCS.,I COMPARE CMND ST 03439000 * 03440000 JSB MSGH,I OUTPUT H043 03441000 DEF H043 03442000 * 03443000 LDA EDS4 LOAD EXP DATA ST IN A 03444000 JSB CODS.,I COMPARE DATA ST 03445000 * 03446000 LDA ECS5 LOAD EXP CMND ST IN A 03447000 JSB COCS.,I COMPARE CMND ST 03448000 * 03449000 JMP TST02,I EXIT FROM TEST 2 03450000 SKP 03451000 ******************************************************************** 03452000 * TEST 3 * 03453000 ******************************************************************** 03454000 * 03455000 TST03 EQU * 03456000 NOP 03457000 LDB B8A12 IS BIT 8 OR 12 ON? 03458000 JSB SWRT,I 03459000 JMP TST03,I YES,ELIM OPER INTERV(EXIT) 03460000 JSB WSCH.,I ARE INITIAL CONDITIONS OK? 03461000 JMP ET03 NO 03462000 *------------------------------------------------------------------* 03463000 * SUBTEST 1 * 03464000 *------------------------------------------------------------------* 03465000 JSB ISOM.,I YES,INIT DEV FOR STACK OVERFL M 03466000 * 03467000 JSB MSGH,I OUTPUT H052 03468000 DEF H052 03469000 JSB MSGC,I OUTPUT H040 03470000 DEF H040 03471000 LDA ECS5 03472000 JSB COCS.,I 03473000 LDA EDS4 03474000 JSB CODS.,I 03475000 LDA M5 03476000 STA CACO 03477000 NE3C CLA 03478000 STA MOI DIRECT DODO TO WAIT-FOR-FLAG M 03479000 JSB RA0.,I 03480000 JMP EC03 03481000 LDA ECS10 03482000 JSB COCS.,I 03483000 * 03484000 LDA EDS4 03485000 JSB CODS.,I 03486000 * 03487000 ISZ CACO WAS IT 5TH CARD? 03488000 JMP NE3C NO 03489000 JSB FI0.,I YES 03490000 JMP EC03 03491000 * 03492000 LDA ECS5 03493000 JSB COCS.,I 03494000 LDA EDS4 03495000 JSB CODS.,I 03496000 * 03497000 JSB MSGH,I OUTPUT H041 03498000 DEF H041 03499000 * 03500000 LDA ECS5 03501000 JSB COCS.,I 03502000 LDA EDS4 03503000 JSB CODS.,I 03504000 LDA M5 03505000 STA CACO 03506000 NE3D JSB RB0.,I 03507000 JMP EC03 03508000 * 03509000 LDA ECS12 03510000 JSB COCS.,I 03511000 * 03512000 LDA EDS4 03513000 JSB CODS.,I 03514000 * 03515000 ISZ CACO WAS IT 5TH CARD? 03516000 JMP NE3D NO 03517000 JSB FI0.,I YES 03518000 JMP EC03 03519000 * 03520000 LDA ECS5 03521000 JSB COCS.,I 03522000 LDA EDS4 03523000 JSB CODS.,I 03524000 *------------------------------------------------------------------* 03525000 * SUBTEST 2 * 03526000 *------------------------------------------------------------------* 03527000 * 03528000 EC03 JSB ISCM.,I INIT DEV FOR STACK CNTRL MODE 03529000 JSB MSGH,I OUTPUT H053 03530000 DEF H053 03531000 JSB MSGC,I OUTPUT H037 03532000 DEF H037 03533000 * 03534000 LDA ECS6 03535000 JSB COCS.,I 03536000 * 03537000 LDA EDS4 03538000 JSB CODS.,I 03539000 * 03540000 LDA M5 03541000 STA CACO 03542000 NE3A JSB RA1.,I 03543000 JMP ET03 03544000 LDA ECS7 03545000 JSB COCS.,I 03546000 * 03547000 LDA EDS4 03548000 JSB CODS.,I 03549000 * 03550000 ISZ CACO WAS IT 5TH CARD? 03551000 JMP NE3A NO 03552000 JSB FI1.,I YES 03553000 JMP ET03 03554000 * 03555000 LDA ECS6 03556000 JSB COCS.,I 03557000 * 03558000 LDA EDS4 03559000 JSB CODS.,I 03560000 SKP 03561000 *------------------------------------------------------------------* 03562000 * SUBTEST 3 * 03563000 *------------------------------------------------------------------* 03564000 * 03565000 LDA ECS6 03566000 JSB COCS.,I 03567000 * 03568000 LDA EDS4 03569000 JSB CODS.,I 03570000 * 03571000 LDA M5 03572000 STA CACO 03573000 NE3B JSB RB2.,I 03574000 JMP ET03 03575000 LDA ECS8 03576000 JSB COCS.,I 03577000 * 03578000 LDA EDS4 03579000 JSB CODS.,I 03580000 * 03581000 ISZ CACO WAS IT 5TH CARD? 03582000 JMP NE3B NO 03583000 JSB FI2.,I YES 03584000 JMP ET03 03585000 * 03586000 LDA ECS9 03587000 JSB COCS.,I 03588000 * 03589000 LDA EDS4 03590000 JSB CODS.,I 03591000 * 03592000 JSB MSGH,I OUTPUT H055 03593000 DEF H055 03594000 * 03595000 LDA ECS9 03596000 JSB COCS.,I 03597000 * 03598000 LDA EDS4 03599000 JSB CODS.,I 03600000 * 03601000 JMP TST03,I 03602000 * 03603000 ET03 JSB ERMS,I OUTPUT E054 03604000 DEF E054 03605000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 03606000 JMP TST03,I 03607000 SKP 03608000 ******************************************************************** 03609000 * TEST 4 * 03610000 ******************************************************************** 03611000 * 03612000 TST04 EQU * 03613000 NOP 03614000 JSB CSM.,I CHECK STACK CNTRL MODE 03615000 CLA DETERMINE WAIT -FOR-FLAG METHOD 03616000 STA MOI FOR THIS TEST 03617000 *------------------------------------------------------------------* 03618000 * SUBTEST 1 - PUNCH * 03619000 *------------------------------------------------------------------* 03620000 LDB B6 03621000 JSB SWRT,I IS PU&PR TO BE SUPPRESSED? 03622000 JMP RS04 ON-YES,GOTO READ SECTION 03623000 * 03624000 JSB PUX.,I OFF-NO,PERFORM"PUX",ANY SER ERR? 03625000 JMP ET04 YES 03626000 * 03627000 CLA NO 03628000 STA BLI INDIC THAT CRDS ARE TO BE BLANK 03629000 LDA HPA. GET HPA POINTER 03630000 STA IP04 03631000 * 03632000 JSB RB2.,I FEED&READ ONE BL CARD,OK? 03633000 JMP ET04 NO 03634000 * 03635000 PY04 JSB PUY.,I YES,PERFORM"PUY",ANY SER ERR? 03636000 JMP ET04 YES 03637000 * 03638000 CLA NO,PREPARE PUBU FROM HPA 03639000 STA SHIFT 03640000 LDA ZERO 03641000 LDB D80 03642000 JSB AR2B.,I 03643000 IP04 NOP 03644000 DEF PUBU 03645000 DEF SHIFT 03646000 * 03647000 LDA WSIND IS LAST CRD IN WAIT STATION? 03648000 CPA D12 03649000 JMP LP04 YES 03650000 JSB QB2.,I NO;PUNCH&FEED,OK? 03651000 JMP ET04 NO 03652000 * 03653000 ISZ IP04 YES,INCREMENT HPA POINTER 03654000 JMP PY04 GOTO PROCESS NEXT CARD 03655000 * 03656000 LP04 JSB PI2.,I PUNCH&INHIF,OK? 03657000 JMP ET04 NO 03658000 FP04 EQU * 03659000 SKP 03660000 *------------------------------------------------------------------* 03661000 * SUBTEST 2 - READ * 03662000 *------------------------------------------------------------------* 03663000 RS04 LDB B5 03664000 JSB SWRT,I IS READ TO BE SUPPRESSED? 03665000 JMP TST04,I ON-YES,EXIT FROM TEST 03666000 * 03667000 JSB RDX.,I OFF-NO,PERFORM"RDX",ANY SER ERR? 03668000 JMP ET04 YES 03669000 * 03670000 CCA 03671000 STA BLI IND CRDS ARE NOT TO BE BLANK 03672000 LDA HPA. 03673000 STA IR04 GET HPA POINTER 03674000 * 03675000 RY04 CLA LOAD PUBU WITH EXP DATA 03676000 STA SHIFT 03677000 LDA ZERO 03678000 LDB D80 03679000 JSB AR2B.,I 03680000 IR04 NOP 03681000 DEF PUBU 03682000 DEF SHIFT 03683000 * 03684000 JSB RA1.,I READ ONE CARD,OK? 03685000 JMP ET04 NO 03686000 * 03687000 JSB RDY.,I YES,PERF"RDY",ANY SER ERR? 03688000 JMP ET04 YES 03689000 * 03690000 LDA WSIND NO 03691000 CPA D12 IS LAST CARD IN WAIT STATION? 03692000 JMP LR04 YES 03693000 * 03694000 ISZ IR04 NO,INCREMENT HPA POINTER 03695000 JMP RY04 GOTO PROCESS NEXT CARD 03696000 * 03697000 LR04 JSB FI1.,I REMOVE LAST CARD FROM W S,OK? 03698000 JMP ET04 NO 03699000 JMP TST04,I YES,EXIT FROM TEST 03700000 * 03701000 ET04 JSB ERMS,I OUTPUT E054 03702000 DEF E054 03703000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 03704000 JMP TST04,I ERROR EXIT FROM TEST 03705000 SKP 03706000 ******************************************************************** 03707000 * TEST 5 * 03708000 ******************************************************************** 03709000 * 03710000 TST05 EQU * 03711000 NOP 03712000 JSB CSM.,I CHECK STACK CNTRL MODE 03713000 CCA DETERMINE INTERRUPT METHOD 03714000 STA MOI FOR THIS TEST 03715000 *------------------------------------------------------------------* 03716000 * SUBTEST 1 - PUNCH AND PRINT * 03717000 *------------------------------------------------------------------* 03718000 LDB B6 03719000 JSB SWRT,I IS PU&PR TO BE SUPPRESSED? 03720000 JMP RS05 ON-YES,GOTO READ SECTION 03721000 * 03722000 JSB PUX.,I OFF-NO,PERFORM"PUX",ANY SER ERR? 03723000 JMP ET05 YES 03724000 * 03725000 CLA NO 03726000 STA BLI INDIC THAT CRDS ARE TO BE BLANK 03727000 LDA HPA. GET HPA POINTER 03728000 STA IP05 03729000 * 03730000 JSB RB2.,I FEED&READ ONE BL CARD,OK? 03731000 JMP ET05 NO 03732000 * 03733000 PY05 JSB PUY.,I YES,PERFORM"PUY",ANY SER ERR? 03734000 JMP ET05 YES 03735000 * 03736000 CLA NO,PREPARE PUBU FROM HPA 03737000 STA SHIFT 03738000 LDA ZERO 03739000 LDB D80 03740000 JSB AR2B.,I 03741000 IP05 NOP 03742000 DEF PUBU 03743000 DEF SHIFT 03744000 * 03745000 LDA WSIND IS LAST CRD IN WAIT STATION? 03746000 CPA D12 03747000 JMP LP05 YES 03748000 JSB QWB2.,I NO;PUNCH,PRINT&FEED,OK? 03749000 JMP ET05 NO 03750000 * 03751000 ISZ IP05 YES,INCREMENT HPA POINTER 03752000 JMP PY05 GOTO PROCESS NEXT CARD 03753000 * 03754000 LP05 JSB PWI2.,I PUNCH,PRINT&INHIF,OK? 03755000 JMP ET05 NO 03756000 FP05 EQU * 03757000 SKP 03758000 *------------------------------------------------------------------* 03759000 * SUBTEST 2 - READ * 03760000 *------------------------------------------------------------------* 03761000 RS05 LDB B5 03762000 JSB SWRT,I IS READ TO BE SUPPRESSED? 03763000 JMP TST05,I ON-YES,EXIT FROM TEST 03764000 * 03765000 JSB RDX.,I OFF-NO,PERFORM"RDX",ANY SER ERR? 03766000 JMP ET05 YES 03767000 * 03768000 CCA 03769000 STA BLI IND CRDS ARE NOT TO BE BLANK 03770000 LDA HPA. GET HPA POINTER 03771000 STA IR05 03772000 * 03773000 RY05 CLA LOAD PUBU WITH EXP DATA 03774000 STA SHIFT 03775000 LDA ZERO 03776000 LDB D80 03777000 JSB AR2B.,I 03778000 IR05 NOP 03779000 DEF PUBU 03780000 DEF SHIFT 03781000 * 03782000 JSB RA1.,I READ ONE CARD,OK? 03783000 JMP ET05 NO 03784000 * 03785000 JSB RDY.,I YES,PERF"RDY",ANY SER ERR? 03786000 JMP ET05 YES 03787000 * 03788000 LDA WSIND NO 03789000 CPA D12 IS LAST CARD IN WAIT STATION? 03790000 JMP LR05 YES 03791000 * 03792000 ISZ IR05 NO,INCREMENT HPA POINTER 03793000 JMP RY05 GOTO PROCESS NEXT CARD 03794000 * 03795000 LR05 JSB FI1.,I REMOVE LAST CARD FROM W S,OK? 03796000 JMP ET05 NO 03797000 JMP TST05,I YES,EXIT FROM TEST 03798000 * 03799000 ET05 JSB ERMS,I OUTPUT E054 03800000 DEF E054 03801000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 03802000 JMP TST05,I ERROR EXIT FROM TEST 03803000 SKP 03804000 ******************************************************************** 03805000 * TEST 6 * 03806000 ******************************************************************** 03807000 * 03808000 TST06 EQU * 03809000 NOP 03810000 JSB CSM.,I CHECK STACK CNTRL MODE 03811000 CLA DETERMINE WAIT -FOR-FLAG METHOD 03812000 STA MOI FOR THIS TEST 03813000 *------------------------------------------------------------------* 03814000 * SUBTEST 1 - PUNCH AND PRINT * 03815000 *------------------------------------------------------------------* 03816000 LDB B6 03817000 JSB SWRT,I IS PU&PR TO BE SUPPRESSED? 03818000 JMP RS06 ON-YES,GOTO READ SECTION 03819000 * 03820000 JSB PUX.,I OFF-NO,PERFORM"PUX",ANY SER ERR? 03821000 JMP ET06 YES 03822000 * 03823000 CLA NO 03824000 STA ROTA SET ROTATION FACTOR TO 0 03825000 STA BLI INDIC THAT CRDS ARE TO BE BLANK 03826000 * 03827000 JSB RB2.,I FEED&READ ONE BL CARD,OK? 03828000 JMP ET06 NO 03829000 * 03830000 PY06 JSB PUY.,I YES,PERFORM"PUY",ANY SER ERR? 03831000 JMP ET06 YES 03832000 * 03833000 LDA ROTA NO,PREPARE PUBU FROM HPA 03834000 STA SHIFT 03835000 LDA AL63 03836000 LDB D80 03837000 JSB AR2B.,I 03838000 DEF HPA 03839000 DEF PUBU 03840000 DEF SHIFT 03841000 * 03842000 LDA WSIND IS LAST CRD IN WAIT STATION? 03843000 CPA D12 03844000 JMP LP06 YES 03845000 JSB QWB2.,I NO;PUNCH,PRINT&FEED,OK? 03846000 JMP ET06 NO 03847000 * 03848000 LDA ROTA YES 03849000 CPA D3 IS ROT FACTOR=3? 03850000 JMP *+3 YES 03851000 ISZ ROTA NO,INCREMENT ROT FACTOR 03852000 JMP PY06 GOTO PROCESS NEXT CARD 03853000 CLA RESET ROT FACTOR TO 0 03854000 STA ROTA 03855000 JMP PY06 GOTO PROCESS NEXT CARD 03856000 * 03857000 LP06 JSB PWI2.,I PUNCH,PRINT&INHIF,OK? 03858000 JMP ET06 NO 03859000 FP06 EQU * 03860000 SKP 03861000 *------------------------------------------------------------------* 03862000 * SUBTEST 2 - READ * 03863000 *------------------------------------------------------------------* 03864000 RS06 LDB B5 03865000 JSB SWRT,I IS READ TO BE SUPPRESSED? 03866000 JMP TST06,I ON-YES,EXIT FROM TEST 03867000 * 03868000 JSB RDX.,I OFF-NO,PERFORM"RDX",ANY SER ERR? 03869000 JMP ET06 YES 03870000 * 03871000 CLA NO 03872000 STA ROTA SET ROTATION FACTOR TO 0 03873000 CCA 03874000 STA BLI IND CRDS ARE NOT TO BE BLANK 03875000 * 03876000 RY06 LDA ROTA LOAD PUBU WITH EXP DATA 03877000 STA SHIFT 03878000 LDA AL63 03879000 LDB D80 03880000 JSB AR2B.,I 03881000 DEF HPA 03882000 DEF PUBU 03883000 DEF SHIFT 03884000 * 03885000 JSB RA1.,I READ ONE CARD,OK? 03886000 JMP ET06 NO 03887000 * 03888000 JSB RDY.,I YES,PERF"RDY",ANY SER ERR? 03889000 JMP ET06 YES 03890000 * 03891000 LDA WSIND NO 03892000 CPA D12 IS LAST CARD IN WAIT STATION? 03893000 JMP LR06 YES 03894000 * 03895000 LDA ROTA NO 03896000 CPA D3 IS ROT FACTOR=3? 03897000 JMP *+3 YES 03898000 ISZ ROTA NO,INCREMENT ROT FACTOR 03899000 JMP RY06 GOTO PROCESS NEXT CARD 03900000 CLA RESET ROT FACTOR TO 0 03901000 STA ROTA 03902000 JMP RY06 03903000 * 03904000 LR06 JSB FI1.,I REMOVE LAST CARD FROM W S,OK? 03905000 JMP ET06 NO 03906000 JMP TST06,I YES,EXIT FROM TEST 03907000 * 03908000 ET06 JSB ERMS,I OUTPUT E054 03909000 DEF E054 03910000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 03911000 JMP TST06,I ERROR EXIT FROM TEST 03912000 SKP 03913000 ******************************************************************** 03914000 * TEST 7 * 03915000 ******************************************************************** 03916000 * 03917000 TST07 EQU * 03918000 NOP 03919000 JSB CSM.,I CHECK STACK CNTRL MODE 03920000 CCA DETERMINE INTERRUPT METHOD 03921000 STA MOI FOR THIS TEST 03922000 *------------------------------------------------------------------* 03923000 * SUBTEST 1 - PRINT * 03924000 *------------------------------------------------------------------* 03925000 LDB B6 03926000 JSB SWRT,I IS PU&PR TO BE SUPPRESSED? 03927000 JMP RS07 ON-YES,GOTO READ SECTION 03928000 * 03929000 JSB PUX.,I OFF-NO,PERFORM"PUX",ANY SER ERR? 03930000 JMP ET07 YES 03931000 * 03932000 CLA NO 03933000 STA ROTA SET ROTATION FACTOR TO 0 03934000 STA BLI INDIC THAT CRDS ARE TO BE BLANK 03935000 * 03936000 JSB RB2.,I FEED&READ ONE BL CARD,OK? 03937000 JMP ET07 NO 03938000 * 03939000 PY07 JSB PUY.,I YES,PERFORM"PUY",ANY SER ERR? 03940000 JMP ET07 YES 03941000 * 03942000 LDA ROTA NO,PREPARE PUBU FROM HPA 03943000 STA SHIFT 03944000 LDA AL63 03945000 LDB D80 03946000 JSB AR2B.,I 03947000 DEF HPA 03948000 DEF PUBU 03949000 DEF SHIFT 03950000 * 03951000 LDA WSIND IS LAST CRD IN WAIT STATION? 03952000 CPA D12 03953000 JMP LP07 YES 03954000 JSB RWB2.,I NO;PRINT&FEED,OK? 03955000 JMP ET07 NO 03956000 * 03957000 LDA ROTA YES 03958000 CPA D3 IS ROT FACTOR=3? 03959000 JMP *+3 YES 03960000 ISZ ROTA NO,INCREMENT ROT FACTOR 03961000 JMP PY07 GOTO PROCESS NEXT CARD 03962000 CLA RESET ROT FACTOR TO 0 03963000 STA ROTA 03964000 JMP PY07 GOTO PROCESS NEXT CARD 03965000 * 03966000 LP07 JSB WI2.,I PRINT&INHIF,OK? 03967000 JMP ET07 NO 03968000 FP07 EQU * 03969000 SKP 03970000 *------------------------------------------------------------------* 03971000 * SUBTEST 2 - READ * 03972000 *------------------------------------------------------------------* 03973000 RS07 LDB B5 03974000 JSB SWRT,I IS READ TO BE SUPPRESSED? 03975000 JMP TST07,I ON-YES,EXIT FROM TEST 03976000 * 03977000 JSB RDX.,I OFF-NO,PERFORM"RDX",ANY SER ERR? 03978000 JMP ET07 YES 03979000 * 03980000 CLA NO 03981000 STA ROTA SET ROTATION FACTOR TO 0 03982000 CCA 03983000 STA BLI CRDS ARE TO BE BLANK BUT 03984000 * DONT GIVE ERR MSG ABOUT IT 03985000 RY07 LDA ROTA LOAD PUBU WITH EXP DATA 03986000 STA SHIFT 03987000 LDA ZERO 03988000 LDB D80 03989000 JSB AR2B.,I 03990000 DEF ZERO 03991000 DEF PUBU 03992000 DEF SHIFT 03993000 * 03994000 JSB RA1.,I READ ONE CARD,OK? 03995000 JMP ET07 NO 03996000 * 03997000 JSB RDY.,I YES,PERF"RDY",ANY SER ERR? 03998000 JMP ET07 YES 03999000 * 04000000 LDA WSIND NO 04001000 CPA D12 IS LAST CARD IN WAIT STATION? 04002000 JMP LR07 YES 04003000 * 04004000 JMP RY07 NO,GOTO PROCESS NEXT CARD 04005000 * 04006000 LR07 JSB FI1.,I REMOVE LAST CARD FROM W S,OK? 04007000 JMP ET07 NO 04008000 JMP TST07,I YES,EXIT FROM TEST 04009000 * 04010000 ET07 JSB ERMS,I OUTPUT E054 04011000 DEF E054 04012000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 04013000 JMP TST07,I ERROR EXIT FROM TEST 04014000 SKP 04015000 ******************************************************************** 04016000 * TEST 8 * 04017000 ******************************************************************** 04018000 * 04019000 TST08 EQU * 04020000 NOP 04021000 JSB CSM.,I CHECK STACK CNTRL MODE 04022000 CLA DETERMINE WAIT -FOR-FLAG METHOD 04023000 STA MOI FOR THIS TEST 04024000 *------------------------------------------------------------------* 04025000 * SUBTEST 1 - PUNCH AND PRINT SEPARATE DATA * 04026000 *------------------------------------------------------------------* 04027000 LDB B6 04028000 JSB SWRT,I IS PU&PR TO BE SUPPRESSED? 04029000 JMP RS08 ON-YES,GOTO READ SECTION 04030000 * 04031000 JSB PUX.,I OFF-NO,PERFORM"PUX",ANY SER ERR? 04032000 JMP ET08 YES 04033000 * 04034000 CLA NO 04035000 STA ROTA SET ROTATION FACTOR TO 0 04036000 STA BLI INDIC THAT CRDS ARE TO BE BLANK 04037000 * 04038000 JSB RB2.,I FEED&READ ONE BL CARD,OK? 04039000 JMP ET08 NO 04040000 * 04041000 PY08 JSB PUY.,I YES,PERFORM"PUY",ANY SER ERR? 04042000 JMP ET08 YES 04043000 * 04044000 CLA NO,PREPARE PUBU FROM FULL 04045000 STA SHIFT 04046000 LDA ZERO 04047000 LDB D80 04048000 JSB AR2B.,I 04049000 DEF FULL 04050000 DEF PUBU 04051000 DEF SHIFT 04052000 * 04053000 LDA ROTA 04054000 STA SHIFT 04055000 LDA AL63 PREPARE PRBU FROM HPA 04056000 LDB D80 04057000 JSB AR2B.,I 04058000 DEF HPA 04059000 DEF PRBU 04060000 DEF SHIFT 04061000 * 04062000 LDA WSIND IS LAST CRD IN WAIT STATION? 04063000 CPA D12 04064000 JMP LP08 YES 04065000 JSB QSB2.,I NO;PUNCH,PRINT SEP&FEED,OK? 04066000 JMP ET08 NO 04067000 * 04068000 LDA ROTA YES 04069000 CPA D3 IS ROT FACTOR=3? 04070000 JMP *+3 YES 04071000 ISZ ROTA NO,INCREMENT ROT FACTOR 04072000 JMP PY08 GOTO PROCESS NEXT CARD 04073000 CLA RESET ROT FACTOR TO 0 04074000 STA ROTA 04075000 JMP PY08 GOTO PROCESS NEXT CARD 04076000 * 04077000 LP08 JSB PSI2.,I PUNCH,PRINT SEP&INHIF,OK? 04078000 JMP ET08 NO 04079000 FP08 EQU * 04080000 * 04081000 *------------------------------------------------------------------* 04082000 * SUBTEST 2 - READ * 04083000 *------------------------------------------------------------------* 04084000 RS08 LDB B5 04085000 JSB SWRT,I IS READ TO BE SUPPRESSED? 04086000 JMP TST08,I ON-YES,EXIT FROM TEST 04087000 * 04088000 JSB RDX.,I OFF-NO,PERFORM"RDX",ANY SER ERR? 04089000 JMP ET08 YES 04090000 * 04091000 CCA 04092000 STA BLI IND CRDS ARE NOT TO BE BLANK 04093000 * 04094000 RY08 CLA LOAD PUBU WITH EXP DATA 04095000 STA SHIFT 04096000 LDA ZERO 04097000 LDB D80 04098000 JSB AR2B.,I 04099000 DEF FULL 04100000 DEF PUBU 04101000 DEF SHIFT 04102000 * 04103000 JSB RA1.,I READ ONE CARD,OK? 04104000 JMP ET08 NO 04105000 * 04106000 JSB RDY.,I YES,PERF"RDY",ANY SER ERR? 04107000 JMP ET08 YES 04108000 * 04109000 LDA WSIND NO 04110000 CPA D12 IS LAST CARD IN WAIT STATION? 04111000 JMP LR08 YES 04112000 * 04113000 JMP RY08 NO,GOTO PROCESS NEXT CARD 04114000 * 04115000 LR08 JSB FI1.,I REMOVE LAST CARD FROM W S,OK? 04116000 JMP ET08 NO 04117000 JMP TST08,I YES,EXIT FROM TEST 04118000 * 04119000 ET08 JSB ERMS,I OUTPUT E054 04120000 DEF E054 04121000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 04122000 JMP TST08,I ERROR EXIT FROM TEST 04123000 SKP 04124000 ******************************************************************** 04125000 * TEST 9 * 04126000 ******************************************************************** 04127000 * 04128000 TST09 EQU * 04129000 NOP 04130000 JSB CSM.,I CHECK STACK CNTRL MODE 04131000 CCA DETERMINE INTERRUPT METHOD 04132000 STA MOI FOR THIS TEST 04133000 *------------------------------------------------------------------* 04134000 * SUBTEST 1 - PUNCH AND ATTEMPT TO PRINT * 04135000 *------------------------------------------------------------------* 04136000 LDB B6 04137000 JSB SWRT,I IS PU&PR TO BE SUPPRESSED? 04138000 JMP RS09 ON-YES,GOTO READ SECTION 04139000 * 04140000 JSB PUX.,I OFF-NO,PERFORM"PUX",ANY SER ERR? 04141000 JMP ET09 YES 04142000 * 04143000 CLA NO 04144000 STA BLI INDIC THAT CRDS ARE TO BE BLANK 04145000 LDA ALMF. GET ALMF POINTER 04146000 STA IP09 04147000 * 04148000 JSB RB2.,I FEED&READ ONE BL CARD,OK? 04149000 JMP ET09 NO 04150000 * 04151000 PY09 JSB PUY.,I YES,PERFORM"PUY",ANY SER ERR? 04152000 JMP ET09 YES 04153000 * 04154000 CLA NO,PREPARE PUBU FROM ALMF 04155000 STA SHIFT 04156000 LDA ZERO 04157000 LDB D80 04158000 JSB AR2B.,I 04159000 IP09 NOP 04160000 DEF PUBU 04161000 DEF SHIFT 04162000 * 04163000 LDA WSIND IS LAST CRD IN WAIT STATION? 04164000 CPA D12 04165000 JMP LP09 YES 04166000 JSB QWB2.,I NO;PUNCH,PRINT&FEED,OK? 04167000 JMP ET09 NO 04168000 * 04169000 ISZ IP09 YES,INCREMENT ALMF POINTER 04170000 JMP PY09 GOTO PROCESS NEXT CARD 04171000 * 04172000 LP09 JSB PWI2.,I PUNCH,PRINT&INHIF,OK? 04173000 JMP ET09 NO 04174000 FP09 EQU * 04175000 SKP 04176000 *------------------------------------------------------------------* 04177000 * SUBTEST 2 - READ * 04178000 *------------------------------------------------------------------* 04179000 RS09 LDB B5 04180000 JSB SWRT,I IS READ TO BE SUPPRESSED? 04181000 JMP TST09,I ON-YES,EXIT FROM TEST 04182000 * 04183000 JSB RDX.,I OFF-NO,PERFORM"RDX",ANY SER ERR? 04184000 JMP ET09 YES 04185000 * 04186000 CCA 04187000 STA BLI IND CRDS ARE NOT TO BE BLANK 04188000 LDA ALMF. GET ALMF POINTER 04189000 STA IR09 04190000 * 04191000 RY09 CLA LOAD PUBU WITH EXP DATA 04192000 STA SHIFT 04193000 LDA ZERO 04194000 LDB D80 04195000 JSB AR2B.,I 04196000 IR09 NOP 04197000 DEF PUBU 04198000 DEF SHIFT 04199000 * 04200000 JSB RA1.,I READ ONE CARD,OK? 04201000 JMP ET09 NO 04202000 * 04203000 JSB RDY.,I YES,PERF"RDY",ANY SER ERR? 04204000 JMP ET09 YES 04205000 * 04206000 LDA WSIND NO 04207000 CPA D12 IS LAST CARD IN WAIT STATION? 04208000 JMP LR09 YES 04209000 * 04210000 ISZ IR09 NO,INCREMENT ALMF POINTER 04211000 JMP RY09 GOTO PROCESS NEXT CARD 04212000 * 04213000 LR09 JSB FI1.,I REMOVE LAST CARD FROM W S,OK? 04214000 JMP ET09 NO 04215000 JMP TST09,I YES,EXIT FROM TEST 04216000 * 04217000 ET09 JSB ERMS,I OUTPUT E054 04218000 DEF E054 04219000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 04220000 JMP TST09,I ERROR EXIT FROM TEST 04221000 SKP 04222000 ******************************************************************** 04223000 * TEST 10 * 04224000 ******************************************************************** 04225000 * 04226000 TST10 EQU * 04227000 NOP 04228000 JSB CSM.,I CHECK STACK CNTRL MODE 04229000 CLA DETERMINE WAIT -FOR-FLAG METHOD 04230000 STA MOI FOR THIS TEST 04231000 *------------------------------------------------------------------* 04232000 * SUBTEST 1 - PUNCH AND ATTEMPT TO PRINT SEPARATE DATA * 04233000 *------------------------------------------------------------------* 04234000 LDB B6 04235000 JSB SWRT,I IS PU&PR TO BE SUPPRESSED? 04236000 JMP RS10 ON-YES,GOTO READ SECTION 04237000 * 04238000 JSB PUX.,I OFF-NO,PERFORM"PUX",ANY SER ERR? 04239000 JMP ET10 YES 04240000 * 04241000 CLA NO 04242000 STA ROTA SET ROTATION FACTOR TO 0 04243000 STA BLI INDIC THAT CRDS ARE TO BE BLANK 04244000 * 04245000 JSB RB2.,I FEED&READ ONE BL CARD,OK? 04246000 JMP ET10 NO 04247000 * 04248000 PY10 JSB PUY.,I YES,PERFORM"PUY",ANY SER ERR? 04249000 JMP ET10 YES 04250000 * 04251000 LDA ROTA NO,PREPARE PUBU FROM WCPA 04252000 STA SHIFT 04253000 LDA AL39 04254000 LDB D80 04255000 JSB AR2B.,I 04256000 DEF WCPA 04257000 DEF PUBU 04258000 DEF SHIFT 04259000 * 04260000 LDA D19 PREPARE PRBU FROM SCHB 04261000 LDB D80 04262000 JSB AR2B.,I 04263000 DEF SCHB 04264000 DEF PRBU 04265000 DEF SHIFT 04266000 * 04267000 LDA WSIND IS LAST CRD IN WAIT STATION? 04268000 CPA D12 04269000 JMP LP10 YES 04270000 JSB QSB2.,I NO;PUNCH,ATMPT PR SEP&FEED,OK? 04271000 JMP ET10 NO 04272000 * 04273000 JMP PY10 YES,GOTO PROCESS NEXT CARD 04274000 * 04275000 LP10 JSB PSI2.,I PUNCH,ATMPT PR SEP&INHIF,OK? 04276000 JMP ET10 NO 04277000 FP10 EQU * 04278000 SKP 04279000 *------------------------------------------------------------------* 04280000 * SUBTEST 2 - READ * 04281000 *------------------------------------------------------------------* 04282000 RS10 LDB B5 04283000 JSB SWRT,I IS READ TO BE SUPPRESSED? 04284000 JMP TST10,I ON-YES,EXIT FROM TEST 04285000 * 04286000 JSB RDX.,I OFF-NO,PERFORM"RDX",ANY SER ERR? 04287000 JMP ET10 YES 04288000 * 04289000 CLA NO 04290000 STA ROTA SET ROTATION FACTOR TO 0 04291000 CCA 04292000 STA BLI IND CRDS ARE NOT TO BE BLANK 04293000 * 04294000 RY10 LDA ROTA LOAD PUBU WITH EXP DATA 04295000 STA SHIFT 04296000 LDA AL39 04297000 LDB D80 04298000 JSB AR2B.,I 04299000 DEF WCPA 04300000 DEF PUBU 04301000 DEF SHIFT 04302000 * 04303000 JSB RA1.,I READ ONE CARD,OK? 04304000 JMP ET10 NO 04305000 * 04306000 JSB RDY.,I YES,PERF"RDY",ANY SER ERR? 04307000 JMP ET10 YES 04308000 * 04309000 LDA WSIND NO 04310000 CPA D12 IS LAST CARD IN WAIT STATION? 04311000 JMP LR10 YES 04312000 * 04313000 JMP RY10 NO,GOTO PROCESS NEXT CARD 04314000 * 04315000 LR10 JSB FI1.,I REMOVE LAST CARD FROM W S,OK? 04316000 JMP ET10 NO 04317000 JMP TST10,I YES,EXIT FROM TEST 04318000 * 04319000 ET10 JSB ERMS,I OUTPUT E054 04320000 DEF E054 04321000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 04322000 JMP TST10,I ERROR EXIT FROM TEST 04323000 SKP 04324000 ORG 12000B 04325000 ******************************************************************** 04326000 * TEST 11 * 04327000 ******************************************************************** 04328000 * 04329000 TST11 EQU * 04330000 NOP 04331000 JSB CSM.,I CHECK STACK CNTRL MODE 04332000 CCA DETERMINE INTERRUPT METHOD 04333000 STA MOI FOR THIS TEST 04334000 *------------------------------------------------------------------* 04335000 * SUBTEST 1 - PUNCH AND ATTEMPT TO PRINT * 04336000 *------------------------------------------------------------------* 04337000 LDB B6 04338000 JSB SWRT,I IS PU&PR TO BE SUPPRESSED? 04339000 JMP RS11 ON-YES,GOTO READ SECTION 04340000 * 04341000 JSB PUX.,I OFF-NO,PERFORM"PUX",ANY SER ERR? 04342000 JMP ET11 YES 04343000 * 04344000 CLA NO 04345000 STA ROTA SET ROTATION FACTOR TO 0 04346000 STA BLI INDIC THAT CRDS ARE TO BE BLANK 04347000 * 04348000 JSB RB2.,I FEED&READ ONE BL CARD,OK? 04349000 JMP ET11 NO 04350000 * 04351000 PY11 JSB PUY.,I YES,PERFORM"PUY",ANY SER ERR? 04352000 JMP ET11 YES 04353000 * 04354000 LDA ROTA NO,PREPARE PUBU FROM SCHB 04355000 STA SHIFT 04356000 LDA D19 04357000 LDB D80 04358000 JSB AR2B.,I 04359000 DEF SCHB 04360000 DEF PUBU 04361000 DEF SHIFT 04362000 * 04363000 LDA WSIND IS LAST CRD IN WAIT STATION? 04364000 CPA D12 04365000 JMP LP11 YES 04366000 JSB QWB2.,I NO;PUNCH ATMPT PR&FEED,OK? 04367000 JMP ET11 NO 04368000 * 04369000 JMP PY11 YES,GOTO PROCESS NEXT CARD 04370000 * 04371000 LP11 JSB PWI2.,I PUNCH ATMPT PR&INHIF,OK? 04372000 JMP ET11 NO 04373000 FP11 EQU * 04374000 SKP 04375000 *------------------------------------------------------------------* 04376000 * SUBTEST 2 - READ * 04377000 *------------------------------------------------------------------* 04378000 RS11 LDB B5 04379000 JSB SWRT,I IS READ TO BE SUPPRESSED? 04380000 JMP TST11,I ON-YES,EXIT FROM TEST 04381000 * 04382000 JSB RDX.,I OFF-NO,PERFORM"RDX",ANY SER ERR? 04383000 JMP ET11 YES 04384000 * 04385000 CLA NO 04386000 STA ROTA SET ROTATION FACTOR TO 0 04387000 CCA 04388000 STA BLI IND CRDS ARE NOT TO BE BLANK 04389000 * 04390000 RY11 LDA ROTA LOAD PUBU WITH EXP DATA 04391000 STA SHIFT 04392000 LDA D19 04393000 LDB D80 04394000 JSB AR2B.,I 04395000 DEF SCHB 04396000 DEF PUBU 04397000 DEF SHIFT 04398000 * 04399000 JSB RA1.,I READ ONE CARD,OK? 04400000 JMP ET11 NO 04401000 * 04402000 JSB RDY.,I YES,PERF"RDY",ANY SER ERR? 04403000 JMP ET11 YES 04404000 * 04405000 LDA WSIND NO 04406000 CPA D12 IS LAST CARD IN WAIT STATION? 04407000 JMP LR11 YES 04408000 * 04409000 JMP RY11 NO,GOTO PROCESS NEXT CARD 04410000 * 04411000 LR11 JSB FI1.,I REMOVE LAST CARD FROM W S,OK? 04412000 JMP ET11 NO 04413000 JMP TST11,I YES,EXIT FROM TEST 04414000 * 04415000 ET11 JSB ERMS,I OUTPUT E054 04416000 DEF E054 04417000 JSB STRE.,I CHECK IF STATUS REPORT REQUIRED 04418000 JMP TST11,I ERROR EXIT FROM TEST 04419000 SKP 04420000 ******************************************************************** 04421000 * TEST 12 - OPERATOR DESIGN * 04422000 ******************************************************************** 04423000 * 04424000 TST12 EQU * 04425000 NOP 04426000 JSB CSM.,I CHECK STACK CNTRL MODE 04427000 CCA DETERMINE INTERRUPT METHOD 04428000 STA MOI FOR OPERATOR DESIGN 04429000 * 04430000 CLA PREPARE PUBU FROM FULL(BUF X) 04431000 STA SHIFT 04432000 LDA ZERO 04433000 LDB D80 04434000 JSB AR2B.,I 04435000 DEF FULL 04436000 DEF PUBU 04437000 DEF SHIFT 04438000 * 04439000 CLA PREPARE PRBU FROM HPA(BUF Y) 04440000 STA SHIFT 04441000 LDA AL63 04442000 LDB D80 04443000 JSB AR2B.,I 04444000 DEF HPA 04445000 DEF PRBU 04446000 DEF SHIFT 04447000 * 04448000 JSB MSGC,I OUTPUT H115 04449000 DEF H115 04450000 WFCM JSB MSGH,I OUTPUT H116 AND WAIT FOR CMND 04451000 DEF H116 04452000 CLA 04453000 STA WSIND SET WSIND TO 0 04454000 LIA SW OFF-NO 04455000 AND CMSK 04456000 CPA CM0 READ IN X? 04457000 JMP CMRA YES 04458000 CPA CM1 NO;READ IN Y? 04459000 JMP CMRB YES 04460000 CPA CM2 NO;DISPLAY X? 04461000 JMP CMDA YES 04462000 CPA CM3 NO;DISPLAY Y? 04463000 JMP CMDB YES 04464000 CPA CM4 NO;PUNCH FROM X? 04465000 JMP CMPU YES 04466000 CPA CM5 NO;PRINT FROM X? 04467000 JMP CMPR YES 04468000 CPA CM6 NO;PUNCH&PRIN FROM X? 04469000 JMP CMPP YES 04470000 CPA CM7 NO;PUNCH&PRINT SEP FROM X&Y? 04471000 JMP CMPPS YES 04472000 CPA CM10 NO;STATUS REPORT? 04473000 JMP CSRE YES 04474000 CPA CM11 NO;EXIT? 04475000 JMP CEX YES 04476000 JSB MSGC,I NO,INPUT ERR,OUTPUT H121 04477000 DEF H121 04478000 JMP WFCM GOTO WAIT FOR CORRECT ORDER 04479000 * 04480000 CMRA JSB MSGC,I OUTPUT C0 04481000 DEF C0 04482000 C0R ISZ WSIND 04483000 NOP 04484000 JSB RA1.,I READ ONE CARD,OK? 04485000 JMP ERCE NO,GOTO REPORT ERR IF FEED NOTOK 04486000 CLA YES,TRANSFER(RDBU)TO PUBU=BUF A 04487000 STA SHIFT 04488000 LDA D79 04489000 LDB D80 04490000 JSB AR2B.,I 04491000 DEF RDBU 04492000 DEF PUBU 04493000 DEF SHIFT 04494000 JSB FI1.,I REMOVE CARD FROM W S,OK? 04495000 JMP ERCE NO,GOTO REP ERR IF FD NOT OK 04496000 LDB B4 IS REPETITION REQUIRED? 04497000 JSB SWRT,I 04498000 JMP C0R ON-YES,EXEC ORDER AGAIN 04499000 JMP WFCM OFF-NO,GOTO WAIT FOR NEW ORDER 04500000 * 04501000 CMRB JSB MSGC,I OUTPUT C1 04502000 DEF C1 04503000 C1R ISZ WSIND 04504000 NOP 04505000 JSB RA1.,I READ ONE CARD,OK? 04506000 JMP ERCE NO,GOTO REPORT ERR IF FD NOT OK 04507000 CLA YES,TRANSFER(RDBU)TO PRBU=BUF B 04508000 STA SHIFT 04509000 LDA D79 04510000 LDB D80 04511000 JSB AR2B.,I 04512000 DEF RDBU 04513000 DEF PRBU 04514000 DEF SHIFT 04515000 JSB FI1.,I REMOVE CARD FROM W S,OK? 04516000 JMP ERCE NO,GOTO REP ERR IF FD NOT OK 04517000 LDB B4 IS REPETITION REQUIRED? 04518000 JSB SWRT,I 04519000 JMP C1R ON-YES,EXEC ORDER AGAIN 04520000 JMP WFCM OFF-NO,GOTO WAIT FOR NEW ORDER 04521000 * 04522000 CMDA JSB MSGC,I OUTPUT C2 04523000 DEF C2 04524000 C2R JSB MSGC,I OUTPUT H117 04525000 DEF H117 04526000 LDA PUBUA LOAD PUBU=BUF A POINTER 04527000 JSB OCO.,I 04528000 LDB B4 IS REPETITION REQUIRED? 04529000 JSB SWRT,I 04530000 JMP C2R ON-YES,EXEC ORDER AGAIN 04531000 JMP WFCM OFF-NO,GOTO WAIT FOR NEW ORDER 04532000 * 04533000 CMDB JSB MSGC,I OUTPUT C3 04534000 DEF C3 04535000 C3R JSB MSGC,I OUTPUT H120 04536000 DEF H120 04537000 LDA PRBUA LOAD PRBU=BUF B POINTER 04538000 JSB OCO.,I 04539000 LDB B4 IS REPETITION REQUIRED? 04540000 JSB SWRT,I 04541000 JMP C3R ON-YES,EXEC ORDER AGAIN 04542000 JMP WFCM OFF-NO,GOTO WAIT FOR NEW ORDER 04543000 * 04544000 CMPU JSB MSGC,I OUTPUT C4 04545000 DEF C4 04546000 C4R ISZ WSIND 04547000 NOP 04548000 JSB RB2.,I FEED 1 CARD IN W S,OK? 04549000 JMP ERCE NO,GOTO REP ERR IF FD NOT OK 04550000 JSB PI2.,I YES,PUNCH CRD FROM A,OK? 04551000 JMP ERCE NO,GOTO REP ERR IF FD NOT OK 04552000 LDB B4 IS REPETITION REQUIRED? 04553000 JSB SWRT,I 04554000 JMP C4R ON-YES,EXEC ORDER AGAIN 04555000 JMP WFCM OFF-NO,GOTO WAIT FOR NEW ORDER 04556000 * 04557000 CMPR JSB MSGC,I OUTPUT C5 04558000 DEF C5 04559000 C5R ISZ WSIND 04560000 NOP 04561000 JSB RB2.,I FEED 1 CARD IN W S,OK? 04562000 JMP ERCE NO,GOTO REP ERR IF FD NOT OK 04563000 JSB WI2.,I YES,PRINT CARD FROM A,OK? 04564000 JMP ERCE NO,GOTO REP ERR IF FD NOT OK 04565000 LDB B4 IS REPETITION REQUIRED? 04566000 JSB SWRT,I 04567000 JMP C5R ON-YES,EXEC ORDER AGAIN 04568000 JMP WFCM OFF-NO,GOTO WAIT FOR NEW ORDER 04569000 * 04570000 CMPP JSB MSGC,I OUTPUT C6 04571000 DEF C6 04572000 C6R ISZ WSIND 04573000 NOP 04574000 JSB RB2.,I FEED 1 CARD IN W S,OK? 04575000 JMP ERCE NO,GOTO REP ERR IF FD NOT OK 04576000 JSB PWI2.,I YES,PUNCH&PRINT CARD FROM A 04577000 JMP ERCE NO,GOTO REP ERR IF FD NT OK 04578000 LDB B4 IS REPETITION REQUIRED? 04579000 JSB SWRT,I 04580000 JMP C6R ON-YES,EXEC ORDER AGAIN 04581000 JMP WFCM OFF-NO,GOTO WAIT FOR NEW ORDER 04582000 * 04583000 CMPPS JSB MSGC,I OUTPUT C7 04584000 DEF C7 04585000 C7R ISZ WSIND 04586000 NOP 04587000 JSB RB2.,I FEED 1 CARD IN W S,OK? 04588000 JMP ERCE NO,GOTO REP ERR IF FD NOT OK 04589000 JSB PSI2.,I YES,PUNCH&PRINT CARD SEP FR A&B 04590000 JMP ERCE NO,GOTO REP ERR IF FD NOT OK 04591000 LDB B4 IS REPETITION REQUIRED? 04592000 JSB SWRT,I 04593000 JMP C7R ON-YES,EXEC ORDER AGAIN 04594000 JMP WFCM OFF-NO,GOTO WAIT FOR NEW ORDER 04595000 * 04596000 CSRE JSB MSGC,I OUTPUT C10 04597000 DEF C10 04598000 C10R JSB STA.,I REPORT STATUS 04599000 LDB B4 IS REPETITION REQUIRED? 04600000 JSB SWRT,I 04601000 JMP C10R ON-YES,EXEC ORDER AGAIN 04602000 JMP WFCM OFF-NO,GOTO WAIT FOR NEW ORDER 04603000 * 04604000 CEX JSB MSGC,I OUTPUT C11 04605000 DEF C11 04606000 JMP TST12,I 04607000 * 04608000 ERCE JSB ERMS,I OUTPUT E122 04609000 DEF E122 04610000 JMP WFCM 04611000 * 04612000 * 04613000 * 04614000 FWAA EQU * 04615000 END 04616000