mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-13 11:39:24 +02:00
* fixed a bug in fpc_SetJmp on i8086, that caused an incorrect value of sp to
be written in Jmp_buf.sp git-svn-id: trunk@25793 -
This commit is contained in:
parent
e160dab697
commit
9b2b5a9565
@ -22,13 +22,14 @@ asm
|
|||||||
|
|
||||||
mov bx, ss:[bp + 4 + extra_param_offset] // S
|
mov bx, ss:[bp + 4 + extra_param_offset] // S
|
||||||
mov word [bx + Jmp_buf.bp], ax
|
mov word [bx + Jmp_buf.bp], ax
|
||||||
mov word [bx + Jmp_buf.sp], di
|
|
||||||
mov cx, word ss:[di]
|
mov cx, word ss:[di]
|
||||||
mov word [bx + Jmp_buf.ip], cx
|
mov word [bx + Jmp_buf.ip], cx
|
||||||
{$ifdef FPC_X86_CODE_FAR}
|
{$ifdef FPC_X86_CODE_FAR}
|
||||||
mov cx, word ss:[di + 2]
|
mov cx, word ss:[di + 2]
|
||||||
mov word [bx + Jmp_buf.cs], cx
|
mov word [bx + Jmp_buf.cs], cx
|
||||||
{$endif FPC_X86_CODE_FAR}
|
{$endif FPC_X86_CODE_FAR}
|
||||||
|
add di, 4 + extra_param_offset
|
||||||
|
mov word [bx + Jmp_buf.sp], di
|
||||||
|
|
||||||
xor ax, ax
|
xor ax, ax
|
||||||
pop bp
|
pop bp
|
||||||
|
Loading…
Reference in New Issue
Block a user