def __init__(self): e_i386.i386Disasm.__init__(self) self._dis_prefixes = amd64_prefixes self._dis_regctx = Amd64RegisterContext() # Over-ride these which are in use by the i386 version of the ASM self.ROFFSET_MMX = e_i386.getRegOffset(amd64regs, "mm0") self.ROFFSET_SIMD = e_i386.getRegOffset(amd64regs, "xmm0") self.ROFFSET_DEBUG = e_i386.getRegOffset(amd64regs, "debug0") self.ROFFSET_CTRL = e_i386.getRegOffset(amd64regs, "ctrl0") self.ROFFSET_TEST = e_i386.getRegOffset(amd64regs, "test0") self.ROFFSET_SEG = e_i386.getRegOffset(amd64regs, "es") self.ROFFSET_FPU = e_i386.getRegOffset(amd64regs, "st0")
def __init__(self): e_i386.i386Disasm.__init__(self) self._dis_oparch = envi.ARCH_AMD64 self._dis_prefixes = amd64_prefixes self._dis_regctx = Amd64RegisterContext() self.ptrsize = 8 # Over-ride these which are in use by the i386 version of the ASM self.ROFFSETMMX = e_i386.getRegOffset(amd64regs, "mm0") self.ROFFSETSIMD = e_i386.getRegOffset(amd64regs, "xmm0") self.ROFFSETDEBUG = e_i386.getRegOffset(amd64regs, "debug0") self.ROFFSETCTRL = e_i386.getRegOffset(amd64regs, "ctrl0") self.ROFFSETTEST = e_i386.getRegOffset(amd64regs, "test0") self.ROFFSETSEG = e_i386.getRegOffset(amd64regs, "es") self.ROFFSETFPU = e_i386.getRegOffset(amd64regs, "st0")
def __init__(self): e_i386.i386Disasm.__init__(self) self._dis_oparch = envi.ARCH_AMD64 self._dis_prefixes = amd64_prefixes self._dis_regctx = Amd64RegisterContext() self.ptrsize = 8 # 64-bit only self._dis_amethods[opcode86.ADDRMETH_B >> 16] = self.ameth_b self._dis_amethods[opcode86.ADDRMETH_H >> 16] = self.ameth_h self._dis_amethods[opcode86.ADDRMETH_L >> 16] = self.ameth_l # Over-ride these which are in use by the i386 version of the ASM self.ROFFSETMMX = e_i386.getRegOffset(amd64regs, "mm0") self.ROFFSETSIMD = e_i386.getRegOffset(amd64regs, "ymm0") self.ROFFSETDEBUG = e_i386.getRegOffset(amd64regs, "debug0") self.ROFFSETCTRL = e_i386.getRegOffset(amd64regs, "ctrl0") self.ROFFSETTEST = e_i386.getRegOffset(amd64regs, "test0") self.ROFFSETSEG = e_i386.getRegOffset(amd64regs, "es") self.ROFFSETFPU = e_i386.getRegOffset(amd64regs, "st0")
def __init__(self): e_i386.i386Disasm.__init__(self) self._dis_oparch = envi.ARCH_AMD64 self._dis_prefixes = amd64_prefixes self._dis_regctx = Amd64RegisterContext() self.ptrsize = 8 # 64-bit only self._dis_amethods[opcode86.ADDRMETH_B>>16] = self.ameth_b self._dis_amethods[opcode86.ADDRMETH_H>>16] = self.ameth_h self._dis_amethods[opcode86.ADDRMETH_L>>16] = self.ameth_l # Over-ride these which are in use by the i386 version of the ASM self.ROFFSETMMX = e_i386.getRegOffset(amd64regs, "mm0") self.ROFFSETSIMD = e_i386.getRegOffset(amd64regs, "ymm0") self.ROFFSETDEBUG = e_i386.getRegOffset(amd64regs, "debug0") self.ROFFSETCTRL = e_i386.getRegOffset(amd64regs, "ctrl0") self.ROFFSETTEST = e_i386.getRegOffset(amd64regs, "test0") self.ROFFSETSEG = e_i386.getRegOffset(amd64regs, "es") self.ROFFSETFPU = e_i386.getRegOffset(amd64regs, "st0")
def __init__(self, mode=MODE_64): e_i386.i386Disasm.__init__(self, mode=mode) self._dis_oparch = envi.ARCH_AMD64 self._dis_prefixes = amd64_prefixes self._dis_regctx = Amd64RegisterContext() self.ptrsize = 8 # 64-bit only self._dis_amethods[opcode86.ADDRMETH_B >> 16] = self.ameth_b self._dis_amethods[opcode86.ADDRMETH_H >> 16] = self.ameth_h self._dis_amethods[opcode86.ADDRMETH_E >> 16] = self.ameth_e self._dis_amethods[opcode86.ADDRMETH_L >> 16] = self.ameth_l self._dis_amethods[opcode86.ADDRMETH_VEXH >> 16] = self.ameth_vexh # Over-ride these which are in use by the i386 version of the ASM self.ROFFSETSIMD = e_i386.getRegOffset(amd64regs, "ymm0") self.ROFFSETDEBUG = e_i386.getRegOffset(amd64regs, "debug0") self.ROFFSETCTRL = e_i386.getRegOffset(amd64regs, "ctrl0") self.ROFFSETTEST = e_i386.getRegOffset(amd64regs, "test0") self.ROFFSETSEG = e_i386.getRegOffset(amd64regs, "es") self.ROFFSETFPU = e_i386.getRegOffset(amd64regs, "st0") # Note: getRegOffset doesn't work on meta registers and mm* are aliases of the # st registers, so we use getRegisterIndex instead self.ROFFSETMMX = self._dis_regctx.getRegisterIndex("mm0")