This structure gives informations about the operand analyzed.
struct ARGTYPE { char ArgMnemonic[16]; long ArgType; long ArgSize; long AccessMode; MEMORYTYPE Memory; long SegmentReg; } ;
Members
ArgMnemonic
[out] This field sends back, when it is possible, the argument in ASCII format.
ArgType
[out] This field specifies the argument type. (MyDisasm.Argumentxx.ArgType & 0xFFFF0000) indicates if it is a register, a memory or a constant. LOWORD(MyDisasm.Argumentxx.ArgType) is only used if the operand is a REGISTER_TYPE. In that case, we retrieve the list of used registers. To get the complete list of constants used here, see the list of constants used by BeaEngine HERE
ArgSize
[out] This field sends back the size of the argument.
AccessMode
[out] This field indicates if the argument is modified or not (READ=0x1) or (WRITE=0x2).
Memory
[out] Structure MEMORYTYPE , filled only if MyDisasm.Argument1.ArgType == MEMORY_TYPE.
SegmentReg
[out] This field indicates, in the case of memory addressing mode, the segment register used :
#define ESReg 1 #define DSReg 2 #define FSReg 3 #define GSReg 4 #define CSReg 5 #define SSReg 6