Add encoding field to cs_x86 in python bindings for consistency (#1834)
This commit is contained in:
parent
a6bde52312
commit
443cae28a8
|
@ -679,7 +679,7 @@ class CsInsn(object):
|
|||
self.modrm, self.sib, self.disp, \
|
||||
self.sib_index, self.sib_scale, self.sib_base, self.xop_cc, self.sse_cc, \
|
||||
self.avx_cc, self.avx_sae, self.avx_rm, self.eflags, \
|
||||
self.modrm_offset, self.disp_offset, self.disp_size, self.imm_offset, self.imm_size, \
|
||||
self.encoding, self.modrm_offset, self.disp_offset, self.disp_size, self.imm_offset, self.imm_size, \
|
||||
self.operands) = x86.get_arch_info(self._raw.detail.contents.arch.x86)
|
||||
elif arch == CS_ARCH_M68K:
|
||||
(self.operands, self.op_size) = m68k.get_arch_info(self._raw.detail.contents.arch.m68k)
|
||||
|
|
|
@ -80,6 +80,6 @@ def get_arch_info(a):
|
|||
return (a.prefix[:], a.opcode[:], a.rex, a.addr_size, \
|
||||
a.modrm, a.sib, a.disp, a.sib_index, a.sib_scale, \
|
||||
a.sib_base, a.xop_cc, a.sse_cc, a.avx_cc, a.avx_sae, a.avx_rm, a.eflags, \
|
||||
a.encoding.modrm_offset, a.encoding.disp_offset, a.encoding.disp_size, a.encoding.imm_offset, a.encoding.imm_size, \
|
||||
a.encoding, a.encoding.modrm_offset, a.encoding.disp_offset, a.encoding.disp_size, a.encoding.imm_offset, a.encoding.imm_size, \
|
||||
copy_ctypes_list(a.operands[:a.op_count]))
|
||||
|
||||
|
|
|
@ -146,19 +146,19 @@ def print_insn_detail(mode, insn):
|
|||
print("\tmodrm: 0x%x" % (insn.modrm))
|
||||
|
||||
# print modRM offset
|
||||
if insn.modrm_offset != 0:
|
||||
print("\tmodrm_offset: 0x%x" % (insn.modrm_offset))
|
||||
if insn.encoding.modrm_offset != 0:
|
||||
print("\tmodrm_offset: 0x%x" % (insn.encoding.modrm_offset))
|
||||
|
||||
# print displacement value
|
||||
print("\tdisp: 0x%s" % to_x_32(insn.disp))
|
||||
|
||||
# print displacement offset (offset into instruction bytes)
|
||||
if insn.disp_offset != 0:
|
||||
print("\tdisp_offset: 0x%x" % (insn.disp_offset))
|
||||
if insn.encoding.disp_offset != 0:
|
||||
print("\tdisp_offset: 0x%x" % (insn.encoding.disp_offset))
|
||||
|
||||
# print displacement size
|
||||
if insn.disp_size != 0:
|
||||
print("\tdisp_size: 0x%x" % (insn.disp_size))
|
||||
if insn.encoding.disp_size != 0:
|
||||
print("\tdisp_size: 0x%x" % (insn.encoding.disp_size))
|
||||
|
||||
# SIB is not available in 16-bit mode
|
||||
if (mode & CS_MODE_16 == 0):
|
||||
|
@ -198,10 +198,10 @@ def print_insn_detail(mode, insn):
|
|||
for i in range(count):
|
||||
op = insn.op_find(X86_OP_IMM, i + 1)
|
||||
print("\t\timms[%u]: 0x%s" % (i + 1, to_x(op.imm)))
|
||||
if insn.imm_offset != 0:
|
||||
print("\timm_offset: 0x%x" % (insn.imm_offset))
|
||||
if insn.imm_size != 0:
|
||||
print("\timm_size: 0x%x" % (insn.imm_size))
|
||||
if insn.encoding.imm_offset != 0:
|
||||
print("\timm_offset: 0x%x" % (insn.encoding.imm_offset))
|
||||
if insn.encoding.imm_size != 0:
|
||||
print("\timm_size: 0x%x" % (insn.encoding.imm_size))
|
||||
|
||||
if len(insn.operands) > 0:
|
||||
print("\top_count: %u" % len(insn.operands))
|
||||
|
|
Loading…
Reference in New Issue