--- BasiliskII/src/uae_cpu/readcpu.h 1999/10/28 15:33:25 1.2 +++ BasiliskII/src/uae_cpu/readcpu.h 2002/10/02 15:55:09 1.5 @@ -1,3 +1,6 @@ +#ifndef READCPU_H +#define READCPU_H + #ifdef __cplusplus extern "C" { #endif @@ -32,7 +35,8 @@ ENUMDECL { 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_CINVL, i_CINVP, i_CINVA, i_CPUSHL, i_CPUSHP, i_CPUSHA, i_MOVE16, - i_MMUOP + i_MMUOP, + i_EMULOP_RETURN, i_EMULOP } ENUMNAME (instrmnem); extern struct mnemolookup { @@ -53,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 { @@ -68,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; }; @@ -101,7 +118,8 @@ extern struct instr { 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); @@ -112,3 +130,5 @@ extern int nr_cpuop_funcs; #ifdef __cplusplus } #endif + +#endif /* READCPU_H */