Go to the source code of this file.
Data Structures | |
struct | I32_reg_t |
struct | I16_reg_t |
struct | I8_reg_t |
union | i386_general_register |
struct | i386_general_regs |
struct | i386_special_regs |
struct | i386_segment_regs |
struct | X86EMU_regs |
struct | X86EMU_sysEnv |
Defines | |
#define | R_AH gen.A.I8_reg.h_reg |
#define | R_AL gen.A.I8_reg.l_reg |
#define | R_BH gen.B.I8_reg.h_reg |
#define | R_BL gen.B.I8_reg.l_reg |
#define | R_CH gen.C.I8_reg.h_reg |
#define | R_CL gen.C.I8_reg.l_reg |
#define | R_DH gen.D.I8_reg.h_reg |
#define | R_DL gen.D.I8_reg.l_reg |
#define | R_AX gen.A.I16_reg.x_reg |
#define | R_BX gen.B.I16_reg.x_reg |
#define | R_CX gen.C.I16_reg.x_reg |
#define | R_DX gen.D.I16_reg.x_reg |
#define | R_EAX gen.A.I32_reg.e_reg |
#define | R_EBX gen.B.I32_reg.e_reg |
#define | R_ECX gen.C.I32_reg.e_reg |
#define | R_EDX gen.D.I32_reg.e_reg |
#define | R_SP spc.SP.I16_reg.x_reg |
#define | R_BP spc.BP.I16_reg.x_reg |
#define | R_SI spc.SI.I16_reg.x_reg |
#define | R_DI spc.DI.I16_reg.x_reg |
#define | R_IP spc.IP.I16_reg.x_reg |
#define | R_FLG spc.FLAGS |
#define | R_SP spc.SP.I16_reg.x_reg |
#define | R_BP spc.BP.I16_reg.x_reg |
#define | R_SI spc.SI.I16_reg.x_reg |
#define | R_DI spc.DI.I16_reg.x_reg |
#define | R_IP spc.IP.I16_reg.x_reg |
#define | R_FLG spc.FLAGS |
#define | R_ESP spc.SP.I32_reg.e_reg |
#define | R_EBP spc.BP.I32_reg.e_reg |
#define | R_ESI spc.SI.I32_reg.e_reg |
#define | R_EDI spc.DI.I32_reg.e_reg |
#define | R_EIP spc.IP.I32_reg.e_reg |
#define | R_EFLG spc.FLAGS |
#define | R_CS seg.CS |
#define | R_DS seg.DS |
#define | R_SS seg.SS |
#define | R_ES seg.ES |
#define | R_FS seg.FS |
#define | R_GS seg.GS |
#define | FB_CF 0x0001 |
#define | FB_PF 0x0004 |
#define | FB_AF 0x0010 |
#define | FB_ZF 0x0040 |
#define | FB_SF 0x0080 |
#define | FB_TF 0x0100 |
#define | FB_IF 0x0200 |
#define | FB_DF 0x0400 |
#define | FB_OF 0x0800 |
#define | F_ALWAYS_ON (0x0002) |
#define | F_MSK (FB_CF|FB_PF|FB_AF|FB_ZF|FB_SF|FB_TF|FB_IF|FB_DF|FB_OF) |
#define | F_CF 0x0001 |
#define | F_PF 0x0004 |
#define | F_AF 0x0010 |
#define | F_ZF 0x0040 |
#define | F_SF 0x0080 |
#define | F_TF 0x0100 |
#define | F_IF 0x0200 |
#define | F_DF 0x0400 |
#define | F_OF 0x0800 |
#define | TOGGLE_FLAG(flag) (M.x86.R_FLG ^= (flag)) |
#define | SET_FLAG(flag) (M.x86.R_FLG |= (flag)) |
#define | CLEAR_FLAG(flag) (M.x86.R_FLG &= ~(flag)) |
#define | ACCESS_FLAG(flag) (M.x86.R_FLG & (flag)) |
#define | CLEARALL_FLAG(m) (M.x86.R_FLG = 0) |
#define | CONDITIONAL_SET_FLAG(COND, FLAG) if (COND) SET_FLAG(FLAG); else CLEAR_FLAG(FLAG) |
#define | F_PF_CALC 0x010000 |
#define | F_ZF_CALC 0x020000 |
#define | F_SF_CALC 0x040000 |
#define | F_ALL_CALC 0xff0000 |
#define | SYSMODE_SEG_DS_SS 0x00000001 |
#define | SYSMODE_SEGOVR_CS 0x00000002 |
#define | SYSMODE_SEGOVR_DS 0x00000004 |
#define | SYSMODE_SEGOVR_ES 0x00000008 |
#define | SYSMODE_SEGOVR_FS 0x00000010 |
#define | SYSMODE_SEGOVR_GS 0x00000020 |
#define | SYSMODE_SEGOVR_SS 0x00000040 |
#define | SYSMODE_PREFIX_REPE 0x00000080 |
#define | SYSMODE_PREFIX_REPNE 0x00000100 |
#define | SYSMODE_PREFIX_DATA 0x00000200 |
#define | SYSMODE_PREFIX_ADDR 0x00000400 |
#define | SYSMODE_INTR_PENDING 0x10000000 |
#define | SYSMODE_EXTRN_INTR 0x20000000 |
#define | SYSMODE_HALTED 0x40000000 |
#define | SYSMODE_SEGMASK |
#define | SYSMODE_CLRMASK |
#define | INTR_SYNCH 0x1 |
#define | INTR_ASYNCH 0x2 |
#define | INTR_HALTED 0x4 |
#define | M _X86EMU_env |
Typedefs | |
typedef i386_general_regs | Gen_reg_t |
Functions | |
void | printk (const char *fmt,...) |
Variables | |
X86EMU_sysEnv | _X86EMU_env |
#define ACCESS_FLAG | ( | flag | ) | (M.x86.R_FLG & (flag)) |
#define CLEAR_FLAG | ( | flag | ) | (M.x86.R_FLG &= ~(flag)) |
#define CLEARALL_FLAG | ( | m | ) | (M.x86.R_FLG = 0) |
#define CONDITIONAL_SET_FLAG | ( | COND, | |||
FLAG | ) | if (COND) SET_FLAG(FLAG); else CLEAR_FLAG(FLAG) |
#define F_AF 0x0010 |
#define F_ALL_CALC 0xff0000 |
#define F_ALWAYS_ON (0x0002) |
#define F_CF 0x0001 |
#define F_DF 0x0400 |
#define F_IF 0x0200 |
#define F_MSK (FB_CF|FB_PF|FB_AF|FB_ZF|FB_SF|FB_TF|FB_IF|FB_DF|FB_OF) |
#define F_OF 0x0800 |
#define F_PF 0x0004 |
#define F_PF_CALC 0x010000 |
#define F_SF 0x0080 |
#define F_SF_CALC 0x040000 |
#define F_TF 0x0100 |
#define F_ZF 0x0040 |
#define F_ZF_CALC 0x020000 |
#define FB_AF 0x0010 |
#define FB_CF 0x0001 |
#define FB_DF 0x0400 |
#define FB_IF 0x0200 |
#define FB_OF 0x0800 |
#define FB_PF 0x0004 |
#define FB_SF 0x0080 |
#define FB_TF 0x0100 |
#define FB_ZF 0x0040 |
#define INTR_ASYNCH 0x2 |
#define INTR_HALTED 0x4 |
#define INTR_SYNCH 0x1 |
#define M _X86EMU_env |
#define R_AH gen.A.I8_reg.h_reg |
#define R_AL gen.A.I8_reg.l_reg |
#define R_AX gen.A.I16_reg.x_reg |
#define R_BH gen.B.I8_reg.h_reg |
#define R_BL gen.B.I8_reg.l_reg |
#define R_BP spc.BP.I16_reg.x_reg |
#define R_BP spc.BP.I16_reg.x_reg |
#define R_BX gen.B.I16_reg.x_reg |
#define R_CH gen.C.I8_reg.h_reg |
#define R_CL gen.C.I8_reg.l_reg |
#define R_CS seg.CS |
#define R_CX gen.C.I16_reg.x_reg |
#define R_DH gen.D.I8_reg.h_reg |
#define R_DI spc.DI.I16_reg.x_reg |
#define R_DI spc.DI.I16_reg.x_reg |
#define R_DL gen.D.I8_reg.l_reg |
#define R_DS seg.DS |
#define R_DX gen.D.I16_reg.x_reg |
#define R_EAX gen.A.I32_reg.e_reg |
#define R_EBP spc.BP.I32_reg.e_reg |
#define R_EBX gen.B.I32_reg.e_reg |
#define R_ECX gen.C.I32_reg.e_reg |
#define R_EDI spc.DI.I32_reg.e_reg |
#define R_EDX gen.D.I32_reg.e_reg |
#define R_EFLG spc.FLAGS |
#define R_EIP spc.IP.I32_reg.e_reg |
#define R_ES seg.ES |
#define R_ESI spc.SI.I32_reg.e_reg |
#define R_ESP spc.SP.I32_reg.e_reg |
#define R_FLG spc.FLAGS |
#define R_FLG spc.FLAGS |
#define R_FS seg.FS |
#define R_GS seg.GS |
#define R_IP spc.IP.I16_reg.x_reg |
#define R_IP spc.IP.I16_reg.x_reg |
#define R_SI spc.SI.I16_reg.x_reg |
#define R_SI spc.SI.I16_reg.x_reg |
#define R_SP spc.SP.I16_reg.x_reg |
#define R_SP spc.SP.I16_reg.x_reg |
#define R_SS seg.SS |
#define SET_FLAG | ( | flag | ) | (M.x86.R_FLG |= (flag)) |
#define SYSMODE_CLRMASK |
Value:
(SYSMODE_SEG_DS_SS | \ SYSMODE_SEGOVR_CS | \ SYSMODE_SEGOVR_DS | \ SYSMODE_SEGOVR_ES | \ SYSMODE_SEGOVR_FS | \ SYSMODE_SEGOVR_GS | \ SYSMODE_SEGOVR_SS | \ SYSMODE_PREFIX_DATA | \ SYSMODE_PREFIX_ADDR)
#define SYSMODE_EXTRN_INTR 0x20000000 |
#define SYSMODE_HALTED 0x40000000 |
#define SYSMODE_INTR_PENDING 0x10000000 |
#define SYSMODE_PREFIX_ADDR 0x00000400 |
#define SYSMODE_PREFIX_DATA 0x00000200 |
#define SYSMODE_PREFIX_REPE 0x00000080 |
#define SYSMODE_PREFIX_REPNE 0x00000100 |
#define SYSMODE_SEG_DS_SS 0x00000001 |
#define SYSMODE_SEGMASK |
Value:
(SYSMODE_SEG_DS_SS | \ SYSMODE_SEGOVR_CS | \ SYSMODE_SEGOVR_DS | \ SYSMODE_SEGOVR_ES | \ SYSMODE_SEGOVR_FS | \ SYSMODE_SEGOVR_GS | \ SYSMODE_SEGOVR_SS)
#define SYSMODE_SEGOVR_CS 0x00000002 |
#define SYSMODE_SEGOVR_DS 0x00000004 |
#define SYSMODE_SEGOVR_ES 0x00000008 |
#define SYSMODE_SEGOVR_FS 0x00000010 |
#define SYSMODE_SEGOVR_GS 0x00000020 |
#define SYSMODE_SEGOVR_SS 0x00000040 |
#define TOGGLE_FLAG | ( | flag | ) | (M.x86.R_FLG ^= (flag)) |
typedef struct i386_general_regs Gen_reg_t |
void printk | ( | const char * | fmt, | |
... | ||||
) |