0
mirror of https://github.com/sampletext32/ParkanPlayground.git synced 2025-05-18 19:31:17 +03:00

Fixed NOT instruction tests with SIB byte encoding. Corrected memory addressing encodings for [eax] and displacement addressing.

This commit is contained in:
bird_egop 2025-04-16 21:17:48 +03:00
parent 226ec25549
commit eac8e9ea69

View File

@ -19,6 +19,16 @@ F7D6;[{ "Type": "Not", "Operands": ["esi"] }]
F7D7;[{ "Type": "Not", "Operands": ["edi"] }]
# NOT with memory operands
F61425;[{ "Type": "Not", "Operands": ["byte ptr [eax]"] }]
F71425;[{ "Type": "Not", "Operands": ["dword ptr [eax]"] }]
F7142510000000;[{ "Type": "Not", "Operands": ["dword ptr [eax+0x10]"] }]
# SPECIAL CASE: When using SIB byte with Base=101 (EBP) and Mod=00, it requires a 32-bit displacement
# The correct encoding for "NOT byte ptr [eax]" would be F610 (with Mod=00, R/M=0 for EAX)
# F61425;[{ "Type": "Not", "Operands": ["byte ptr [eax]"] }]
F610;[{ "Type": "Not", "Operands": ["byte ptr [eax]"] }]
# The correct encoding for "NOT dword ptr [eax]" would be F710 (with Mod=00, R/M=0 for EAX)
# F71425;[{ "Type": "Not", "Operands": ["dword ptr [eax]"] }]
F710;[{ "Type": "Not", "Operands": ["dword ptr [eax]"] }]
# The correct encoding for "NOT dword ptr [eax+0x10]" would be F75010 (with Mod=01, R/M=0 for EAX, disp8=0x10)
# F7142510000000;[{ "Type": "Not", "Operands": ["dword ptr [eax+0x10]"] }]
F75010;[{ "Type": "Not", "Operands": ["dword ptr [eax+0x10]"] }]

Can't render this file because it contains an unexpected character in line 6 and column 9.