17 22FL ... SEG GLOBALS,,CENT(INSTALLATION HOOKS),,G400 4 22_= [ 15 23DW [ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 4 23YG [ 4 24D6 # 16 24XQ # THIS CHAPTER IMPLEMENTS THE SETGLOBAL COMMAND, 16 25CB # WHICH IS PART OF THE GLOBAL VARIABLE FACILITY 13 25X2 # OF G3+INSTALLATION HOOKS (MARK 2) 4 26BL # 15 26W= # IT ALSO IMPLEMENTS THE SP *JBV FACILITY 4 27*W # 17 27TG ... SEGENTRY K1GLOBALS,START [SETGLOBAL COMMAND 18 28*6 ... SEGENTRY K2GLOBALS,STARTJB [FROM SETPB - FOR SP *JBV 4 28SQ # 8 29#B # PRELIMINARIES 4 29S2 # 13 2=?L # VARIABLE TABLE FORMAT 15 2=R= #DEF VLOCK=A1+1 [LOCKOUT WORD 21 2?=W #DEF VDATALEN=A1+2 [POINTER TO END OF USED SPACE,RELAT 13 2?QG # ENTRY FORMAT 15 2#=6 #DEF VHEADER=0 [ENTRY HEADER 17 2#PQ #DEF REDTAPE2=1 [2ND WORD OF RED TAPE 17 2*9B #DEF VNAME=2 [3 WORD VARIABLE NAME 15 2*P2 #DEF VDATA=5 [VALUE DATA 4 2B8L # 8 2BN= # LOCATE ENTRY 4 2C7W # 5 2CMG RLOCA 9 2D76 LDX 0 AWORK4(2) 9 2DLQ BNZ 0 RLOCA1 7 2F6B DOHUNTGV 1 8 2FL2 BRN RLOC 5 2G5L RLOCA1 7 2GK= DOHUNTJV 1 4 2H4W RLOC 9 2HJG LDX 0 AWORK4(2) 14 2J46 BNZ 0 RLOC1 [JIF JV 16 2JHQ DOFINDGV AWORK1(2),3,1 [ELSE LOCATE GV 7 2K3B EXIT 7 0 5 2KH2 RLOC1 10 2L2L DOFINDJV AWORK1(2),3,1 7 2LG= EXIT 7 0 4 2L_W # 8 2MFG # LOCATE BLOCK 4 2M_6 # 4 2NDQ SLOC 8 2NYB SMO FX2 9 2PD2 LDX 0 AWORK4 8 2PXL BNZ 0 SLOC1 7 2QC= DOHUNTGV 1 7 2QWW EXIT 7 0 5 2RBG SLOC1 7 2RW6 DOHUNTJV 1 7 2S*Q EXIT 7 0 4 2STB # 8 2T*2 # DELETE RECORD 4 2TSL # 4 2W#= SDEL 8 2WRW STO 7 GEN3 15 2X?G CALL 7 SLOC [X1->VAR BLK 10 2XR6 LDX 7 VHEADER(3) 17 2Y=Q LDX 6 3 [END ADDR FOR MOVE 7 2YQB LDX 5 3 7 2_=2 ADX 5 7 10 2_PL LDX 0 VDATALEN(1) 8 329= ADN 0 A1(1) 7 32NW SBX 0 3 16 338G SBS 7 VDATALEN(1) [UPDTE POINTER 8 33N6 CALL 7 SMOVE 8 347Q LDX 7 GEN3 7 34MB EXIT 7 0 4 3572 # 10 35LL # APPEND RECORD TO BLOCK 4 366= # 5 36KW SAPPD 8 375G STO 7 GEN3 9 37K6 LDX 5 ANUM(2) 7 384Q LDX 0 5 14 38JB ANDN 0 #7777 [COUNT 7 3942 ADN 0 3 16 39HL SRL 0 2 [COUNT IN WORDS 14 3=3= ADN 0 VDATA-VHEADER [RED TAPE 10 3=GW SMO VDATALEN(1) 14 3?2G STO 0 A1+VHEADER(1) [HEADER 7 3?G6 ANDN 5 3 7 3?_Q LDN 6 4 7 3#FB SBX 6 5 15 3#_2 ANDN 6 3 [SPARE CHARS 10 3*DL SMO VDATALEN(1) 11 3*Y= STOZ A1+REDTAPE2(1) 10 3BCW SMO VDATALEN(1) 17 3BXG DCH 6 A1+REDTAPE2(1) [2ND WD OF RED TAPE 8 3CC6 SMO FX2 16 3CWQ LDN 5 AWORK1 [POINTER TO NAME 10 3DBB SMO VDATALEN(1) 10 3DW2 LDN 6 A1+VNAME(1) 15 3F*L MOVE 5 3 [INSERT NAME 9 3FT= LDN 5 APARA(2) 10 3G#W SMO VDATALEN(1) 10 3GSG LDN 6 A1+VDATA(1) 10 3H#6 ADS 0 VDATALEN(1) 10 3HRQ SBN 0 VDATA-VHEADER 8 3J?B CALL 7 SMOVE 8 3JR2 LDX 7 GEN3 7 3K=L EXIT 7 0 4 3KQ= # 13 3L9W # EXTEND ENTRY,IF REQUIRED 4 3LPG # 4 3M96 SEXT 18 3MNQ BPZ 5 SEXTX [NO EXTENSION REQUIRED 7 3N8B LDX 5 6 8 3NN2 ADN 5 50 10 3P7L ADX 5 ALOGLEN(1) 7 3PM= LDX 6 7 8 3Q6W SBX 6 FX1 9 3QLG ALTLENG 1,5,SLOCA 7 3R66 LDX 7 6 8 3RKQ ADX 7 FX1 5 3S5B SEXTX 7 3SK2 EXIT 7 0 4 3T4L # 11 3TJ= # SHORTEN BLOCK 4 3W3W # 5 3WHG SHORTEN 10 3X36 LDX 5 VDATALEN(1) 8 3XGQ ADN 5 50 8 3Y2B ALTLENG 1,5 7 3YG2 EXIT 7 0 5 3Y_L SLOCA 8 3_F= SMO FX2 9 3_YW LDX 0 AWORK4 9 42DG BNZ 0 SLOCA1 7 42Y6 DOHUNTGV 2 7 43CQ EXIT 1 0 5 43XB SLOCA1 7 44C2 DOHUNTJV 2 7 44WL EXIT 1 0 4 45B= # 16 45TW # CONTRACT ENTRY & INSERT NEW VALUE 14 46*G # X1->GV BLOCK 17 46T6 # X3->ENTRY TO BE CONTRACTED 18 47#Q # X4=AMOUNT BY WHICH TO CONTRACT 13 47SB # LINK X7 5 48#2 SCONT 8 48RL STO 7 GEN3 9 49?= BZE 4 SCONT1 7 49QW LDX 5 3 19 4==G ADX 5 VHEADER(3) [FROM ADDRESS=FOLLOWING ENTRY 7 4=Q6 LDX 6 5 19 4?9Q SBX 6 4 [TO ADDRESS=END OF THIS ENTRY 10 4?PB LDX 0 VDATALEN(1) 8 4#92 ADN 0 A1(1) 16 4#NL SBX 0 5 [LENGTH OF MOVE 14 4*8= CALL 7 SMOVE [DO MOVE 17 4*MW SBS 4 VDATALEN(1) [UPDATE DATA COUNT 16 4B7G SBS 4 VHEADER(3) [AND ENTRY HEADER 5 4BM6 SCONT1 7 4C6Q LDX 5 2 8 4CLB ADN 5 APARA 9 4D62 LDN 6 VDATA(3) 10 4DKL LDX 0 VHEADER(3) 10 4F5= SBN 0 VDATA-VHEADER 8 4FJW CALL 7 SMOVE 9 4G4G LDX 0 ANUM(2) 7 4GJ6 ANDN 0 3 7 4H3Q LDN 7 4 7 4HHB SBX 7 0 7 4J32 ANDN 7 3 17 4JGL DCH 7 REDTAPE2(3) [STORE SPARE CHAR CT 8 4K2= LDX 7 GEN3 5 4KFW SCONTX 7 4K_G EXIT 7 0 4 4LF6 # 12 4LYQ # MOVE,POSSIBLY > 512 WORDS 4 4MDB # 5 4MY2 SMOVE 8 4NCL STO 0 GEN0 8 4NX= SMO FX1 8 4PBW LDX 0 X512 5 4PWG SMOVE2 8 4QB6 TXL 0 GEN0 17 4QTQ BCC SMOVE1 [J IF 1 MOVE ENOUGH 17 4R*B SBS 0 GEN0 [REDUCE COUNT BY 512 7 4RT2 MOVE 5 0 7 4S#L ADX 5 0 7 4SS= ADX 6 0 9 4T?W BRN SMOVE2 5 4TRG SMOVE1 8 4W?6 LDX 0 GEN0 9 4WQQ BZE 0 SMOVEX 7 4X=B SMO 0 7 4XQ2 MOVE 5 0 5 4Y9L SMOVEX 7 4YP= EXIT 7 0 8 4_8W X512 +512 4 4_NG # 20 5286 # ############################################################# 4 52MQ # 11 537B # K K 1 11 53M2 # K K 11 11 546L # K K 1 11 54L= # K K 1 11 555W # KKK 1 11 55KG # K K 1 11 5656 # K K 1 11 56JQ # K K 1 11 574B # K K 1 4 57J2 # 20 583L # ############################################################# 4 58H= # 5 592W START 10 59GG ... SEGENTRY K80GLOBALS 16 5=26 TESTHOOK SGALL [ JUMP IF IN HOOK 20 5=FQ ... COMERR HOOKONLY [ERROR SG ONLY ALLOWED IN A HOOK 4 5=_B # 10 5?F2 ... SEGENTRY K81GLOBALS 5 5?YL SGALL 2 5#D= 4 5#XW # 14 5*CG # ENTRY POINT FROM COMMAND PROCESSOR 11 5*X6 # TO IMPLEMENT COMMAND 4 5BBQ # 14 5BWB STOZ AWORK4(2) [MARK GV 4 5CB2 # 19 5CTL # A - OBTAIN AND CHECK THE COMMAND PARAMETERS 4 5D*= # 15 5DSW PARAPASS [1ST PARAM 17 5F#G CHECKLFN XMISS,XERR [CHECK NAME FORMAT 4 5FS6 # 16 5G?Q # SAVE NAME IN AWORK WORDS 4 5GRB # 17 5H?2 LDX 0 ACES [SPACEFILL AWORK AREA 9 5HQL STO 0 AWORK1(2) 9 5J== STO 0 AWORK2(2) 9 5JPW STO 0 AWORK3(2) 10 5K9G MHUNT 3,CPB,CUNI 16 5KP6 LDN 4 APARA(3) ['FROM' ADDRESS 15 5L8Q LDN 5 AWORK1(2) [TO ADDRESS 9 5LNB LDX 2 ANUM(3) 16 5M82 ANDN 2 #7777 [CHARACTER COUNT 17 5MML MVCH 4 0(2) [MOVE VARIABLE NAME 4 5N7= # 20 5NLW FREECORE 3 [FREE PARAMETER BLOCK(1ST PARAM) 7 5P6G LDN 4 3 17 5PL6 SPARANXT ,,4 [NEW VALUE=3RD PARAM 10 5Q5Q TESTREP UNPAIR,XERR 7 5QKB PARAFREE 7 5R52 LDN 4 2 17 5RJL SPARANXT ,,4 [OLD VALUE=2ND PARAM 10 5S4= TESTREP UNPAIR,XERR 4 5SHW # 4 5T3G # 20 5TH6 # B - SET UP VARIABLE TABLE IF NOT ALREADY PRESENT 4 5W2Q # 4 5WGB # 17 5X22 DOHUNTGV 3 [SEARCH FOR VT BLOCK 15 5XFL BPZ 3 PC [JIF PRESENT 12 5X_= SETNCORE 50,3,IUSER,G400BLK 7 5YDW LDN 0 9 8 5YYG STO 0 A1(3) 15 5_D6 STOZ VLOCK(3) [LOCKOUT WORD 10 5_XQ LDN 0 VDATALEN+1-A1 19 62CB STO 0 VDATALEN(3) [END OF USED SPACE POINTER 19 62X2 DOHUNTGV 1 [CHECK IF BLOCK NOW PRESENT 8 63BL BPZ 1 PB1 16 63W= LDX 2 BMISC+1 [MISC CHAIN PTR 9 64*W LDX 2 BPTR(2) 14 64TG CHAIN 3,2 [CHAIN IN 8 65*6 BRN PC 4 65SQ PB1 7 66#B FREECORE 3 4 66S2 # 15 67?L # C - UPDATE VARIABLE TABLE 4 67R= # 4 68=W PC 4 68QG # 18 69=6 # C1/C2 - SET LOCKOUT FOR UPDATE 4 69PQ PC1 15 6=9B DOHUNTGV 3 [LOCATE BLOCK 9 6=P2 LDX 0 VLOCK(3) 17 6?8L BPZ 0 PC2 [J IF ALREADY LOCKED 15 6?N= COOR2 [ELSE PAUSE 8 6#7W BRN PC1 4 6#MG # 4 6*76 PC2 8 6*LQ LDX 0 GSIGN 14 6B6B ORS 0 VLOCK(3) [SET LOCK 4 6BL2 # 16 6C5L # C3 - DO UPDATE ITSELF 4 6CK= # 4 6D4W # 16 6DJG # C3A - CHECK OLD VALUE 4 6F46 # 15 6FHQ CALL 7 RLOCA [FIND RECORD 15 6G3B BNG 3 PC3A1 [NOT PRESENT 16 6GH2 MHUNT 2,CPB,CUNI [FIND OLD VALUE 9 6H2L LDX 0 ANUM(2) 15 6HG= ANDN 0 #7777 [CHAR COUNT 15 6H_W LDX 4 VHEADER(3) [RECORD COUNT 15 6JFG SBN 4 VDATA-VHEADER [- RED TAPE 17 6J_6 SLL 4 2 [RECORD CHAR COUNT 15 6KDQ LDCH 5 REDTAPE2(3) [UNUSED CHARS 7 6KYB SBX 4 5 16 6LD2 TXU 4 0 [COMPARE COUNTS 17 6LXL BCS XVCH [J IF COUNTS DISAGREE 5 6MC= PC3A2 17 6MWW LDCH 7 VDATA(3) [CHAR FROM VARIABLE 17 6NBG LDCH 1 APARA(2) [CHAR FROM OLD VALUE 7 6NW6 TXU 1 7 16 6P*Q BCS XVCH [J IF DISCREPANCY 7 6PTB BCHX 2 / 7 6Q*2 BCHX 3 / 18 6QSL BCT 0 PC3A2 [LOOP FOR NEXT COMPARISON 8 6R#= BRN PC3B 19 6RRW # SPECIAL CASE : ENTRY NOT PRESENT 5 6S?G PC3A1 10 6SR6 MHUNT 2,CPB,CUNI 9 6T=Q LDX 0 ANUM(2) 20 6TQB BNG 0 PC3B [OLD VALUE NOT GIVEN-NULL BY DEFA 8 6W=2 ANDN 0 #7777 16 6WPL BZE 0 PC3B [OLD VALUE NULL 17 6X9= BRN XVCH [NOT NULL ---ERROR 4 6XNW # 16 6Y8G # C3B - INSERT NEW VALUE 4 6YN6 # 4 6_7Q PC3B 17 6_MB MFREE CPB,CUNI [GET RID OF OLD VALUE 16 7272 MHUNT 2,CPB,CUNI [LOCATE NEW VALUE 9 72LL LDX 0 ANUM(2) 16 736= BNG 0 PC3B1 ['NON-EXISTENT' 8 73KW ANDN 0 #7777 8 745G BNZ 0 PC3B2 5 74K6 PC3B1 8 754Q LDX 2 FX2 8 75JB CALL 7 RLOCA 16 7642 BNG 3 PC4 [JIF NO RECORD 16 76HL CALL 7 SDEL [DELETE RECORD 17 773= BRN PC4 [FINISH(NULL VALUE) 5 77GW PC3B2 7 782G LDX 6 0 7 78G6 ADN 6 3 18 78_Q SRL 6 2 [WORD COUNT FOR NEW VALUE 8 79FB LDX 2 FX2 16 79_2 CALL 7 RLOCA [LOCATE RECORD 15 7=DL BNG 3 PC3B3 [NOT PRESENT 7 7=Y= LDX 5 6 10 7?CW SBX 5 VHEADER(3) 10 7?XG ADN 5 VDATA-VHEADER 17 7#C6 BNG 5 PC3B4 [J IF SPACE IN ENTRY 18 7#WQ BZE 5 PC3B4 [J IF JUST ENOUGH ROOM 8 7*BB SMO FX2 9 7*W2 STO 6 ACOMMUNE1 16 7B*L CALL 7 SDEL [DELETE RECORD 8 7BT= SMO FX2 9 7C#W LDX 6 ACOMMUNE1 5 7CSG PC3B3 15 7D#6 DOHUNTGV 1 [LOCATE BLOCK 19 7DRQ LDX 5 ALOGLEN(1) [CALCULATE SPACE AVAILABLE 7 7F?B SBX 5 6 10 7FR2 SBX 5 VDATALEN(1) 10 7G=L SBN 5 VDATA-VHEADER 15 7GQ= CALL 7 SEXT [EXTEND BLOCK 8 7H9W LDX 2 FX2 8 7HPG CALL 7 RLOCA 10 7J96 MHUNT 2,CPB,CUNI 16 7JNQ CALL 7 SAPPD [APPEND RECORD 8 7K8B BRN PC3B5 4 7KN2 # 10 7L7L # CONTRACT RECORD 4 7LM= # 5 7M6W PC3B4 7 7MLG NGX 4 5 10 7N66 MHUNT 2,CPB,CUNI 17 7NKQ CALL 7 SCONT [CONTRACT & PUT DATA 4 7P5B # 14 7PK2 # REMOVE EXCESS SPACE FROM BLOCK 4 7Q4L # 5 7QJ= PC3B5 7 7R3W DOHUNTGV 1 10 7RHG LDX 6 ALOGLEN(1) 10 7S36 SBX 6 VDATALEN(1) 8 7SGQ SBN 6 50 17 7T2B BNG 6 PC4 [FINISHED THIS BIT 9 7TG2 CALL 7 SHORTEN 4 7T_L # 4 7WF= PC4 7 7WYW DOHUNTGV 1 8 7XDG LDX 0 GSIGN 16 7XY6 ERS 0 VLOCK(1) [UNSET LOCKOUT 4 7YCQ # 12 7YXB # WAKE UP ACTIVITIES ON WT GLV 4 7_C2 # 8 7_WL LDX 2 FX2 9 82B= LDX 4 AWORK1(2) 9 82TW ADX 4 AWORK2(2) 9 83*G ADX 4 AWORK3(2) 10 83T6 LONGON1 G400GVWT,4 4 84#Q # 15 84SB # FINISHED======RETURN TO COMMAND PROCESSOR 4 85#2 # 4 85RL PEND 6 86?= ENDCOM 5 86QW XMISS 9 87=G COMERR JPARMIS 4 87Q6 XERR 9 889Q COMERR APFERR 4 88PB XVCH 9 8992 CALL 7 OUTPAR 9 89NL +XMESSVC 9 8=8= ERROR GENERR 9 8=MW LDX 0 AWORK4(2) 8 8?7G BZE 0 PC4 8 8?M6 BRN PEND 4 8#6Q # 8 8#LB XMESSVC +6 13 8*62 24HVALUE ALREADY CHANGED 5 8*KL OUTPAR 7 8B5= SMO 7 17 8BJW LDX 6 0 [LOAD ADDRESS OF TEXT 8 8C4G SBX 7 FX1 8 8CJ6 LDX 1 FX1 7 8D3Q SMO 6 8 8DHB LDX 5 0(1) 9 8F32 ADN 5 APARA-A1 10 8FGL SETUPCORE 5,3,CPB,CUNI 9 8G2= SBN 5 APARA-A1 7 8GFW SLL 5 2 9 8G_G STO 5 ANUM(3) 7 8HF6 LDN 2 2 10 8HYQ STO 2 JPARNUM(3) 7 8JDB SMO 6 8 8JY2 LDN 2 1(1) 8 8KCL ADN 3 APARA 7 8KX= SMO 5 7 8LBW MVCH 2 0 8 8LWG ADX 7 FX1 7 8MB6 EXIT 7 0 4 8MTQ # 20 8N*B # ############################################################# 4 8NT2 # 11 8P#L # K K 222 11 8PS= # K K 2 2 11 8Q?W # K K 2 11 8QRG # K K 2 11 8R?6 # KKK 2 11 8RQQ # K K 2 11 8S=B # K K 2 10 8SQ2 # K K 2 12 8T9L # K K 2222222 4 8TP= # 20 8W8W # ############################################################# 4 8WNG # 5 8X86 STARTJB 4 8XMQ # 15 8Y7B # ENTRY POINT FOR JOB VARIABLES FROM SETPB 4 8YM2 # 10 8YPK ... SEGENTRY K82GLOBALS 16 8YS8 ... TESTHOOK JBVALL [JUMP IF IN HOOK 21 8YWR ... COMERR HOOKONLY [ERROR *JBV ONLY ALLOWED IN A HOOK 10 8Y_B ... SEGENTRY K83GLOBALS 5 8_3_ ...JBVALL 7 8_6L LDN 0 1 14 8_L= STO 0 AWORK4(2) [MARK JV 7 925W LDN 4 1 7 92KG LDN 5 0 8 9356 PARALYSE ,5,4 7 93JQ LDN 5 2 8 944B PARALYSE ,4,5 7 94J2 PARAPASS 17 953L CHECKLFN XMISS,XERR [CHECK NAME FORMAT 4 95H= # 16 962W # SAVE NAME IN AWORK WORDS 4 96GG # 17 9726 LDX 0 ACES [SPACEFILL AWORK AREA 9 97FQ STO 0 AWORK1(2) 9 97_B STO 0 AWORK2(2) 9 98F2 STO 0 AWORK3(2) 10 98YL MHUNT 3,CPB,CUNI 16 99D= LDN 4 APARA(3) ['FROM' ADDRESS 15 99XW LDN 5 AWORK1(2) [TO ADDRESS 9 9=CG LDX 2 ANUM(3) 16 9=X6 ANDN 2 #7777 [CHARACTER COUNT 17 9?BQ MVCH 4 0(2) [MOVE VARIABLE NAME 8 9?WB CALL 7 SLOC 8 9#B2 BPZ 1 QA1 12 9#TL SETNCORE 50,1,IUSER,G400BLK 8 9**= LDN 0 10 8 9*SW STO 0 A1(1) 9 9B#G STOZ VLOCK(1) 10 9BS6 LDN 0 VDATALEN+1-A1 10 9C?Q STO 0 VDATALEN(1) 10 9CRB LDX 2 ACTRING(2) 9 9D?2 SBN 2 ACTRING 9 9DQL CHAIN 1,BPTR(2) 4 9F== QA1 16 9FPW MHUNT 2,COMDAT,CSETP [LOCATE NEW VALUE 9 9G9G LDX 0 ANUM(2) 16 9GP6 BNG 0 QB1 ['NON-EXISTENT' 8 9H8Q ANDN 0 #7777 8 9HNB BNZ 0 QB2 4 9J82 QB1 8 9JML LDX 2 FX2 8 9K7= CALL 7 RLOCA 8 9KLW BNG 3 PEND 16 9L6G CALL 7 SDEL [DELETE RECORD 17 9LL6 BRN PEND [FINISH(NULL VALUE) 4 9M5Q QB2 7 9MKB LDX 6 0 7 9N52 ADN 6 3 18 9NJL SRL 6 2 [WORD COUNT FOR NEW VALUE 8 9P4= LDX 2 FX2 16 9PHW CALL 7 RLOCA [LOCATE RECORD 15 9Q3G BNG 3 QB3 [NOT PRESENT 7 9QH6 LDX 5 6 10 9R2Q SBX 5 VHEADER(3) 10 9RGB ADN 5 VDATA-VHEADER 17 9S22 BNG 5 QB4 [J IF SPACE IN ENTRY 18 9SFL BZE 5 QB4 [J IF JUST ENOUGH ROOM 8 9S_= SMO FX2 9 9TDW STO 6 ACOMMUNE1 16 9TYG CALL 7 SDEL [DELETE RECORD 8 9WD6 SMO FX2 9 9WXQ LDX 6 ACOMMUNE1 4 9XCB QB3 15 9XX2 DOHUNTJV 1 [LOCATE BLOCK 19 9YBL LDX 5 ALOGLEN(1) [CALCULATE SPACE AVAILABLE 7 9YW= SBX 5 6 10 9_*W SBX 5 VDATALEN(1) 10 9_TG SBN 5 VDATA-VHEADER 15 =2*6 CALL 7 SEXT [EXTEND BLOCK 8 =2SQ LDX 2 FX2 8 =3#B CALL 7 RLOCA 11 =3S2 MHUNT 2,COMDAT,CSETP 16 =4?L CALL 7 SAPPD [APPEND RECORD 8 =4R= BRN QB5 4 =5=W # 10 =5QG # CONTRACT RECORD 4 =6=6 # 4 =6PQ QB4 7 =79B NGX 4 5 11 =7P2 MHUNT 2,COMDAT,CSETP 16 =88L CALL 7 SCONT [CONTRACT RECORD 4 =8N= # 14 =97W # REMOVE EXCESS SPACE FROM BLOCK 4 =9MG # 4 ==76 QB5 7 ==LQ DOHUNTJV 1 10 =?6B LDX 6 ALOGLEN(1) 10 =?L2 SBX 6 VDATALEN(1) 8 =#5L SBN 6 50 17 =#K= BNG 6 PEND [FINISHED THIS BIT 9 =*4W CALL 7 SHORTEN 8 =*JG BRN PEND 4 =B46 #END 6 ____ ...555147360002