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

Unified ADC accumulator handlers into a single handler

This commit is contained in:
bird_egop
2025-04-17 01:33:58 +03:00
parent 8c9b34ef09
commit 3fc0ebf1d5
79 changed files with 2564 additions and 473 deletions

View File

@ -1,60 +1,36 @@
# ADD instruction tests
# Format: RawBytes;Instructions
RawBytes;Instructions
# 8-bit ADD
04AA;[{ "Type": "Add", "Operands": ["al", "0xAA"] }]
80C1AA;[{ "Type": "Add", "Operands": ["cl", "0xAA"] }]
8000AA;[{ "Type": "Add", "Operands": ["byte ptr [eax]", "0xAA"] }]
805310AA;[{ "Type": "Add", "Operands": ["byte ptr [ebx+0x10]", "0xAA"] }]
00D8;[{ "Type": "Add", "Operands": ["al", "bl"] }]
0018;[{ "Type": "Add", "Operands": ["byte ptr [eax]", "bl"] }]
0218;[{ "Type": "Add", "Operands": ["bl", "byte ptr [eax]"] }]
800488AA;[{ "Type": "Add", "Operands": ["byte ptr [eax+ecx*4]", "0xAA"] }]
# ADD r/m8, imm8 (opcode 80 /0)
80C042;[{ "Type": "Add", "Operands": ["al", "0x42"] }]
80C342;[{ "Type": "Add", "Operands": ["bl", "0x42"] }]
80C142;[{ "Type": "Add", "Operands": ["cl", "0x42"] }]
80C242;[{ "Type": "Add", "Operands": ["dl", "0x42"] }]
# 16-bit ADD (with 66 prefix)
6605AA00;[{ "Type": "Add", "Operands": ["ax", "0xAA"] }]
6681C1AA00;[{ "Type": "Add", "Operands": ["cx", "0xAA"] }]
668100AA00;[{ "Type": "Add", "Operands": ["word ptr [eax]", "0xAA"] }]
66814310AA00;[{ "Type": "Add", "Operands": ["word ptr [ebx+0x10]", "0xAA"] }]
6601D8;[{ "Type": "Add", "Operands": ["ax", "bx"] }]
660118;[{ "Type": "Add", "Operands": ["word ptr [eax]", "bx"] }]
660318;[{ "Type": "Add", "Operands": ["bx", "word ptr [eax]"] }]
66810488AA00;[{ "Type": "Add", "Operands": ["word ptr [eax+ecx*4]", "0xAA"] }]
# ADD AL, imm8 (opcode 04)
0442;[{ "Type": "Add", "Operands": ["al", "0x42"] }]
# ADD r/m32, imm32 (opcode 81 /0)
81C078563412;[{ "Type": "Add", "Operands": ["eax", "0x12345678"] }]
81C378563412;[{ "Type": "Add", "Operands": ["ebx", "0x12345678"] }]
81C178563412;[{ "Type": "Add", "Operands": ["ecx", "0x12345678"] }]
81C278563412;[{ "Type": "Add", "Operands": ["edx", "0x12345678"] }]
# ADD EAX, imm32 (opcode 05)
0578563412;[{ "Type": "Add", "Operands": ["eax", "0x12345678"] }]
# ADD r/m32, imm8 (opcode 83 /0) with sign extension
83C042;[{ "Type": "Add", "Operands": ["eax", "0x42"] }]
83C342;[{ "Type": "Add", "Operands": ["ebx", "0x42"] }]
83C142;[{ "Type": "Add", "Operands": ["ecx", "0x42"] }]
83C242;[{ "Type": "Add", "Operands": ["edx", "0x42"] }]
83C0FF;[{ "Type": "Add", "Operands": ["eax", "0xFFFFFFFF"] }]
83C3FF;[{ "Type": "Add", "Operands": ["ebx", "0xFFFFFFFF"] }]
# ADD r/m8, r8 (opcode 00)
00C3;[{ "Type": "Add", "Operands": ["bl", "al"] }]
00D9;[{ "Type": "Add", "Operands": ["cl", "bl"] }]
00E2;[{ "Type": "Add", "Operands": ["dl", "ah"] }]
# ADD r8, r/m8 (opcode 02)
02C3;[{ "Type": "Add", "Operands": ["al", "bl"] }]
02D9;[{ "Type": "Add", "Operands": ["bl", "cl"] }]
02E2;[{ "Type": "Add", "Operands": ["ah", "dl"] }]
# ADD r/m32, r32 (opcode 01)
# 32-bit ADD
05AA000000;[{ "Type": "Add", "Operands": ["eax", "0xAA"] }]
81C1AA000000;[{ "Type": "Add", "Operands": ["ecx", "0xAA"] }]
8100AA000000;[{ "Type": "Add", "Operands": ["dword ptr [eax]", "0xAA"] }]
814310AA000000;[{ "Type": "Add", "Operands": ["dword ptr [ebx+0x10]", "0xAA"] }]
01D8;[{ "Type": "Add", "Operands": ["eax", "ebx"] }]
01CA;[{ "Type": "Add", "Operands": ["edx", "ecx"] }]
01E5;[{ "Type": "Add", "Operands": ["ebp", "esp"] }]
014B10;[{ "Type": "Add", "Operands": ["dword ptr [ebx+0x10]", "ecx"] }]
0118;[{ "Type": "Add", "Operands": ["dword ptr [eax]", "ebx"] }]
0318;[{ "Type": "Add", "Operands": ["ebx", "dword ptr [eax]"] }]
810488AA000000;[{ "Type": "Add", "Operands": ["dword ptr [eax+ecx*4]", "0xAA"] }]
# ADD r32, r/m32 (opcode 03)
03D8;[{ "Type": "Add", "Operands": ["ebx", "eax"] }]
03CA;[{ "Type": "Add", "Operands": ["ecx", "edx"] }]
03E5;[{ "Type": "Add", "Operands": ["esp", "ebp"] }]
034B10;[{ "Type": "Add", "Operands": ["ecx", "dword ptr [ebx+0x10]"] }]
# ADD with memory operands
8004251000000042;[{ "Type": "Add", "Operands": ["byte ptr [0x10]", "0x42"] }]
8104251000000078563412;[{ "Type": "Add", "Operands": ["dword ptr [0x10]", "0x12345678"] }]
8304251000000042;[{ "Type": "Add", "Operands": ["dword ptr [0x10]", "0x42"] }]
00042510000000;[{ "Type": "Add", "Operands": ["byte ptr [0x10]", "al"] }]
02042510000000;[{ "Type": "Add", "Operands": ["al", "byte ptr [0x10]"] }]
01042510000000;[{ "Type": "Add", "Operands": ["dword ptr [0x10]", "eax"] }]
03042510000000;[{ "Type": "Add", "Operands": ["eax", "dword ptr [0x10]"] }]
# Mixed addressing modes
00A314285600;[{ "Type": "Add", "Operands": ["byte ptr [ebx+0x562814]", "ah"] }]
6601B310203040;[{ "Type": "Add", "Operands": ["si", "word ptr [ebx+0x40302010]"] }]
030C8D10203040;[{ "Type": "Add", "Operands": ["ecx", "dword ptr [ebp*4+0x40302010]"] }]
Can't render this file because it contains an unexpected character in line 6 and column 11.