Show pageBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. {{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: PMENDITS867)}} ====== PMENDITS867 ====== (George Source) **Macros used:** [[george:macro:NAME|NAME]], [[george:macro:OFF|OFF]], [[george:macro:PMBSADD|PMBSADD]], [[george:macro:PMESSAGE|PMESSAGE]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:TABEND|TABEND]] <code - 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 </code> Last modified: 17/01/2024 11:55by 127.0.0.1 Log In