0
mirror of https://github.com/sampletext32/ParkanPlayground.git synced 2025-06-20 08:18:36 +03:00

Fix x86 disassembler issues with direct memory addressing and immediate value formatting

This commit is contained in:
bird_egop
2025-04-15 02:29:32 +03:00
parent d351f41808
commit 3ea327064a
67 changed files with 854 additions and 453 deletions

View File

@ -27,6 +27,31 @@ public abstract class MemoryOperand : Operand
/// <returns>The segment prefix string</returns>
protected string GetSegmentPrefix()
{
return SegmentOverride != null ? $"{SegmentOverride}:" : "";
// Format changed to match expected test output: "dword ptr es:[ebp+0x10]" instead of "es:dword ptr [ebp+0x10]"
return "";
}
/// <summary>
/// Gets the size prefix string for display (e.g., "byte ptr", "word ptr", "dword ptr")
/// </summary>
/// <returns>The size prefix string</returns>
protected string GetSizePrefix()
{
string sizePrefix = Size switch
{
8 => "byte ptr ",
16 => "word ptr ",
32 => "dword ptr ",
64 => "qword ptr ",
_ => ""
};
// If we have a segment override, include it in the format "dword ptr es:[reg]"
if (SegmentOverride != null)
{
return $"{sizePrefix}{SegmentOverride}:";
}
return sizePrefix;
}
}