7 22FL #LIS K0OPILLS 17 22_= #SEG OPILLS70 [R.H.THOMPSON 7/OPAW 21 23DW # THIS SEGMENT IS ENTERED BY THE ILLEGAL MACRO WHEN AN OBJ.PROG ILLE 8 23YG # IS DISCOVERED. 21 24D6 # THIS SEGMENT EXAMINES THE CORE IMAGE & STORES DIHGNOSTIC INFORMATI 19 24XQ # ABOUT THE ILLEGAL INSTRUCTION IN AN APED,ANOMESS BLOCK. 20 25CB # THE SEGMENT OPILLSA IS THEN ENTRED TO PRINT THIS & TO GENERATE 9 25X2 # A PROGRAM EVENT. 7 26BL 8HOPILLS6 11 26W= SEGENTRY K2OPILLS,XENT2 11 27*W SEGENTRY K8OPILLS,XENT8 5 27TG #SKI G4 11 28*6 SEGENTRY K9OPILLS,XENT9 8 28SQ #DEF VOWNMON=A1+6 7 29#B #DEF VSPROG=A1 8 29S2 #DEF VMCOND=A1+1 8 2=?L #DEF VSCOND=A1+2 8 2=R= #DEF VSTATE=A1+3 8 2?=W #DEF VFADDR=A1+4 7 2?QG #DEF VMASK=A1+5 7 2#=6 #DEF VMEMS=A1+6 8 2#PQ #DEF VSMOAD=VMEMS+4 8 2*9B #DEF VLINK=VSMOAD+1 8 2*P2 #DEF VACC=VLINK+1 8 2B8L #DEF VSMO=VACC+8 8 2BN= #DEF VINSTR=VSMO+4 9 2C7W #DEF VCAREA=VINSTR+3 9 2CMG #DEF VLENGTH=VCAREA+12 7 2CSN ...#UNS ADUALDME 10 2C_W ...XJYPROCFAIL +JYPROCFAIL 20 2D76 XJYTIMEUP +JYTIMEUP [SPECIAL ILLEGAL CATEGORY-IF ONE 21 2DLQ XJYPERFAIL +JYPERFAIL [OF THESE IS REPORTED WORD8 IS LEFT 10 2F6B XJYUNALLOC +JYUNALLOC 9 2FL2 XJYFILE +JYFILE 9 2G5L XJYOUTPUT +JYOUTPUT 10 2GK= XJYPERFAIL1 +JYPERFAIL1 10 2H4W XJYPARFAIL +JYPARFAIL 10 2HJG XJYOUTFULL +JYOUTFULL 9 2J46 XJYSTREAM +JYSTREAM 9 2JHQ XJYILLINS +JYILLINS 9 2K3B XJYRESVIOL +JYRESVIOL 9 2KH2 XJYNOCA +JYNOCA 21 2L2L XMINTIME +0 [MIN TIME GIVEN AFTER MONITOR ON ILLE 8 2LG= +1000 21 2L_W QCHOBEY +CHOBEYP+GNOMESS [IN GEORGE 4 MARK 6 WE MUST INHIBIT 21 2MFG QCHREAD +GREAD+GNOMESS [THE CREATION OF AN ADATA/ERREPLY BLK 10 2M_6 ...QCHWRITE +CHWRITE+GNOMESS 15 2NDQ QM1 #77777 [15 BIT MASK 16 2NYB QM2 #17777777 [22 BIT ADDR MASK 19 2PD2 QM3 #67777777 [MASK FOR CLEARING SMO BIT 9 2PXL QM4 #60000000 19 2QC= QM5 #17777 [RELATIVE PART OF JUMP ADDR 16 2QWW QM6 #37777 [ADDR OF REPLACER 15 2RBG QOBEY #023 [OBEY FN BITS 4 2RW6 # 14 2S*Q # SUBROUTINES 14 2STB # ----------- 4 2T*2 # 20 2TSL # THESE SUBROUTINES DO ALL THE RESERVATION CHECKING AND OBTAIN 16 2W#= # ACCESS TO LOCATIONS REQUIRED USING GETWORDX 4 2WRW # 17 2X?G # ON ENTRY X5=O/P ADDRESS OF START OF AREA REQUIRED 14 2XR6 # X1=CONTAINS THE PERMISSION 4 2Y=Q # 16 2YQB # ON EXIT X3=GEORGE ADDRESS OF START OF AREA 12 2_=2 # X2=-> TO APED/ANOMESS 4 2_PL PGET 8 329= SBX 7 FX1 8 32NW GETWORDX 5,3,1 5 338G PGET1 10 33N6 TESTREP2 RESVIOL,PNOK 7 347Q ADN 7 1 7 34MB PNOK ADX 7 1 11 3572 HUNT2 2,APED,ANOMESS 7 35LL EXIT 7 0 4 366= # 13 36KW # ON ENTRY X6=NO.OF WORDS REQUESTED 4 375G # 12 37K6 # ON EXIT X5=NO.OF WORDS GIVEN 5 384Q PGETM 8 38JB SBX 7 FX1 9 3942 GETWORDX 5,3,1,5,6 8 39HL BRN PGET1 5 3=3= #SKI G4 4 3=GW ( 11 3?2G # PAGE DEFAULT ENTRY POINT 5 3?G6 XENT9 20 3?_Q LDCT 6 #600 [SET MARK TO INICATE THIS ENTRY 8 3#FB #SKI K6OPILLS>99-99 10 3#_2 TRACE 5,K9OPILLS 7 3*DL LDX 4 5 8 3*Y= BRN ZL1 4 3BCW ) 11 3BXG # ENTRY FROM ILLEGAL MACRO 5 3CC6 XENT8 7 3CWQ LDN 6 0 11 3DBB #SKIP K6OPILLS>99-99 10 3DW2 TRACE 5,ILLENTRY 9 3F*L LDCH 4 ATYPE(2) 9 3FT= SBN 4 APET/64 15 3G#W BZE 4 XAPET [J IF APET 7 3GSG LDX 4 5 10 3H#6 TXU 4 XJYPERFAIL(1) 8 3HRQ BCS XCPAT 16 3J?B ORX 4 GSIGN [DON'T STEPBACK 8 3JR2 BRN XCPAT 5 3K=L XAPET 7 3KQ= LDX 4 5 10 3L9W TXU 4 XJYTIMEUP(1) 8 3LPG BCC ZL1B 10 3M96 TXU 4 XJYPERFAIL(1) 8 3MNQ BCC ZL1B 10 3N8B TXU 4 XJYPARFAIL(1) 7 3N=_ ...#UNS ADUALDME 4 3N*J ...( 8 3ND7 ... BCC ZL1B 11 3NGQ ... TXU 4 XJYPROCFAIL(1) 4 3NK* ...) 8 3NN2 BCS ZL1 4 3P7L ZL1B 6 3PM= #SKI ARCTP 4 3Q6W ( 9 3QLG TESTPUC FX2,XPUC 8 3R66 BRN XNPUC 8 3RKQ XPUC RINGTP FX2 8 3S5B FINDTP ,3 8 3SK2 CHANGEACT 3 5 3T4L XNPUC 4 3TJ= ) 20 3W3W LDCT 6 #400 [MARK TO INDICATE DONT STEPBAC 5 3WHG #SKIP G3 7 3X36 ZL1 ORX 4 6 5 3XGQ #SKIP G4 4 3Y2B ( 4 3YG2 ZL1F 8 3Y_L BRN ZL1H 9 3_F= ZL1 TESTPUC FX2,PUC 15 3_YW BRN ZL1H [J UNLESS PUC 21 42DG PUC FCAPCA 3,FX2 [FREE ANY ADATA,ERREPLY BLOCK SETUP 11 42Y6 HUNT2OPT 3,ADATA,ERREPLY 8 43CQ BNG 3 PUC1 7 43XB FREECORE 3 18 44C2 PUC1 MACCS ,2,3 [ADDRESS OF PUCS WORD 0 21 44WL BNZ 6 PUC2 [UNLESS ENTRY WAS AT K9OPILLS STEPBAC 16 45B= STEPBAC 3 [THE PUCS ONR. 7 45TW PUC2 PMODES 5 7 46*G SRC 5 8 8 46T6 LDX 0 GMSK1 8 47#Q ANDS 0 9(3) 18 47SB ORS 5 9(3) [STORE IN WORD 9 OF PUC 8 48#2 FINDTP 2,3 17 48RL MACCS ,3,3 [FIND TP WORD ZERO 8 49?= LDCT 1 #500 20 49QW ORS 1 31(3) [& SET IT TO INDICATE AN ILLEGAL 8 4==G RINGTP FX2 8 4=Q6 FINDTP ,3 8 4?9Q CHANGEACT 3 7 4?PB RUNPROG 7 4#92 ZL1H ORX 4 6 4 4#NL ) 8 4*8= LDCT 3 #100 9 4*MW ANDX 3 CLONG1(2) 17 4B7G BZE 3 NASET [J IF NO ASET BLOCK 9 4BM6 ERS 3 CLONG1(2) 9 4C6Q CAPCA GMON,ASET 9 4CLB ORS 3 CLONG1(2) 8 4D62 BRN XCPAT 5 4DKL NASET 6 4F5= CAPCA 5 4FJW XCPAT 19 4G4G # SET UP APED,ANOMESS BLOCK & INITIALISE VARIOUS LOCATIONS 13 4GJ6 SETNCORE VLENGTH,2,APED,ANOMESS 9 4H3Q STO 3 VSPROG(2) 9 4HHB LDN 0 APEDFAIL 9 4J32 STO 0 VMCOND(2) 19 4JGL STO 4 VSCOND(2) [STORE CATEGORY OF ILLEGAL 20 4K2= # SET UP STATE WORD & MASK FOR CALCULATING OBJ.PROG ADDRESSES 8 4KFW FPCACA 3,FX2 8 4K_G PMODES 7,3 9 4LF6 STO 7 VSTATE(2) 7 4LYQ ANDN 7 8 17 4MDB LDX 6 QM1(1) [15 BIT ADDRESS MASK 15 4MY2 BZE 7 ZEBM [J IF 15 A.M. 17 4NCL LDX 6 QM2(1) [22 BIT ADDRESS MASK 4 4NX= ZEBM 9 4PBW STO 6 VMASK(2) 15 4PWG LDX 6 ANM(3) [MEMBER NO. 7 4QB6 ANDN 6 3 9 4QTQ STO 6 VSPROG(2) 19 4R*B LDCT 7 #400 [INITIALISE VARIOUS LOCATIONS 9 4RT2 STO 7 VSMO(2) 9 4S#L STO 7 VINSTR(2) 9 4SS= STO 7 VCAREA(2) 20 4T?W LDN 6 128 [TAKE MINIMUM OF 128 AND ALIMIT 9 4TRG TXL 6 ALIMIT(3) 8 4W?6 BCS ZL8B 9 4WQQ LDX 6 ALIMIT(3) 16 4X=B ZL8B LDN 5 0 [START ADDRESS 16 4XQ2 LDX 1 QCHWRITE(1) [TYPE OF ACCESS 8 4Y9L CALL 7 PGETM 10 4YP= BRN (BITS22LS) 19 4_8W VETC 3 [GET STATE OF V,SMO,ZSM BITS 9 4_NG ORS 0 VSTATE(2) 16 5286 BNG 4 ZL8A [J IF NO STEPBAC 7 52MQ STEPBAC 3 8 537B BRN ZL8 7 53M2 ZL8A SLC 4 1 17 546L BNG 4 ZL8 [J IF NOT K9 ENTRY 9 54L= LDX 0 QM3(1) 16 555W ANDS 0 VSTATE(2) [CLEAR SMO BIT 4 55KG ZL8 9 5656 LDN 4 VACC(2) 17 56JQ MOVE 3 8 [MOVE IN ACCUMULATORS 7 574B LDX 7 3 8 57J2 FPCACA 3,FX2 10 583L # FIND ONR OF MEMBERS 7 58H= LDN 6 4 8 592W ADN 3 K61*4 4 59GG ZYX1 7 5=26 SBN 6 1 8 5=FQ SBN 3 K61 8 5=_B LDCT 5 #400 9 5?F2 LDX 0 ASU1(3) 17 5?YL BNG 0 ZYX2 [J IF NON EXISTENT 9 5#D= TXU 6 VSPROG(2) 17 5#XW BCC ZYX4 [J IF CURRENT MEMBER 7 5*CG LDX 1 6 7 5*X6 SLL 1 4 8 5BBQ ADN 1 32 7 5BWB ADX 1 7 17 5CB2 ONR 1,5 [GET ONR OF MEMBER 8 5CTL LDX 1 FX1 4 5D*= ZYX2 7 5DSW SMO 6 9 5F#G STO 5 VMEMS(2) 8 5FS6 BNZ 6 ZYX1 8 5G?Q BRN ZON 4 5GRB ZYX4 19 5H?2 ONR 7,5 [GET ONR OF CURRENT MEMBER 9 5HQL STO 5 VFADDR(2) 8 5J== BRN ZYX2 9 5JPW ZON LDX 5 VFADDR(2) 9 5K9G LDX 0 VSTATE(2) 7 5KP6 SLC 0 3 7 5L8Q ANDN 0 1 9 5LNB ADS 0 VFADDR(2) 9 5M82 STOZ VSMOAD(2) 15 5MML BZE 0 ZL3 [J IF NO SMO 8 5N7= CALL 7 XOBEY 9 5NLW STO 5 VSMO(2) 9 5P6G STO 4 VSMO+1(2) 18 5PL6 SBN 3 #117 [JUMP IF SMO NOT FOUND 8 5Q5Q BNZ 3 ZL7 9 5QKB CALL 7 MODADDR1 9 5R52 STO 5 VSMO+2(2) 19 5RJL LDX 1 QCHREAD(1) [CHECK'READ'ACCESS FOR 1 WORD 8 5S4= CALL 7 PGET 8 5SHW BRN ZL7A 17 5T3G LDX 4 0(3) [PICK UP PREMODIFIER 11 5TH6 ANDX 4 VMASK(2) 16 5W2Q STO 4 VSMOAD(2) [SET PREMOD REG 9 5WGB STO 4 VSMO+3(2) 14 5X22 # FIND THE INSTR & ITS EFFECTIVE ADDR. 4 5XFL ZL3 9 5X_= ZL3A LDX 5 VFADDR(2) 8 5YDW CALL 7 XOBEY 9 5YYG STO 5 VINSTR(2) 20 5_D6 STO 4 VINSTR+1(2) [CALCULATION OF ADDR DEPENDS ON 11 5_XQ #SKIP K6OPILLS>99-99 9 62CB TRACE 5,ILLADDR 11 62X2 #SKIP K6OPILLS>99-99 10 63BL TRACE 4,ILLINSTR 21 63W= ANDN 3 #176 [WHETHER IT IS A BRANCH INSTRUCTION 14 64*W SBN 3 #050 [OR NOT 8 64TG BNG 3 ZL4 8 65*6 SBN 3 #030 8 65SQ BPZ 3 ZL4 7 66#B ADN 3 6 17 66S2 BNZ 3 ZL4A [JUMP UNLESS'EXIT'. 9 67?L LDX 5 VSMOAD(2) 9 67R= LDX 7 VMASK(2) 9 68=W LDX 0 VSTATE(2) 8 68QG ANDN 0 #50 8 69=6 SBN 0 #40 18 69PQ BNZ 0 ZL4B [JUMP UNLESS EBM & 15 AM 9 6=9B LDX 7 QM2(1) 20 6=P2 STO 7 VMASK(2) [FRIG TO AVOID MENDING ILLEXIT 7 6?8L SLL 5 9 8 6?N= BPZ 5 ZL4C 19 6#7W ORN 5 #177 [PROPAGATE B9 AS FAR AS B2 7 6#MG ZL4C SRC 5 9 10 6*76 ZL4B LDX 0 VINSTR+1(2) 9 6*LQ ANDX 0 QM1(1) 7 6B6B ADX 5 0 7 6BL2 ANDX 5 7 8 6C5L BRN ZL5 4 6CK= ZL4A 9 6D4W CALL 7 MODADDR3 8 6DJG BRN ZL5 4 6F46 ZL4 9 6FHQ CALL 7 MODADDR2 10 6G3B ZL5 STO 5 VINSTR+2(2) 21 6GH2 # THIS SECTION CHECKS TO SEE WHAT IS WRONG.WITH THE INSTR.FIRST WE C 21 6H2L # TO SEE WHETHER THE FUNCTION BITS ARE LEGAL & THEN WHETHER RESERVAT 20 6HG= # ARE VIOLATED-THIS MAY INVOLVE SWITCHING TO ANOTHER SEGMENT. 21 6H_W # AT THIS POINT X4 HOLDS INSTR & X5 )THE N(M) ADDR.X2->ILLEGAL BLOCK 18 6JFG LDX 6 4 [EXTRACT FN BITS OF FN 8 6J_6 SLC 6 10 8 6KDQ ANDN 6 #177 21 6KYB SBN 6 #160 [IF >PERI MAKE THEM LOOK LIKE'LDN' 8 6LD2 BNG 6 ZM1 8 6LXL NGN 6 #60 20 6MC= ZM1 ADN 6 #72 [IF999-999 9 6QSL TRACE 6,FNTYPE 8 6R#= LDX 1 FX1 18 6RRW LDX 0 6 [MASK OUT TYPE OF FN BITS 7 6S?G ANDN 0 7 21 6SR6 SMO 0 [SWITCH TO DECIDE WHWTHER FN IS LEGAL 8 6T=Q CALL 7 XFN 16 6TQB BRN XILLINS [JUMP IF ILLEGAL 20 6W=2 SRL 6 3 [MASK OUT TYPE OF 'CONTROL AREA' 16 6WPL LDX 0 6 [MULTIPLY BY 3 14 6X9= BZE 0 ZENDA [LDN ETC 7 6XNW SBN 0 1 18 6Y8G BZE 0 ZENDC [BRN,SMO,CALL AND OTHERS 7 6YN6 SBN 0 5 17 6_7Q BNG 0 ZEXC [MOVE,MVCH,SUM,EXIT 16 6_MB BZE 0 ZENDD [FLOATING POINT 13 7272 LDN 6 4 [PERI 10 72LL LDX 0 QCHREAD(1) 10 736= ADX 0 QCHWRITE(1) 7 73KW STO 0 1 8 745G CALL 7 PGETM 8 74K6 BRN XNOCA 18 754Q LDX 6 0(3) [1ST WORD OF CONTROL AREA 9 75JB ACROSS ILLPERI,1 9 7642 ZEXC ACROSS ILLEXC,1 7 76HL ZENDD NGNC 0 1 7 773= ZENDC LDN 6 1 8 77GW FPCACA 3,FX2 11 782G CHECKBX 5,6,XRESVIOL,3 8 78G6 BRN ZENDA 4 78_Q # 13 79FB # CONTROL AREA OUT OF RESERVATIONS 4 79_2 # 5 7=DL XNOCA 10 7=Y= LDX 6 XJYNOCA(1) 8 7?CW BRN ZEND 21 7?XG # TABLE OF TYPE OF INSTRUCTION:ONE CHAR PER FN FROM'BCT'TO'PERI'INC 5 7#C6 XFNTYPE 17 7#WQ #11111010 [BCT,BCT,CALL,CALL 18 7*BB #20201010 [EXIT,EXIT,BEN AND OTHERS 16 7*W2 #15150000 [076,077,LDN ADN 17 7B*L #00000000 [NGN,SBN,LDNC,ADNC 17 7BT= #00000000 [NGNC,SBNC,SLC ETC 15 7C#W #00000202 [SRC ETC,NORM 17 7CSG #51160000 [MVCH,SMO,ANDN,ORN 17 7D#6 #00000000 [ERN,NULL,LDCT,MODE 17 7DRQ #40306363 [MOVE,SUM,FLOAT,FIX 17 7F?B #64646464 [FAD,FSB,FMPY,FDVD 16 7FR2 #64640000 [LFP,SFP,140,141 14 7G=L #00000000 [142-145 17 7GQ= #00000000 [146;147,SUSBY,REL 17 7H9W #00000000 [DIS,ISBY,CONT,SUSDP 16 7HPG #00700000 [ALLOT,PERI,-,- 11 7J96 # TABLE OF TYPE OF FN BITS 8 7JNQ XFN BRN XFN0 8 7K8B BRN XFN1 8 7KN2 BRN XFN2 8 7L7L BRN XFN3 8 7LM= BRN XFN4 8 7M6W BRN XFN5 13 7MLG BRN XFN6 [SMO 21 7N66 # THESE SUBRS DETERMINE WHETHER VARIOUS LEVELS OF INSTRUCTIONS ARE 16 7NKQ # AVAILABLE THEY EXIT 7 1 IF SO & +0 OTHERWISE 19 7P5B # CHECK WHETHER LEVELS B OR C ARE AVAILABLE (BCT,SMO,MVCH) 4 7PK2 XFN1 4 7Q4L XFN0 13 7QJ= ZFN EXIT 7 1 [YES 20 7R3W # CHECK WHETHER SUBLEVEL 2 & FLOATING PT IS AVAILABLE (114,5) 10 7RHG XFN2 LDX 0 CPEXECINFO 7 7S36 SLC 0 5 8 7SGQ BNG 0 ZFN 15 7T2B # CHECK WHETHER FLOATING POINT IS AVAILABLE 10 7TG2 XFN3 LDX 0 CPEXECINFO 7 7T_L SLL 0 6 8 7WF= BNG 0 ZFN 7 7WYW EXIT 7 0 11 7XDG # GENERALISED FLOATING POINT 21 7XY6 XFN4 LDX 0 4 [JUMP IF X=0 OR 4 I.E.NORMAL FLOATING 7 7YCQ SLC 0 3 7 7YXB ANDN 0 3 8 7_C2 BZE 0 XFN3 10 7_WL LDX 0 CPEXECINFO 7 82B= SLL 0 7 8 82TW BNG 0 ZFN 7 83*G EXIT 7 0 12 83T6 # LEVEL B OR C & FLOATING POINT 8 84#Q XFN5 BRN XFN3 21 84SB XFN6 LDX 0 VSTATE(2) [SMOED SMOS ARE ILLEGAL:SO EXAMINE SM 7 85#2 SLC 0 2 8 85RL BPZ 0 XFN1 7 86?= EXIT 7 0 5 86QW XRESVIOL 21 87=G LDX 6 XJYRESVIOL(1) [MAKE USE OF 2 SPARE WORDS-REPORT RES 8 87Q6 BRN ZEND 5 889Q XENT2 11 88PB HUNT2 2,APED,ANOMESS 5 8992 XILLINS 17 89NL ZENDA LDX 6 XJYILLINS(1) [CONVENTIONAL MESSAGE 9 8=8= ZEND LDX 4 VSCOND(2) 9 8=MW ANDX 4 QM2(1) 8 8?7G BNZ 4 ZEND1 7 8?M6 LDX 4 6 9 8#6Q STO 4 VSCOND(2) 5 8#8N ...ZEND1 7 8#=L ...#UNS G4ILLDIAG 4 8##J ...( 5 8#BG ...#SKI G4 4 8#DD ...( 15 8#GB ... LDX 0 AMAXQUOTA [TURN OFF THE 16 8#J# ... SRC 0 1 [DIAGNOSTIC WHEN 16 8#L= ... BNG 0 NOTRESVIOL2 [MAXQUOTA IS ODD 10 8#N8 ... TXU 4 XJYRESVIOL(1) 10 8#Q6 ... BCS NOTRESVIOL2 9 8#S4 ... DOWN TIMILLS,1 6 8#W2 ...NOTRESVIOL2 4 8#XY ...) 4 8#_W ...) 18 8*3S ... TXU 4 XJYUNALLOC(1) [JUMP IF MESSAGE MUST NOT 16 8*62 BCC ZEND1A [BE OWN MONITORED 10 8*KL TXU 4 XJYOUTFULL(1) 9 8B5= BCC ZEND1A 10 8BJW TXU 4 XJYOUTPUT(1) 9 8C4G BCC ZEND1A 10 8CJ6 TXU 4 XJYFILE(1) 9 8D3Q BCC ZEND1A 10 8DHB TXU 4 XJYSTREAM(1) 9 8F32 BCC ZEND1A 10 8FGL TXU 4 XJYTIMEUP(1) 9 8G2= BCC ZEND1A 10 8GFW TXU 4 XJYPERFAIL(1) 9 8G_G BCC ZEND1A 11 8HF6 TXU 4 XJYPERFAIL1(1) 9 8HYQ BCC ZEND1A 10 8JDB TXU 4 XJYPARFAIL(1) 9 8JY2 BCC ZEND1A 7 8K2K ...#UNS ADUALDME 4 8K58 ...( 11 8K7R ... TXU 4 XJYPROCFAIL(1) 9 8K=B ... BCC ZEND1A 4 8K#_ ...) 8 8KCL FPCACA 3,FX2 10 8KX= HUNT2 2,AOBRES,0,3 10 8LBW LDX 4 VOWNMON(2) 9 8LWG ANDX 4 QM2(1) 18 8MB6 BZE 4 ZEND1A [J IF NOT OWN MONITORING 19 8MTQ [ENTER OWN MONITORING ROUTINE 7 8N*B LDX 5 4 10 8NT2 LDX 1 QCHOBEY(1) 19 8P#L CALL 7 PGET [CHECK OWN MONITORING ADDRESS 18 8PS= BRN ZEND1A [PREVENT OWN MONITORING 7 8Q?W LDN 5 0 16 8QRG LDN 6 15 [ACCESS 15 WORDS 10 8R?6 LDX 1 QCHWRITE(1) 8 8RQQ CALL 7 PGETM 9 8S=B BRN (GEOERR) 18 8SQ2 LDX 0 8(3) [STORE WORD 8 IN WORD 14 8 8T9L STO 0 14(3) 21 8TP= LDCT 0 #377 [STORE B1-8 OF 9 & MEMBER NO IN WRD15 18 8W8W ANDX 0 9(3) [ & CLEAR B1-8 OF 9 8 8WNG ERS 0 9(3) 9 8X86 ORX 0 VSPROG(2) 8 8XMQ STO 0 15(3) 15 8Y7B STO 4 8(3) [RESET ONR 17 8YM2 FREECORE 2 [FREE APED,ANOMESS 13 8_6L VFREE GMON,ASET [FREE 5 8_L= #SKI G4 10 925W VFREEW ADATA,ERREPLY 14 92KG WORDFIN [TIDY UP 19 9356 FLIPS CLONG1(2),2 [NO GMON/ASET BLOCK PRESENT 7 93JQ RUNPROG 5 944B ZEND1A 14 94J2 WORDFIN [TIDY UP 9 953L ACROSS OPILLSA,1 17 95H= # THIS SECTION IS ENTERED WHEN A'SMO' IS NOT FOUND 4 962W ZL7A 8 96GG ZL7 LDCT 0 #200 18 9726 ORS 0 VSMO(2) [SET'SMO'NOT FOUND BIT 9 97FQ LDX 5 VFADDR(2) 8 97_B CALL 7 XOBEY 9 98F2 STO 5 VINSTR(2) 10 98YL STO 4 VINSTR+1(2) 8 99D= LDCT 0 #200 9 99XW ORS 0 VINSTR(2) 8 9=CG BRN ZENDA 14 9=X6 # ************* 14 9?BQ # *SUBROUTINES* 14 9?WB # ************* 4 9#B2 # 21 9#TL # THE FOLLOWING SUBROUTINE GETS THE FAILING INSTRUCTION SEARCHING 12 9**= # DOWN'OBEY'CHAINS IF NECESSARY 4 9*SW # 13 9B#G # ON ENTRY X5=OBJECT PROGRAM ADDRESS 13 9BS6 # X2->APED/ANOMESS BLOCK 4 9C?Q # 17 9CRB # ON EXIT X5=O/P ADDRESS OF LAST'OBEY'IN THE CHAIN 11 9D?2 # X4=THE INSTRCTION 11 9DQL # X3=FUNCTION BITS 10 9F== # X2->APED/ANOMESS 4 9FPW # 4 9G9G # 16 9GP6 # THE ROUTINE WILL ONLY SEARCH TO A DEPTH OF 5 11 9H8Q # THE LINK ACCUMULATOR IS X7 4 9HNB # 7 9J82 XOBEY LDN 6 5 7 9JML SBX 7 1 9 9K7= STO 7 VLINK(2) 8 9KLW BRN ZOB1 4 9L6G ZOB2 10 9LL6 STO 5 VCAREA+1(2) 16 9M5Q CALL 7 MODADDR1 [NEXT IN CHAIN 16 9MKB LDX 1 QCHREAD(1) [READ PERMISSION 16 9N52 CALL 7 PGET [NEXT IN CHAIN 8 9NJL BRN ZOB4 16 9P4= STOZ VSMOAD(2) [CLEAR PREMOD REG 8 9PHW BRN ZOB5 4 9Q3G ZOB1 15 9QH6 LDX 1 QCHREAD(1) [READ ACCESS 15 9R2Q CALL 7 PGET [GET 1 WORD 9 9RGB BRN XRESVIOL 4 9S22 ZOB5 17 9SFL LDX 4 0(3) [INSTRUCTION IN X4 11 9S_= #SKIP K6OPILLS>999-999 9 9TDW TRACE 4,ILLOBEY 14 9TYG LDX 3 4 [FN BITS 8 9WD6 SLC 3 10 8 9WXQ ANDN 3 #177 9 9XCB TXU 3 QOBEY(1) 8 9XX2 BCS ZOB3 17 9YBL BCT 6 ZOB2 [EXIT IF MAX DEPTH 9 9YW= ZOB3 LDX 7 VLINK(2) 7 9_*W ADX 7 1 7 9_TG EXIT 7 0 4 =2*6 ZOB4 10 =2SQ LDX 5 VCAREA+1(2) 8 =3#B LDN 3 #023 8 =3S2 BRN ZOB3 21 =4?L # THE FOLLOWING SUBROUTINES CALCULATE THE EFFECTIVE ADDRESS OF THE 21 =4R= # INSTRUCTION IN X4 & LEAVE IT IN X5.IN THE CASE OF A BRANCH INSTR 21 =5=W # THIS IS THE DESTINATION (UNLESS THERE IS A RES VIOL ON THE REPLACE 18 =5QG # THEY USE XSMO (SET IF PREMOD),VSTATE , VFADDR.& VMASK 5 =6=6 MODADDR1 7 =6PQ LDX 5 4 17 =79B ANDN 5 #7777 [ADDR PART OF INSTR 9 =7P2 ADX 5 VSMOAD(2) 7 =88L LDX 0 4 16 =8N= SRL 0 12 [FIND MODIFIER NO 7 =97W ANDN 0 3 8 =9MG BZE 0 ZAD1 7 ==76 SMO 0 18 ==LQ ADX 5 VACC(2) [ADD CONTENTS OF MODIFIER 14 =?6B ZAD1 ANDX 5 VMASK(2) [TIDY UP 11 =?L2 #SKIP K6OPILLS>999-999 9 =#5L TRACE 5,NMADDR1 7 =#K= EXIT 7 0 10 =*4W # ADDR WITH CHAR BITS 5 =*JG MODADDR2 7 =B46 LDX 5 4 17 =BHQ ANDN 5 #7777 [ADDR PART OF INSTR 9 =C3B ADX 5 VSMOAD(2) 7 =CH2 LDX 0 4 8 =D2L SRL 0 12 7 =DG= ANDN 0 3 16 =D_W BZE 0 ZAD1 [ENTER OTHER SUBR 7 =FFG SMO 0 9 =F_6 ADX 5 VACC(2) 9 =GDQ ANDX 5 VMASK(2) 7 =GYB SMO 0 9 =HD2 LDX 0 VACC(2) 9 =HXL ANDX 0 QM4(1) 7 =JC= ORX 5 0 11 =JWW #SKIP K6OPILLS>999-999 9 =KBG TRACE 5,NMADDR2 7 =KW6 EXIT 7 0 10 =L*Q # BRANCH INSTRUCTIONS 5 =LTB MODADDR3 7 =M*2 SBX 7 1 9 =MSL STO 7 VLINK(2) 7 =N#= LDX 5 4 19 =NRW LDX 0 VSTATE(2) [JUMP IF EXTENDED BRANCH MODE 8 =P?G ANDN 0 32 8 =PR6 BNZ 0 ZAD2 15 =Q=Q ANDX 5 QM1(1) [NORMAL MODE 9 =QQB ZAD2A ADX 5 VSMOAD(2) 9 =R=2 ANDX 5 VMASK(2) 4 =RPL ZAD5 11 =S9= #SKIP K6OPILLS>999-999 9 =SNW TRACE 5,BRADDR1 9 =T8G LDX 7 VLINK(2) 7 =TN6 ADX 7 1 7 =W7Q EXIT 7 0 18 =WMB ZAD2 LDX 0 4 [JUMP IF REPLACED JUMP 7 =X72 SLC 0 9 8 =XLL BNG 0 ZAD3 16 =Y6= SLC 0 1 [RELATIVE JUMP 9 =YKW ANDX 5 QM5(1) 8 =_5G BPZ 0 ZAD4 18 =_K6 NGX 5 5 [NEGATE IF BACKWARD JUMP 9 ?24Q ZAD4 ADX 5 VFADDR(2) 8 ?2JB BRN ZAD2A 9 ?342 ZAD3 ANDX 5 QM6(1) 10 ?3HL LDX 1 QCHREAD(1) 8 ?43= CALL 7 PGET 8 ?4GW BRN ZAD5 8 ?52G LDX 5 0(3) 8 ?5G6 BRN ZAD2A 10 ?5_Q MENDAREA 20,K100OPILLS 4 ?6FB #END 8 ____ ...60632473000800000000