2025-04-15 22:20:46 +03:00
|
|
|
# AND instruction tests
|
|
|
|
# Format: RawBytes;Instructions
|
|
|
|
RawBytes;Instructions
|
|
|
|
|
|
|
|
# AND r/m8, imm8 (opcode 80 /4)
|
|
|
|
80E042;[{ "Type": "And", "Operands": ["al", "0x42"] }]
|
2025-04-15 22:28:54 +03:00
|
|
|
80E342;[{ "Type": "And", "Operands": ["bl", "0x42"] }]
|
|
|
|
80E142;[{ "Type": "And", "Operands": ["cl", "0x42"] }]
|
|
|
|
80E242;[{ "Type": "And", "Operands": ["dl", "0x42"] }]
|
|
|
|
|
|
|
|
# AND AL, imm8 (opcode 24)
|
|
|
|
2442;[{ "Type": "And", "Operands": ["al", "0x42"] }]
|
2025-04-15 22:20:46 +03:00
|
|
|
|
|
|
|
# AND r/m32, imm32 (opcode 81 /4)
|
|
|
|
81E078563412;[{ "Type": "And", "Operands": ["eax", "0x12345678"] }]
|
2025-04-15 22:28:54 +03:00
|
|
|
81E378563412;[{ "Type": "And", "Operands": ["ebx", "0x12345678"] }]
|
|
|
|
81E178563412;[{ "Type": "And", "Operands": ["ecx", "0x12345678"] }]
|
|
|
|
81E278563412;[{ "Type": "And", "Operands": ["edx", "0x12345678"] }]
|
|
|
|
|
|
|
|
# AND EAX, imm32 (opcode 25)
|
|
|
|
2578563412;[{ "Type": "And", "Operands": ["eax", "0x12345678"] }]
|
2025-04-15 22:20:46 +03:00
|
|
|
|
|
|
|
# AND r/m32, imm8 (opcode 83 /4)
|
|
|
|
83E042;[{ "Type": "And", "Operands": ["eax", "0x42"] }]
|
2025-04-15 22:28:54 +03:00
|
|
|
83E342;[{ "Type": "And", "Operands": ["ebx", "0x42"] }]
|
|
|
|
83E142;[{ "Type": "And", "Operands": ["ecx", "0x42"] }]
|
|
|
|
83E242;[{ "Type": "And", "Operands": ["edx", "0x42"] }]
|
2025-04-15 22:20:46 +03:00
|
|
|
|
2025-04-15 22:28:54 +03:00
|
|
|
# AND r/m8, r8 (opcode 20)
|
|
|
|
20C3;[{ "Type": "And", "Operands": ["bl", "al"] }]
|
|
|
|
20D9;[{ "Type": "And", "Operands": ["cl", "bl"] }]
|
|
|
|
20E2;[{ "Type": "And", "Operands": ["dl", "ah"] }]
|
|
|
|
|
|
|
|
# AND r8, r/m8 (opcode 22)
|
|
|
|
22C3;[{ "Type": "And", "Operands": ["al", "bl"] }]
|
|
|
|
22D9;[{ "Type": "And", "Operands": ["bl", "cl"] }]
|
|
|
|
22E2;[{ "Type": "And", "Operands": ["ah", "dl"] }]
|
2025-04-15 22:20:46 +03:00
|
|
|
|
|
|
|
# AND r/m32, r32 (opcode 21)
|
|
|
|
21D8;[{ "Type": "And", "Operands": ["eax", "ebx"] }]
|
|
|
|
21CA;[{ "Type": "And", "Operands": ["edx", "ecx"] }]
|
2025-04-15 22:28:54 +03:00
|
|
|
21E5;[{ "Type": "And", "Operands": ["ebp", "esp"] }]
|
2025-04-15 22:20:46 +03:00
|
|
|
214B10;[{ "Type": "And", "Operands": ["dword ptr [ebx+0x10]", "ecx"] }]
|
|
|
|
|
|
|
|
# AND r32, r/m32 (opcode 23)
|
|
|
|
23D8;[{ "Type": "And", "Operands": ["ebx", "eax"] }]
|
|
|
|
23CA;[{ "Type": "And", "Operands": ["ecx", "edx"] }]
|
2025-04-15 22:28:54 +03:00
|
|
|
23E5;[{ "Type": "And", "Operands": ["esp", "ebp"] }]
|
2025-04-15 22:20:46 +03:00
|
|
|
234B10;[{ "Type": "And", "Operands": ["ecx", "dword ptr [ebx+0x10]"] }]
|
2025-04-15 22:28:54 +03:00
|
|
|
|
|
|
|
# AND with memory operands
|
|
|
|
8024251000000042;[{ "Type": "And", "Operands": ["byte ptr [0x10]", "0x42"] }]
|
|
|
|
8124251000000078563412;[{ "Type": "And", "Operands": ["dword ptr [0x10]", "0x12345678"] }]
|
|
|
|
8324251000000042;[{ "Type": "And", "Operands": ["dword ptr [0x10]", "0x42"] }]
|
|
|
|
2004251000000000;[{ "Type": "And", "Operands": ["byte ptr [0x10]", "al"] }]
|
|
|
|
2204251000000000;[{ "Type": "And", "Operands": ["al", "byte ptr [0x10]"] }]
|
|
|
|
2104251000000000;[{ "Type": "And", "Operands": ["dword ptr [0x10]", "eax"] }]
|
|
|
|
2304251000000000;[{ "Type": "And", "Operands": ["eax", "dword ptr [0x10]"] }]
|