mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-22 16:29:31 +02:00
+ rtl implementation of ptr(seg,ofs) for i8086
git-svn-id: trunk@24565 -
This commit is contained in:
parent
c31321c2fe
commit
fe404d2891
@ -24,6 +24,16 @@ asm
|
|||||||
mov ax, sp
|
mov ax, sp
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{$define FPC_SYSTEM_HAS_PTR}
|
||||||
|
function Ptr(sel,off: LongInt):farpointer;{$ifdef SYSTEMINLINE}inline;{$endif}assembler;nostackframe;
|
||||||
|
asm
|
||||||
|
push bp
|
||||||
|
mov bp, sp
|
||||||
|
mov ax, ss:[bp + 4]
|
||||||
|
mov dx, ss:[bp + 8]
|
||||||
|
pop bp
|
||||||
|
end;
|
||||||
|
|
||||||
{$define FPC_SYSTEM_HAS_CSEG}
|
{$define FPC_SYSTEM_HAS_CSEG}
|
||||||
function CSeg: Word;{$ifdef SYSTEMINLINE}inline;{$endif}assembler;nostackframe;
|
function CSeg: Word;{$ifdef SYSTEMINLINE}inline;{$endif}assembler;nostackframe;
|
||||||
asm
|
asm
|
||||||
|
@ -655,10 +655,12 @@ end;
|
|||||||
Memory Management
|
Memory Management
|
||||||
****************************************************************************}
|
****************************************************************************}
|
||||||
|
|
||||||
|
{$ifndef FPC_SYSTEM_HAS_PTR}
|
||||||
Function Ptr(sel,off : Longint) : farpointer;{$ifdef SYSTEMINLINE}inline;{$endif}
|
Function Ptr(sel,off : Longint) : farpointer;{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||||
Begin
|
Begin
|
||||||
ptr:=farpointer((sel shl 4)+off);
|
ptr:=farpointer((sel shl 4)+off);
|
||||||
End;
|
End;
|
||||||
|
{$endif not FPC_SYSTEM_HAS_PTR}
|
||||||
|
|
||||||
{$ifndef FPC_SYSTEM_HAS_CSEG}
|
{$ifndef FPC_SYSTEM_HAS_CSEG}
|
||||||
Function CSeg : Word;{$ifdef SYSTEMINLINE}inline;{$endif}
|
Function CSeg : Word;{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||||
|
Loading…
Reference in New Issue
Block a user