BSD 3 development
authorBill Joy <wnj@ucbvax.Berkeley.EDU>
Tue, 28 Aug 1979 10:57:49 +0000 (02:57 -0800)
committerBill Joy <wnj@ucbvax.Berkeley.EDU>
Tue, 28 Aug 1979 10:57:49 +0000 (02:57 -0800)
Work on file usr/src/cmd/adb/optab.c

Synthesized-from: 3bsd

usr/src/cmd/adb/optab.c [new file with mode: 0644]

diff --git a/usr/src/cmd/adb/optab.c b/usr/src/cmd/adb/optab.c
new file mode 100644 (file)
index 0000000..1ea4483
--- /dev/null
@@ -0,0 +1,120 @@
+#include "defs.h"
+SCCSID(@(#)optab.c     2.2);
+/*
+ * Argument access types
+ */
+#define ACCA   (8<<3)  /* address only */
+#define ACCR   (1<<3)  /* read */
+#define ACCW   (2<<3)  /* write */
+#define ACCM   (3<<3)  /* modify */
+#define ACCB   (4<<3)  /* branch displacement */
+#define ACCI   (5<<3)  /* XFC code */
+
+/*
+ * Argument data types
+ */
+#define TYPB   0       /* byte */
+#define TYPW   1       /* word */
+#define TYPL   2       /* long */
+#define TYPQ   3       /* quad */
+#define TYPF   4       /* floating */
+#define TYPD   5       /* double floating */
+
+
+TYPE   struct optab    *OPTAB;
+struct optab {
+       char *iname;
+       char val;
+       char nargs;
+       char argtype[6];
+} optab[] = {
+#define OP(a,b,c,d,e,f,g,h,i) {a,b,c,d,e,f,g,h,i}
+#include "/usr/src/cmd/as/instrs"
+0};
+
+#define SYSTAB struct systab
+SYSTAB {
+       int     argc;
+       char    *sname;
+} systab[] = {
+       1, "indir",
+       0, "exit",
+       0, "fork",
+       2, "read",
+       2, "write",
+       2, "open",
+       0, "close",
+       0, "wait",
+       2, "creat",
+       2, "link",
+       1, "unlink",
+       2, "exec",
+       1, "chdir",
+       0, "time",
+       3, "mknod",
+       2, "chmod",
+       2, "chown",
+       1, "break",
+       2, "stat",
+       2, "seek",
+       0, "getpid",
+       3, "mount",
+       1, "umount",
+       0, "setuid",
+       0, "getuid",
+       0, "stime",
+       3, "ptrace",
+       0, "alarm",
+       1, "fstat",
+       0, "pause",
+       1, "30",
+       1, "stty",
+       1, "gtty",
+       0, "access",
+       0, "nice",
+       0, "sleep",
+       0, "sync",
+       1, "kill",
+       0, "csw",
+       0, "setpgrp",
+       0, "tell",
+       0, "dup",
+       0, "pipe",
+       1, "times",
+       4, "profil",
+       0, "tiu",
+       0, "setgid",
+       0, "getgid",
+       2, "signal",
+       0, "49",
+       0, "50",
+       0, "51",
+       0, "52",
+       0, "53",
+       0, "54",
+       0, "55",
+       0, "56",
+       0, "57",
+       0, "58",
+       0, "59",
+       0, "60",
+       0, "61",
+       0, "62",
+       0, "63",
+};
+
+STRING regname[] = { "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
+                                       "r8", "r9", "r10","r11","ap", "fp", "sp", "pc"};
+STRING fltimm[] = {
+"0.5", "0.5625", "0.625", "0.6875", "0.75", "0.8125", "0.875", "0.9375",
+"1.0", "1.125", "1.25", "1.375", "1.5", "1.625", "1.75", "1.875",
+"2.0", "2.25", "2.5", "2.75", "3.0", "3.25", "3.5", "3.75",
+"4.0", "4.5", "5.0", "5.5", "6.0", "6.5", "7.0", "7.5",
+"8.0", "9.0", "10.0", "11.0", "12.0", "13.0", "14.0", "15.0",
+"16.0", "18.0", "20.0", "22.0", "24.0", "26.0", "28.0", "30.0",
+"32.0", "36.0", "40.0", "44.0", "48.0", "52.0", "56.0", "60.0",
+"64.0", "72.0", "80.0", "88.0", "96.0", "104.0", "112.0", "120.0"
+};
+
+char *fmtr = {"%r"};
+char *fmtR = {"%R"};