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

📄 ioperand.inc

📁 比dos下的debug更好的debug程序源码
💻 INC
字号:
;
; GRDB
;
; Copyright(c) LADsoft
;
; David Lindauer, gclind01@starbase.spd.louisville.edu
;
FALSE = 0
TRUE = 1

TAB_ARGPOS =12

REG_eAX =0
REG_DX =2

OM_FSTREG =18
OM_CRX  =17
OM_DRX  =16
OM_TRX  =15
OM_SUD  =13
OM_PORT	  =    12
OM_INT    = 11
OM_SHIFT   =10
OM_RETURN  =9
OM_SHORTBRANCH  =8
OM_LONGBRANCH  =7
OM_FARBRANCH  =6
OM_ABSOLUTE  =5
OM_IMMEDIATE = 4
OM_REG  =3
OM_SEGMENT  =2
OM_BASED =1

;// Generic
OMF_ADR32 =0
OMF_OP32 =1
OMF_BYTE =2
OMF_FST =3
OMF_FSTTAB =4
OM_FTAB =5
OMF_BASE = 8
;// base & immediate specific
OMF_SCALED =OMF_BASE
OMF_SIGNED_OFFSET = OMF_BASE + 1
OMF_WORD_OFFSET =(OMF_BASE + 2)
OMF_OFFSET =((1 SHL OMF_SIGNED_OFFSET) OR (1 SHL OMF_WORD_OFFSET))
;// shift specific
OMF_CL	=OMF_BASE
;// Port specific
OMF_DX  =OMF_BASE
;// Immediate specific
OMF_SIGNED =OMF_BASE

SG_ES =1
SG_CS =2
SG_SS =4
SG_DS =8
SG_FS =16
SG_GS =32
SG_OPSIZ =64
SG_ADRSIZ =128
SG_REPNZ =256
SG_REPZ =512
SG_REPNC =1024
SG_REPC =2048
SG_TWOBYTEOP =4096

SY_SIGNEDOFS =1
SY_WORDOFS =2
SY_BYTEOFS =3
SY_ABSOLUTE =4
SY_SIGNEDIMM =5
SY_WORDIMM =6
SY_BYTEIMM =7
SY_PORT =8
SY_INTR =9
SY_RETURN =10
SY_ABSBRANCH =11
SY_LONGBRANCH =12
SY_SHORTBRANCH =13
SY_SHIFT =14
SY_SEGMENT =15

MOD_NOOFS =0
MOD_SIGNED =1
MOD_ADDR =2
MOD_REG =3

RM_16_ABSOLUTE =6
RM_32_ABSOLUTE =5
RM_32_SCALED =4
RM_32_STACKINDEX =4

MODX	MACRO	rrr
	mov	al,fs:[rrr + 1]
	shr	al,6
ENDM

REG	MACRO	rrr
	mov	al,fs:[rrr + 1]
	shr	al,3
	and	al,7
ENDM

RM	MACRO	rrr
	mov	al,fs:[rrr + 1]
	and	al,7
ENDM

LONG	MACRO	rrr
	mov	eax,fs:[rrr]
ENDM

UINT	MACRO	rrr
	movzx	eax,word ptr fs:[rrr]
ENDM

SIGNEDOFS 	MACRO	rrr
	movsx	eax,fs:[rrr]
ENDM

B01	MACRO
	and	al,3
ENDM

B12	MACRO
	shr	eax,1
	and	al,3
ENDM

B02	MACRO
	and	al,7
ENDM

B35	MACRO
	shr	eax,3
	and	al,7
ENDM

B45	MACRO
	shr	eax,4
	and	al,3
ENDM

operand	STRUC
oeflags		dw	?
override	dw	?
address		dd	?
oeseg		dw	?
code		db	?
thereg		db	?
scalereg 	db	?
scale		db	?
operand ENDS

OPERANDSIZE = SIZEOF operand

⌨️ 快捷键说明

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