Modrm,
/* register is in low 3 bits of opcode */
ShortForm,
- /* special case for jump insns. */
- Jump,
+ /* special case for jump insns; value has to be 1 */
+#define JUMP 1
/* call and jump */
- JumpDword,
+#define JUMP_DWORD 2
/* loop and jecxz */
- JumpByte,
+#define JUMP_BYTE 3
/* special case for intersegment leaps/calls */
- JumpInterSegment,
+#define JUMP_INTERSEGMENT 4
+ /* absolute address for jump */
+#define JUMP_ABSOLUTE 5
+ Jump,
/* FP insn memory format bit, sized by 0x4 */
FloatMF,
/* src/dest swap for floats. */
unsigned int load:1;
unsigned int modrm:1;
unsigned int shortform:1;
- unsigned int jump:1;
- unsigned int jumpdword:1;
- unsigned int jumpbyte:1;
- unsigned int jumpintersegment:1;
+ unsigned int jump:3;
unsigned int floatmf:1;
unsigned int floatr:1;
unsigned int size:2;
Disp64,
/* Register which can be used for base or index in memory operand. */
BaseIndex,
- /* Absolute address for jump. */
- JumpAbsolute,
/* BYTE size. */
Byte,
/* WORD size. 2 byte */
unsigned int disp32s:1;
unsigned int disp64:1;
unsigned int baseindex:1;
- unsigned int jumpabsolute:1;
unsigned int byte:1;
unsigned int word:1;
unsigned int dword:1;