{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: KEEPCHAP863)}}
====== KEEPCHAP863 ======
(George Source)
**Macros used:** [[george:macro:ACROSSVAR|ACROSSVAR]], [[george:macro:BC|BC]], [[george:macro:BXE|BXE]], [[george:macro:COOR3|COOR3]], [[george:macro:FIXTRA|FIXTRA]], [[george:macro:GEOERR|GEOERR]], [[george:macro:KEEPCHAP|KEEPCHAP]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:UP|UP]]
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