0
mirror of https://github.com/sampletext32/ParkanPlayground.git synced 2025-06-19 16:08:02 +03:00

Implement separate FSTSW handlers and fix test encodings

This commit is contained in:
bird_egop
2025-04-18 13:01:02 +03:00
parent cfef24f72d
commit a4de35cf41
4 changed files with 146 additions and 105 deletions

View File

@ -9,51 +9,50 @@ DFE0;[{ "Type": "Fnstsw", "Operands": ["ax"] }]
9BDFE0;[{ "Type": "Fstsw", "Operands": ["ax"] }]
# FSTSW m2byte - Store FPU status word to memory
9BDD7D00;[{ "Type": "Fstsw", "Operands": ["word ptr [eax]"] }]
9BDD7C24;[{ "Type": "Fstsw", "Operands": ["word ptr [esp]"] }]
9BDD7C24;[{ "Type": "Fstsw", "Operands": ["word ptr [esp]"] }]
9BDD7D03;[{ "Type": "Fstsw", "Operands": ["word ptr [ebx]"] }]
9BDD7D01;[{ "Type": "Fstsw", "Operands": ["word ptr [ecx]"] }]
9BDD7D02;[{ "Type": "Fstsw", "Operands": ["word ptr [edx]"] }]
9BDD7D06;[{ "Type": "Fstsw", "Operands": ["word ptr [esi]"] }]
9BDD7D07;[{ "Type": "Fstsw", "Operands": ["word ptr [edi]"] }]
9BDD38;[{ "Type": "Fstsw", "Operands": ["word ptr [eax]"] }]
9BDD3C24;[{ "Type": "Fstsw", "Operands": ["word ptr [esp]"] }]
9BDD3C24;[{ "Type": "Fstsw", "Operands": ["word ptr [esp]"] }]
9BDD3B;[{ "Type": "Fstsw", "Operands": ["word ptr [ebx]"] }]
9BDD39;[{ "Type": "Fstsw", "Operands": ["word ptr [ecx]"] }]
9BDD3A;[{ "Type": "Fstsw", "Operands": ["word ptr [edx]"] }]
9BDD3E;[{ "Type": "Fstsw", "Operands": ["word ptr [esi]"] }]
9BDD3F;[{ "Type": "Fstsw", "Operands": ["word ptr [edi]"] }]
# FNSTSW m2byte - Store FPU status word to memory without checking for pending unmasked exceptions
DD7D00;[{ "Type": "Fnstsw", "Operands": ["word ptr [eax]"] }]
DD7C24;[{ "Type": "Fnstsw", "Operands": ["word ptr [esp]"] }]
DD7C24;[{ "Type": "Fnstsw", "Operands": ["word ptr [esp]"] }]
DD7D03;[{ "Type": "Fnstsw", "Operands": ["word ptr [ebx]"] }]
DD7D01;[{ "Type": "Fnstsw", "Operands": ["word ptr [ecx]"] }]
DD7D02;[{ "Type": "Fnstsw", "Operands": ["word ptr [edx]"] }]
DD7D06;[{ "Type": "Fnstsw", "Operands": ["word ptr [esi]"] }]
DD7D07;[{ "Type": "Fnstsw", "Operands": ["word ptr [edi]"] }]
DD38;[{ "Type": "Fnstsw", "Operands": ["word ptr [eax]"] }]
DD3C24;[{ "Type": "Fnstsw", "Operands": ["word ptr [esp+0x00]"] }]
DD3B;[{ "Type": "Fnstsw", "Operands": ["word ptr [ebx]"] }]
DD39;[{ "Type": "Fnstsw", "Operands": ["word ptr [ecx]"] }]
DD3A;[{ "Type": "Fnstsw", "Operands": ["word ptr [edx]"] }]
DD3E;[{ "Type": "Fnstsw", "Operands": ["word ptr [esi]"] }]
DD3F;[{ "Type": "Fnstsw", "Operands": ["word ptr [edi]"] }]
# FSTSW/FNSTSW with displacement
9BDD7D8010000000;[{ "Type": "Fstsw", "Operands": ["word ptr [eax+0x10]"] }]
9BDD7D8020000000;[{ "Type": "Fstsw", "Operands": ["word ptr [eax+0x20]"] }]
DD7D8010000000;[{ "Type": "Fnstsw", "Operands": ["word ptr [eax+0x10]"] }]
DD7D8020000000;[{ "Type": "Fnstsw", "Operands": ["word ptr [eax+0x20]"] }]
9BDDB810000000;[{ "Type": "Fstsw", "Operands": ["word ptr [eax+0x10]"] }]
9BDDB820000000;[{ "Type": "Fstsw", "Operands": ["word ptr [eax+0x20]"] }]
DDB810000000;[{ "Type": "Fnstsw", "Operands": ["word ptr [eax+0x10]"] }]
DDB820000000;[{ "Type": "Fnstsw", "Operands": ["word ptr [eax+0x20]"] }]
# FSTSW/FNSTSW with SIB addressing
9BDD7C04;[{ "Type": "Fstsw", "Operands": ["word ptr [esp+eax*1]"] }]
9BDD7C4C;[{ "Type": "Fstsw", "Operands": ["word ptr [esp+ecx*2]"] }]
9BDD7C94;[{ "Type": "Fstsw", "Operands": ["word ptr [esp+edx*4]"] }]
9BDD7CDC;[{ "Type": "Fstsw", "Operands": ["word ptr [esp+ebx*8]"] }]
DD7C04;[{ "Type": "Fnstsw", "Operands": ["word ptr [esp+eax*1]"] }]
DD7C4C;[{ "Type": "Fnstsw", "Operands": ["word ptr [esp+ecx*2]"] }]
DD7C94;[{ "Type": "Fnstsw", "Operands": ["word ptr [esp+edx*4]"] }]
DD7CDC;[{ "Type": "Fnstsw", "Operands": ["word ptr [esp+ebx*8]"] }]
9BDD3C04;[{ "Type": "Fstsw", "Operands": ["word ptr [esp+eax*1]"] }]
9BDD3C4C;[{ "Type": "Fstsw", "Operands": ["word ptr [esp+ecx*2]"] }]
9BDD3C94;[{ "Type": "Fstsw", "Operands": ["word ptr [esp+edx*4]"] }]
9BDD3CDC;[{ "Type": "Fstsw", "Operands": ["word ptr [esp+ebx*8]"] }]
DD3C04;[{ "Type": "Fnstsw", "Operands": ["word ptr [esp+eax*1]"] }]
DD3C4C;[{ "Type": "Fnstsw", "Operands": ["word ptr [esp+ecx*2]"] }]
DD3C94;[{ "Type": "Fnstsw", "Operands": ["word ptr [esp+edx*4]"] }]
DD3CDC;[{ "Type": "Fnstsw", "Operands": ["word ptr [esp+ebx*8]"] }]
# FSTSW/FNSTSW with segment override prefixes
269BDD7D00;[{ "Type": "Fstsw", "Operands": ["word ptr es:[eax]"] }]
2E9BDD7D00;[{ "Type": "Fstsw", "Operands": ["word ptr cs:[eax]"] }]
369BDD7D00;[{ "Type": "Fstsw", "Operands": ["word ptr ss:[eax]"] }]
3E9BDD7D00;[{ "Type": "Fstsw", "Operands": ["word ptr ds:[eax]"] }]
649BDD7D00;[{ "Type": "Fstsw", "Operands": ["word ptr fs:[eax]"] }]
659BDD7D00;[{ "Type": "Fstsw", "Operands": ["word ptr gs:[eax]"] }]
26DD7D00;[{ "Type": "Fnstsw", "Operands": ["word ptr es:[eax]"] }]
2EDD7D00;[{ "Type": "Fnstsw", "Operands": ["word ptr cs:[eax]"] }]
36DD7D00;[{ "Type": "Fnstsw", "Operands": ["word ptr ss:[eax]"] }]
3EDD7D00;[{ "Type": "Fnstsw", "Operands": ["word ptr ds:[eax]"] }]
64DD7D00;[{ "Type": "Fnstsw", "Operands": ["word ptr fs:[eax]"] }]
65DD7D00;[{ "Type": "Fnstsw", "Operands": ["word ptr gs:[eax]"] }]
269BDD38;[{ "Type": "Fstsw", "Operands": ["word ptr es:[eax]"] }]
2E9BDD38;[{ "Type": "Fstsw", "Operands": ["word ptr cs:[eax]"] }]
369BDD38;[{ "Type": "Fstsw", "Operands": ["word ptr ss:[eax]"] }]
3E9BDD38;[{ "Type": "Fstsw", "Operands": ["word ptr ds:[eax]"] }]
649BDD38;[{ "Type": "Fstsw", "Operands": ["word ptr fs:[eax]"] }]
659BDD38;[{ "Type": "Fstsw", "Operands": ["word ptr gs:[eax]"] }]
26DD38;[{ "Type": "Fnstsw", "Operands": ["word ptr es:[eax]"] }]
2EDD38;[{ "Type": "Fnstsw", "Operands": ["word ptr cs:[eax]"] }]
36DD38;[{ "Type": "Fnstsw", "Operands": ["word ptr ss:[eax]"] }]
3EDD38;[{ "Type": "Fnstsw", "Operands": ["word ptr ds:[eax]"] }]
64DD38;[{ "Type": "Fnstsw", "Operands": ["word ptr fs:[eax]"] }]
65DD38;[{ "Type": "Fnstsw", "Operands": ["word ptr gs:[eax]"] }]

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