regs.h File Reference

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 struct
i386_general_regs 
Gen_reg_t

Functions

void printk (const char *fmt,...)

Variables

X86EMU_sysEnv _X86EMU_env


Define Documentation

#define ACCESS_FLAG ( flag   )     (M.x86.R_FLG & (flag))

#define CLEAR_FLAG ( flag   )     (M.x86.R_FLG &= ~(flag))

#define CLEARALL_FLAG (  )     (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:

#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:

#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 Documentation

typedef struct i386_general_regs Gen_reg_t


Function Documentation

void printk ( const char *  fmt,
  ... 
)


Variable Documentation

X86EMU_sysEnv _X86EMU_env