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