⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 support.h

📁 DOSBox emulates a full x86 pc with sound and dos. Its main use is to run old dosgames on platforms w
💻 H
字号:
enum {	L_N=0,	L_SKIP,	/* Grouped ones using MOD/RM */	L_MODRM,L_POPwRM,L_POPdRM,		L_Ib,L_Iw,L_Id,	L_Ibx,L_Iwx,L_Idx,				//Sign extend	L_Ifw,L_Ifd,	L_OP,	L_REGb,L_REGw,L_REGd,	L_REGbIb,L_REGwIw,L_REGdId,	L_POPw,L_POPd,	L_POPfw,L_POPfd,	L_SEG,	L_INTO,	L_VAL,	L_PRESEG,	L_DOUBLE,	L_PREOP,L_PREADD,L_PREREP,L_PREREPNE,	L_STRING,/* Direct ones */	D_IRETw,D_IRETd,	D_PUSHAw,D_PUSHAd,	D_POPAw,D_POPAd,	D_POPSEGw,D_POPSEGd,	D_DAA,D_DAS,	D_AAA,D_AAS,	D_CBW,D_CWDE,	D_CWD,D_CDQ,	D_SETALC,	D_XLAT,	D_CLI,D_STI,D_STC,D_CLC,D_CMC,D_CLD,D_STD,	D_NOP,D_WAIT,	D_ENTERw,D_ENTERd,	D_LEAVEw,D_LEAVEd,		D_RETFw,D_RETFd,	D_RETFwIw,D_RETFdIw,	D_POPF,D_PUSHF,	D_SAHF,D_LAHF,	D_CPUID,	D_HLT,D_CLTS,	D_LOCK,D_ICEBP,	L_ERROR,};enum {	O_N=t_LASTFLAG,	O_COND,	O_XCHG_AX,O_XCHG_EAX,	O_IMULRw,O_IMULRd,	O_BOUNDw,O_BOUNDd,	O_CALLNw,O_CALLNd,	O_CALLFw,O_CALLFd,	O_JMPFw,O_JMPFd,	O_OPAL,O_ALOP,	O_OPAX,O_AXOP,	O_OPEAX,O_EAXOP,	O_INT,	O_SEGDS,O_SEGES,O_SEGFS,O_SEGGS,O_SEGSS,	O_LOOP,O_LOOPZ,O_LOOPNZ,O_JCXZ,	O_INb,O_INw,O_INd,	O_OUTb,O_OUTw,O_OUTd,	O_NOT,O_AAM,O_AAD,	O_MULb,O_MULw,O_MULd,	O_IMULb,O_IMULw,O_IMULd,	O_DIVb,O_DIVw,O_DIVd,	O_IDIVb,O_IDIVw,O_IDIVd,	O_CBACK,	O_DSHLw,O_DSHLd,	O_DSHRw,O_DSHRd,	O_C_O	,O_C_NO	,O_C_B	,O_C_NB	,O_C_Z	,O_C_NZ	,O_C_BE	,O_C_NBE,	O_C_S	,O_C_NS	,O_C_P	,O_C_NP	,O_C_L	,O_C_NL	,O_C_LE	,O_C_NLE,	O_GRP6w,O_GRP6d,	O_GRP7w,O_GRP7d,	O_M_CRx_Rd,O_M_Rd_CRx,	O_M_DRx_Rd,O_M_Rd_DRx,	O_M_TRx_Rd,O_M_Rd_TRx,	O_LAR,O_LSL,	O_ARPL,		O_BTw,O_BTSw,O_BTRw,O_BTCw,	O_BTd,O_BTSd,O_BTRd,O_BTCd,	O_BSFw,O_BSRw,O_BSFd,O_BSRd,	O_BSWAP,	O_FPU,};enum {	S_N=0,	S_C_Eb,	S_Eb,S_Gb,S_EbGb,	S_Ew,S_Gw,S_EwGw,	S_Ed,S_Gd,S_EdGd,S_EdMw,		S_REGb,S_REGw,S_REGd,	S_PUSHw,S_PUSHd,	S_SEGm,	S_SEGGw,S_SEGGd,		S_AIPw,S_C_AIPw,	S_AIPd,S_C_AIPd,	S_IP,S_IPIw,};enum {	R_OUTSB,R_OUTSW,R_OUTSD,	R_INSB,R_INSW,R_INSD,	R_MOVSB,R_MOVSW,R_MOVSD,	R_LODSB,R_LODSW,R_LODSD,	R_STOSB,R_STOSW,R_STOSD,	R_SCASB,R_SCASW,R_SCASD,	R_CMPSB,R_CMPSW,R_CMPSD,};enum {	M_None=0,	M_Ebx,M_Eb,M_Gb,M_EbGb,M_GbEb,	M_Ewx,M_Ew,M_Gw,M_EwGw,M_GwEw,M_EwxGwx,M_EwGwt,	M_Edx,M_Ed,M_Gd,M_EdGd,M_GdEd,M_EdxGdx,M_EdGdt,		M_EbIb,M_EwIb,M_EdIb,	M_EwIw,M_EwIbx,M_EwxIbx,M_EwxIwx,M_EwGwIb,M_EwGwCL,	M_EdId,M_EdIbx,M_EdGdIb,M_EdGdCL,		M_Efw,M_Efd,		M_Ib,M_Iw,M_Id,	M_SEG,M_EA,	M_GRP,	M_GRP_Ib,M_GRP_CL,M_GRP_1,	M_POPw,M_POPd,};struct OpCode {	Bit8u load,op,save,extra;};struct FullData {	Bitu entry;	Bitu rm;	EAPoint rm_eaa;	Bitu rm_off;	Bitu rm_eai;	Bitu rm_index;	Bitu rm_mod;	OpCode code;	EAPoint cseip;#ifdef WORDS_BIGENDIAN	union {		Bit32u dword[1];		Bit32s dwords[1];		Bit16u word[2];		Bit16s words[2];		Bit8u byte[4];		Bit8s bytes[4];		} blah1,blah2,blah_imm;#else	union {			Bit8u b;Bit8s bs;		Bit16u w;Bit16s ws;		Bit32u d;Bit32s ds;	} op1,op2,imm;#endif	Bitu new_flags;	struct {		EAPoint base;	} seg;	Bitu cond;	bool repz;	Bitu prefix;};/* Some defines to get the names correct. */#ifdef WORDS_BIGENDIAN#define inst_op1_b  inst.blah1.byte[3]#define inst_op1_bs inst.blah1.bytes[3]#define inst_op1_w  inst.blah1.word[1]#define inst_op1_ws inst.blah1.words[1]#define inst_op1_d  inst.blah1.dword[0]#define inst_op1_ds inst.blah1.dwords[0]#define inst_op2_b  inst.blah2.byte[3]#define inst_op2_bs inst.blah2.bytes[3]#define inst_op2_w  inst.blah2.word[1]#define inst_op2_ws inst.blah2.words[1]#define inst_op2_d  inst.blah2.dword[0]#define inst_op2_ds inst.blah2.dwords[0]#define inst_imm_b  inst.blah_imm.byte[3]#define inst_imm_bs inst.blah_imm.bytes[3]#define inst_imm_w  inst.blah_imm.word[1]#define inst_imm_ws inst.blah_imm.words[1]#define inst_imm_d  inst.blah_imm.dword[0]#define inst_imm_ds inst.blah_imm.dwords[0]#else#define inst_op1_b  inst.op1.b#define inst_op1_bs inst.op1.bs#define inst_op1_w  inst.op1.w#define inst_op1_ws inst.op1.ws#define inst_op1_d  inst.op1.d#define inst_op1_ds inst.op1.ds#define inst_op2_b  inst.op2.b#define inst_op2_bs inst.op2.bs#define inst_op2_w  inst.op2.w#define inst_op2_ws inst.op2.ws#define inst_op2_d  inst.op2.d#define inst_op2_ds inst.op2.ds#define inst_imm_b  inst.imm.b#define inst_imm_bs inst.imm.bs#define inst_imm_w  inst.imm.w#define inst_imm_ws inst.imm.ws#define inst_imm_d  inst.imm.d#define inst_imm_ds inst.imm.ds#endif#define PREFIX_NONE		0x0#define PREFIX_ADDR		0x1#define PREFIX_SEG		0x2#define PREFIX_REP		0x4

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -