STA EQT40,I EQT40 FOR NO JMP CR1 COMPLETION NOTCS LDB P04$ HOPPER BAD STATUS LDA SAVA IS IT HOPPER CPA P07$ BAD ? JSB STATS YES - SET UP STATUS JMP CR1 GO WAIT THE C.R. DATA1 LDB EQT41,I GET FLAG RBL,ERB AND SET FIRST STB EQT41,I DATA FLAG LDB EQT40,I REQUEST FOR SLB,RSS PACKED BINARY ? JMP NOTPK NO - LDB N80$ YES - INITIALIZE STB EQT43,I A COUNTER NUMBER LDA EQT10,I SET UP BUFFER STA EQT47,I ADDRESS LDA EQT11,I AND COUNT CMA,INA WORD IN STA EQT42,I EQT 42 CLA CLEAR FLAG STA EQT12,I AND WAIT JMP CONTR DATA NOTPK LDA EQT11,I ASCII ? SSA CHARACTER ? JMP *+3 YES ALS NO - WORD CMA,INA CONVERT STA EQT42,I THEN,SAVE LDA EQT10,I SET UP RAL A CHARACTER STA EQT12,I ADDRESS READ6 CLA AND WAIT JMP CONTR FIRST ACTUAL DATA * DATA PROCESSING *** DATA2 LDB EQT40,I CHECK THE MODE RBL,SLB IS IT BINARY ? JMP BNRY1 BINARY. * * ASCII MODE *** * CPA CR ASCII - IS IT CR ? JMP READ8 YES - CHECK MODE READ9 LDB EQT42,I NO - DATA SZB,RSS BUFFER FULL ? JMP RED11 YES - GO AHEAD. LDB EQT12,I NO - STORE THE CHAR. CLE,ERB CHANGE TO WORD ADDRESS SEZ,RSS CHECK EVEN OR ODD ? JMP STOR1 EVEN - GO AHEAD LDA B,I GET PREVIOUS CHAR. AND P1774 SAVE LEFT BYTE IOR SAVA INSERT NEW CHAR. JMP STOR2 GO AHEAD STOR1 ALF,ALF EVEN - ROTATE STA LOGA SAVE IT LDA B,I GET PREVIOUS CHAR. STB SAVB SAVE ADDRESS LDB EQT11,I CHECK IF REQUEST SSB,RSS IN WORD ORCHAR ? LDA P40$ WORD - SET LOW TO BLNK LDB SAVB RESTORE B REGISTER AND P377$ PRESERVE RIGHT IOR LOGA MERGE NEW STOR2 STA B,I STORE CHAR. ISZ EQT12,I BUMP CHAR. ADDRESS ISZ EQT46,I INCREM. COUNTER LDB EQT46,I GET IT LDA SAVA IF TRAILING AND P177$ BLANK DON'T CPA CR CR IN NO MID CARD TERM ? JMP *+4 YES - SKIP IT CPA P40$ INCREMENT RSS THE STB EQT14,I TRANS LOG ISZ EQT42,I BUMP COUNTER NOP RED11 ISZ EQT43,I BUMP COUNTER NOP OF COLUMNS LDB EQT47,I GET FLAG SSB,RSS IS IT MID CARD TERM. ? JMP READ6 YES - WAIT CR LDA EQT43,I NO - ALL COLUMNS CCE,SZA HAVE BEEN INPUT ? JMP READ6 NO - CONTINUE BNRY5 LDA EQT39,I YES - SET UP RAL,ERA FLAG TO STA EQT39,I WAIT CR JSB TRANS SET UP TRANS LOG JMP READ6 AND WAIT READ8 LDB EQT47,I IS IT MID CARD TERM. ? SSB JMP READ9 NO - STORE CHARACTER LDA EQT40,I GET RE X-MIT FLAG AND P10$ AND CHECK SZA SPECIAL CASE JMP NOYET (ASCII AFTER BINARY) RED12 JSB TRANS SET TRANS LOG JMP CMPL2 AND COMPLETE * * COMPLETION SECTION OF READ REQUEST *** * CMPL1 LDA EQT39,I GET A FLAG ALF,SLA WORD AND JMP FAIL2 CHECK IF PICK-FAIL LDA EQT40,I IS IT IN ALF,RAR "HOT" SLA PROCESSING ? JMP TCS4 YES - DON'T COMPLETE ! CMPL2 LDA EQT41,I NO - CHECK SLA,RSS DATA IN ERROR JMP READ+1,I NO - COMPLETE AND P06$ YES CPA P06$ THIRD TIME ? JMP LAST1 YES - STOP LDA EQT41,I GET WORD AND RAL,CLE,ERA CLEAR BIT RAR,CLE,ELA 0 AND BIT 15 STA EQT41,I CLB CLEAR STB EQT14,I TRANSMISSION LOG STB EQT46,I CLEAR LDA EQT45,I COLUMN NUMBER LDB EQT40,I IF FOR SLB PACKED LDA N80$ SET 80 INTO STA EQT43,I COUNTER OF COLUMNS LDA EQT40,I CHANGE USER'S REQUEST AND P5000 CLEAR FLAGS IOR P02$ AND SET STA EQT40,I RETRANSMIT LDA P40$ AND ASK TO JMP SAVE3 RETRANSMIT DATA NOYET LDA EQT43,I CR FOR END SZA,RSS OF CARD ? JMP RED12 YES - COMPLETE CLA NOT YET STA EQT42,I SET BUFFER FULL ISZ EQT43,I INCREM. COLUMN COUNTER JMP READ6 GO WAIT THE NEXT JMP BNRY5 CR FROM END OF CARD * LAST1 LDB P07$ OVER - SET UP JSB STATS WRONG STATUS JMP READ+1,I AND COMPLETE. * HOT 7260 PROCESSING *** TCS4 LDB EQT39,I CLEAR CR RBL,CLE,ERB EXPECTED STB EQT39,I FLAG LDA EQT40,I AND CLEAR AND P1577 "HOT" PROCESSING STA EQT40,I FLAG JMP READ6 WAIT DATA. * PICK FAIL PROCESSING *** FAIL1 LDA EQT39,I SET A FLAG IOR P1000 BIT 12 OF EQT 39 STA EQT39,I THEN WAIT JMP CR1 THE CR FAIL2 ISZ EQT13,I CHECK RETRY COUNTER JMP ASCI2 NO YET - TRY AGAIN LDB P05$ OVER - SET JSB STATS STATUS JMP READ+1,I AND COMPLETE ASCI2 LDB EQT40,I GET REQUEST LDA P100$ SET DEMAND RBR,SLB RETRANSMIT ? LDA P40$ YES - SET IT JMP SAVE3 GO SET THE FLAG * TIME OUT PROCESSING *** READ2 LDB P03$ SET STATUS JSB STATS AND THEN JSB TRANS TRANS LOG JMP READ+1,I AND COMPLETE * LINE ERROR PROCESSING *** READ3 JSB ERRL SET 2 SECONDS CLA ISZ READ+1 AS TIME-OUT JMP READ+1,I CONTINUATION * DATA ERROR PROCESSING *** READ4 LDA EQT41,I ALREADY IN ERROR SLA,RAR FOR THIS REQUEST JMP YES1 YES - GO AHEAD CCE,INA NO - INCREM. COUNTER ELA AND SET UP STA EQT41,I A FLAG YES1 JSB ERRL SET TIME OUT JMP START STORE DATA ANYWAY * * BINARY IMAGE PROCESSING *** * BNRY1 RBL,SLB CHECK IF JMP BNRY2 SECOND DATA ? CCE NO - ACTUAL DATA ERB,RBR YES - SET STB EQT40,I FLAG FOR JMP READ6 THE NEXTS BNRY2 LDB EQT42,I FIRST OF ALL, CHECK SSB,RSS IF THE BUFFER JMP BNRY3 IS FULL AND P77$ NOT FULL LDB EQT40,I IS IT PACKED SLB BINARY REQUEST ? JMP PACK1 YES - GO AHEAD ISZ EQT14,I NO - INCREM. TRANS LOG ISZ EQT42,I INCREM. CHARACTER NOP COUNTER LDB EQT12,I CHARACTER ADDRESS ISZ EQT12,I INCREM. CHARACTER ADD. CLE,ERB CONVERT IN WORD ADD. SEZ,RSS FIRST OR SECOND ? JMP FIRST FIRST ALF,RAL RAL INSERT WITH IOR EQT47,I THE PREVIOUS OK2 STA B,I STORE THE CHARACTER BNRY6 ISZ EQT43,I INCREM. COLUMN COUNTER JMP READ6 AND WAIT THE NEXT OVER CCE OVER - SET JMP BNRY5 FLAG FOR CR FIRST STA EQT47,I SAVE FIRST DATUM CPA CR IS IT CR ? JMP YES2 YES - CHECK RE X MIT JMP READ6 AND WAIT NEXT BNRY3 LDB EQT12,I GET CHARACTER ADDR. ISZ EQT12,I INCREM. FLAG SLB FIRST OR SECOND JMP BNRY6 SECOND JMP FIRST FIRST YES2 LDA EQT40,I GET SPECIAL FLAG AND P04$ SZA,RSS RE-XMIT IMAGE AFTER ASCII ? JMP OK2 NO - KEEP ON GOING JSB TRANS SET TRANS LOG JMP CMPL2 AND COMPLETE * * PACKED BINARY PROCESSING *** * FRST ALF SET UP IN LDB EQT47,I RIGHT FIELD STA B,I AND STORE IT JMP READ6 WAIT NEXT * SCND ALF,ALF SET UP IN RAL,RAL RIGHT PLACE LDB EQT47,I INSERT WITH SCND1 IOR B,I THE FIRST STA B,I AND STORE IT LDB EQT40,I THEN, CHECK BLF,SLB IF THE JMP SCND2 LENGTH INB HAS BEEN BLF,BLF PROCESSED BLF NO - SET UP STB EQT40,I THE FLAG ALF,ALF AND COMPUTE AND P377$ THE LENGTH CMA,INA,SZA,RSS LENGTH JMP ERROR EQUAL TO ZERO ? ADA D60 OR GREATER SSA THAN 60 JMP ERROR YES - ERROR ADA N60$ COMPUTE LDB A THE LEAST CMA,INA OF LENGTH ADA EQT42,I BUFFER SSA AND STB EQT42,I STORE IT LDA EQT42,I COMPUTE CMA,INA TRANS LOG ALS AND STA EQT14,I SAVE IT SCND2 ISZ EQT42,I INCREM. COUNTER NOP SCND3 ISZ EQT43,I INCREM. COLUMN COUNTER JMP READ6 NOT OVER JMP OVER OVER * THRD ALF,ALF INSERT AND LDB EQT47,I STORE INB INTO STA B,I WORD. JMP READ6 WAIT NEXT * FOUR LDB EQT47,I SAVE STB SAVB BUFFER CLB ADDRESS RRR 2 SET UP IOR SAVB,I FIRST WORD STA SAVB,I (FOUR BITS) STB A AND THEN, ISZ EQT47,I TWO IN LDB EQT47,I SECOND IOR B,I WORD STA B,I GO INCREM. JMP SCND2 COUNTERS * FIFTH LDB EQT47,I SAVE STB SAVB BUFFER CLB ADDRESS RRR 4 SET UP IOR SAVB,I 2 BITS IN STA SAVB,I SECOND WORD STB A AND THEN LDB EQT47,I TWO IN INB THIRD STA B,I WORD JMP READ6 WAIT NEXT * SIX RAL,RAL INSERT LDB EQT47,I AND STORE IOR B,I INTO THE STA B,I THIRD ISZ EQT47,I WORD JMP SCND3 INCREM. COUNTER * SEVEN LDB EQT47,I INSERT AND IOR B,I STORE STA B,I INTO THE JMP READ6 THIRD WORD * EIGHT CLB RESET STB EQT46,I INDEX TO LDB EQT47,I ZERO ISZ EQT47,I INSERT AND ALF STORE RAL,RAL INTO THE JMP SCND1 THIRD WORD * PACK1 ISZ EQT12,I INCREM. FLAG ISZ EQT46,I AND JUMP LDB EQT46,I TO THE ADB JMPT ROUTINE LDB B,I JMP B,I ADDRESS. * ERROR ISZ EQT42,I INCREMENT COUNTER ISZ EQT43,I INCREM. COLUMN NUMBER CLB,INB SET BUFFER STB EQT42,I FULL JSB STATS WAIT CR JMP READ6 WITH BAD STATUS * JMPT DEF * DEF FRST DEF SCND DEF THRD DEF FOUR DEF FIFTH DEF SIX DEF SEVEN DEF EIGHT * * SKP * * * EQT4 NOP EQT9 NOP EQT10 NOP EQT11 NOP EQT12 NOP EQT13 NOP EQT14 NOP EQT18 NOP EQT25 NOP EQT39 NOP EQT40 NOP EQT41 NOP EQT42 NOP EQT43 NOP EQT44 NOP EQT45 NOP EQT46 NOP EQT47 NOP EQT48 NOP EQTAD DEF EQT39 * * IQT18 NOP IQT19 NOP IQT21 NOP IQT25 NOP IQT41 NOP IQT45 NOP IQT48 NOP * SETQ NOP STA SAVA STB SAVB LDA EQTB ADA P03$ CPA EQT4 JMP SETQ,I STA EQT4 ADA P05$ STA EQT9 INA STA EQT10 INA STA EQT11 INA STA EQT12 INA STA EQT13 INA STA EQT14 ADA P03$ LDA A,I STA EQT18 ADA P07$ STA EQT25 ADA P16$ LDB N10$ STB LOGA LDB EQTAD LOOP STA B,I INA INB ISZ LOGA JMP LOOP JMP SETQ,I * * SETQI NOP STA IQT18 INA STA IQT19 ADA P02$ STA IQT21 ADA P04$ STA IQT25 ADA P20$ STA IQT41 ADA P04$ STA IQT45 ADA P03$ STA IQT48 JMP SETQI,I * * LOG NOP LDB EQT48,I SZB,RSS TRACE TABLE PRESENT ? JMP LOGX NO STA LOGA YES ISZ SEQ INCR SEQ COUNTER NOP LDA SEQ ALF,ALF POSITION LEFT BYTE AND P1774 IOR LOGA MERGE IN ID ADB P04$ BUMP POINTER STB EQT48,I CMB,INB ADB EQT18,I SSB,RSS END OF TABLE JMP LOG1 LDB P40$ YES STB EQT48,I RESET POINTER LOG1 CCB ADB EQT48,I ADB EQT18 FORM ENTRY ADDRESS STA B,I SEQ/ID INB LDA SAVA A STA B,I INB LDA SAVB STA B,I INB LDA EQT25,I STATUS STA B,I LOGX LDA SAVA LDB SAVB JMP LOG,I SKP * P00$ EQU 53B P01$ EQU 54B P02$ EQU 55B P03$ EQU 56B P04$ EQU 57B P05$ EQU 60B P06$ EQU 61B P11$ EQU 64B P12$ EQU 65B P21$ EQU 66B P100$ EQU 67B P17$ EQU 70B P37$ EQU 71B P77$ EQU 72B P177$ EQU 73B P377$ EQU 74B P1774 EQU 75B N10$ EQU 41B N03$ EQU 50B * EQTB EQU 300B A EQU 0 B EQU 1 * D28 DEC 28 D31 DEC 31 D60 DEC 60 P7700 OCT 7700 P4000 OCT 4000 P4100 OCT 4100 P4200 OCT 4200 P4300 OCT 4300 P4400 OCT 4400 P4500 OCT 4500 P4600 OCT 4600 P200$ OCT 200 BWRT$ OCT 40000 P760. OCT 76000 P400$ OCT 400 P404$ OCT 404 P434$ OCT 434 P2000 OCT 20000 P20.$ OCT 2000 P1577 OCT 157777 P1757 OCT 175777 N20$ DEC -20 N60$ DEC -60 N80$ DEC -80 N97$ DEC -97 P40$ OCT 40 P14$ OCT 14 P16$ OCT 16 P20$ OCT 20 P1000 OCT 10000 P5000 OCT 50000 BREAD OCT 100000 SAVA NOP SAVB NOP LOGA NOP SEQ NOP END