KEEPCHAP
(GIN Macro)
Defined in: COREMACROS
Used in: CHTAB, INKS, KEEPCHAP863, PUTPER85
- KEEPCHAP.mac.txt
L#9Q ...[??? KEEPCHAP SECT CENT FGN 53 DOC L#PB ...#MAC KEEPCHAP L*92 ...[ MACRO USED TO KEEP CHAPTERS IN CORE.IT SETS UP A TABLE OF COUNTS IN L*NL ...[ FIXED CORE AND A TABLE OF CHAPTERS PER PERIPHERAL IN SEGMENT KEEPCHAP LB8= ...[ THE CHAPTER CHANGER IS ALSO MENDED. LBMW ...[ IDENTIFIERS USED ARE AS FOLLOWS LC7G ...[ JKCTABNO - MAX NO. OF TIMES KEEPCHAP MAY BE ISSUED LCM6 ...[ JKCTABLEN - MAX LENGTH OF EACH TABLE (I.E. MAX NO OF CHAPTERS + 2) LD6Q ...[ JKCTABPOS - POSITION OF CURREN TABLE LDLB ...[ JKCCHAPPOS - POSITION OF CURRENT CHAPTER IN THE TABLE LF62 ...[ JKCTABSTRT - START OF THE TABLE IN KEEPCHAP LFKL ...#OPT JKCTABPOS=0 [TABLE POSITION LG5= ...#SKI JKCTABNO*JKCTABLEN-JKCTABPOS<1$1 LGJW ...! KEEPCHAP ISSUED TOO MANY TIMES LH4G ...#SKI JKCTABNO*JKCTABLEN-JKCTABPOS LHJ6 ...( LJ3Q ...[ FIRST MEND THE CHAPTER CHANGER LJHB ...#SKI JKCTABPOS<1$1 [ONLY DO IT ONCE LK32 ...( LKGL ...#MEN CHCH LL2= ...#TRA CHKP LLFW ... BRN FCJKC [BRANCH TO FCMEND AREA LL^G ...FCRETURN LMF6 ...#END LMYQ ... FCMEND LN?7 ... FIXTRA FCJKC LNKJ ... BZE 0 XKC [J IF CHAPTER TO BE KEPT LNY2 ... ADS 3 ACTCHCH(2) LPCL ... BRN FCRETURN LPX= ...XKC SBN 1 A1 LQBW ... BS 1,AFKPCP LQWG ... SBS 3 CHCHCOUNT [SINCE WE PREVIOUSLY ADDED IT IN LRB6 ... SUNDUMP LRTQ ... ACROSS KEEPCHAP,3 LS*B ... FCEND LST2 ...[ NOW THE TABLE IN KEEPCHAP LT#L ... CHAPMOVE ON LTS= ...[ MEND PUTPER AND RELPER SO THAT THEY GO DOWN TO KEEPCHAP LW?W ...#MEN PUTPER LWRG ...#TRA JKCPUTPER LX?6 ... NULL LXQQ ...#END LY=B ...#MEN RELPER LYQ2 ...#TRA JKCRELPER L^9L ... NULL L^P= ...#END M28W ...) M2NG ...[ TABLE OF COUNTS M386 ... FCMEND M3MQ ... FIXTRA 20? M47B ... +0 M4M2 ... FCEND M56L ...[ SET UP THE TABLE IN KEEPCHAP USING THE AUXILLARY MACRO KEEPCHP1 M5L= ...#MEN KEEPCHAP M65W ...#TRA JKCTABSTRT+JKCTABPOS M6KG ... +%A M756 ... +20? M7JQ ...#END M84B ...#ALT JKCCHAPPOS=0 M8J2 ... KEEPCHP1 %B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P M=2W ...#ALT JKCTABPOS=JKCTABPOS+JKCTABLEN M=GG ...) M?26 ...#NOR