B2R2


B2R2.FrontEnd.BinLifter.Intel Namespace

Type/Module Description

Basis

Disp

Displacement.

EVEXPrefix

IntelInstruction

The internal representation for an Intel instruction used by our disassembler and lifter.

IntelInternalInstruction

IntelParser

Parser for Intel (x86 or x86-64) instructions. Parser will return a platform-agnostic instruction type (Instruction).

IntelRegisterBay

IntelRegisterSet (Module)

IntelRegisterSet (Type)

IntelTranslationContext

Translation context for Intel (x86 or x86-64) instructions.

JumpTarget

Jump target of a branch instruction.

MPref

Mandatory prefixes. The 66H, F2H, and F3H prefixes are mandatory for opcode extensions.

OD

Offset

Opcode

Intel opcodes. This type should be generated using scripts/genOpcode.fsx from the `IntelSupportedOpcodes.txt` file.

Operand

We define four different types of X86 operands: register, memory, direct address, and immediate.

Operands

A set of operands in an X86 instruction.

OperandSize

OpGroup

Opcode groups defined in manual Vol 2. Table A-6.

OprDesc

Operand descriptor, which describes the shape of operands in an instruction.

Prefix

Instruction prefixes.

RegGrp

We define 8 different RegGrp types. Intel instructions use an integer value such as a REG field of a ModR/M value.

Register (Module)

This module exposes several useful functions to handle Intel registers.

Register (Type)

Registers for x86 (and x86-64).

Internally, a Register is represented with an integer (we use only 22 bits). The most significant 10 bits (from 12th to 21th bits) represent the size of the register. The next 4 bits (from 8th to 11th bits) represent the register kind, and the reset of 8 bits are used to represent a register ID. There are currently 13 kinds of registers including GP, FPU, MMX, etc.

 21 ... 13 12 11 10 09 08 07 06 05 04 03 02 01 00 (bit position)
 +------------+----------+----------------------+
 |  Size      | Kind     |  Register ID.        |
 +------------+----------+----------------------+

REXPrefix

REX prefixes.

Scale

The scale of Scaled Index.

ScaledIndex

Scaled index.

Selector

SzCond

Specific conditions for determining the size of operands. (See Table A-1, Appendix A.2.5 of Vol. 2D).

UnknownRegException

This exception occurs when an UnknownReg is explicitly used. This exception should not happen in general.

VEXInfo

Information about Intel vector extension.

VEXType

Types of VEX (Vector Extension).

ZeroingOrMerging

Vector destination merging/zeroing: P[23] encodes the destination result behavior which either zeroes the masked elements or leave masked element unchanged.