+ apply extra_param_offset to all i8086 asm routines that use nostackframe

git-svn-id: trunk@24874 -
This commit is contained in:
nickysn 2013-06-11 21:10:47 +00:00
parent 5d4ebf0dca
commit baa4d39ea3
2 changed files with 9 additions and 9 deletions

View File

@ -29,8 +29,8 @@ function Ptr(sel,off: LongInt):farpointer;{$ifdef SYSTEMINLINE}inline;{$endif}as
asm
push bp
mov bp, sp
mov ax, ss:[bp + 4]
mov dx, ss:[bp + 8]
mov ax, ss:[bp + 4 + extra_param_offset] // off
mov dx, ss:[bp + 8 + extra_param_offset] // sel
pop bp
end;
@ -57,7 +57,7 @@ function get_caller_addr(framebp:pointer;addr:pointer=nil):pointer;nostackframe;
asm
push bp
mov bp, sp
mov ax, ss:[bp + 6]
mov ax, ss:[bp + 6 + extra_param_offset] // framebp
or ax, ax
jz @@Lg_a_null
xchg ax, bx
@ -72,7 +72,7 @@ function get_caller_frame(framebp:pointer;addr:pointer=nil):pointer;nostackframe
asm
push bp
mov bp, sp
mov ax, ss:[bp + 6]
mov ax, ss:[bp + 6 + extra_param_offset] // framebp
or ax, ax
jz @@Lgnf_null
xchg ax, bx
@ -87,7 +87,7 @@ function InterLockedDecrement (var Target: longint) : longint; assembler;
asm
push bp
mov bp, sp
mov bx, ss:[bp + 4]
mov bx, ss:[bp + 4 + extra_param_offset] // Target
sub word [bx], 1
sbb word [bx+2], 0
mov ax, [bx]
@ -100,7 +100,7 @@ function InterLockedIncrement (var Target: longint) : longint; assembler;
asm
push bp
mov bp, sp
mov bx, ss:[bp + 4]
mov bx, ss:[bp + 4 + extra_param_offset] // Target
add word [bx], 1
adc word [bx+2], 0
mov ax, [bx]

View File

@ -20,7 +20,7 @@ asm
push bp
mov bp, sp
mov bx, ss:[bp + 4]
mov bx, ss:[bp + 4 + extra_param_offset] // S
mov word [bx + Jmp_buf.bp], ax
mov word [bx + Jmp_buf.sp], di
mov di, word ss:[di]
@ -36,8 +36,8 @@ asm
push bp
mov bp, sp
mov bx, ss:[bp + 6]
mov ax, ss:[bp + 4]
mov bx, ss:[bp + 6 + extra_param_offset] // S
mov ax, ss:[bp + 4 + extra_param_offset] // value
test ax, ax
jnz @@L1
inc ax