Annotation of cci/d/dmp4/old_defs.h, revision 1.1

1.1     ! root        1: #include "../fpp_defs.h"
        !             2: 
        !             3: 
        !             4: /**************************************************************************
        !             5: *
        !             6: *      FLOATING POINT PROCESSOR DEMAND PAGING TEST DEFINITIONS
        !             7: *
        !             8: *  19-Feb-85: JJM created the little beast
        !             9: *
        !            10: **************************************************************************/
        !            11: 
        !            12: 
        !            13: /*
        !            14:  * Instruction definitions used in Addressing and Demand Paging Tests
        !            15: */
        !            16: struct instruction_t {
        !            17:                   int  inst_code;              /* instruction's op code     */
        !            18:                  char  *name;                  /* instruction's name        */
        !            19:                   int  precision;              /* sgl / dbl precision instr */
        !            20:                   int  no_operands;            /* # operands used by instr  */
        !            21:                  int  type;                    /* load / store type instr   */
        !            22:    struct addd_data_t  *data;                  /* ptr to current data table */
        !            23:                   int  (*test_routine)();      /* prt to inst test funcion  */
        !            24:     };
        !            25: 
        !            26: /*
        !            27:  * instruction definition array ( in Common.c )
        !            28: */
        !            29: extern struct  instruction_t   instruction_table[];
        !            30: 
        !            31: 
        !            32: /*
        !            33:  * data for use in the addressing / demand paging tests
        !            34: */
        !            35: extern struct addd_data_t    ldf_data[];       /*   LDF instr data  */
        !            36: extern struct addd_data_t    stf_data[];       /*   STF instr data  */
        !            37: extern struct addd_data_t    lnf_data[];       /*   LNF instr data  */
        !            38: extern struct addd_data_t   negf_data[];       /*  NEGF instr data  */
        !            39: extern struct addd_data_t   addf_data[];       /*  ADDF instr data  */
        !            40: extern struct addd_data_t   cmpf_data[];       /*  CMPF instr data  */
        !            41: extern struct addd_data_t   cosf_data[];       /*  COSF instr data  */
        !            42: extern struct addd_data_t   cvfl_data[];       /*  CVFL instr data  */
        !            43: extern struct addd_data_t   cvlf_data[];       /*  CVLF instr data  */
        !            44: extern struct addd_data_t   divf_data[];       /*  DIVF instr data  */
        !            45: extern struct addd_data_t   expf_data[];       /*  EXPF instr data  */
        !            46: extern struct addd_data_t   logf_data[];       /*  LOGF instr data  */
        !            47: extern struct addd_data_t   mulf_data[];       /*  MULF instr data  */
        !            48: extern struct addd_data_t   sinf_data[];       /*  SINF instr data  */
        !            49: extern struct addd_data_t   subf_data[];       /*  SUBF instr data  */
        !            50: extern struct addd_data_t   tstf_data[];       /*  TSTF instr data  */
        !            51: extern struct addd_data_t  atanf_data[];       /* ATANF instr data  */
        !            52: extern struct addd_data_t  sqrtf_data[];       /* SQRTF instr data  */
        !            53: extern struct addd_data_t    ldd_data[];       /*   LDD instr data  */
        !            54: extern struct addd_data_t    std_data[];       /*   STD instr data  */
        !            55: extern struct addd_data_t    lnd_data[];       /*   LND instr data  */
        !            56: extern struct addd_data_t   negd_data[];       /*  NEGD instr data  */
        !            57: extern struct addd_data_t   addd_data[];       /*  ADDD instr data  */
        !            58: extern struct addd_data_t   cmpd_data[];       /*  CMPD instr data  */
        !            59: extern struct addd_data_t   cvdf_data[];       /*  CVDF instr data  */
        !            60: extern struct addd_data_t   cvdl_data[];       /*  CVDL instr data  */
        !            61: extern struct addd_data_t   cvld_data[];       /*  CVLD instr data  */
        !            62: extern struct addd_data_t   divd_data[];       /*  DIVD instr data  */
        !            63: extern struct addd_data_t   ldfd_data[];       /*  LDFD instr data  */
        !            64: extern struct addd_data_t   muld_data[];       /*  MULD instr data  */
        !            65: extern struct addd_data_t   subd_data[];       /*  SUBD instr data  */
        !            66: extern struct addd_data_t   tstd_data[];       /*  TSTD instr data  */
        !            67: extern struct addd_data_t  pushd_data[];       /* PUSHD instr data  */
        !            68: extern struct addd_data_t   dbl_null_data[];   /* dbl null data ptr */
        !            69: extern struct addd_data_t   sgl_null_data[];   /* sgl null data ptr */
        !            70: 
        !            71: 
        !            72: 
        !            73: /*
        !            74:  * test routines used in the demand paging tests
        !            75: */
        !            76: extern int chk_dbl_acc();     /* check final dbl. Acc */
        !            77: extern int chk_dbl_psl();     /* check PSL flags      */
        !            78: extern int chk_dbl_s();       /* check stored value   */
        !            79: extern int chk_sgl_acc();     /* check final sgl. Acc */
        !            80: extern int chk_sgl_psl();     /* check PSL flags      */
        !            81: extern int chk_sgl_s();       /* check stored value   */
        !            82: 
        !            83: 
        !            84: 
        !            85: /*
        !            86:  * variables used with the event / demand paging / emulation tests
        !            87: */
        !            88: extern int  op_code;                           /* op-code of the inst.     */
        !            89: extern char *op_name;                          /* ascii instruction name   */
        !            90: extern int  precision;                         /* sgl / dbl instruction    */
        !            91: extern int  acc_ld_size;                       /* load sgl of dbl operand  */
        !            92: extern int  acc_st_size;                       /* store sgl of dbl operand */
        !            93: extern int  no_ops;                            /* # of operands used       */
        !            94: extern int  op_type;                           /* load / store type instr. */
        !            95: extern int  d_to_s;                            /* inst converts dbl to sgl */
        !            96: extern int  s_to_d;                            /* inst converts sgl to dbl */
        !            97: extern int  sgl_op;                            /* inst has sgl operand(s)  */
        !            98: extern int  force_sp;                          /* flag -set the Stack Ptr  */
        !            99: extern int  min_shift;                         /* min # bytes to shift code */
        !           100: extern int  inst_buf[];                                /* instruction code buffer  */
        !           101: extern int  end_of_inst_buf;                   /* end address of code buff */
        !           102: extern int  code_addr;                         /* start of test code       */
        !           103: extern int  addr_size;                         /* # bytes in addr specifier*/
        !           104: extern int  addr_1;                            /* address specifier # 1    */
        !           105: extern int  addr_2;                            /* address specifier # 2    */
        !           106: extern int  shift_count;                       /* # bytes to shift inst_buf*/
        !           107: extern int  no_page_faults;                    /* # addr translation faults*/
        !           108: extern int  exp_page_faults;                   /* # addr trans faults exp'd*/
        !           109: extern struct addd_data_t *data_ptr;           /* pointer to current data  */
        !           110: extern int  (*test_ptr)();                     /* ptr to results test func */
        !           111: 
        !           112: /*
        !           113:  * demand paging data definitions
        !           114: */
        !           115: extern int  os_b_op1;                          /* offset to byte operand 1 */
        !           116: extern int  os_b_op2;                          /* offset to byte operand 2 */
        !           117: extern int  os_op1;                            /* offset to operand # 1    */
        !           118: extern int  os_op2;                            /* offset to operand # 2    */
        !           119: extern int  os_ad_op1;                         /* offset to op. pointer #1 */
        !           120: extern int  os_ad_op2;                         /* offset to op. pointer #2 */
        !           121: extern int *adr_b_op1;                         /* ptr. to byte operand 1   */
        !           122: extern int *adr_bop1_lsw;                      /* ptr. to byte op 1's LSW  */
        !           123: extern int *adr_bop2_lsw;                      /* ptr. to byte op 2's LSW  */
        !           124: extern int *adr_b_op2;                         /* ptr. to byte operand 2   */
        !           125: extern int *adr_op1;                           /* ptr. to operand #1       */
        !           126: extern int *adr_op2;                           /* ptr. to operand #2       */
        !           127: extern int *adr_op1_lsw;                       /* ptr. to dbl op #1's LSW  */
        !           128: extern int *adr_op2_lsw;                       /* ptr. to dbl op #2's LSW  */
        !           129: extern int *adr_op1_ptr;                       /* ptr. to pointer to op #1 */
        !           130: extern int *adr_op2_ptr;                       /* ptr. to pointer to op #2 */
        !           131: 
        !           132: /*
        !           133:  * These definitions must agree with those in "diagnostics/INCLUDE"
        !           134: */
        !           135: #define        DMP_PG_0   0x36000
        !           136: #define        DMP_PG_1   DMP_PG_0+0x400
        !           137: #define        DMP_PG_2   DMP_PG_1+0x400
        !           138: #define        DMP_PG_3   DMP_PG_2+0x400
        !           139: #define        DMP_PG_4   DMP_PG_3+0x400
        !           140: #define        DMP_PG_5   DMP_PG_4+0x400
        !           141: #define DMP_PG_6   DMP_PG_5+0x400
        !           142: #define DMP_PG_7   DMP_PG_6+0x400
        !           143: 
        !           144: #define        DMP_OP_1   DMP_PG_3-4           /* 1st data word      */
        !           145: #define        DMP_OP_2   DMP_PG_7-4           /* 2nd data word      */

unix.superglobalmegacorp.com

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