PMFIXSTO84

(George Source)

Macros used: ERROR, MASK, NAME, PMBSADD, PMDLGET, PMESSAGE, PMOVE, SEGENTRY

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
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1