{{htmlmetatags>metatag-description:(ICL George 3 and George 4 GIN macro: ABSMENDS)}}
====== ABSMENDS ======
(GIN Macro)
**Defined in:** [[george:source:MACINTLUDES|MACINTLUDES]]
**Used in:**
GBC= [??? ABSMENDS SECT DIAG FGN 9 DOC
GBWW #MAC ABSMENDS [M.C.D. MANN AND J.T. WIFFEN
GCBG [
GCW6 [
GD*Q [ **************
GDTB [ * ABSMENDS *
GF*2 [ **************
GFSL [
GG#= [
GGRW [ IN GIN511 ON, PRINTS A LIST OF MENDS NOT COMPILED WHOSE STATUS
GH?G [ WOULD ALLOW THEM TO BE COMPILED.
GHR6 [ %A LISTING LEVEL
GJ=Q [
GJQB #DEF 20?=1?
GK=2 #STR %A
GKPL #LIS %A
GL9= #STR %A
GLNW #STR
GM8G #LIS 0
GMN6 #FRL
GN7Q #ORD
GNMB #INT
GP72 X0 0 [LINK TO INTERLUDE
GPLL NUM 0,2,0,0,0 [PARAMETERS FOR SORT 18?+7]+(7 TO 11)
GQ6= MHD 40HTHE FOLLOWING MENDS ARE ABSENT: NUMBER
GQKW 8HSTATUS
GR5G NAB 20HNO MENDS ARE MISSING
GRK6 SP 4H
GS4Q PB CALL 5 18?+2]+20] [GET SPACEFILLED BUFFER ROUTINE
GSJB LDX 1 18?+1]+62 [CALL BUFLPSW; GET ADDRESS
GT42 LDX 5 SP
GTHL STO 5 0(1) [SPACEFILL
GW3= LDN 2 1(1)
GWGW MOVE 1 29
GX2G EXIT 0 0 [EXIT
GXG6 NTRY STO 0 X0 [**START HERE** SAVE LINK
GX^Q LDX 0 18?+3]+70 [GET 70?=ANAVL=BASE OF SCRATCH AREA
GYFB STO 0 NUM+3 [STORE AS SORT PARAM
GY^2 LDX 7 18?+4]+38 [X7=CHNMENDCT=NO. OF CHAINS
G^DL LDX 5 18?+4]+39 [X5=CHNMEND=ADDRESS OF 1ST CHAINBASE
G^Y= SBN 5 1
H2CW ADX 5 7 [X5 POINTS AT LAST CHAIN
H2XG NXCHN SMO 5
H3C6 LDX 3 0 [PICK UP CHAINBASE CONTENTS
H3WQ BZE 3 NULLM [J IF NONE ON THIS CHAIN
H4BB NXMND CALL 0 18?+2]+6] [CALL FIND: LOOK UP ENTRY
H4W2 LDX 0 18?+3]+75 [GET 75?=TESTING LEVEL
H5*L SBX 0 2(3) [SUBTRACT MEND STATUS
H5T= BVSR NO [V SET IF STATUS LARGE & NEGATIVE
H6#W BPZ 0 NO [+VE IF NOT TO BE COMPILED
H6SG LDX 1 3 [KEEP ENTRY POINTER
H7#6 LDN 3 2 [SIZE OF ENTRY
H7RQ ADS 3 NUM [KEEP COUNT OF WORDS USED
H8?B CALL 0 18?+2]+13] [GETLOC
H8R2 LDN 2 1(1)
H9=L MOVE 2 2 [COPY NUMBER AND STATUS
H9Q= LDX 3 1 [PICK UP ENTRY POINTER
H=9W NO LDX 3 0(3) [GET FPTR
H=PG BNZ 3 NXMND [J UNLESS END OF CHAIN
H?96 NULLM SBN 5 1 [PRIVIOUS CHAIN
H?NQ BCT 7 NXCHN [J UNLESS ALL DONE
H#8B LDX 0 NUM [WERE THERE ANY?
H#N2 BZE 0 NONE [J IF NONE
H*7L CALL 3 18?+2]+10] [BLANK LINE ON OUTPUT LISTING
H*M= CALL 0 PB [GET BUFFER
HB6W LDN 0 MHD [GET HEADING
HBLG MOVE 0 NAB-MHD [PUT IN BUFFER
HC66 CALL 3 18?+2]+19] [PRINT
HCKQ LDX 0 NUM+3 [GET BASE OF SORT AREA
HD5B STO 0 18?+3]+70 [RETURN AREA USED
HDK2 ADX 0 NUM [ADD SIZE
HF4L STO 0 NUM+4 [STORE END OF AREA
HFJ= LDN 0 NUM [COPY INTO SORT PARAMETER AREA
HG3W LDN 1 18?+7]+7
HGHG MOVE 0 5
HH36 CALL 0 18?+2]+14] [SORT INTO NUMERICAL ORDER
HHGQ NX CALL 0 PB [GET BUFFER
HJ2B ADN 1 8 [MEND NUMBER IN COL. 32
HJG2 LDX 3 NUM+3 [GET ADDRESS IN BUFFER
HJ^L LDX 5 0(3) [PICK UP MEND NUMBER
HKF= CALL 2 18?+2]+9] [AL48: CONVERT BINARY TO DECIMAL
HKYW LDX 1 18?+1]+62 [BUFFER ADDRESS
HLDG ADN 1 10 [STATUS IN COL. 12
HLY6 LDX 5 1(3) [PICK UP STATUS
HMCQ CALL 2 18?+2]+9] [DECIMALISE
HMXB CALL 3 18?+2]+19] [PRINT THE LINE
HNC2 LDN 0 2
HNWL SBS 0 NUM [DECREASE COUNT
HPB= ADS 0 NUM+3
HPTW LDX 0 NUM
HQ*G BNZ 0 NX [J UNLESS FINISHED
HQT6 CALL 3 18?+2]+10] [PRINT BLANK LINE
HR#Q XIT LDX 0 X0 [ALL DONE
HRSB EXIT 0 0
HS#2 NONE CALL 0 PB [NO MENDS MISSING:
HSRL LDN 0 NAB [GET BUFFER
HT?= MOVE 0 SP-NAB [MESSAGE
HTQW CALL 3 18?+2]+19] [PRINT
HW=G BRN XIT [END
HWQ6 #JUM NTRY
HX9Q #EXT
HXPB #FRL
HY92 #LIS 20?
HYNL #NOR