{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: IPBPM84)}}
====== IPBPM84 ======
(George Source)
**Macros used:** [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:BXU|BXU]], [[george:macro:DCA|DCA]], [[george:macro:DOWN|DOWN]], [[george:macro:DSCA|DSCA]], [[george:macro:JBUSY|JBUSY]], [[george:macro:JEXOTIC|JEXOTIC]], [[george:macro:JFREE|JFREE]], [[george:macro:JONL|JONL]], [[george:macro:JSBUSY|JSBUSY]], [[george:macro:JWRONG|JWRONG]], [[george:macro:OP|OP]], [[george:macro:PMADD|PMADD]], [[george:macro:PMCORES|PMCORES]], [[george:macro:PMCOUNT|PMCOUNT]], [[george:macro:PMOLCH|PMOLCH]], [[george:macro:PMREADCT|PMREADCT]], [[george:macro:PMSTOPR|PMSTOPR]], [[george:macro:PMSUB|PMSUB]], [[george:macro:READ|READ]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:TRACEX|TRACEX]]
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