mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 13:49:12 +02:00
* use si, instead of bp in InterLockedDecrement and InterLockedIncrement
git-svn-id: trunk@27400 -
This commit is contained in:
parent
8364232049
commit
2dd9a36bdc
@ -211,27 +211,23 @@ end;
|
|||||||
{TODO: fix, use smallint?}
|
{TODO: fix, use smallint?}
|
||||||
function InterLockedDecrement (var Target: longint) : longint;nostackframe;assembler;
|
function InterLockedDecrement (var Target: longint) : longint;nostackframe;assembler;
|
||||||
asm
|
asm
|
||||||
push bp
|
mov si, sp
|
||||||
mov bp, sp
|
mov bx, ss:[si + 2 + extra_param_offset] // Target
|
||||||
mov bx, ss:[bp + 4 + extra_param_offset] // Target
|
|
||||||
sub word [bx], 1
|
sub word [bx], 1
|
||||||
sbb word [bx+2], 0
|
sbb word [bx+2], 0
|
||||||
mov ax, [bx]
|
mov ax, [bx]
|
||||||
mov dx, [bx+2]
|
mov dx, [bx+2]
|
||||||
pop bp
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{TODO: fix, use smallint?}
|
{TODO: fix, use smallint?}
|
||||||
function InterLockedIncrement (var Target: longint) : longint;nostackframe;assembler;
|
function InterLockedIncrement (var Target: longint) : longint;nostackframe;assembler;
|
||||||
asm
|
asm
|
||||||
push bp
|
mov si, sp
|
||||||
mov bp, sp
|
mov bx, ss:[si + 2 + extra_param_offset] // Target
|
||||||
mov bx, ss:[bp + 4 + extra_param_offset] // Target
|
|
||||||
add word [bx], 1
|
add word [bx], 1
|
||||||
adc word [bx+2], 0
|
adc word [bx+2], 0
|
||||||
mov ax, [bx]
|
mov ax, [bx]
|
||||||
mov dx, [bx+2]
|
mov dx, [bx+2]
|
||||||
pop bp
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{TODO: fix, use smallint?}
|
{TODO: fix, use smallint?}
|
||||||
|
Loading…
Reference in New Issue
Block a user