OPILLS70

(George Source)

Macros used: ACROSS, CAPCA, CHANGEACT, CHECKBX, DOWN, FCAPCA, FINDTP, FLIPS, FPCACA, FREECORE, GETWORDX, HUNT2, HUNT2OPT, MACCS, MENDAREA, ONR, PMODES, RINGTP, RUNPROG, SEGENTRY, SETNCORE, STEPBAC, TESTPUC, TESTREP2, TRACE, VETC, VFREE, VFREEW, WORDFIN

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