Annotation of 3BSD/cmd/adb/optab.c, revision 1.1

1.1     ! root        1: #include "defs.h"
        !             2: SCCSID(@(#)optab.c     2.2);
        !             3: /*
        !             4:  * Argument access types
        !             5:  */
        !             6: #define ACCA   (8<<3)  /* address only */
        !             7: #define ACCR   (1<<3)  /* read */
        !             8: #define ACCW   (2<<3)  /* write */
        !             9: #define ACCM   (3<<3)  /* modify */
        !            10: #define ACCB   (4<<3)  /* branch displacement */
        !            11: #define ACCI   (5<<3)  /* XFC code */
        !            12: 
        !            13: /*
        !            14:  * Argument data types
        !            15:  */
        !            16: #define TYPB   0       /* byte */
        !            17: #define TYPW   1       /* word */
        !            18: #define TYPL   2       /* long */
        !            19: #define TYPQ   3       /* quad */
        !            20: #define TYPF   4       /* floating */
        !            21: #define TYPD   5       /* double floating */
        !            22: 
        !            23: 
        !            24: TYPE   struct optab    *OPTAB;
        !            25: struct optab {
        !            26:        char *iname;
        !            27:        char val;
        !            28:        char nargs;
        !            29:        char argtype[6];
        !            30: } optab[] = {
        !            31: #define OP(a,b,c,d,e,f,g,h,i) {a,b,c,d,e,f,g,h,i}
        !            32: #include "/usr/src/cmd/as/instrs"
        !            33: 0};
        !            34: 
        !            35: #define SYSTAB struct systab
        !            36: SYSTAB {
        !            37:        int     argc;
        !            38:        char    *sname;
        !            39: } systab[] = {
        !            40:        1, "indir",
        !            41:        0, "exit",
        !            42:        0, "fork",
        !            43:        2, "read",
        !            44:        2, "write",
        !            45:        2, "open",
        !            46:        0, "close",
        !            47:        0, "wait",
        !            48:        2, "creat",
        !            49:        2, "link",
        !            50:        1, "unlink",
        !            51:        2, "exec",
        !            52:        1, "chdir",
        !            53:        0, "time",
        !            54:        3, "mknod",
        !            55:        2, "chmod",
        !            56:        2, "chown",
        !            57:        1, "break",
        !            58:        2, "stat",
        !            59:        2, "seek",
        !            60:        0, "getpid",
        !            61:        3, "mount",
        !            62:        1, "umount",
        !            63:        0, "setuid",
        !            64:        0, "getuid",
        !            65:        0, "stime",
        !            66:        3, "ptrace",
        !            67:        0, "alarm",
        !            68:        1, "fstat",
        !            69:        0, "pause",
        !            70:        1, "30",
        !            71:        1, "stty",
        !            72:        1, "gtty",
        !            73:        0, "access",
        !            74:        0, "nice",
        !            75:        0, "sleep",
        !            76:        0, "sync",
        !            77:        1, "kill",
        !            78:        0, "csw",
        !            79:        0, "setpgrp",
        !            80:        0, "tell",
        !            81:        0, "dup",
        !            82:        0, "pipe",
        !            83:        1, "times",
        !            84:        4, "profil",
        !            85:        0, "tiu",
        !            86:        0, "setgid",
        !            87:        0, "getgid",
        !            88:        2, "signal",
        !            89:        0, "49",
        !            90:        0, "50",
        !            91:        0, "51",
        !            92:        0, "52",
        !            93:        0, "53",
        !            94:        0, "54",
        !            95:        0, "55",
        !            96:        0, "56",
        !            97:        0, "57",
        !            98:        0, "58",
        !            99:        0, "59",
        !           100:        0, "60",
        !           101:        0, "61",
        !           102:        0, "62",
        !           103:        0, "63",
        !           104: };
        !           105: 
        !           106: STRING regname[] = { "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
        !           107:                                        "r8", "r9", "r10","r11","ap", "fp", "sp", "pc"};
        !           108: STRING fltimm[] = {
        !           109: "0.5", "0.5625", "0.625", "0.6875", "0.75", "0.8125", "0.875", "0.9375",
        !           110: "1.0", "1.125", "1.25", "1.375", "1.5", "1.625", "1.75", "1.875",
        !           111: "2.0", "2.25", "2.5", "2.75", "3.0", "3.25", "3.5", "3.75",
        !           112: "4.0", "4.5", "5.0", "5.5", "6.0", "6.5", "7.0", "7.5",
        !           113: "8.0", "9.0", "10.0", "11.0", "12.0", "13.0", "14.0", "15.0",
        !           114: "16.0", "18.0", "20.0", "22.0", "24.0", "26.0", "28.0", "30.0",
        !           115: "32.0", "36.0", "40.0", "44.0", "48.0", "52.0", "56.0", "60.0",
        !           116: "64.0", "72.0", "80.0", "88.0", "96.0", "104.0", "112.0", "120.0"
        !           117: };
        !           118: 
        !           119: char *fmtr = {"%r"};
        !           120: char *fmtR = {"%R"};

unix.superglobalmegacorp.com

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