15 22FL #SEG MONRESUM [R H TERRY 8 22_= #OPT K0MONRESUM=0 10 23DW #LIS K0MONRESUM>K0ALLGEO 10 23YG #OPT K6MONRESUM=K6ALLGEO 4 24D6 # 21 24XQ # THIS SEGMENT IMPLEMENTS THE MONRESUME COMMAND.THE FIRST PARAMETER IS 21 25CB # ANALYSED AND A FLAG SET ACCORDING AS THIS IS STOP OR GO (OR NULL). WE 21 25X2 # THEN LOOK UP THE CURRENT O/P INSTRUCTION, AND IF IT IS AN EXTRACODE 19 26BL # WHICH COULD HAVE GENERATED AN 'OPEN PERI' TYPE MONITOR EVENT,A 21 26W= # PROGRAM EVENT IS SIMULATED BY SETTING THE EVENT WORDS OF THE APET OR 15 27*W # AOLPT ACTIVITY AND FPUT-ING IT ON THE LIST. 10 27TG # AWORK1 IS USED AS FOLLOWS: 19 28*6 # B23 PARAM IS STOP B22 C/I IS SMOED B21 C/I IS PERI 21 28SQ # B20 22AM DATA MODE B19 PCA TO BE FPUT B18 C/I IS OBEY(MK6 ONLY 19 29#B # IN MK6 AWORK2-4 ARE SET UP TO CONTAIN OUR FUTURE EVENT WORDS 21 29S2 # IN MK6.5 VENT1-6 OF THE DATA BLOCK ARE SET UP TO CONTAIN OUR FUTURE 7 2=?L # EVENT WORDS 4 2=R= # 10 2?=W 8HMONRESUM 4 2?QG # 9 2#=6 # THE ONLY ENTRY POINT 4 2#PQ # 11 2*9B SEGENTRY K1MONRESUM,ZEP1 4 2*P2 # 14 2B8L # DATA WORDS IN AN ADATA/CSTORE WORK BLOCK 4 2BN= # 7 2C7W #DEF VENT1=A1 8 2CMG #DEF VENT2=VENT1+1 8 2D76 #DEF VENT3=VENT2+1 8 2DLQ #DEF VENT4=VENT3+1 8 2F6B #DEF VENT5=VENT4+1 8 2FL2 #DEF VENT6=VENT5+1 8 2G5L #DEF PREMOD=VENT6+1 8 2GK= #DEF ZINST=PREMOD+1 8 2H4W #DEF WORK1=ZINST+1 8 2HJG #DEF START=WORK1+1 19 2J46 #DEF ZLEN=START+10-A1 [DATA BLOCK LOGICAL LENGTH 4 2JHQ # 20 2K3B #DEF VENTSZ=2*G4+4 [SIZE OF AN AOLPT'S EVENT AREA 4 2KH2 # 9 2L2L XSTOP 4HSTOP 8 2LG= XGO 4HGO 21 2L_W SMOBIT #10000000 [B2 OF O/P WD 9 SET IF LAST INSTRUCTN 15 2MFG [ WAS SMO-ED 9 2MP# ...XMDAMSK #77700077 9 2M_6 XFMSK #07740000 8 2NDQ XTHOU +1000 19 2NYB ZERR1 +APFERR [PARAMETER FORMAT ERROR:%C 9 2P88 ...ZERR1A +JMAXPAR 21 2PD2 ZERR3 +JMONILL [ILLEGAL CHANGES TO CORE IMAGE SINCE 16 2PXL [ MONITOR EVENT 5 2QC= #SKI G3 9 2QWW XLINK PAIR OPCA,1 5 2RBG #SKI G4 10 2RW6 XLINK PAIR PAGETURN,2 21 2S*Q PERI PERI 0 0 [ADMISSABLE O/P CURRENT INSTRUCTIONS 5 2STB XCODS 7 2T*2 ALLOT 0 0 7 2TSL REL 0 0 7 2W#= DIS 0 0 7 2WRW CONT 0 0 19 2X?G #DEF NXCODS=0?-XCODS [NO OF ENTRIES IN XCODS TABLE 7 2XR6 OBEY OBEY 0 7 2Y=Q SMO SMO 0 15 2YQB ZEP1 [ENTRY POINT 17 2_=2 STOZ AWORK1(2) [UNSET ALL SWITCHES 7 2_PL PARAPASS 10 329= MHUNT 3,CPB,CUNI 9 32NW LDX 0 ANUM(3) 8 338G BZE 0 STGO 20 33N6 BNG 0 STGO [IF NO PARAMETER, 'GO' ASSUMED 7 347Q SBN 0 5 20 34MB BPZ 0 XERR1 [ERROR IF 1ST PARAM HAS >4 CHARS 9 3572 LDX 0 APARA(3) 11 35LL BXU 0 XSTOP(1),NOTST 7 366= LDN 7 1 20 36KW ORS 7 AWORK1(2) [IF 'STOP' SET B23 OF SWITCH WORD 8 375G BRN STGO 17 37K6 NOTST BXU 0 XGO(1),XERR1 [IF NOT 'GO' ERROR 16 384Q STGO FREECORE 3 [FREE UNI BLOCK 8 389Y ... FJOCA 3,2 18 38C6 ... JBS XERR3A,3,JBLOAD [ERROR IF NOT LOADED 20 38JB PARAFREE [FREE MULTI BLOCKS FOR PARPARAM 17 3942 ... PAPARAM XERR1,XERR1A [SET UP O/P PARAMS 8 39HL FPCACA 1,2 19 3=3= LDX 0 ALMT(1) [GET MODE OF CURRENT MEMBER 8 3=GW ANDN 0 #10 19 3?2G ORS 0 AWORK1(2) [B20 OF AWORK1 SET IF 22AM 21 3?G6 SETNCORE ZLEN,3,ADATA,CSTORE [WORK BLOCK TO HOLD WDS 0-9 OF O/P 18 3?_Q LDN 5 0 [FIRST O/P WORD WANTED 18 3#FB RET LDN 6 10 [NO OF O/P WORDS WANTED 7 3#_2 SBX 6 5 9 3*DL CALL 7 ZGETWORD 8 3*Y= BRN XGEO 21 3BCW BXL 4 6,NOTAL [J IF NOT ACCESS TO ALL WDS REQUESTED 21 3BXG LDX 4 6 [ OTHERWISE SET NO GOT=NO REQUESTED 21 3CC6 LDN 6 0 [ AND FLAG NO MORE GETWORDS NEEDED 7 3CWQ NOTAL LDX 2 3 16 3DBB MHUNTW 3,ADATA,CSTORE [FIND DATA BLOCK 19 3DW2 LDX 7 3 [ AND REMEMBER ITS ADDRESS 8 3F*L ADN 3 START 20 3FT= ADX 3 5 [X3-> NEXT POSITION IN DATA BLOCK 7 3G#W SMO 4 20 3GSG MOVE 2 0 [MOVE THIS BATCH OF WORDS ACROSS 7 3H#6 ADX 5 4 20 3HRQ BNZ 6 RET [DO A FURTHER GETWORD IF REQUIRED 8 3J?B LDX 2 FX2 18 3JR2 LDX 3 7 [RESTORE DATA BLOCK ADDR 15 3K=L LDX 6 START+8(3) [O/P WORD 8 15 3KQ= LDX 7 START+9(3) [O/P WORD 9 7 3L9W SMO 6 16 3LPG LDN 5 0 [GET ONR (B2-23) 21 3M96 SBN 5 1 [NOW X5 IS O/P ADDR OF MONITORED XCOD 9 3MNQ ANDX 7 SMOBIT(1) 20 3N8B BZE 7 NOSMO [J IF LAST O/P INSTR NOT SMO-ED 7 3NN2 LDN 0 2 19 3P7L ORS 0 AWORK1(2) [ OTHERWISE SET 'SMO-ED' BIT 7 3PM= SBN 5 1 7 3Q6W LDN 6 2 21 3QLG CALL 7 ZGETWORD [ AND TRY TO ACCESS WDS [8]-2 & [8]-1 8 3R66 BRN XERR3 11 3RKQ MHUNTW 2,ADATA,CSTORE 8 3S5B LDX 0 0(3) 20 3SK2 STO 0 PREMOD(2) [STORE PREMODIFYING INSTRUCTION 7 3T4L ADN 5 1 7 3TJ= SBN 4 1 21 3W3W BZE 4 NOSMO [J IF C/I INACCESSIBLE THIS GETWORD 8 3WHG LDX 0 1(3) 20 3X36 STO 0 ZINST(2) [ ELSE STORE CURRENT INSTRUCTION 8 3XGQ BRN XANAL 19 3Y2B NOSMO LDN 6 1 [ACCESS CURRENT INSTRUCTION 9 3YG2 CALL 7 ZGETWORD 8 3Y_L BRN XERR3 11 3_F= MHUNTW 2,ADATA,CSTORE 8 3_YW LDX 0 0(3) 19 42DG STO 0 ZINST(2) [STORE CURRENT INSTRUCTION 21 42Y6 XANAL [NOW ZINST CONTAINS CURRENT O/P INSTRUCTION,AND IF THIS 20 43CQ [WAS PREMODIFIED, PREVIOUS INSTRUCTION IS IN PREMOD 8 43XB LDX 2 FX2 20 44C2 STOZ AWORK4(2) [CLEAR CONCEPTUAL 'SMO' REGISTER 9 44WL LDX 0 AWORK1(2) 7 45B= ANDN 0 2 21 45TW BZE 0 N117 [J IF CURRENT INSTR NOT PREMODIFIED 11 46*G MHUNTW 3,ADATA,CSTORE 19 46T6 LDX 6 PREMOD(3) [GET PREMODIFYING INSTRUCTION 7 47#Q LDX 0 6 9 47SB ANDX 0 XFMSK(1) 19 48#2 BXU 0 OBEY(1),N023A [J IF PREMOD INSTR NOT OBEY 21 48RL CALL 7 ZOBEY [ ELSE GET INSTR AT END OF OBEY CHAIN 7 49?= LDX 0 6 9 49QW ANDX 0 XFMSK(1) 20 4==G N023A BXU 0 SMO(1),XERR3 [ERROR IF PREMOD INSTR NOT SMO OR 15 4=Q6 [ OBEY -> SMO 7 4?9Q LDX 5 6 17 4?PB CALL 7 OPERAND [GET OPERAND OF SMO 7 4#92 LDN 6 1 19 4#NL CALL 7 ZGETWORD [GET WORD ADDRESSED BY SMO 8 4*8= BRN XERR3 8 4*MW LDX 0 0(3) 19 4B7G STO 0 AWORK4(2) [ AND SET OUR 'SMO' REGISTER 11 4BM6 N117 MHUNTW 3,ADATA,CSTORE 18 4C6Q LDX 6 ZINST(3) [GET CURRENT INSTRUCTION 7 4CLB LDX 0 6 9 4D62 ANDX 0 XFMSK(1) 21 4DKL BXU 0 OBEY(1),N023B [J IF CURRENT INSTRUCTION NOT OBEY 21 4F5= CALL 7 ZOBEY [ ELSE GET INSTR AT END OF OBEY CHAIN 7 4FJW LDX 0 6 9 4G4G ANDX 0 XFMSK(1) 19 4GJ6 N023B BXE 0 PERI(1),YPERI [J IF MONITORED INSTR IS PERI 9 4H3Q LDN 7 NXCODS 21 4HHB TXCOD BXE 0 XCODS(1),XFND [TEST IF MNTRD O/P INSTR COULD HAVE 21 4J32 ADN 1 1 [ CAUSED AN 'OPEN PERI' TYPE MONEVENT 8 4JGL BCT 7 TXCOD 15 4K2= BRN XERR3 [ERROR IF NOT 7 4KFW YPERI LDN 0 4 20 4K_G ORS 0 AWORK1(2) [IF MNTRD INSTR WAS PERI,SET B21 8 4LF6 XFND LDX 1 FX1 11 4LYQ MHUNTW 3,ADATA,CSTORE 21 4MDB STO 6 VENT5(3) [DUMP COPY OF MONITORED INSTRUCTION 7 4MY2 LDX 5 6 9 4NCL CALL 7 OPERAND 11 4NX= MHUNT 3,ADATA,CSTORE 21 4PBW STO 5 VENT2(3) [DUMP OPERAND (+ ALL MODIFICATION) OF 18 4PWG [ MONITORED INSTRUCTION 21 4QB6 STOZ VENT6(3) [INDICATES 'E/CODE NOT IMPLD BY EXEC' 9 4QTQ LDX 0 AWORK1(2) 7 4R*B ANDN 0 4 15 4RT2 BNZ 0 T157 [J IF PERI 21 4S#L SRL 6 21 [ISOLATE ACCUMULATOR FIELD OF INSTR 8 4SS= ANDN 5 256 19 4T?W BZE 5 XUNO [J IF ACC FIELD IS UNIT NO 7 4TRG SMO 6 9 4W?6 LDX 6 START(3) 21 4WQQ ANDN 6 #77 [ ELSE GET UNIT NO FROM B18-23 OF ACC 19 4X=B XUNO STO 6 VENT3(3) [REMEMBER UNIT NO FOR EVENT3 18 4XQ2 WORDFIN [CLEAR UP AFTER GETWORDS 20 4Y9L BRN N157 [ AND J TO SET PCA EVENT WORDS 7 4YP= T157 LDN 6 1 21 4_8W CALL 7 ZGETWORD [GET 1ST WORD OF PERI CONTROL AREA 21 4_NG BRN XERR3 [USER ERROR IF OUT OF RESERVATIONS 21 5286 LDX 4 0(3) [TYPE/MODE WORD OF PERI CONTROL AREA 9 52MQ #SKI K6MONRESUM>699-699 9 537B TRACE 4,PERICA 7 53M2 WORDFIN 16 546L MHUNTW 3,ADATA,CSTORE [FIND DATA BLOCK 8 54L= LDCT 6 #700 20 555W ANDX 6 VENT5(3) [ISOLATE ACC FIELD OF PERI INSTRN 20 55KG BNG 4 UNO1 [J IF ACC SPECD IN PERI CONTAINS 15 5656 [ UNIT NUMBER 17 56JQ SLC 6 3 [SET UNIT NO IN B9-23 8 574B BRN SETTP 7 57J2 UNO1 SLC 6 3 7 583L SMO 6 19 58H= LDX 6 START(3) [GET SPECIFIED ACCUMULATOR 21 59GG SETTP STO 4 VENT4(3) [EVENT4-1ST WD OF PERI CONTROL AREA 20 5=26 STO 6 VENT3(3) [EVENT3-X OR REPLACED X IN PERI 8 5=FQ LDCT 0 #377 20 5=_B ANDX 0 4 [ISOLATE TYPE FROM TYPE/MODE WORD 16 5?5? ... SEGENTRY K90MONRESUM [MEND POINT FOR MANYDA 15 5?98 ... ANDN 6 #77 [ONLY WANT UNIT NO 18 5?F2 ORX 6 0 [SET TYPE IN B0-8 OF X6[ 11 5?YL [ MAKE TYPE 13 LOOK LIKE TYPE 6 7 5#D= LDX 0 6 8 5#XW SRL 0 15 8 5*CG SBN 0 13 9 5*X6 BNZ 0 NOTFDS 8 5BBQ ANDX 6 BSP16 7 5BWB LDCT 0 6 7 5CB2 ORX 6 0 5 5CTL NOTFDS 8 5CYQ ... ADN 0 13-6 15 5D3W ... BZE 0 TYPE6 [FOR MANYDA SPECIAL 10 5D72 ... ANDX 6 XMDAMSK(1) 5 5D=6 ...TYPE6 8 5D*= FPCACA 3,2 11 5DSW HUNT2 3,APERI,APERIRES 20 5F#G FPERENTA 3,6,NOENT [IF PRL ALLOCATED,X3-> ENTRY ELSE 19 5FS6 [ IF UNALLOCATED J TO NOENT 8 5G?Q LDX 0 1(3) 20 5GRB BNG 0 OFFLN [J IF PERIPHERAL MARKED OFF-LINE 5 5H?2 NOENT 8 5HQL N157 LDN 0 #20 18 5J== ORS 0 AWORK1(2) [SET 'PCA TO BE FPUT' BIT 5 5JPW OFFLN 7 5JX4 ...#SKI JWPHASE4 12 5K4= ... HLSINFORM XBRK,RESUME,JOBNO(2) 21 5K9G VFREE APED,ANEVENT [NOW ALL CHECKS ARE OVER, FREE ANY 17 5KP6 VFREE APED,ADELETE [ PROGRAM EVENT BLOCK 11 5L8Q MHUNTW 3,ADATA,CSTORE 9 5LNB LDX 0 AWORK1(2) 19 5M82 STO 0 WORK1(3) [SAVE AWORK1 ACROSS PCAPLUG 19 5MML PCAPLUG XBRK [PLUG IN O/P,CONTROL -> PCA 8 5N7= FJOPCA 3,2 21 5NLW LDX 4 APROGTIME(3) [RESET PROGRAM TIMER IF IT HAS EXPIRE 8 5P6G BNG 4 RMORE 8 5PL6 BNZ 4 RNMOR 11 5Q5Q LDX 4 APROGTIME+1(3) 8 5QKB BNZ 4 RNMOR 9 5R52 RMORE LDX 4 IPROGTIME 9 5RJL MPY 4 XTHOU(1) 10 5S4= STO 4 APROGTIME(3) 11 5SHW STO 5 APROGTIME+1(3) 8 5T3G RNMOR FCAPCA 3,2 11 5TH6 HUNT2 3,ADATA,CSTORE 19 5W2Q CHAIN 3,2 [RECHAIN DATA BLOCK AFTER PCA 9 5WGB LDX 0 WORK1(3) 18 5X22 STO 0 AWORK1(2) [RESTORE OUR OLD AWORK1 9 5XFL #SKI K6MONRESUM>699-699 10 5X_= TRACE VENT5(3),EV5 21 5YDW MELPTR 2 [GET PNTR TO CURRENT MEMBER ELEMENT 17 5YYG STO 2 VENT1(3) [REMEMBER FOR EVENT1 8 5_D6 LDX 2 FX2 9 5_XQ LDX 0 AWORK1(2) 7 62CB ANDN 0 1 7 62X2 ORN 0 2 20 63BL SRC 0 2 [SET B0:'MONRESUME TAKING PLACE' 20 63W= ORS 0 AMON(2) [ & IF PARAM WAS STOP,B1 OF AMON 9 64*W LDX 0 AWORK1(2) 8 64TG ANDN 0 #20 21 65*6 BNZ 0 OPCA [J IF PCA IS TO DEALWITH THE EVENT 5 65SQ #SKI G4 4 66#B ( 4 66S2 # 21 67?L # IN G4 WE MUST ALSO SET EVENT5 TO THE ABSOLUTE ADDRESS OF THE CONTROL 21 67R= # AREA, AND IF THE 1ST 4 WORDS 6F THIS CROSS A PAGE BOUNDARY, EVENT6 IS 18 68=W # SET TO THE ABSOLUTE ADDRESS OF THE START OF THE NEW PAGE 4 68QG # 21 69=6 LDN 7 4 [CHECKA CONTROL AREA PAGES INTO CORE 14 69PQ CHECKA VENT2(3),7,(GEOERR),,W,XCOOR 11 6=9B XCOOR MHUNTW 3,ADATA,CSTORE 9 6=P2 LDX 4 VENT2(3) 21 6?8L CALL 7 ZADDRESS [X4:= ABSOLUTE ADDR OF 1ST WD OF C/A 18 6?N= STO 4 VENT5(3) [REMEMBER THIS FOR EVENT5 21 6#7W STOZ VENT6(3) [EVENT6 ZERO UNLESS C/A CROSSES BNDY 18 6#MG LDX 4 VENT2(3) [START O6 CONTROL AREA 7 6*76 ADN 4 3 7 6*LQ LDX 0 4 8 6B6B ANDN 0 #1777 21 6BL2 BXGE 0 JTHREE,XCLEAR [J IF 1ST 4 C/A WDS DONT CROSS BNDY 21 6C5L ERX 4 0 [X4:= O/P ADDR OF 1ST WD IN NEW PAGE 21 6D4W CALL 7 ZADDRESS [X4:= ABS ADDR OF 1ST WD IN NEW PAGE 18 6DJG STO 4 VENT6(3) [REMEMBER THIS FOR EVENT6 5 6F46 XCLEAR 21 6FHQ CLEAR FX2,0 [CLEAR LOCKD6WN ENTRIES FOR C/A PAGES 4 6G3B ) 11 6GH2 MHUNTW 1,APERI,APERIRES 9 6H2L FPERENTA 1,6,XMISS 8 6HG= SMO 1(1) 18 6H_W LDN 5 EVENT1-CHAINADD [ADDR OF EVENT1 OF AOLPT 9 6JFG LDN 4 VENT1(3) 19 6J_6 MOVE 4 VENTSZ [MOVE IN EVENT WORDS TO AOLPT 16 6KDQ FREECORE 3 [FREE DATA BLOCK 16 6KYB LINKSET 2,XLINK(1) [SET LINK IN PCA 9 6LD2 #SKI K6MONRESUM>699-699 11 6LXL TRACE ATYPE(2),AOLPT 7 6MC= LDX 2 5 9 6MWW SBN 2 EVENT1 17 6NBG FPUT [PUT AOLPT ON LIST 15 6NW6 COOR1X [GO TO SLEEP 9 6P*Q OPCA LDN 5 EVENT1(2) 9 6PTB LDN 4 VENT1(3) 21 6Q*2 MOVE 4 6 [MOVE 6 EVENT WORDS TO PCA EVENT AREA 16 6QSL FREECORE 3 [FREE DATA BLOCK 9 6R#= #SKI K6MONRESUM>699-699 10 6RRW TRACE ATYPE(2),PCA 19 6S?G ACROSS OPCA,1 [GENERATE PSEUDO O/P EVENT 4 6SR6 # 13 6T=Q # ERROR EXITS 8 6TQB XERR1 LDN 1 ZERR1 8 6W=2 BRN XMESS 5 6W*X ...XERR1A 9 6WFS ... LDN 1 ZERR1A 8 6WKP ... BRN XMESS 7 6WPL XERR3 WORDFIN 5 6X9= XERR3A 8 6XNW LDN 1 ZERR3 8 6Y8G XMESS SMO FX1 8 6YN6 LDX 4 0(1) 7 6_7Q COMERRX 4 19 6_MB XBRK COMBRKIN [BROKEN IN BEFORE MONRESUME 19 7272 XMISS GEOERR 1,MONRESU1 [ENTRY IN PERIRES NOT FOUND 21 72LL XGEO GEOERR 1,MONRESU2 [NO CORE IMAGE OR WD 8 OUT OF RESERVN 4 736= # 13 73KW # SUBROUTINES 4 745G # 18 74K6 ZGETWORD [JUST THE GETWORD MACRO 8 754Q SBX 7 FX1 10 75JB GETWORD 5,3,READ,4,6 8 7642 ADX 7 FX1 20 76HL TESTREPNOT OK,XGET1 [REPLY WILL BE RESVIOL IF NOT OK 7 773= EXIT 7 1 7 77GW XGET1 EXIT 7 0 4 782G # 21 78G6 OPERAND [X5:=OPERAND OF INSTRN IN X5(IF NEC. MODIFIED).ON ENTRY 21 78_Q [X2=FX2,AWORK4=PREMODIFICATION.ON EXIT X0,X3,GEN6 DESTRD, 10 79FB [AND AWORK4=0 7 79_2 LDX 0 5 8 7=DL SRL 0 12 7 7=Y= ANDN 0 3 8 7?CW ANDN 5 #7777 18 7?XG BZE 0 OPER1 [J IF INSTR NOT MODIFIED 8 7#C6 STO 0 GEN6 11 7#WQ MHUNTW 3,ADATA,CSTORE 8 7*BB SMO GEN6 21 7*W2 ADX 5 START(3) [ OTHERWISE ADD IN CNTS OF MODIF. AC. 18 7B*L OPER1 ADX 5 AWORK4(2) [ADD IN PREMODIFICATION 9 7BT= STOZ AWORK4(2) 9 7C#W LDX 0 AWORK1(2) 8 7CSG ANDN 0 #10 15 7D#6 BZE 0 OPER2 [J IF 15AM 17 7DRQ LDX 0 BITS22LS [#17777777 FOR 22AM 17 7F?B OPER2 ORX 0 BSP16 [#00077777 FOR 15AM 21 7FR2 ANDX 5 0 [TAKE ADDR MODULO 15/22 BITS(15/22AM) 7 7G=L EXIT 7 0 4 7GQ= # 19 7H9W ZOBEY [ENTER WITH X6=OBEY INSTR;AWORK4=PREMODIFICATION 21 7HPG [EXIT WITH X6=INSTR ENDING OBEY CHAIN,X1=FX1,X2=FX2,ALL 19 7J96 [OTHER ACCS & AWORK2 & AWORK3 DESTROYED,AWORK4=0. 8 7JNQ LDX 2 FX2 8 7K8B SBX 7 FX1 15 7KN2 STO 7 AWORK2(2) [DUMP LINK 21 7L7L LDN 0 32 [SET UPPER BOUND ON COUNT OF OBEYS 9 7LM= OB2 STO 0 AWORK3(2) 7 7M6W LDX 5 6 20 7MLG CALL 7 OPERAND [OPERAND OF CURRENT OBEY TO X5 7 7N66 LDN 6 1 9 7NKQ CALL 7 ZGETWORD 21 7P5B BRN XERR3 [USER ERROR IF OUT OF RESERVATIONS 20 7PK2 LDX 6 0(3) [WORD REFERENCED BY CURRENT OBEY 7 7Q4L LDX 0 6 9 7QJ= ANDX 0 XFMSK(1) 18 7R3W BXU 0 OBEY(1),OB1 [EXIT IF WORD NOT AN OBEY 9 7RHG LDX 0 AWORK3(2) 8 7S36 BCT 0 OB2 20 7SGQ BRN XERR3 [ERROR IF OBEY CHAIN > 32 DEEP 9 7T2B OB1 LDX 7 AWORK2(2) 8 7TG2 ADX 7 FX1 7 7T_L EXIT 7 0 4 7WF= # 5 7WYW #SKI G4 4 7XDG ( 20 7XY6 ZADDRESS [JUST THE FADDRESS MACRO. ON ENTRY X4=O/P ADDRESS AND 20 7YCQ [HLOCK1(2)-> CORRESPONDING HLOCK ENTRY$ ON EXIT X4= 21 7YXB [CORRESPONDING GEORGE ADDRESS ,X0 DESTROYED,OTHERS UNCHGD 10 7_C2 [LINK IS X7 11 7_WL FADDRESS FX2,4,HLOCK1,2 7 82B= EXIT 7 0 4 82TW ) 4 83*G # 8 83T6 MENDAREA 25 4 84#Q #END 8 ____ ...36030123000700000000