{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: PMFSB84)}}
====== PMFSB84 ======
(George Source)
**Macros used:** [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:BXL|BXL]], [[george:macro:CHAIN|CHAIN]], [[george:macro:EMPTY|EMPTY]], [[george:macro:FAILURE|FAILURE]], [[george:macro:FIXTRA|FIXTRA]], [[george:macro:FSHTEST|FSHTEST]], [[george:macro:JBUSY|JBUSY]], [[george:macro:JENVNOT|JENVNOT]], [[george:macro:ON|ON]], [[george:macro:PMCORES|PMCORES]], [[george:macro:PMESSAGE|PMESSAGE]], [[george:macro:PMOVE|PMOVE]], [[george:macro:SEGENTRY|SEGENTRY]]
22^= #OPT K0PMFSB=0
23DW #LIS K0PMFSB>K0POST>K0ALLGEO
23YG ...#SEG PMFSB84 [KAREL KOSKUBA - DIAG
24XQ #
25CB # THIS SEGMENT CONTAINS SUBROUTINES FOR FILE STORE POSTM.
25X2 #
26BL 8HPMFSB
26W= #
27*W # ENTRY POINT TABLE
27TG #
28*6 ... SEGENTRY K1PMFSB,XK1PMFSB
28F3 ... SEGENTRY K2PMFSB,XK2PMFSB
28JY ...#
28NT ...#SKI G3
28SQ ...(
28YM ... FIXTRA JJRECBLK
294J ... BRN XJRECBLK1
298F ...)
29#B #
29S2 ... FIXTRA FFPRLIN
2=?L BRN XFPRLIN
2=R= #
2?=W ... FIXTRA FFPRRCD
2?QG BRN XFPRRCD
2#=6 #
2#PQ ... FIXTRA JJGETFCB1
2*9B BRN XGETFCB1
2*P2 #
2B8L ... FIXTRA JJGETFCB
2BN= BRN XGETFCB
2C7W #
2DLQ #
2F6B XSTART [START ADDR. OF PSEUDO ACTIVITY BLOCK
2FL2 # THERE FOLLOW WORDS TO FILL PSEUDO ACTIVITY BLOCK
2G5L FIXTRA FREMAIN
2GK= REMAIN +0 [REMAINDER OF WORDS IN BLOCK
2H4W FIXTRA FMODBLK
2HJG MODBLK +0 [BLOCKLET MODIFIER FOR PRINTING
2J46 XOCT +8
2JHQ X128 +128 [128 WORDS PER BLOCK
2K3B XLINK +0
2KH2 WLBONE +120
2L2L X512 +512
2LG= X
2L^W #REP CHAINADD-X+XSTART
2MFG +0
2M^6 XCHAD +0
2NDQ # MORE FILLERS NOW!!!
2NYB XBACK +0 [BACKWARD CHAINING IND.
2P5J ...XBFILE +BFILE [BASE OF FILE CHAIN : IN SHFS
2P=Q ... [TESTING VERSION IF B MACHINE WAS
2PCY ... [RUNNING AT TIME OF BREAK THIS WILL
2PK6 ... [BE CHANGED TO BIPL WHEN PRINTING
2PQ# ... [RECALL FILE
2PXL XLINK3 +0
2QC= TEXT10 36HBLOCK NO. GIVES B/S RES. VIOLATION
2QWW TEXT11 40HPERIPHERAL TRANSFER FAILURE ON B/S DEV.
2RBG PRH1 32H RECORD HEADER OVERWRITTEN
2RL# ...XPMFSBEND +PMFSBEND
2RW6 #
2S*Q Y
2STB #REP CPPTR-Y+XSTART
2T*2 +0
2TSL FIXTRA JBSPTR
2W#= XBSPTR +0 [THE PTR,SET UP AT BLOQSTART + CPPTR
2WRW XBSRW1 +0 [& REPLY WORD-FOR COMMUNICATION TO
2X?G [& FROM EXEC.
2X#3 ...#
2X#J ...#SKI G3
2X*5 ...(
2X*L ...MASK1 #177777
2XB7 ...XACT #60
2XBN ...XCONS +CONSA+CNTRAL
2XC9 ...XACEND +BACT+ACTRING
2XCQ ...XCONB +CONBUFF+ACTIVE
2XD? ...SAVE2 +0
2XDS ...XFRWB +FILE+FRWB
2XF* ...XCNTRL +CONBUFF+CNTRL
2XFW ...XSYST 12HSYSTEM
2XGC ...XRECALL 12HRECALL FILE
2XGY ...SLINK +0
2XHF ...NL #76327474
2XJ2 ...XDOLLER #74
2XJH ...TEXT1 27HPRINT OF RECALL FILE ENSUES
2XK4 ...TEXT2 37H CURRENT PAGE PRINTED FROM CORE
2XKK ...TEXT3 36H STORED PAGE PRINTED FROM CORE
2XL6 ...TEXT4 18HCURRENT PAGE EMPTY
2XLM ...TEXT6 52HBREAK IN ACTIVITY CHAIN : PRINT OF STORED PAGES ABAN
2XM8 ... 5HDONED
2XMP ...TEXT7 36HFILE/FRWB CORRUPT SEE ACTIVITY CHAIN
2XN= ...TEXT8 41HCONBUFF/ACTIVE CORRUPT SEE ACTIVITY CHAIN
2XNR ...TEXT9 52HBREAK IN ACTIVITY RING : PRINT OF RECALL FILE ABANDO
2XP# ... 3HNED
2XPT ...TEXT12 27HEND OF PRINT OF RECALL FILE
2XQB ...)
2XR6 [ NOW TO FILL PSEUDO BLOCK
2Y=Q #
2YQB XK1PMFSB
2^28 ... LDX 1 FXPM1
2^=2 ... ADS 1 XPMFSBEND(1)
2^FS ... PMOVE PMFS,XPMFSBEND(1),1,2
2^FW ...#
2^FY ...# ENTRY POINT TO PRINT RECALL FILE
2^G2 ...#
2^G4 ...XK2PMFSB
2^G6 ...#SKI G4
2^G8 ... BRN (JPMSEG)
2^G= ...#SKI G3
2^G# ...(
2^GB ... JENVNOT XC5,DME [IF NOT DME NOTHING TO DO
2^GD ... LDX 1 FXPM1 [READ DOWN PMFS AFTER PMFSB
2^GG ... ADS 1 XPMFSBEND(1)
2^GJ ... PMOVE PMFS,XPMFSBEND(1),,2
2^GL ... LDX 1 FXPM2 [DATUMISE AFRESBS
2^GN ... ADS 1 AFRESBS(1)
2^GQ ...#
2^GS ...# SEARCH ACTIVITY RING STARTING AT BASE IN BLANKET FOR THE CONSA
2^GW ...# CNTRL BLOCK. SEARCH IS FORWARD UNLESS A BREAK IS FOUND
2^GY ...#
2^H2 ... LDX 1 FXPM1
2^H4 ... LDN 2 BACT+ACTRING [LOAD BASE OF ACTIVITY RING
2^H6 ...XC1 LDX 2 FPTR(2)
2^H8 ... TXU 2 XACEND(1) [END OF ACTIVITY RING?
2^H= ... BCC XC5 [YES
2^H# ... PMCORES 2,XC2 [VALID FPTR?
2^HB ... SBN 2 ACTRING
2^HD ... LDX 4 ATYPE(2)
2^HG ... SRL 4 12
2^HJ ... TXU 4 XCONS(1) [IS IT CONSA CNTRL
2^HL ... BCC XC6 [YES
2^HN ... ADN 2 ACTRING
2^HQ ... BRN XC1
2^HS ...#
2^HW ...# SEARCH BACKWARDS
2^HY ...XC2 LDN 2 BACT+ACTRING
2^J2 ...XC3 LDX 2 BPTR(2)
2^J4 ... TXU 2 XACEND(1) [END OF ACTIVITY RING
2^J6 ... BCC XC5 [YES
2^J8 ... PMCORES 2,XC4 [VALID BPTR
2^J= ... SBN 2 ACTRING
2^J# ... LDX 4 ATYPE(2)
2^JB ... SRL 4 12
2^JD ... TXU 4 XCONS(1) [IS IT CONSA CNTRL
2^JG ... BCC XC6 [YES
2^JJ ... ADN 2 ACTRING
2^JL ... BRN XC3
2^JN ...#
2^JQ ...# BREAK IN ACTIVITY CHAIN
2^JS ...XC4 PMESSAGE TEXT9(1),14
2^JW ...XC5 BRN (JPMSEG)
2^JY ...#
2^K2 ...# LOCATE AND PRINT CURRENT PAGE
2^K4 ...#
2^K6 ...XC6 LDX 2 FPTR(2)
2^K8 ... PMCORES 2,XC9 [VALID POINTER
2^K= ... LDCH 4 ATYPE(2) [IS IT ACTIVITY
2^K# ... TXL 4 XACT(1)
2^KB ... BCC XC5 [YES END OF SEARCH
2^KD ... LDX 4 ATYPE(2)
2^KG ... SRL 4 12
2^KJ ... TXU 4 XCONB(1) [CONBUFF ACTIVE
2^KL ... BCS XC6 [NO
2^KN ... CALL 7 (JPRINT) [NEW PAGE
2^KQ ... PMESSAGE TEXT1(1),7 [HEADING
2^KS ... PMESSAGE TEXT2(1),10
2^KW ... SMO FXPM2
2^KY ... LDX 5 AFRESBS [MOVE BLOCK TO END OF PMFS
2^L2 ... LDN 4 A1(2)
2^L4 ... MOVE 4 256
2^L6 ... STO 2 SAVE2(1) [PRESERVE X2
2^L8 ... CALL 0 XJRECBLK2 [PRINT BLK
2^L= ... BRN XC7 [OK
2^L# ... PMESSAGE TEXT8(1),11 [ERROR
2^LB ...#
2^LD ...# SEARCH FOR FILE/FRWB BLOCKS AND PRINT ONLY THERE IF BREAK IN
2^LG ...# EMS
2^LJ ...#
2^LL ...XC7 LDX 2 SAVE2(1) [RESTORE X2
2^LN ...XC8 LDX 2 FPTR(2)
2^LQ ... PMCORES 2,XC9 [VALID POINTER
2^LS ... LDCH 4 ATYPE(2)
2^LW ... TXL 4 XACT(1) [IS IT ACTIVITY
2^LY ... BCC XC10 [YES END OF SEARCH
2^M2 ... LDX 4 ATYPE(2)
2^M4 ... SRL 4 12
2^M6 ... TXU 4 XFRWB(1) [IS IT FILE/FRWB
2^M8 ... BCS XC8 [NO
2^M= ... SMO FXPM2 [MOVE BLOCK TO END OF PMFS
2^M# ... LDX 5 AFRESBS
2^MB ... LDN 4 A1(2)
2^MD ... MOVE 4 256
2^MG ... PMESSAGE TEXT3(1),9 [PRINT HEADING
2^MJ ... STO 2 SAVE2(1) [PRESERVE X2
2^ML ... CALL 0 XJRECBLK1 [PRINT BLOCK
2^MN ... BRN XC7 [OK
2^MQ ... PMESSAGE TEXT7(1),9 [ERROR
2^MS ... BRN XC7
2^MW ...XC9 PMESSAGE TEXT6(1),15 [ABANDON PRINT OF STORED PAGES
2^MY ... BRN XC10
2^N2 ...#
2^N4 ...# CHECK IF RECALL FILE SET UP
2^N6 ...#
2^N8 ...XC10 LDX 2 CONSCNTRL [POINTER TO CONBUFF/CNTRL
2^N= ... BZE 2 XC5 [NO CONBUFF/CNTRL
2^N# ... LDX 4 ATYPE(2)
2^NB ... SRL 4 12
2^ND ... TXU 4 XCNTRL(1)
2^NG ... BCS XC5 [NO CONBUFF/CNTRL
2^NJ ... LDX 4 COVID(2)
2^NL ... ANDN 4 #4000 [IS BIT 12 SET
2^NN ... BZE 4 XC5 [RECALL FILE NOT SET UP
2^NQ ...#
2^NS ...# SEARCH FILE CHAIN FOR FCB OF RECALL FILE
2^NW ...#
2^NY ...#UNS FSHTEST
2^P2 ...(
2^P4 ...#
2^P6 ...# IN THE SHFS TESTING VERSION IF WHEN PM TAKEN
2^P8 ...# MACHINE B WAS RUNNING RECALL FILE WILL BE
2^P= ...# IN OTHER FILE CHAIN BASE BIPL
2^P# ...#
2^PB ... LDX 4 INCWORD
2^PD ... ANDN 4 #2000
2^PG ... BZE 4 XNOTB [NOT IN B MACHINE
2^PJ ... LDN 2 BIPL [CHANGE FILE CHAIN BASE FOR
2^PL ... STO 2 XBFILE(1) [SUBROUTINE XGETFCB
2^PN ...XNOTB
2^PQ ...)
2^PS ... LDX 1 FXPM2
2^PW ... CALL 0 XGETFCB1
2^PY ... BRN XF1
2^Q2 ... BRN XC5 [BREAK OR END CHAIN NOTHING TO DO
2^Q4 ...XF1 LDX 2 JXFCB(1) [ADDR FILE/FCB
2^Q6 ... LDX 1 FXPM1
2^Q8 ... LDX 4 FUSER1(2) [IS USER NAME SYSTEM
2^Q= ... LDX 5 FUSER2(2)
2^Q# ... LDX 6 FUSER3(2)
2^QB ... TXU 4 XSYST(1)
2^QD ... TXU 5 XSYST+1(1)
2^QG ... TXU 6 XSYST+2(1)
2^QJ ... BCS XF2 [NO
2^QL ... LDX 4 FLOC1(2) [IS FILE NAME RECALL FILE
2^QN ... LDX 5 FLOC2(2)
2^QQ ... LDX 6 FLOC3(2)
2^QS ... TXU 4 XRECALL(1)
2^QW ... TXU 5 XRECALL+1(1)
2^QY ... TXU 6 XRECALL+2(1)
2^R2 ... BCC XF3 [YES
2^R4 ...XF2 LDX 1 FXPM2
2^R6 ... CALL 0 XGETFCB
2^R8 ... BRN XF1
2^R= ... BRN XC5 [RECALL FILE NOT FOUND
2^R# ...#
2^RB ...# PRINT BLOCKS FROM FILE
2^RD ...#
2^RG ...XF3 LDX 1 FXPM2
2^RJ ... LDX 4 JMASK1(1)
2^RL ... STO 4 JXBITAB(1)
2^RN ... LDN 4 JXBITAB(1)
2^RQ ... LDN 5 JXBITAB+1(1)
2^RS ... MOVE 4 20
2^RW ... LDX 2 FXPM2
2^RY ... ADX 2 JZDECANT
2^S2 ... CALL 0 (2)
2^S4 ... BRN £
2^S6 ... LDX 1 FXPM1
2^S8 ... PMESSAGE TEXT12(1),7
2^S= ... SMO FXPM1 [RESTORE DEVICE LIST IF NECESSARY
2^S# ... LDX 5 XBSPTR
2^SB ... BZE 5 XC5
2^SD ... LDN 4 JBSREC
2^SG ... ADX 4 FXPM2
2^SJ ...XF4 JBUSY 5,XF4
2^SL ... MOVE 4 K53
2^SN ... BRN XC5
2^SQ ...#
2^SS ...# ROUTINE TO PRINT A PAGE FROM THE RECALL FILE
2^SW ...#
2^SY ...# ENTRY XJRECBLK1 TO PRINT COMPLETED PAGES
2^T2 ...# ENTRY XJRECBLK2 TO PRINT CURRENT PAGE
2^T4 ...# ENTRY X0=LINK
2^T6 ...# MODBLK=BLOCKLET MODIFIER
2^T8 ...# EXIT 0 AFTER PRINTING PAGE
2^T= ...# ALL ACCUMS UNDEFINED
2^T# ...# EXIT 1 ERROR IN BLOCK
2^TB ...#
2^TD ...XJRECBLK1
2^TG ... STO 0 SLINK(1)
2^TJ ... SMO FXPM2
2^TL ... LDX 2 AFRESBS
2^TN ... ADX 2 MODBLK(1) [BLOCKLET MODIFIER
2^TQ ... LDX 4 0(2) [CHARACTER COUNT
2^TS ... SBN 4 1
2^TW ... BNG 4 XJREC8 [CHARACTER COUNT < OR = 0 ERROR
2^TY ... SBN 4 1024
2^W2 ... BPZ 4 XJREC8 [> 1024 ERROR
2^W4 ... LDX 4 0(2)
2^W6 ... SRL 4 2 [ADJUST COUNT TO ONLY INCLUDE
2^W8 ... LDX 3 1(2) [WORDS IN
2^W= ... SBN 3 11 [PAGE
2^W# ... SBX 4 3
2^WB ... LDN 0 0 [SET SWITCH TO INDICATE COMPLETE BLK
2^WD ...XJREC1
2^WG ... LDX 3 1(2) [CHECK IF START OF PAGE VALID
2^WJ ... SBN 3 20
2^WL ... BNZ 3 XJREC8 [NO-ERROR
2^WN ... LDX 3 1(2)
2^WQ ... SBN 3 9
2^WS ... ADX 2 3 [START OF MESSAGES
2^WW ... CALL 7 (JPRINT1) [BLANK LINE TO SEPERATE BLOCKLETS
2^WY ...XJREC2
2^X2 ... LDX 3 JLPMOD [LP BUFFER ADDR
2^X4 ... LDN 6 0 [CLEAR WORD COUNT
2^X6 ...XJREC3
2^X8 ... LDX 5 0(2)
2^X= ... ADN 6 1 [COUNT WORDS IN MSG
2^X# ... TXU 5 NL(1) [IS IT N/L WORD
2^XB ... BCC XJREC4 [YES END MSG
2^XD ... STO 5 0(3)
2^XG ... ADN 2 1
2^XJ ... ADN 3 1
2^XL ... LDX 5 6 [HAVE WE EXCEEDED WORDS IN LINE
2^XN ... SBN 5 21
2^XQ ... BPZ 5 XJREC8 [YES-ERROR
2^XS ... BRN XJREC3
2^XW ...XJREC4
2^XY ... STO 6 XLINK(1) [SAVE X6
2^Y2 ... LDN 6 3 [REMOVE $ PADDING OF LAST WORD
2^Y4 ... SBN 3 1
2^Y6 ... BCHX 3 £
2^Y8 ... LDN 7 #20
2^Y= ...XJREC9
2^Y# ... LDCH 5 0(3)
2^YB ... TXU 5 XDOLLER(1)
2^YD ... BCS XJREC10
2^YG ... DCH 7 0(3)
2^YJ ...XJREC10
2^YL ... BCHX 3 £
2^YN ... BCT 6 XJREC9
2^YQ ...#
2^YS ... CALL 7 (JPRINT1) [PRINT MESSAGE
2^YW ... LDX 6 XLINK(1) [RESTORE X6
2^YY ... BZE 0 XJREC5 [NOT CURRENT PAGE
2^^2 ... LDN 6 1 [COUNTING MSGS
2^^4 ...XJREC5
2^^6 ... SBX 4 6
2^^8 ... BZE 4 XJREC7 [FINISHED
2^^= ... ADN 2 1
2^^# ... BRN XJREC2
2^^B ...XJREC6
2^^D ... PMESSAGE TEXT4(1),5 [CURRENT PAGE EMPTY
2^^G ...XJREC7
2^^J ... LDX 0 SLINK(1)
2^^L ... EXIT 0 0 [OK EXIT
2^^N ...XJREC8
2^^Q ... LDX 0 SLINK(1) [ERROR EXIT
2^^S ... EXIT 0 1
2^^W ...#
2^^Y ...XJRECBLK2
3222 ... STO 0 SLINK(1)
3224 ... SMO FXPM2
3226 ... LDX 2 AFRESBS
3228 ... LDN 4 HEIGHTPAGE
322= ... SBX 4 2(2) [NO OF MSGS
322# ... BNG 4 XJREC8 [ERROR
322B ... BZE 4 XJREC6
322D ... LDN 0 1 [SWITCH TO INDICATE CURRENT PAGE
322G ... BRN XJREC1
322J ...)
322L ...#
329= #
32NW # ROUTINE FOR SETTING UP AND PRINTING A LINE
338G #
33N6 # ENTRY X3=LINK
347Q # X4=ADDR. OF WORD TO BE OUTPUT RELATIVE TO START OF
34MB # BLOCK(WILL TAKE VALUE 0-19)
3572 # MODBLK=BLOCKLET MODIFIER
35LL #
366= # EXIT X4,MODBLK UNCHANGED
36KW # ALL OTHER ACCS. UNDEFINED
375G #
37K6 XFPRLIN
384Q LDX 1 4 [WORD MODIFIER
38#J ... SMO FXPM1
38JB STO 3 XLINK [STORE LINK
3942 ... CALL 7 (JUP)
39HL +1
39RD ...NXTW SMO FXPM2
3=3= ... ADX 1 AFRESBS
3=?4 ... SMO FXPM1
3=GW ADX 1 MODBLK
3?2G LDX 5 0(1)
3?G6 ... CALL 7 (JOCT) [CONVERT TO OCTAL
3?^Q LDX 2 JPMOD
3#FB BCHX 2 £
3#^2 LDN 7 4 [COUNT OF 4 CHARACTERS
3*DL STCHS LDCH 0 0(1) [PICK UP CHARACTER
3*Y= DCH 0 0(2) [AND STORE
3BCW BCHX 1 £
3BXG BCHX 2 £
3CC6 BCT 7 STCHS [REPEAT FOR ALL CHARACTERS
3CWQ SBN 1 1 [RESTORE WORD MODIFIER
3DBB BCHX 2 £
3DW2 BCHX 2 £ [SPACE OUT GAP
3F*L BCHX 2 £
3FT= STO 2 JPMOD
3G#W ADN 1 20 [INCREASE WORD MODIFIER
3GJN ... SMO FXPM2
3GSG SBX 1 AFRESBS
3H4# ... SMO FXPM1
3H#6 SBX 1 MODBLK
3HHY ... SMO FXPM1
3HRQ ... TXL 1 X128 [J IF MORE WORDS FOR PRINTING
3J3J ... BCS NXTW
3J?B #
3JR2 # REMEMBER,ONLY 128 WORDS PER BLOCK,SO FIRST 8 ROWS 7 COLS. TO
3K=L # PRINT,NEXT 12 ROWS ONLY 6 COLS TO PRINT
3KQ= #
3L3L ... CALL 7 (JPRINT1) [PRINT LINE
3L*2 ... SMO FXPM1
3LLB ... LDX 3 XLINK
3LXQ ... EXIT 3 0
3M96 #
3MNQ # ROUTINE FOR PRINTING A LINE IF LANG. B1B0,B5B1 ETC.
3N8B #
3NN2 # ENTRY X3=LINK
3P7L # X1=WORD MODIFIER
3PM= # EXIT 0 - AFTER PRINTING RECORD
3Q6W # X1=UPDATED WORD MODIFIER
3QLG # ALL OTHER ACCS. UNDEFINED
3R66 # 1 - IF WHOLE OF BLOCK HAS BEEN PRINTED
3RKQ # 2 - TO PRINT IN BLOCK FORMAT
3S5B #
3SK2 XFPRRCD
3SSS ... SMO FXPM1
3T4L STO 3 XLINK [STORE LINK
3T#D ... SMO FXPM1
3TJ= LDX 3 REMAIN [N/W TO BE PRINTED
3W3W BNZ 3 PR1
3WB? ...PR2 SMO FXPM1
3WNN ... LDX 3 XLINK
3X36 EXIT 3 1 [EXIT AS WHOLE BLOCK PRINTED
3X*H ...PR1 SMO FXPM2
3XMY ... LDX 2 AFRESBS
3Y2* ... ADX 2 1
3Y#Q ... LDX 2 0(2) [N/W IN RECORD
3YM7 ... BZE 2 PR2 [J IF NO MORE RECORDS
3Y^L BNG 2 RHOVW [J IF REC.HEADER OVERWRITTEN
3^F= SBX 3 2 [5/2-N/W
3^YW BPZ 3 TRPRI [J TO PRINT RECORD
42DG RHOVW
42QX ... LDX 3 FXPM1
435# ... PMESSAGE PRH1(3),8 ['RECORD HEADER OVERWRITTEN'
43CQ LDN 4 512
43MJ ... SMO FXPM2
43XB STO 4 FNUMBER [N/W TO BE PRINTED
44C2 LDN 4 0 [STOZ PRINT LINE MODIFIER
44LS ... SMO FXPM1
44WL LDX 3 XLINK
45B= EXIT 3 2 [EXIT TO PRINT IN BLOCK FORMAT
45NM ...TRPRI SMO FXPM1
4634 ... STO 3 REMAIN [REMAINDER OF WORDS IN BLOCK
46*G LDN 5 29
46T6 BXGE 2 5,RECLO [J IF RECORD>29 WORDS
47#Q LDN 5 2
47SB BXE 2 5,SPLIN [J IF RCD HEADER ONLY
488W ... SMO FXPM2
48KB ... LDX 3 AFRESBS
48^W ... LDN 5 2(3)
49BB ... ADX 5 1
49QW LDX 6 JLPMOD
4==G ADN 6 4
4=Q6 SBN 2 2
4?9Q MOVE 5 0(2) [MOVE RECORD INTO BUFFER
4?PB ADN 2 2
4#2Q ...SPLIN SMO FXPM2
4##6 ... LDX 3 AFRESBS
4#KG ... ADX 3 1
4#WW ... LDX 5 1(3) [N/W IN RECORD
4*8= LDX 6 ACES
4*MW SRC 56 6
4B7G LDX 3 JLPMOD
4BM6 STO 5 2(3)
4C6Q STO 6 3(3)
4CD6 ... SMO FXPM2
4CPG ... LDX 3 AFRESBS
4D2W ... ADX 3 1
4D#= ... LDX 5 0(3)
4DKL LDX 3 JLPMOD
4F5= STO 3 JPMOD
4FJW ... CALL 7 (JDECN) [CONVERT TO DECIMAL
4G4G LDX 5 1
4GJ6 LDX 3 JLPMOD
4H3Q SBN 3 1
4HHB STO 3 JPMOD
4J32 ... CALL 7 (JDECN) [CONVERT TO DECIMAL
4JGL ADX 1 2
4JS2 ... CALL 7 (JPRINT1) [PRINT LINE
4K5B ... SMO FXPM1
4KBQ ... LDX 3 XLINK
4KN6 ... EXIT 3 0
4K^G RECLO SBN 2 28 [SUBTRACT 28 WORDS
4LB2 ... SMO FXPM2
4LQG ... LDX 3 AFRESBS
4M72 ... LDN 5 2(3)
4MHG ... ADX 5 1
4MY2 LDX 6 JLPMOD
4NCL ADN 6 4
4NX= MOVE 5 26 [MOVE 26 WORDS INTO BUFFER
4PBW ... ADX 3 1
4PWG ... LDX 5 1(3)
4QB6 LDX 6 ACES
4QTQ SRC 56 6
4R*B LDX 3 JLPMOD
4RT2 STO 5 2(3)
4S#L STO 6 3(3)
4SL2 ... SMO FXPM2
4SXB ... LDX 3 AFRESBS
4T8Q ... ADX 3 1
4TG6 ... LDX 5 0(3) [N/W IN RECORD
4TRG LDX 3 JLPMOD
4W?6 STO 3 JPMOD
4WQQ ... CALL 7 (JDECN) [CONVERT TO DECIMAL
4X=B LDX 5 1
4XQ2 LDX 3 JLPMOD
4Y9L SBN 3 1
4YP= STO 3 JPMOD
4^8W ... CALL 7 (JDECN) [CONVERT TO DECIMAL
4^NG ADN 1 28 [INCREASE WORD MODIFIER
5286 ... CALL 7 (JPRINT1) [PRINT LINE
52MQ MOLIN LDN 0 27
537B BXL 2 0,PRLL [J TO PRINT REMAINDER OF RECORD
53M2 SBN 2 26
546L LDX 5 1 [INCREASE WORD MODIFIER
54L= LDX 3 JLPMOD
555W SBN 3 1
55KG STO 3 JPMOD
55XX ... CALL 7 (JDECN) [CONVERT TO DECIMAL
56=# ... SMO FXPM2
56JQ LDX 5 AFRESBS
574B ADX 5 1
57J2 LDX 6 JLPMOD
583L ADN 6 4
58H= MOVE 5 26 [MOVE 26 WORDS INTO BUFFER
592W ... CALL 7 (JPRINT1) [PRINT LINE
59GG ADN 1 26 [INCREASE WORD MODIFIER
5=26 BRN MOLIN [J TO PRINT NEXT LINE
5=FQ PRLL LDX 5 1 [CONVERT WORD MODIFIER
5=^B LDX 3 JLPMOD
5?F2 SBN 3 1
5?YL STO 3 JPMOD
5#?3 ... CALL 7 (JDECN) [CONVERT TO DECIMAL
5#KD ... SMO FXPM2
5#XW LDX 5 AFRESBS
5*CG ADX 5 1
5*X6 LDX 6 JLPMOD
5BBQ ADN 6 4
5BWB MOVE 5 0(2) [MOVE REMAINDER OF REC.INTO BUFFER
5CB2 ... CALL 7 (JPRINT1) [PRINT ONE LINE
5CTL ADX 1 2 [INCREASE WORD MODIFIER
5D*= ... SMO FXPM1
5DSW ... LDX 3 XLINK
5F#G ... EXIT 3 0
6=P2 # THIS ROUTINE GETS THE NEXT FILE/FCB BLOCK ON THE FILE CHAIN
6?8L # DEPENDENT UPON DIRECTION OF CHAINING AND TESTING FOR END OF CHAIN.
6?N= # THE POINTERS OF THIS BLOCK ARE THEN VALIDATED
6#7W #
6#MG # ENTRY X0=LINK
6*76 # XFCB=ADDR. OF PRESENT FILE/FCB BLOCK
6*BY ...# X1 = FXPM2
6*LQ #
6B6B # EXIT 0 - OK,XFCB = ADDR. OF NEXT FILE/FCB BLOCK
6BL2 # 1 - DOUBLE BREAK OR END OF CHAIN
6C5L #
6CK= # XGETFCB1 - USED FOR FIRST CALL ONLY.
6D4W # XGETFCB - USED FOR SUBSEQUENT CALLS.
6DJG #
6F46 XGETFCB1
6F?Y ... SMO FXPM1
6FHQ ... LDX 2 XBFILE
6FRJ ... SMO FXPM1
6G3B STOZ XBACK [CLEAR BACKWARD CHAINING IND.
6GH2 LDX 3 FPTR(2)
6H2L ...XG1 STO 2 JXFCB(1) [STORE BLOCK ADDR.
6HG= PMCORES 3,XG3 [J IF FORWARD PTR INVALID
6H^W XGETFCB
6J#? ... LDX 2 JXFCB(1) [LOAD CURRENT BLOCK ADDR.
6JLN ... SMO FXPM1
6J^6 LDX 4 XBACK
6KDQ BNZ 4 XG4 [J IF BACKWARD CHAINING
6KYB LDX 2 FPTR(2) [LOAD ADDR. OF NEXT BLOCK
6L88 ... SMO FXPM1
6LHX ... TXU 2 XBFILE
6LXL BCC XG5 [J IF BASE OF FILE CHAIN
6M7D ... PMCORES 2,XG3 [J IF FORWARD POINTER INVALID
6MC= LDX 3 BPTR(2)
6MWW LDX 4 FPTR(2)
6NBG ...XG2 TXU 3 JXFCB(1) [J IF BACKWARD PTR OF BLOCK
6NW6 BCS XG3 [UNEQUAL TO ADDR. OF PREVIOUS BLOCK
6P*Q PMCORES 4,XG3 [J IF FORWARD PTR INVALID
6PTB ... STO 2 JXFCB(1) [STORE BLOCK ADDR.
6Q*2 LDX 4 ATYPE(2)
6QSL SRL 4 12
6R#= ... TXU 4 JTFCB(1)
6RRW BCS XGETFCB [J IF NOT FILE/FCB BLOCK
6S?G EXIT 0 0
6SKX ...XG3 SMO FXPM1
6SY# ... LDX 4 XBACK
6T=Q BNZ 4 XG5 [J IF ALREAY BACKWARD CHAINING
6TQB LDN 4 1
6W28 ... SMO FXPM1
6W=2 STO 4 XBACK [SET BACKWARD CHAINING IND.
6WJC ... SMO FXPM1
6WWS ... LDX 2 XBFILE
6X9= LDX 3 BPTR(2) [LOAD FORWARD PTR
6XNW BRN XG1
6Y8G # BACKWARD CHAINING CODE
6YN6 XG4 LDX 2 BPTR(2) [LOAD ADDR. OF NEXT BLOCK
6YXY ... SMO FXPM1
6^?M ... TXU 2 XBFILE
6^MB BCC XG5 [J IF BASE OF FILE CHAIN
7272 LDX 3 FPTR(2) [LOAD BACKWORD PTR
72LL LDX 4 BPTR(2) [LOAD FORWARD PTR
736= BRN XG2
73KW XG5 EXIT 0 1 [CHAIN BASE OR DOUBLE CHAIN BREAK
745G #
74K6 ...PMFSBEND
75JB #END
^^^^ ...631706740012