BSD 4 development
[unix-history] / usr / src / cmd / adb / optab.c
CommitLineData
c3bd281f
BJ
1#include "defs.h"
2static 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
24TYPE struct optab *OPTAB;
25struct 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"
330};
34
35#define SYSTAB struct systab
36SYSTAB {
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
106STRING regname[] = { "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
107 "r8", "r9", "r10","r11","ap", "fp", "sp", "pc"};
108STRING 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
119char *fmtr = {"%r"};
120char *fmtR = {"%R"};