mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-22 01:19:29 +02:00
FpDebug: fix disassembler "xadd 16bit reg" Issue #40520 patch by Red_prig (Pavel)
(cherry picked from commit 4cd413a986
)
This commit is contained in:
parent
cf746e3f0e
commit
96aada253b
@ -3474,8 +3474,10 @@ begin
|
||||
end;
|
||||
$C1: begin
|
||||
DecodeSIMD([soNone]);
|
||||
if SimdOpcode = soNone
|
||||
then begin SetOpcode(OPxadd); AddEv; AddGv; CheckLock; end;
|
||||
case SimdOpcode of
|
||||
soNone: begin SetOpcode(OPxadd); AddEv; AddGv; CheckLock; end;
|
||||
so66: begin SetOpcode(OPxadd); AddEw; AddGw; CheckLock; end;
|
||||
end;
|
||||
end;
|
||||
$C2: begin
|
||||
DecodeSIMD;
|
||||
|
@ -233,6 +233,9 @@ begin
|
||||
TestDis('add [esi*4+edx+$123456],eax', #$67#$01#$84#$b2#$56#$34#$12#$00, 'add [esi*4+edx+$123456],eax');
|
||||
TestDis('add [esi*4+edx+$123456],rax', #$67#$48#$01#$84#$b2#$56#$34#$12#$00, 'add [esi*4+edx+$123456],rax');
|
||||
|
||||
TestDis('xadd [rdi],ax', #$66#$0f#$c1#$07, 'xadd [rdi],ax');
|
||||
TestDis('lock xadd [rdi],ax', #$f0#$66#$0f#$c1#$07, 'lock xadd [rdi],ax');
|
||||
|
||||
TestDis('mov [$0000001a],al ', #$a2#$1a#$00#$00#$00#$00#$00#$00#$00, 'mov [$0000001a],al');
|
||||
TestDis('mov [$0000001a],ax ', #$66#$a3#$1a#$00#$00#$00#$00#$00#$00#$00, 'mov [$0000001a],ax');
|
||||
TestDis('mov [$0000001a],eax', #$a3#$1a#$00#$00#$00#$00#$00#$00#$00, 'mov [$0000001a],eax');
|
||||
@ -331,6 +334,9 @@ begin
|
||||
TestDis('add [esi*4+edx+$123456],ax', #$66#$01#$84#$b2#$56#$34#$12#$00, 'add [esi*4+edx+$123456],ax');
|
||||
TestDis('add [esi*4+edx+$123456],eax', #$01#$84#$b2#$56#$34#$12#$00, 'add [esi*4+edx+$123456],eax');
|
||||
|
||||
TestDis('xadd [edi],ax', #$66#$0f#$c1#$07, 'xadd [edi],ax');
|
||||
TestDis('lock xadd [edi],ax', #$f0#$66#$0f#$c1#$07, 'lock xadd [edi],ax');
|
||||
|
||||
TestDis('mov [$0000001a],al ', #$a2#$1a#$00#$00#$00, 'mov [$0000001a],al');
|
||||
TestDis('mov [$0000001a],ax ', #$66#$a3#$1a#$00#$00#$00, 'mov [$0000001a],ax');
|
||||
TestDis('mov [$0000001a],eax', #$a3#$1a#$00#$00#$00, 'mov [$0000001a],eax');
|
||||
|
Loading…
Reference in New Issue
Block a user