opdis_addr_expr_t Struct Reference
[Data Model]

An address expression operand. More...

#include <model.h>

Data Fields

enum opdis_addr_expr_elem_t elements
enum opdis_addr_expr_shift_t shift
char scale
opdis_reg_t index
opdis_reg_t base
union {
   uint64_t   u
   int32_t   s
   opdis_abs_addr_t   a
displacement

Detailed Description

An address expression operand.

An address expression or "effective address" operand. This consists of a displacement or absolute address, a base register, an index register, a scale factor, and a scale operation. All of these components are optional. The general format in x86 is

          segment:[base + index * scale + displacement]

for Intel syntax and

          segment:displacement(base,index,scale)

for AT&T syntax.

In general, the scale operation is always a left shift, though in the ARM architecture additional scale operations can be specified.

See also:
opdis_op_t

The documentation for this struct was generated from the following file:

Generated on Wed Mar 10 14:30:46 2010 for Opdis Disassembly Library by  doxygen 1.6.1