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: PMFIXSTO84)}} ====== PMFIXSTO84 ====== (George Source) **Macros used:** [[george:macro:ERROR|ERROR]], [[george:macro:MASK|MASK]], [[george:macro:NAME|NAME]], [[george:macro:PMBSADD|PMBSADD]], [[george:macro:PMDLGET|PMDLGET]], [[george:macro:PMESSAGE|PMESSAGE]], [[george:macro:PMOVE|PMOVE]], [[george:macro:SEGENTRY|SEGENTRY]] <code - PMFIXSTO84.txt>22^= #OPT K0PMFIXSTO=0 23DW #LIS K0PMFIXSTO>K0POST>K0ALLGEO 24D6 # 24XQ ...#SEG PMFIXSTO84 [KAREL KOSKUBA - DIAG 25CB # 25X2 # THIS SEGMENT GIVES THE POSTMORTEM LISTING OF FIXED STORE 26BL # 26W= 8HPMFIXSTO 27*W # 27TG # ENTRY POINT TABLE 28*6 # 28SQ ... SEGENTRY K1PMFIXSTO,XK1PMFIXSTO 29S2 # 2=?L # CHECKSUM ERROR ACTION MESSAGE 2=R= XSUMMESS 30HMEND CHECKSUM ERROR IN RESTORE 2?=W NAME 12H FIXED STORE 2?QG ...REMAINDER +0 2#=6 ...STARTTAB +0 2#PQ ...ZDSPARE +0 2*P2 UPARROW 4H^^^^ 2B8L MASK #17777777 2C7W ZBSL1 +BSL1 2CMG XBSL +JBSL 2FL2 WORDADD +0 [CONTAINS ADDRESS OF FIXED 2G5L [STORE WORD 2GK= ...STARTSTO +0 2H4W ...# THE NEXT 4 WORDS MUST REMAIN CONTIGUOUS 2HJG ...# SEE CODE AFTER "CALCULATE BUFFER SIZES....." 2J46 ...ZDPMFSADDS +0 [ DPMFSADDB 2JHQ ... +0 [ DPMFSADDC 2K3B ...XLPMFSADDS +0 [ LPMFSADDB 2KH2 ... +0 [ LPMFSADDC 2L^W TFLAG +1 [ =0 FOR END OF TABLE 2M#? ...TABIND -1 [ NO OF TABLES ACCESSED SO FAR 2MLN ...TABENT +0 2M^5 ...ZBUFL +0 2N?G ...ZSEGEND +ZEND 2NKX ...XPT +0 [ POINTER TO FIXED-STORE BUFFER 2NYB STARS 4H**** 2PD2 # 2PXL ...# PROGRAM ENTERED MEND CHECKSUM VALIDATED 2QC= # 2QWW XK1PMFIXSTO 2R22 ... LDX 1 FXPM1 2R56 ... ADS 1 ZSEGEND(1) 2R8= ... ADS 1 TABIND(1) 2R?B ... SMO FXPMDR 2RBG LDX 4 JBADMEND [MEND CHECKSUM ERROR TEST 2RW6 BZE 4 NOBADMEND [J IF NOT DETECTED 2S*Q ... CALL 7 (JPRINT1) 2STB ... PMESSAGE XSUMMESS(1),8 [OUTPUT INDICATIVE MESSAGE 2T*2 ... PMESSAGE XSUMMESS(1),8 [REPEAT MESSAGE 2TSL ... CALL 7 (JPRINT1) 2W#= NOBADMEND 2WRW ... LDN 4 NAME(1) 2X?G LDX 5 JPMOD [MOVE THE CHARACTERS 2XR6 MVCH 4 12 ['FIXED STORE' INTO LP BUFFER 2Y=Q ... CALL 7 (JPRINT2) 2YQB ...# 2^=2 ...# 2^PL ...# CALCULATE BUFFER SIZES,POINTERS,D&L VALUES 329= ...# 32NW ...# 338G ... PMDLGET PMFSADDA,,4 33N6 ... PMDLGET PMFSADDB,5,7 347Q ... PMDLGET PMFSADDC,6,0 34MB ... STO 5 ZDPMFSADDS(1) 3572 ... STO 6 ZDPMFSADDS+1(1) 35LL ... STO 7 XLPMFSADDS(1) 366= ... STO 0 XLPMFSADDS+1(1) 36KW ... PMDLGET PMINPRIN,,7 [ X7 = LPMINPRIN 375G ... ADX 7 ZSEGEND(1) [ X7 = [FXPM1] + LPMINPRIN + ZEND 37K6 ... STO 7 STARTTAB(1) [ ADDRESS OF BASE OF MNEMONIC TABLE 384Q ... STO 7 TABENT(1) [ PRESET MNEMONIC TABLE POINTER 38JB ... ADX 7 4 [ X7=[FXPM1]+LPMINPRIN+ZEND+LPMFSADDA 3942 ... STO 7 STARTSTO(1) [ ADDRESS OF BUFFER FOR FIXED-STORE 39HL ... SBX 7 ENDFIX [ X7=[FXPM1]+LPMINPRIN+ZEND+LPMFSADDA 3=3= ... [ -[ENDFIX]=-(CORE BETWEEN END OF 3=GW ... [ PMFSADDA AND END OF FIXED CORE) 3?2G ... ADN 7 128 [ ALLOW FOR LONG TRANSFERS 3?G6 ... NGX 7 7 [ X7=CORE BETWEEN PMFSADDA AND BDT 3?^Q ... STO 7 ZBUFL(1) [ LENGTH OF BUFFER FOR FIXED-STORE 3#FB ... ADX 7 4 [ X7=CORE BETWEEN PMINPRIN AND BDT 3#^2 ... STO 7 REMAINDER(1) [ LENGTH OF ENLARGED BUFFER FOR F-S 3*DL ... PMDLGET SPARE,7 3*Y= ... STO 7 ZDSPARE(1) [ SET UP DSPARE 3BCW ...# 3BXG ...# READ DOWN PMINPRIN INTO CORE 3CC6 ...# 3CWQ ... PMOVE PMINPRIN,ZSEGEND(1) 3DBB ... LDX 1 FXPM1 3DW2 ...# 3F*L ...# READ DOWN FIRST SEGMENT OF MNEMONIC TABLE 3FT= ...# 3G#W ... PMOVE PMFSADDA,STARTTAB(1) 3GSG ... LDX 1 FXPM1 3H#6 ...# 3HRQ ...# READ FIRST PART OF FIXED-STORE INTO CORE 3J?B ...# 3JR2 ... PMBSADD GEO,0,ZBUFL(1),STARTSTO(1),ZDSPARE(1) 3K=L ... LDX 1 FXPM1 3KQ= ...# 3L9W ... LDX 5 ZBUFL(1) [ CALCULATE START ADDRESS IN 3LPG ... [ SPARE OF NEXT FIXED-STORE PIECE. 3M96 ... ADS 5 ZDSPARE(1) 3PM= # 3Q6W # MOVE ACCUMULATORS FROM SEG PM 3QLG # 3R66 LDN 4 JACC 3RKQ ... LDX 5 STARTSTO(1) [MOVE ACCUMULATORS 3S5B MOVE 4 8 3SCR ... LDX 4 STARTSTO(1) [SET FIXED CORE BUFFER POINTER 3SQ8 ... STO 4 XPT(1) 3T4L BRN SF3A [J TO SKIP TABLE READING 3TJ= # 3Y2B # 3YG2 # 3Y^L ...# THIS SECTION READS DOWN A NEW TABLESEGMENT 3^F= # 3^YW # 42DG ...SF4A LDX 3 TABIND(1) [LOAD LAST TABLE INDICATOR 42Y6 ADN 3 1 [MOVE TO NEW TABLE 43CQ LDX 6 ZDPMFSADDS(3) [GET BS ADDRESS OF NEW TABLE 43XB LDX 5 XLPMFSADDS(3) [GET LENGTH 44?G ... STO 3 TABIND(1) [STORE INDICATOR 44ML ...# READ NEW TABLE INTO STORE 453Q ... PMBSADD GEO,0,5,STARTTAB(1),6 45CW ... LDX 1 FXPM1 45S2 ... LDX 6 STARTTAB(1) [RESET TABLE POINTER -- 4686 ... STO 6 TABENT(1) [--TO START OF TABLE 46J= ... CALL 7 (JUP) [RESET PRINT BUFFER 46YB ... -5 47#Q # 47SB # START OF MAIN LOOP 48#2 # 48RL ...SF3A LDX 5 WORDADD(1) [GET WORD ADDRESS 49?= ... CALL 7 (JUP) [RESET PRINT BUFFER 49QW +5 4==G ... LDX 4 TFLAG(1) [J IF TABLE FINISHED 4=Q6 BZE 4 SF6A 4?9Q # 4?PB # EXAMINE TABLE ENTRY FOR **** OR ^^^^ 4#92 # 4#NL ...SF7A LDX 2 TABENT(1) [LOAD TABLE POINTER 4*8= LDX 6 0(2) 4*MW ... TXU 6 STARS(1) [TEST FOR END OF TABLE SEGMENT 4B7G BCC SF4A [J TO READ NEW SEGMENT 4BM6 ... TXU 6 UPARROW(1) [TEST FOR END OF TABLE 4C6Q BCS SF12A [J IF NOT 4CLB ... STOZ TFLAG(1) [SET FLAG 4D62 ... LDX 6 REMAINDER(1) [CHANGE BUFFER SIZE OF FIXED CORE 4DKL ... STO 6 ZBUFL(1) 4F5= ... LDX 3 STARTTAB(1) [RESET START OF FIXED CORE BUFFER 4FJW ... STO 3 STARTSTO(1) 4G4G BRN SF6A [J TO SPACEFILL MNEMONIC 4GJ6 # 4H3Q # COMPARE POSITIONS IN TABLE AND F.C. BUFFER 4HHB # 4J32 SF12A TXU 6 5 [FIXED CORE ADDRESS=TABLE ADDRESS 4JGL BCS SF13A [J IF NOT 4K2= # 4KFW # PUT MNEMONIC IN PRINT BUFFER 4K^G # 4LF6 ADN 2 1 [PUT MNEMONIC IN BUFFER 4LYQ LDX 3 JPMOD 4MDB MOVE 2 2 4MY2 ADN 2 2 [RESET TABLE POINTER 4NCL ... STO 2 TABENT(1) 4NX= BRN SF6A [BRANCH TO SKIP OTHER POSSIBILITIES 4PBW SF13A TXL 6 5 [J IF TABLE ADDRESS > FIXED CORE 4PWG BCC SF6A [ ADDRESS 4QB6 ADN 2 3 [OTHERWISE UPDATE TABLE *POINTER --- 4QTQ ... STO 2 TABENT(1) [THIS SHOULD NOT OCCUR 4R*B BRN SF7A [RETURN FOR ANOTHER TRY 4RT2 ...SF6A TXU 5 ZBSL1(1) [J IF BSL WORDS TO BE RESTORED 4S#L BCC SF10 4SS= ...SF11 CALL 7 (JUP) [RESET POINTER TO LEAVE BLANKS 4T?W +14 4TRG # 4W?6 # PUT F.C. WORD INTO PRINT BUFFER 4WQQ # 4X=B ... CALL 7 (JDECN) [PUT ADDRESS IN DECIMAL INTO BUFFER 4XQ2 LDN 6 1 [RESETS POINTERS 4Y9L ... ADS 6 WORDADD(1) 4YP= ADS 6 JPMOD 4^5Q ... SMO XPT(1) 4^G= ... LDX 5 0 [GET CONTENTS OF FIXED CORE WORD 4^WQ ... CALL 7 (JCON4) [CONVERT TO 4 FORMATS IN PRINT BUFF 52?= ... CALL 7 (JPRINT1) [AND PRINT IT 52MQ # 537B # DECIDE WHETHER ALL F.C. PRINTED OR IF F.C. BUFFER EMPTY 53M2 # 53YB ... LDN 5 1 [RESET FIXED CORE BUFFER POINTER 549Q ... ADS 5 XPT(1) 54H6 ... SMO FXPMDR 54SG ... LDX 5 JPMLEV 555W ... TXU 5 WORDADD(1) [ END OF LISTING-- 55C= ... BCC (JPMSEG) [---J IF YES 55NL ... LDX 4 XPT(1) 5622 ... ADN 4 128 56?B ... TXL 4 ENDFIX [J IF STILL FIXED CORE LEFT IN BUFFER 56JQ BCS SF3A 574B ... LDX 6 WORDADD(1) [FIND SMALLEST OF BUFFER LENGTH AND- 57J2 SBX 5 6 [--FIXED CORE REMAINING TO PRINT--- 583L ... LDX 6 ZDSPARE(1) 58H= ... TXL 5 ZBUFL(1) 592W BCS SF14A 59B3 ... LDX 5 ZBUFL(1) [USE SMALLEST TO READ MORE FIXED--- 59P8 ...SF14A ADS 5 ZDSPARE(1) [-- CORE INTO BUFFER 5=4* ... PMBSADD GEO,0,5,STARTSTO(1),6 5=CG ... LDX 1 FXPM1 5=QM ... LDX 5 STARTSTO(1) 5?5S ... STO 5 XPT(1) 5?F2 BRN SF3A [RETURN TO START OF MAIN LOOP 5?YL # 5#D= # END OF MAIN LOOP 5#XW # 5GRB # 5H?2 # READ SAVED AREA FROM SEG PM WHICH IS CORRUPTED IN FIXED STORE 5HQL # 5J== SF10 LDN 7 BSL5+1 5JPW ... TXU 7 ZBSL1(1) [IF AREA HAS BEEN PRINTED OUT 5K9G BCC SF11 [BRANCH BACK 5KP6 ... LDX 2 XBSL(1) 5L8Q LDX 6 0(2) [MOVE SAVED WORD BACK 5LH7 ... SMO XPT(1) 5LTJ ... STO 6 0 [INTO FIXED STORE AREA 5M82 LDN 7 1 5MML ... ADS 7 XBSL(1) [UPDATE BOTH 5N7= ... ADS 7 ZBSL1(1) [THE POINTERS 5NLW BRN SF11 5P6G ...ZEND 67R= #END ^^^^ ...57261716000300000000 </code> Last modified: 17/01/2024 11:55by 127.0.0.1 Log In