14 22FL #SEG PATCH [G.OGSTON 7 22_= #OPT K0PATCH=0 7 23DW #LIS K0PATCH 7 23YG 8HPATCH 4 24D6 # 15 24XQ # THIS CHAPTER IMPLEMENTS THE PATCH COMMAND. 16 25CB # I.E. IT INCORPORATES A PROGRAM FILEEDIT (PFE) 13 25X2 # IN THE PROGRAM FILE AT RUN TIME. 20 26BL # ADDITIONAL CODE IS ALSO INCLUDED TO INCORPORATE NON-NEWCHENTED 21 26W= # AND NON-NEWCHAPED MENDITS THAT HAVE BEEN RESTORED INTO THE GEORGE 6 27*W # FILE. 21 27TG # THE PATCH CHANGE RECORD (A 128 WORD BLOCK STARTING AT GFLEND-128 20 28*6 # IN THE GEORGE FILE) DOES NOT EXIST YET, INSTEAD THE RELEVANT 21 28SQ # INFORMATION ID WRITTEN TO THE GAP AREA OF PATCH (WORDS 895-1023) 4 29#B # 11 29S2 SEGENTRY K1PATCH,QK1PATCH 4 2=?L # 4 2=R= # 4 2?=W # 4 2?QG # 14 2#=6 SPACE #20202020 [4 SPACES 16 2#PQ SMASK #777777 [MASK FOR B6-23 18 2*9B JPVERSION +18?+11]+0 [GEORGE VERSION NUMBER 17 2*P2 ...YLS13 #17777 [ MASK FOR BITS 11-13 19 2B8L PATM +JPATM1 [ERROR MESSAGE IDENTIFIERS 9 2BN= +JPATM2 9 2C7W +JPATM3 9 2CMG +JPATM4 9 2D76 +JPATM5 9 2DLQ +JPATM6 9 2F6B +JPATM7 9 2FL2 +JPATM8 9 2G5L +JPATM9 9 2GK= +JPATM10 9 2H4W +JPATM11 9 2HJG +JPATM12 9 2J46 +JPATM13 9 2JHQ +JPATM14 9 2K3B +JPATM15 9 2KH2 +JPATM16 9 2L2L +JPATM17 9 2LG= +JPATM18 9 2L_W +JPATM19 9 2MFG +JPATM20 14 2M_6 +JPATOK [PATCH OK 18 2NDQ +JPATK [PATCH OK + CHAPTER NAMES 9 2NNJ ... +JMAXPAR 4 2NYB # 4 2PD2 # 4 2PXL # 4 2QC= # 19 2QWW #DEF APFEB4=APFEB3+128 [CHAPTER START ADDRESS BLOCK 17 2RBG #DEF SAVEX=AWORK1 [PFE EXOFILE NUMBER 20 2RW6 #DEF PFNEW=AWORK4 [FLAG INDICATING WHETHER PFES OR 19 2S*Q [NEWSEGS ARE BEING PATCHED 13 2STB BITDEFS ASWITCH0,APATYN,BAPJTW 21 2T*2 #DEF NTRY=ACOMMUNE1 [NO. OF TRYS TO FIND ALL CHAPS FREE 17 2TSL #DEF SAPFE=AWORK2 [POINTER TO EWDAS/APFE 19 2W#= #DEF PARANUM=AWORK3 [NUMBER OF PARAMETERS IN PATCH 19 2WRW #DEF PDLP=ACOMMUNE6 [POINTER TO PFE DEVICE LIST 13 2X3N ...#OPT GFLEND=-1 [KEEPS SIB HAPPY 4 2X?G # 4 2XR6 # 4 2Y=Q # 21 2YQB SFIND MHUNTW 2,EWDAS,APFE [ROUTINE TO REFIND THE LOCKED BLOCK 7 2_=2 EXIT 1 0 4 2_?8 ...# 17 2_#B ...SETPGLEN [ CALCULATES VALE OF PGFLEN 19 2_*J ...# AT RUN TIME AS DPATCH RESET DY MENDIT 8 2_BQ ... LDX 4 FX1 16 2_CY ... SBN 4 A1 [ START OF PATCH CH BLOCK 7 2_F6 ... SMO 4 13 2_G# ... LDX 4 BACK2 [ GET BS ADDS 8 2_GX ... SMO FX1 15 2_HG ... ANDX 4 YLS13 [ LEAST SIG 13 BITS 12 2_JN ... SLL 4 7 [ DPATCH 14 2_KW ... ADN 4 896 [ DPATCH +1024-128 7 2_M4 ... EXIT 0 0 4 2_N= ...# 4 2_PL # 4 329= # 4 32NW # 20 338G PACOM [ROUTINE TO SEE IF A ONE WORD LINK (X3) REFERS 18 33N6 [TO A CHAPTER MENTIONED IN THE PFE HEADER 16 347Q [OR IN THE PATCH CHANGE RECORD 18 34MB SRL 3 12 [GET CHAPNUM INTO B12-23 17 3572 BZE 3 PACEN [EXIT IF CHAPNUM ZERO 10 35LL STO 6 ACOMMUNE4(2) 10 366= STO 3 ACOMMUNE5(2) 10 36KW STO 1 ACOMMUNE3(2) 10 375G STO 5 ACOMMUNE2(2) 10 37K6 LDX 0 PARANUM(2) 20 384Q BZE 0 TPCR [ANY PARAMETERS IN PATCH COMMAND 9 38JB SMO SAPFE(2) 19 3942 LDX 6 APFEB1+1 [NUMBER OF CHAPTERS IN PFE 9 39HL SMO SAPFE(2) 9 3=3= LDX 0 APFEB1+2 7 3=GW STO 0 5 20 3?2G SRL 0 18 [SIZE OF EACH ENTRY IN PFE HEADER 8 3?G6 SMO FX1 18 3?_Q ANDX 5 SMASK [WORD ADDRESS OF 1ST ENTRY 9 3#FB SMO SAPFE(2) 9 3#_2 LDN 1 APFEB1 21 3*DL ADX 1 5 [ABSOLUTE WORD ADDRESS OF 1ST ENTRY 8 3*Y= NCHAP LDX 4 0(1) 16 3BCW ANDN 4 #7777 [CHAPTER NUMBER 20 3BXG TXU 4 ACOMMUNE5(2) [COMPARE WITH LINKED CHAPTER 8 3CC6 BCS NOLN 9 3CWQ SMO SAPFE(2) 20 3DBB LDX 3 APFEB3 [NUMBER OF BAD CHAPTERS SO FAR 8 3DW2 BNZ 3 SMTO 17 3F*L LDN 3 1 [THIS IS THE FIRST 9 3FT= UPAP SMO SAPFE(2) 20 3G#W ADS 3 APFEB3 [UPDATE NUMBER OF BAD CHAPTERS 9 3GSG SMO SAPFE(2) 9 3H#6 LDX 3 APFEB3 9 3HRQ SMO SAPFE(2) 18 3J?B STO 4 APFEB3(3) [STORE LATEST BAD CHAPTER 8 3JR2 BRN SFIN 20 3K=L SMTO SMO SAPFE(2) [CHECK IF THIS CHAPTER IS LINKED 16 3KQ= TXU 4 APFEB3(3) [MORE THAN ONCE 8 3L9W BCC SFIN 8 3LPG BCT 3 SMTO 7 3M96 LDN 3 1 8 3MNQ BRN UPAP 7 3N8B NOLN ADX 1 0 8 3NN2 BCT 6 NCHAP 7 3P7L SBX 1 0 9 3PM= SMO SAPFE(2) 9 3Q6W LDN 6 APFEB2 19 3QLG TXL 1 6 [HAS PATCH CR BEEN CHECKED 8 3R66 BCC SFIN 4 3RKQ # 18 3S5B TPCR SMO SAPFE(2) [START CHECK OF PATCH CR 17 3SK2 LDX 6 APFEB2 [NUMBER OF ENTRIES 15 3T4L BZE 6 SFIN [CHECK IF ANY 17 3TJ= LDN 0 2 [SIZE OF EACH ENTRY 9 3W3W SMO SAPFE(2) 21 3WHG LDN 1 APFEB2+1 [ABSOLUTE WORD ADDRESS OF 1ST ENTRY 8 3X36 BRN NCHAP 10 3XGQ SFIN LDX 1 ACOMMUNE3(2) 10 3Y2B LDX 6 ACOMMUNE4(2) 10 3YG2 LDX 5 ACOMMUNE2(2) 7 3Y_L PACEN EXIT 7 0 4 3_F= # 4 3_YW # 4 42DG # 4 42Y6 #SKI 4 43CQ ( 19 43XB TPERI [THIS IS A ROUTINE WHICH CONTROLS THE ISSUING OF 18 44C2 [A PERI TO THE GEORGE FILE OR PFE EXOFILE. 14 44WL [NO CHAINING IS SPECIFIED. 18 45B= [MODE AND DEVICE TRANSFER START ADDRESS ARE 15 45TW [OBTAINED AT ACOMMUNE1,ACOMMUNE4. 20 46*G [X5 CONTAINS A POINTER TO THE RELEVANT DEVICE LIST. 13 46T6 LDX 0 ACOMMUNE1(2) [MODE 18 47#Q DCA ,DLA,0,MODE [STORED IN DEVICE LIST 8 47SB LDN 0 128 17 48#2 DCA ,STO,0,COUNT [LENGTH OF TRANSFER 9 48RL SMO SAPFE(2) 9 49?= LDN 0 APFEB3 19 49QW DCA ,STO,0,CTSA [CORE TRANSFER START ADDRESS 10 4==G LDX 0 ACOMMUNE4(2) 20 4=Q6 DCA ,STO,0,DTSA [DEVICE TRANSFER START ADDRESS 9 4?9Q GPERI 5,2,NC 17 4?PB XWP LDX 0 CPRW1(2) [WAIT FOR TRANSFER TO 15 4#92 BNG 0 XWP [BE COMPLETED 8 4#NL SRL 0 18 19 4*8= BNZ 0 XERR19 [BRANCH IF TRANSFER NOT OK 7 4*MW EXIT 7 0 4 4B7G # 4 4BM6 ) 4 4C6Q # 4 4CLB # 15 4D62 QK1PATCH [ENTRY POINT 10 4DKL JBSS XERR1,,BAPJTW 4 4F5= # 21 4FJW SETNCORE APFELEN+63,4,EWDAS,APFE [SET UP EWDAS/APFE BLOCK 63 18 4G4G [WORDS LONGER THAN NORMAL 15 4GJ6 LOCKC 4,SFIND [LOCK IT 15 4H3Q MHUNTW 3,EWDAS,APFE [FIND IT 18 4HHB STO 3 SAPFE(2) [SAVE POINTER TO IT 4 4J32 # 21 4JGL # # # # # # # # # # # # # # # # # # 19 4K2= STOZ PFNEW(2) [ASSUME PFES TO BE PATCHED 21 4KFW # # # # # # # # # # # # # # # # # # 4 4K_G # 18 4LF6 MHUNTW 3,CPB,CALAS [GET NUMBER OF PARAMETERS 16 4LYQ LDX 0 APARANUM(3) [IN PATCH COMMAND 14 4MDB STO 0 PARANUM(2) [SAVE IT 16 4MY2 BZE 0 NPR1 [NO PARAMETERS 4 4NCL # 21 4NX= # # # # # # # # # # # # # # # # # # 7 4PBW PARAPASS 16 4PWG MHUNT 3,CPB,CUNI [GET PARAMETER 9 4QB6 LDX 0 ANUM(3) 16 4QTQ SRL 0 12 [CHECK FOR SIMPLE 15 4R*B BZE 0 TF1 [PARAMETER TYPE 21 4RT2 # # # # # # # # # # # # # # # # # # 4 4S#L #SKI 4 4SS= ( 17 4T?W LDX 0 PARANUM(2) [THERE SHOULD ONLY 16 4TRG SBN 0 1 [BE ONE PARAMETER 16 4W?6 BNZ 0 XERR2 [IN THE COMMAND 7 4WQQ LDN 4 1 18 4X=B PARALYSE ,,4 [STRIP OFF OUTER BRACKETS 11 4XG8 ... TESTREP2 TOOMANY,XERR23 19 4XQ2 TESTREP UNPAIR,XERR3 [TEST FOR UNPAIRED BRACKETS 16 4Y9L PARALYSE ,,4 [SPLIT PARAMETER 11 4YFD ... TESTREP2 TOOMANY,XERR23 19 4YP= TESTREP UNPAIR,XERR3 [TEST FOR UNPAIRED BRACKETS 4 4_8W # 7 4_NG LDN 5 1 18 5286 PARANUMB 7,5 [GET NUMBER OF PARAMETERS 17 52MQ # RESULTING FROM SPLIT 20 537B PARANOT 1 [GET 1ST PARAMETER INTO CPB/CUNI 10 53M2 MHUNT 3,CPB,CUNI 17 546L LDX 0 ANUM(3) [TEST PARAMETER TYPE 14 54L= BZE 0 XERR3 [...NULL 16 555W BNG 0 XERR3 [...NON-EXISTENT 8 55KG SRL 0 12 16 5656 BNZ 0 XERR3 [...WRONG TYPE 4 56JQ # 17 574B LDCH 0 APARA(3) [...SIMPLE I.E. OK 20 57J2 SBN 0 #40 [CHECK 1ST CHARACTER ALPHABETIC 16 583L BNG 0 XERR3 [...OF FILENAME 8 58H= SBN 0 #32 8 592W BPZ 0 XERR3 4 59GG # 12 5=26 SETNCORE GEXDLEN,5,EWDAS,GEXD 13 5=FQ SETNCORE FDCELLS-A1,1,EWDAS,EXOF 10 5=_B MHUNT 3,CPB,CUNI 10 5?F2 LDN 0 BOPEN+BANY 17 5?YL STO 0 EXMARK(1) [SET OPEN MARKERS 9 5#D= STOZ FIP+4(1) 8 5#XW SMO FX1 13 5*CG LDX 6 SPACE [FILL 14 5*X6 STO 6 FIP(1) [FILENAME 13 5BBQ STO 6 FIP+1(1) [WITH 14 5BWB STO 6 FIP+2(1) [SPACES 9 5CB2 LDN 6 FIP(1) 9 5CTL LDX 4 ANUM(3) 8 5D*= ANDN 4 #7777 7 5DSW ADN 4 3 18 5F#G SRL 4 2 [PARAMETER LENGTH (WORDS) 9 5FS6 LDN 5 APARA(3) 7 5G?Q SMO 4 17 5GRB MOVE 5 0 [MOVE IN FILE NAME 7 5H?2 SBN 7 1 21 5HQL BZE 7 XEXOP [NO SERIAL NUMBER-BRANCH TO EXOPEN 7 5J== LDN 4 2 18 5JPW PARANEXT ,,4 [EXTRACT SERIAL NUMBER 11 5J_N ... TESTREP2 TOOMANY,XERR23 10 5K9G MHUNT 3,CPB,CUNI 17 5KP6 LDX 0 ANUM(3) [TEST PARAMETER TYPE 14 5L8Q BZE 0 XERR3 [...NULL 16 5LNB BNG 0 XERR3 [...NON-EXISTENT 21 5M82 ANDN 0 #7777 [GET NO. CHARACTERS IN SERIAL NUMBER 7 5MML STO 0 7 7 5N7= SBN 0 8 17 5NLW BPZ 0 XERR3 [TOO MANY CHARACTERS 21 5P6G # THE FOLLOWING ASSEMBLES THE SERIAL NUMBER IN BINARY FORM 9 5PL6 LDCH 0 APARA(3) 8 5Q5Q SBN 0 #32 20 5QKB BNZ 0 XERR3 [BRANCH IF 1ST CHARACTER NOT * 17 5R52 LDN 4 8 [FIND NUMBER OF EMPTY 18 5RJL SBX 4 7 [SPACES IN SERIAL NUMBER 9 5S4= LDX 5 APARA(3) 10 5SHW LDX 6 APARA+1(3) 18 5T3G SAG SRL 56 6 [MOVE SERIAL NUMBER TO 15 5TH6 BCT 4 SAG [RHS OF X5,X6 17 5W2Q STOZ ACOMMUNE1(2) [ZERO SERIAL NUMBER 20 5WGB SBN 7 1 [7 NOW HOLDS NUMBER OF NUMERICS 7 5X22 STOZ 3 18 5XFL SACC LDCH 4 6 [GET RIGHT MOST CHARACTER 15 5X_= SLL 4 0(3) [POSITION IT 17 5YDW ADS 4 ACOMMUNE1(2) [ADD TO SERIAL NUMBER 8 5YYG SRL 4 0(3) 18 5_D6 SBN 4 10 [CHECK THAT IT IS NUMERIC 8 5_XQ BPZ 4 XERR3 7 62CB ADN 3 3 19 62X2 SRL 56 6 [MOVE SERIAL NUMBER TO RIGHT 8 63BL BCT 7 SACC 4 63W= # 10 64*W MHUNTW 3,EWDAS,EXOF 10 64TG LDX 0 ACOMMUNE1(2) 9 65*6 STO 0 ASUSN(3) 20 65SQ LDN 0 BSERL+BSUPP [SET SERIAL NO. AND SUPPRESSION 17 66#B ORS 0 EXMARK(3) [...MARKERS IN EXMARK 4 66S2 # 16 67?L XEXOP DOWN EXOPEN,1 [OPEN PFE EXOFILE 9 67R= TESTREPNOT OK,XEX 17 68=W MHUNTW 3,EWDAS,EXOF [START CHECKS ON FILE 9 68QG LDEX 0 FIP+5(3) 7 69=6 SBN 0 1 19 69PQ BNZ 0 XERR4 [MUST ONLY BE ONE FILE AREA 10 6=9B LDX 0 FDCELLS(3) 9 6=P2 TXU 0 ASUSN(3) 21 6?8L BCS XERR5 [FILE AREA MUST BE ON SAME SU AS FIC 8 6?N= LDCT 0 #100 9 6#7W ANDX 0 FIP+5(3) 17 6#MG BNZ 0 XERR6 [SYSTEM FILE BIT SET 9 6*76 LDX 0 FIP+8(3) 15 6*LQ ANDN 0 #77 [BUCKET SIZE 7 6B6B SBN 0 1 16 6BL2 BNZ 0 XERR7 [...NOT ONE BLOCK 21 6C5L LDN 1 BCCB [CHECK IF THIS FILE SPECIFIED BEFORE 9 6CK= T1 LDX 1 BPTR(1) 8 6D4W TXU 1 CXCC 15 6DJG BCC T2 [END OF CHAIN 9 6F46 LDX 0 BACK2(1) 16 6FHQ BZE 0 T2 [NO MORE EXOFS 9 6G3B LDX 0 ASUSN(1) 9 6GH2 TXU 0 ASUSN(3) 20 6H2L BCS T1 [JUMP IF SERIAL NUMBERS DIFFERENT 9 6HG= LDX 0 HOME(1) 9 6H_W TXU 0 HOME(3) 18 6JFG BCS T1 [JUMP IF HOMES DIFFERENT 19 6J_6 BRN XFND [EXOFILE ALREADY SPECIFIED 20 6KDQ T2 LDN 0 1 [EXOFILE SPECIFIED FOR FIRST TIME 18 6KYB STO 0 COPEN(3) [SET NUMBER OF TIMES OPEN 17 6LD2 EXOFILE 3 [CHAIN INTO CCB CHAIN 8 6LXL BRN SEN 9 6MC= XFND LDX 0 FIP+5(1) 17 6MWW SRL 0 22 [GET INTEGRITY CODE 7 6NBG SBN 0 1 19 6NW6 BZE 0 XERR8 [FILE MAY ONLY BE OPEN ONCE 9 6P*Q LDX 0 EXMARK(1) 20 6PTB BNG 0 XERR9 [FILE ALREADY OPEN FOR WRITING 7 6Q*2 LDN 0 1 20 6QSL ADS 0 COPEN(1) [UPDATE NUMBER OF TIMES OPENED 7 6R#= STO 1 3 9 6RRW SEN LDX 0 BACK2(3) 17 6S?G STO 0 SAVEX(2) [SAVE EXOFILE NUMBER 4 6SR6 # 20 6T=Q # GET READY FOR TRANSFER OF PFE HEADER 10 6TQB MFINDEXOF 3,SAVEX(2) 10 6W=2 MHUNTW 2,EWDAS,GEXD 16 6WPL CONVERTX FDCELLS+1(3),FDCELLS+2(3),ETYPE(2) 21 6X9= STO 0 7 [SAVE HARDWARE ADDRESS 14 6XNW STOZ 6 [MODE 14 6Y8G LDN 5 128 [LENGTH 9 6YN6 SMO SAPFE(2) 9 6_7Q LDN 4 APFEB1 10 6_MB MHUNT 3,EWDAS,GEXD 16 7272 BACKTRAN EX6,BSET+BONL,EX5,,EBSUN(3),EX7,EX4 18 72LL CHTRAN ETYPE(3),XERR14,XERR14 [CHECK TRANSFER OK 4 736= # 4 73KW # 19 745G # START CHECKS ON PFE HEADER 9 74K6 SMO SAPFE(2) 18 754Q LDX 0 APFEB1 [GET PFE VERSION NUMBER 21 75JB TXU 0 JPVERSION [COMPARE WITH GEORGE VERSION NUMBER 9 7642 BCS XERR10 8 76HL BRN SMTF1 4 773= ) 4 77GW TF1 7 782G LDN 0 1 17 78G6 STO 0 PFNEW(2) [SET PATCH TYPE FLAG 19 78_Q DOWN PATINF,1 [SET UP PFE HEADER INFO ETC. 16 79FB LDX 0 ACOMMUNE1(2) [CHECK FOR ERRORS 17 79_2 BZE 0 SMTF1 [BRANCH IF NO ERROR 7 7=DL SBN 0 3 8 7=Y= BZE 0 XERR3 8 7?CW SBN 0 14 9 7?XG BZE 0 XERR17 7 7#C6 SBN 0 1 9 7#WQ BZE 0 XERR18 9 7*BB BRN XERR20 4 7*W2 # 18 7B*L # CHECKS ARE NOW PERFORMED ON THE PFE HEADER TO 17 7BT= # ENSURE THAT NO LONG OVERLAYS ARE PRESENT 4 7C#W # 5 7CSG SMTF1 9 7D#6 SMO SAPFE(2) 20 7DRQ LDX 7 APFEB1+1 [NUMBER OF OVERLAYS BEING EDITED 9 7F?B SMO SAPFE(2) 9 7FR2 LDX 0 APFEB1+2 7 7G=L STO 0 1 8 7GQ= SRL 0 18 17 7H9W STO 0 6 [SIZE OF EACH ENTRY 8 7HPG SMO FX1 19 7J96 ANDX 1 SMASK [WORD ADDRESS OF 1ST ENTRY 9 7JNQ SMO SAPFE(2) 9 7K8B LDN 3 APFEB1 21 7KN2 ADX 3 1 [ABSOLUTE WORD ADDRESS OF 1ST ENTRY 17 7LM= SCPFE LDX 0 0(3) [LOAD PFE ENTRY WORD 17 7M6W BNG 0 XERR11 [TEST IF LONG OVERLAY 15 7MLG ADX 3 6 [NEXT ENTRY 8 7N66 BCT 7 SCPFE 4 7NKQ # 16 7P5B # THE HARDWARE ADDRESS OF THE START OF 15 7PK2 # THE PATCH CHANGE RECORD IS FOUND 4 7Q4L # 9 7QJ= ...NPR1 CALL 0 SETPGLEN 17 7S36 LDN 5 128 [LENGTH OF TRANSFER 17 7SGQ DATUMADD 4,BINDEX,5 [GET HARDWARE ADDRESS 8 7T2B BZE 2 SDOK 19 7TG2 BZE 1 XERR12 [WORD ADDRESS OUTSIDE FILE 17 7T_L BRN XERR12 [TRANSFER TOO LONG 4 7WF= # 4 7WYW # 4 7XDG # 18 7XY6 # PREPARE TO READ PATCH CR 13 7YCQ SDOK STOZ 6 [MODE 14 7YXB LDN 5 128 [LENGTH 8 7_C2 LDX 2 FX2 9 7_WL SMO SAPFE(2) 17 82B= LDN 4 APFEB2 [CORE START ADDRESS 19 82TW LDN 3 1 [BACKING STORE UNIT NUMBER 14 83*G BACKTRAN EX6,BSET+BONL,EX5,,3,1,EX4 15 83T6 SMO BBAC [GET DEVICE 14 84#Q LDX 3 AWORK1 [SUBTYPE 15 84SB SRL 3 12 [FROM BSA 16 85#2 CHTRAN 3,XERR15,XERR15 [CHECK TRANSFER OK 4 85RL # 4 86?= # 18 86QW LDX 0 PARANUM(2) [CHECK IF NO PARAMETERS 15 87=G BNZ 0 NPR6 [IN COMMAND 18 87Q6 SMO SAPFE(2) [AND IF NO PREVIOUS PATCH 15 889Q LDX 0 APFEB2 [IS CURRENTLY 15 88PB BZE 0 NPR9 [IN OPERATION 8 8992 BRN TF3 4 89NL NPR6 20 8=8= # # # # # # # # # # # # # # 9 8=MW LDX 0 PFNEW(2) 8 8?7G BNZ 0 TF3 21 8?M6 # # # # # # # # # # # # # # # 17 8#6Q MFINDEXOF 1,SAVEX(2) [FIND PFE EWDAS/EXOF 17 8#LB MFINDSU 3,ASUSN(1) [FIND PFE EWDAS/ASTUC 9 8*62 LDX 0 HUNIT(3) 19 8*KL STO 0 PDLP(2) [SAVE PFE DEVICE LIST POINTER 18 8B5= TF3 STOZ NTRY(2) [ZERO NUMBER OF CHECKS 15 8BJW RETRY LDX 0 PARANUM(2) [CHECK IF 20 8C4G BZE 0 SFREE [NO PARAMETERS IN PATCH COMMAND 20 8CJ6 # # # # # # # # # # # # # # 9 8D3Q LDX 0 PFNEW(2) 8 8DHB BNZ 0 SFREE 20 8F32 # # # # # # # # # # # # # # 20 8FGL JBUSY PDLP(2),WAIT [TEST IF PFE EXOFILE DEVICE BUSY 8 8G2= LDX 3 BBAC 19 8GFW JBUSY CPPTR(3),WAIT [TEST IF GEORGE DEVICE BUSY 8 8G_G BRN SFREE 8 8HF6 ...WAIT COOR3 #41 15 8HYQ BRN RETRY [TRY AGAIN 12 8JDB # BOTH DEVICES ARE FREE 20 8JY2 # THE FOLLOWING IS A SCAN THROUGH ALL THE ACTIVITIES 19 8KCL # AND THEIR ASSOCIATED BLINK BLOCKS TO CHECK IF ANY 18 8KX= # PFE OR PATCH CR CHAPTERS ARE CURRENTLY LINKED 4 8LBW # 9 8LWG SFREE SMO SAPFE(2) 21 8MB6 STOZ APFEB3 [ZERO NUMBER OF PFE,PCR CHAPTERS LINK 20 8MTQ STO 2 1 [START SCAN THROUGH ACTIVITIES 10 8N*B NXAC LDX 1 ACTRING(1) 18 8NT2 SBN 1 ACTRING [FPTR OF NEXT ACTIVITY 17 8P#L TXU 1 2 [CHECK IF X1 POINTS 18 8PS= BCC SEAC [TO THE CURRENT ACTIVITY 16 8Q?W LDN 0 BSA [IGNORE CHECKS 14 8QRG SLL 0 12 [IF THIS 14 8R?6 TXU 0 ATYPE(1) [ACTIVITY 14 8RQQ BCC NXAC [IS A BSA 19 8S=B LDX 3 ALINK1(1) [GET ALINK1 OF NEXT ACTIVITY 8 8SQ2 BNZ 3 TLINK 16 8T9L TXU 3 BSEN1 [CHECK IF LINK 16 8TP= BCC PLK1 [IS IN ACOMMUNE9 15 8W8W TXU 3 BSEN2 [FOLLOWING 15 8WNG BCS PLK2 [BSQ ACTION 10 8X86 PLK1 LDX 3 ACOMMUNE9(1) 18 8XMQ TLINK CALL 7 PACOM [SEE IF CHAPTER IS LINKED 10 8Y7B PLK2 LDN 0 ALINKRING(1) 11 8YM2 SBX 0 ALINKRING+1(1) 16 8_6L BZE 0 NXAC [ANY LINK BLOCKS? 14 8_L= SMO ALINKRING(1) [...YES 9 925W LDN 6 ALOGLEN 9 92KG SBN 6 BLINKRING 7 9356 SMO 6 18 93JQ LDX 6 0 [LOGICAL LENGTH OF BLOCK 7 944B SBN 6 2 19 94J2 BZE 6 NXAC [BRANCH IF NO CHAPTERS IN BLINK 8 953L LDN 7 ALINK 17 95H= DVS 5 7 [NUMBER OF LINK AREAS 10 962W SMO ALINKRING(1) 18 96GG LDN 5 7 [START SCAN OF LINK AREAS 7 9726 NBLK SMO 5 7 97FQ LDX 3 0 18 97_B CALL 7 PACOM [SEE IF CHAPTER IS LINKED 8 98F2 ADN 5 ALINK 8 98YL BCT 6 NBLK 8 99D= BRN NXAC 4 99XW # 4 9=CG # 4 9=X6 # 9 9?BQ SEAC SMO SAPFE(2) 9 9?WB LDX 0 APFEB3 17 9#B2 BZE 0 NOWT [ANY CHAPTERS LINKED 13 9#TL COOR3 #62 [WAIT 21 9**= LDX 0 NTRY(2) [UPDATE NUMBER OF TIMES THROUGH HERE 7 9*SW ADN 0 1 9 9B#G STO 0 NTRY(2) 7 9BS6 SBN 0 5 17 9C?Q BNG 0 RETRY [IF NOT >4 TRY AGAIN 16 9CRB BRN XERR13 [OTHERWISE ERROR 4 9D?2 # 4 9DQL # 4 9F== # 19 9FPW # IT HAS BEEN ESTABLISHED THAT NO PFE OR PATCH CR CHAPTERS 8 9G9G # ARE LINKED. 18 9GP6 # THE FOLLOWING IS CONCERNED WITH FREECOREING ANY PFE OR 13 9H8Q # PATCH CR CHAPTERS THAT ARE IN CORE 15 9HNB NOWT LDX 0 PARANUM(2) [CHECK IF NO 18 9J82 BZE 0 NPR3 [PARAMETERS IN COMMAND 20 9JML SMO SAPFE(2) [SEE IF ANY PFE CHAPTERS IN CORE 19 9K7= LDX 6 APFEB1+1 [NUMBER OF CHAPTERS IN PFE 9 9KLW SMO SAPFE(2) 9 9L6G LDX 0 APFEB1+2 7 9LL6 STO 0 5 20 9M5Q SRL 5 18 [SIZE OF EACH ENTRY IN PFE HEADER 8 9MKB SMO FX1 19 9N52 ANDX 0 SMASK [WORD ADDRESS OF 1ST ENTRY 9 9NJL SMO SAPFE(2) 9 9P4= LDN 4 APFEB1 21 9PHW ADX 4 0 [ABSOLUTE WORD ADDRESS OF 1ST ENTRY 7 9Q3G NPCP SMO 4 7 9QH6 LDX 3 0 16 9R2Q ANDN 3 #7777 [CHAPTER NUMBER 16 9RGB LDXC 1 KTAB(3) [CHAPTAB ENTRY 20 9S22 BCC NOIC [BRANCH IF CHAPTER NOT IN CORE 21 9SFL LDX 7 BACK2(1) [GET ONE WORD LINK FROM CHAPTER BLOCK 17 9S_= STO 7 KTAB(3) [STORE IT IN CHAPTAB 9 9TDW NGX 3 ASIZE(1) 20 9TYG ... BXE 1 GFIXCHAP,NOFRE [ CANT FREE SO SET BACK2=0 19 9WXQ ADS 3 ACHAP [SUBTRACT CHAPTER BLOCK SIZE 18 9XCB FREECORE 1 [FREECORE THIS CHAPTER 8 9XM8 ... BRN NOIC 9 9XX2 NOFRE STOZ BACK2(1) 17 9Y48 ... STOZ 9(1) [ ZEROISE CH NAME 8 9Y9B ... STOZ 10(1) 7 9Y?6 ... LDN 7 1 9 9Y#W ... STO 7 ALOGLEN(1) 7 9YBL NOIC ADX 4 5 8 9YW= BCT 6 NPCP 7 9_*W SBX 4 5 9 9_TG SMO SAPFE(2) 9 =2*6 LDN 6 APFEB2 7 =2SQ TXL 4 6 18 =3#B BCC PCRD [PATCH CR CHECKED YET? 14 =3S2 NPR3 SMO SAPFE(2) [...NO 20 =4?L LDX 6 APFEB2 [NUMBER OF ENTRIES IN PATCH CR 8 =4R= BZE 6 PNEX 17 =5=W LDN 5 2 [SIZE OF EACH ENTRY 9 =5QG SMO SAPFE(2) 21 =6=6 LDN 4 APFEB2+1 [ABSOLUTE WORD ADDRESS OF 1ST ENTRY 8 =6PQ BRN NPCP 4 =79B # 4 =7P2 # 20 =88L # THE ORIGINAL CHAPTER TABLE ENTRIES ARE NOW RESTORED 14 =8N= # FROM THE PATCH CHANGE RECORD 4 =97W # 9 =9MG PCRD SMO SAPFE(2) 20 ==76 LDX 6 APFEB2 [NUMBER OF ENTRIES IN PATCH CR 8 ==LQ BZE 6 PNEX 9 =?6B SMO SAPFE(2) 21 =?L2 LDN 1 APFEB2+1 [ABSOLUTE WORD ADDRESS OF 1ST ENTRY 16 =#5L PRSL LDX 3 0(1) [CHAPTER NUMBER 18 =#K= LDX 5 1(1) [ORIGINAL CHAPTAB ENTRY 15 =*4W STO 5 KTAB(3) [IS RESTORED 7 =*JG ADN 1 2 8 =B46 BCT 6 PRSL 4 =BHQ # 4 =C3B # 4 =CH2 # 10 =D2L PNEX LDX 0 PARANUM(2) 18 =DG= BZE 0 NPR4 [BRANCH IF NO PARAMETERS 17 =D_W SMO SAPFE(2) [NUMBER OF CHAPTERS 16 =FFG LDX 6 APFEB1+1 [BEING PFE'D ARE 17 =F_6 SMO SAPFE(2) [STORED IN 1ST WORD 15 =GDQ STO 6 APFEB2 [OF PATCH CR 9 =GYB SMO SAPFE(2) 9 =HD2 LDX 0 APFEB1+2 7 =HXL STO 0 5 20 =JC= SRL 0 18 [SIZE OF EACH ENTRY IN PFE HEADER 8 =JWW SMO FX1 8 =KBG ANDX 5 SMASK 9 =KW6 SMO SAPFE(2) 9 =L*Q LDN 7 APFEB1 21 =LTB ADX 7 5 [ABSOLUTE WORD ADDRESS OF 1ST ENTRY 20 =M*2 # # # # # # # # # # # # # # 9 =MSL LDX 1 PFNEW(2) 8 =N#= BZE 1 PFJ1 9 =NRW SMO SAPFE(2) 9 =P?G LDN 1 APFEB4-1 10 =PR6 STO 1 ACOMMUNE3(2) 7 =Q=Q STOZ 1 8 =QQB BRN NCHP 4 =R=2 PFJ1 20 =RPL # # # # # # # # # # # # # # 15 =S9= LDX 1 GFLEND [STORE END OF 16 =SNW SRL 1 7 [PROGRAM FILE AS 16 =T8G STO 1 ACOMMUNE3(2) [(GFLEND)/128 7 =TN6 STOZ 1 7 =W7Q NCHP SMO 7 16 =WMB LDX 3 0 [NEXT PFE ENTRY 7 =X72 STO 3 5 16 =XLL ANDN 3 #7777 [CHAPTER NUMBER 7 =Y6= ADN 1 1 9 =YKW SMO SAPFE(2) 20 =_5G STO 3 APFEB2(1) [SAVE CHAPTER NUMBER IN PATCH CR 7 =_K6 ADN 1 1 16 ?24Q LDX 4 KTAB(3) [CHAPTAB ENTRY 9 ?2JB SMO SAPFE(2) 17 ?342 STO 4 APFEB2(1) [SAVE IT IN PATCH CR 20 ?3HL # # # # # # # # # # # # # # 9 ?43= LDX 4 PFNEW(2) 8 ?4GW BZE 4 PFJ2 7 ?52G LDN 4 1 10 ?5G6 ADS 4 ACOMMUNE3(2) 10 ?5_Q SMO ACOMMUNE3(2) 7 ?6FB LDX 4 0 7 ?6_2 SRL 4 7 8 ?7DL BRN PFJ3 4 ?7Y= PFJ2 10 ?8CW LDX 4 ACOMMUNE3(2) 20 ?8XG PFJ3 STO 4 KTAB(3) [STORE CHAP START ADDR IN CHAPTAB 17 ?9C6 SRL 5 13 [PFE CHAPTER LENGTH 10 ?9WQ STO 5 ACOMMUNE5(2) 20 ?=BB # # # # # # # # # # # # # # 9 ?=W2 LDX 4 PFNEW(2) 8 ??*L BNZ 4 PFJ4 21 ??T= # # # # # # # # # # # # # # # 21 ?##W ANDN 5 #177 [SEE IF LENGTH IS A MULTIPLE OF 128 7 ?#SG LDN 4 1 8 ?*#6 BNZ 5 PMUL 7 ?*RQ STOZ 4 10 ?B?B PMUL LDX 5 ACOMMUNE5(2) 7 ?BR2 SRL 5 7 19 ?C=L ADX 5 4 [NUMBER OF BLOCKS IN CHAPTER 18 ?CQ= ADS 5 ACOMMUNE3(2) [NEW END OF PROGRAM FLE 10 ?D9W PFJ4 LDX 4 ACOMMUNE5(2) 7 ?DPG ADN 4 3 19 ?F96 SRL 4 2 [DIVIDE CHAPTER LENGTH BY 4 7 ?FNQ SMO 4 7 ?G8B LDCT 5 0 18 ?GN2 BNG 5 THOU [IF -VE THEN LENGTH=1024 20 ?H7L ORS 5 KTAB(3) [MERGE LENGTH INTO CHAPTAB ENTRY 7 ?HM= THOU ADX 7 0 8 ?J6W BCT 6 NCHP 21 ?JLG # # # # # # # # # # # # # # # # # # 20 ?K66 LDX 0 PFNEW(2) [SKIP COPY OF PFE TO GEORGE FILE 19 ?KKQ BNZ 0 NPR4 [IF NEWSEGS ARE BEING PATCHED 21 ?L5B # # # # # # # # # # # # # # # # # # 4 ?LK2 # 4 ?M4L #SKI 4 ?MJ= ( 4 ?N3W # 17 ?NHG # HERE BEGINS THE COPYING OF THE PFE ONTO THE END 16 ?P36 # OF THE GEORGE FILE - NO CHAINING IS SPECIFIED 4 ?PGQ # 4 ?Q2B # 16 ?QG2 STOZ 6 [CHAPTER COUNTER 16 ?Q_L MFINDEXOF 3,SAVEX(2) [FIND PFE EXOFILE 10 ?RF= LDX 0 FDCELLS+1(1) 17 ?RYW STO 0 ACOMMUNE5(2) [STARTING CYLINDER 20 ?SDG STOZ ACOMMUNE2(2) [BLOCK COUNT WITHIN CYLINDER 10 ?SY6 MHUNTW 1,EWDAS,GEXD 9 ?TCQ LDX 0 ETYPE(1) 17 ?TXB STO 0 ACOMMUNE9(2) [DEVICE TYPE/SUBTYPE 20 ?WC2 LDX 4 GFLEND [INTIALIZE GEORGE FILE POINTER 21 ?WWL STOZ ACOMMUNE7(2) [ZERO NO. OF WORDS XFERRED FOR CHAP 16 ?XB= NXCP SMO SAPFE(2) [NEXT CHAPTER 9 ?XTW LDX 0 APFEB1+2 7 ?Y*G STO 0 5 15 ?YT6 SRL 0 18 [ENTRY SIZE 19 ?_#Q ANDX 5 SMASK [WORD ADDRESS OF 1ST ENTRY 7 ?_SB MPR 0 6 19 #2#2 ADX 5 0 [WORD ADDRESS OF THIS ENTRY 7 #2RL STO 5 1 10 #3?= NXBL LDX 5 ACOMMUNE2(2) 10 #3QW ADX 5 FDCELLS+2(3) 14 #4=G CONVERTX ACOMMUNE5(2),5,ACOMMUNE9(2) 8 #4Q6 LDX 2 FX2 20 #59Q STO 0 ACOMMUNE4(2) [DEVICE TRANSFER START ADDRESS 17 #5PB STOZ ACOMMUNE1(2) [TRANSFER MODE (READ) 17 #692 LDX 5 CPPTR(2) [DEVICE LIST POINTER 20 #6NL CALL 7 TPERI [READ BLOCK PERI FROM PFE FILE 10 #78= LDX 0 ACOMMUNE2(2) 17 #7MW ADN 0 1 [UPDATE BLOCK COUNT 10 #87G STO 0 ACOMMUNE2(2) 21 #8M6 TXU 0 FDCELLS+4(3) [TEST IF ALL DONE IN THIS CYLINDER 8 #96Q BCS SICL 7 #9LB LDN 0 1 18 #=62 ADS 0 ACOMMUNE5(2) [UPDATE CYLINDER COUNT 17 #=KL STOZ ACOMMUNE2(2) [RESET BLOCK COUNT 8 #?5= SICL LDN 0 128 20 #?JW ADS 0 ACOMMUNE7(2) [UPDATE NO. OF WORDS TRANSFERRED 9 ##4G SMO SAPFE(2) 18 ##J6 LDX 0 APFEB1(1) [ENTRY FOR THIS CHAPTER 16 #*3Q SRL 0 13 [CHAPTER LENGTH 18 #*HB TXL 0 ACOMMUNE7(2) [TEST IF ALL CHAPTER READ 8 #B32 BCS SSTC 19 #BGL STOZ ACOMMUNE7(2) [RESET NO. OF WORDS XFERRED 4 #C2= # 4 #CFW # 12 #C_G # UPDATE CHECKSUM IF NECESSARY 6 #DF6 #SKI 76?-2 4 #DYQ #SKI 4 #FDB ( 19 #FY2 ANDN 0 #177 [FIND LAST WORD IN CHAPTER 19 #GCL BZE 0 SFUL [IF ZERO CHECKSUM IS WORD 128 7 #GX= STO 0 1 8 #HBW BRN UPD 8 #HWG SFUL LDN 1 128 9 #JB6 UPD LDX 0 GFLEND 9 #JTQ SMO SAPFE(2) 18 #K*B ADS 0 APFEB3-1(1) [ADD GFLEND TO CHECKSUM 4 #KT2 ) 4 #L#L # 4 #LS= # 4 #M?W # 8 #MRG SSTC LDN 5 128 20 #N?6 DATUMADD 4,BINDEX,5 [DATUMISE NEXT LOC ON GEORGE FILE 19 #NQQ ADN 4 128 [UPDATE GEORGE FILE POINTER 8 #P=B LDX 2 FX2 20 #PQ2 STO 1 ACOMMUNE4(2) [DEVICE TRANSFER START ADDRESS 7 #Q9L LDN 0 1 18 #QP= STO 0 ACOMMUNE1(2) [TRANSFER MODE (WRITE) 8 #R8W SMO BBAC 8 #RNG LDX 5 CPPTR 19 #S86 CALL 7 TPERI [WRITE BLOCK TO GEORGE FILE 10 #SMQ LDX 0 ACOMMUNE7(2) 8 #T7B BNZ 0 NXBL 7 #TM2 ADN 6 1 9 #W6L SMO SAPFE(2) 9 #WL= TXU 6 APFEB1+1 8 #X5W BCS NXCP 4 #XKG ) 4 #Y56 # 4 #YJQ # 4 #_4B # 19 #_J2 # THE PFE HAS NOW BEEN APPENDED TO THE GEORGE FILE 16 *23L # COORDINATION IS PERMITTED ONCE MORE 19 *2H= LDX 0 COPEN(3) [DECREMENT NUMBER OF TIMES 17 *32W SBN 0 1 [PFE EXOFILE IS OPEN 9 *3GG STO 0 COPEN(3) 8 *426 BNZ 0 NPR4 17 *4FQ FREECORE 3 [FREECORE THE EXOF 4 *4_B # 4 *5F2 NPR4 20 *5YL #SKI 76? [CHECK IF PATCH IS CHECKSUMMED 18 *6D= ( [UPDATE PATCH CHECKSUM 8 *6XW LDX 6 FX1 19 *7CG ADN 6 895 [START OF PATCH CHANGE RECORD 20 *7X6 SUM 5 127 [SUM OF 1ST 127 WORDS OF OLD PCR 9 *8BQ SMO SAPFE(2) 20 *8WB ADS 5 APFEB2+127 [SUBTRACT OLD PCR FROM CHECKSUM 9 *9B2 SMO SAPFE(2) 9 *9TL LDN 6 APFEB2 20 *=*= SUM 5 127 [SUM OF 1ST 127 WORDS OF NEW PCR 7 *=SW NGX 6 5 9 *?#G SMO SAPFE(2) 21 *?S6 ADS 6 APFEB2+127 [ADD IN NEW CONTRIBUTION TO CHECKSUM 4 *#?Q ) 17 *#RB ... CALL 0 SETPGLEN [ GET BS ADD OF PCR IN X4 18 **QL LDX 0 PARANUM(2) [SET NUMBER OF ENTRIES 17 *B== BNZ 0 NPR5 [IN PATCH CR TO ZERO 16 *BPW SMO SAPFE(2) [IF NO PARAMETERS 16 *C9G STOZ APFEB2 [IN PATCH COMMAND 4 *CP6 ...NPR5 17 *D8Q LDN 5 128 [LENGTH OF PATCH CR 18 *DNB DATUMADD 4,BINDEX,5 [DATUMISE WORD ADDRESS 15 *F82 LDN 6 1 [MODE (WRITE) 14 *FML LDN 5 128 [LENGTH 8 *G7= LDX 2 FX2 9 *GLW SMO SAPFE(2) 19 *H6G LDN 4 APFEB2 [CORE TRANSFER START ADDRESS 19 *HL6 LDN 3 1 [BACKING STORE UNIT NUMBER 14 *J5Q BACKTRAN EX6,BSET+BONL,EX5,,3,1,EX4 13 *JKB CHTRAN ETYPE(3),XERR16,XERR16 4 *K52 # 7 *KJL NPR9 STOZ 5 16 *L4= LDN 7 21 [PATCH OK MESSAGE 10 *LHW LDX 0 PARANUM(2) 8 *M3G BZE 0 NPR7 20 *MH6 # COPY CHAPTER NUMBERS INTO APFEB3+1 ONWARDS SO THAT 21 *N2Q # PATINF CAN ASSEMBLE THE CHAPTER NAMES INTO APFEB2 ONWARDS 4 *NGB # 9 *P22 LDX 3 SAPFE(2) 19 *PFL LDX 4 APFEB2(3) [NUMBER OF PATCHED CHAPTERS 9 *P_= STO 4 APFEB3(3) 10 *QDW LDN 6 APFEB2-1(3) 7 *QYG NCPY ADN 3 1 7 *RD6 ADN 6 2 7 *RXQ SMO 6 17 *SCB LDX 0 0 [CHAPTER NUMBER IS 18 *SX2 STO 0 APFEB3(3) [STORED IN APFEB3 AREA 8 *TBL BCT 4 NCPY 9 *TW= BRN XERR13B 20 *W*W NPR8 LDN 7 22 [PATCH + CHAPTER NAMES MESSAGE 8 *WTG NPR7 LDX 1 FX1 7 *X*6 SMO 7 17 *XSQ LDX 7 PATM-1(1) [MESSAGE IDENTIFIER 17 *Y#B LDN 3 1 [ROUTING PARAMETER 17 *YS2 INFORMX 3,7,1 [PATCH COMPLETED OK 8 *_?L BRN XEND 4 *_R= # 4 B2=W # 18 B2QG XEX [EXOFILE OPENING FAILS 10 B3=6 TESTREP EXFAIL,XEXF 15 B3PQ GEOERR 1,WRNGREP [WRONG REPLY 19 B49B XEXF EXMESS [OUTPUT ERRORS FROM EXOPEN 8 B4P2 BRN XEND 7 B58L XERR1 LDN 5 1 8 B5N= BRN XEN4 7 B67W XERR2 LDN 5 2 9 B6MG BRN XERRPR 7 B776 XERR3 LDN 5 3 9 B7LQ BRN XERRPR 7 B86B XERR4 LDN 5 4 9 B8L2 BRN XERRPR 7 B95L XERR5 LDN 5 5 9 B9K= BRN XERRPR 7 B=4W XERR6 LDN 5 6 9 B=JG BRN XERRPR 7 B?46 XERR7 LDN 5 7 9 B?HQ BRN XERRPR 7 B#3B XERR8 LDN 5 8 9 B#H2 BRN XERRPR 7 B*2L XERR9 LDN 5 9 9 B*G= BRN XERRPR 5 B*_W XERR10 8 BBFG LDN 5 10 9 BB_6 BRN XERRPR 5 BCDQ XERR11 8 BCYB LDN 5 11 9 BDD2 BRN XERRPR 5 BDXL XERR12 8 BFC= LDN 5 12 9 BFWW BRN XERRPR 5 BGBG XERR13 8 BGW6 LDN 5 13 5 BH*Q XERR13B 20 BHTB DOWN PATINF,2 [SET UP BAD CHAP BLOCK IN EW APFE 5 BJ*2 XERR13A 9 BJSL SMO SAPFE(2) 19 BK#= LDX 6 APFEB2 [NO OF WORDS IN BAD CHAPTER 7 BKRW STO 6 7 19 BL?G SLL 7 2 [NO OF CHARS IN BAD CHAPTERS 19 BLR6 ADN 6 1 [LENGTH OF PARAMETER BLOCK 15 BM=Q OUTBLOCK 6 [SET IT UP 17 BMQB OUTPARAM 7,APFEB2+1,EWDAS,APFE [MOVE IN PARAMETER 8 BN=2 BZE 5 NPR8 9 BNPL BRN XERRPR 5 BP9= XERR14 8 BPNW LDN 5 14 9 BQ8G BRN XERRPR 5 BQN6 XERR15 8 BR7Q LDN 5 15 9 BRMB BRN XERRPR 5 BS72 XERR16 8 BSLL LDN 5 16 9 BT6= BRN XERRPR 5 BTKW XERR17 8 BW5G LDN 5 17 9 BWK6 BRN XERRPR 5 BX4Q XERR18 8 BXJB LDN 5 18 9 BY42 BRN XERR13A 5 BYHL XERR19 8 B_3= LDN 5 19 9 B_GW BRN XERRPR 5 C22G XERR20 8 C2G6 LDN 5 20 9 C2_Q BRN XERRPR 5 C35M ...XERR23 8 C39J ... LDN 5 23 9 C3*F ... BRN XERRPR 5 C3FB XERRPR 8 C3_2 XEND BC ,BAPJTW 8 C4DL BZE 5 XEN3 8 C4Y= XEN4 LDX 1 FX1 17 C5CW SMO 5 [GET ERROR MESSAGE 15 C5XG LDX 5 PATM-1(1) [IDENTIFIER 16 C6C6 COMERRX 5 [OUTPUT MESSAGE 16 C6WQ XEN3 ENDCOM [END OF COMMAND 4 C7BB TF2 7 C7W2 #GAP 1023-0? 4 C8*L #END 8 ____ ...03224660003200000000