|
|
1.1 root 1: typedef enum {
2: Dreg, Areg, Aind, Aipi, Apdi, Ad16, Ad8r,
3: absw, absl, PC16, PC8r, imm, imm0, imm1, imm2, immi, am_unknown, am_illg
4: } amodes;
5:
6: typedef enum {
7: i_ILLG,
8:
9: i_OR, i_AND, i_EOR, i_ORSR, i_ANDSR, i_EORSR,
10: i_SUB, i_SUBA, i_SUBX, i_SBCD,
11: i_ADD, i_ADDA, i_ADDX, i_ABCD,
12: i_NEG, i_NEGX, i_NBCD, i_CLR, i_NOT, i_TST,
13: i_BTST, i_BCHG, i_BCLR, i_BSET,
14: i_CMP, i_CMPM, i_CMPA,
15: i_MVPRM, i_MVPMR, i_MOVE, i_MOVEA, i_MVSR2, i_MV2SR,
16: i_SWAP, i_EXG, i_EXT, i_MVMEL, i_MVMLE,
17: i_TRAP, i_MVR2USP, i_MVUSP2R, i_RESET, i_NOP, i_STOP, i_RTE, i_RTD,
18: i_LINK, i_UNLK,
19: i_RTS, i_TRAPV, i_RTR,
20: i_JSR, i_JMP, i_BSR, i_Bcc,
21: i_LEA, i_PEA, i_DBcc, i_Scc,
22: i_DIVU, i_DIVS, i_MULU, i_MULS,
23: i_ASR, i_ASL, i_LSR, i_LSL, i_ROL, i_ROR, i_ROXL, i_ROXR,
24: i_ASRW, i_ASLW, i_LSRW, i_LSLW, i_ROLW, i_RORW, i_ROXLW, i_ROXRW,
25: i_CHK,
26: i_MOVEC2, i_MOVE2C, i_CAS, i_DIVL, i_MULL
27: } instrmnem;
28:
29: extern struct mnemolookup {
30: instrmnem mnemo;
31: const char *name;
32: } lookuptab[];
33:
34: typedef enum {
35: sz_unknown, sz_byte, sz_word, sz_long
36: } wordsizes;
37:
38: typedef enum {
39: bit0, bit1, bitc, bitC, bitf, biti, bitI, bitj, bitJ,
40: bits, bitS, bitd, bitD, bitr, bitR, bitz, lastbit
41: } bitvals;
42:
43: struct instr_def {
44: UWORD bits;
45: int n_variable;
46: char bitpos[16];
47: UWORD mask;
48: int plevel;
49: const char *opcstr;
50: };
51:
52: extern struct instr_def defs68k[];
53: extern int n_defs68k;
54:
55: extern struct instr {
56: instrmnem mnemo;
57: wordsizes size;
58: amodes dmode, smode;
59: unsigned char dreg;
60: unsigned char sreg;
61: unsigned int suse:1;
62: unsigned int duse:1;
63: unsigned int stype:2;
64: unsigned int cc:4;
65: unsigned int plev:2;
66: signed char dpos;
67: signed char spos;
68: long int handler;
69: } *table68k;
70:
71: extern void read_table68k (void);
72: extern void do_merges (void);
73: extern int get_no_mismatches (void);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.