Package envi :: Package archs :: Package i386 :: Module disasm
[hide private]
[frames] | no frames]

Module disasm

source code

The guts for the i386 envi opcode disassembler.

Classes [hide private]
  i386RegOper
  i386ImmOper
An operand representing an immediate.
  i386PcRelOper
This is the operand used for EIP relative offsets for operands on instructions like jmp/call
  i386RegMemOper
An operand which represents the result of reading/writting memory from the dereference (with possible displacement) from a given register.
  i386ImmMemOper
An operand which represents the dereference (memory read/write) of a memory location associated with an immediate.
  i386SibOper
An operand which represents the result of reading/writting memory from the dereference (with possible displacement) from a given register.
  i386Opcode
  i386Disasm
Functions [hide private]
 
addrToName(mcanv, va) source code
Variables [hide private]
  all_tables = [(tbl32_Main, 0, 0xff, 0, 0xff), (tbl32_0F, 0, 0x...
  INSTR_PREFIX = 0x0001
  PREFIX_LOCK = 0x0002
  PREFIX_REPNZ = 0x0004
  PREFIX_REPZ = 0x0008
  PREFIX_REP = 0x0010
  PREFIX_REP_SIMD = 0x0020
  PREFIX_OP_SIZE = 0x0040
  PREFIX_ADDR_SIZE = 0x0080
  PREFIX_SIMD = 0x0100
  PREFIX_CS = 0x0200
  PREFIX_SS = 0x0400
  PREFIX_DS = 0x0800
  PREFIX_ES = 0x1000
  PREFIX_FS = 0x2000
  PREFIX_GS = 0x4000
  PREFIX_REG_MASK = 0x8000
  RMETA_LOW8 = 0x00080000
  RMETA_HIGH8 = 0x08080000
  RMETA_LOW16 = 0x00100000
  RMETA_MASK = 0xffff0000
  RMETA_NMASK = 0x0000ffff
  i386_prefixes = [None for i in range(256)]
  scale_lookup = 1, 2, 4, 8
  priv_lookup = {"int": True, "in": True, "out": True, "insb": T...
  iflag_lookup = {opcode86.INS_RET: envi.IF_NOFALL | envi.IF_RET...
  sizenames = ["" for x in range(17)]
  operand_range = 2, 3, 4
  MODE_16 = 0
  MODE_32 = 1
  MODE_64 = 2
Variables Details [hide private]

all_tables

Value:
[(tbl32_Main, 0, 0xff, 0, 0xff), (tbl32_0F, 0, 0xff, 0, 0xff), (tbl32_\
80, 3, 0x07, 0, 0xff), (tbl32_81, 3, 0x07, 0, 0xff), (tbl32_82, 3, 0x0\
7, 0, 0xff), (tbl32_83, 3, 0x07, 0, 0xff), (tbl32_C0, 3, 0x07, 0, 0xff\
), (tbl32_C1, 3, 0x07, 0, 0xff), (tbl32_D0, 3, 0x07, 0, 0xff), (tbl32_\
D1, 3, 0x07, 0, 0xff), (tbl32_D2, 3, 0x07, 0, 0xff), (tbl32_D3, 3, 0x0\
7, 0, 0xff), (tbl32_F6, 3, 0x07, 0, 0xff), (tbl32_F7, 3, 0x07, 0, 0xff\
), (tbl32_FE, 3, 0x07, 0, 0xff), (tbl32_FF, 3, 0x07, 0, 0xff), (tbl32_\
0F00, 3, 0x07, 0, 0xff), (tbl32_0F01_00BF, 3, 0x07, 0, 0xbf, 42), (tbl\
...

priv_lookup

Value:
{"int": True, "in": True, "out": True, "insb": True, "outsb": True, "i\
nsd": True, "outsd": True, "vmcall": True, "vmlaunch": True, "vmresume\
": True, "vmxoff": True, "vmread": True, "vmwrite": True, "rsm": True,\
 "lar": True, "lsl": True, "clts": True, "invd": True, "wbinvd": True,\
 "wrmsr": True, "rdmsr": True, "sysexit": True, "lgdt": True, "lidt": \
True, "lmsw": True, "monitor": True, "mwait": True, "vmclear": True, "\
vmptrld": True, "vmptrst": True, "vmxon": True,}

iflag_lookup

Value:
{opcode86.INS_RET: envi.IF_NOFALL | envi.IF_RET, opcode86.INS_CALL: en\
vi.IF_CALL, opcode86.INS_HALT: envi.IF_NOFALL, opcode86.INS_DEBUG: env\
i.IF_NOFALL, opcode86.INS_CALLCC: envi.IF_CALL, opcode86.INS_BRANCH: e\
nvi.IF_NOFALL | envi.IF_BRANCH, opcode86.INS_BRANCHCC: envi.IF_BRANCH,\
}