From aa0ccabb337cf540b1535601c55e4618a27bac01 Mon Sep 17 00:00:00 2001 From: Pavel <68122101+red-prig@users.noreply.github.com> Date: Sat, 14 Oct 2023 19:33:43 +0300 Subject: [PATCH] + --- rtl/x86_fpdbgdisas.pp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/rtl/x86_fpdbgdisas.pp b/rtl/x86_fpdbgdisas.pp index 20b1596c..8cafae8a 100644 --- a/rtl/x86_fpdbgdisas.pp +++ b/rtl/x86_fpdbgdisas.pp @@ -1561,9 +1561,12 @@ end; procedure TX86Disassembler.AddIz; begin - if OperandSize = os16 - then AddOperand(RegValue(regNone), os16, 2, [hvfIncludeHexchar]) - else AddOperand(RegValue(regNone), os32, 4, [hvfIncludeHexchar]); + case OperandSize of + os16:AddOperand(RegValue(regNone), os16, 2, [hvfIncludeHexchar]); + os64:AddOperand(RegValue(regNone), os32, 4, [hvfSigned, hvfIncludeHexchar]); + else + AddOperand(RegValue(regNone), os32, 4, [hvfIncludeHexchar]); + end; end; procedure TX86Disassembler.AddJb; @@ -2739,7 +2742,7 @@ end; procedure TX86Disassembler.DoGroup14; const - OPC: array[0..7] of TOpCode = (OPX_Invalid, OPX_Invalid, OPpsrl, OPpsll, OPX_Invalid, OPX_Invalid, OPpsll, OPpsrl); + OPC: array[0..7] of TOpCode = (OPX_Invalid, OPX_Invalid, OPpsrl, OPpsrl, OPX_Invalid, OPX_Invalid, OPpsll, OPpsll); OPS: array[0..7] of TOpCodeSuffix = (OPSnone, OPSnone, OPSx_q, OPSx_dq, OPSnone, OPSnone, OPSx_q, OPSx_dq); begin Assert(Code[CodeIdx] = $73, 'Not group 14');