JMP ZBIO6 ZBI5A JSB ZTCJI SET SECOND INT TRAP DEF ZBT5 STF INTP TURN I/O SYSTEM ON JMP ZBI5,I CONTINUE TEST * * ZBT5 NOP CLF INTP TURN I/O SYSTEM OFF E013 JSB ERMS,I E013 SECOND INT OCURRED DEF ZBE13 * * * * * SKP * CLC SC AND CLC 0 * ZBIO6 JSB ZTCJI SET JSB INSTRUCTION DEF ZBI61 ZBS61 STC SC SET SC CONTROL ZBS62 STF SC SET SC FLAG STF INTP TURN ON INTERRUPTS ZBS63 CLC SC CLEAR SC CONTROL NOP GIVE IT A CHANCE NOP CLF INTP TURN INTS OFF ZB60 JSB ZTCJI SET JSB INSTRUCTION DEF ZBI62 ZBS64 CLF SC CLEAR SC FLAG ZBS65 STC SC SET SC CONTROL ZBS66 STF SC SET SC FLAG STF INTP TURN ON INTS CLC INTP CLEAR I/O SYSTEM NOP GIVE IT A CHANCE NOP CLF INTP TURN OFF INTS JMP ZBIO7 * * ZBI61 NOP CLF INTP TURN OFF INTS E016 JSB ERMS,I E016 CLC SC ERROR DEF ZBE16 JMP ZB60 * ZBI62 NOP CLF INTP TURN OFF INTS E017 JSB ERMS,I E017 CLC 0 ERROR DEF ZBE17 JMP ZBIO7 * ZBE16 ASC 6,E016 CLC SC/ ZBE17 ASC 6,E017 CLC 0/ * * * * * SKP * EXTERNAL & INTERNAL PRESET TEST * ZBIO7 LDB ZS812 CHECK TO SUPPRESS JSB SWRT,I ? JMP H025 YES - SKIP PRESET TEST H024 JSB MSGC,I TELL OPERATOR DEF ZBM24 PRESS PRESET * ZBS71 CLF SC CLEAR SC FLAG STF INTP TURN ON INTS JSB ZTCJI SET TRAP CELL JSB INSTRUCTION DEF ZBI70 HLT 24B WAIT FOR OPERATOR CLA,INA SET UP FLAGS FOR TESTS SFS INTP CHECK INTP FLAG CLA NOT SET SO CLEAR FLAG RAL MOVE TO NEXT FLAG CLF INTP TURN OFF ONTPS ZBS72 SFS SC CHECK CHANNEL FLAG INA NOT SET SO FLAG IT RAL MOVE TO NEXT FLAG LIB 0 CHECK I/O BUSS SZB SHOULD BE ZERO INA NOT SO FLAG IT RAL MOVE TO NEXT FLAG STF INTP CHECK CONTROL ON CARD NOP GIVE IT A CHANCE NOP CLF INTP TURN OFF INTPS * * * * * * * * * * * * * * * * * * * * * * * SKP ZB70 SLA,RSS CHECK FOR ERRORS JMP *+3 E022 JSB ERMS,I E022 DID NOT CLEAR CONTROL DEF ZBE22 RAR SLA,RSS JMP *+3 E023 JSB ERMS,I E023 I/O LINES NOT CLEAR DEF ZBE23 RAR SLA,RSS JMP *+3 E020 JSB ERMS,I E020 FLAG NOT SET DEF ZBE20 RAR SLA,RSS JMP *+3 E021 JSB ERMS,I E021 DID NOT DIABLE INTS DEF ZBE21 H025 JSB MSGC,I TELL OPERATOR DEF ZBM25 BASIC I/O IS COMPLETE JMP ZBIO,I RETURN TO CALLER * ZBI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP ZB70 * ZBE20 ASC 17,E020 PRESET(EXT) DID NOT SET FLAG/ ZBE21 ASC 19,E021 PRESET(INT) DID NOT DISABLE INTS/ ZBE22 ASC 20,E022 PRESET(EXT) DID NOT CLEAR CONTROL/ ZBE23 ASC 21,E023 PRESET(EXT) DID NOT CLEAR I-O LINES/ ZBM24 ASC 9,H024 PRESET, RUN/ ZBM25 ASC 08,H025 BI-O COMP/ SKP ZBIOD DEF *+1 DEF ZBS21 DEF ZBS22 DEF ZBS23 DEF ZBS24 DEF ZBS25 DEF ZBS26 DEF ZBS27 DEF ZBS31 DEF ZBS32 DEF ZBS33 DEF ZBS41 DEF ZBS42 DEF ZBS51 DEF ZBS52 DEF ZBS53 DEF ZBS61 DEF ZBS62 DEF ZBS63 DEF ZBS64 DEF ZBS65 DEF ZBS66 DEF ZBS71 DEF ZBS72 DEC -1 * ZCEND EQU * * * * * * * * * * * * * * * * * * * * * * * * * * HED 12968 ASYNC COMM INTFC DIAGNOSTIC * ORG 126B DSN OCT 103121 DIAGNOSTIC SERIAL NO. ORG 140B IOIP DEF IOID POINTER TO I-O INSTRUCTIONS TSTP DEF TSTD POINTER TO TEST DEF TABLE HDMP DEF HDMS POINTER TO HEADER MESSAGE STDA OCT 001777 STANDARD TESTS STDB OCT 000000 STANDARD TESTS ORG 150B IOCLR EQU 0 SARI EQU 12B NULL EQU 0 WRD0 EQU 00000B WRD1 EQU 10000B WRD2 EQU 20000B WRD3 EQU 30000B WRD4 EQU 40000B WRD5 EQU 50000B SCFE EQU 1 CFE EQU 2 CEE EQU 4 CCE EQU 10B CBE EQU 20B SCFR EQU 1 CFR EQU 2 CER EQU 4 CCR EQU 10B CBR EQU 20B DIAGC EQU 40B PASNS EQU 4 PAR EQU 10B ECHO EQU 20B STB EQU 40B DMA EQU 20B SCA EQU 40B CD EQU 100B CA EQU 200B XMIT EQU 400B CLPE EQU 1 CLBRK EQU 2 CBEF EQU 4 CBF EQU 10B SCF EQU 1 CF EQU 2 CE EQU 4 CC EQU 10B CB EQU 20B PARR EQU 40B BRK EQU 100B BEF EQU 200B BFF EQU 400B SPCHR EQU 40000B DEVI EQU 40000B B5 EQU 40B B7 EQU 200B SDMAL EQU 2 LOWER SELECT CODE DMA SDMAH EQU 6 UPPER SELECT CODE DMA IRTN DEF *-* BUFFA BSS 1 BUFFB BSS 1 BXMIT DEF XBUF POINTER TO TRANSMIT BUFFER BRCV DEF RBUF POINTER TO RECEIVE BUFFER SPC 3 TRJSB DEF ZTCJI POINTER D1 EQU * SW0 OCT 1 D2 EQU * SW1 OCT 2 .7 OCT 7 SW2 EQU * D4 DEC 4 MD1 DEC -1 MD8 DEC -8 MD38 DEC -38 MD9 DEC -9 MD15 DEC -15 MD16 DEC -16 BCNTR BSS 1 MSK3 OCT 3 PATUP DEC 16 SKP PUPLO NOP RETURN ADDRESS CLE,ERB AND LOHWD STA PCH LDA B,I SEZ,RSS ALF,ALF AND UPHWD IOR PCH SEZ,RSS ALF,ALF STA B,I ELB JMP PUPLO,I RETURN PCH BSS 1 UPHWD OCT 177400 MASK FOR UPPER HALF WORD LOHWD OCT 000377 MASK FOR LOWER HALF WORD SKP * THIS SECTION IS FOR INTERNAL USE ONLY. * TO ENABLE SUB-TEST HALTS AND LOOPS IT * IS NECESSARY TO CONFIGURE THE DIAGNOSTIC * STARTING AT LOCATION 100 OCTAL WITH THE * SELECT CODE AND BIT 15 = 1. AT EXECUTION * SWITCH REGISTER BIT 0 HAS * THE MEANING LOOP ON SUB-TEST AND * SWITCH REGISTER BIT 1 MEANS HALT * AT THE END OF THE CURRENT SUB-TEST. * THIS HALT IS 102070 (OCTAL). * THE SUB-TEST LOOP * WILL CAUSE LOOPING ON A SMALL * PROGRAM SEGMENT. SPC 2 SUBT NOP RETURN ADDRESS LDA USSC GET CONFIG INFO SSA,RSS JMP SUBC1 CONTINUE LDB SW1 MASK FOR SWITCH 1 JSB SWRT,I CHECK SWITCH 1 - SUB-TEST HALT RSS JMP SUBT1 CONTINUE LDA TSTN GET TEST NO. LDB SUBT. GET SUB-TEST NO. HLT 70B HALT SUBT1 LDB SW0 MASK FOR SWITCH 0 JSB SWRT,I CHECK SWITCH 0 - SUB-TEST LOOP JMP SUBT,I RETURN SUBC1 ISZ SUBT JMP SUBT,I RETURN SPC 1 SUBTH NOP RETURN ADDRESS JSB SUBT CHECK SUB-TEST HALT NOP BYPASS LOOP JSB SUBUP UPDATE SUB-TEST NO. JMP SUBTH,I RETURN SPC 1 SUBTT NOP RETURN ADDRESS JSB SUBT CHECK SUB-TEST HALT,LOOP JMP SUBLL LOOP ON THIS SUB-TEST JSB SUBUP UPDATE SUB-TEST NO. JMP SUBTT,I RETURN SPC 1 STSUB NOP RETURN ADDRESS LDA STSUB SAVE LOOP ADDRESS INA STA SUBLP LDA STSUB,I GET SUB-TEST NO. STA SUBT. SAVE STA SUBLN SAVE FOR USE WHEN LOOPING ISZ STSUB UPDATE RETURN JMP STSUB,I RETURN SPC 1 SHUTA NOP RETURN ADDRESS JSB SUBTT CHECK SUB-TEST HALT/LOOP LDA SHUTA GET LOOP ADDRESS STA SUBLP SAVE LDA SUBT. GET SUB-TEST NO. STA SUBLN SAVE FOR FUTURE LOOPING JMP SHUTA,I RETURN SPC 1 SUBLL LDA SUBLN GET SUB-TEST NO. STA SUBT. SAVE JMP SUBLP,I GO LOOP SPC 1 SUBUP NOP RETURN ADDRESS LDA SUBT. GET SUB-TEST NO. INA AND .77 MASK CPA .70 CHECK FOR OCT X70 JMP SUBT3 CONTINUE ISZ SUBT. OK UPDATE SUBT. JMP SUBUP,I RETURN SUBT3 LDA SUBT. GET SUB-TEST NO. AND .300 MASK X00 ADA .100 UPDATE SUB-TEST NO. STA SUBT. SAVE JMP SUBUP,I RETURN .300 OCT 300 .70 OCT 70 .77 OCT 77 SUBLP DEF *-* LOOP ADDRESS SUBLN BSS 1 LOOP SUB-TEST NO. SUBT. BSS 1 SUB-TEST NUMBER .100 OCT 100 SKP ERNO NOP RETURN ADDRESS LDB ERNO,I GET BUFFER POINTER BLS CONVERT TO BYTE ADDRESS INB LDA SUBT. GET SUB-TEEST NO. AND E NO. ALF,ALF RAL,RAL AND LOHWD MASK ADA ASC0 CONVERT TO ASCII JSB PUPLO PLACE IN MESSAGE INB LDA SUBT. RAR,RAR RAR AND .7 ADA ASC0 CONVERT TO ASCII JSB PUPLO PLACE IN MESSAGE INB LDA SUBT. AND .7 MASK ADA ASC0 CONVERT TO ASCII JSB PUPLO PLACE IN MESSAGE ISZ ERNO UPDATE RETURN JMP ERNO,I RETURN SPC 2 ASC0 OCT 60 ASCII ZERO SKP CMNDD NOP RETURN ADDRESS LDA CMNDD,I GET OPTIONS IN COMMAND FNIO1 OTA SARI GIVE COMMAND ISZ CMNDD UPDATE RETURN ADDRESS LDA D4 WAIT 4 MS JSB TMRR,I JMP CMNDD,I RETURN SPC 2 RSTUS NOP RETURN ADDRESS FNIO2 CLC SARI SELECT STATUS STIO1 LIA SARI READ STATUS JMP RSTUS,I RETURN SPC 2 RDDTA NOP RETURN ADDRESS FNIO6 STC SARI SET CONTROL = DATA IOIN6 LIA SARI INPUT DATA JMP RDDTA,I RETURN SPC 2 MRST NOP RETURN ADDRESS LDA MRSTC GET MASTER RESET COMMAND FNIO0 OTA SARI GIVE COMMAND LDA D2 JSB TMRR,I WAIT 2 MS JMP MRST,I RETURN MRSTC ABS 100000B+WRD5+CLPE+CLBRK+CBF+CBEF SPC 2 CLF NOP RETURN ADDRESS CNIO1 CLF SARI CLEAR INTERFACE FLAG JMP CLF,I RETURN SPC 2 SFS NOP RETURN ADDRESS CNIO2 SFS SARI SKIP ON FLAG SET JMP SFS,I RETURN - FLAG CLEAR ISZ SFS UPDATE RETURN ADDRESS JMP SFS,I RETURN SPC 2 STC NOP RETURN ADDRESS CNIO3 STC SARI SET INTERFACE CONTROL FF JMP STC,I RETURN SPC 2 CLK16 NOP RETURN ADDRESS LDA MD16 STA CLKNT CLKC1 LDA CLKON RISING EDGE OF 16 X BAUD RATE CLOCK CLK01 OTA SARI OUTPUT LDA CLKOF FALLING EDGE OF 16 X BAUD RATE CLOCK CLK00 OTA SARI OUTPUT ISZ CLKNT JMP CLKC1 JMP CLK16,I RETURN SPC 1 CLKON ABS WRD2+DIAGC CLKOF ABS WRD2+NULL CLKNT BSS 1 SPC 2 SDIN NOP RETURN ADDRESS LDA SDIN,I GET PARAMETERS STA SDTYP SAVE LDA SDTYP LDB MD9 AND MSK3 BITS / CHAR CMA,INA ADB A LDA SDTYP AND SDP PARITY BIT SZA,RSS INB LDA SDTYP AND SDST NO OF STOP BITS SZA,RSS INB LDA SDTYP GET TYPE AND SDSTX CPA SDST INB SPECIAL FOR 5 BIT 2 STOPS STB SDCNT SAVE NO BITS / CHAR STB SDDTC CLA STA BUFFA,I PLACE IN BUFFER SDC01 JSB CLK16 SUPPLY CLOCKS TO INTERFACE JSB RSTUS READ STATUS AND SDBA ISOLATE SIGNAL BA LDB BUFFA,I GET PARTIAL DATA RBR ADD THIS BIT TO DATA SZA INB STB BUFFA,I PLACE DATA IN BUFFER ISZ SDCNT UPDATE BIT COUNTER JMP SDC01 LDA SDTYP GET TYPE AND SDSTX CPA SDST JMP SDC06 CONTINUE - 5 BIT AND 2 STOPS SDC05 LDA SDDTC INA SDC02 RBL PREPARE CHARACTER INA,SZA JMP SDC02 STB BUFFA,I PLACE ASSEMBLED CHARACTER IN BUFFER ISZ BUFFA UPDATE BUFFER POINTER JMP SDIN,I RETURN SDC06 LDB MD8 STB SDCNT SDC04 JSB CMND ABS WRD2+DIAGC JSB CMND ABS WRD2+NULL ISZ SDCNT JMP SDC04 JSB RSTUS GET BA AND SDBA LDB BUFFA,I RBR SZA INB STB BUFFA,I LDA SDDTC ADA MD1 STA SDDTC JMP SDC05 SPC 2 SDDTC BSS 1 SDCNT BSS 1 SDTYP BSS 1 SDBA ABS CE SDP ABS PAR SDST ABS STB SDSTX ABS STB+3 SPC 2 SDOUT NOP RETURN ADDRESS LDA SDOUT,I GET PARAMETER ISZ SDOUT UPDATE RETURN ADDRESS STA SDOP1 SAVE LDA SDWD4 GET WORD 4 COMMAND STA SDOP3 SAVE LDA SDOP1 GET PARAMETER AND MSK3 STA B LDA SDOP1 AND SDST SZA INB LDA SDOP1 AND SDP SZA INB ADB D6 CMB,INB STB SDOCN COUNTER - BITS / CHARACTER JSB CMND PREPARE FOR RECEIVE SDOP3 BSS 1 WORD 4 COMMAND JSB CLK16 START BIT SDOC2 LDA BUFFA,I GET DATA CMA AND MSK1 ALF,ALF RAR,RAR ADA SDWD4 STA SDOP2 LDA BUFFA,I RAR STA BUFFA,I JSB CMND SDOP2 BSS 1 JSB CLK16 SUPPLY 16 CLOCKS ISZ SDOCN UPDATE BIT COUNTER JMP SDOC2 CONTINUE WITH THIS CHARACTER ISZ BUFFA UPDATE BUFFER POINTER JSB CLK16 JMP SDOUT,I RETURN SPC 2 MSK1 EQU D1 SDOCN BSS 1 SDOP1 BSS 1 D6 DEC 6 SDWD4 BSS 1 SPC 2 LINBF NOP RETURN ADDRESS LDA MD16 INITIALIZE COUNTER STA BCNTR LDB BRCV INITIALIZE BUFFER POINTER STB BUFFB LDB BXMIT INITIALIZE BUFFER POINTER STB BUFFA LIC01 LDA BUFFB,I PREPARE DATA AND LOHWD STA BUFFB,I REPLACE IN BUFFER LDA BUFFA,I AND MSKCZ STA BUFFA,I REPLACE IN BUFFER ISZ BUFFB UPDATE BUFFER POINTER ISZ BUFFA UPDATE BUFFER POINTER ISZ BCNTR UPDATE COUNTER JMP LIC01 CONTINUE JMP LINBF,I RETURN SPC 2 FIXDA NOP RETURN ADDRESS LDA FIXDA,I GET DATA FORMAT STA FXDAT SAVE ISZ FIXDA UPDATE RETURN ADDRESS LDB BXMIT GET BUFFER POINTER STB BUFFA SAVE LDB MD16 INITIALIZE COUNTER STB BCNTR FXC07 LDA FXDAT AND MSK3 LDB MSK37 FXC09 SZA,RSS JMP FXC08-1 RBL INB ADA MD1 JMP FXC09 STB MSKCZ SAVE MASK FXC08 LDA BUFFA,I AND B STA BUFFA,I LDA FXDAT AND SDP IS PARITY USED SZA,RSS JMP FXC01 NO- DO START AND STOP(S) LDA FXDAT AND .B2 YES - WHAT TYPE SZA,RSS CCB,RSS CLB LDA BUFFA,I GET DATA JSB PTYGN GENERATE PARITY STA BUFFA,I SAVE AND .B8 STA B SAVE PARITY BIT RBR,RBR RBR LDA FXDAT AND MSK3 NO BITS / CHAR FXC03 SZA,RSS JMP FXC02 CONTINUE RBL ADA MD1 JMP FXC03 CONTINUE FXC02 LDA BUFFA,I AND B0TB7 IOR B RSS FXC01 LDA BUFFA,I GET DATA RAL INSERT START BIT AND NB0 MASK STA BUFFA,I SAVE LDB .B6 LDA FXDAT AND SDST CHECK NO STOP BITS SZA ADB .B7 USE 2 LDA FXDAT AND MSK3 GET NO OF BITS / CHAR FXC06 SZA,RSS JMP FXC05 CONTINUE RBL PUT STOP BITS IN CORRECT POSITION ADA MD1 JMP FXC06 FXC05 LDA FXDAT AND SDP SZA IS PARITY USED RBL POSITION STOP BIT(S) LDA BUFFA,I GET DATA IOR B STA B STB BUFFA,I SAVE COMPLETE DATA ISZ BUFFA UPDATE BUFFER POINTER ISZ BCNTR UPDATE BUFFER COUNTER JMP FXC07 JMP FIXDA,I RETURN SPC 2 FXDAT BSS 1 MSKCZ BSS 1 .B2 EQU D4 .B6 EQU .100 .B7 ABS B7 NB0 OCT 7776 SPC 2 PTYGN NOP RETURN ADDRESS STB PYTYP SAVE PARITY TYPE LDB MD8 STB PYCNT CCB AND B0TB7 MASK PYC01 SLA GENERATE PARITY CMB RAR ISZ PYCNT JMP PYC01 ALF,ALF SZB IOR .B8 LDB PYTYP GIVE CORRECT SSB,RSS PARITY TO XOR .B8 DATA JMP PTYGN,I RETURN PYCNT BSS 1 COUNTER MSK37 OCT 37 PYTYP BSS 1 PARITY TYPE .B8 OCT 400 B0TB7 EQU LOHWD SPC 2 CMND NOP RETURN ADDRESS LDA CMND,I GET DATA ISZ CMND UPDATE RETURN OTIO1 OTA SARI OUTPUT JMP CMND,I RETURN SPC 2 PTG NOP RETURN ADDRESS LDA PTG,I GET ADDRESS OF STA PTGI INTERRUPT ROUTINE ISZ PTG LDA PTG,I GET ADDRESS OF STA IRTN INTERRUPT RETURN JSB TRJSB,I FILL TRAP CELL PTGI DEF *-* ISZ PTG UPDATE RETURN JMP PTG,I RETURN SPC 2 CBUFS NOP RETURN ADDRESS CLA STA NOERS INITIALIZE ERROR FLAG LDA CBUFS,I GET ERROR POINTER STA CBERR LDA MD16 INITIALIZE COUNT STA CBCNT LDA BXMIT INITIALIZE POINTERS STA BUFFA LDA BRCV STA BUFFB CBC02 LDA CBC1A STA CDATA LDA BUFFA,I ISZ BUFFA STA CEXPD SAVE LDA BUFFB,I ISZ BUFFB LDB A JMP CDAC1 CHECK DATA CEXPD BSS 1 EXPECTED DATA CBERR DEF *-* ERROR MESSAGE POINTER ISZ NOERS CHECK FOR ERRORS RSS CONTINUE JMP CBC03 DO NOT REPORT ANY MORE ERRORS ISZ CBCNT DONE? JMP CBC02 CONTINUE CBC03 ISZ CBUFS UPDATE RETURN JMP CBUFS,I RETURN CBCNT BSS 1 CBC1A DEF CEXPD SPC 2 EPREP NOP RETURN ADDRESS LDA EPREP,I GET TO ADDR STA EMTO SAVE ISZ EPREP LDA EPREP,I GET ERROR NO PTR STA EMNO SAVE STA EMSGG ISZ EPREP LDA EPREP,I GET FROM ADDR STA EMFRN SAVE ISZ EPREP JSB MOVE EMTO DEF *-* EMFRN DEF *-* JSB ERNO EMNO DEF *-* JSB ERMS,I REPORT ERROR EMSGG DEF *-* JMP EPREP,I RETURN SPC 2 DMAON NOP RETURN ADDRESS LDA DMACF PLACE STA SDMAH CLF IN TRAP CELL LDA CW1 GET COMMAND WORD 1 OTA SDMAH OUTPUT TO DMA CLC SDMAL PREPARE FOR CW2 LDA DMAON,I INPUT OR OUTPUT + OTA SDMAL ADDRESS TO DMA STC SDMAL PREPARE FOR CW3 LDA CW3 GET CONTROL WORD 3 OTA SDMAL OUTPUT TO DMA FNIO5 STC SARI,C START ARI STC SDMAH,C START DMA ISZ DMAON UPDATE RETURN JMP DMAON,I RETURN SPC 1 CW1 ABS SARI CONTROL WORD 1 FOR DMA CW3 EQU MD16 SPC 2 XARI NOP RETURN ADDRESS LDA BUFFB,I GET DATA AND LOHWD MASK STA XARP1 SAVE JSB CMND OUTPUT CHARACTER XARP1 BSS 1 CHARACTER ISZ BUFFB UPDATE BUFFER POINTER JMP XARI,I RETURN SPC 2 RARI DEF *-* RETURN JSB RDDTA READ DATA STA BUFFB,I PLACE IN BUFFER ISZ BUFFB UPDATE BUFFER POINTER JMP RARI,I RETURN SPC 2 DMAOF NOP RETURN ADDRESS DMACF CLF SDMAH TURN OFF DMA LIA SDMAL GET COUNT SZA,RSS CHECK COUNT = 0 JMP DMAOF,I RETURN CLF INTP CLEAR INTERRUPT SYSTEM JSB ERMS,I REPORT ERROR DEF EM132 JMP DMAOF,I RETURN SPC 2 CLBFR NOP RETURN ADDRESS LDB MD16 INITIALIZE COUNTER CLA CLEAR STB CLCNT LDB BRCV BUFFER POINTER CLC01 STA B,I CLEAR BUFFER INB UPDATE POINTER ISZ CLCNT UPDATE COUNT JMP CLC01 CONTINUE JMP CLBFR,I RETURN CLCNT BSS 1 COUNTER SPC 2 PTGNR NOP RETURN ADDRESS LDA PTGNR,I GET START PATTERN STA PTGTY SAVE LDB MD16 INITIALIZE COUNTER STB PTNCT SAVE LDB BXMIT GET BUFFER POINTER