{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: SCHEDENX860)}}
====== SCHEDENX860 ======
(George Source)
**Macros used:** [[george:macro:ALTLEN|ALTLEN]], [[george:macro:BACKSPACE|BACKSPACE]], [[george:macro:BRUSEN|BRUSEN]], [[george:macro:BS|BS]], [[george:macro:BXE|BXE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CHAIN|CHAIN]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:FREEBUFF|FREEBUFF]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:HUNT|HUNT]], [[george:macro:HUNT2|HUNT2]], [[george:macro:JBC|JBC]], [[george:macro:JBS|JBS]], [[george:macro:JMBAC|JMBAC]], [[george:macro:LF|LF]], [[george:macro:LFLOST|LFLOST]], [[george:macro:LONGSET|LONGSET]], [[george:macro:LONGSTOP|LONGSTOP]], [[george:macro:MAGICNO|MAGICNO]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUT|MONOUT]], [[george:macro:NAME|NAME]], [[george:macro:OPENDIR|OPENDIR]], [[george:macro:OUTPARAM|OUTPARAM]], [[george:macro:PICKREP2|PICKREP2]], [[george:macro:PUTREP2|PUTREP2]], [[george:macro:REWRITE|REWRITE]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETREP|SETREP]], [[george:macro:SETREP2|SETREP2]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:STARTACT|STARTACT]], [[george:macro:STF|STF]], [[george:macro:TESTRPN2|TESTRPN2]], [[george:macro:TOPFCB|TOPFCB]], [[george:macro:UNNORM|UNNORM]], [[george:macro:UP|UP]], [[george:macro:UPPLUS|UPPLUS]]
22FL ... SEG SCHEDENX,860,C.R.JOHNSON,SCHEDULER
22^= SEGENTRY K1SCHEDENX,X1SCHEDENX
23DW SEGENTRY K2SCHEDENX,X2SCHEDENX
23YG [
24D6 [ SEGMENT SETS UP A F/FREQ BLOCK - CHAINS IT INTO THE OLC
24XQ [ UNLESS ONE ALREADY EXISTS OR THE FREQ ON EITHER SIDE HAS
25CB [ THE SAME INCREMENT NUMBER BUT IS NOT IN TERMINAL STATE
25X2 [ - DTS KICKED AFTER FREQ INSERTER AND FREVCT/FREQCT UPDATED
26BL ...[
26W= ...[
27*W ...[
28SQ XFILEFREQ
29#B #HAL FILE+FREQ,0
29D? ...[
29DD ...SLSGMT #177777
29DK ...[
29DQ ...[THIS SUBROUTINE INSERTS GMTNOW INTO THE FEGMTRV FIELD OF THE
29DX ...[DIRECTORY ENTRY TO PREVENT RECENTLY RETIEVED FILES BEING THROWN
29F4 ...[OFFLINE BY THE UNJAMMER
29F9 ...[
29FB ...SGMTNOW
29FH ... SBX 6 FX1
29FN ... LDX 7 GMTNOW
29FT ... SMO FX1
29G2 ... ANDX 7 SLSGMT
29G7 ... BNZ 7 SFNZ
29G# ... LDN 7 1
29GF ...SFNZ
29GL ... STF 3,FEGMTRV,7
29GR ... NAME 3,FILE,FWB
29GY ... REWRITE
29H5 ... MHUNT 3,FILE,FWB
29H= ... NAME 3,FILE,ENT
29HC ... ADX 6 FX1
29HJ ... EXIT 6 0
29J8 ...[ ******************************************************************
29N5 ...[
29S2 [ THIS SUBROUTINE IS DESIGNED TO INSERT OR DELETE A JOB NO.
2=?L [ AS REQUESTED FROM THE FREQ BLOCK
2=R= [
2?=W [ IN DOING SO IT TAKES NOTE IF THE JOB NO. IS ALREADY PRESENT
2?QG [
2#=6 [ ON ENTRY X2 -> REQUEST BLK; X3 -> REQUESTING ACTIVITY
2#PQ [ AWORK2(3) WILL PRESERVE LINK ACCUMULATOR
2*9B [
2*P2 [ A DELETION OR AN INSERTION WILL NECESSITATE SIZE OF FREQ
2B8L [ BLOCK TO BE ALTERED
2BN= [
2C7W [ ALL ACCUMULATORS WILL BE CORRUPTED ON EXIT
2C*4 ...[
2CG= ...[ THIS SUBROUTINE MUST NOT CORRUPT ACUMMUNE1,2,OR 3
2CMG [
2D76 [
2DLQ RINSERT
2F6B LDCT 5 #400 [FLAG AN INSERTION
2FL2 BRN XSP1
2G5L REMOVX
2GK= STOZ 5 [FLAG A DELETION
2H4W XSP1
2HJG SBX 1 FX1
2J46 STO 1 AWORK2(3) [PRESERVE LINK ACC.
2JHQ LDX 6 FREVCT(2) [X6 = NO. OF REQUESTS
2K3B LDN 7 0
2KH2 BRUSEN NOJOB,3 [J IF IN NO-USER CONTEXT
2KPM ... LDX 0 AWORK1(3) [B0 IS SET IF AUTONOMOUS
2KRW ... LDX 7 AWORK3(3) [X7 => JOBNO IF AUTONOMOUS
2KW5 ... BNG 0 NOJOB [J IF AUTONOMOUS
2L2L LDX 7 JOBNO(3) [X7= JOB NO. OF REQUESTING ACTIVITY
2LG= NOJOB
2L^W STO 2 4 [PRESERVE POINTER TO FREQ.
2MFG BZE 6 NOENT [J IF NO JOB NOS.
2M^6 RET1
2NDQ BXE 7 FREVCT+1(2),REQ1 [J IF JOB NO. ALREADY THERE
2NYB ADN 2 1
2PD2 BCT 6 RET1
2PXL NOENT [JOB NO. NOT ALREADY PRESENT
2QC= BPZ 5 REXIT [J IF NOT INSERTING
2QWW STO 7 FREVCT+1(2) [INSERT JOB NO.
2RBG LDX 2 4 [ X2 -> FREQ. BLOCK
2RW6 LDN 7 1
2S*Q RALT ADS 7 FREVCT(2) [UPDATE FREQ BLOCK
2STB ADX 7 ALOGLEN(2)
2T*2 ALTLEN 4,7 [ALTER LENGTH OF FREQ
2TSL REXIT
2W#= LDX 2 FX2
2WRW LDX 1 AWORK2(2)
2X?G ADX 1 FX1
2XR6 EXIT 1 0 [ EMERGENCE FROM SUBROUTINE
2Y=Q REQ1
2YQB BNG 5 REXIT [J FOR INSERTION
2^=2 SBN 6 1
2^PL BZE 6 NOMOVE [J IF POSITIONED ON LAST JOB NO.
329= LDN 1 FREVCT+2(2)
32NW ADN 2 FREVCT+1 [ MOVE ENTRIES AFTER DELETION
338G SMO 6
33N6 MOVE 1 0
347Q NOMOVE
34MB LDX 2 4 [ REPLACE REQUEST POINTER
3572 NGN 7 1 [DECREASE FREVCT AND LENGTH
35LL [OF FREQ BLOCK
366= BRN RALT
36=7 ...[
36B4 ...[ ******************************************************************
36F^ ...[
36KW XVERF
375G ... LDX 2 3 [ RESET FREQ POINTER
37K6 ... BS 1,BINCUNVERR [SET 'UNVERIFIED INC' BIT
384Q CHAIN 1,2 [ CHAIN IN REQUEST BLOCK
38JB BRN XCHALT [ J TO SET CHAIN ALTERED BITS.
38N? ...[
38S8 ...[ ******************************************************************
38Y5 ...[
3942 NOTERM2 [ REQUEST BLK WITH SAME INCREMENT
39HL [ NO. NOT IN TERMINAL STATE
3=3= LDX 0 ADTCOUNT(2)
3=GW STO 0 ADTCOUNT(1) [ COPY DTCOUNT VALUE
3?2G ... LDX 2 3 [RESET FREQ POINTER
3?G6 CHAIN 1,2 [ CHAIN REQUEST BLK
3?^Q BRN XCHALT
3#FB WAITERR
3#^2 GEOERR 1,WAITSET [WAITING STYLE ALREADY SET
3*68 ...[
3*?B ...[ ******************************************************************
3*DL [
3*Y= [ SR TO SET UP 10-WORD FABSNB FROM OFF-LINE CHAIN REQUEST BLOCK
3BCW [
3BXG SETFABTEN
3C7# ... SBX 7 FX1
3CC6 ... SMO FX2
3CLY ... STO 7 AWORK2 [PRESERVE LINK ACCUMULATOR
3CWQ SETNCORE 10,3,FILE,FABSNB
3DBB CALL 7 SEARCH
3DL8 ...[
3DW2 [ X2 POINTS TO REQUEST
3F5S ...[
3F*L MHUNTW 3,FILE,FABSNB
3FT= LDN 0 10
3G#W STO 0 A1(3)
3GSG ADN 3 A1+1
3H#6 ... ADN 2 FFUSER1
3HRQ MOVE 2 9
3J56 ... SMO FX2
3JBG ... LDX 7 AWORK2 [SET UP LINK ACCUMULATOR
3JMW ... ADX 7 FX1
3J^= ... EXIT 7 0
3K=L [
3KGD ...[ ******************************************************************
3KQ= [
3L9W [ THIS SUBROUTINE IS DESIGNED TO SET THE APPROPRIATE REPLY IN
3LPG ...[ ACCORDANCE WITH THE BIT SETTING IN WORD FDTSTATE OF
3M96 ...[ THE FREQ BLOCK POINTED TO BY X3.
3MNQ ...[
3N8B ...SETREPLY [
3NGR ... LDX 2 FX2
3NT8 ... SETREP2 OK
3P7L ... JBS RVOK1,3,BFILERES [J IF FILE RETRIEVED OK
3PM= ... JBS NOEXIST,3,BFILNEXI [J IF FILE NO LONGER EXISTS
3Q6W ... JBS PERLST,3,BPERLOST [J IF FILE PERMANENTLY LOST
3QLG ... JBS TEMPLST,3,BTEMLOST [J IF FILE TEMPORARILY LOST
3R66 ... JBS RVOK1,3,BFILBRES [J IF FILE IS BEING RETRIEVED
3RKQ ...XER1 [
3WHG GEOERR 1,WRGBIT [UNUSUAL BIT SET
3X36 ...TEMPLST [
3X*H ... SETREP2 TEMPLOST
3XMY ... BRN RVOK1
3Y2B ...PERLST [
3Y#R ... SETREP2 LOST
3YM8 ... BRN RVOK1
3Y^L ...NOEXIST [
3^F= ... SETREP2 NOFILE
3^YW ...RVOK1 [
43CQ ... EXIT 1 0 [
43XB ...[
44C2 ...[ ******************************************************************
44WL [
45B= [ S.R.TO DISCOVER PRESENCE OR ABSENCE OF REQUEST BLOCK
45TW [ IN OFLC
46*G [
46T6 VSEARCH
47#Q LDN 3 0 [SET 'VARIABLE'
47SB BRN VS
487P ...[
48H4 ...[ SUBROUTINE TO SEARCH OFF LINE CHAIN FOR A REQUEST BLOCK SPECIFIED
48WC ...[ BY AN INCREMENT NUMBER IN X4, FILE NUMBER IN X5, AND FILESTORE
499Q ...[ NUMBER IN X6.
49K5 ...[ THE CHAIN IS SORTED ON INCREMENT NUMBER, THEN FILE NUMBER,
49YD ...[ AND THEN FILESTORE NUMBER.
4=?R ...[ IF THE REQUEST BLOCK IS NOT FOUND,X2 POINTS TO THE NEXT BLOCK IN
4=M6 ...[ THE CHAIN,EXIT 7 1
4?2F ...[ IF THE REQUEST BLOCK IS FOUND,X2 POINTS TO IT, EXIT 7 0
4?*S ...[
4?PB SEARCH
4#92 LDN 3 1 [SET 'MANDATORY'
4#NL VS LDX 2 BOLC
4*8= LDN 0 BOLC
4*MW M1SFOLC
4B7G LDX 2 0(2)
4BM6 ... BXE 2 0,XIT1 [J IF END OF CHAIN
4C6Q ... BXL 4 FDTINCNUM(2),XIT1 [J IF INCREMENT NOT THERE
4CLB BXU 4 FDTINCNUM(2),M1SFOLC [J IF INCREMENT NOT YET REACHED
4CW8 ... BXL 6 FDTFILSTR(2),XIT1 [J IF FILESTORE NOT THERE
4D62 ... BXU 6 FDTFILSTR(2),M1SFOLC [J IF FILESTORE NOT YET REACHED
4D*S ... BXL 5 FDTFILNUM(2),XIT1 [J IF FILE NOT THERE
4DKL BXU 5 FDTFILNUM(2),M1SFOLC [J IF FILE NOT YET REACHED
4DTD ...[
4F5= ...[ X2 POINTS TO A REQUEST BLOCK FOR THIS FILE
4F*4 ...[
4FJW EXIT 7 0
4FSN ...[
4G4G ...[ THERE IS NO REQUEST BLOCK FOR THIS FILE IN OFF LINE CHAIN
4G## ...[
4GJ6 XIT1 BNZ 3 XGONE [J IF MANDATORY
4H3Q EXIT 7 1
4HHB XGONE GEOERR 1,FILEGONE
4HNJ ...[
4HTQ ...[ ******************************************************************
4J32 [
4JGL [ S.R. TO SET CHAIN ALTERED BITS IN DUMP TAPE ACTIVITIES
4K2= [
4LF6 [
4LYQ SACT LDX 2 BOLC
4MY2 LDX 1 A1(2) [COUNT OF FDT ENTRIES
4NCL BZE 1 SACT2
4NX= ...SET8 BS 2,BIFDTCA [SET 'CHAIN ALTERED' BIT
4PBW ADN 2 FDTLEN [NEXT ENTRY
4PWG BCT 1 SET8
4QB6 SACT2 EXIT 7 0
4QH# ...[
4QNG ...[ ******************************************************************
4QTQ [
4R*B [ ENTRY POINT FOR AUTONOMOUS RV ACTIVITY.IT HAS DIRECTORY OPEN,AND
4RT2 [ SOMETIMES SDF AS WELL.HAS ALREADY CHECKED FOR NON-ZERO INC.NO.
4S#L [
4SS= X2SCHEDENX
4T6L ... STO 6 AWORK3(2) [AWORK3 => JOBNO PASSED DOWN FROM RET
4T?W LDCT 0 #400
4TRG STO 0 AWORK1(2) [SET'AUTONOMOUS RETRIEVE ACTIVITY'
4W?6 MHUNTW 3,FILE,ENT
4WQQ LDX 4 EINC(3) [X4=INC NO
4X=B BRN NOTLOST
4XG8 ...[
4XQ2 ...[ ******************************************************************
4X^S ...[
4Y9L ...[ MAIN ENTRY POINT,FROM OPENREL
4YFD ...[ THE DIRECTORY ENTRY FOR FILE TO BE RESTORED IS IN A FILE/ENT BLOCK
4YP= [ B0 AWORK1 SET IF AUTONOMOUS RV ACT,ELSE CLEAR
4^8W [ AWORK2 IS USED TO CONTAIN TSN OF DTA IF SET UP
4^NG [ AWORK4 TEMP X7 STORAGE IN OUTMESS S.R.
5286 [
52MQ [ DIRECTORY POSITIONED AFTER NAME RECORD
537B [
53M2 [ REQUEST BLOCKS MUST ONLY BE CHAINED IN AND DECHANED WHILE DIR.
546L [ IS OPEN
54L= [
555W X1SCHEDENX
55KG STOZ AWORK1(2) [SET'NOT AUTO RV'
5656 MHUNTW 3,FILE,ENT
56JQ LDX 4 EINC(3) [INCREMENT NO.FOR THIS FILE
574B BNZ 4 NOTLOST
57#8 ...[
57J2 ...[ INCREMENT NUMBER OF FILE IS ZERO-FILE LOST
57RS ...[
583L FREECORE 3 [FREE FILE/ENT BLOCK
58H= CLOSETOP [DIERECTORY
592W [
59GG [ WILL NEVER BE AVAILABLE-NOT ONLINE AND NOT DUMPED
5=26 [
5=FQ SETREP2 LOST
5=^B BRN UP2
5?6J ...[
5??Q ...[ ******************************************************************
5?F2 [
5?JX ...[ REQUEST BLOCK WITH SAME FILESTORE,INCREMENT, AND FILE
5?NS ...[ NUMBERS ALREADY IN OFFLINE CHAIN - THUS FREE THE FREQ BLOCK
5?SP ...[ JUST SET UP UNLESS THE FILE DETAILS (USERNAME, LOACAL NAME,
5?YL ...[ ETC.) DIFFER, IN WHICH CASE CHAIN IN THE NEW FREQ BLOCK
5#4H ...[ BEFORE THE OLD(SO AS TO GET THE 'FILE .... IS BEING RETRIEVED'
5#8D ...[ MESSAGE CORRECT,AND TO ENSURE THAT BOTH FILES ARE RETRIEVED).
5##* ...[
5#D= [ X1 -> REQUEST BLK SET UP
5#XW [ X2 -> REQUEST BLK ALREADY IN THE CHAIN
5*CG [
5*X6 PREV1
5B2K ... LDN 0 9 [CHECK 9 WORDS OF FREQ
5B64 ...PREVREP [
5B9H ... SMO 0 [X0 IS MODIFIER AND COUNTER
5B*2 ... LDX 3 FFUSER1-1(1) [X3 => NAME FROM FREQ
5BDF ... SMO 0 [
5BHY ... BXU 3 FFUSER1-1(2),SAME1 [J IF DIFFERENT
5BMC ... BCT 0 PREVREP [J IF MORE WORDS TO CHECK
5BQW ... LDX 3 2 [PRESERVE POINTER TO FREQ
5BWB FREECORE 1 [ FREES REQUEST ALREADY SET UP
5CB2 ... JBS XHAPPY,3,BHAPPY [J IF TERMINAL & DEALT WITH BY DTS
5CTL ...NTRM [
5D*= ... JBC NOTERM,3,BTERMST [J IF NOT IN A TERMINAL STATE
5DSW ...UP1 [
5F#G ... CALL 1 SETREPLY [SET REPLY
5FS6 ... PICKREP2 7 [SAVE REPLY
5KP6 CLOSETOP [ CLOSE SUPERIOR DIRECTORY
5L8Q ... PUTREP2 7 [RESET REPLY
5LNB ... LDX 0 AWORK1(2) [
5M82 ... BPZ 0 RVOK [J IF NOT AUTO RV
5N7= UP [ RETURN TO REQUESTING ACTIVITY
5N9L ...XHAPPY [
5N#2 ... LDX 0 AWORK1(2) [
5NBB ... BNG 0 NTRM [J IF AUTONOMOUS RV
5NDQ ... LDN 0 1 [
5NH6 ... ADS 0 FREQCT(3) [ONE MORE WAITER
5NKG ... CLOSETOP [CLOSE DIRECTORY
5NMW ... BRN REPL [
5NQ= ...[
5NSL ...[ ******************************************************************
5NX2 ...[
5N^B ...[ NUMBER OF INCREMENT CONTAINING FILE IS IN X4
5P3Q ...[
5P6G NOTLOST
5PL6 LDX 5 EFILNUM(3) [FILE NUMBER IN X5
5Q5Q [
5QKB [ SET UP A REQUEST BLOCK FOR THE FILE
5R52 [
5RJL ... LDN 7 FREVCT-A1+2 [SET UP FREQ. BLK WITH JOB NO.
5S4= ... SETUPCORE 7,2,FILE,FREQ [SET UP A FILE FREQ
5SHW STOZ ADTCOUNT(2)
5T3G STOZ FREQCT(2)
5TH6 STOZ FREVCT(2)
5W2Q STOZ FDTSTATE(2)
5WGB MHUNTW 3,FILE,ENT
5WL? ... JBC XNOTFH,3,BEFHDIRMODE [J IF DIR ENTRY NOT FILEHANDLERED
5WQ8 ... BS 2,BFHCE [SET 'CREATED BY FILEHANDLER' BIT
5WW5 ...XNOTFH [
5WXB ... CALL 6 SGMTNOW
5WYM ... MHUNT 2,FILE,FREQ
5X22 STO 4 FDTINCNUM(2)
5XFL STO 5 FDTFILNUM(2)
5X^= LDN 6 ELOC1(3) [ MOVE IN LOCAL NAME
5YDW LDN 7 FFLOG1(2)
5YYG MOVE 6 5
5^D6 LDX 6 ELAN(3)
5^XQ STO 6 FFLANG(2)
624Y ... LF 3,FEFSNO,6 [X6 => FILESTORE NUMBER
62=6 ... STO 6 FDTFILSTR(2) [STORE FILESTORE NUMBER
62CB LDX 3 2 [ X3-> FREQ BLOCK
62X2 TOPFCB 2 [ X2 -> SUPERIOR DIRECTORY
63BL ... LDN 7 FME1(2)
63W= ... LDN 0 FFUSER1(3)
64*W ... MOVE 7 3 [ MOVE IN USER NAME
64TG MFREEW FILE,ENT
655# ...[
65*6 [ PRESERVE FREQ POINTER IN X1
65JY ...[
65SQ LDX 1 3
66#B [
66S2 [ IS THERE A REQUEST FOR THIS FILE IN THE CHAIN?
67?L [
67R= ...[ THERE MUST BE NO COORDINATION BETWEEN THIS SEARCH AND CHAINING
68=W ...[ IN THE BLOCK,AND ALERTING ALL DUMP TAPE ACTIVITIES
68QG [
69=6 ...[ X4,X5,X6 = INC NO,FILE NO, AND FILESTORE NO
69PQ [
6=9B CALL 7 VSEARCH
6=P2 BRN PREV1 [J IF BLOCK NOW IN CHAIN
6?8L [
6?N= [ X2 POINTS TO THE NEXT REQUEST IN THE OLC
6#7W [ X1 POINTS TO REQUEST BLOCK SET UP
6#MG [ NO FREQ FOR RETRIEVE, CHAIN IT IN
6#X# ...[
6*76 BXE 2 CXOL,XENDOLC
6*DG ... BXU 6 FDTFILSTR(2),XENDOLC [ REQUEST (POSITIONED AHEAD)
6*PW ... [ HAS DIFFERENT FILESTORE NO.
6B3= ... BXE 4 FDTINCNUM(2),SAME1 [ REQUEST (POSITIONED AHEAD)
6B#L ... [ HAS SAME INC. NO.
6BL2 XENDOLC
6C3M ... LDX 2 BPTR(2) [STEP BACK ONE BLOCK
6CF# ... LDX 0 ATYPE(2) [TEST IF FREQ
6CW^ ... SMO FX1 [
6D#L ... TXU 0 XFILEFREQ [
6DQ? ... BCS NOTSAME [J IF NOT A FREQ BLOCK
6F7Y ... BXU 6 FDTFILSTR(2),NOTSAME [ REQUEST (POSITIONED BEFORE)
6FKK ... [ HAS DIFFERENT FILESTORE NO.
6G3B BXE 4 FDTINCNUM(2),SAME2
6GH2 NOTSAME
6GQS ...[
6H2L [ MUST CHAIN THE REQUEST BLOCK INTO OLC
6H=D ...[
6HG= CHAIN 1,2 [ PUT FREQ BLOCK IN OLC
6H^W [
6JFG [ KICK THE DUMP TAPE SCHEDULER
6J^6 [
6KDQ STARTACT RET
6KYB XCHALT
6LD2 CALL 7 SACT [ CHAIN ALTERED BITS
6LXL BRN NOTERM
6MC= SAME1 [REQUEST IN OLC HAS SAME INC. NO.
6MWW ... LDX 3 BPTR(2)
6NBG BRN STX1
6NW6 SAME2
6P*Q ... STO 2 3
6PTB STX1
6Q*2 ... JBS XVERF,2,BINCUNVERR [J IF NEEDS VERIFYING
6QSL ... JMBAC NOTERM2,2,BPERLOST,BTEMLOST [J IF INCREMENT OK
6WPL [
6X9= [ THE STATE WORD MUST INDICATE THAT THE INCREMENT IS TEMPORARILY
6XNW [ OR PERMANENTLY LOST
6Y8G [
6YN6 ... LDX 3 2 [X3 -> FREQ BLOCK FOR 'SETREPLY'
6^MB FREECORE 1 [ FREE THE REQUEST BLK
6^R? ... CALL 1 SETREPLY
6^X8 ... PICKREP2 7
7235 ... CLOSETOP
7272 ... PUTREP2 7
72=X ... LDX 0 AWORK1(2)
72BS ... BPZ 0 UP2
72GP ... UP
72LL NOTERM
736= CALL 7 SEARCH [MANDATORILY SEARCH OLC;X2POINT TO FR
73KW LDX 3 FX2 [ SET X3 -> REQUESTING ACTIVITY
745G LDX 0 AWORK1(3)
74K6 BNG 0 RVCMD [J IF RV COMMAND
754Q ... LDN 1 1
75JB ADS 1 FREQCT(2) [ INCREMENT NO. OF WAITERS
75Y5 ... STO 4 ACOMMUNE1(3) [ PRESERVE INC. NUMBER
76?S ... STO 5 ACOMMUNE2(3) [ FILE NUMBER
76MH ... STO 6 ACOMMUNE3(3) [ AND FILESTORE NUMBER.
773= CALL 1 REMOVX [ REMOVES JOB NO. IF PRESENT
77B^ ... LDX 4 ACOMMUNE1(2) [ REPLACE INCREMENT NUMBER
77QN ... LDX 5 ACOMMUNE2(2) [ FILE NUMBER
786C ... LDX 6 ACOMMUNE3(2) [ AND FILESTORE NUMBER.
78G6 XWAIT
78^Q MAGICNO 5,4,1
79FB LONGSET #24,WAITERR,1
79^2 [
7=DL CLOSETOP [ CLOSE SUPERIOR DIRECTORY
7=Y= [
7?CW [ OUTPUT MESSAGE :%A IS BEING RETRIEVED
7?XG [
7#C6 SETNCORE 20,3,ADATA,CREADL
7#WQ STOZ A1(3)
7*BB ... CALL 7 SETFABTEN [SET UP A FABSNB FROM FREH BLK
7*W2 UNNORM TWO
7B*L MHUNTW 3,ADATA,CREADL
7BT= OUTPARAM A1(3),CPDATA,ADATA,CREADL
7C#W MONOUT BEREST
7CSG MFREEW ADATA,CREADL
7D#6 MFREEW FILE,FABSNB
7DF# ...#UNS FREEBUFF
7DLG ... FREEBUFF JOB [ FREES FURBS AND WRITES AWAY FUWBS TO WHOLE JOB
7DRQ STOP
7F?B ... LONGSTOP SBREAKIN [ ACTIVITY SET WAITING FOR
7FR2 ... [ FILE TO COME ONLINE.
7G=L REPL CALL 7 SEARCH [ FIND REQUEST BLOCK
7GQ= ... JBS NOTSPURIOUS,2,BTERMST [J IF NOT SPURIOUS REACTIVATION
7K8B MAGICNO 5,4,1 [NEARLY UNIQUE SUB STYLE
7KN2 LONGSET #24,WAITERR,1
7L7L ... BRN STOP [GO AND WAIT ONCE MORE
7LM= NOTSPURIOUS
7M6W ... JBS RVOK,2,BFILERES [J IF FILE RETRIEVED OK
7MLG ... LDX 3 2 [X3 -> FREQ FOR 'SETREPLY'
7N66 ... CALL 1 SETREPLY [SET APPROPRIATE REPLY
7P5B XACTLF
7PK2 HUNT 1,FILE,FABSNB [SET UP COPY
7Q4L ... LDX 7 ALOGLEN(1) [OF FILE/FABSNB
7QJ= ... SETUPCORE 7,3,FILE,FABSNB [AS ORIGINAL
7R3W HUNT2 1,FILE,FABSNB,3 [WILL BE
7RHG ... LDN 1 A1(1) [REMOVED
7S36 ... LDN 2 A1(3) [FROM THE
7SGQ ... SMO 7 [ACTIVITY
7T2B ... MOVE 1 0 [CHAIN
7TG2 LFLOST [MACRO FOR DEALING WITH LIST-LOST
7T^L [ FILES
7WF= XSEARCH
7WYW CALL 7 SEARCH [FIND REQUEST BLOCK
7X64 ... JBC UP2,2,BHAPPY [J IF NOT TERMINAL & DEALT WITH
7X?= ... [BY DTS
7XDG LDX 7 FREQCT(2) [ REDUCE NUMBER OF WAITERS
7XY6 SBN 7 1 [ BY ONE
7YCQ STO 7 FREQCT(2)
7YXB BZE 7 XNOFREQ [ J TO REMOVE REQUEST BLOCK
7^C2 UP2
7^WL UPPLUS 1
82B= XNOFREQ
82TW FREECORE 2 [REMOVE REQUEST BLOCK
83*G CALL 7 SACT [SET CHAIN ALTERED BITS
83T6 BRN UP2
84#Q [
84SB [
85#2 RVOK
85RL ... CALL 7 SETFABTEN [SET UP A 10-WORD FABSNB
86?= OPENDIR XBREAKD,GENERAL,QUERY,ERASING
86QW MFREEW FILE,FABSNB
87=G TESTRPN2 OK,XACTLF [J IF REPLY NOT OK
87Q6 MHUNTW 1,FILE,ENT
889Q LDEX 0 ECOPS(1)
88PB BZE 0 XSEARCH [ DONT BACKSPACE IF COPIES RECORD
8992 [ NOT UPDATED
89NL ... PICKREP2 7 [PRESERVING REPLY HERE MAY BE
8=8= BACKSPACE [A CURE TO FILE PERMANENTLY
8=MW ... PUTREP2 7 [LOST - BUG 7620
8?7G BRN XSEARCH
8?M6 [
8#6Q [ RESTORE HAS BEEN INITIATED BY THE RETRIEVE COMMAND
8#LB [
8*62 RVCMD
8*KL ... CALL 1 RINSERT [ INSERT JOB NUMBER IF NOT ALREADY TH
8B5= ... CLOSETOP [CLOSE DIRECTORY
8BJW ... SETREP OK [FILE BEING RETRIEVED OK
8C4G ... UP [BACK TO 'RETRIEVE' SEGMENT
8CJ6 ...XBREAKD [
8D3Q GEOERR 1,DIRBRKIN [BREAK IN ON OPENDIR
8DHB SBREAKIN
8F32 [ IF AN ACTIVITY IS BROKEN-IN ON WHILE WAITING FOR A FILE
8FGL [ TO BE RVED THEN THE COUNT OF THE NO. OF WAITERS IS
8G2= [ REDUCED BY ONE AND THE JOB NUMBER IS INSERTED WITH
8GFW [ FREVCT INCREMENTED BY ONE
8G^G [
8HF6 [ EXIT IS BY UP
8HYQ [
8JDB ...[ X4,X5,X6 = INCREMENT, FILE & FILESTORE NUMBERS RESPECTIVE
8JY2 [
8KCL CALL 7 SEARCH [X2= FREQ BLOCK
8KX= LDN 1 1
8LBW SBS 1 FREQCT(2) [DECREMENT COUNT OF WAITERS
8LWG LDX 3 FX2 [RINSERT EXPECTS X3
8MB6 [CURRENT ACTIVITY
8MTQ CALL 1 RINSERT [ INSERT JOB NO AND ALTER LENGTH
8N*B [ DANGER IF TWO JOBS BREAK-IN
8NT2 [ SIMULTANEOUSLY
8P#L UP [ EXIT TO BREAK-IN ENTRY POINT
8PS= MENDAREA 100,K99SCHEDENX
8Q?W #END
8QRG
^^^^ ...16675733000700000000