IPBPM84
(George Source)
Macros used: BXE, BXGE, BXU, DCA, DOWN, DSCA, JBUSY, JEXOTIC, JFREE, JONL, JSBUSY, JWRONG, OP, PMADD, PMCORES, PMCOUNT, PMOLCH, PMREADCT, PMSTOPR, PMSUB, READ, SEG, SEGENTRY, TRACEX
- IPBPM84.txt
22FL ... SEG IPBPM,,BOB WEYAND 23YG #LIS K0IPBPM>K0POST>K0ALLGEO 24D6 8HIPBPM 24XQ # 25CB ... SEGENTRY K1IPBPM,XK1IPBPM 26BL # 26W= # 27*W ...# THIS SEGMENT INITIALISES EACH 7900 AND OUTPUTS A CLOSE 27TG ...# DOWN MESSAGE TO EACH OPERABLE MOP TERMINAL AND RJE CONSOLE 29#B # 29S2 # 2=?L PMRW +0 2=R= PMCHA +0 2?=W ...PMADDR1 #400:0,#02000000,#01030103 [INITIALISE 2?QG ...#DEF PMLEN1=0?-PMADDR1 2#=6 PMADDR2 #400:0,#01120000 [REOPEN 2#PQ ...#DEF PMLEN2=0?-PMADDR2 2B8L PMADDR4 #400:0,#01200000 [OPEN 2BN= ...#DEF PMLEN4=0?-PMADDR4 2C7W ...PMADDR5 +0,+0,#400:52 [FOR MOP CONSOLE 2CMG #76327635 2D76 #76206450 2DLQ 36HE SYSTEM HAS TEMPORARILY CLOSED DOWN 2F6B #76327635 2FL2 #76207613 2FWX ...#DEF PMLEN5=0?-PMADDR5 2G7T ...PMADDR6 +0,+0,#400:50 [FOR MOP DISPLAYS 2G=4 ... #76331076 [OUTPUT ON LINE 24 COLUMN 19 2G#? ... #31037602 [THE FLASHING MESSAGE: 2GBG ... 40H THE SYSTEM HAS TEMPORARILY CLOSED DOWN 2GDP ... #76030000 2GG^ ...#DEF PMLEN6=0?-PMADDR6 2GK= PMADDR 2H4W #REP 67 2HJG +0 2J46 ...#DEF PMLEN=0?-PMADDR 2JHQ PMCOUNT +0 [SYSTEM OVERLOAD COUNT 2K3B PRIORITY +0 [PRIORITY FOR STOPPING OUTPUT 2KH2 SFOUND +0 [SWITCH TO INDICATE WHETHER S.S. FD. 2L2L PDEVS 2LG= #HAL AMXOR+ADEVS,0 2L^W PMADEVSADDR +0 [START ADDRESS OF AMXOR/ADEVS 2M^6 SSMASK #770000 2NDQ POPENED #200000 [ILLEGAL CHECK FOR OPEN 2PD2 SLINK +0 2PXL WHICHCONS +0 [INDICATES WHETHER 7071 DEALT WITH 2QC= READCT +0 [COUNT OF READS REPEATED FOR TIME OUT 2QWW PMIDENTS 2RBG #REP 200 2RW6 +0 2S*Q ...#DEF TABLEN=0?-PMIDENTS 2STB # 2T*2 # 2TSL ...# MACRO PMSTOPR RESETS THE PRIORITY FOR STOP OUTPUT IF NECESSARY 2W#= # 2WRW ...# MACRO PMADD ADDS 1 TO THE SYSTEM OVERLOAD COUNT IF NECESSARY 33N6 # 347Q ...# MACRO PMSUB SUBTRACTS 1 FROM THE SYSTEM OVERLOAD COUNT IF NECESSARY 3942 # 39HL ...# MACRO PMREADCT GETS THE COUNT OF THE NUMBER OF WORDS READ INTO X6 3CC6 # 3CWQ ...# MACRO PMOLCH CHECKS TO SEE IF THE SYSTEM OVERLOAD COUNT IS NON-ZERO, 3KQ= # AND TO SEE IF THE HIGHEST PRIORITY FOR STOPPING OUTPUT IS > 10. 3L9W # IF EITHER OF THESE CONDITIONS EXISTS THE MACRO JUMPS TO %A. 3LPG # 3R66 # 3RKQ # 3S5B # THIS SUBROUTINE ISSUES A READ ORDER AND DEALS WITH THE INPUT IF A 3SK2 # WRITE HAS BEEN REJECTED OR A SYSTEM OVERLOAD CONDITION HAS BEEN 3T4L # REPORTED. THE LINK IS IN X6 AND X0,X5 ARE OVERWRITTEN. 3TJ= # IT EXITS 0 IF THE READ WAS SUCCESSFUL, AND 1 IF THE IPB IS INOPERABLE. 3W3W # 3WHG # 3WTX ...READ SMO FXPM1 3X8# ... STO 6 SLINK [REMEMBER THE LINK ADDRESS 3XGQ CALL 6 SETRD [SET UP C.A. FOR READING 3Y2B CALL 6 RPCH1 [READ AND CHECK REPLY 3YG2 BRN NEXT [GIVE UP IF READ REJECTED 3Y^L BRN SOUT1 [EXIT +1 IF INOPERABLE 3^F= BRN NEXT [GIVE UP IF TIME OUT OR NOT IMP. 3^YW PMREADCT NEXT [GET COUNT OF WDS. READ 42?? ...W3 SMO FXPM1 42KN ... LDCH 5 PMADDR(1) 42Y6 BZE 5 W1 [J IF NO MORE SUPERVISORY 43CQ SBX 6 5 43MJ ... SMO FXPM1 43XB LDX 0 PMADDR(1) [EXTRACT SUPERVISORY CODE 44C2 SRC 0 12 44WL ANDN 0 #77 45B= SBN 0 40 [SUSPEND IPB OUTPUT (40) 45TW PMSTOPR W2 46*G SBN 0 2 [SYSTEM OVERLOAD (42) 46T6 PMADD W2 47#Q SBN 0 1 [SYSTEM CONTINUE (43) 47SB PMSUB W2 48#2 W2 BZE 6 W1 [J IF NO MORE INPUT 48RL ADX 1 5 [UPDATE BUFFER MODIFIER 49?= BRN W3 49KM ...W1 SMO FXPM1 49Y4 ... LDX 6 SLINK 4==G EXIT 6 0 [EXIT IF OK 4=JX ...SOUT1 SMO FXPM1 4=X# ... LDX 6 SLINK 4?9Q EXIT 6 1 [EXIT IF INOPERABLE 4?PB # 4#92 # 4#NL # THIS SUBROUTINE ISSUES A READ WHEN SOME INPUT IS EXPECTED, AND GETS 4*8= # THE COUNT OF THE NUMBER OF WDS. READ TO X6. THE LINK IS IN X0, AND 4*MW # X6 IS OVERWRITTEN. IT EXITS 0 IF THE IPB IS INOPERABLE, AND +1 IF 4B7G # THE READ TERMINATED NORMALLY. 4BM6 # 4C6Q # 4CLB READSS 4CW8 ... SMO FXPM1 4D62 STO 0 SLINK [REMEMBER LINK ADDRESS 4DKL SP2 CALL 6 SETRD [SET UP C.A. FOR READ 4F5= CALL 6 RPCH1 4FJW BRN NEXT [GIVE UP IF READ REJECTED 4G4G BRN SOUT0 [EXIT 0 IF IPB INOPERABLE 4GJ6 BRN SP3 [J IF TIME OUT OR NOT IMP. 4GRY ... SMO FXPM1 4H3Q STOZ READCT 4HHB PMREADCT NEXT 4HR8 ... SMO FXPM1 4J32 LDX 0 SLINK 4JGL EXIT 0 1 [EXIT IF OK 4JQD ...SOUT0 SMO FXPM1 4K2= ... STOZ READCT 4K=4 ... SMO FXPM1 4KFW LDX 0 SLINK 4K^G EXIT 0 0 [EXIT IF INOPERABLE 4L?X ...SP3 SMO FXPM1 4LL# ... LDX 0 READCT 4LYQ SBN 0 IMREPT 4MDB BZE 0 NEXT [GIVE UP IF TIMED OUT IMREPT TIMES 4MY2 ADN 0 IMREPT+1 [OTHERWISE ADD 1 TO COUNT OF 4N7S ... SMO FXPM1 4NCL STO 0 READCT [NO. OF READS 4NX= BRN SP2 4PBW # 4PWG # 4QB6 # 4QTQ # THIS SUBROUTINE CHECKS THE REPLY WORD FOR IPB PERIS. 4R*B # IT EXITS 0 IF THE TRANSFER WAS REJECTED 4RT2 # IT EXITS 1 IF THE IPB WAS INOPERABLE OR REPLY INDICATED ERROR 4S#L # IT EXITS 2 IF THE REPLY INDICATED TIMED OUT AND/OR NOT IMPLEMENTED 4SS= # IT EXITS 3 IF THE PERI TERMINATED NORMALLY 4T?W # X6 CONTAINS THE LINK AND PMCA+1 CONTAINS THE REPLY WORD 4TRG # X0 IS OVERWRITTEN. 4W?6 # 4WQQ # 4X=B REPCHEK 4XG8 ... SMO FXPM1 4XQ2 LDN 0 PMRW 4Y9L DCA CPPTR(2),STO,0,REP1 [SET RW ADDR IN CURRENT AREA 4Y#9 ...RPCH1 4YBS ...#SKI K6IPB>100-100 4YFC ...( 4YJ2 ... SMO CPPTR(2) 4YLK ... LDX 0 IREP1 4YP8 ... STO 0 GEN0 [DENOTES PERI TYPE TO TRACE ROUTINE 4YRR ...) 4YWB ... PERI 0 CPPTR(2) 4Y^4 ... SMO FXPM1 4^8W LDX 0 PMRW 4^NG BPZ 0 TER [J IF TRANSFER TERMINATED 5286 SLC 0 5 52MQ BPZ 0 OP [J IF IPB OPERABLE 537B RINOP EXIT 6 1 [OTHERWISE EXIT INOPERABLE 53M2 OP SRC 0 1 546L BNG 0 REJ [J IF REJECTED 54F3 ...WAIT SMO FXPM1 [SEE IF TRANSFER HAS TERMINATED 54RD ... LDX 0 PMRW 555W BNG 0 WAIT [WAIT FOR TERMINATION 55KG TER SLC 0 5 5656 BPZ 0 RINOP [J IF INOPERABLE 56JQ SRC 0 2 574B BNG 0 RINOP [J IF ERROR 57J2 SLC 0 1 583L BNG 0 NOTIMP [J IF NOT IMPLEMENTED 58H= SRC 0 3 592W BNG 0 NOTIMP [J IF TIMED OUT 593? ...#SKI K6IPB>100-100 593N ...( 5945 ... LDX 0 ASWITCH1 594G ... SLL 0 7 594X ... BPZ 0 TRACEX [SWITCH NOT SET(BY MOP TRACE COMMAND) 595# ...[TRACES (ONLINE) SUCCESSFUL CC TRANSFERS IF "MOP TRACE" SWITCHED ON 595P ... STO 3 GEN3 5966 ... STO 4 GEN4 596H ... STO 5 GEN5 596Y ... LDN 5 0 597* ... LDX 4 GEN0 597Q ... SMO FXPM1 5987 ... LDEX 0 PMRW 598J ... NGX 0 0 598^ ... BZE 4 TRACEL1 [READ PERI 599B ... SMO CPPTR(2) 599R ... ADX 0 ICOUNT 59=8 ... SBN 0 PMLEN 59=K ...TRACEL1 59?2 ... ADN 0 PMLEN 59?C ... LDX 3 CPPTR(2) 59?S ... ADN 3 ISCTSA 59#9 ... BZE 4 TRACEL2 [READ PERI 59#L ... SBN 3 ISCTSA-ICTSA 59*3 ...TRACEL2 59*D ... LDX 3 0(3) 59*T ...TRACEL3 59B= ... SMO 5 59BM ... '177 0 0(3) 59C4 ... 8HIPBPM 59CF ... ADN 5 1 59CW ... BCT 0 TRACEL3 59D? ... LDX 3 GEN3 59DN ... LDX 4 GEN4 59F5 ... LDX 5 GEN5 59FG ...TRACEX 59FX ...) 59GG EXIT 6 3 [EXIT IF OK 5=26 NOTIMP 5=FQ EXIT 6 2 [EXIT FOR TIMED OUT/NOT IMPLEMENTED 5=^B REJ EXIT 6 0 [EXIT FOR REJECTED 5?F2 # 5?YL # 5#D= # THIS SUBROUTINE SETS UP THE CONTROL AREA FOR A READ PERI. 5#XW # IT OVERWRITES X0 5*CG # THE LINK IS X6 5*X6 # 5BBQ # 5BWB SETRD LDN 0 2 [MODE FOR READ 5CB2 DSCA CPPTR(2),DLA,0,MODE [MODE FOR READ IN DL -SPOUT AREA 5CTL LDN 0 PMLEN [LENGTH OF BUFFER 5D*= DSCA CPPTR(2),DLA,0,COUNT[SET COUNT IN DL 5DK4 ... SMO FXPM1 5DSW LDN 0 PMADDR [BUFFER ADDRESS 5F#G DSCA CPPTR(2),STO,0,CTSA 5FJ# ... SMO FXPM1 5FS6 LDN 0 PMRW 5G?Q DSCA CPPTR(2),STO,0,REP1 [SET REPLY WORD IN SPOUT 5GMF ... LDCT 0 #400 5H38 ... SMO FXPM1 5HBX ... ORN 0 PMCHA 5HQL DSCA CPPTR(2),STO,0,CHADD[SET CHAINING ADDRESS 5J== EXIT 6 0 5JPW # 5K9G # 5KP6 # THIS SUBROUTINE ATTEMPTS TO REOPEN THE IPB IF A REPLY INDICATED 5L8Q # ERROR OR INOPERABLE. 5LNB # IT ASSUMES THE UNIT NO. OF THE IPB IS IN X4 AND THE LINK IS IN X7 5M82 # IF OVERWRITES X0,X5 AND X6. 5MML # 5N7= # 5NLW PMINOP 5P6G LDN 0 #11 [END WRITE MODE 5PL6 DCA CPPTR(2),DSA,0,MODE 5Q5Q LDN 0 PMLEN2 [SET UP CONTROL AREA TO OUTPUT 5QKB DCA CPPTR(2),DSA,0,COUNT 5QT8 ... SMO FXPM1 5R52 LDN 0 PMADDR2 5RJL DCA CPPTR(2),STO,0,CTSA 5RSD ... SMO FXPM1 5S4= LDN 0 PMRW [SET RW ADDR IN CURRENT AREA 5SHW DCA CPPTR(2),STO,0,REP1 5T3G CALL 6 REPCHEK [CHECK REPLY 5TH6 BRN PMINP1 [TRY TO READ IF REJECTED 5W2Q BRN NEXT [GIVE UP IF STILL INOPERABLE 5WGB BRN NEXT [OR IF TIMED OUT OR NOT IMPLEMENTED 5WQ8 ... SMO FXPM1 5X22 LDX 0 PMRW 5XFL ANDN 0 #777 5X^= BNZ 0 PMINP1 [ISSUE READ IF WRITE ENDED 5YDW S1 CALL 0 READSS [ISSUE READ FOR 'READY'; CHECK REPLY 5YYG BRN NEXT [J IF INOPERABLE TO GIVE UP 5^=X ...S4 SMO FXPM1 5^K# ... LDCH 5 PMADDR(1) [J TO GIVE UP IF ONLY B.S.W. 5^XQ BZE 5 S5 [J IF DATA SEGMENT 62CB SBX 6 5 62M8 ... SMO FXPM1 62X2 LDX 0 PMADDR(1) [GET SUPERVISORY CODE 63BL SRC 0 12 63W= ADN 0 #77 64*W SBN 0 32 [32=READY 64TG BNZ 0 S2 65*6 LDN 0 1 [SET FOUND MARKER IF READY 65JY ... SMO FXPM1 65SQ STO 0 SFOUND 66#B BRN S3 66S2 S2 SBN 0 5 [37=ILLEGAL 67?L BZE 0 S3 [IGNORE IF ILLEGAL 67R= SBN 0 3 [40=SUSPEND IPB OUTPUT 68=W PMSTOPR S3 [STORE PRIORITY 68QG SBN 0 2 [42=SYSTEM OVERLOAD 69=6 PMADD S3 [ADD TO SYSTEM OVERLOAD COUNT 69PQ SBN 0 1 [43=SYSTEM CONTINUE 6=9B PMSUB S3 [SUBTRACT FROM OVERLOAD COUNT 6=P2 S3 BZE 6 S5 [J IF NO MORE INPUT 6?8L ADX 1 5 [UPDATE BUFFER MODIFIER 6?N= BRN S4 [GET NEXT SEGMENT 6#2M ...S5 SMO FXPM1 6#*4 ... LDX 0 SFOUND 6#MG BZE 0 S1 [ISSUE ANOTHER READ IF NO READY 6#X# ... SMO FXPM1 6*76 STOZ SFOUND 6*LQ EXIT 7 0 6B6B PMINP1 6BL2 CALL 6 READ [ISSUE READ AND CHECK REPLY 6C5L BRN WHATNOW1 [J IF OK 6CK= BRN NEXT [J IF INOPERABLE TO GIVE UP 6D4W WHATNOW1 6D#N ... SMO FXPM1 6DJG LDX 0 PMCOUNT 6F46 BZE 0 PMINOP [TRY TO OUTPUT REOPEN 6FHQ BRN PMINP1 [OR TRY ANOTHER READ 6G3B # 6GH2 # 6H2L # 6HG= # ENTER HERE 6H^W # 6JFG # 6J^6 XK1IPBPM 6KDQ LDX 2 IPBADDR [BASE OF LIST OF IPBIN ACTIVITIES 6KYB BRN T1 6LD2 NEXT1 LDX 2 IPBL(2) [GET NEXT IPBIN 6LXL ...T1 BZE 2 (JPMSEG) [EXIT IF NONE LEFT 6MC= ... PMCORES 2,(JPMSEG) [EXIT IF OUTSIDE RESERVATIONS 6MWW LDN 5 #30 6NBG FINDPERE 3,APFOTY,5,RET [J. IF CONTENTS OF CPPTR ARE INVALID. 6NW6 BNG 3 NEXT1 6P*Q BXU 3 CPPTR(2),RET 6PTB JWRONG CPPTR(2),NEXT1 [IF IBB WRONGED TAKE A NEXT ONE 6P^? ... JEXOTIC ,NEXT1 [IF IPB IS AN EXOTIC TAKE NEXT ONE 6Q58 ... JONL ,NEXT1 [IF IPB IS ONLINE TAKE NEXT ONE 6Q95 ... JFREE ,NEXT1 [IF IPB IS UNALLOCATED TAKE NEXT ONE 6Q*2 WAIT1 JBUSY ,WAIT1 [WAIT AROUND UNTIL CURRENT IS FREE. 6QSL LDN 4 #15 6R#= DCA CPPTR(2),STO,4,MODE 6RRW LDN 4 PMLEN1 [SET COUNT IN DL 6S?G DCA CPPTR(2),DSA,4,COUNT 6SH# ... SMO FXPM1 6SR6 LDN 4 PMADDR1 [SET BUFFER ADDRESS IN DL 6T=Q DCA CPPTR(2),STO,4,CTSA 6TLF ... LDCT 4 #400 6W28 ... SMO FXPM1 6W*X ... ORN 4 PMCHA 6WPL DCA CPPTR(2),STO,4,CHADD 6X9= ...P1 CALL 6 REPCHEK [OUTPUT INITIALISE 6XNW [CHECK REPLY 6Y8G BRN TINP [TRY INPUT IF REJECTED 6YN6 BRN SINOP [INOPERABLE 6^7Q BRN P1 [TRY AGAIN IF TIMED OUT OR NOT IMP. 6^CJ ... SMO FXPM1 6^MB LDX 0 PMRW [LOOK AND SEE IF WRITE 7272 ANDN 0 #777 [WAS ENDED 72LL BZE 0 OK1 [J IF NOT 736= TINP JSBUSY ,TINP [MAY BE BUSY IF WRITE WAS REJECTED, 73KW CALL 6 READ [IF NOT : ATTEMPT TO READ. 745G BRN PFIN [J IF OK 74K6 SINOP CALL 7 PMINOP [TRY TO REOPEN 754Q SETW1 LDN 0 #11 [END WRITE MODE 75JB DCA CPPTR(2),DSA,0,MODE 7642 ... LDN 0 PMLEN1 [RESET C.A. FOR INITIALISE 76HL DCA CPPTR(2),DSA,0,COUNT 76RD ... SMO FXPM1 773= LDN 0 PMADDR1 77GW DCA CPPTR(2),STO,0,CTSA 782G BRN P1 78#X ...PFIN SMO FXPM1 78M# ... LDX 0 PMCOUNT 78^Q BZE 0 SETW1 [WRITE IF NO OVERLOAD 79FB BRN TINP 79^2 SINOP1 7=DL CALL 7 PMINOP [TRY TO REOPEN 7=Y= ...OK1 CALL 0 READSS [TRY TO READ READY 7?CW BRN SINOP1 [J IF INOPERABLE 7?Q? ...NXTSS SMO FXPM1 7#4N ... LDCH 5 PMADDR(1) 7#C6 BZE 5 TFOUND [J IF DATA SEGMENT REACHED 7#WQ SBX 6 5 [UPDATE COUNT 7*6J ... SMO FXPM1 7*BB LDX 0 PMADDR(1) [GET SUPERVISORY CODE 7*W2 SRC 0 12 7B*L ANDN 0 #77 7BT= ... SBN 0 32 [32=READY 7C#W BZE 0 SETM 7HPG TMOR BZE 6 TFOUND [J IF NO MORE INPUT 7J96 ADX 1 5 [UPDATE BUFFER MODIFIER 7JNQ BRN NXTSS [GET NEXT INPUT 7K8B ...SETM LDN 0 1 [INDICATE READY RECEIVED 7KN2 ... SMO FXPM1 7L7L ... STO 0 SFOUND 7MLG BRN TMOR 7N66 TFOUND 7N*Y ... SMO FXPM1 7NKQ LDX 0 SFOUND 7P5B ... BZE 0 OK1 [READY NOT FOUND : READ MORE 7PSS ... SMO FXPM1 7Q4L STOZ SFOUND [OTHERWISE LOOK FOR 7QJ= SEARCH [AMXOR/ADEVS BLOCK 7R3W LDX 1 2 7RHG NBLK LDX 1 FPTR(1) 7S36 TXL 1 CORES 7SGQ BCC NEXT [GIVE UP IF CHAIN BROKEN 7T2B LDX 0 ATYPE(1) 7TG2 BXGE 0 CACT,NEXT [GIVE UP IF ACTIVITY BLOCK 7TPS ... SMO FXPM1 7T^L SBX 0 PDEVS 7WF= BNZ 0 NBLK 7WYW LDN 3 0 [X3 USED TO INDEX IDENT. TABLE 7XDG LDX 7 A1+FOURTHWD(1) [GET LOWEST IDENT. NO.-1 TO X7 7XN# ... SMO FXPM1 7XY6 STO 1 PMADEVSADDR [PRESERVE PTR. TO START OF ADEVS 7YCQ ADX 1 ALOGLEN(1) 7YXB TXL 1 CORES 7^C2 BCC NEXT [GIVE UP IF LOG. LENGTH SILLY 7^WL NENTRY 82B= SBN 1 4 82L4 ... SMO FXPM1 82TW BXE 1 PMADEVSADDR,TABLEND [J IF END OF BLOCK 83*G LDCT 0 #40 83T6 ANDX 0 A1+FOURTHWD(1) 84#Q BNZ 0 NENTRY [J IF TYPE NOT SET UP 84SB LDX 0 A1+FOURTHWD(1) [ISOLATE TYPE NUMBER 85#2 ANDN 0 #777 85HS ... SMO FXPM1 85RL LDX 6 WHICHCONS 86?= BNZ 6 TYPE7023 [J IF SETTING 7023 TABLE 86JL ...TYPE BZE 0 TMOP [J IF 7071 86W2 ... SBN 0 10 877B ... BNZ 0 NENTRY [J IF NOT 7181/2 879P ...TMOP LDXC 0 A1+FOURTHWD(1) 87#4 ... BCC STORE [J IF IDENTIFIER IS MARKED AVAILABLE 87BC ... LDX 0 A1+BPTR(1) 87DQ ... BZE 0 NENTRY [IDENTIFIER UNAVAILABLE & IDLE:IGNORE 87H5 ...STORE LDX 0 1 [CALCULATE IDENTIFIER NUMBER 87KD ... SMO FXPM1 87Q6 SBX 0 PMADEVSADDR 889Q SRC 0 2 88PB ADX 0 7 88^8 ... SMO FXPM1 8992 STO 0 PMIDENTS(3) [STORE IDENT. NO. IN TABLE 89NL ADN 3 1 [UPDATE TABLE MODIFIER 8=33 ... LDN 0 TABLEN 8=*D ... BXE 3 0,TABLEND 8=MW BRN NENTRY 8?7G TABLEND 8?M6 BZE 3 T7023 [J IF TABLE EMPTY 8#6Q SBN 3 1 8#LB ...# 8*62 ...NXMOP 998D ... SMO FXPM1 99D= STOZ SFOUND 99N4 ... SMO FXPM1 99XW LDX 0 PMIDENTS(3) [INSERT IDENT. NO. IN 9=7N ... SMO FXPM1 9=CG DSA 0 PMADDR4+1 [OPEN BUFFER 9=PX ...TOPEN SMO FXPM1 9?4# ... LDX 0 PMCOUNT 9?BQ BNZ 0 TINP3 [READ IF SYSTEM OVERLOAD 9?WB LDN 0 #11 [SET UP C.A. FOR 9#B2 DCA CPPTR(2),DSA,0,MODE 9#TL LDN 0 PMLEN4 9**= DCA CPPTR(2),DSA,0,COUNT 9*K4 ... SMO FXPM1 9*SW LDN 0 PMADDR4 9B#G DCA CPPTR(2),STO,0,CTSA 9BS6 P7 CALL 6 REPCHEK [ISSUE WRITE FOR OPEN 9C?Q BRN TINP3 [TRY INPUT IF WRITE REJECTED 9CRB BRN SINOP4 [J IF INOP. 9D?2 BRN P7 [TRY AGAIN IF NOT IMP. OR TIME OUT 9DGS ... SMO FXPM1 9DQL LDX 0 PMRW 9F== ANDN 0 #777 9FPW BZE 0 OK3 [J IF WRITE NOT ENDED 9G9G TINP3 CALL 6 READ [READ IF WR. ENDED OR REJ. OR IF S.O. 9GP6 BRN TOPEN [J IF OK, OTHERWISE INOPERABLE 9H8Q SINOP4 9HNB CALL 7 PMINOP [TRY TO REOPEN IPB 9J82 BRN TOPEN 9JML OK3 CALL 0 READSS [TRY TO READ IDENTIFIER OPENED 9K7= BRN SINOP5 [J IF IPB INOPERABLE 9KFM ...NCH2 SMO FXPM1 9KS4 ... LDCH 5 PMADDR(1) 9L6G BZE 5 TFOUND2 [J IF DATA SEG. 9LL6 SBX 6 5 [UPDATE WD. CT. 9LTY ... SMO FXPM1 9M5Q LDX 0 PMADDR(1) [ISOLATE SUPERVISORY CODE 9MKB SRC 0 12 9N52 ANDN 0 #77 9NJL SBN 0 37 [37=ILLEGAL 9P4= BZE 0 TILL2 9PHW SBN 0 3 [40=STOP IPB OUTPUT 9Q3G PMSTOPR PNXT2 9QH6 SBN 0 2 [42=SYSTEM OVERLOAD 9R2Q PMADD PNXT2 9RGB SBN 0 1 [43=SYSTEM CONTINUE 9S22 PMSUB PNXT2 9SFL SBN 0 5 [48=IDENTIFIER OPENED 9S^= BNZ 0 PNXT2 [J IF NOT 48 9T94 ... SMO FXPM1 9TDW LDX 0 PMADDR(1) [CHECK IDENT. NO. CORRECT 9TYG ANDN 0 #7777 9W8# ... SMO FXPM1 9WD6 SBX 0 PMIDENTS(3) 9WXQ BNZ 0 PNXT2 9XCB LDN 0 1 [SET MARKER TO SAY REQD. S.S. FOUND 9XM8 ... SMO FXPM1 9XX2 STO 0 SFOUND 9Y6S ... SMO FXPM1 9YBL LDXC 0 PMADDR+2(1) 9YW= BCS UNAV [J IF UNAVAILABLE 9^64 ... SMO FXPM1 9^*W LDCH 0 PMADDR+2(1) 9^TG SBN 0 3 =2*6 BNZ 0 UNAV [J IF NOT INPUT AND OUTPUT DEVICE =5QG PNXT2 BZE 6 TFOUND2 [J IF NO MORE INPUT =6=6 ADX 1 5 [UPDATE BUFFER MODIFIER =6PQ BRN NCH2 [GET NEXT INPUT SEGMENT =747 ...TILL2 SMO FXPM1 =7BJ ... LDX 0 PMADDR(1) =7P2 ANDN 0 #7777 [CHECK IF ILLEGAL FOR CURRENT IDENT. =7YS ... SMO FXPM1 =88L SBX 0 PMIDENTS(3) =8N= BNZ 0 PNXT2 [IGNORE IF NOT =8Y4 ... SMO FXPM1 =97W LDX 0 PMADDR+1(1) [CHECK IF ILLEGAL FOR =9CN ... SMO FXPM1 =9MG ANDX 0 SSMASK [OPEN IDENTIFIER AND =9X# ... SMO FXPM1 ==76 BXU 0 POPENED,PNXT2 [IGNORE IF NOT ==LQ LDN 0 1 [MARK TO SAY REQUIRED S.S. FOUND ==WJ ... SMO FXPM1 =?6B STO 0 SFOUND =?DR ...UNAV SMO FXPM1 [ZEROISE TABLE ENTRY TO GEORGE =?R8 ... STOZ PMIDENTS(3) =#5L BRN PNXT2 =#K= SINOP5 =*4W CALL 7 PMINOP [TRY TO REOPEN IPB =*JG BRN OK3 =B46 TFOUND2 =B?Y ... SMO FXPM1 =BHQ LDX 0 SFOUND =C3B BZE 0 OK3 [READ AGAIN IF REQD. S.S. NOT FOUND =C?8 ... SMO FXPM1 =CH2 STOZ SFOUND =CQS ... SMO FXPM1 =D2L LDX 0 PMIDENTS(3) =DG= BZE 0 OK4 [J IF NO OUTPUT REQUIRED =DQ4 ... SMO FXPM1 =D^W STO 0 PMADDR5+1 [OTHERWISE INSERT IDENT. NO. IN THE =F9N ... SMO FXPM1 =FFG ... STO 0 PMADDR6+1 ["SYSTEM CLOSED" MESSAGES =F^6 TAGEN PMOLCH TINP4 [CHECK WHETHER OVERLOAD ETC., AND =GDQ [J TO INPUT IF SO =GGS ... SMO FXPM1 =GJX ... LDX 0 PMIDENTS(3) [CHECK DEVICE TYPE FOR 7071 OR 7181/2 =GL^ ... SMO FXPM1 =GP3 ... LDX 6 PMADEVSADDR =GR5 ... SMO 6 =GT9 ... SBX 0 A1+FOURTHWD [- LOWEST IDENTIFIER NUMBER =G^B ... SLL 0 2 [RELATIVE ENTRY POINTER =H3D ... SMO FXPM1 =H5H ... ADX 0 PMADEVSADDR =H9N ... SMO 0 =H*T ... LDEX 0 A1+FOURTHWD [DEVICE TYPE =HDK ... SBN 0 10 =HH* ... BNZ 0 TTW [J IF NOT 7181 =HL7 ... LDN 0 PMLEN6[SET UP CONTROL AREA FOR 7181/2 "SYSTEM CLOSED"MESS =HQ# ... DCA CPPTR(2),DSA,0,COUNT =HSB ... SMO FXPM1 =HWF ... LDN 0 PMADDR6 =J2L ... DCA CPPTR(2),STO,0,CTSA =J6R ... BRN SMESS =J?2 ...TTW LDN 0 PMLEN5[SET UP CONTROL AREA FOR 7071/7023"SYSTEM CLOSED" =JC= DCA CPPTR(2),DSA,0,COUNT =JM4 ... SMO FXPM1 =JWW LDN 0 PMADDR5 =KBG DCA CPPTR(2),STO,0,CTSA =KHN ...SMESS LDN 0 #11 [OUTPUT "SYSTEM CLOSED" MESSAGE =KNW ... DCA CPPTR(2),DSA,0,MODE =KW6 P10 CALL 6 REPCHEK =L*Q BRN TINP4 [TRY INPUT IF REJECTED =LTB BRN SINOP6 [INOPERABLE =M*2 BRN P10 [T.O. OR N.I. =MJS ... SMO FXPM1 =MSL LDX 0 PMRW =N#= ANDN 0 #777 =NRW BZE 0 OK4 [J IF WRITE NOT ENDED =P?G TINP4 CALL 6 READ [TRY TO READ =PR6 BRN TAGEN [J IF OK =Q=Q SINOP6 =QQB CALL 7 PMINOP [TRY TO REOPEN IPB =R=2 BRN TAGEN =RPL OK4 SBN 3 1 =S9= ... BPZ 3 NXMOP [GO TO NEXT TABLE ENTRY IF PRESENT =SHM ...T7023 SMO FXPM1 =SW4 ... LDX 0 WHICHCONS =T8G BNZ 0 NEXT [GET NEXT UNIT IF FINISHED WITH THIS =TN6 LDN 0 1 [IF NOT DEAL WITH 7023 =TXY ... SMO FXPM1 =W7Q STO 0 WHICHCONS =WMB LDN 0 50 [AMEND CHARACTER COUNT TO IGNORE =WX8 ... SMO FXPM1 =X72 DSA 0 PMADDR5+2 [#7613 FOR 7023 =XLL BRN SEARCH =Y6= TYPE7023 [COME HERE TO TEST FOR 7023 TYPE =YKW SBN 0 5 =^5G BRN TYPE =^G2 ...NEXT LDX 1 FXPM1 =^WG ... STOZ WHICHCONS(1) [CLEAN UP FOR NEXT UNIT ?2?2 ... STOZ PRIORITY(1) ?2MG ... STOZ PMCOUNT(1) ?342 LDN 0 52 [RESET CHARACTER COUNT FOR 7071 ON ?3HL ... DSA 0 PMADDR5+2(1) [NEXT IPB, IF PRESENT. ?43= BRN NEXT1 [LOOK FOR NEXT UNIT ?4GW #END ^^^^ ...46025073000600000000