Incorrect value displayed for the displacement
constant in x86 16-bit assembly - ignoring the sign bit
#7139
Labels
displacement
constant in x86 16-bit assembly - ignoring the sign bit
#7139
Describe the bug
16-bit addressing is ignoring the sign bit of a 16-bit displacement and is consequently showing an incorrect +'ve value in it's assembly. For example Ghidra shows things like
1028:23e6 66 26 ff b7 fc f7 PUSH dword ptr ES:[BX + 0xf7fc]
instead of
1028:23e6 66 26 ff b7 fc f7 PUSH dword ptr ES:[BX + -0x804]
Expected behavior
Respect the sign of the displacement in addressing modes of x86 16-bit processors
Environment (please complete the following information):
The text was updated successfully, but these errors were encountered: