|
|
1.1 ! root 1: #include "defs.h" ! 2: /* ! 3: * Argument access types ! 4: */ ! 5: #define ACCA (8<<3) /* address only */ ! 6: #define ACCR (1<<3) /* read */ ! 7: #define ACCW (2<<3) /* write */ ! 8: #define ACCM (3<<3) /* modify */ ! 9: #define ACCB (4<<3) /* branch displacement */ ! 10: #define ACCI (5<<3) /* XFC code */ ! 11: ! 12: /* ! 13: * Argument data types ! 14: */ ! 15: #define TYPB 0 /* byte */ ! 16: #define TYPW 1 /* word */ ! 17: #define TYPL 2 /* long */ ! 18: #define TYPQ 3 /* quad */ ! 19: #define TYPF 4 /* floating */ ! 20: #define TYPD 5 /* double floating */ ! 21: ! 22: ! 23: typedef struct optab *OPTAB; ! 24: struct optab { ! 25: char *iname; ! 26: char val; ! 27: char nargs; ! 28: char argtype[6]; ! 29: } optab[] = { ! 30: #define OP(a,b,c,d,e,f,g,h,i) {a,b,c,d,e,f,g,h,i} ! 31: #include "instrs" ! 32: 0}; ! 33: ! 34: #define SYSTAB struct systab ! 35: ! 36: char *regname[] = { "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", ! 37: "r8", "r9", "r10","r11","ap", "fp", "sp", "pc"}; ! 38: char *fltimm[] = { ! 39: "0.5", "0.5625", "0.625", "0.6875", "0.75", "0.8125", "0.875", "0.9375", ! 40: "1.0", "1.125", "1.25", "1.375", "1.5", "1.625", "1.75", "1.875", ! 41: "2.0", "2.25", "2.5", "2.75", "3.0", "3.25", "3.5", "3.75", ! 42: "4.0", "4.5", "5.0", "5.5", "6.0", "6.5", "7.0", "7.5", ! 43: "8.0", "9.0", "10.0", "11.0", "12.0", "13.0", "14.0", "15.0", ! 44: "16.0", "18.0", "20.0", "22.0", "24.0", "26.0", "28.0", "30.0", ! 45: "32.0", "36.0", "40.0", "44.0", "48.0", "52.0", "56.0", "60.0", ! 46: "64.0", "72.0", "80.0", "88.0", "96.0", "104.0", "112.0", "120.0" ! 47: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.