{{htmlmetatags>metatag-description:(ICL George 3 and George 4 GIN macro: GETFCB)}}
====== GETFCB ======
(GIN Macro)
**Defined in:** [[george:source:RING-MACROS|RING-MACROS]]
**Used in:** [[george:source:ORELEND860|ORELEND860]]
?WJ8 ...[??? GETFCB SECT FILE FGN 20 DOC
?WWL #
?XB= #MAC GETFCB
?XTW [ THIS MACRO SEARCHES FOR THE FCB INDICATED BY THE BACKING STORE HOME IN
?Y*G [ %A,%A+1 IN THE OPEN FILE CHAIN STARTING AT THE BACK OF THE CHAIN
?YJC ...#MOD %B
?YR# ...!!!!!
?^29 ...#SKI %A-5
?^96 ...(
?^D3 ... STO 5 GEN0
?^LY ... STO 6 GEN1 [STO ACCS IF X5,6 NOT USED
?^TT ...#STR %A,4
#24Q ...#STR
#2?M ...(
#2GJ ... LDX 6 %A+1 [%A -3 CAREFUL ABOUT X4
#2PF ... LDX 5 %A
#2YB ...)
#37? ...#STR %A,4
#3B8 ...(
#3K5 ... LDX 5 %A [LOAD FCB NUMBERS
#3S2 ... LDX 6 %A+1
#42X ...)
#49S ...)
#4DP ... LDXC 0 6 [GET 1 OR 0 FOR FILE MOD
#4ML ... LDN 0 0 [1-DIR 0= FILE
#4WH ... ERN 0 1 [DIR=0 FFLE =1
#55D ... STO 0 GEN2
#5H= ... BASEFCB %B,DIR,M4GETFCB,,SMO GEN2 [SET UP ACCS FOR
#5Q7 ...[SEARCH OF FCB RING
#5^4 ...#STR %C
#67^ ... STO %B GEN3 [RERING OPTION SAVE FIRST FCB
#6BW ...M1GETFCB
#6KR ... SMO CMIN64 [SMO TO TAKE US BACK TO BACK12
#6SN ... BXE 6 61(%B),M3GETFCB [BACK2 CORRECT
#73K ...M2GETFCB
#7=G ... NEXTFCB %B,DIR,M1GETFCB,,SMO GEN2 [NO TRY NEXT
#7FC ...M4GETFCB
#7N# ... GEOERR 1,FCB MISS [FCB NOT FOUND
#7X9 ...M3GETFCB
#866 ... SMO CMIN64 [BACK1 CORRECT?
#8*3 ... BXU 5 60(%B),M2GETFCB [NO TRY NEXT
#8HY ...#STR %C
#8QT ...(
#8^Q ...#SKI %B-3
#98M ... STO %B GEN3
#9CJ ... RERING %B,GEN2 [RERING FCB TO FIND IT FASTER
#9LF ...#SKI %B-3
#9TB ... LDX %B GEN3
#=4? ...)
#=?8 ... SBN %B FCBRING
#=G5 ...#SKI %A-5
#=P2 ...(
#=XX ... LDX 5 GEN0
#?6S ... LDX 6 GEN1
#?*P ...)
#?JW #NOR