--- BasiliskII/src/uae_cpu/readcpu.h 1999/10/03 14:16:26 1.1.1.1 +++ BasiliskII/src/uae_cpu/readcpu.h 2003/04/01 05:26:07 1.6 @@ -1,3 +1,6 @@ +#ifndef READCPU_H +#define READCPU_H + #ifdef __cplusplus extern "C" { #endif @@ -31,7 +34,9 @@ ENUMDECL { i_BFTST,i_BFEXTU,i_BFCHG,i_BFEXTS,i_BFCLR,i_BFFFO,i_BFSET,i_BFINS, i_PACK, i_UNPK, i_TAS, i_BKPT, i_CALLM, i_RTM, i_TRAPcc, i_MOVES, i_FPP, i_FDBcc, i_FScc, i_FTRAPcc, i_FBcc, i_FSAVE, i_FRESTORE, - i_MMUOP + i_CINVL, i_CINVP, i_CINVA, i_CPUSHL, i_CPUSHP, i_CPUSHA, i_MOVE16, + i_MMUOP, + i_EMULOP_RETURN, i_EMULOP } ENUMNAME (instrmnem); extern struct mnemolookup { @@ -52,8 +57,20 @@ ENUMDECL { } ENUMNAME (flaguse); ENUMDECL { + fl_normal = 0, + fl_branch = 1, + fl_jump = 2, + fl_return = 3, + fl_trap = 4, + fl_const_jump = 8, + + /* Instructions that can trap don't mark the end of a block */ + fl_end_block = 3 +} ENUMNAME (cflow_t); + +ENUMDECL { bit0, bit1, bitc, bitC, bitf, biti, bitI, bitj, bitJ, bitk, bitK, - bits, bitS, bitd, bitD, bitr, bitR, bitz, lastbit + bits, bitS, bitd, bitD, bitr, bitR, bitz, bitE, bitp, lastbit } ENUMNAME (bitvals); struct instr_def { @@ -67,6 +84,7 @@ struct instr_def { unsigned int flaguse:3; unsigned int flagset:3; } flaginfo[5]; + unsigned char cflow; unsigned char sduse; const char *opcstr; }; @@ -85,22 +103,16 @@ extern struct instr { unsigned int mnemo:8; unsigned int cc:4; unsigned int plev:2; -#ifdef sgi wordsizes size:2; amodes smode:5; unsigned int stype:3; amodes dmode:5; -#else - unsigned int size:2; - unsigned int smode:5; - unsigned int stype:3; - unsigned int dmode:5; -#endif unsigned int suse:1; unsigned int duse:1; unsigned int unused1:1; unsigned int clev:3; - unsigned int unused2:5; + unsigned int cflow:3; + unsigned int unused2:2; } *table68k; extern void read_table68k (void); @@ -111,3 +123,5 @@ extern int nr_cpuop_funcs; #ifdef __cplusplus } #endif + +#endif /* READCPU_H */