PATINF

(George Source)

Macros used: MHUNT, PARAPASS, SEGENTRY, UP

PATINF.txt
22FL    #SEG  PATINF                       [G.OGSTON
22^=    #OPT  K0PATINF=0
23DW    #LIS  K0PATINF  
23YG          8HPATINF  
24D6    #   
24XQ    #     THIS CHAPTER EXTRACTS THE PFE HEADER AND DEVICE START ADDRESSES   
25CB    #     FOR THE CHAPTERS BEING PATCHED (THESE CHAPTERS HAVED BEEN 
25X2    #     MENDITED ONTO THE PROGRAM FILE BUT THEIR CHAPTAB ENTRIES HAVE 
26BL    #     NOT BEEN UPDATED BY NEWCHENT) 
26W=    #     THE GAP AREA IS MENDED AT MENDIT TIME TO INCLUDE, FOR THE CHAPTER 
27*W    #     BEING MENDITED, THE FOLLOWING:-   
27TG    #              ADDRESS         CONTENTS 
28*6    #              -------         -------- 
28SQ    #              POINT         CHAPTER
29#B    #              POINT+1       NAME AND   
29S2    #              POINT+2       VERSION NUMBER 
2=?L    #              POINT+3       LENGTH(B1-B10), CHAPTER NUMBER(B11-B23)
2=R=    #              POINT+4       DEVICE START ADDRESS   
2?=W    #   
2?QG    #     THE UNIVERSAL POINT IS THE ADDRESS OF THE NEXT FREE WORD IN   
2#=6    #     THE GAP AREA AND IS UPDATED AT THE END OF THE MEND. NGNUM IS  
2#PQ    #     THE NUMBER OF CHAPTERS STORED IN THE GAP AREA 
2*9B    #   
2*P2    #   
2B8L          SEGENTRY  K1PATINF,QK1PATINF  
2BN=          SEGENTRY  K2PATINF,QK2PATINF  
2C7W    #   
2CMG    #   
2D76    #   
2DLQ    #DEF  SAPFE=AWORK2                 [POINTER TO EWDAS/APFE   
2F6B    #DEF  PARANUM=AWORK3               [NUMBER PARAMERTRS IN COMMAND
2FL2    #DEF  ANGC=0                       [NUMBER OF CHAPTER DESCRIPTIONS  
2G5L                                       [IN GAP AREA 
2GK=    #   
2H4W    #   
2HJG    SPACE           #20202020          [4 SPACES
2J46    WD2                #01000004       [WORD 2 OF PFE HEADER
2JHQ    QK1PATINF   
2K3B          LDX   0  PARANUM(2)   
2KH2          SMO      SAPFE(2) 
2L2L          STO   0  APFEB1+1            [NUMBER OF OVERLAYS BEING EDITED 
2LG=          LDX   0  WD2(1)              [SET UP  
2L^W          SMO      SAPFE(2)            [WORD2 OF
2MFG          STO   0  APFEB1+2            [PFE HEADER  
2M^6          LDX   0  NGNUM(1) 
2NDQ          BZE   0  XERR17              [ERROR IF NO STORED DESCRIPTIONS 
2NYB          STOZ     ACOMMUNE1(2)        [ZERO ERROR FLAG 
2PD2          SMO      SAPFE(2) 
2PXL          STOZ     APFEB2              [ZERO NO. OF WORDS IN ERROR BLOCK
2QC=          STOZ     7                   [ZERO NO. OF PARAMETERS PROCESSED
2QWW          BRN      PFP                 [SKIP PARAPAS FOR 1ST PARAMETER  
2RBG    NXPRM PARAPASS                     [GET NEXT PARAMETER  
2RW6    PFP   MHUNT    3,CPB,CUNI   
2S*Q          LDX   0  ANUM(3)             [TEST PARAMETER TYPE 
2STB          BZE   0  XERR3               [...NULL 
2T*2          BNG   0  XERR3               [...NON-EXISTENT 
2TSL          SRL   0  12   
2W#=          BNZ   0  XERR3               [...WRONG TYPE (I.E. NOT SIMPLE) 
2WRW          LDX   1  FX1  
2X?G          LDX   5  NGNUM(1)           [NUMBER OF STORED DESCRIPTIONS
2XR6          LDX   6  ANUM(3)  
2Y=Q          ANDN   6 #7777               [NUMBER OF CHARACTERS IN PARAMETER   
2YQB          ADN   6  3
2^=2          SRL   6  2                   [NUMBER OF WORDS IN PARAMETER
2^PL          STO   6  ACOMMUNE2(2) 
329=          LDX   6  NGNUM(1) 
32NW          SLL   6  2
338G          ADX   6  NGNUM(1) 
33N6          SBN   6  5
347Q          ADX   1  6
34MB    NXDS  LDX   6  ACOMMUNE2(2) 
3572          STOZ     4                   [ZERO MODIFIER   
35LL    NXWD  SMO      4
366=          LDX   0  XGAP(1)             [NEXT WORD OF CHAPTER NAME   
36KW          SMO      4
375G          TXU   0  APARA(3)            [COMPARE WITH NEXT WORD IN PARAMETER 
37K6          BCS      NTFND
384Q          ADN   4  1                   [UPDATE MODIFIER 
38JB          BCT   6  NXWD 
3942          BRN      PFND 
39HL    NTFND SBN   1  5                   [UPDATE ADDRESS WITHIN GAP AREA  
3=3=          BCT   5  NXDS 
3=GW          BRN      XERR18              [PARAMETER NOT FOUND 
3?2G    PFND  LDX   0  ACOMMUNE1(2) 
3?G6          BNZ   0  RNC  
3?^Q          LDX   3  SAPFE(2) 
3#FB          LDX   0  XGAP+3(1)           [STORE PFE HEADER ENTRY  
3#^2          SMO      7                   [IN  
3*DL          STO   0  APFEB1+4(3)         [EWDAS/APFE  
3*Y=          LDX   0  XGAP+4(1)           [STORE DEVICE START ADDRESS  
3BCW          SMO      7                   [IN  
3BXG          STO   0  APFEB4(3)           [EWDAS/APFE  
3CC6    RNC   ADN   7  1
3CWQ          TXU   7  PARANUM(2)          [TEST IF ALL PARAMETERS PROCESSED
3DBB          BCS      NXPRM
3DW2          BRN      RUP  
3F*L    RETUP STO   0  ACOMMUNE1(2)        [ERROR FLAG  
3FT=    RUP   UP                           [RETURN TO PATCH 
3G#W    XERR3 LDN   0  3
3GSG          BRN      RETUP
3H#6    XERR17  
3HRQ          LDN   0  17   
3J?B          BRN      RETUP
3JR2    XERR18  
3K=L          LDN   0  18   
3KQ=          STO   0  ACOMMUNE1(2) 
3L9W          SMO      SAPFE(2) 
3LPG          LDX   6  APFEB2   
3M96          ADX   6  SAPFE(2) 
3MNQ          ADN   6  APFEB2   
3N8B          ADN   6  1                   [ADDR OF NEXT FREE LOC IN ERROR BLOCK
3NN2          SMO      FX1                 [FILL
3P7L          LDX   5  SPACE               [NEXT
3PM=          LDX   1  6                   [THREE   
3Q6W          STO   5  0(1)                [WORDS   
3QLG          STO   5  1(1)                [WITH
3R66          STO   5  2(1)                [SPACES  
3RKQ          LDN   5  APARA(3) 
3S5B          SMO      ACOMMUNE2(2)        [MOVE BAD CHAPTER
3SK2          MOVE  5  0                   [INTO ERROR BLOCK
3T4L          LDN   0  3
3TJ=          SMO      SAPFE(2) 
3W3W          ADS   0  APFEB2              [UPDATE POINTER TO NEXT FREE LOC 
3WHG          BRN      RNC  
3X36
3XGQ    #   
3Y2B    #   
3YG2    #              THIS ENTRY POINT IS REACHED FROM THE PATCH ERROR HANDLING
3Y^L    #              CODE. THE PURPOSE OF THE FOLLOWING CODE IS TO EXTRACT
3^F=    #              THE NAMES OF ALL PFE OR PATCH CR CHAPTERS THAT ARE LINKED
3^YW    #              TO ACTIVITIES DURING THE EXECUTION OF A PATCH COMMAND
42DG    #   
42Y6    #   
43CQ    #   
43XB    #   
44C2    QK2PATINF   
44WL          SMO      SAPFE(2) 
45B=          STOZ     APFEB2              [ZERO NO OF WORDS IN ERROR BLOCK 
45TW          SMO      SAPFE(2) 
46*G          LDX   7  APFEB3              [NUMBER OF BAD CHAPTERS  
46T6          SMO      SAPFE(2) 
47#Q          LDN   3  APFEB3   
47SB    NBCHP ADN   3  1                   [ADDRESS OF NEXT BAD CHAPTER 
48#2          LDX   0  0(3)                [BAD CHAPTER NUMBER  
48RL          LDX   1  FX1  
49?=          LDX   5  NGNUM(1)           [NO OF STORED CHAPTER DESCRIPTIONS
49QW          SBN   1  2
4==G    NPFE  ADN   1  5                   [UPDATE POINTER  
4=Q6          LDX   6  XGAP(1)             [NEXT PFE ENTRY  
4?9Q          ANDN   6  #7777              [CHAPTER NUMBER  
4?PB          TXU   6  0                   [CHECK IF THIS IS A BAD CHAPTER  
4#92          BCC      PBCF 
4#NL          BCT   5  NPFE 
4*8=    PBCF  LDN   5  XGAP-3(1)           [POINT TO CHAPTER NAME, VERSION NO.  
4*MW          SMO      SAPFE(2) 
4B7G          LDX   6  APFEB2   
4BM6          ADX   6  SAPFE(2) 
4C6Q          ADN   6  APFEB2   
4CLB          ADN   6  1              [START OF CHAPNAME TRANSFER ADDRESS   
4D62          MOVE  5  3                    [MOVE IN CHAPNAME , VERSION NUMBER  
4DKL          LDN   0  3
4F5=          SMO      SAPFE(2) 
4FJW          ADS   0  APFEB2              [UPDATE NO OF STORED WORDS   
4G4G          BCT   7  NBCHP
4GJ6          UP                           [UP TO PATCH 
4H3Q    NGNUM         +ANGC 
4HHB    XGAP
4J32    POINT   
4JGL    #ALT ANGNUM = NGNUM             [SET UNIVERSAL FOR MENDING  
4K2=    #ALT AFPOINT =POINT 
4KFW    #GAP  1023-0?   
4K^G    #END
^^^^ ...57567736001400000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1