* use si, instead of bp in InterLockedDecrement and InterLockedIncrement

git-svn-id: trunk@27400 -
This commit is contained in:
nickysn 2014-03-30 22:38:30 +00:00
parent 8364232049
commit 2dd9a36bdc

View File

@ -211,27 +211,23 @@ end;
{TODO: fix, use smallint?}
function InterLockedDecrement (var Target: longint) : longint;nostackframe;assembler;
asm
push bp
mov bp, sp
mov bx, ss:[bp + 4 + extra_param_offset] // Target
mov si, sp
mov bx, ss:[si + 2 + extra_param_offset] // Target
sub word [bx], 1
sbb word [bx+2], 0
mov ax, [bx]
mov dx, [bx+2]
pop bp
end;
{TODO: fix, use smallint?}
function InterLockedIncrement (var Target: longint) : longint;nostackframe;assembler;
asm
push bp
mov bp, sp
mov bx, ss:[bp + 4 + extra_param_offset] // Target
mov si, sp
mov bx, ss:[si + 2 + extra_param_offset] // Target
add word [bx], 1
adc word [bx+2], 0
mov ax, [bx]
mov dx, [bx+2]
pop bp
end;
{TODO: fix, use smallint?}