{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: TERM867)}}
====== TERM867 ======
(George Source)
**Macros used:** [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:COOR3|COOR3]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:ERRORX|ERRORX]], [[george:macro:FMOPG|FMOPG]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GEOPACK|GEOPACK]], [[george:macro:HUNTW|HUNTW]], [[george:macro:INFORM|INFORM]], [[george:macro:JENG|JENG]], [[george:macro:JFREE|JFREE]], [[george:macro:JONL|JONL]], [[george:macro:LAMOP|LAMOP]], [[george:macro:LGEOG|LGEOG]], [[george:macro:LJOBNO|LJOBNO]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:OUTPACK|OUTPACK]], [[george:macro:PARSORT|PARSORT]], [[george:macro:SAWCEJX|SAWCEJX]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SPARANOX|SPARANOX]], [[george:macro:TERMON|TERMON]], [[george:macro:TERROR|TERROR]], [[george:macro:UNIFREE|UNIFREE]], [[george:macro:WAITSTOP|WAITSTOP]]
22FL #SEG TERM [LEN WAGSTAFF
22PD ...# (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983.
22^= #OPT K6TERM=K6PERI
23DW #OPT K0TERM=0
23YG #LIS K0TERM>K0PERI>K0COMMAND>K0ALLGEO
24D6 8HTERM
24XQ #
25CB # THIS COMMAND TERMINATES THE ACTIVITY WAITING FOR A
25X2 # PERIPHERAL TO BE ENGAGED
26BL # IF ONLINE TO AN OBJ PROG A CANTDO IS ISSUED
26W= # OTHERWISE THE WAIT IS TERMINATED USING TERMON
27*W #
27TG #
28*6 #
28SQ SEGENTRY K1TERM,X1TERM
29#B #
29S2 #
2=?L # ERROR MESSAGES
2=R= XJRES +JRES [ NOT IN REQUIRED STATE
2?=W XJMULT +JMULT [ NOT A LEGITIMATE PERIPHERAL
2?QG XINODEV +JNOPER [NO SUCH PERIPHERAL
2#2# XJERAT +JERAT [DEVICE ATTACHED
2#=6 THOUSAND +1000
2#PQ #
2*9B THUNT
2*P2 # SUBROUTINE HUNTS FOR CPAR,JSCE BLOCK ON X2
2B8L # LINK IN X6
2BN= HUNTW 2,CPAR,JSCE
2C7W BRN (7)
2CMG #
2D76 X1TERM
2DLQ #
2F6B PARSORT XBREAKIN,ALL [ANALYSE PARAMETERS
2FL2 TREPT
2G5L LDN 6 0 [NOT ONLINE
2GK= CALL 7 THUNT [LOCATE PARAMETER BCOCK
2H4W BNG 2 NOPARS [GIVE UP - NOTHING TO DO
2HJG LDCH 0 JSCEA(2) [ACCESS DEVICE TYPE
2J46 SBN 0 5
2JHQ BPZ 0 TWTYP [ERROR IF NOT SLOW PERIPHERAL
2K3B LDX 3 JSCEP(2) [DEVICE LIST POINTER
2KH2 SAWCEJX JSCEB(2),T1,REMOTE,REMOTE
2L2L #
2LG= T1
2L^W JFREE 3,TWST [J. IF FREE TO TWST.
2MFG JENG 3,TWST [J. IF ENGAGED.
2M^6 LGEOG 3,7
2NDQ JONL 3,ONLINE [BR IF ONLINE
2NYB BRN TOFL
2PD2 ONLINE
2PXL LJOBNO 3,6 [X6 = JOBNO IF ONLINE, ELSE ZERO
2QC= TOFL
2QWW # SEARCH ACTIVITIES FOR THE ONE REQUIRED
2RBG LDX 1 FX2
2RW6 TNXTAC
2S*Q LDX 1 ACTRING(1)
2STB SBN 1 ACTRING
2T*2 BXE 1 FX2,TWST [ERROR IF BACK TO START OF SEARCH
2TSL LDCH 0 ATYPE(1)
2W#= SBN 0 ACTLF/64
2WRW BZE 0 TRY [BR IF ACTLF
2X?G SBN 0 CPAT-ACTLF/64
2XR6 BNZ 0 TNXTAC [BR IF NOT CPA
2Y=Q TRY
2YQB BNZ 6 ONLINT [BR IF DEVICE ONLINE
2^=2 TXU 3 CPPTR(1) [BR IF THIS ACTIVITY DOES NOT OWN
2^PL BCS TNXTAC [THE REQUIRED PERIPHERAL
329= BRN TSTWT
32NW ONLINT
338G TXU 6 JOBNO(1) [COMPARE JOBNO'S
33N6 BCS TNXTAC [& BR IF WRONG ONE
347Q XLOC
34MB # ACT FOUND,ADDS IN X1
3572 BRN TSTWT
35LL #
366= REMOTE [REMOTE DEVICE TO BE TERMINATED
36KW LDEX 0 JSCEB(2) [J. IF CI
375G BZE 0 TCI
37K6 JFREE 3,TWST
384Q JONL 3,TWST
38JB LAMOP 3,3 [LOAD ADDRESS OF RELEVANT AMOP
3942 SAWCEJX JSCEB(2),TREPT,X7900,PCT
39HL # BR TO PCT IF PCT DEVICE
3=3= TCI ANDX 3 BITS22LS [PROG. PROP. NO.
3=GW ORX 3 GSIGN [PLUS BIT 0
3?2G FMOPG 1,3,IPB [FIND RELEVANT AMOP
3?G6 BNG 1 TWST [ERROR IF NOT THERE
3?^Q LDX 3 1 [CONTINUE DOWN IPB PATH
3#FB #
3#^2 X7900 [7900 DEVICE
3*DL TP3 [SEARCH FOR ACT FOR IDE TO BE TERMD
3*Y= LDX 3 FPTR(3)
3BCW LDX 0 ATYPE(3)
3BXG BXGE 0 CACT,TWST [ERROR IF NO ADEVS BLOCK
3CC6 SRL 0 12
3CWQ SBN 0 AMXOR+ADEVS
3DBB BNZ 0 TP3 [BR IF ADEVS NOT FOUND
3DW2 LDX 0 JSCEA(2)
3F*L ANDN 0 #7777 [ISOLATE IDENTIFIER NUMBER
3FT= SBX 0 A1+FOURTHWD(3)
3G#W SLC 0 2
3GSG ADX 3 0 [POINT TO RING ENTRY FOR THIS IDE
3H#6 LDX 0 A1+FOURTHWD(3)
3HRQ BPZ 0 TWST [ERROR IF IDE NOT UNAVAILABLE
3HWW LDN 4 #2001
3J22 SLL 4 12
3J56 ANDX 0 4
3J8= BNZ 0 TAT [ERROR IF ATTACHED
3J?B LDX 1 A1+BPTR(3)
3JR2 BZE 1 TWST [ERROR IF NOT RINGED
3K=L SBN 1 A1+FPTR [ELSE POINT TO START OF BLOCK
3KQ= TP4 [& SEARCH BACK FOR ACT
3L9W LDX 1 BPTR(1)
3LPG LDX 0 ATYPE(1)
3M96 ANDX 0 HALFTOP
3MNQ BXL 0 CACT,TP4
3N8B LDN 4 0 [PERF WILL LOOK OFFLINE
3NN2 SRL 0 18
3P7L SBN 0 ACTLF/64
3PM= BZE 0 TSTWTA [BR IF ACTLF
3Q6W SBN 0 CPAT-ACTLF/64
3QLG BNZ 0 TWTYP [BR IF NOT CPAT
3R66 BRN TSTWTA [BR TO TERMINATE ACTIVITY
3RKQ #
3S5B T7020 [SEARCH FOR 7020 ACT
3SK2 PCT [PCT DEVICE TO BE TERMINATED
3SQ8 LDX 0 JSCEA(2)
3SXB BZE 0 TWST [ERROR IF A MOP LINE
3T4L THNTD
3TJ= LDX 3 FPTR(3)
3W3W LDX 0 ATYPE(3)
3WHG BXGE 0 CACT,TWST [ERROR IF NO ALINES
3X36 SRL 0 12
3XGQ SBN 0 AMXOR+ALINES
3Y2B BNZ 0 THNTD
3YG2 # ADEVS FOUND,NOW FIND LCB
3Y^L LDX 0 JSCEB(2) [TO ISOLATE LINE NUMBER
3^F= SRL 0 7
3^YW ANDN 0 #374 [X0 = LINE NUMBER X 4
42*6 ADX 3 0
42PC LDX 1 A1+BPTR(3)
432# BZE 1 TWST [WRONG STATE IF NO LCB
43?9 LDX 0 A1+FOURTHWD(3)
43J6 SLL 0 1
43T3 BNG 0 TAT
445Y SBN 1 A1+FPTR
44=F LDX 3 1
44C2 # LCB FOUND,NOW HUNT BACK FOR A7020/INFORM
44WL THNTE
45B= LDX 3 BPTR(3)
45TW LDX 0 ATYPE(3)
46*G SRL 0 12
46T6 SBN 0 A7020+INFORM
47#Q BNZ 0 THNTE
47SB LDX 1 3 [INFORM BLOCK,PRESERVE ADDRESS
48#2 LDX 7 JSCEA(2)
48RL SRL 7 6
49?= ANDN 7 #7777 [ISOLATE TERMINAL IDENTIFIER
49QW LDX 5 APCTNUM(3) [NO OF PCT'S ON THIS LINE
4==G LDN 4 0
4=Q6 NEXT
4?9Q SMO 4
4?PB LDX 0 IDUNIQUE(3) [LOCATE ENTRY FOR THIS PCT
4#92 SRL 0 12
4#NL SBX 0 7
4*8= BZE 0 THISPCT
4*MW ADN 4 APCTRLEN [ADD RECORD LENGTH
4B7G BCT 5 NEXT [BR TO TRY NEXT ONE
4BM6 BRN TNDV [ERROR IF TERMINAL DISAPPEARED!
4C6Q THISPCT
4CLB LDX 7 JSCEA(2)
4D62 ANDN 7 #77 [ISOLATE INTERFACE NUMBER
4DKL LDN 0 6
4DTD ADX 3 4 [ELIMATE NECESSITY FOR SMO 4
4F5= TBCKB
4FJW LDX 5 APCTDEV(3)
4G4G LDCT 2 #200
4GJ6 SMO 3
4H3Q LDCH 6 APCTDEV+1(2) [GET INTERFACE NO FOR THIS ENTRY
4HHB BXE 6 7,TGOTIT [BR IF SAME AS INT TO BE TERMD
4J32 ADN 3 2
4JGL BCT 0 TBCKB
4K2= BRN TNDV
4KFW TGOTIT
4K^G LDCT 2 #400 [LOOK AT CHAR2
4LF6 SMO 3
4LYQ LDCH 6 APCTDEV+1(2)
4MDB BZE 6 TWST [WRONG STATE IF NO PLEASE ENGAGE
4MY2 # [MESSAGE OUTSTANDING
4NCL LDCT 2 #200 [LOOK AT CHAR1
4NX= SMO 3
4PBW LDCH 0 APCTDEV(2)
4PWG SLL 0 12 [INT BIT POSN TO CHAR 1
4QB6 ADX 4 0 [X4 NOW LOOKS LIKE [APCTID]
4QTQ # [DATA BLOCK
4R*B # NOW SEARCH 7020 RING FOR RELEVANT BLOCK.
4RK8 LDN 6 FPTPCT(1)
4RT2 TP1
4S#L LDX 1 FPTPCT(1)
4SJD BXE 6 1,TWST [BR IF BLOCK NOT FOUND
4SS= SBN 1 FPTPCT
4T?W LDX 0 APCTID(1)
4TRG BXU 0 4,TP1
4W?6 # WHEN BLOCK FOUND SEARCH BACK FOR ACT
4WQQ TP2
4X=B LDX 1 BPTR(1)
4XQ2 LDX 0 ATYPE(1)
4Y9L BXL 0 CACT,TP2
4YP= LDN 4 0 [PERF WILL LOOK OFFLINE
4^8W # CHECK ACT IS CPAT OR ACTLF
4^NG SRL 0 18
5286 SBN 0 ACTLF/64
52MQ BZE 0 TSTWTB [BR IF ACTLF
537B SBN 0 CPAT-ACTLF/64 [OR CPAT
53M2 BNZ 0 TWTYP
546L BRN TSTWTB
54L= #
555W TSTWT [NOW LOOK AT WAITING STYLE
55KG # ADDS ACT IN X1,X4 -VE IF PERF ONLINE
5656 JONL 3,TONLN [BR IF DEVICE ONLINE
56JQ TSTWTA
574B TSTWTB
57J2 LDEX 0 CLONG1(1) [LOOK AT WAITING STYLE
583L SBN 0 #36
58H= BZE 0 X36 [BR IF #36 (PLEASE LINE UP)
592W SBN 0 #41
59GG BNZ 0 TWST [BR IF NOT #77 (PLEASE ENGAGE)
5=26 X36
5=FQ LDEX 0 ATYPE(1) [FIND CURRENT STATE OF ACTIVITY
5=^B SBN 0 #36
5?F2 BZE 0 TMON36 [TERMINATE IF #36
5?YL BPZ 0 TMON77 [OR #77
5#D= WAIT
5#XW COOR3 #41 [OTHERWISE WAIT K9 MILLISECONDS
5*CG BRN TREPT
5*X6 TONLN
5BBQ LDX 2 1
5BWB LDEX 0 ATYPE(2)
5CB2 SBN 0 #77
5CTL BNZ 0 TWST
5D*= WAITSTOP WAIT [CANTDO THE PLEASE ENGAGE
5DSW BRN TENDA
5F#G #
5FS6 TMON36
5G?Q TERMON 1,#36
5GRB BRN TENDA
5H?2 TMON77
5HQL TERMON 1,#77 [TERMINATE THE WAIT
5J== TENDA
5JPW CALL 7 THUNT [RELOCATE CPAR,JSCE BLOCK
5K9G GEOPACK 5,JSCEA(2) [PACK GEOPER PDC
5KP6 FREECORE 2
5L8Q OUTPACK 5,1,GEOPER [OUTPUT PARAMETER
5LNB INFORM 0,JTERMINATE,1 [OUTPUTS TERMINATED MESSAGE
5M82 TENDC
5MML BRN TREPT [BR TO DO NEXT PARAMETER
5N7= NOPARS
5NLW ENDCOM
5P6G #
5PL6 #
5Q5Q # ERROR REPLIES
5Q=Y TAT LDN 1 XJERAT
5QD6 BRN TERROR
5QKB TWTYP LDN 1 XJMULT
5R52 BRN TERROR
5RJL TWST LDN 1 XJRES
5S4= BRN TERROR
5SHW TNDV LDN 1 XINODEV
5T3G TERROR
5TH6 ADX 1 FX1
5W2Q LDX 6 0(1)
5WGB CALL 7 THUNT [LOCATE CPAR,JSCE BLOCK
5X22 LDX 4 JSCEQ(2) [PARAMETER NO
5XFL FREECORE 2 [FREE CPAR,JSCE BLOCK
5X^= SRL 4 12
5YDW LDN 5 0 [ANALYSIS LEVEL 0
5YYG SPARANOX 4,5 [REACCESS PARAMETER
5^D6 ERRORX 6 [OUTPUT ERROR MESSAGE
5^XQ UNIFREE [FREE CPB,CUNI BLOCK
62CB BRN TENDC
62X2 XBREAKIN [BREAK-IN IN PARSORT
63BL GEOERR 1,TEABREAK
63W= #PAGE
64*W MENDAREA 30,K100TERM
64TG #END
^^^^ ...40132640000100000000