+ implemented the CSeg, DSeg and SSeg functions on the i8086

git-svn-id: branches/i8086@24041 -
This commit is contained in:
nickysn 2013-03-28 21:29:14 +00:00
parent db07a990a9
commit ceb76808e7
2 changed files with 24 additions and 0 deletions

View File

@ -24,6 +24,24 @@ asm
mov ax, sp
end;
{$define FPC_SYSTEM_HAS_CSEG}
function CSeg: Word;{$ifdef SYSTEMINLINE}inline;{$endif}assembler;nostackframe;
asm
mov ax, cs
end;
{$define FPC_SYSTEM_HAS_DSEG}
function DSeg: Word;{$ifdef SYSTEMINLINE}inline;{$endif}assembler;nostackframe;
asm
mov ax, ds
end;
{$define FPC_SYSTEM_HAS_SSEG}
function SSeg: Word;{$ifdef SYSTEMINLINE}inline;{$endif}assembler;nostackframe;
asm
mov ax, ss
end;
{$define FPC_SYSTEM_HAS_GET_CALLER_ADDR}
function get_caller_addr(framebp:pointer;addr:pointer=nil):pointer;nostackframe;assembler;
asm

View File

@ -657,20 +657,26 @@ Begin
ptr:=farpointer((sel shl 4)+off);
End;
{$ifndef FPC_SYSTEM_HAS_CSEG}
Function CSeg : Word;{$ifdef SYSTEMINLINE}inline;{$endif}
Begin
Cseg:=0;
End;
{$endif not FPC_SYSTEM_HAS_CSEG}
{$ifndef FPC_SYSTEM_HAS_DSEG}
Function DSeg : Word;{$ifdef SYSTEMINLINE}inline;{$endif}
Begin
Dseg:=0;
End;
{$endif not FPC_SYSTEM_HAS_DSEG}
{$ifndef FPC_SYSTEM_HAS_SSEG}
Function SSeg : Word;{$ifdef SYSTEMINLINE}inline;{$endif}
Begin
Sseg:=0;
End;
{$endif not FPC_SYSTEM_HAS_SSEG}