+ rtl implementation of ptr(seg,ofs) for i8086

git-svn-id: trunk@24565 -
This commit is contained in:
nickysn 2013-05-24 12:11:55 +00:00
parent c31321c2fe
commit fe404d2891
2 changed files with 12 additions and 0 deletions

View File

@ -24,6 +24,16 @@ asm
mov ax, sp
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}
function CSeg: Word;{$ifdef SYSTEMINLINE}inline;{$endif}assembler;nostackframe;
asm

View File

@ -655,10 +655,12 @@ end;
Memory Management
****************************************************************************}
{$ifndef FPC_SYSTEM_HAS_PTR}
Function Ptr(sel,off : Longint) : farpointer;{$ifdef SYSTEMINLINE}inline;{$endif}
Begin
ptr:=farpointer((sel shl 4)+off);
End;
{$endif not FPC_SYSTEM_HAS_PTR}
{$ifndef FPC_SYSTEM_HAS_CSEG}
Function CSeg : Word;{$ifdef SYSTEMINLINE}inline;{$endif}