KEEPCHAP863

(George Source)

Macros used: ACROSSVAR, BC, BXE, COOR3, FIXTRA, GEOERR, KEEPCHAP, SEGENTRY, UP

KEEPCHAP863.txt
229S ...#OPT    K0KEEPCHAP=0
22FL ...#LIS           K0KEEPCHAP>K0ALLGEO  
22^= ...#SEG           KEEPCHAP 
23DW ...      8HKEEPCHAP
23YG ...# THIS SEGMENT PROCESSES THE KEEPCHAP SYSTEM.   
24D6 ...# ENTRY K1KEEPCHAP (FROM NEWPERI) GETS ALL CHAPTERS SPECIFIED   
24XQ ...# IN THE TABLE AND MARKS THEM AS KEPT.  
25CB ...# ENTRY K2FROM RELPERI) REMOVES THE KEPT BIT.   
25X2 ...# ENTRY K3 IS THE RETURN FROM THE CHAPTER CHANGER   
26BL ...      SEGENTRY K1KEEPCHAP,XK1   
26W= ...      SEGENTRY K2KEEPCHAP,XK2   
27*W ...      SEGENTRY K3KEEPCHAP,XK3   
27TG ...# THE FOLLOWING TABLE IS MENDED BY THE KEEPCHAP MACRO   
28*6 ...      FIXTRA   JKCTABSTRT   
28SQ ...TABLE   
29#B ...#REP           JKCTABNO*JKCTABLEN+1 
29S2 ...      -1
2=?L ...XK1 
2=R= ...      LDN   7  0
2?=W ...      BRN      XX   
2?QG ...XK2 
2#=6 ...      LDN   7  1                   [ENTRY MARKER
2#PQ ...XX  
2*9B ...      LDX   6  ACOMMUNE1(2) 
2*P2 ...      SRL   6  15                  [PERIPHERAL TYPE 
2B8L ...      LDX   3  1
2BN= ...XSEARCH 
2C7W ...      LDX   4  TABLE(3) 
2CMG ...      BNG   4  XITUP               [END OF TABLE
2D76 ...      BXE   4  6,XMATCH            [J IF MATCH FOUND
2DLQ ...      ADN   3  JKCTABLEN           [ELSE UPDATE POINTER 
2F6B ...      BRN      XSEARCH             [AND TRY AGAIN   
2FL2 ...XMATCH  
2G5L ...      LDX   2  TABLE+1(3)          [ADDRESS OF COUNT
2GK= ...      BNZ   7  REMOVEK             [THIS IS THE PARTING OF THE WAYS 
2H4W ...      LDX   0  0(2)                [CONTENTS OF COUNT   
2HJG ...      ADN   0  1
2J46 ...      STO   0  0(2)                [UPDATE COUNT
2JHQ ...      SBN   0  1
2K3B ...      BNZ   0  XITUP               [CHAPTERS ARE ALREADY KEPT SO JUMP   
2KH2 ...      ADN   3  1
2L2L ...      LDN   5  JKCTABLEN-2         [MAX NO OF CHAPTERS  
2LG= ...NEXTCHAP
2L^W ...      ADN   3  1                   [POINTER TO CHAPTER ENTRY
2MFG ...      LDX   4  TABLE(3)            [CHAPTER ENTRY   
2M^6 ...      BNG   4  XITUP               [J IF NO ENTRY   
2NDQ ...      SBX   3  FX1  
2NYB ...NEXTCHP1
2PD2 ...      ACROSSVAR 4                  [GO AND GET CHAPTER AND MARK AS KEPT 
2PXL ...XK3 
2QC= ...      SRL   4  12   
2QWW ...      SMO      4                   [CHAPTER NUMBER  
2RBG ...      LDXC  1  KTAB 
2RW6 ...      BCS      XCHAPGOT 
2S*Q ...      SLL   4  12   
2STB ...      BRN      NEXTCHP1 
2T*2 ...XCHAPGOT
2TSL ...      TXU   1  GFIXCHAP 
2W#= ...      BCS      NOTFIX              [J IF NOT IN FIXED CHAP SPACE
2WBF ...      LDX   0  BACK2(1) 
2WDN ...      BZE   0  (GEOERR) 
2WGX ...      SMO      4
2WK6 ...      STO   0   KTAB
2WM* ...      STOZ      BACK2(1)
2WPJ ...      BC        1,AFKPCP
2WRW ...      COOR3    #62                 [WAIT AND TRY AGAIN  
2X?G ...      SLL   4  12   
2XR6 ...      BRN      NEXTCHP1 
2Y=Q ...NOTFIX  
2YQB ...      ADX   3  FX1  
2^=2 ...      BCT   5  NEXTCHAP            [ON RETURN GET NEXT CHAP 
2^PL ...                                   [UNLESS  MAXIMUM READ
329= ...XITUP   
32NW ...      UP
338G ...#   
33N6 ...#   
347Q ...# THIS SECTION REMOVES THE KEPT BIT WHEN A PERIPHERAL IS RELEASED   
34MB ...# UNLESS THE CHAPTER IS STILL KEPT FOR THIS OR ANOTHER PERIPHERAL.  
3572 ...# X2 IS THE ADDRESS OF THE COUNT
35LL ...#   
366= ...#   
36KW ...REMOVEK 
375G ...      LDX   0  0(2) 
37K6 ...      SBN   0  1                   [DECREASE COUNT  
384Q ...      STO   0  0(2) 
38JB ...      BPZ   0  NOERROR  
3942 ...      GEOERR   1,NEGCOUNT   
39HL ...NOERROR 
3=3= ...      BZE   0  SEARCHTAB
3=GW ...      BRN      XITUP               [CHAPTERS MUST REMAIN KEPT   
3?2G ...SEARCHTAB   
3?G6 ...# FOR EACH CHAPTER WE REMOVE THE KEPT BIT IF THE CHAPTER DOES NOT   
3?^Q ...# APPEAR ELSEWHERE IN ANOTHER TABLE.
3#FB ...#   
3#^2 ...# ACCUMULATORS ARE USED AS FOLLOWS  
3*DL ...#                          TABLE BEING UNKEPT           TABLE BEING SEAR
3*Y= ...# POINTER TO TABLE               X6                           X7
3BCW ...# RELATIVE PTR TO CHAP ENTRY     X2                            X3   
3BXG ...# CONTENTS OF ENTRY              X4                           X0
3CC6 ...# COUNT FOR CHAPTERS             X1                           X5
3CWQ ...      LDN   6  TABLE(3)            [TABLE FOR PERIPHERAL BEING RELEASED 
3DBB ...      LDN   2  1
3DW2 ...      LDN   1  JKCTABLEN-2  
3F*L ...NXTCHP2 
3FT= ...      SMO      FX1  
3G#W ...      LDN   7  TABLE               [FIRST TABLE - INITIALSE 
3GSG ...      SBN   7  JKCTABLEN
3H#6 ...      ADN   2  1
3HRQ ...      SMO      6
3J?B ...      LDXC  4  0(2) 
3JR2 ...      BCS      XITUP               [END REACHED 
3K=L ...NXTTABLE
3KQ= ...      ADN   7  JKCTABLEN           [NEXT TABLR  
3L9W ...      SMO      7
3LPG ...      LDX   0  0
3M96 ...      BPZ   0  TABLEEXISTS  
3MNQ ...# WE HAVE COME TO THE END OF THE TABLES WITHOUT FINDING THE 
3N8B ...# CHAPTER.THUS THE KEPT BIT IS CLEARED  
3NN2 ...      SRL   4  12   
3P7L ...      SMO      4
3PM= ...      LDXC  4  KTAB                [ENTRY IN CHAPTER TABLR  
3Q6W ...      BCS      XINCOR   
3QLG ...      GEOERR  1,NOTINCOR
3R66 ...XINCOR  
3RKQ ...      BC       4,AFKPCP            [REMOVE KEPT BIT 
3S5B ...      BRN      XMTCHEND 
3SK2 ...TABLEEXISTS 
3T4L ...      BXE   7  6,NXTTABLE   
3TJ= ...      SMO      7
3W3W ...      LDX   0  1                   [ADDRESS OF COUNT
3WHG ...      SMO      0
3X36 ...      LDX   0  0                   [COUNT   
3XGQ ...      BZE   0  NXTTABLE 
3Y2B ...      LDN   5  JKCTABLEN-2  
3YG2 ...      LDN   3  1                   [X3 POINTER TO CHAP ENTRY
3Y^L ...NXTCHP3 
3^F= ...      ADN   3  1
3^YW ...      SMO      7
42DG ...      LDXC  0  0(3) 
42Y6 ...      BCS      NXTTABLE            [END OF CHAPTERS 
43CQ ...      BXE   0  4,XMTCHEND          [J IF MATCH FOUND
43XB ...      BCT   5  NXTCHP3  
44C2 ...      BRN      NXTTABLE            [MAX NO OF CHAPS IN TABLE
44WL ...XMTCHEND
45B= ...      BCT   1  NXTCHP2  
45TW ...      BRN      XITUP
46*G ...#END
^^^^ ...616654500004