Annotation of 41BSD/cmd/adb/optab.c, revision 1.1.1.1

1.1       root        1: #include "defs.h"
                      2: static char sccsid[] = "%Z%%M% %I% %G%";
                      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.