Annotation of cci/d/fpevent/test_0_ops.lst, revision 1.1

1.1     ! root        1:    1  00000000                                  
        !             2:    2  00000000                                  /*     privileged registers constants (addresses)                      */
        !             3:    3  00000000                                  
        !             4:    4  00000000                                  
        !             5:    5  00000000                                  
        !             6:    6  00000000                                         .set    SBR,0                   /*system base register          */
        !             7:    7  00000000                                         .set    SLR,1                   /*system length reg             */
        !             8:    8  00000000                                         .set    P0BR,2                  /*p0 base reg                   */
        !             9:    9  00000000                                         .set    P0LR,3                  /*p0 length reg                 */
        !            10:   10  00000000                                         .set    P1BR,4                  /*p1 base reg                   */
        !            11:   11  00000000                                         .set    P1LR,5                  /*p1 length reg                 */
        !            12:   12  00000000                                         .set    P2BR,6                  /*p2 base reg                   */
        !            13:   13  00000000                                         .set    P2LR,7                  /*p2 length reg                 */
        !            14:   14  00000000                                         .set    IPL,8                   /*int priority level reg        */
        !            15:   15  00000000                                         .set    MME,9                   /*memory mgmt enable reg        */
        !            16:   16  00000000                                         .set    TBIA,10                 /*trans buf invalidate all      */
        !            17:   17  00000000                                                                         /*entries                       */
        !            18:   18  00000000                                         .set    TBIS,11                 /*trans buf invalidate single   */
        !            19:   19  00000000                                                                         /*entry                         */
        !            20:   20  00000000                                         .set    DCK,12                  /*data cache key                */
        !            21:   21  00000000                                         .set    CCK,13                  /*code cache key                */
        !            22:   22  00000000                                         .set    PCBB,14                 /*process control block base    */
        !            23:   23  00000000                                         .set    ISP,15                  /*interrupt stack pointer       */
        !            24:   24  00000000                                         .set    SIRR,16                 /*software int request reg      */
        !            25:   25  00000000                                         .set    SISR,17                 /*software int summary reg      */
        !            26:   26  00000000                                         .set    SCBB,18                 /*system control block base reg */
        !            27:   27  00000000                                         .set    KSP,19                  /*kernel stack pointer reg      */
        !            28:   28  00000000                                         .set    USP,20                  /*user stack pointer            */
        !            29:   29  00000000                                         .set    DCB,21                  /*CPU2 DCB                      */
        !            30:   30  00000000                                         .set    PACC,23                 /*purge (invalidate) all pages  */
        !            31:   31  00000000                                                                         /*of process in code cache      */
        !            32:   32  00000000                                         .set    P1DC,24                 /*purge one page of data cache  */
        !            33:   33  00000000                                         .set    PADC,25                 /*purge all the pages of        */
        !            34:   34  00000000                                                                         /*process in data cache         */
        !            35:   35  00000000                                         .set    HISR,26                 /* Hardware interrupt summary reg  */
        !            36:   36  00000000                                         .set    DCR,27                  /* Diagnostic control register  */
        !            37:   37  00000000                                         .set    PDCS,28                 /* Purge 1 data cache slot      */
        !            38:   38  00000000                                         
        !            39:   39  00000000                                  #
        !            40:   40  00000000                                   #TAHOE program status longword
        !            41:   41  00000000                                  #
        !            42:   42  00000000                                  
        !            43:   43  00000000                                         .set    PSL_C,0x00000001        /* carry bit                     */
        !            44:   44  00000000                                         .set    PSL_V,0x00000002        /* overflow bit                  */
        !            45:   45  00000000                                         .set    PSL_Z,0x00000004        /* zero bit                      */
        !            46:   46  00000000                                         .set    Z,0x00000004
        !            47:   47  00000000                                         .set    PSL_N,0x00000008        /* negative bit                  */
        !            48:   48  00000000                                         .set    PSL_T,0x00000010        /* trace enable bit              */
        !            49:   49  00000000                                         .set    PSL_I,0x00000020        /* integer overflow enable bit   */
        !            50:   50  00000000                                         .set    PSL_EN_OVFL,0x20        /* integer overflow enable bit   */
        !            51:   51  00000000                                         .set    PSL_EN_UNDFL,0x40       /* floating underflow enable     */
        !            52:   52  00000000                                         .set    PSL_DBL,0x80            /* dbl precision Accumulator bit */
        !            53:   53  00000000                                         .set    PSL_IPL,0x001f0000      /* interrupt priority level      */
        !            54:   54  00000000                                         .set    PSL_MOD,0x01000000      /* mode = 1 means user           */
        !            55:   55  00000000                                         .set    PSL_IS,0x04000000       /* interrupt stack               */
        !            56:   56  00000000                                         .set    PSL_TP,0x40000000       /* trace pending                 */
        !            57:   57  00000000                                  
        !            58:   58  00000000                                  #
        !            59:   59  00000000                                   # TAHOE page table entry
        !            60:   60  00000000                                   #/
        !            61:   61  00000000                                         .set    PG_V,0x8000000
        !            62:   62  00000000                                         .set    PG_PROT,0x78000000
        !            63:   63  00000000                                         .set    PG_M,0x04000000
        !            64:   64  00000000                                         .set    PG_USED,0x02000000
        !            65:   65  00000000                                         .set    PG_NC,0x01000000
        !            66:   66  00000000                                         .set    PG_PFNUM,0x003fffff
        !            67:   67  00000000                                  
        !            68:   68  00000000                                         .set    PG_NOACC,0
        !            69:   69  00000000                                         .set    PG_KR,0x40000000
        !            70:   70  00000000                                         .set    PG_KW,0x60000000
        !            71:   71  00000000                                         .set    PG_URKR,0x50000000
        !            72:   72  00000000                                         .set    PG_URKW,0x70000000
        !            73:   73  00000000                                         .set    PG_UW,0x78000000
        !            74:   74  00000000                                  
        !            75:   75  00000000                                   #*    PCB offsets & diagnostic extension to pcb                       */
        !            76:   76  00000000                                   #*    PCB is at pcb0                                                  */
        !            77:   77  00000000                                  
        !            78:   78  00000000                                  
        !            79:   79  00000000                                         .set    PCB_SIZE,        24     
        !            80:   80  00000000                                         .set    PCB_KSP,         0
        !            81:   81  00000000                                         .set    PCB_USP,         4
        !            82:   82  00000000                                         .set    PCB_R0,          8
        !            83:   83  00000000                                         .set    PCB_R1,          12
        !            84:   84  00000000                                         .set    PCB_R2,          16
        !            85:   85  00000000                                         .set    PCB_R3,          20
        !            86:   86  00000000                                         .set    PCB_R4,          24
        !            87:   87  00000000                                         .set    PCB_R5,          28
        !            88:   88  00000000                                         .set    PCB_R6,          32
        !            89:   89  00000000                                         .set    PCB_R7,          36
        !            90:   90  00000000                                         .set    PCB_R8,          40
        !            91:   91  00000000                                         .set    PCB_R9,          44
        !            92:   92  00000000                                         .set    PCB_R10,         48
        !            93:   93  00000000                                         .set    PCB_R11,         52
        !            94:   94  00000000                                         .set    PCB_R12,         56
        !            95:   95  00000000                                         .set    PCB_R13,         60
        !            96:   96  00000000                                         .set    PCB_PC,          64
        !            97:   97  00000000                                         .set    PCB_PSL,         68
        !            98:   98  00000000                                         .set    PCB_P0BR,        72
        !            99:   99  00000000                                         .set    PCB_P0LR,        76
        !           100:  100  00000000                                         .set    PCB_P1BR,        80
        !           101:  101  00000000                                         .set    PCB_P1LR,        84
        !           102:  102  00000000                                         .set    PCB_P2BR,        88
        !           103:  103  00000000                                         .set    PCB_P2LR,        92
        !           104:  104  00000000                                         .set    PCB_ACCM,        96
        !           105:  105  00000000                                         .set    PCB_ACCL,       100
        !           106:  106  00000000                                   #*
        !           107:  107  00000000                                   #     Diagnostic pcb extension
        !           108:  108  00000000                                   #/
        !           109:  109  00000000                                         .set    PCB_STAT,       104     /*process status,statistics,id,etc*/
        !           110:  110  00000000                                  
        !           111:  111  00000000                                  
        !           112:  112  00000000                                  
        !           113:  113  00000000                                   #*    fundamental constants                                           */
        !           114:  114  00000000                                  
        !           115:  115  00000000                                   #*
        !           116:  116  00000000                                   # fundamental constants of the implementation--
        !           117:  117  00000000                                   # cannot be changed easily.
        !           118:  118  00000000                                   #/
        !           119:  119  00000000                                  
        !           120:  120  00000000                                         .set    NBPG,1024
        !           121:  121  00000000                                         .set    PGOFSET,(NBPG-1)        /* byte offset into page */
        !           122:  122  00000000                                         .set    PGSHIFT,10              /* LOG2(NBPG) */
        !           123:  123  00000000                                         .set    HIGH,0x1f
        !           124:  124  00000000                                  
        !           125:  125  00000000                                  
        !           126:  126  00000000                                   #*    SCB offsets                                                     */
        !           127:  127  00000000                                   #*    SCB is at scb                                                   */
        !           128:  128  00000000                                  
        !           129:  129  00000000                                         .set    PFVEC,1*4               /*power fail                    */
        !           130:  130  00000000                                         .set    PRVEC,2*4               /*power restore                 */
        !           131:  131  00000000                                         .set    CLOCKVEC,7*4            /*hard clock vector             */
        !           132:  132  00000000                                         .set    CRVEC,0xa*4             /*console receive               */
        !           133:  133  00000000                                         .set    CXVEC,44                /*console transmit              */
        !           134:  134  00000000                                         .set    SIVEC1,0x1e*4           /*software int vec #1           */
        !           135:  135  00000000                                                                         /*for 2,3,..15, sub 4,8,.. 56   */
        !           136:  136  00000000                                                                         /*from SIVEC1                   */      
        !           137:  137  00000000                                         .set    BEVEC,0x20*4            /*bus error                     */      
        !           138:  138  00000000                                         .set    SYSVEC,0x2b*4           /*system call (kcall)           */
        !           139:  139  00000000                                         .set    PINSTVEC,0x2c*4         /*privileged instruction fault  */
        !           140:  140  00000000                                         .set    PRIVSVEC,0x2c*4         /*privileged instruction fault  */
        !           141:  141  00000000                                         .set    ROVEC,0x2d*4            /*reserved operand fault        */
        !           142:  142  00000000                                         .set    RAVEC,0x2e*4            /*reserved addressing fault     */
        !           143:  143  00000000                                         .set    PROTVEC,0x2f*4          /*access control violation      */
        !           144:  144  00000000                                         .set    TRANS,0x30              /*translation fault vector      */
        !           145:  145  00000000                                         .set    TRANSVEC,0x30*4         /*translation fault vector      */
        !           146:  146  00000000                                         .set    KSPVEC,0x31*4           /*kernel stack not valid vector */
        !           147:  147  00000000                                         .set    TRACEVEC,0x32*4         /*trace vector                  */
        !           148:  148  00000000                                         .set    BPTVEC,0x33*4           /*break point fault             */
        !           149:  149  00000000                                         .set    ARITHVEC,0x34*4         /*arithmetic trap               */
        !           150:  150  00000000                                         .set    ALIGNVEC,0x35*4         /*alignment vector              */      
        !           151:  151  00000000                                         .set    FPMVEC,0x37*4           /*fpp emulation vector          */
        !           152:  152  00000000                                         .set    IO14VEC,256             /*io vector, ipl #14            */
        !           153:  153  00000000                                         .set    IO15VEC,320             /*io vector, ipl #15            */
        !           154:  154  00000000                                         .set    IO16VEC,384             /*io vector, ipl #16            */
        !           155:  155  00000000                                         .set    IO17VEC,448             /*io vector, ipl #17            */
        !           156:  156  00000000                                  
        !           157:  157  00000000                                   #*    SPT (system page table) offsets                                 */
        !           158:  158  00000000                                   #*    SPT is at Sysmap                                                */
        !           159:  159  00000000                                  
        !           160:  160  00000000                                         .set    SCBPTE,8                /*system control block pte offset*/
        !           161:  161  00000000                                         .set    BUFPTE,12               /*buffer pte offset             */
        !           162:  162  00000000                                         .set    ISPTE,16                /*interrupt stack page 0        */
        !           163:  163  00000000                                         .set    IS1PTE,20               /*interrupt stack page 1        */
        !           164:  164  00000000                                         .set    SPTPTE,20               /*system page table page 1      */
        !           165:  165  00000000                                         .set    SPT1PTE,20              /*system page table page 2      */
        !           166:  166  00000000                                         .set    IOMAPPTE,24             /*io map                        */
        !           167:  167  00000000                                         .set    PCBPTE,28               /*process control blocks pte    */
        !           168:  168  00000000                                         .set    U0P0PTE,32              /*U0 p0pt pte                   */
        !           169:  169  00000000                                         .set    U0P1PTE,36              /*U0 p1pt pte                   */
        !           170:  170  00000000                                         .set    U0P2PTE,40              /*U0 p2pt pte                   */
        !           171:  171  00000000                                         .set    U1P0PTE,44
        !           172:  172  00000000                                         .set    U1P1PTE,48
        !           173:  173  00000000                                         .set    U1P2PTE,52
        !           174:  174  00000000                                         .set    U2P0PTE,56
        !           175:  175  00000000                                         .set    U2P1PTE,60
        !           176:  176  00000000                                         .set    U2P2PTE,64
        !           177:  177  00000000                                         .set    U3P0PTE,68
        !           178:  178  00000000                                         .set    U3P1PTE,72
        !           179:  179  00000000                                         .set    U3P2PTE,76
        !           180:  180  00000000                                         .set    U4P0PTE,80
        !           181:  181  00000000                                         .set    U4P1PTE,84
        !           182:  182  00000000                                         .set    U4P2PTE,88
        !           183:  183  00000000                                         .set    U5P0PTE,92
        !           184:  184  00000000                                         .set    U5P1PTE,96
        !           185:  185  00000000                                         .set    U5P2PTE,100
        !           186:  186  00000000                                         .set    U6P0PTE,104
        !           187:  187  00000000                                         .set    U6P1PTE,108
        !           188:  188  00000000                                         .set    U6P2PTE,112
        !           189:  189  00000000                                         .set    U7P0PTE,116             /*U7 p0pt pte                   */
        !           190:  190  00000000                                         .set    U7P1PTE,120             /*U7 p1pt pte                   */
        !           191:  191  00000000                                         .set    U7P2PTE,124             /*U7 p2pt pte                   */
        !           192:  192  00000000                                         .set    IOB0PTE,128             /*io buffer 0 pte               */
        !           193:  193  00000000                                         .set    IOB1PTE,132
        !           194:  194  00000000                                         .set    IOB2PTE,136
        !           195:  195  00000000                                         .set    IOB3PTE,140
        !           196:  196  00000000                                         .set    IOB4PTE,144
        !           197:  197  00000000                                         .set    IOB5PTE,148
        !           198:  198  00000000                                         .set    IOB6PTE,152
        !           199:  199  00000000                                         .set    IOB7PTE,156             /*io buffer 7 pte               */
        !           200:  200  00000000                                  
        !           201:  201  00000000                                  
        !           202:  202  00000000                                   #*    trap.h  4.6     81/03/03        */
        !           203:  203  00000000                                  
        !           204:  204  00000000                                   #*
        !           205:  205  00000000                                   #* Trap type values
        !           206:  206  00000000                                   #/
        !           207:  207  00000000                                  
        !           208:  208  00000000                                         .set    RESADFLT,0              /* reserved addressing fault */
        !           209:  209  00000000                                         .set    PRIVINFLT,1             /* privileged instruction fault */
        !           210:  210  00000000                                         .set    RESOPFLT,2              /* reserved operand fault */
        !           211:  211  00000000                                         .set    BPTFLT,3                /* bpt instruction fault */
        !           212:  212  00000000                                         .set    ALIGNFLT,4              /* alignment fault */
        !           213:  213  00000000                                         .set    SYSCALL,5               /* kcall instruction (syscall trap) */
        !           214:  214  00000000                                         .set    ARITHTRAP,6             /* arithmetic trap */
        !           215:  215  00000000                                         .set    PROTFLT,7               /* protection fault */
        !           216:  216  00000000                                         .set    TRCTRAP,8               /* trace trap */
        !           217:  217  00000000                                         .set    TRANSFLT,9              /* translation not valid fault */
        !           218:  218  00000000                                         .set    DONE,255
        !           219:  219  00000000                                  
        !           220:  220  00000000                                  #
        !           221:  221  00000000                                   #  Event codes
        !           222:  222  00000000                                  #
        !           223:  223  00000000                                         .set    RTCLOCK_CODE,7          /* real time clock event */
        !           224:  224  00000000                                         .set    RESOP_CODE,0x2d         /* reserved operand fault */
        !           225:  225  00000000                                         .set    RESAD_CODE,0x2e         /* reserved address fault */
        !           226:  226  00000000                                         .set    ARITH_CODE,0x34         /* arithmetic fault       */
        !           227:  227  00000000                                         .set    FPM_CODE,0x37           /* fpp emulation trap     */
        !           228:  228  00000000                                         .set    INTEGER_OVERFLOW,1      /* code for arith. fault  */
        !           229:  229  00000000                                  
        !           230:  230  00000000                                  #
        !           231:  231  00000000                                   #  Arithmetic Event types
        !           232:  232  00000000                                  #
        !           233:  233  00000000                                         .set    INT_OVFL_CODE,1         /* integer overflow     */
        !           234:  234  00000000                                         .set    INT_0_DIV_CODE,2        /* integer divide by 0  */
        !           235:  235  00000000                                         .set    FLT_0_DIV_CODE,3        /* floating divide by 0 */
        !           236:  236  00000000                                         .set    FLT_OVFL_CODE,4         /* floating overflow    */
        !           237:  237  00000000                                         .set    FLT_UNDFL_CODE,5        /* floating underflow   */
        !           238:  238  00000000                                  
        !           239:  239  00000000                                  #
        !           240:  240  00000000                                   #  Floating Point Instruction Op-Codes
        !           241:  241  00000000                                  #
        !           242:  242  00000000                                         .set  LDF_OP_CODE,0x06          /* sgl load acc. instr      */
        !           243:  243  00000000                                         .set  LDD_OP_CODE,0x07          /* dbl load acc. instr      */
        !           244:  244  00000000                                         .set  LNF_OP_CODE,0x16          /* sgl load-neg acc. instr  */
        !           245:  245  00000000                                         .set  LND_OP_CODE,0x17          /* dbl load-neg acc. instr  */
        !           246:  246  00000000                                         .set  STF_OP_CODE,0x26          /* sgl store acc. instr     */
        !           247:  247  00000000                                         .set  STD_OP_CODE,0x27          /* dbl store acc. instr     */
        !           248:  248  00000000                                         .set  CMPF_OP_CODE,0x36         /* sgl compare instr        */
        !           249:  249  00000000                                         .set  CMPD_OP_CODE,0x37         /* dbl compare instr        */
        !           250:  250  00000000                                         .set  CMPF2_OP_CODE,0x46        /* sgl compare 2 instr      */
        !           251:  251  00000000                                         .set  CMPD2_OP_CODE,0x47        /* dbl compare 2 instr      */
        !           252:  252  00000000                                         .set  TSTF_OP_CODE,0x56         /* sgl test acc. instr      */
        !           253:  253  00000000                                         .set  TSTD_OP_CODE,0x57         /* dbl test acc. instr      */
        !           254:  254  00000000                                         .set  PUSHD_OP_CODE,0x67        /* dbl push acc. instr      */
        !           255:  255  00000000                                         .set  CVLF_OP_CODE,0x76         /* convert int to sgl instr */
        !           256:  256  00000000                                         .set  CVLD_OP_CODE,0x77         /* convert int to dbl instr */
        !           257:  257  00000000                                         .set  CVFL_OP_CODE,0x86         /* convert sgl to int instr */
        !           258:  258  00000000                                         .set  CVDL_OP_CODE,0x87         /* convert dbl to int instr */
        !           259:  259  00000000                                         .set  LDFD_OP_CODE,0x97         /* load sgl to dbl instr    */
        !           260:  260  00000000                                         .set  CVDF_OP_CODE,0xa6         /* convert dbl to sgl instr */
        !           261:  261  00000000                                         .set  NEGF_OP_CODE,0xb6         /* negate sgl acc. instr    */
        !           262:  262  00000000                                         .set  NEGD_OP_CODE,0xb7         /* negate dbl acc. instr    */
        !           263:  263  00000000                                         .set  ADDF_OP_CODE,0xc6         /* sgl add instr            */
        !           264:  264  00000000                                         .set  ADDD_OP_CODE,0xc7         /* dbl add instr            */
        !           265:  265  00000000                                         .set  SUBF_OP_CODE,0xd6         /* sgl subtract instr       */
        !           266:  266  00000000                                         .set  SUBD_OP_CODE,0xd7         /* dbl subtract instr       */
        !           267:  267  00000000                                         .set  MULF_OP_CODE,0xe6         /* sgl multiply instr       */
        !           268:  268  00000000                                         .set  MULD_OP_CODE,0xe7         /* dbl multiply instr       */
        !           269:  269  00000000                                         .set  DIVF_OP_CODE,0xf6         /* sgl divide instr         */
        !           270:  270  00000000                                         .set  DIVD_OP_CODE,0xf7         /* dbl divide instr         */
        !           271:  271  00000000                                         .set  SINF_OP_CODE,0x05         /* sgl sine instr           */
        !           272:  272  00000000                                         .set  COSF_OP_CODE,0x15         /* sgl cosine instr         */
        !           273:  273  00000000                                         .set  ATANF_OP_CODE,0x25        /* sgl arc-tangent instr    */
        !           274:  274  00000000                                         .set  LOGF_OP_CODE,0x35         /* sgl natural log instr    */
        !           275:  275  00000000                                         .set  SQRTF_OP_CODE,0x45        /* sgl square root instr    */
        !           276:  276  00000000                                         .set  EXPF_OP_CODE,0x55         /* sgl "e to the x" instr   */
        !           277:  277  00000000                                         .set  MULL2_OP_CODE,0x4c        /* integer multiply - 2 ops */
        !           278:  278  00000000                                         .set  MULL3_OP_CODE,0x5c        /* integer multiply - 3 ops */
        !           279:  279  00000000                                  
        !           280:  280  00000000                                  
        !           281:  281  00000000                                  #
        !           282:  282  00000000                                   #  Addressing test constants - These must agree with "fpp_defs.h"
        !           283:  283  00000000                                  #
        !           284:  284  00000000                                         .set ADR_ABSOLUTE,1     /* absolute address                 */
        !           285:  285  00000000                                         .set ADR_LITERAL,2      /* literal -short immediate byte    */
        !           286:  286  00000000                                         .set ADR_IM_B,3         /* immediate byte                   */
        !           287:  287  00000000                                         .set ADR_IM_W,4         /* immediate word                   */
        !           288:  288  00000000                                         .set ADR_IM_L,5         /* immediate long-word              */
        !           289:  289  00000000                                         .set ADR_B_DSP,6        /* byte displ relative              */
        !           290:  290  00000000                                         .set ADR_W_DSP,7        /* word displ relative              */
        !           291:  291  00000000                                         .set ADR_L_DSP,8        /* long-word displ relative         */
        !           292:  292  00000000                                         .set ADR_B_DSP_DEF,9    /* byte displ relative deferred     */
        !           293:  293  00000000                                         .set ADR_W_DSP_DEF,10   /* word displ relative deferred     */
        !           294:  294  00000000                                         .set ADR_L_DSP_DEF,11   /* L-word displ relative deferred   */
        !           295:  295  00000000                                         .set ADR_REG,12         /* direct register                  */
        !           296:  296  00000000                                         .set ADR_REG_DEF,13     /* register deferred                */
        !           297:  297  00000000                                         .set ADR_FP_DEF,14      /* FP deferred                      */
        !           298:  298  00000000                                         .set ADR_SP_DEF,15      /* SP deferred                      */
        !           299:  299  00000000                                         .set ADR_PUSH,16        /* auto-decrement SP                */
        !           300:  300  00000000                                         .set ADR_POP,17         /* auto-increment SP                */
        !           301:  301  00000000                                         .set ADR_POP_DEF,18     /* auto-increment SP deferred       */
        !           302:  302  00000000                                         .set ADR_REG_B,19       /* register + byte displ            */
        !           303:  303  00000000                                         .set ADR_REG_W,20       /* register + word displ            */
        !           304:  304  00000000                                         .set ADR_REG_L,21       /* register + long-word displ       */
        !           305:  305  00000000                                         .set ADR_REG_B_DEF,22   /* register + byte displ deferred   */
        !           306:  306  00000000                                         .set ADR_REG_W_DEF,23   /* register + word displ deferred   */
        !           307:  307  00000000                                         .set ADR_REG_L_DEF,24   /* register + L-word displ deferred */
        !           308:  308  00000000                                         .set ADR_I_FP_DEF,25    /* indexed (frame pointer deferred) */
        !           309:  309  00000000                                         .set ADR_I_L,26         /* indexed (longword displacement)  */
        !           310:  310  00000000                                  
        !           311:  311  00000000                                  
        !           312:  312  00000000                                   #*************************************************************************
        !           313:  313  00000000                                  #
        !           314:  314  00000000                                   #     Stuff for the Demand Paging , Events, & Addressing Tests
        !           315:  315  00000000                                  #
        !           316:  316  00000000                                   #************************************************************************/
        !           317:  317  00000000                                         .set SGL,1                      /* sgl precision data           */
        !           318:  318  00000000                                         .set DBL,2                      /* dbl precision data           */
        !           319:  319  00000000                                         .set ENABLE_EVENTS,0x60         /* enable ovfl & undfl events   */
        !           320:  320  00000000                                         .set NONE,0                     /* no operand flag              */
        !           321:  321  00000000                                         .set LOAD,1                     /* read-the-operand flag        */
        !           322:  322  00000000                                         .set STORE,2                    /* store-the-operand flag       */
        !           323:  323  00000000                                  
        !           324:  324  00000000                                         .set NO_EVT_HLT,1               /* halt code: did not Get event  */
        !           325:  325  00000000                                         .set EVT_MSK_HLT,2              /* halt code: got masked event   */
        !           326:  326  00000000                                         .set BAD_PSL_HLT,3              /* halt code: wrong PSL value    */
        !           327:  327  00000000                                         .set PUSH_CNT_HLT,4             /* halt code: wrong # ops on stk */
        !           328:  328  00000000                                         .set PUSH_PSL_HLT,5             /* halt code: bad PSL on stack   */
        !           329:  329  00000000                                         .set PUSH_PC_HLT,6              /* halt code: bad PC on stack    */
        !           330:  330  00000000                                         .set BAD_REG_HLT,7              /* halt code: bad final register */
        !           331:  331  00000000                                         .set BAD_ACC_HLT,8              /* halt code: bad final Acc.     */
        !           332:  332  00000000                                  
        !           333:  333  00000000                                  #
        !           334:  334  00000000                                   # set DMP_PG_0 to the 1st empty page
        !           335:  335  00000000                                  #
        !           336:  336  00000000                                         .set DMP_PG_0,0x36000
        !           337:  337  00000000                                         .set DMP_PG_1,DMP_PG_0+0x400
        !           338:  338  00000000                                         .set DMP_PG_2,DMP_PG_1+0x400
        !           339:  339  00000000                                         .set DMP_PG_3,DMP_PG_2+0x400
        !           340:  340  00000000                                         .set DMP_PG_4,DMP_PG_3+0x400
        !           341:  341  00000000                                         .set DMP_PG_5,DMP_PG_4+0x400
        !           342:  342  00000000                                         .set DMP_PG_6,DMP_PG_5+0x400
        !           343:  343  00000000                                         .set DMP_PG_7,DMP_PG_6+0x400
        !           344:  344  00000000                                         .set DMP_PG_8,DMP_PG_7+0x400
        !           345:  345  00000000                                         .set DMP_PG_9,DMP_PG_8+0x400
        !           346:  346  00000000                                         .set DMP_PG_10,DMP_PG_9+0x400
        !           347:  347  00000000                                         .set DMP_PG_11,DMP_PG_10+0x400
        !           348:  348  00000000                                         .set DMP_PG_12,DMP_PG_11+0x400
        !           349:  349  00000000                                         .set DMP_PG_13,DMP_PG_12+0x400
        !           350:  350  00000000                                  
        !           351:  351  00000000                                  #
        !           352:  352  00000000                                   # test code space for the address / demand page tests
        !           353:  353  00000000                                  #
        !           354:  354  00000000                                         .set START_OF_CODE,DMP_PG_1-20  /* 1st addr of test-code space  */
        !           355:  355  00000000                                         .set CODE_BUF_SIZE,40           /* # bytes in test-code space   */
        !           356:  356  00000000                                         .set END_OF_CODE,START_OF_CODE+CODE_BUF_SIZE
        !           357:  357  00000000                                  
        !           358:  358  00000000                                  #
        !           359:  359  00000000                                   # data locations used by the event and demand page tests
        !           360:  360  00000000                                  #
        !           361:  361  00000000                                         .set _dmp_byte_op_1,DMP_PG_1+0x30       /* 'byte offset' data */
        !           362:  362  00000000                                         .set _dmp_byte_op_2,DMP_PG_1+0x50       /* 'byte offset' data */
        !           363:  363  00000000                                         .set _dmp_byte_op_3,DMP_PG_1+0x70       /* 'byte offset' data */
        !           364:  364  00000000                                         .set _dmp_op_1,DMP_PG_3-4               /* 1st data word      */
        !           365:  365  00000000                                         .set _dmp_op_1_ptr,DMP_PG_4+0x30        /* ptr to 1st data wd */
        !           366:  366  00000000                                         .set _dmp_op_2_ptr,DMP_PG_5+0x30        /* ptr to 2nd data wd */
        !           367:  367  00000000                                         .set _dmp_op_2,DMP_PG_7-4               /* 2nd data word      */
        !           368:  368  00000000                                         .set _dmp_op_3,DMP_PG_8                 /* 3rd data word      */
        !           369:  369  00000000                                         .set _dmp_op_3_ptr,DMP_PG_9+0x30        /* ptr to 3rd data wd */
        !           370:  370  00000000                                         .set _dmp_op_4,DMP_PG_10                /* 4th data (for pipes) */
        !           371:  371  00000000                                         .set _dmp_op_5,DMP_PG_11                /* 5th data (for pipes) */
        !           372:  372  00000000                                         .set _sp_minus,DMP_PG_13-4              /* SP for POPs        */
        !           373:  373  00000000                                         .set _sp_page,DMP_PG_13                 /* SP page boundary   */
        !           374:  374  00000000                                         .set _sp_plus,DMP_PG_13+4               /* SP for PUSHs       */
        !           375:  375  00000000                                  
        !           376:  376  00000000                                  
        !           377:  377  00000000                                  
        !           378:  378  00000000                                  
        !           379:  379  00000000                                   # ***************************************************************************
        !           380:  380  00000000                                   # *
        !           381:  381  00000000                                   # *           Test an instruction that has no operands
        !           382:  382  00000000                                   # *
        !           383:  383  00000000                                   # *  Only the 1 byte instruction and some NOPs will go into the code buffer.
        !           384:  384  00000000                                   # *
        !           385:  385  00000000                                   # *  30-May-85 : added pipelined tests
        !           386:  386  00000000                                   # *  22-Jul-85 : don't run pipeline 2 test w/ emulated instructions
        !           387:  387  00000000                                   # ***************************************************************************
        !           388:  388  00000000                                         .text
        !           389:  389  00000000                                         .align  1
        !           390:  390  00000000                                         .globl  _test_0_ops
        !           391:  391  00000000                                  _test_0_ops:
        !           392:  392  0000EFA8    0000                                 .word   0
        !           393:  393  0000EFAA                                  /*
        !           394:  396  0000EFAA    1d 01 effffffff7               * Set the sizes for loading and for storing the accumulator
        !           395:  397  0000EFB1    21 14                         */
        !           396:  398  0000EFB3    0d 01 efffffffee                     cmpl    $SGL,_precision
        !           397:  399  0000EFBA    0d 01 efffffffe7                     bneq    1f
        !           398:  400  0000EFC1    71 ef00000020                        movl    $SGL,_acc_ld_size               /* set ACC. load size      */
        !           399:  401  0000EFC7                                         movl    $SGL,_acc_st_size               /* set ACC. store size     */
        !           400:  402  0000EFC7    0d 02 efffffffda                     jmp     2f
        !           401:  403  0000EFCE    0d 02 efffffffd3              1:
        !           402:  404  0000EFD5    1d efffffffcd 8900a6                 movl    $DBL,_acc_ld_size               /* set ACC. load size      */
        !           403:  405  0000EFDE    21 07                                movl    $DBL,_acc_st_size               /* set ACC. store size     */
        !           404:  406  0000EFE0    0d 01 efffffffc1                     cmpl    _op_code,$CVDF_OP_CODE          /* "cvdf" instruction?     */
        !           405:  407  0000EFE7                                         bneq    2f
        !           406:  408  0000EFE7    fe 04 ef00000018                     movl    $SGL,_acc_st_size               /* store sgl acc. for cvdf */
        !           407:  409  0000EFEE    fe 04 ef0000008b              2:
        !           408:  410  0000EFF5    1d efffffffad 37                     callf   $4,_test_0_no_pipe              /* test w/o pipelineing    */
        !           409:  411  0000EFFC    31 07                                callf   $4,_test_0_pipe1                /* test pipeline test #1   */
        !           410:  412  0000EFFE    fe 04 ef00000133                     cmpl    _test_event,$FPM_CODE           /* Is this the FPM test?   */
        !           411:  413  0000F005    40                                   beql    1f                              /* don't run pipe #2 w/ FPM */
        !           412:  414  0000F006                                         callf   $4,_test_0_pipe2                /* test pipeline test #2   */
        !           413:  415  0000F006                                  1:     ret                                     /* return                  */
        !           414:  416  0000F006                                  
        !           415:  417  0000F006                                  
        !           416:  418  0000F006                                  
        !           417:  419  0000F006                                  
        !           418:  420  0000F006                                   # ***************************************************************************
        !           419:  421  0000F006                                   # *
        !           420:  422  0000F006                                   # *   TEST A NO OPERAND INSTRUCTION WITH NO FPP INSTRUCTION IN FRONT OF IT
        !           421:  423  0000F006                                   # *
        !           422:  424  0000F006                                   # ***************************************************************************
        !           423:  425  0000F006                                         .text
        !           424:  426  0000F006                                         .align  1
        !           425:  427  0000F006    0000                                 .globl  _test_0_no_pipe
        !           426:  428  0000F008    4d efffffff9a                 _test_0_no_pipe:
        !           427:  429  0000F00E    fe 04 efffffff93                     .word   0
        !           428:  430  0000F015    dd 8f00000000                        clrl    _pipe_test                      /* reset the pipe-test flag */
        !           429:  431  0000F01B    fe 08 efffffff86                     callf   $4,_pack_inst                   /* pack the instr's code   */
        !           430:  432  0000F022    dd 8f00000000                        pushl   $_load_regs                     /* buffer for loading regs */
        !           431:  433  0000F028    fe 08 efffffff79                     callf   $8,_fill_reg_buf                /* fill the buffer         */
        !           432:  434  0000F02F                                         pushl   $_exp_regs                      /* expected reg values     */
        !           433:  437  0000F02F    4d efffffff73                        callf   $8,_fill_reg_buf                /* fill the buffer         */
        !           434:  438  0000F035                                  /*
        !           435:  439  0000F035    5c 04 efffffff6c 50            * test the instruction 
        !           436:  440  0000F03D    0d 40ffffffff64               */
        !           437:                   efffffff5f 
        !           438:  441  0000F049    6d 50                                clrl    _index
        !           439:  442  0000F04B    0d 40ffffffff56               3:
        !           440:                   efffffff55 
        !           441:  443  0000F057                                         mull3   $4,_index,r0                    /* get longword offset     */
        !           442:  444  0000F057    fe 04 efffffff4a                     movl    *_data_ptr[r0],_dbl_ld_acc      /* get load data's MSW     */
        !           443:  445  0000F05E    5d efffffff44                        incl    r0
        !           444:  446  0000F064    21 f1                                movl    *_data_ptr[r0],_dbl_ld_acc+4    /* get load data's LSW     */
        !           445:  447  0000F066    1d efffffff3c efffffff37      2:
        !           446:  448  0000F071    81 0c                                callf   $4,_run_code                    /* execute the instruction */
        !           447:  449  0000F073    6d efffffff2f                        tstl    _force_loop
        !           448:  450  0000F079    71 efffffffb6                        bneq    2b                              /* loop on an error        */
        !           449:  451  0000F07F                                         cmpl    _index,_max_index               /* last data pattern?      */
        !           450:  452  0000F07F    40                                   bgeq    1f
        !           451:  453  0000F080                                         incl    _index                          /* bump the index          */
        !           452:  454  0000F080                                         jmp     3b                              /* test next data pattern  */
        !           453:  455  0000F080                                  1:
        !           454:  456  0000F080                                         ret                                     /* return to test_code     */
        !           455:  457  0000F080                                  
        !           456:  458  0000F080                                  
        !           457:  459  0000F080                                  
        !           458:  460  0000F080                                  
        !           459:  461  0000F080                                   # ***************************************************************************
        !           460:  462  0000F080                                   # *
        !           461:  463  0000F080                                   # *   TEST A NO OPERAND INSTRUCTION WITH A LOAD INSTRUCION IN FRONT OF IT
        !           462:  464  0000F080                                   # *
        !           463:  465  0000F080                                   # ***************************************************************************
        !           464:  466  0000F080    0000                                 .text
        !           465:  467  0000F082    0d 01 efffffff1f                     .align  1
        !           466:  468  0000F089    0d 8862 efffffff17                   .globl  _test_0_pipe1
        !           467:  469  0000F091    1d 02 efffffff10              _test_0_pipe1:
        !           468:  470  0000F098    31 09                                .word   0
        !           469:  471  0000F09A    0d 06 efffffff07                     movl    $1,_pipe_test                   /* set the pipe_test flag  */
        !           470:  472  0000F0A1    11 07                                movl    $0x62,_addr_code_p1             /* set the addr mode       */
        !           471:  473  0000F0A3    0d 07 effffffefe                     cmpl    $DBL,_acc_ld_size               /* DBL or SGL ACC?         */
        !           472:  474  0000F0AA                                         beql    1f
        !           473:  475  0000F0AA    fe 04 effffffef7                     movl    $LDF_OP_CODE,_pipe_inst1        /* pipe inst = load single */
        !           474:  476  0000F0B1    dd 8f00000000                        brb     2f
        !           475:  477  0000F0B7    fe 08 effffffeea              1:     movl    $LDD_OP_CODE,_pipe_inst1        /* pipe inst = load double */
        !           476:  478  0000F0BE    dd 8f00000000                 2:
        !           477:  479  0000F0C4    fe 08 effffffedd                     callf   $4,_pack_inst                   /* pack the instr's code   */
        !           478:  480  0000F0CB    ed effffffed7 effffffeda             pushl   $_load_regs                     /* buffer for loading regs */
        !           479:  481  0000F0D6    ed effffffecc effffffecf             callf   $8,_fill_reg_buf                /* fill the buffer         */
        !           480:  482  0000F0E1                                         pushl   $_exp_regs                      /* expected reg values     */
        !           481:  485  0000F0E1    4d effffffec1                        callf   $8,_fill_reg_buf                /* fill the buffer         */
        !           482:  486  0000F0E7                                         moval   _dbl_ld_acc,_load_regs+8        /* R2 points to the data   */
        !           483:  487  0000F0E7    5c 04 effffffeba 50                  moval   _dbl_ld_acc,_exp_regs+8         /* R2 points to the data   */
        !           484:  488  0000F0EF    0d 40fffffffeb2               /*
        !           485:                   effffffead 
        !           486:  489  0000F0FB    6d 50                          * test the instruction 
        !           487:  490  0000F0FD    0d 40fffffffea4               */
        !           488:                   effffffea3 
        !           489:  491  0000F109                                         clrl    _index
        !           490:  492  0000F109    fe 04 effffffe98              3:
        !           491:  493  0000F110    5d effffffe92                        mull3   $4,_index,r0                    /* get longword offset     */
        !           492:  494  0000F116    21 f1                                movl    *_data_ptr[r0],_dbl_ld_acc      /* get load data's MSW     */
        !           493:  495  0000F118    1d effffffe8a effffffe85             incl    r0
        !           494:  496  0000F123    81 0c                                movl    *_data_ptr[r0],_dbl_ld_acc+4    /* get load data's LSW     */
        !           495:  497  0000F125    6d effffffe7d                 2:
        !           496:  498  0000F12B    71 efffffffb6                        callf   $4,_run_code                    /* execute the instruction */
        !           497:  499  0000F131                                         tstl    _force_loop
        !           498:  500  0000F131    4d effffffe71                        bneq    2b                              /* loop on an error        */
        !           499:  501  0000F137    40                                   cmpl    _index,_max_index               /* last data pattern?      */
        !           500:  502  0000F138                                         bgeq    1f
        !           501:  503  0000F138                                         incl    _index                          /* bump the index          */
        !           502:  504  0000F138                                         jmp     3b                              /* test next data pattern  */
        !           503:  505  0000F138                                  1:
        !           504:  506  0000F138                                         clrl    _pipe_test                      /* reset the pipe-test flag */
        !           505:  507  0000F138                                         ret                                     /* return to test_code     */
        !           506:  508  0000F138                                  
        !           507:  509  0000F138                                  
        !           508:  510  0000F138                                  
        !           509:  511  0000F138                                  
        !           510:  512  0000F138                                   # ***************************************************************************
        !           511:  513  0000F138                                   # *
        !           512:  514  0000F138                                   # *   TEST A NO OPERAND INSTRUCTION WITH AN ADD INSTRUCION IN FRONT OF IT
        !           513:  515  0000F138    0000                           # *
        !           514:  516  0000F13A    0d 02 effffffe67               # ***************************************************************************
        !           515:  517  0000F141    0d 8862 effffffe5f                   .text
        !           516:  518  0000F149    1d 02 effffffe58                     .align  1
        !           517:  519  0000F150    31 0b                                .globl  _test_0_pipe2
        !           518:  520  0000F152    0d 8900c6 effffffe4d          _test_0_pipe2:
        !           519:  521  0000F15B    11 09                                .word   0
        !           520:  522  0000F15D    0d 8900c7 effffffe42                 movl    $2,_pipe_test                   /* set the pipe_test flag */
        !           521:  523  0000F166                                         movl    $0x62,_addr_code_p1             /* set the addr mode      */
        !           522:  524  0000F166    fe 04 effffffe3b                     cmpl    $DBL,_acc_ld_size               /* DBL or SGL ACC?        */
        !           523:  525  0000F16D    dd 8f00000000                        beql    1f
        !           524:  526  0000F173    fe 08 effffffe2e                     movl    $ADDF_OP_CODE,_pipe_inst1       /* pipe inst = add single */
        !           525:  527  0000F17A    dd 8f00000000                        brb     2f
        !           526:  528  0000F180    fe 08 effffffe21              1:     movl    $ADDD_OP_CODE,_pipe_inst1       /* pipe inst = add double */
        !           527:  529  0000F187    ed effffffe1b effffffe1e      2:
        !           528:  530  0000F192    ed effffffe10 effffffe13             callf   $4,_pack_inst                   /* pack the instr's code  */
        !           529:  531  0000F19D                                         pushl   $_load_regs                     /* buffer for loading regs */
        !           530:  534  0000F19D    4d effffffe05                        callf   $8,_fill_reg_buf                /* fill the buffer        */
        !           531:  535  0000F1A3                                         pushl   $_exp_regs                      /* expected reg values    */
        !           532:  536  0000F1A3    5c 04 effffffdfe 50                  callf   $8,_fill_reg_buf                /* fill the buffer        */
        !           533:  537  0000F1AB    0d 40fffffffdf6                      moval   _dbl_ld_acc,_load_regs+8        /* R2 points to the data  */
        !           534:                   effffffdf1 
        !           535:  538  0000F1B7    6d 50                                moval   _dbl_ld_acc,_exp_regs+8         /* R2 points to the data  */
        !           536:  539  0000F1B9    0d 40fffffffde8               /*
        !           537:                   effffffde7 
        !           538:  540  0000F1C5                                   * test the instruction 
        !           539:  541  0000F1C5    fe 04 effffffddc              */
        !           540:  542  0000F1CC    5d effffffdd6                        clrl    _index
        !           541:  543  0000F1D2    21 f1                         3:
        !           542:  544  0000F1D4    1d effffffdce effffffdc9             mull3   $4,_index,r0                    /* get longword offset     */
        !           543:  545  0000F1DF    81 0c                                movl    *_data_ptr[r0],_dbl_ld_acc      /* get load data's MSW     */
        !           544:  546  0000F1E1    6d effffffdc1                        incl    r0
        !           545:  547  0000F1E7    71 efffffffb6                        movl    *_data_ptr[r0],_dbl_ld_acc+4    /* get load data's LSW     */
        !           546:  548  0000F1ED                                  2:
        !           547:  549  0000F1ED    4d effffffdb5                        callf   $4,_run_code                    /* execute the instruction */
        !           548:  550  0000F1F3    40                                   tstl    _force_loop
        !           549:  551  0000024c *                                       bneq    2b                              /* loop on an error        */
        !           550:  552  0000024c *                                       cmpl    _index,_max_index               /* last data pattern?      */
        !           551:  553  0000024c *                                       bgeq    1f
        !           552:  553  0000024c *                                       bgeq    1f

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.