15 22#C ...#SEG IPBMOPB8 [COMM - IPB 17 22LS ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LIMITED 1982 14 22_= #LIS K0IPBMOPB>K0IPB>K0ALLGEO>K0GREATGEO 9 23DW 8HIPBMOPB 12 23YG SEGENTRY K1IPBMOPB,SK1IPBMOPB 12 24D6 SEGENTRY K2IPBMOPB,SK2IPBMOPB 12 24XQ SEGENTRY K3IPBMOPB,SK3IPBMOPB 6 25CB ... NULL 6 25X2 ... NULL 6 26BL ... NULL 12 26W= SEGENTRY K8IPBMOPB,SK8IPBMOPB 6 27*W NULL 13 27TG SEGENTRY K10IPBMOPB,SK10IPBMOPB 13 285# ... SEGENTRY K11IPBMOPB,SK11IPBMOPB 4 28*6 # 8 28SQ V32 32 8 29#B V60 60 8 29S2 V64 64 8 2=?L O74 #74 9 2=R= VNLS #76327632 9 2?=W VCLEAR #76130500 6 2?QG #UNS JSKI36 9 2#=6 VSETSOM #76130674 9 2#PQ VRACKUP #76130700 10 2*9B VBI 8,8HBREAK IN 21 2*P2 VCONTOUTPUT 20[NO OF LINES ALLOWED FOR CONTINUOUS OUTPUT ON A DISP. 12 2B8L VCHAROUT 16H0123456789:;<=>? 12 2BN= 16H !^$#%&'()*+,-./ 14 2C7W 24H@ABCDEFGHIJKLMNOPQRSTUVW 9 2CMG #70717273 9 2D76 #24757677 18 2GK= ZJTOCLOSE +JTOCLOSE [CLOSED DOWN AT 'TIME' 5 2J46 ZJMOPWT 10 2JHQ +JMOPWTLI 10 2K3B +JMOPWTIN 10 2KH2 +JMOPWTEX 10 2L2L +JMOPWTJO 9 2L_W REMASK #170000 17 2MFG SCAN #76217610 [BREAK IN / CANCEL 9 2M_6 VMASK #77577777 8 2NDQ #OPT IPBINOPTIME=0 10 2NYB SEGENTRY K51IPBMOPB 20 2PD2 WAITINOP 3+IPBINOPTIME/FONINTP[FOR LONGCOOR AFTER IDENT INOP 14 2PMS ...TURNOFFEOM #76327635,#76207613,#52770000 4 2PXL # 21 2QC= # RING AMXOR/IOUT BLOCK(S) BEHIND IPBOUT , WHICH IS THEN PUT ON LIST 21 2QWW # NEEDS ADCB ADDRESS IN X3 ; ADDRESS OF FIRST IOUT IN X1 AT RINGR 4 2RBG # 7 2RW6 RINGO LDN 1 0 21 2S*Q RINGR SBX 6 FX1 [ENTRY WITH AMXOR/IOUT ADDRESS IN X1 19 2STB STENT LDX 3 IADIN(3) [ADDRESS OF IPBIN ACTIVITY 10 2T*2 LDX 3 IPBRING(3) 19 2TSL SBN 3 IPBRING [ADDRESS OF IPBOUT ACTIVITY 10 2W#= LDX 2 ACTRING(3) 19 2WRW SBN 2 ACTRING [FIND ACTIVITY AFTER IPBOUT 18 2X?G LDX 4 BPTR(2) [LAST BLOCK AFTER IPBOUT 20 2XR6 BNZ 1 NHUN [X1 ALREADY POINTS TO IOUT BLOCK 10 2Y=Q HUNTW 2,AMXOR,IOUT 19 2YQB OLE LDX 1 2 [LATEST IOUT BLOCK ADDRESS 9 2_=2 OLF LDX 2 FPTR(2) 9 2_PL LDX 0 ATYPE(2) 8 329= TXL 0 CACT 21 32NW BCC NHUN [REACHED NEXT ACTIVITY : CHAIN LAST 9 338G TXU 0 ATYPE(1) 8 33N6 BCS OLF 16 347Q BRN OLE [LATER IOUT FOUND 8 34MB NHUN CHAIN 1,4 8 3572 LDCT 0 #100 18 35LL ANDX 0 IPBSW(3) [B2 SET IF IPBOUT ASLEEP 16 366= BZE 0 WAKE [ALREADY ON LIST 9 36KW ERS 0 IPBSW(3) 7 375G LDX 2 3 17 37K6 FPUT [PUT IPBOUT ON LIST 10 384Q WAKE MHUNTW 3,AMXOR,ADCB 21 38JB BZE 6 SEX [ENTRY FOR 'START INPUT' OR TW DISP 17 3942 CALL 4 WAITO [CHECK OPERABILITIES 20 39HL BRN TFR [IDENT INOP : FREE REST OF OUTPUT 10 3=3= HUNTW 1,AMXOR,IOUT 16 3=GW BNG 1 ROLAS [LAST OUTPUT SENT 8 3?2G LDCT 1 #200 10 3?G6 ANDX 1 ISTATUS(3) 21 3?_Q BZE 1 STENT [WARNING NOT SET : SEND NEXT BLOCK 17 3#FB BRN WAITO [RECHECK OPERABILITY 8 3#_2 ROLAS ADX 6 FX1 8 3*DL LDX 1 FX1 7 3*Y= EXIT 6 0 4 3BCW # 21 3BXG # GET AMXOR/IOUT BLOCK FOR OUTPUT ; ON ENTRY X3 POINTS TO AMXOR/ADCB 20 3CC6 # BLOCK ; PUT MESSAGE CHAR CT.IN X4 ; HEADER IN X5 ; CALL ON X7 4 3CWQ # 8 3DBB SETU SBX 7 FX1 18 3DW2 SLL 5 12 [HEADER AND DISCARD MASK 7 3F*L ADX 5 4 17 3FT= ADN 4 IDATA-A1*4+3 [TOTAL COUNT OF CHARS 7 3G#W SRL 4 2 11 3GSG SETUPCORE 4,2,AMXOR,IOUT,1 10 3H#6 MHUNTW 3,AMXOR,ADCB 10 3HRQ STO 5 IPBIDE+1(2) 18 3J?B SLC 5 5 [B4 SET IF 'READY' OUTPUT 7 3JR2 ERN 5 1 7 3K=L ANDN 5 1 21 3KQ= STO 5 IMOPTY(2) [WAKE ACTIVITY AFTER NON-READY OUTPUT 17 3L9W STOZ IBSW(2) [BLOCK STATUS WORD 10 3LPG LDX 0 IDENTNO(3) 17 3M96 STO 0 IPBIDE(2) [IDENTIFIER NUMBER 17 3MNQ LDN 5 IDATA(2) [START OF OUTPUT DATA 8 3N8B ADX 7 FX1 7 3NN2 EXIT 7 0 4 3P7L # 21 3PM= # GET AMXOR/IOUT BLOCK FOR SUPERVISORY MESSAGE ; WAIT FOR REPLY IF 20 3Q6W # STOP INPUT , OPEN OR CLOSE ; CHECK FOR BREAK-IN ON STOP INPUT 4 3QLG # 8 3R66 SUPER SBX 7 FX1 7 3RKQ LDX 3 6 20 3S5B SRL 3 6 [LENGTH OF SUPERVISORY SEGMENT 14 3SK2 SETNCORE IPBIDE-A1(3),1,AMXOR,IOUT,1 10 3T4L MHUNTW 3,AMXOR,ADCB 8 3TJ= LDX 0 GSIGN 20 3W3W STO 0 IBSW(1) [NO DATA SEGMENT IN THIS BLOCK 17 3WHG LDX 4 6 [CHAR 0 : WORD COUNT 19 3X36 SLL 4 12 [CHAR 1 : SUPERVISORY CODE 18 3XGQ ADX 4 IDENTNO(3) [CHARS 2-3 : IDENTIFIER 20 3Y2B STOZ IMOPTY(1) [DON'T WAKE ACTIVITY AFTER OUTPUT 9 3YG2 STO 4 IPBIDE(1) 20 3Y_L SBN 6 #121 [START INPUT : DON'T COOR1 AFTER 20 3_F= BZE 6 STENT [FPUT BUT CLEAR UP AND SUICIDE 20 3_YW CALL 6 RINGR [ENLIST IPBOUT TO OUTPUT BLOCK 11 42DG WAC HUNTW 2,AMXOR,IDATSG 8 42Y6 BPZ 2 SRET 19 43CQ CALL 4 WAITO [NO INPUT : CHECK OPERABILITY 15 43XB BRN TINOP [INOPERABLE 19 44C2 BRN WAC [OPERABLE : SEE IF INPUT YET 9 44WL SRET LDX 6 A1+2(2) 20 45B= SRL 6 12 [COUNT + SUPERVISORY CODE REPLY 7 45TW FREECORE 2 8 46*G SEX ADX 7 FX1 7 46T6 EXIT 7 0 4 47#Q # 21 47SB # INSERT TIME INTO MESSAGE WITH ADDRESS IN X5 & OUTPUT IT TO CONSOLE 4 48#2 # 8 48RL OUTM SBX 7 FX1 9 49?= OUTPAR TIMENOW 6 49QW #UNS JSKI37 5 4==G OUTSB 16 4=Q6 MONOUTX 5 [OUTPUT MESSAGE 10 4?9Q MHUNTW 3,AMXOR,ADCB 18 4?PB CALL 6 QIN [TEST FOR INOPERABILITY 8 4#92 ADX 7 FX1 7 4#NL EXIT 7 0 4 4*8= # 21 4*MW # EXIT IMMEDIATELY (UP) IF RE-ENTERED AFTER TAKING INOPERABLE ACTION 4 4B7G # 10 4BM6 QIN LDCH 0 JSOURCE1(2) 18 4C6Q SBN 0 7 [STORED AT TINOP OR STACK 19 4CLB BZE 0 TOAB [SET BREAK-IN BIT AND GO UP 7 4D62 EXIT 6 0 4 4DKL # 21 4F5= # CHANGE ETX ON END OF OUTPUT TO CANCEL IN CASE REINPUTTING ON TAPE 4 4FJW # 7 4G4G TOCA BCHX 1 / 7 4GJ6 BCHX 1 / 8 4H3Q LDN 4 #10 7 4HHB BCHX 1 / 7 4J32 SBN 1 1 8 4JGL DCH 4 0(1) 7 4K2= EXIT 0 0 4 4KFW # 21 4K_G # CHECK IPB AND IDENTIFIER OPERABILITY ; IF OPERABLE COOR1 & EXIT+1 18 4LF6 # IF INOPERABLE EXIT WITH X5<0 IFF IPB INOP ; CALL ON X4 4 4LYQ # 9 4MDB WAITO SMO IADIN(3) 8 4MY2 LDX 5 IPBSW 16 4NCL BNG 5 STACR [IPB INOPERABLE 10 4NX= LDX 5 ISTATUS(3) 8 4PBW SBX 4 FX1 17 4PWG BPZ 5 WSLE [IDENTIFIER OPERABLE 9 4QB6 LDX 0 IWAIT(3) 20 4QTQ ANDN 0 #100 [B17 SET IF INOP. ALREADY NOTICED 8 4R*B BNZ 0 WSLE 12 4S#L LONGSET #36,SET,IDENTNO(3) 16 4SS= LDX 5 WAITINOP(1) [LENGTH OF WAIT 8 4T?W BZE 5 WEX 19 4T#X ... LDN 0 #1000 [NOTE INOPTIME WAIT IS NOT 20 4T*Y ... SMO A1+FPTR(3) [APPLICABLE TO AUTO-ANSWER LINES 9 4TB_ ... ANDX 0 FOURTHWD 21 4TD2 ... BNZ 0 WEX [AUTO-ANSWER LINE (B14) : SKIP WAIT 6 4TF4 ...WAITINOPTIM 21 4TL= ... LONGTARRY WEX,WCK,5 [INOPTIME WAIT (BROADCASTS IGNORED) 21 4TRD ... [IF BREAK-IN(EG AB,MP OFF),ABORT WAIT 21 4TYL ... [IF STILL INOP AFTER WAIT,J TO WCK 18 4W5S ... BRN WOPAG [RE-OPERABLE : EXIT +1 19 4W?2 ...WCK LDX 5 CLONG3(2) [CHECK FOR END OF WAIT PERIOD 21 4WD8 ... SBN 5 2 [NOTE END OF WAIT LEAVES 1 IN CLONG3 17 4WKB ... BNG 5 WEX [END OF WAIT PERIOD 20 4WQJ ... BDX 5 WAITINOPTIM [SPURIOUS RESTART : RESUME WAIT 21 4WXQ ...WEX SBN 4 1 [END OF WAIT PERIOD:STILL INOP:EXIT 0 21 4X4Y ... LONGOFF [CLONG1 STILL SET AFTER WAIT EXPIRES 8 4X=B BRN WIT 16 4XQ2 WSLE LDCT 0 #400 [INDICATE ASLEEP 19 4Y9L ADN 0 #2000 [BE WOKEN ON INOPERABILITY 9 4YP= ORS 0 IWAIT(3) 6 4_8W COOR1 10 4_NG WOPAG MHUNTW 3,AMXOR,ADCB 8 5286 LDCT 0 #100 10 52MQ SMO A1+FPTR(3) 9 537B ANDX 0 FOURTHWD 15 53M2 BNZ 0 TOAB [MOPPING OFF 8 546L WIT ADX 4 FX1 7 54L= EXIT 4 1 4 555W # 21 55KG # GET LAST FOUR CHARACTERS INTO X5 & X6 TO TEST FOR CANCEL & BREAKIN 4 5656 # 8 56JQ ZFOUR LDX 4 A1(2) 17 574B ANDN 4 #7777 [NO. OF CHARS INPUT 7 57J2 SRC 4 2 17 583L ADN 4 A1+1(2) [INPUT STARTS IN A1+2 7 58H= LDN 5 6 18 592W MVCH 4 4 [LAST FOUR CHARS INTO X6 15 59GG SBX 6 SCAN(1) [#76217610 7 5=26 LDN 5 0 8 5=FQ SLL 56 12 7 5=_B EXIT 7 0 4 5?F2 # 18 5?GP ...SESCREEN [SUB TO ALTER ISMFORM... 17 5?JD ...[ ...IN ASCREEN BLOCK 11 5?L7 ... HUNTW 2,AMXOR,ASCREEN 17 5?MW ... BNG 2 NSCED [J IF NOT SCEDITING 18 5?PK ... LDX 0 ISMFORM(2) [SAVE OLD SCREEN POSN 17 5?R# ... STO 7 ISMFORM(2) [STORE NEW POSITION 8 5?T3 ...NSCED LDX 2 FX2 7 5?WQ ... EXIT 6 0 21 5?YL # IDENTIFIER INOPERABLE : SET PERIPHERAL TYPE IN CPA TO MCF SO THAT 21 5#D= # SUBSEQUENT MONOUTS GO TO K4MULTIPLX ; OUTPUT MESSAGES TO LOCAL AND 11 5#XW # REMOTE OPERATORS' CONSOLES 4 5*CG # 20 5*X6 TFREE FREECORE 1 [ENTRY IF INOP DURING LONG RECORD 6 5BBQ SK1IPBMOPB 10 5BWB TFR HUNTW 1,AMXOR,IOUT 8 5CB2 BPZ 1 TFREE 10 5CTL TINOP MHUNTW 3,AMXOR,ADCB 8 5CXG ... SMO FX2 20 5CY6 ... STOZ AWORK1 [SET AWORK1 = ZERO ENTRY PT ONE 20 5C_H ... LDCT 0 4 [UNSET ^TAKE DEVICE INOPERABILITY 19 5D5D ... ORS 0 ISTATUS(3) [ACTION IMMEDIATELY^ FLAG(B6) 10 5D9* ... ERS 0 ISTATUS(3) 7 5D*= LDCT 0 1 20 5DSW ADN 0 #100 [INDICATE INOPERABILITY NOTICED 19 5F#G ORS 0 IWAIT(3) [INDICATE SS REPLIES REQUIRED 20 5FS6 LDN 6 #227 ['CRASH CLOSE' (AND DISCONNECT) 18 5G?Q CALL 7 SUPER [DISCONNECT DIALLED LINE 8 5GFJ ... ANDN 6 #77 8 5GHG ... SBN 6 #66 19 5H?2 BZE 6 RCI [CLOSE IMPLEMENTED RECEIVED 18 5HQL SBX 7 FX1 [RELATIVISE PREVIOUS LINK 20 5J== BRN WAC [LOOK AGAIN FOR CLOSE IMPLEMENTED 20 5JPW RCI HUNTW 1,AMXOR,IDATSG [FREE ANY (REVERTED) DATA LEFT 8 5K9G BNG 1 TOT 5 5KF# ...TFREE1 7 5KP6 FREECORE 1 8 5L8Q BRN RCI 20 5LDJ ...TOT HUNTW 1,AMXOR,IMESSG [FREE ANY INTERMEDIATE INPUT DATA 9 5LNB ... BPZ 1 TFREE1 8 5LY8 ... LDN 0 #40 7 5M82 LDN 6 7 21 5MML ANDX 0 IWAIT(3) [B18 SET IF 'CLOSE REQUEST' RECEIVED 19 5N7= DCH 6 JSOURCE1(2) [INDICATE TAKING INOP. ACTION 20 5NLW BNZ 0 RENAM [IDENT. ON TEST : LEAVE CLOSED 9 5NWM ... LDX 0 AWORK1(2) 16 5N_= ... BNG 0 RENAM [J. FREE IDENT 14 5P6G LDN 6 #120 ['OPEN' 8 5PL6 CALL 7 SUPER 9 5Q5Q LDX 5 IWAIT(3) 8 5QKB ANDX 5 BIT11 20 5R52 BNZ 5 RED [B11 : NO INPUT SO NEVER OPERABLE 4 5RJL # 10 5S4= RENAM HUNTW 1,GMON,AOUT 20 5SHW BNG 1 NOGM [NO GMON/AOUT : MUST BE BROADCAST 18 5T3G NAME 1,AMXOR,#77 [PRESERVE AROUND INFORM 21 5TH6 BRN RENAM [TWO GMON/AOUTS IF SENDING RESTARTED 7 5W2Q NOGM OUTBLOCN 4 18 5WGB LDEX 6 JSOURCE1(2) [GEOG UNIT NUMBER OF IPB 20 5X22 OUTNUM 6,2,1 [IN 2 CHARS WITH ZERO SUPPRESSION 10 5XFL LDX 4 JSOURCE2(2) 17 5X_= ANDN 4 #7777 [IDENTIFIER NUMBER 17 5YDW OUTNUM 4,0 [IDENTIFIER NUMBER 9 5YNM ... LDX 7 AWORK1(2) 15 5YR= ... BNG 7 RE [J. FREE 18 5YYG INFORM 2,HINOP,0 [SEND TO CLUSTER CONSOLE 10 5_D6 RE HUNTW 1,AMXOR,#77 15 5_XQ BNG 1 STIN [ALL RENAMED 10 62CB NAME 1,GMON,AOUT 20 62X2 BRN RE [TWO IF INOP SENDING 'RESTARTED' 10 63BL STIN MHUNTW 3,AMXOR,ADCB 8 63W= LDN 0 #40 9 64*W ANDX 0 IWAIT(3) 18 64TG BNZ 0 STACR [ON TEST : LEAVE CLOSED 9 655? ... LDX 0 AWORK1(2) 9 657W ... BNG 0 TOMLTA 18 65*6 FINDRET 1 [POINT TO RETAINED BLOCK 8 65SQ #SKI IPBIDE-A1-2 21 66#B COMPILATION ERROR : IPBIDE NOT EQUAL TO A1+2 : MUST MOVE DATA ALONG 17 66S2 OUTLEN 1,0 [GET CHAR COUNT IN X0 7 67?L LDX 2 0 14 67R= ADN 0 3 [ROUND UP 7 68=W SBN 2 8 7 68QG SLL 0 4 20 69=6 STO 2 IPBIDE+1(1) [COUNT OF CHARS IN DATA PORTION 17 69PQ ANDN 0 #7700 [WORD COUNT IN CHAR 2 14 6=9B ADN 2 3 [ROUND UP 19 6=P2 ADN 0 7 [INDICATES REMOTE TW DISPLAY 7 6?8L SRL 2 2 18 6?N= SLL 0 12 [WORD COUNT IN CHAR. 0 20 6#7W STO 0 IPBIDE(1) [SUPERVISORY SEG CODE IN CHAR 1 10 6#MG NAME 1,AMXOR,IOUT 16 6*76 ADN 2 IDATA-A1 [LENGTH OF OUTPUT 9 6*LQ STOZ IMOPTY(1) 8 6B6B ALTLEN 1,2 10 6BL2 MHUNTW 3,AMXOR,ADCB 19 6C5L LDX 6 FX1 [EXIT FROM RINGO IMMEDIATELY 13 6CK= LDN 7 RED [LINK 8 6D4W BRN RINGO 16 6DJG RED LDN 6 #121 ['START INPUT' 15 6F46 CALL 7 SUPER [START INPUT 4 6FHQ # 6 6G3B SK3IPBMOPB 7 6GH2 STACR LDN 0 7 8 6H2L LDX 2 FX2 19 6HG= DCH 0 JSOURCE1(2) [SET FUNNY PERIPHERAL TYPE. 5 6H_W TOMLT 18 6JFG ACROSS MULTIPLX,4 [DIVERT CURRENT OUTPUT 5 6JN7 ...TOMLTA 18 6JQB ... BS 2,BRIDENTFR [SET B9 IN JOBEVENTS 8 6JSK ... BRN TOMLT 4 6J_6 # 20 6KDQ # REVERSION EXPECTED : FREE REVERTED BLOCKS ACCORDING TO DISCARD 20 6KYB # MASK , UNTIL NO MORE REVERTED BLOCKS,AND BREAK-IN LEVEL ZERO ; 21 6LD2 # THEN CONTINUE WITH PRESENT OUTPUT , OR INPUT RECEIVED FOR 'READY' 4 6LXL # 6 6MC= SK2IPBMOPB 21 6MRQ ... MHUNTW 3,AMXOR,ADCB [CHECK IF OUTPUT WAITING TO BE SENT 9 6N8= ... LDX 5 IWAIT(3) 7 6NJQ ... SLC 5 7 10 6N_= ...TOW HUNTW 1,AMXOR,IOUT 18 6P*Q ... BNG 1 TEBIL [NO (MORE) OUTPUT WAITING 17 6PQ= ... BPZ 5 TNAM [NOT TURNROUND BLOCK 20 6Q6Q ... FREECORE 1 [DISCARD ANY TURNROUND MESSAGE AS 21 6QH= ... [NEW ONE FOLLOWS ^BROKEN IN^ MESSAGE 8 6QXQ ... BRN TOW 21 6R#= TNAM NAME 1,ADATA,IPTEMP [OUTPUT ONLY AFTER REVERTED BLOCKS 10 6RRW HUNTW 1,AMXOR,IOUT 18 6S?G BPZ 1 TNAM [OUTPUTTING LONG RECORD 8 6SR6 ...TEBIL LDX 1 FX1 16 6TQB LDEX 4 IBIL(3) [BREAK-IN LEVEL 21 6W=2 LDCH 0 IBIL(3) [NO. OF BREAK-IN'S SINCE LAST INPUT 7 6WPL SBN 0 8 21 6X9= BPZ 0 TINOP [CONSOLE NOT CONNECTED : INOPERABLE 17 6XNW BZE 4 ZERBI [ZERO BREAK-IN LEVEL 8 6Y8G POBIL CALL 4 WAITO 8 6YN6 BRN TINOP 8 6_7Q BRN TEBIL 4 6_MB # 7 7272 SUF FREECORE 2 19 72LL ZERBI HUNTW 2,AMXOR,IDATSG [FIND REVERTED (=INPUT) BLOCK 18 736= BNG 2 NOREB [NO MORE REVERTED BLOCKS 8 73KW LDCT 5 #600 19 745G ANDX 5 A1+1(2) [B1 SET IF REVERTED OUTPUT 21 74K6 BNG 5 SUF [SUPSEG DURING BI E.G. INPUT CLEARED 8 754Q BNZ 5 REVB 20 75JB LDCH 0 A1(2) [INPUT WHICH PRECEDED BREAK IN 19 7642 ANDN 0 5 [IGNORE UNLESS ENDED NORMALLY 20 76HL BNZ 0 NOR [TIMED OUT OR TRANSMISSION ERROR 8 773= CALL 7 ZFOUR 14 77GW BZE 5 NOR [BREAK-IN 15 782G BZE 6 NOR [CANCELLED 20 78G6 BRN PASS [PASS INPUT TO COMMAND PROCESSOR 4 78_Q # 17 79FB REVB LDX 4 ISTATUS(3) [CONTROL DISCARD MASK 8 79_2 ANDX 4 A1(2) 20 7=DL ANDX 4 REMASK(1) [NON-ZERO IF DATA TO BE DISCARDED 15 7=Y= BNZ 4 SUF [FREE BLOCK 17 7?CW NAME 2,AMXOR,IOUT [RENAME FOR RE-OUTPUT 16 7?XG LDX 0 A1(2) [SEGMENT HEADER 17 7#C6 ERX 5 A1+1(2) [GET IDENTIFIER NO. 16 7#WQ ANDX 0 VMASK(1) [UNSET B7 IF SET 9 7*BB STO 5 IPBIDE(2) 10 7*W2 STO 0 IPBIDE+1(2) 7 7B*L LDN 5 1 19 7BT= ORS 5 IMOPTY(2) [MARK 'ACTIVITY TO BE WOKEN' 7 7C#W LDX 1 2 19 7CSG CALL 6 RINGR [OUTPUT THIS RENAMED BLOCK 16 7D#6 BRN ZERBI [GET NEXT BLOCK 4 7DRQ # 7 7F?B NOR FREECORE 2 9 7FR2 NOREB LDEX 4 IBIL(3) 18 7G=L BNZ 4 POBIL [POSITIVE BREAK-IN LEVEL 8 7GQ= LDCT 0 #200 9 7H9W ANDX 0 IWAIT(3) 19 7HPG ERS 0 IWAIT(3) [UNSET EXPECT REVERSION BIT 7 7J96 LDCT 0 2 9 7JNQ ANDX 0 IWAIT(3) 18 7K8B BNZ 0 TOAB [LAST ENTRY WAS 'READY' 11 7KN2 HUNTW 2,ADATA,IPTEMP 19 7L7L BPZ 2 NOWSE [ENTERED FROM NOTBB VIA REVEX 8 7LM= NOUB LDX 2 FX2 19 7M6W BRN OUFIN [NO OUTPUT WAITING TO BE SENT 17 7MLG NOWSE NAME 2,AMXOR,IOUT [RENAME OUTPUT BLOCK 11 7N66 HUNTW 2,ADATA,IPTEMP 8 7NKQ BPZ 2 NOWSE 14 7P5B # NOW SIEVE THE ORDINARY OUTPUT MESSAGE 10 7PK2 MHUNTW 2,AMXOR,IOUT 21 7Q4L LDX 4 ISTATUS(3) [CONTROL DISCARD MASK-RESET @ NEXT BI 10 7QJ= ANDX 4 IPBIDE+1(2) 21 7R3W ANDX 4 REMASK(1) [NON-ZERO IF MESSAGE TO BE DISCARDED 17 7RHG BZE 4 NORIN [OK TO SEND MESSAGE 16 7S36 SOUB FREECORE 2 [DISCARD MESSAGE 10 7SGQ HUNTW 2,AMXOR,IOUT 15 7T2B BPZ 2 SOUB [LONG MESSAGE 16 7TG2 BRN NOUB [SIEVE COMPLETED 4 7T_L # 20 7WF= TOAB READYON [SET 'READY' MACRO BREAK-IN BIT 5 7WYW UP 7 7XDG PASS UPPLUS 1 7 7XY6 OUFIN UPPLUS 2 7 7YCQ NORIN UPPLUS 3 4 8T9L # 13 8TP= # INPUT TIMED OUT IN NO USER CONTEXT 19 8W8W # INHIBIT MOP BREAK-IN WHILE CLOSED DOWN MESSAGE IS OUTPUT 4 8WNG # 6 8X86 SK8IPBMOPB 4 8XMQ [ 16 8Y7B [ X7 -VE IF CLOSE DOWN IN NO-USER CONTEXT 14 8YM2 [ X7 +VE IF MOPWAITTIME EXCEEDED 4 8_6L [ 10 8_L= MHUNTW 3,AMXOR,ADCB 8 9356 BPZ 7 MWTEX 9 93JQ TOOUT STO 7 AWORK1(2) 8 94#8 ... BPZ 7 XPROP 21 94J2 SEGENTRY K60IPBMOPB [LABEL FOR MENDING IN PROPAGANDA CODE 8 953L BRN XPROP 10 95H= LDXC 0 ICURSOR(3) 21 962W BCC XPROP [ONLY OUTPUT PROPAGANDA IF MOP DISPLA 9 96GG DOWN LISTMOP,2 21 9726 MHUNTW 3,AMXOR,ADCB [REFIND THE DCB AFTER COORDINATION. 18 97FQ XPROP ANDN 4 #67 [NOT TIMED OUT MESSAGE 9 97_B DCH 4 IWAIT(3) 18 98F2 LDN 6 #124 ['STOP INPUT AND CLEAR' 18 98YL LDCT 0 #41 [SET TIMED OUT MARKER AND 18 99D= ORS 0 IWAIT(3) [INDICATE SS REPLIES REQD 18 99XW CALL 7 SUPER [SEND SUPERVISORY SEGMENT 19 9?2= ... LDCT 7 4 [PUT MOPWAITTIME MESSAGE... 20 9?5B ...[ ...ON NEW SCREEN IF SCEDITING 9 9?8G ... CALL 6 SESCREEN 19 9??L ... LDX 4 0 [SAVE OLD SCREEN POSITION 9 9?BQ LDX 7 AWORK1(2) 8 9?WB BNG 7 ZCLSE 7 9#B2 SMO 7 20 9#TL [ OUTPUT MOPWAITTIME EXCEEDED MESSAGE 14 9**= [ IF NEEDED 10 9*SW LDX 5 ZJMOPWT(1) 8 9B#G LDN 7 ZCLSE 8 9BS6 BRN OUTSB 5 9C?Q ZCLSE 19 9CDY ... LDCT 7 #10 [PUT CLOSED DOWM ON NEXT LINE 9 9CL6 ... CALL 6 SESCREEN 10 9D?2 LDX 5 ZJTOCLOSE(1) 19 9DQL CALL 7 OUTM [OUTPUT CLOSED DOWN MESSAGE 20 9DXS ... LDX 7 4 [RESET OLD SCREEN POSITION 9 9F52 ... CALL 6 SESCREEN 10 9F== LDXC 0 ICURSOR(3) 20 9FPW BCS RESET [MOP DISPLAY : OMIT NLS AND EOM 9 9G9G LDCH 4 ICHARS(3) 7 9GP6 ADX 4 4 9 9H8Q ADX 4 INOCHS(3) 8 9HNB LDN 5 #4004 8 9J82 CALL 7 SETU 10 9JML LDN 4 INLBUFF(3) 9 9K7= LDCH 1 ICHARS(3) 14 9KLW MVCH 4 0(1) [NEWLINE 10 9L6G LDN 4 INLBUFF(3) 14 9LL6 MVCH 4 0(1) [NEWLINE 10 9M5Q LDN 4 INLBUFF(3) 19 9M8* ... SEGENTRY K52IPBMOPB [USED BY THE TERMIOFF MACRO 20 9M=Y ... BRN NLEOM [NULLIFIED BY THE TERMIOFF MACRO 8 9M*H ... SMO FX1 16 9MD6 ... LDN 4 TURNOFFEOM [NEWLINE + ESC J 5 9MGP ...NLEOM 9 9MKB LDX 1 INOCHS(3) 18 9N52 MVCH 4 0(1) [NEWLINE + END OF MESSAGE 8 9NJL CALL 6 RINGO 4 9P4= # 5 9PHW RESET 8 9R2Q LDX 3 FX2 9 9RGB LDXC 7 AWORK1(3) 19 9S22 [ IF MOPWAITTIME EXCEEDED... 17 9SFL [ SET DEVICE TYPE TO 7 8 9S_= BCS ZCLNI 7 9TDW LDN 0 7 10 9TYG DCH 0 JSOURCE1(3) 5 9WD6 ZCLNI 18 9XCB LDN 6 #226 ['CLOSE' (AND DISCONNECT) 8 9XX2 CALL 7 SUPER 14 9YBL LDN 6 #120 ['OPEN' 8 9YW= CALL 7 SUPER 16 9_*W LDN 6 #121 ['START INPUT' 8 9_TG CALL 7 SUPER 10 =2*6 LDXC 0 ICURSOR(3) 15 =2SQ BCC SUIC [MOP CONSOLE 20 =3#B LDN 5 #4214 [MOP DISPLAY : PUT IN TYPE MODE 7 =3GL ... LDN 4 4 8 =4?L CALL 7 SETU 7 =4R= LDN 0 1 21 =5=W STO 0 IMOPTY(2) [WAKE ACTIVITY AFTER THIS READY SENT 9 =5QG LDX 0 ISYNC(3) 9 =6=6 STO 0 IDATA(2) 8 =6PQ CALL 6 RINGO 10 =79B SUIC MHUNTW 3,AMXOR,ADCB 10 =7P2 LDX 1 A1+FPTR(3) 17 =88L STOZ BPTR(1) [ZEROISE ELEMENTS TO 18 =8N= STOZ A1+BPTR(3) [DE-RING FROM ADEVS BLOCK 8 ==76 SMO FX2 9 ==LQ LDXC 0 AWORK1 19 =?6B [ J IF NOT MOPWAITTIME EXCEEDED 20 =?L2 [ ELSE GO TO SEND JOB INTO LIMBO 8 =#5L BCS NZMLT 10 =#K= ACROSS MULTIPLX,5 5 =*4W NZMLT 16 =B46 FREECORE 3 [AMXOR/ADCB BLOCK 9 =BHQ ACROSS LOGOUT,7 20 =D2L [ NOW SELECT MESSAGE BY SETTING X7 7 =DG= MWTEX LDN 7 2 10 =D_W ANDX 7 CONTEXT(2) 17 =FFG BZE 7 TOOUT [J IF USER CONTEXT 7 =F_6 LDX 0 4 7 =GDQ ANDN 0 2 14 =GYB BZE 0 TOOUT [NO USER 7 =HD2 LDN 7 1 16 =HXL ISITJOB TOOUT [NO USER INPUT 15 =JC= BDX 7 TOOUT [NOUSER JOB 4 =KBG # 4 =KW6 # 20 =L*Q # AMXOR/IOUT BLOCK FULL : END OF NPU ; TIDY UP CURRENT BLOCK AND 17 =LTB # SET UP NEW ONE AND INSERT CURSOR POSITIONING CODES 4 =M*2 # 16 =MSL VNEWB SBX 7 FX1 [RELATIVISE AND 16 =N#= STO 7 ACOMMUNE1(2) [PRESERVE LINK 20 =NRW SBX 4 ACOMMUNE4(2) [RELATIVISE MESSAGE POINTER AND 14 =P?G STO 4 ACOMMUNE4(2) [SAVE IT 17 =PR6 MHUNTW 1,AMXOR,IOUT [IOUT BLOCK POINTER 20 =Q=Q SBX 5 1 [RELATIVE END OF MESSAGE POINTER 15 =QQB SBN 5 IDATA [- RED TAPE 20 =R=2 SLC 5 2 [COUNT OF CONVERTED DATA CHARS 19 =RPL DSA 5 IPBIDE+1(1) [DEPOSIT COUNT OF DATA CHARS 10 =S9= ADN 5 IDATA-A1*4+3 18 =SNW SRL 5 2 [LENGTH OF OUTPUT BLOCK 10 =T8G TXU 5 ALOGLEN(1) 18 =TN6 BCC VALTD [CORRECT LENGTH ALREADY 19 =W7Q ALTLENG 1,5 [SHORTEN CURRENT IOUT BLOCK 17 =WMB VALTD LDX 4 ACOMMUNE2(2) [NPU SIZE IN CHARS 18 =X72 LDN 5 #4000 [HEADER AND DISCARD MASK 7 =YKW LDCT 7 2 9 =_5G ANDX 7 IWAIT(3) 19 =_K6 BZE 7 VNEWN [NOT A (LONG) READY MESSAGE 17 ?24Q MHUNTW 1,AMXOR,IOUT [RE-FIND CURRENT NPU 10 ?2JB LDX 5 IPBIDE+1(1) 19 ?342 SRL 5 12 [PASS HEADER FLAGS TO NEW NPU 8 ?3HL LDCT 0 #20 21 ?43= ERS 0 IPBIDE+1(1) [UNSET ^TURNROUND BIT^ IN CURRENT NPU 7 ?4GW LDN 0 1 21 ?52G ORS 0 IMOPTY(1) [SET ^ACT TO BE WOKEN^ IN CURRENT NPU 5 ?5G6 VNEWN 8 ?6FB CALL 7 SETU 8 ?6_2 LDX 2 FX2 21 ?7DL LDX 6 ACOMMUNE2(2) [COUNT OF UNUSED CHARS IN NEW IOUT 21 ?7Y= CALL 7 VSETCCODES [SET CURSOR POS CODES FOR THIS NPU 19 ?8CW LDEX 7 ICURSOR(3) [CHAR COUNT FOR CURSOR CODES 18 ?8XG SBX 6 7 [UPDATE ROOM LEFT IN NPU 10 ?9C6 LDN 4 ICURSOR+1(3) 10 ?9WQ SMO ICURSOR(3) 21 ?=BB MVCH 4 0 [MOVE IN CUR POS CODES FOR THIS NPU 18 ?=FG ... LDCT 0 #740 [MOVE IN ALPHA SHIFT TO 18 ?=JL ... LDN 4 0 [ENSURE UPPER CASE AFTER 16 ?=MQ ... MVCH 4 1 [HORIZONTAL TAB 18 ?=QW ... SBN 6 1 [UPDATE ROOM LEFT IN NPU 10 ?=W2 LDX 4 ACOMMUNE4(2) 9 ??*L LDX 0 AWORK1(2) 19 ??T= BZE 0 VMBF [MESSAGE IN CURRENT CHAPTER 18 ?##W MHUNTX 1,AWORK1(2) [RE-FIND MESSAGE BLOCK 21 ?#SG VMBF STO 1 ACOMMUNE4(2) [PRESERVE ADDRESS OF MESSAGE BLOCK 18 ?*#6 ADX 4 1 [RESET MESSAGE POINTER 14 ?*RQ LDX 1 FX1 [RESET X1 15 ?B?B LDX 7 ACOMMUNE1(2) [RESET LINK 8 ?BR2 ADX 7 FX1 7 ?C=L EXIT 7 0 4 ?CQ= # 20 ?D9W # IF MESSAGE HELD IN IPBMOPB,SELECT MESSAGE FROM NUMBER IN ACOM9 4 ?DPG # 5 ?F96 VPRESET 21 ?FJT ... LDCH 0 ACOMMUNE9(2) [#77 IN CHAR0=MESSAGE HELD IN IPBMOPB 8 ?FYJ ... SBN 0 #77 19 ?G#? ... BNZ 0 (7) [MESSAGE NOT HELD IN IPBMOPB 21 ?GN2 STOZ AWORK1(2) [INDICATE MESS HLD IN CURRENT CHAPTER 21 ?H7L ... NGX 0 ACOMMUNE9(2) [CONVERT MESSAGE NO BACK TO +VE FORM 19 ?HM= BCT 0 (7) [MESSAGE NO NOT = 1 : EXIT 18 ?J6W # MESSAGE NO 1 : ^BREAK IN ^ MESSAGE REQUESTED 19 ?JLG LDX 6 VBI(1) [^BREAK IN^ MESSAGE REQUESTED 10 ?K66 STO 6 ACOMMUNE8(2) 21 ?KKQ LDN 6 VBI+1 [RELATIVE START OF BI MESSAGE ADDRESS 10 ?L5B STO 6 ACOMMUNE9(2) 7 ?LK2 EXIT 7 0 4 ?M4L # 17 ?MJ= # SET CURSOR POSITIONING CODES FOR CURRENT MESSAGE 4 ?N3W # 6 ?NHG VSETCCODES 21 ?P36 LDCH 0 ACOMMUNE5(2) [START LINE NO FOR CURRENT MESSAGE 21 ?PGQ ERN 0 #20 [CONVERT LINE NO TO VERTICAL TAB CODE 7 ?Q2B ... SMO 3 18 ?QG2 ... DCH 0 ICURSV [SET VERTICAL TAB CODE 16 ?RF= LDEX 0 ACOMMUNE5(2) [START COLUMN NO 9 ?RYW TXL 0 V32(1) 15 ?SDG BCC VGT31 [COL NO > 31 8 ?SY6 ERN 0 #20 8 ?TCQ VHTC ORN 0 #7400 8 ?TXB BRN VSHC 9 ?WC2 VGT31 TXL 0 V60(1) 15 ?WWL BCS VHTC [COL NO < 60 9 ?XB= VGT59 TXL 0 V64(1) 15 ?XTW BCC VGT63 [COL NO > 63 8 ?Y*G SBN 0 #10 8 ?YT6 ORN 0 #7600 8 ?_#Q BRN VSHC 8 ?_SB VGT63 SBN 0 #40 8 #2#2 ORN 0 #7500 18 #2RL VSHC DSA 0 ICURSH(3) [SET HORIZONTAL TAB CODE 7 #3?= EXIT 7 0 4 #3QW # 18 #4=G # SET CURSOR POSITIONING COUNTS(IN ACOM5) FOR NEXT CHAR 4 #4Q6 # 5 #59Q VSETCCTS 17 #5PB LDEX 0 ACOMMUNE5(2) [COL NO OF LAST CHAR 7 #692 ADN 0 1 16 #6NL LDEX 1 ICHARS(3) [DISPLAY WIDTH 7 #78= TXL 0 1 18 #7MW BCS VUCN [COL NO < DISPLAY WIDTH 8 #87G LDCT 0 #10 16 #8M6 ADS 0 ACOMMUNE5(2) [UPDATE LINE NO 16 #96Q VUCN DEX 0 ACOMMUNE5(2) [UPDATE COL NO 7 #9LB EXIT 7 0 4 #=62 # 16 #=KL # PREPARE A MESSAGE FOR TRANSMISSION TO A VDU 4 #?5= # 8 #?JW # X3=DCB POINTER 9 ##4G # X4=MESSAGE POINTER 9 ##J6 # X5=IOUT POINTER 12 #*3Q # X6=ROOM IN IOUT BLOCK (NPU) 12 #*HB # AWORK1=BLOCK TYPE OF MESSAGE 13 #B32 # AWORK2=VEDIT'S RELATIVISED LINK 16 #BGL # AWORK3=NO OF CHARS IN ORDINARY OUTPUT MESSAGE 19 #C2= # AWORK4=NO OF RACK UP SEQUENCES REQUIRED IN CURRENT MESSAGE 11 #CFW # /EMPTY MESSAGE INDICATOR 12 #C_G # ACOM1=VNEWB'S RELATIVISED LINK 11 #DF6 # ACOM2=NPU SIZE IN CHARS 14 #DYQ # ACOM3=RELATIVE MESSAGE PART ADDRESS 12 #FDB # ACOM4=ADDRESS OF MESSAGE BLOCK 20 #FY2 # ACOM5=CURSOR POSITIONING COUNTS OF CURRENT MESSAGE CHARACTER 19 #GCL # ACOM6=CURSOR POSITIONING COUNTS FOR START OF NEXT MESSAGE 19 #GX= # ACOM7-B0-11=MESSAGE PART BLOCK TYPE-B12-23=CHAR COUNT OF 10 #HBW # MESSAGE PART REMAINING 12 #HWG # ACOM8=COUNT OF MESSAGE CHARS 20 #JB6 ...# ACOM9=RELATIVE (CHARACTER) ADDRESS OF MESSAGE TO BE PREPARED 4 #JTQ # 6 #K*B SK10IPBMOPB 10 #KT2 MHUNTW 3,AMXOR,ADCB 7 #L#L LDN 0 1 9 #LS= ORS 0 IWAIT(3) 21 #M?W ERS 0 IWAIT(3) [UNSET ^OUTPUT SUSPENDED^ FLAG IF SET 9 #MRG LDX 4 IMDNPU(3) 8 #N?6 ANDN 4 #7777 7 #NQQ SLL 4 2 19 #P=B STO 4 ACOMMUNE2(2) [PRESERVE NPU SIZE IN CHARS 18 #PQ2 VFBLK CALL 7 SETU [SET UP AMXOR/IOUT BLOCK 19 #R8W LDX 4 ICURPOS(3) [CURRENT POSITIONING COUNTS 11 #RNG HUNTW 2,AMXOR,ASCREEN 19 #S86 BNG 2 VCTS [NOT IN SCREEN EDITING MODE 19 #SMQ LDX 4 ISMFORM(2) [USE SCEDITOR'S CURSOR COUNTS 8 #T7B VCTS LDX 2 FX2 21 #TM2 STO 4 ACOMMUNE6(2) [PRESERVE CURSOR POSITIONING COUNTS 21 #W6L STO 4 ACOMMUNE5(2) [AND AGAIN FOR START LINE&COLUMN NOS 21 *2H= CALL 7 VPRESET [IF MESS HELD IN IPBMOPB,SELECT MESS 21 *32W # CALCULATE LAST LINE&COLUMN NO WHICH WILL HOLD THE MESSAGE 19 *3GG LDCH 6 ACOMMUNE5(2) [CURRENT LINE NO OF CURSOR 16 *426 LDEX 0 ICHARS(3) [DISPLAY WIDTH 19 *4FQ LDEX 7 ACOMMUNE5(2) [CURRENT COLUMN NO OF CURSOR 21 *4_B SBX 0 7 [NO OF UNUSED CHARS ON CURRENT LINE 18 *5F2 LDX 7 ACOMMUNE8(2) [NO OF CHARS IN MESSAGE 7 *5YL LDCT 4 2 9 *6D= ANDX 4 IWAIT(3) 17 *6XW BZE 4 VULCS [NOT A READY MESSAGE 10 *8BQ ANDX 4 ACOMMUNE6(2) 21 *8WB BNZ 4 VULCS [READY TERMINATOR SEQUENCE SUPPRESSED 19 *9B2 LDN 4 1 [X4 +VE FOR A READY MESSAGE 20 *=*= ADN 7 3 [ACCOUNT FOR READY TERMINATOR SEQ 7 *=SW VULCS SBX 7 0 16 *?#G BNG 7 VCOL [MESSAGE < A LINE 7 *?S6 LDN 0 1 21 *#?Q ADS 0 ICONTU(3) [UPDATE CT OF LINES O/P SINCE LAST TR 20 *#RB ADS 0 6 [INCREASE CURRENT LINE NO BY 1 7 **?2 LDN 0 0 21 **QL DEX 0 ACOMMUNE6(2) [UPDATE START COLUMN NO FOR NEXT MESS 16 *B== LDEX 0 ICHARS(3) [DISPLAY WIDTH 8 *BPW BRN VULCS 7 *C9G VCOL ADX 7 0 21 *CP6 ADS 7 ACOMMUNE6(2) [UPDATE START COLUMN NO FOR NEXT MESS 21 *D8Q LDX 7 ICONTU(3) [CHECK MESS DOESN'T OVERFLOW CURR PAG 8 *DNB ANDN 7 #777 11 *F82 SBX 7 VCONTOUTPUT(1) 7 *FML SLC 4 7 21 *G7= BPZ 4 VMSZ [NOT A TEXT READY(FROM SCREEN EDITOR) 21 *GLW SBN 7 1 [DISCOUNT THE TEXT READY'S ^SOM LINE^ 4 *H6G VMSZ 20 *HL6 BZE 7 VRUC [ENTIRE MESSAGE CAN BE PREPARED 20 *J5Q BNG 7 VRUC [ENTIRE MESSAGE CAN BE PREPARED 17 *JKB SBX 6 7 [UPDATE LAST LINE NO 20 *K52 LDX 0 VCONTOUTPUT(1) [LIMIT OUTPUT TO MAXIMUM NO OF 21 *KJL DEX 0 ICONTU(3) [LINES ALLOWED FOR CONTINUOUS OUTPUT 16 *L4= LDEX 0 ICHARS(3) [DISPLAY WIDTH 21 *LHW MPY 7 0 [GET NO OF CHARS NOT ALLOWED FOR O/P 10 *M3G LDEX 7 ACOMMUNE6(2) 21 *MH6 ADX 0 7 [INCLUDING THE CHARS CHAR 1 16 *W*W LDCH 0 ICHARS(3) [DISPLAY LENGTH 9 *WTG ANDX 3 BITS22LS 10 *X*6 LDEX 7 ACOMMUNE6(2) 21 *XSQ BNZ 7 VRUC1 [MESS DOESN'T END ON THE LAST COLUMN 21 *Y#B ADN 0 1[X6 NOT=LAST LINE NO OF MESSAGE SO ADJUST DISPLAY LENGTH 21 *YS2 VRUC1 TXL 6 0 [IF LAST LINE NO FOR THIS MESSAGE IS 21 *_?L BCS VRUC2 [< DISPLAY LENGTH,NO (MORE) RACK UPS 20 *_R= SBN 6 2 [RACK UP = 2 LINES,UPDATE LINE NO 8 B2=W LDCT 7 #20 18 B2QG SBS 7 ACOMMUNE5(2) [DECREMENT START LINE NO 7 B3=6 LDN 7 1 21 B3PQ ADS 7 AWORK4(2) [UPDATE COUNT OF REQUIRED RACK UPS 8 B49B BRN VRUC1 17 B4P2 VRUC2 BZE 4 VNXM [NOT A READY MESSAGE 20 B58L SBN 6 2 [READY MESSAGE : RESET LINE NO 21 B5N= VNXM DCH 6 ACOMMUNE6(2) [PRESERVE START LINE NO FOR NEXT MESS 19 B67W # SET CURSOR POSITIONING CODES FOR CURRENT MESSAGE 10 B6MG CALL 7 VSETCCODES 4 B776 # 17 B7LQ LDX 6 ACOMMUNE2(2) [NPU SIZE IN CHARS 21 B95L # IF CLEAR SCREEN FLAG SET,MOVE IN CLEAR SCREEN SEQUENCE 7 B9K= LDCT 0 4 10 B=4W ANDX 0 ACOMMUNE6(2) 19 B=JG BZE 0 VRACK [CLEAR SCREEN FLAG NOT SET 18 B?46 ERS 0 ACOMMUNE6(2) [UNSET CLEAR SCREEN FLAG 20 BB_6 LDN 4 VCLEAR(1) [MOVE IN CLEAR SCREEN SEQUENCE 7 BCDQ MVCH 4 3 8 BCYB LDN 0 24 9 BDD2 VSYNS LDN 4 ISYNC(3) 7 BDXL MVCH 4 2 8 BFC= BCT 0 VSYNS 18 BFWW SBN 6 51 [UPDATE ROOM LEFT IN NPU 18 BGBG # MOVE IN THE REQUIRED NO OF RACK UP SEQUENCES 9 BGW6 VRACK LDX 0 AWORK4(2) 18 BH*Q BZE 0 VRNL [RACK UP(S) NOT REQUIRED 7 BHTB SBN 0 1 19 BJ*2 STO 0 AWORK4(2) [REDUCE RACK UP COUNT BY 1 18 BJSL VUR SBN 6 33 [UPDATE ROOM LEFT IN NPU 20 BK#= BPZ 6 VMRU [SUFFICIENT ROOM FOR 1 RACK UP 18 BKRW CALL 7 VNEWB [GET NEW AMXOR/IOUT BLOCK 8 BL?G BRN VUR 18 BLR6 VMRU LDN 4 VRACKUP(1) [MOVE IN RACK UP SEQUENCE 7 BM=Q MVCH 4 3 8 BMQB LDN 0 15 9 BN=2 VSYNZ LDN 4 ISYNC(3) 7 BNPL MVCH 4 2 8 BP9= BCT 0 VSYNZ 8 BPNW BRN VRACK 21 BQ8G # IF READY MESS,MOVE IN SEQUENCE TO CLEAR READY LINE + NEXT 7 BQN6 VRNL LDCT 4 2 9 BR7Q ANDX 4 IWAIT(3) 21 BRMB SEGENTRY K70IPBMOPB [RESTORE TIME MACRO NOFLASH SUPPRESSES NLS. 17 BS72 BZE 4 VCURS [NOT A READY MESSAGE 20 BSLL LDN 4 ICURSOR+1(3) [MOVE IN CURSOR POSITIONING CODES 10 BT6= SMO ICURSOR(3) 7 BTKW MVCH 4 0 17 BW5G LDN 4 VNLS(1) [MOVE IN 2 NEWLINES 7 BWK6 MVCH 4 4 10 BX4Q LDEX 7 ICURSOR(3) 7 BXJB ADN 7 4 18 BY42 SBX 6 7 [UPDATE ROOM LEFT IN NPU 18 BYHL # MOVE IN CURSOR POSITIONING CODES FOR MESSAGE 21 B_3= SEGENTRY K71IPBMOPB [RESTORE TIME MACRO NOFLASH SUPPRESSES NLS. 19 B_GW VCURS LDEX 7 ICURSOR(3) [CHAR COUNT FOR CURSOR CODES 20 C2G6 ADN 7 4 [CHAR COUNT FOR SET SOM CODE + 1 18 C2_Q SBX 6 7 [UPDATE ROOM LEFT IN NPU 20 C3FB BPZ 6 VCPCS [SUFFICIENT ROOM FOR CURSOR CODES 18 C3_2 CALL 7 VNEWB [GET NEW AMXOR/IOUT BLOCK 8 C4DL BRN VCURS 20 C4Y= VCPCS LDN 4 ICURSOR+1(3) [MOVE IN CURSOR POSITIONG CODES 10 C5CW SMO ICURSOR(3) 7 C5XG MVCH 4 0 17 C7BB LDN 4 VSETSOM(1) [MOVE IN SET SOM CODE 21 C7W2 MVCH 4 4 [+ALPHA SHIFT CHAR:ENSURES UPPER CASE 11 C8T= # MOVE IN MESSAGE 18 C9#W LDX 4 FX1 [CURRENT CHAPTER ADDRESS 18 C9SG LDX 0 AWORK1(2) [ATYPE OF MESSAGE BLOCK 19 C=#6 BZE 0 VMPTR [MESSAGE IN CURRENT CHAPTER 21 C=RQ MHUNTX 2,AWORK1(2) [GMON/AOUT OR AMXOR/BBC OR AMXOR/ADCB 7 C??B LDX 4 2 8 C?R2 LDX 2 FX2 20 C#=L VMPTR STO 4 ACOMMUNE4(2) [SAVE ADDRESS OF MESSAGE BLOCK 18 C#Q= ADX 4 ACOMMUNE9(2) [START OF MESSAGE ADDRESS 10 C*9W LDX 0 ACOMMUNE8(2) 18 C*PG STO 0 AWORK4(2) [EMPTY MESSAGE INDICATOR 16 CB96 BZE 0 VEOM [EMPTY MESSAGE 15 CBNQ BZE 6 VNOR [END OF NPU 20 CC8B VLOOP STO 4 1 [GET NEXT CHARACTER OF MESSAGE 8 CCN2 LDCH 0 0(1) 9 CD7L LDXC 7 ICONTU(3) 19 CDM= BCS VSCC [CODE 2 VDU : SKIP CONVERSION 15 CF6W SRC 0 2 [CONVERT CHAR 7 CFLG STO 0 1 8 CG66 SMO FX1 10 CGKQ LDCH 0 VCHAROUT(1) 8 CH5B VSCC SMO FX1 8 CHK2 TXL 0 O74 16 CJ4L BCS VDEP [NOT A SHIFT CHAR 7 CJJ= SBN 6 2 20 CK3W BNG 6 VNOR [NOT ENOUGH ROOM FOR SHIFT CHAR 7 CKHG ADN 6 2 8 CL36 VRFS LDN 7 #76 7 CLGQ STO 5 1 20 CM2B DCH 7 0(1) [DEPOSIT FIRST HALF OF SHIFT CHAR 17 CMG2 BCHX 5 / [STEP ON IOUT POINTER 18 CM_L SBN 6 1 [UPDATE ROOM LEFT IN NPU 19 CNF= SBN 0 #10 [CONVERT CHAR TO ALPHA SHIFT 7 CNYW VDEP STO 5 1 8 CPDG DCH 0 0(1) 17 CPY6 BCHX 5 / [STEP ON IOUT POINTER 18 CQCQ BCHX 4 / [STEP ON MESSAGE POINTER 18 CQXB SBN 6 1 [UPDATE ROOM LEFT IN NPU 20 CRC2 CALL 7 VSETCCTS [SET CUR POS CTS FOR NEXT CHAR 8 CRWL LDX 1 FX1 10 CSB= LDX 0 ACOMMUNE8(2) 7 CSTW SBN 0 1 20 CT*G STO 0 ACOMMUNE8(2) [UPDATE COUNT OF MESSAGE CHARS 16 CTT6 BZE 0 VEOM [END OF MESSAGE 16 CW#Q BNZ 6 VLOOP [NOT END OF NPU 18 CWSB VNOR CALL 7 VNEWB [GET NEW AMXOR/IOUT BLOCK 8 CX#2 BRN VLOOP 4 CXRL VEOM 20 CY?= # IF READY MESSAGE,MOVE IN READY TERMINATOR SEQUENCE 7 C_Q6 LDCT 7 2 9 D29Q ANDX 7 IWAIT(3) 17 D2PB BZE 7 VNRY [NOT A READY MESSAGE 21 D392 DEX 7 ICONTU(3) [CLEAR CT OF LINES O/P SINCE LAST T-R 10 D3NL ANDX 7 ACOMMUNE6(2) 21 D48= ERS 7 ACOMMUNE6(2) [UNSET SUPPRESS READY TERMINATOR FLAG 21 D4MW BNZ 7 VEOB [SUPPRESS READY TERMINATOR SEQUENCE 18 D57G VUR1 SBX 6 IREADY(3) [UPDATE ROOM LEFT IN NPU 21 D5M6 BPZ 6 VMRY [SUFFICIENT ROOM FOR READY TERMINATOR 18 D66Q CALL 7 VNEWB [GET NEW AMXOR/IOUT BLOCK 8 D6LB BRN VUR1 21 D762 VMRY LDN 4 IREADY+1(3) [MOVE IN READY TERMINATOR SEQUENCE 9 D7KL SMO IREADY(3) 7 D85= MVCH 4 0 8 D8JW BRN VEOB 19 DCX= # IF NL SUPPRESSION NOT REQUESTED,MOVE IN MESSAGE 12 DDBW # TERMINATOR SEQUENCE 9 DDWG VNRY LDX 0 IWAIT(3) 8 DFB6 ANDX 0 BIT10 16 DFTQ ERS 0 IWAIT(3) [UNSET B10 IF SET 21 DG*B BNZ 0 VEOB [NL SUPPRESSION REQUIRED ON OUTPUT 18 DGT2 LDX 0 AWORK4(2) [EMPTY MESSAGE INDICATOR 16 DH#L BZE 0 VMTS [EMPTY MESSAGE 20 DHS= LDEX 0 ACOMMUNE6(2) [START COLUMN NO FOR NEXT MESSAGE 21 DJ?W BZE 0 VEOB [COL 0 : OMIT MESSAGE TERMINATOR SEQ 8 DJRG VMTS LDCT 0 #10 16 DK?6 ADS 0 ACOMMUNE6(2) [UPDATE LINE NO 16 DKQQ DEX 0 ACOMMUNE6(2) [UPDATE COLUMN NO 7 DL=B LDN 0 1 21 DLQ2 ADS 0 ICONTU(3) [UPDATE CT OF LINES O/P SINCE LAST TR 21 DM9L SEGENTRY K72IPBMOPB [RESTORE TIME MACRO NOFLASH SUPPRESSES NLS. 18 DMP= SBX 6 INOCHS(3) [UPDATE ROOM LEFT IN NPU 19 DN8W BPZ 6 VRFMT [ROOM FOR MESSAGE TERMINATOR 18 DNNG CALL 7 VNEWB [GET NEW AMXOR/IOUT BLOCK 21 DP86 VRFMT LDN 4 INLBUFF(3) [MOVE IN MESSAGE TERMINATOR SEQUENCE 9 DPMQ SMO INOCHS(3) 7 DQ7B MVCH 4 0 13 DQM2 # TIDY UP FINAL IOUT BLOCK 21 DR6L SEGENTRY K73IPBMOPB [RESTORE TIME MACRO NOFLASH SUPPRESSES NLS. 16 DRL= VEOB MHUNTW 1,AMXOR,IOUT [BLOCK POINTER 20 DS5W SBX 5 1 [RELATIVE END OF MESSAGE POINTER 15 DSKG SBN 5 IDATA [- RED TAPE 20 DT56 SLC 5 2 [COUNT OF CONVERTED DATA CHARS 19 DTJQ DSA 5 IPBIDE+1(1) [DEPOSIT COUNT OF DATA CHARS 10 DW4B ADN 5 IDATA-A1*4+3 18 DWJ2 SRL 5 2 [LENGTH OF OUTPUT BLOCK 10 DX3L TXU 5 ALOGLEN(1) 18 DXH= BCC VSUSF [CORRECT LENGTH ALREADY 17 DY2W ALTLENG 1,5 [SHORTEN IOUT BLOCK 10 DYGG # FINISH OFF 9 D_26 VSUSF LDX 0 ICONTU(3) 21 D_FQ ANDN 0 #777 [COUNT OF LINES OUTPUT SINCE LAST T-R 8 D__B SMO FX1 10 F2F2 SBX 0 VCONTOUTPUT 17 F2YL BNG 0 VUP [LIMIT NOT REACHED 7 F3D= LDN 0 1 19 F3XW ORS 0 IWAIT(3) [SET ^OUTPUT SUSPENDED^ FLAG 5 F4CG VUP UP 4 F4X6 # 8 F5BQ SET SBN 0 #36 20 F5WB BNZ 0 WEX[SKIP INOPERABILITY WAIT IF ACT ALREADY IN A LONG 13 F6B2 [EVENT WAIT(EG #220) 20 F6TL GEOERR 1,LONGSET [LONGSET GIVEN TWICE FOR W.S. #36 4 F6_F ...[ 8 F72Q ...[ SK11IPBMOPB 4 F743 ...[ 6 F75# ...SK11IPBMOPB 16 F76K ...[ ENTRY FROM FREE COMMAND SEGMENT - VIPBFREE 8 F77W ... LDX 0 GSIGN 18 F797 ... STO 0 AWORK1(2) [AWORK1 = NEG. ENRTY K11 7 F7=D ... BRN RCI 11 F7*= MENDAREA 25,K100IPBMOPB 4 F7SW #END 6 ____ ...665323050002