Annotation of 43BSDReno/bin/adb/adb.vax/optab.c, revision 1.1

1.1     ! root        1: #ifndef lint
        !             2: static char optab_sccsid[] = "@(#)optab.c      4.5 (Berkeley) 1/16/89";
        !             3: #endif
        !             4: 
        !             5: /*
        !             6:  * adb - (read-only) tables for VAX instruction decoding
        !             7:  */
        !             8: 
        !             9: #define        ADB
        !            10: #undef INSTTAB
        !            11: 
        !            12: /*
        !            13:  * Pick up definitions for insttab from the assembler, and also
        !            14:  * the arrays ty_NORELOC and ty_nbyte (and soon ty_float);
        !            15:  * then, make insttab.
        !            16:  */
        !            17: #include <sys/types.h>
        !            18: #include "instrs.h"
        !            19: #include "assizetab.c"
        !            20: 
        !            21: struct insttab insttab[] = {
        !            22: #include "instrs.adb"
        !            23:        0
        !            24: };
        !            25: 
        !            26: /*
        !            27:  * Register names, and floating point immediate constants.
        !            28:  * The f.p. constants can be derived from the expression
        !            29:  *
        !            30:  *     fp = (.5 + (n & 7) / 16.0) x (2 ^ (n >> 3))
        !            31:  *
        !            32:  * or, alternatively,
        !            33:  *
        !            34:  *     union { int i; float f; } u; u.i = (n << 3) | (1 << 14); u.f
        !            35:  *
        !            36:  * but there are only 64 of them, and this is simpler.
        !            37:  */
        !            38: char *regname[16] = {
        !            39:        "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
        !            40:        "r8", "r9", "r10","r11","ap", "fp", "sp", "pc"
        !            41: };
        !            42: char *fltimm[64] = {
        !            43:        "0.5", "0.5625", "0.625", "0.6875", "0.75", "0.8125", "0.875", "0.9375",
        !            44:        "1.0", "1.125", "1.25", "1.375", "1.5", "1.625", "1.75", "1.875",
        !            45:        "2.0", "2.25", "2.5", "2.75", "3.0", "3.25", "3.5", "3.75",
        !            46:        "4.0", "4.5", "5.0", "5.5", "6.0", "6.5", "7.0", "7.5",
        !            47:        "8.0", "9.0", "10.0", "11.0", "12.0", "13.0", "14.0", "15.0",
        !            48:        "16.0", "18.0", "20.0", "22.0", "24.0", "26.0", "28.0", "30.0",
        !            49:        "32.0", "36.0", "40.0", "44.0", "48.0", "52.0", "56.0", "60.0",
        !            50:        "64.0", "72.0", "80.0", "88.0", "96.0", "104.0", "112.0", "120.0"
        !            51: };

unix.superglobalmegacorp.com

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