mirror of
https://github.com/sampletext32/ParkanPlayground.git
synced 2025-05-18 19:31:17 +03:00
Enhanced test coverage for CMP, BIT and CALL instructions
This commit is contained in:
parent
d6903f2e5b
commit
6169d68967
@ -6,54 +6,82 @@ RawBytes;Instructions
|
||||
0FA3C1;[{ "Type": "Bt", "Operands": ["ecx", "eax"] }]
|
||||
0FA3D9;[{ "Type": "Bt", "Operands": ["ecx", "ebx"] }]
|
||||
0FA3CA;[{ "Type": "Bt", "Operands": ["edx", "ecx"] }]
|
||||
0FA3E2;[{ "Type": "Bt", "Operands": ["edx", "esp"] }]
|
||||
0FA3F6;[{ "Type": "Bt", "Operands": ["esi", "esi"] }]
|
||||
0FA30425;[{ "Type": "Bt", "Operands": ["dword ptr [eax]", "eax"] }]
|
||||
0FA30C25;[{ "Type": "Bt", "Operands": ["dword ptr [eax]", "ecx"] }]
|
||||
0FA31425;[{ "Type": "Bt", "Operands": ["dword ptr [eax]", "edx"] }]
|
||||
0FBA2005;[{ "Type": "Bt", "Operands": ["dword ptr [eax]", "0x05"] }]
|
||||
0FBA2505;[{ "Type": "Bt", "Operands": ["dword ptr [ebp]", "0x05"] }]
|
||||
0FBA2305;[{ "Type": "Bt", "Operands": ["dword ptr [ebx]", "0x05"] }]
|
||||
0FBA2105;[{ "Type": "Bt", "Operands": ["dword ptr [ecx]", "0x05"] }]
|
||||
0FBA2205;[{ "Type": "Bt", "Operands": ["dword ptr [edx]", "0x05"] }]
|
||||
|
||||
# BTS - Bit Test and Set
|
||||
0FABC1;[{ "Type": "Bts", "Operands": ["ecx", "eax"] }]
|
||||
0FABD9;[{ "Type": "Bts", "Operands": ["ecx", "ebx"] }]
|
||||
0FABCA;[{ "Type": "Bts", "Operands": ["edx", "ecx"] }]
|
||||
0FABE2;[{ "Type": "Bts", "Operands": ["edx", "esp"] }]
|
||||
0FABF6;[{ "Type": "Bts", "Operands": ["esi", "esi"] }]
|
||||
0FAB0425;[{ "Type": "Bts", "Operands": ["dword ptr [eax]", "eax"] }]
|
||||
0FAB0C25;[{ "Type": "Bts", "Operands": ["dword ptr [eax]", "ecx"] }]
|
||||
0FAB1425;[{ "Type": "Bts", "Operands": ["dword ptr [eax]", "edx"] }]
|
||||
0FBA2805;[{ "Type": "Bts", "Operands": ["dword ptr [eax]", "0x05"] }]
|
||||
0FBA2D05;[{ "Type": "Bts", "Operands": ["dword ptr [ebp]", "0x05"] }]
|
||||
0FBA2B05;[{ "Type": "Bts", "Operands": ["dword ptr [ebx]", "0x05"] }]
|
||||
0FBA2905;[{ "Type": "Bts", "Operands": ["dword ptr [ecx]", "0x05"] }]
|
||||
0FBA2A05;[{ "Type": "Bts", "Operands": ["dword ptr [edx]", "0x05"] }]
|
||||
|
||||
# BTR - Bit Test and Reset
|
||||
0FB3C1;[{ "Type": "Btr", "Operands": ["ecx", "eax"] }]
|
||||
0FB3D9;[{ "Type": "Btr", "Operands": ["ecx", "ebx"] }]
|
||||
0FB3CA;[{ "Type": "Btr", "Operands": ["edx", "ecx"] }]
|
||||
0FB3E2;[{ "Type": "Btr", "Operands": ["edx", "esp"] }]
|
||||
0FB3F6;[{ "Type": "Btr", "Operands": ["esi", "esi"] }]
|
||||
0FB30425;[{ "Type": "Btr", "Operands": ["dword ptr [eax]", "eax"] }]
|
||||
0FB30C25;[{ "Type": "Btr", "Operands": ["dword ptr [eax]", "ecx"] }]
|
||||
0FB31425;[{ "Type": "Btr", "Operands": ["dword ptr [eax]", "edx"] }]
|
||||
0FBA3005;[{ "Type": "Btr", "Operands": ["dword ptr [eax]", "0x05"] }]
|
||||
0FBA3505;[{ "Type": "Btr", "Operands": ["dword ptr [ebp]", "0x05"] }]
|
||||
0FBA3305;[{ "Type": "Btr", "Operands": ["dword ptr [ebx]", "0x05"] }]
|
||||
0FBA3105;[{ "Type": "Btr", "Operands": ["dword ptr [ecx]", "0x05"] }]
|
||||
0FBA3205;[{ "Type": "Btr", "Operands": ["dword ptr [edx]", "0x05"] }]
|
||||
|
||||
# BTC - Bit Test and Complement
|
||||
0FBBC1;[{ "Type": "Btc", "Operands": ["ecx", "eax"] }]
|
||||
0FBBD9;[{ "Type": "Btc", "Operands": ["ecx", "ebx"] }]
|
||||
0FBBCA;[{ "Type": "Btc", "Operands": ["edx", "ecx"] }]
|
||||
0FBBE2;[{ "Type": "Btc", "Operands": ["edx", "esp"] }]
|
||||
0FBBF6;[{ "Type": "Btc", "Operands": ["esi", "esi"] }]
|
||||
0FBB0425;[{ "Type": "Btc", "Operands": ["dword ptr [eax]", "eax"] }]
|
||||
0FBB0C25;[{ "Type": "Btc", "Operands": ["dword ptr [eax]", "ecx"] }]
|
||||
0FBB1425;[{ "Type": "Btc", "Operands": ["dword ptr [eax]", "edx"] }]
|
||||
0FBA3805;[{ "Type": "Btc", "Operands": ["dword ptr [eax]", "0x05"] }]
|
||||
0FBA3D05;[{ "Type": "Btc", "Operands": ["dword ptr [ebp]", "0x05"] }]
|
||||
0FBA3B05;[{ "Type": "Btc", "Operands": ["dword ptr [ebx]", "0x05"] }]
|
||||
0FBA3905;[{ "Type": "Btc", "Operands": ["dword ptr [ecx]", "0x05"] }]
|
||||
0FBA3A05;[{ "Type": "Btc", "Operands": ["dword ptr [edx]", "0x05"] }]
|
||||
|
||||
# BSF - Bit Scan Forward
|
||||
0FBCC1;[{ "Type": "Bsf", "Operands": ["eax", "ecx"] }]
|
||||
0FBCD9;[{ "Type": "Bsf", "Operands": ["ebx", "ecx"] }]
|
||||
0FBCCA;[{ "Type": "Bsf", "Operands": ["ecx", "edx"] }]
|
||||
0FBCE2;[{ "Type": "Bsf", "Operands": ["esp", "edx"] }]
|
||||
0FBCF6;[{ "Type": "Bsf", "Operands": ["esi", "esi"] }]
|
||||
0FBC0425;[{ "Type": "Bsf", "Operands": ["eax", "dword ptr [eax]"] }]
|
||||
0FBC0C25;[{ "Type": "Bsf", "Operands": ["ecx", "dword ptr [eax]"] }]
|
||||
0FBC1425;[{ "Type": "Bsf", "Operands": ["edx", "dword ptr [eax]"] }]
|
||||
0FBC1C25;[{ "Type": "Bsf", "Operands": ["ebx", "dword ptr [eax]"] }]
|
||||
0FBC2425;[{ "Type": "Bsf", "Operands": ["esp", "dword ptr [eax]"] }]
|
||||
|
||||
# BSR - Bit Scan Reverse
|
||||
0FBDC1;[{ "Type": "Bsr", "Operands": ["eax", "ecx"] }]
|
||||
0FBDD9;[{ "Type": "Bsr", "Operands": ["ebx", "ecx"] }]
|
||||
0FBDCA;[{ "Type": "Bsr", "Operands": ["ecx", "edx"] }]
|
||||
0FBDE2;[{ "Type": "Bsr", "Operands": ["esp", "edx"] }]
|
||||
0FBDF6;[{ "Type": "Bsr", "Operands": ["esi", "esi"] }]
|
||||
0FBD0425;[{ "Type": "Bsr", "Operands": ["eax", "dword ptr [eax]"] }]
|
||||
0FBD0C25;[{ "Type": "Bsr", "Operands": ["ecx", "dword ptr [eax]"] }]
|
||||
0FBD1425;[{ "Type": "Bsr", "Operands": ["edx", "dword ptr [eax]"] }]
|
||||
0FBD1C25;[{ "Type": "Bsr", "Operands": ["ebx", "dword ptr [eax]"] }]
|
||||
0FBD2425;[{ "Type": "Bsr", "Operands": ["esp", "dword ptr [eax]"] }]
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 11.
|
@ -5,6 +5,8 @@ RawBytes;Instructions
|
||||
# CALL rel32 (opcode E8)
|
||||
E810000000;[{ "Type": "Call", "Operands": ["0x00000015"] }]
|
||||
E8FEFFFFFF;[{ "Type": "Call", "Operands": ["0x00000003"] }]
|
||||
E800000000;[{ "Type": "Call", "Operands": ["0x00000005"] }]
|
||||
E8FFFFFFFF;[{ "Type": "Call", "Operands": ["0x00000004"] }]
|
||||
|
||||
# CALL r/m32 (opcode FF /2) with register operands
|
||||
FFD0;[{ "Type": "Call", "Operands": ["eax"] }]
|
||||
@ -55,9 +57,14 @@ FF1C;[{ "Type": "Call", "Operands": ["fword ptr [esp]"] }]
|
||||
FF1D;[{ "Type": "Call", "Operands": ["fword ptr [ebp]"] }]
|
||||
FF1E;[{ "Type": "Call", "Operands": ["fword ptr [esi]"] }]
|
||||
FF1F;[{ "Type": "Call", "Operands": ["fword ptr [edi]"] }]
|
||||
FF18;[{ "Type": "Call", "Operands": ["fword ptr [eax]"] }]
|
||||
FF19;[{ "Type": "Call", "Operands": ["fword ptr [ecx]"] }]
|
||||
FF1A;[{ "Type": "Call", "Operands": ["fword ptr [edx]"] }]
|
||||
FF1B;[{ "Type": "Call", "Operands": ["fword ptr [ebx]"] }]
|
||||
|
||||
# CALL m32 (opcode FF /2) with direct memory operand
|
||||
FF1578563412;[{ "Type": "Call", "Operands": ["dword ptr [0x12345678]"] }]
|
||||
FF1534127856;[{ "Type": "Call", "Operands": ["dword ptr [0x56781234]"] }]
|
||||
|
||||
# CALL m32 (opcode FF /2) with segment override prefixes
|
||||
26FF5510;[{ "Type": "Call", "Operands": ["dword ptr es:[ebp+0x10]"] }]
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 15.
|
@ -4,22 +4,56 @@ RawBytes;Instructions
|
||||
|
||||
# CMP r/m8, imm8 (opcode 80 /7)
|
||||
80F842;[{ "Type": "Cmp", "Operands": ["al", "0x42"] }]
|
||||
80FB42;[{ "Type": "Cmp", "Operands": ["bl", "0x42"] }]
|
||||
80F942;[{ "Type": "Cmp", "Operands": ["cl", "0x42"] }]
|
||||
80FA42;[{ "Type": "Cmp", "Operands": ["dl", "0x42"] }]
|
||||
|
||||
# CMP AL, imm8 (opcode 3C)
|
||||
3C42;[{ "Type": "Cmp", "Operands": ["al", "0x42"] }]
|
||||
|
||||
# CMP r/m32, imm32 (opcode 81 /7)
|
||||
81F878563412;[{ "Type": "Cmp", "Operands": ["eax", "0x12345678"] }]
|
||||
81FB78563412;[{ "Type": "Cmp", "Operands": ["ebx", "0x12345678"] }]
|
||||
81F978563412;[{ "Type": "Cmp", "Operands": ["ecx", "0x12345678"] }]
|
||||
81FA78563412;[{ "Type": "Cmp", "Operands": ["edx", "0x12345678"] }]
|
||||
|
||||
# CMP EAX, imm32 (opcode 3D)
|
||||
3D78563412;[{ "Type": "Cmp", "Operands": ["eax", "0x12345678"] }]
|
||||
|
||||
# CMP r/m32, imm8 (opcode 83 /7)
|
||||
83F842;[{ "Type": "Cmp", "Operands": ["eax", "0x42"] }]
|
||||
83FB42;[{ "Type": "Cmp", "Operands": ["ebx", "0x42"] }]
|
||||
83F942;[{ "Type": "Cmp", "Operands": ["ecx", "0x42"] }]
|
||||
83FA42;[{ "Type": "Cmp", "Operands": ["edx", "0x42"] }]
|
||||
|
||||
# CMP with memory operands
|
||||
813C2578563412;[{ "Type": "Cmp", "Operands": ["dword ptr [eax]", "0x12345678"] }]
|
||||
# CMP r/m8, r8 (opcode 38)
|
||||
38C3;[{ "Type": "Cmp", "Operands": ["bl", "al"] }]
|
||||
38D9;[{ "Type": "Cmp", "Operands": ["cl", "bl"] }]
|
||||
38E2;[{ "Type": "Cmp", "Operands": ["dl", "ah"] }]
|
||||
|
||||
# CMP r8, r/m8 (opcode 3A)
|
||||
3AC3;[{ "Type": "Cmp", "Operands": ["al", "bl"] }]
|
||||
3AD9;[{ "Type": "Cmp", "Operands": ["bl", "cl"] }]
|
||||
3AE2;[{ "Type": "Cmp", "Operands": ["ah", "dl"] }]
|
||||
|
||||
# CMP r/m32, r32 (opcode 39)
|
||||
39D8;[{ "Type": "Cmp", "Operands": ["eax", "ebx"] }]
|
||||
39CA;[{ "Type": "Cmp", "Operands": ["edx", "ecx"] }]
|
||||
39E5;[{ "Type": "Cmp", "Operands": ["ebp", "esp"] }]
|
||||
394B10;[{ "Type": "Cmp", "Operands": ["dword ptr [ebx+0x10]", "ecx"] }]
|
||||
|
||||
# CMP r32, r/m32 (opcode 3B)
|
||||
3BD8;[{ "Type": "Cmp", "Operands": ["ebx", "eax"] }]
|
||||
3BCA;[{ "Type": "Cmp", "Operands": ["ecx", "edx"] }]
|
||||
3BE5;[{ "Type": "Cmp", "Operands": ["esp", "ebp"] }]
|
||||
3B4B10;[{ "Type": "Cmp", "Operands": ["ecx", "dword ptr [ebx+0x10]"] }]
|
||||
|
||||
# CMP with memory operands
|
||||
8004251000000042;[{ "Type": "Cmp", "Operands": ["byte ptr [0x10]", "0x42"] }]
|
||||
813C2578563412;[{ "Type": "Cmp", "Operands": ["dword ptr [eax]", "0x12345678"] }]
|
||||
8104251000000078563412;[{ "Type": "Cmp", "Operands": ["dword ptr [0x10]", "0x12345678"] }]
|
||||
8304251000000042;[{ "Type": "Cmp", "Operands": ["dword ptr [0x10]", "0x42"] }]
|
||||
3804251000000000;[{ "Type": "Cmp", "Operands": ["byte ptr [0x10]", "al"] }]
|
||||
3A04251000000000;[{ "Type": "Cmp", "Operands": ["al", "byte ptr [0x10]"] }]
|
||||
3904251000000000;[{ "Type": "Cmp", "Operands": ["dword ptr [0x10]", "eax"] }]
|
||||
3B04251000000000;[{ "Type": "Cmp", "Operands": ["eax", "dword ptr [0x10]"] }]
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 11.
|
Loading…
x
Reference in New Issue
Block a user