enc_prvt.h File Reference


Classes

struct  Rex
 Represents the REX part of instruction. More...
struct  SIB
 Describes SIB (scale,index,base) byte. More...
struct  ModRM
 Describes ModRM byte. More...
struct  OpcodeInfo
 exactly the same as EncoderBase.OpcodeDesc, but also holds info about platform on which the opcode is applicable. More...
struct  MnemonicInfo
 
See also:
same structure as EncoderBase.MnemonicDesc, but carries MnemonicInfo.OpcodeInfo[] instead of OpcodeDesc[].
More...

Defines

#define MF_NONE   (0x00000000)
 Operation has no special properties.
#define MF_AFFECTS_FLAGS   (0x00000001)
 Operation affects flags.
#define MF_USES_FLAGS   (0x00000002)
 Operation uses flags - conditional operations, ADC/SBB/ETC.
#define MF_CONDITIONAL   (0x00000004)
 Operation is conditional - MOVcc/SETcc/Jcc/ETC.
#define MF_SYMMETRIC   (0x00000008)
 Operation is symmetric - its args can be swapped (ADD/MUL/etc).
#define MF_SAME_ARG_NO_USE   (0x00000010)
 Operation is XOR-like - XOR, SUB - operations of 'arg,arg' is pure def, without use.

Enumerations

enum  OpcodeByteKind {
  OpcodeByteKind_ZeroOpcodeByte = 0x0100, OpcodeByteKind_SlashR = 0x0200, OpcodeByteKind_SlashNum = 0x0300, OpcodeByteKind_ib = 0x0400,
  OpcodeByteKind_iw = 0x0500, OpcodeByteKind_id = 0x0600, OpcodeByteKind_cb = 0x0800, OpcodeByteKind_cw = 0x0900,
  OpcodeByteKind_cd = 0x0A00, OpcodeByteKind_rb = 0x0E00, OpcodeByteKind_rw = 0x0F00, OpcodeByteKind_rd = 0x1000,
  OpcodeByteKind_plus_i = 0x1400, OpcodeByteKind_EMPTY = 0xFFFE, OpcodeByteKind_LAST = 0xFFFF, OpcodeByteKind_KindMask = 0xFF00,
  OpcodeByteKind_OpcodeMask = 0x00FF
}
 
Author:
Alexander V.
More...


Define Documentation

#define MF_NONE   (0x00000000)

Operation has no special properties.

#define MF_AFFECTS_FLAGS   (0x00000001)

Operation affects flags.

#define MF_USES_FLAGS   (0x00000002)

Operation uses flags - conditional operations, ADC/SBB/ETC.

#define MF_CONDITIONAL   (0x00000004)

Operation is conditional - MOVcc/SETcc/Jcc/ETC.

#define MF_SYMMETRIC   (0x00000008)

Operation is symmetric - its args can be swapped (ADD/MUL/etc).

#define MF_SAME_ARG_NO_USE   (0x00000010)

Operation is XOR-like - XOR, SUB - operations of 'arg,arg' is pure def, without use.


Enumeration Type Documentation

enum OpcodeByteKind

Author:
Alexander V.

Astapchuk

Version:
Revision
1.1.2.2.4.4
Enumerator:
OpcodeByteKind_ZeroOpcodeByte 
OpcodeByteKind_SlashR 
OpcodeByteKind_SlashNum 
OpcodeByteKind_ib 
OpcodeByteKind_iw 
OpcodeByteKind_id 
OpcodeByteKind_cb 
OpcodeByteKind_cw 
OpcodeByteKind_cd 
OpcodeByteKind_rb 
OpcodeByteKind_rw 
OpcodeByteKind_rd 
OpcodeByteKind_plus_i 
OpcodeByteKind_EMPTY  a special marker, means 'no opcode on the given position' used in opcodes array, to specify the empty slot, say to fill an em64t-specific opcode on ia32.

last 'e' made lowercase to avoid a mess with 'F' in OpcodeByteKind_LAST .

OpcodeByteKind_LAST  a special marker, means 'no more opcodes in the array' used in in opcodes array to show that there are no more opcodes in the array for a given mnemonic.
OpcodeByteKind_KindMask  a mask to extract the OpcodeByteKind
OpcodeByteKind_OpcodeMask  a mask to extract the opcode byte when presented


Genereated on Tue Mar 11 19:25:41 2008 by Doxygen.

(c) Copyright 2005, 2008 The Apache Software Foundation or its licensors, as applicable.