{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: OLMTC85)}}
====== OLMTC85 ======
(George Source)
**Macros used:** [[george:macro:ADDINMODE|ADDINMODE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CAPCA|CAPCA]], [[george:macro:CHECKEXT|CHECKEXT]], [[george:macro:CHEKPRIV|CHEKPRIV]], [[george:macro:DFJUMPS|DFJUMPS]], [[george:macro:DFLOAD|DFLOAD]], [[george:macro:DOWN|DOWN]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GETWORD|GETWORD]], [[george:macro:GSCAN|GSCAN]], [[george:macro:HLSXONCH|HLSXONCH]], [[george:macro:HUNT|HUNT]], [[george:macro:ILLEGAL|ILLEGAL]], [[george:macro:LGEOG|LGEOG]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MONOUT|MONOUT]], [[george:macro:MTHWSPD|MTHWSPD]], [[george:macro:OUTMOVE|OUTMOVE]], [[george:macro:OUTPACK|OUTPACK]], [[george:macro:OUTPACKB|OUTPACKB]], [[george:macro:OUTPAR|OUTPAR]], [[george:macro:OUTPARB|OUTPARB]], [[george:macro:PROGBRKIN|PROGBRKIN]], [[george:macro:PUTPERENT|PUTPERENT]], [[george:macro:RUNPROG|RUNPROG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETUPMODE|SETUPMODE]], [[george:macro:SKIP|SKIP]], [[george:macro:STEPBACK|STEPBACK]], [[george:macro:SWITRACE|SWITRACE]], [[george:macro:TESTREP|TESTREP]], [[george:macro:TESTREPNOT|TESTREPNOT]], [[george:macro:USEROPEX|USEROPEX]], [[george:macro:VFREE|VFREE]], [[george:macro:WORDFIN|WORDFIN]]
22FL #LIS K0OLMTC
22^= #SEG OLMTC65 [N.R.BOULT
23DW 8HOLMTC
23YG SEGENTRY K1OLMTC,QK1OLMTC
24D6 SEGENTRY K2OLMTC,QK2OLMTC
24XQ SEGENTRY K3OLMTC,QK3OLMTC
25CB [LIST OF CONSTANTS
25X2 OWNMON #34000 [OWN MONITORING(OPENFILE) BITS
26BL MASKMON #76000 [MASK FOR OWN MONITORING BITS
26W= QMT #55640000
27*W QTEN 100
27TG REELMAX +512
28*6 REMPROP #77700077
28JY ...PRIVFR 8HFREEZE
28SQ [
29#B [ENTRY POINT FOR PERIS MODE #100,#200,AND #300
29S2 [ENTRY IS FROM PERIXCOD, WITH X4=TYPE(B0-8)/UNIT NO(B9-23),
2=?L [
2=R= QK1OLMTC
2?=W ANDX 4 REMPROP(1)
2?QG [SET UP CPAR/GPERCON BLOCK & INSERT TYPE,UNIT NR & REQUIREMENTS FOR WP R
2#=6 SETNCORE 3,3,CPAR,GPERCON
2#PQ STO 4 A1(3) [TYPE/UNIT NO.
2*9B STOZ A1+1(3) [NO WPR CONDITIONS UNLESS PROVED OTHE
2*P2 STOZ A1+2(3)
2B8L LDX 0 EVENT4(2) [1ST WORD OF CONTROL AREA
2BN= SETUPMODE 7,,READ
2C7W ANDN 0 #777
2CMG SRL 0 6 [MODE/#100
2D76 SMO 0
2DLQ SWIT BRN SWIT [SWITCH ON MODE TO INSERT WP RING DET
2F6B BRN Q1 [MODE #100,WP RING NOT SPECIFIED
2FL2 BRN Q2 [MODE #200,WP RING SPECIFIED ABSENT
2G5L BRN Q3 [MODE #300,WP RING SPECIFIED PRESENT
2GK= Q3
2H4W SETUPMODE 7,,WRITE
2HJG LDN 0 1
2J46 STO 0 A1+1(3) [SET WP RING BIT
2JHQ Q2 LDN 0 1
2K3B STO 0 A1+2(3) [SET WPR SPECIFIED BIT
2KH2 [SET UP FILE/FABSNB AND MOVE PERI CONTROL AREA INTO IT.
2L2L Q1
2LG= SETNCORE 11,1,FILE,FABSNB
2L^W LDN 6 9 [LENGTH OF AREA
2MFG CHECKEXT EVENT2(2),6,RERR2B,,W,Q5,HLOCK1
2M^6 [CONTROL AREA IN CORE
2NDQ Q5 HUNT 1,FILE,FABSNB
2NYB LDN 1 A1+4(1)
2PD2 LDN 3 2
2PXL ADX 3 EVENT2(2) [ADDRESS OF WORD 2 OF CONTROL AREA
2QC= LDN 6 6
2QWW OUTMOVE FX2,3,1,6
2RBG ... LDX 5 EVENT4(2) [X5 => FIRST WORD OF PERI CONTROL ARE
2RW6 ... LDX 6 EVENT2(2) [X6 -> PERI CONTROL AREA
2S*Q ... ADN 6 2 [X6 -> REPLY WORD + 1
2STB [MAKE OBJ PROG SWAPPABLE,HAVING EXTRACTED REQUIRED DATA.
2T*2 CAPCA FILE,FABSNB,CPAR,GPERCON
2TD6 ...#UNS JWPHASE4
2TH= ...(
2TLB ... HLSXONCH PBRKIN,4,QHLSMODE [ASK HLS IF JOB CAN HAVE ANUVER TAPE
2TPG ...)
2TSL [REARRANGE DETAILS IN FABSNB BLOCK
2W#= HUNT 3,FILE,FABSNB [LOCATE BLOCK
2WRW LDN 0 10
2X?G STO 0 A1(3) [PUT IN RECORD HEADER FOR 10 WD RECOR
2XR6 LDN 0 CPREFIX(2)
2Y=Q LDN 1 A1+1(3)
2YQB MOVE 0 3 [MOVE IN CURRENT USER NAME
2^=2 LDX 0 A1+9(3)
2^PL STO 0 A1+10(3) [MOVE UP RETENTION PERIOD
329= STOZ A1+9(3) [SET LANGUAGE WORD ZERO
32NW LDX 0 A1+7(3) [REEL
338G SMO FX1
33N6 TXL 0 REELMAX
347Q BCC NERIL [BRANCH IF REEL NO OUT OF RANGE
34MB BNZ 0 ZER
3572 LDCT 0 #100
35LL STO 0 A1+7(3) [ZERO MEANT BIT
366= ZER
36KW LDX 0 A1+8(3) [GENERATION
375G BZE 0 QGIA [ANY GENERATION
37K6 ANDN 0 #7777 [TRUNCATE
384Q BNZ 0 QGI [NOT NOW ZERO
38JB LDCT 0 #100 [ZERO SPECIFIED BIT
3942 QGI STO 0 A1+8(3) [RESET
39HL QGIA LDN 0 #1001 [SET LOCAL NAME ONLY AND
3=3= ORS 0 ATYPE(3) [MT BITS FOR USEROPEX
3=GW [GO TO GET TAPE
3?2G SETUPMODE ,3,HDDRLAB [LEAVE FLIB/GOLMT BLOCK
3?G6 LDX 1 FX1
3?^Q LDX 0 5
3#FB ANDX 0 MASKMON(1)
3#^2 TXU 0 OWNMON(1)
3*DL BCS QON1 [NOT OWN MONITORING
3*Y= ADDINMODE ,3,TAPEUP [DONT WAIT IF TAPE NOT LOADED
3BCW QON1
3BG5 ...#UNSET FTS1
3BJ# ...(
3BLH ... CHEKPRIV 0,PRIVFR,NOFP [CHECK IF PROPER USER HAS FREEZE PVLG
3BNQ ... ADDINMODE ,3,FROZEN [USER CAN OPEN TAPE IF FROZEN
3BQ^ ...NOFP
3BT8 ...)
3BXG USEROPEX PBRKIN,7,3
3CC6 [TEST IF TAPE OBTAINED AND IF SO CONNECT TO OBJECT PROGRAM
3CWQ TESTREPNOT OK,Q8 [J IF NO TAPE
3DBB MFREE CPAR,GPERCON [RELEASE DATA BLOCKS
3DW2 MFREE FILE,FABSNB
3F*L VFREE FILE,ENT [THIS BLOCK MAY BE SET UP BY T.R.H.
3FT= GSCAN 4,OLMCPER [TRACE X4 MODES #100,#200,#300,
3G#W LDX 3 CPPTR(2)
3GJN ... LDX 7 6 [PUTPERENT CORRUPTS X6
3GSG PUTPERENT 4,3
3H4# ... LDX 6 7 [REINSTATE X6
3H#6 STOZ CPPTR(2)
3HRQ [SET REPLY AND RESTART OBJECT PROGRAM
3J?B OUTPAR TIMENOW
3JR2 LGEOG 3,5
3K=L SJ1
3KQ= OUTPACK 5,1,GEOPER,SJ1
3L9W SJ2
3LPG OUTPACKB 4,1,PERINAME,SJ2
3M96 DFLOAD 3,TSN,5
3MNQ SJ2A
3N8B OUTPACKB 5,1,TSN,SJ2A
3NN2 SJ3
3P7L MHUNT 3,FLIB,GOLMT
3PM= OUTPACKB A1+4(3),3,LOCNAME,SJ3
3Q6W SJ4
3QLG MHUNT 3,FLIB,GOLMT
3R66 OUTPACKB A1+8(3),1,GENNUM,SJ4
3RKQ SJ5
3S5B MHUNT 3,FLIB,GOLMT
3SK2 OUTPACKB A1+7(3),1,REELNUM,SJ5
3T4L OUTPARB SKIP
3TJ= MONOUT JPER
3TRC ... LDN 4 8 [NUMBER OF WORDS TO CHECK AND MOVE
3W2J ... SBN 6 1 [X6 -> REPLY WORD
3W9P ... LDN 7 0 [X7 USED IF CONTROL AREA OVER PAGE BO
3WDW ...SJLOOP1 [LOOP IF TWO GETWORDS NECESSARY
3WN3 ... GETWORD 6,3,WRITE,5,4 [GET CORE IMAGE
3WX8 ... TESTREPN OK,NERR2 [GEOERR
3X6* ... MHUNT 2,FLIB,GOLMT [CONTAINS REPLY DETAILS
3X*G ... SMO 7 [
3XJM ... LDN 2 A1+3(2) [X2 -> FIRST WORD TO BE MOVED
3XRS ... BXL 5 4,SJLOOP2 [J IF ANOTHER GETWORD NECESSARY
3Y2^ ... LDX 5 4 [X5 => NUMBER OF WORDS TO MOVE
3Y=6 ...SJLOOP3 [
3YF? ... SMO 5 [X5 => NUMBER OF WORDS TO MOVE
3YND ... MOVE 2 0 [UPDATE CONTROL AREA
3YXK ... BXU 4 5,SJLOOP1 [J IF ANOTHER GETWORD IS NECESSARY
3^6Q ... MFREE FLIB,GOLMT [NO LONGER REQUIRED
3^*X ... WORDFIN [TERMINATE GETWORD SEQUENCE
3^K4 ... RUNPROG [RERUN PROGRAM
3^S9 ...SJLOOP2 [
423B ... SBX 4 5 [X4 => REMAINING WORDS FOR NEXT GETWO
42=H ... LDX 7 5 [X7 => NUMBER OF WORDS MOVED THIS TIM
42FN ... ADX 6 5 [UPDATE CONTROL AREA POINTER
42NT ... BRN SJLOOP3 [DO MOVE AND SECOND GETWORD
42Y6 [PREPARTION FOR SETTING REPLY IN OWN MONITORING CAS[
43CQ Q7
43XB LDCT 4 #400 [REPLY
44C2 BRN SETIN [J TO INSERT REPLY
44WL PBRKIN
45B= STEPBACK
45TW PROGBRKIN [RE-ENTER COMMAND PROCESSOR
45YF ...#UNS JWPHASE4
4634 ...(
465M ...QHLSMODE
468= ... MONOUT ERHLSMODE [HLS HAS FORBID ACQUISITION OF TAPE
46=T ...)
46*G Q8 VFREE FILE,ENT [RELEASE DATA BLOCKS
46T6 MFREE FILE,FABSNB
47#Q MFREE CPAR,GPERCON
47SB ANDX 5 MASKMON(1) [MONITORING BITS
48#2 TXU 5 OWNMON(1) [TEST IF OWN MONITORING
48RL BCC Q7 [YES-J TO SET SIGN BIT OF REPLY WORD
49?= QI
49QW ... LDCT 5 5
4==G ... ANDX 4 BSP16
4=Q6 ... ADX 5 4
4?9Q ... OUTPACK 5,1,PERINAME,QI
4J32 STEPBACK [STEPBACK OBJECT PROGRAM
4JGL ILLEGAL PERFAIL
4K2= [ENTRY POINT FOR OPEN MODE #500 (RENAME) PERIS
4KFW [X4,5 HOLD A COPY OF THE PRB ENTRY
4K^G QK2OLMTC
4LF6 #SKI K6OLMT>99-99
4LYQ (
4MDB SWITRACE 4,OLTCPRB1
4MY2 SWITRACE 5,OLTCPRB2
4NCL )
4NX= DFJUMPS 5,NONS,NERO [J/MP IF NON STANDARD TAPE
4PBW [NOW CHECK RESERVATIONS OF CONTROL AREA :EXEC2 OF PCA CONTAINS PROGRAM
4PWG [ADDRESS OF CONTROL AREA
4QB6 SETNCORE 7,1,AONBS,GREN
4QTQ LDN 1 9
4R*B CHECKEXT EVENT2(2),1,RERR2A,,W,P3,HLOCK1
4RT2 P3 MHUNT 1,AONBS,GREN
4S#L [MOVE OUT WORDS OF CONTROL AREA REQUIRED IN THE RENAMING OF THE TAPE.
4SS= LDN 1 A1+1(1)
4T?W LDX 6 EVENT2(2)
4TRG ADN 6 2 [ADD. NAME IN CA. (USED AT SETIN)
4W?6 LDN 3 6
4WQQ OUTMOVE FX2,6,1,3
4X=B # CHECK VALIDITY OF NEW TAPE NAME
4XQ2 MHUNT 3,AONBS,GREN [FIND NAME BLOCK
4Y9L LDCH 0 A1+1(3)
4YP= SBN 0 #41
4^8W BNG 0 NERRR [ERROR < A
4^NG SBN 0 #32
5286 BPZ 0 NERRR [ERROR > Z
52MQ LDN 1 11 [COUNT OF 11
537B NMCH1 BCHX 3 £ [STEP POINTER
53M2 LDCH 0 A1+1(3)
546L SBN 0 #41
54L= BPZ 0 NMCH2 [J >= A
555W ADN 0 23
55KG BNG 0 NMCH3 [OK IF DIGIT
5656 SBN 0 6
56JQ BZE 0 NMCH3 [OK IF SPACE
574B SBN 0 #15
57J2 BZE 0 NMCH3 [OK IF HYPHEN
583L BRN NERRR [ELSE ERROR
58H= NMCH2 SBN 0 #32
592W BPZ 0 NERRR [ERROR > Z
59GG NMCH3 BCT 1 NMCH1 [IF CHECK NOT FINISHED,BACK FOR NEXT
5=26 BCHX 3 £
5=FQ LDX 0 A1+1(3)
5=^B SMO FX1
5?F2 TXL 0 REELMAX
5?YL BCC NERRR
5#D= [CHANGE INTO COMMAND ACTIVITY,RECHAINING DATA BLOCK AND LEAVING THE
5#XW [OBJECT PROGRAM SWAPPABLE WHILE RENAMING IS DONE
5*CG LDX 7 EVENT4(2) [USED AT LABEL P2
5*X6 CAPCA AONBS,GREN
5BBQ STO 5 CPPTR(2)
5BWB STO 4 ACOMMUNE1(2)
5CB2 STOZ ACOMMUNE2(2)
5CTL STOZ ACOMMUNE3(2)
5D*= GSCAN 4,OLCRMT [TRACE X4- MODE #400
5DSW DOWN RENAMEMT,1 [GO TO RENAME TAPE
5F#G BRN NEREL [NO WPR,ILLEGAL
5FS6 TESTREPN OK,P2
5G?Q MHUNT 1,AONBS,GREN
5GRB LDX 4 A1(1)
5H?2 FREECORE 1
5HQL [FILL IN REPLY WORD OF CONTROL AREA
5J== SETIN
5JPW SBN 6 1 [ADDRESS OF REPLY WORD
5K9G GETWORD 6,3,WRITE
5KP6 TESTREPNOT OK,NERR2
5L8Q STO 4 0(3)
5LNB WORDFIN [RESET OBJ PROG
5M82 RUNPROG
5MML [
5N7= [DEAL WITH FAILURE TO RENAME CASE
5NLW P2
5P6G MFREE AONBS,GREN
5PL6 ANDX 7 MASKMON(1)
5Q5Q BXU 7 OWNMON(1),QI
5QKB LDX 4 GSIGN
5R52 BRN SETIN [IF THERE,J TO SET REPLY NEGATIVE
5RJL #
5S4= #
5SHW NEREL MFREE AONBS,GREN
5T3G ILLEGAL NOWPR
5TH6 NERIL MFREE FILE,FABSNB
5W2Q BRN NERRR
5WGB RERR2A
5X22 MFREE AONBS,GREN
5XFL BRN RERR2
5X^= RERR2B
5YDW MFREE FILE,FABSNB
5YYG MFREE CPAR,GPERCON
5^D6 BRN RERR2
5^XQ RERR
62CB MFREE FLIB,GOLMT
62X2 RERR2 ILLEGAL NOCA
63BL NERRR ILLEGAL ILLINS
63W= NERO ILLEGAL MODE
64*W NERR2 GEOERR 1,NOIMAGE
64TG #PAGE
65*6 #
65SQ # K3OLMTC
66#B #
66S2 [ENTRY POINT FOR MODE #600
67?L [
67R= QK3OLMTC
68=W ANDX 4 REMPROP(1)
68QG LDX 6 EVENT2(2)
69=6 ADN 6 2
69PQ LDN 1 9 [CHECK RESERVATION AND ENSURE
6=9B CHECKEXT EVENT2(2),1,RERR2,,W,QZ,HLOCK1
6=P2 QZ
6?8L LDX 5 EVENT4(2)
6?N= LDN 3 0
6#7W LDX 7 EVENT3(2) [X OR REPLACED X
6#MG #SKI K6OLMT>99-99
6*76 SWITRACE 7,OLTCPROP
6*LQ SRL 7 6
6B6B ANDN 7 #777 [EXTRACT ANY PROPERTY CODE
6BL2 BZE 7 QPR9 [BRANCH IF NO PROPERTY SPECIFIED
6BNK ...#UNS JMODGCR
6BR8 ... MTHWSPD 7,3
6BTR ...#UNS JMODGCR
6BYB ...#SKI
6C2^ ...(
6C5L LDN 0 #400
6CK= ANDX 0 7
6D4W BZE 0 QPR2 [BRANCH UNLESS 'NONE'
6DJG LDN 0 #200 [9 TRACK BIT
6F46 ANDX 0 7
6FHQ BNZ 0 QPR1
6G3B LDN 3 GLIBTRA9
6GH2 BRN QPR9
6H2L QPR1
6HG= LDN 3 GLIBTRA7
6H^W BRN QPR9
6JFG QPR2
6J^6 LDN 0 #200 [9 TRACK BIT
6KDQ ANDX 0 7
6KYB BNZ 0 QPR3 [BRANCH IF 9 TRACK
6LD2 LDN 3 GLIBTRA7
6LXL BRN QPR6
6MC= QPR3
6MWW LDN 0 3
6NBG ANDX 0 7
6NW6 SBN 0 1
6P*Q BNZ 0 QPR4
6PTB LDN 3 GLIBNRZI
6Q*2 BRN QPR6
6QSL QPR4
6R#= SBN 0 1
6RRW BNZ 0 QPR5
6S?G LDN 3 GLIBPE
6SR6 BRN QPR6
6T=Q QPR5
6TQB LDN 3 GLIBTRA9
6W=2 QPR6
6WPL LDN 0 #140 [B11-12 SPEED
6X9= ANDX 0 7
6XNW BZE 0 QPR9
6Y8G ANDN 0 #100
6YN6 BZE 0 QPR7
6^7Q ADN 3 GLIBFAST
6^MB BRN QPR9
7272 QPR7
72LL LDN 0 GLIBTRA7
736= ANDX 0 3
73KW BZE 0 QPR9
745G ADN 3 GLIBSLOW
74*# ...)
74K6 QPR9
754Q LDX 7 3
75JB #SKI K6OLMT>199-199
7642 SWITRACE 7,OLTCSPD
76HL CAPCA
76NS ...#UNS JWPHASE4
76W2 ... HLSXONCH PBRKIN,4,QHLSWK [ASK HLS IF JOB CAN HAVE ANUVER TAPE
773= LDX 0 5
77GW ANDX 0 MASKMON(1)
782G TXU 0 OWNMON(1)
78G6 BCS QN1 [NOT MONITORED
78^Q SETUPMODE ,0,TAPEUP [OWN MONITOR
79FB BRN QN2
79^2 QN1 LDN 0 0
7=DL QN2 STO 0 AWORK2(2)
7=Y= LDX 3 4
7?CW LDN 4 7 [WORKTAPE,UPDATE C O R ,SET UP FABSKB
7?XG STO 7 ACOMMUNE1(2)
7#C6 DOWN LIBREQC,1 [GET WORK TAPE
7#WQ BRN PBRKIN [BREAKIN
7*BB LDX 4 3
7*W2 TESTREPNOT OK,QJ [TAPE NOT AVAILABLE
7B*L GSCAN 4,OLCPLT [TRACEX4-MODE #600- POOL TAPE
7BT= LDX 3 CPPTR(2)
7C#W STOZ CPPTR(2)
7CSG STO 6 7 [PUTPERENT USES X6
7D#6 PUTPERENT 4,3 [SET UP PRB ENTRY
7DRQ OUTPAR TIMENOW
7F?B LGEOG 3,5
7FR2 QSJ1
7G=L OUTPACK 5,1,GEOPER,QSJ1
7GQ= QSJ2
7H9W OUTPACKB 4,1,PERINAME,QSJ2
7HPG DFLOAD 3,TSN,5
7J96 QSJ3
7JNQ OUTPACKB 5,1,TSN,QSJ3
7K8B QSJ4
7KN2 MHUNT 2,FILE,FABSNB
7L7L SMO HDREC(2)
7LM= ADN 2 A1-6
7M6W OUTPACKB 0(2),3,LOCNAME,QSJ4
7MLG QSJ5
7N66 MHUNT 2,FILE,FABSNB
7NKQ SMO HDREC(2)
7P5B ADN 2 A1-6
7PK2 OUTPACKB 4(2),1,GENNUM,QSJ5
7Q4L QSJ6
7QJ= MHUNT 2,FILE,FABSNB
7R3W SMO HDREC(2)
7RHG ADN 2 A1-6
7S36 OUTPACKB 3(2),1,REELNUM,QSJ6
7SGQ OUTPARB SKIP
7T2B MONOUT JPER
7TG2 SBN 7 1
7T^L GETWORD 7,3,WRITE
7WF= TESTREP OK,QA
7WYW GEOERR BRIEFPM,GETWORD
7XDG QA STO 5 0(3)
7XY6 WORDFIN
7YCQ RUNPROG
7YG* ...#UNS JWPHASE4
7YJY ...(
7YMH ...QHLSWK
7YQ6 ... MONOUT ERHLSMODE
7YSP ...)
7YXB QJ ANDX 5 MASKMON(1) [MASKOUT 'OWN MONITORING' BITS
7^C2 TXU 5 OWNMON(1) [TEST IF PRESENT
7^WL BCC Q7 [INSERT REPLY
82B= BRN QI
82TW MENDAREA 50,K99OLMTC
83*G #END
^^^^ ...63672345000400000000