IDA SDK

- Main Page
- Header Files
- Classes
- Modules

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Attributes | Public Member Functions | List of all members
insn_t Class Reference
Instruction

## Detailed Description

Structure to hold information about an instruction.

This structure is filled by the analysis step of IDP and used by the emulation and conversion to text steps. The kernel uses this structure too. All structure fields except cs, ip, ea, and op_t::n,op_t::flags of Operands are initialized to zero by the kernel. The rest should be filled by ana().

## Public Attributes
ea_t | cs
| Current segment base paragraph. Initialized by the kernel.
ea_t | ip
| Virtual address of the instruction (address within the segment). More...
ea_t | ea
| Linear address of the instruction. More...
uint16 | itype
| Internal code of instruction (only for canonical insns - not user defined!). More...
uint16 | size
| Size of instruction in bytes. More...
union {
uint16 auxpref
| processor dependent field
struct {
uchar low
uchar high
} auxpref_chars
| This structure is defined for your convenience only.
}; |
char | segpref
| processor dependent field
char | insnpref
| processor dependent field
op_t | Operands [UA_MAXOP]
| array of operands
char | flags
| Instruction flags

## Public Member Functions
bool | is_canon_insn (void) const
| see processor_t::is_canon_insn()
uint32 | get_canon_feature (void) const
| see instruc_t::feature
const char * | get_canon_mnem (void) const
| see instruc_t::name
bool | is_macro (void) const
| Is a macro instruction?

## Member Data Documentation

ea_t insn_t::ip

Virtual address of the instruction (address within the segment).

Initialized by the kernel.

ea_t insn_t::ea

Linear address of the instruction.

Initialized by the kernel.

uint16 insn_t::itype

Internal code of instruction (only for canonical insns - not user defined!).

IDP should define its own instruction codes. These codes are usually defined in ins.hpp. The array of instruction names and features (ins.cpp) is accessed using this code.

uint16 insn_t::size

Size of instruction in bytes.

The analyzer should put here the actual size of the instruction.

The documentation for this class was generated from the following files:

- ua.hpp
- idp.hpp