PMENDITS867

(George Source)

Macros used: NAME, OFF, PMBSADD, PMESSAGE, SEGENTRY, TABEND

PMENDITS867.txt
22FL    #OPT  K0PMENDITS=0  
22^=    #LIS  K0PMENDITS>K0POST>K0ALLGEO
23DW    #SEG  PMENDITS85                     [M.C.D. MANN   
23NN ...#     (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
23YG    #   
24D6    #     THIS SEGMENT GIVES A LIST OF MENDITED SEGMENTS
24XQ    #     DURING THE CURRENT RUN OF GEORGE  
25CB    #   
25X2                   8HPMENDITS   
26BL    #   
26W=    #     ENTRY POINT TABLE 
27*W    #   
27TG          SEGENTRY K1PMENDITS,XK1PMENDITS   
28*6    #   
28SQ    XHEAD          40HMENDITS INCLUDED IN THIS RUN OF GEORGE
29#B    XCOLHEAD       44H    NAME             GEN        CHECKSUM  
29S2 ...               10H    BS/128
2=?L    MPATCH         7HPATCHED
2=R=    MFAIL          13HCHECKSUM FAIL 
2?=W    MNOKEYS        9HNOT KEYED  
2?QG ...MNOTSUM        16HCHECKSUMMING OFF  
2#=6    MZEROS         9HZERO KEYS  
2#PQ    MNONE          4HNONE   
2*9B    #   
2*P2    XDMODS         +DMODSA             [TABLE OF BACKING STORE  
2B8L                   +LMODSA  
2BN=                   +DMODSB             [ADDRESSES AND LENGTHS   
2C7W                   +LMODSB  
2CMG ...               +DMODSC             [OF THE SEVEN "MODS" SEGMENTS
2D76                   +LMODSC  
2DLQ                   +DMODSD  
2F6B                   +LMODSD  
2FL2                   +DMODSE  
2G5L                   +LMODSE  
2GK=                   +DMODSF  
2H4W                   +LMODSF  
2H=4 ...               +DMODSG  
2HC= ...               +LMODSG  
2HJG    TABEND         #40000000           [END OF TABLE
2J46    #   
2JHQ    XEND           +ZEND               [END OF SEGMENT  
2K3B    MITNUM         0                   [NO. OF MENDIT ENTRIES PER SEGMENT   
2KH2    SEGPTR         +XDMODS-2           [POINTER TO THE "MODS" TABLE 
2L2L    XLEN           6                   [LENGTH OF A "MODS" MENDIT RECORD
2LG=    PRINTED        -1                  [SET ZERO WHEN A MENDIT IS FOUND 
2L^W    #   
2MFG    #     ROUTINE TO CONVERT THE BINARY NUMBER IN   
2M^6    #     BITS 0 TO 15 OF X5 TO OCTAL CHARACTERS
2NDQ    #   
2NYB    #     ENTRY    X7 : LINK
2PD2    #              X5 : BITS 0-15 CONTAIN THE BINARY NUMBER 
2PXL    #              JPMOD : PRINT LINE CHARACTER MODIFIER
2QC=    #   
2QWW    #     EXIT     X3 AND JPMOD UPDATED 
2RBG    #              X0, X5 AND X6 ARE UNDEFINED  
2RW6    #   
2S*Q    XOCT
2STB          LDX   3  JPMOD               [LOAD OUTPUT MODIFIER
2T*2          SRL   5  2                   [LOAD NUMBER IN BITS 0-17
2TSL          LDN   0  7                   [CHARACTER COUNT 
2W#=          LDN   6  #23                 [LOAD A "#" CHARACTER
2WRW    XOCT1 DCH   6  0(3)                [DEPOSIT CHARACTER IN BUFFER 
2X?G          BCHX  3  £
2XR6          LDN   6  0                   [STOZ X6 
2Y=Q          SLC   56 3                   [GET NEXT OCTAL CHARACTER
2YQB          BCT   0  XOCT1               [J UNTIL ALL CHARACTERS DEPOSITED
2^=2          STO   3  JPMOD               [UPDATE OUTPUT MODIFIER  
2^PL          EXIT  7  0
329=    #   
32NW    #     THIS IS THE ONE AND ONLY ENTRY POINT  
338G    #   
33N6    XK1PMENDITS 
347Q          LDX   1  FXPM1
34MB          ADS   1  XEND(1)             [DATUMISE VARIOUS PRESET POINTERS
3572          ADS   1  SEGPTR(1)
35LL          PMESSAGE XHEAD(1),10         [PRINT THE "MENDITS INCLUDED" HEADING
366=          LDN   2  XCOLHEAD(1)  
36KW          LDX   3  JLPMOD   
375G          MOVE  2  14   
37K6          CALL  7  (JPRINT2)           [PRINT THE COLUMN HEADING
384Q          CALL  7  (JPRINT1)           [AND A BLANK LINE
38JB    NEXTSEG 
3942          LDX   3  SEGPTR(1)           [LOAD THE SEGMENT TABLE POINTER  
39HL          ADN   3  2                   [AND INCREASE IT BY 2
3=3=          LDX   6  1(3) 
3=GW          DVS   5  XLEN(1)  
3?2G          STO   6  MITNUM(1)           [STO MAX MENDITS FOR THIS SEG
3?G6          LDX   6  1(3)                [LOAD LENGTH OF THE "MODS" SEGMENT   
3?^Q          LDXC  5  0(3)                [LOAD B/S ADDRESS OF NEXT SEGMENT
3#FB          BCS      THATSALL            [J IF NO MORE SEGMENTS   
3#^2          BZE   5  NEXTSEG             [J IF SEGMENT DOESN'T EXIST  
3*DL          STO   3  SEGPTR(1)           [REMEMBER WHERE WE'VE REACHED
3*Y=          PMBSADD  GEO,0,6,XEND(1),5   [READ THE NEXT "MODS" SEGMENT
3BCW          LDX   1  FXPM1
3BXG          LDX   4  MITNUM(1)           [SET COUNT OF MAXIMUM MENDITS
3CC6          LDX   2  XEND(1)             [LOAD CORE ADDRESS OF THE SEGMENT
3CWQ    NEXTRECORD  
3DBB          LDX   3  0(2)                [PICK UP FIRST WORD OF RECORD
3DW2          BZE   3  TISEMPTY            [J IF IT'S EMPTY 
3F*L          STOZ     PRINTED(1)          [REMEMBER AT LEAST ONE MENDIT FOUND  
3FT=          LDX   3  JLPMOD   
3G#W          ADN   3  1
3GSG          MOVE  2  3                   [STORE SUBFILE NAME & VERSION NUMBER 
3H#6          CALL  7  (JUP)               [UPDATE BUFFER ADDRESS   
3HRQ                   18   
3J?B          LDX   5  3(2)                [LOAD THE GENERATION NUMBER  
3JR2          ANDN  5  #7777               [FROM BITS 12 - 23 OF WORD 3 
3K=L          CALL  7  (JDECN)             [CONVERT TO DECIMAL AND STORE
3KQ=          CALL  7  (JUP)
3L9W                   7
3LPG          LDX   5  5(2)                [LOAD THE BINARY CHECKSUM
3M96          CALL  7  (JOCT)              [CONVERT AND STORE AS OCTAL  
3MNQ          CALL  7  (JUP)
3N8B                   7
3NN2          LDX   5  4(2)                [LOAD B/S ADDR  (DIVIDED BY 128) 
3P7L          CALL  7  XOCT                [CONVERT INTO OCTAL & STORE  
3PM=          CALL  7  (JUP)
3Q6W                   7
3QLG          LDX   5  3(2)                [LOAD FLAG BITS WORD 
3R66          BPZ   5  NOTPATCHED          [J IF NOT PATCHED
3RKQ          LDX   7  JPMOD
3S5B          LDN   6  MPATCH(1)           ["PATCHED"   
3SK2          MVCH  6  7
3T4L          CALL  7  (JUP)
3TJ=                   11   
3W3W    NOTPATCHED  
3WHG          SLL   5  1                   [LOOK AT BIT 1   
3X36          BPZ   5  NOFAIL              [J IF NO CHECKSUM FAIL   
3XGQ          LDX   7  JPMOD
3Y2B          LDN   6  MFAIL(1)            ["CHECKSUM FAIL" 
3YG2          MVCH  6  13   
3Y^L          CALL  7  (JUP)
3^F=                   18   
3^YW          SLL   5  2                   [MUST BE KEYED AND CHECKSUMMED   
42DG          BRN      NOTCHOFF            [SO CHECK ONLY FOR ZERO KEYS 
42Y6    NOFAIL  
43CQ          SLL   5  1                   [LOOK AT BIT 2   
43XB          BPZ   5  NOTKEYOFF           [J IF KEYING SWITCHED ON 
44C2          LDX   7  JPMOD
44WL          LDN   6  MNOKEYS(1)          ["NOT KEYED" 
45B=          MVCH  6  9
45TW          BRN      PRINTLINE           [IT CAN'T BE CHECKSUMMED 
46*G    NOTKEYOFF   
46T6          SLL   5  1                   [LOOK AT BIT 3   
47#Q          BPZ   5  NOTCHOFF            [J IF CHECKSUMMING SWITCHED ON   
47SB          LDX   7  JPMOD
48#2 ...      LDN   6  MNOTSUM(1)          ["CHECKSUMMING OFF"  
48RL ...      MVCH  6  16   
49?=          CALL  7  (JUP)
49QW                   18   
4==G    NOTCHOFF
4=Q6          SLL   5  1                   [LOOK AT BIT 4   
4?9Q          BPZ   5  PRINTLINE           [J IF NO ZERO KEYS   
4?PB          LDX   7  JPMOD
4#92          LDN   6  MZEROS(1)           ["ZERO KEYS" 
4#NL          MVCH  6  9
4*8=    PRINTLINE   
4*MW          CALL  7  (JPRINT1)           [PRINT THE LINE  
4B7G    TISEMPTY
4BM6          ADX   2  XLEN(1)             [UPDATE "MODS" RECORD ADDRESS
4C6Q          BCT   4  NEXTRECORD          [REDUCE COUNT BY 1 AND PRINT 
4CLB          BRN      NEXTSEG             [READ THE NEXT "MODS" SEGMENT
4D62    THATSALL
4DKL          LDX   7  PRINTED(1)          [HAVE ANY MENDITS BEEN PRINTED?  
4F5=          BZE   7  SOME                [J IF SO 
4FJW          PMESSAGE MNONE(1),1          [PRINT "NONE"
4G4G    SOME
4GJ6          CALL  7  (JPRINT1)           [PRINT A FINAL BLANK LINE
4H3Q          BRN      (JPMSEG)            [AND RETURN TO PMDR  
4HHB    #   
4J32    ZEND                               [CORE BUFFER FOR EACH "MODS" SEGMENT 
4JGL    #END
^^^^ ...044067310001
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1