mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-13 04:39:22 +02:00
+ added rtl helpers for huge pointer comparisons
git-svn-id: trunk@28148 -
This commit is contained in:
parent
d9e94ffab7
commit
c306f48c14
@ -77,3 +77,33 @@ begin
|
|||||||
linear:=(LongInt(Seg(p^)) shl 4)+Ofs(p^)-n;
|
linear:=(LongInt(Seg(p^)) shl 4)+Ofs(p^)-n;
|
||||||
p:=HugePointer(Ptr(linear shr 4,linear and $F));
|
p:=HugePointer(Ptr(linear shr 4,linear and $F));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function fpc_hugeptr_cmp_normalized_e(p1, p2: HugePointer): Boolean; compilerproc;
|
||||||
|
begin
|
||||||
|
fpc_hugeptr_cmp_normalized_e:=((LongInt(Seg(p1^)) shl 4)+Ofs(p1^))=((LongInt(Seg(p2^)) shl 4)+Ofs(p2^));
|
||||||
|
end;
|
||||||
|
|
||||||
|
function fpc_hugeptr_cmp_normalized_ne(p1, p2: HugePointer): Boolean; compilerproc;
|
||||||
|
begin
|
||||||
|
fpc_hugeptr_cmp_normalized_ne:=((LongInt(Seg(p1^)) shl 4)+Ofs(p1^))<>((LongInt(Seg(p2^)) shl 4)+Ofs(p2^));
|
||||||
|
end;
|
||||||
|
|
||||||
|
function fpc_hugeptr_cmp_normalized_b(p1, p2: HugePointer): Boolean; compilerproc;
|
||||||
|
begin
|
||||||
|
fpc_hugeptr_cmp_normalized_b:=((LongInt(Seg(p1^)) shl 4)+Ofs(p1^))<((LongInt(Seg(p2^)) shl 4)+Ofs(p2^));
|
||||||
|
end;
|
||||||
|
|
||||||
|
function fpc_hugeptr_cmp_normalized_be(p1, p2: HugePointer): Boolean; compilerproc;
|
||||||
|
begin
|
||||||
|
fpc_hugeptr_cmp_normalized_be:=((LongInt(Seg(p1^)) shl 4)+Ofs(p1^))<=((LongInt(Seg(p2^)) shl 4)+Ofs(p2^));
|
||||||
|
end;
|
||||||
|
|
||||||
|
function fpc_hugeptr_cmp_normalized_a(p1, p2: HugePointer): Boolean; compilerproc;
|
||||||
|
begin
|
||||||
|
fpc_hugeptr_cmp_normalized_a:=((LongInt(Seg(p1^)) shl 4)+Ofs(p1^))>((LongInt(Seg(p2^)) shl 4)+Ofs(p2^));
|
||||||
|
end;
|
||||||
|
|
||||||
|
function fpc_hugeptr_cmp_normalized_ae(p1, p2: HugePointer): Boolean; compilerproc;
|
||||||
|
begin
|
||||||
|
fpc_hugeptr_cmp_normalized_ae:=((LongInt(Seg(p1^)) shl 4)+Ofs(p1^))>=((LongInt(Seg(p2^)) shl 4)+Ofs(p2^));
|
||||||
|
end;
|
||||||
|
@ -757,4 +757,11 @@ procedure fpc_hugeptr_inc_longint(var p: HugePointer; n: LongInt); compilerproc;
|
|||||||
procedure fpc_hugeptr_inc_longint_normalized(var p: HugePointer; n: LongInt); compilerproc;
|
procedure fpc_hugeptr_inc_longint_normalized(var p: HugePointer; n: LongInt); compilerproc;
|
||||||
procedure fpc_hugeptr_dec_longint(var p: HugePointer; n: LongInt); compilerproc;
|
procedure fpc_hugeptr_dec_longint(var p: HugePointer; n: LongInt); compilerproc;
|
||||||
procedure fpc_hugeptr_dec_longint_normalized(var p: HugePointer; n: LongInt); compilerproc;
|
procedure fpc_hugeptr_dec_longint_normalized(var p: HugePointer; n: LongInt); compilerproc;
|
||||||
|
|
||||||
|
function fpc_hugeptr_cmp_normalized_e(p1, p2: HugePointer): Boolean; compilerproc;
|
||||||
|
function fpc_hugeptr_cmp_normalized_ne(p1, p2: HugePointer): Boolean; compilerproc;
|
||||||
|
function fpc_hugeptr_cmp_normalized_b(p1, p2: HugePointer): Boolean; compilerproc;
|
||||||
|
function fpc_hugeptr_cmp_normalized_be(p1, p2: HugePointer): Boolean; compilerproc;
|
||||||
|
function fpc_hugeptr_cmp_normalized_a(p1, p2: HugePointer): Boolean; compilerproc;
|
||||||
|
function fpc_hugeptr_cmp_normalized_ae(p1, p2: HugePointer): Boolean; compilerproc;
|
||||||
{$endif i8086}
|
{$endif i8086}
|
||||||
|
Loading…
Reference in New Issue
Block a user