Ver código fonte

+ added pointer const tests to the far pointer arithmetic test tfarptr3.pp

git-svn-id: trunk@27486 -
nickysn 11 anos atrás
pai
commit
cd90154b9c
1 arquivos alterados com 71 adições e 0 exclusões
  1. 71 0
      tests/test/cpu16/i8086/tfarptr3.pp

+ 71 - 0
tests/test/cpu16/i8086/tfarptr3.pp

@@ -74,6 +74,51 @@ begin
   FarPtr := Ptr($1234, $5678);
   FarPtr := Ptr($1234, $5678);
   FarPtr2 := nil;
   FarPtr2 := nil;
   FarPtr2 := $55AAF0AD + FarPtr;
   FarPtr2 := $55AAF0AD + FarPtr;
+  if FarPtr2 <> Ptr($1234, $4725) then
+    Error(1);
+  { const }
+  Writeln('farptr_const + int16_var');
+  int16 := $F0AD;
+  FarPtr2 := nil;
+  FarPtr2 := FarPointer($12345678) + int16;
+  if FarPtr2 <> Ptr($1234, $4725) then
+    Error(1);
+  Writeln('int16_var + farptr_const');
+  int16 := $F0AD;
+  FarPtr2 := nil;
+  FarPtr2 := int16 + FarPointer($12345678);
+  if FarPtr2 <> Ptr($1234, $4725) then
+    Error(1);
+  Writeln('farptr_const + int32_var');
+  int32 := $55AAF0AD;
+  FarPtr2 := nil;
+  FarPtr2 := FarPointer($12345678) + int32;
+  if FarPtr2 <> Ptr($1234, $4725) then
+    Error(1);
+  Writeln('int32_var + farptr_const');
+  int32 := $55AAF0AD;
+  FarPtr2 := nil;
+  FarPtr2 := int32 + FarPointer($12345678);
+  if FarPtr2 <> Ptr($1234, $4725) then
+    Error(1);
+  Writeln('farptr_const + int16_const');
+  FarPtr2 := nil;
+  FarPtr2 := FarPointer($12345678) + $F0AD;
+  if FarPtr2 <> Ptr($1234, $4725) then
+    Error(1);
+  Writeln('int16_const + farptr_const');
+  FarPtr2 := nil;
+  FarPtr2 := $F0AD + FarPointer($12345678);
+  if FarPtr2 <> Ptr($1234, $4725) then
+    Error(1);
+  Writeln('farptr_const + int32_const');
+  FarPtr2 := nil;
+  FarPtr2 := FarPointer($12345678) + $55AAF0AD;
+  if FarPtr2 <> Ptr($1234, $4725) then
+    Error(1);
+  Writeln('int32_const + farptr_const');
+  FarPtr2 := nil;
+  FarPtr2 := $55AAF0AD + FarPointer($12345678);
   if FarPtr2 <> Ptr($1234, $4725) then
   if FarPtr2 <> Ptr($1234, $4725) then
     Error(1);
     Error(1);
 
 
@@ -101,6 +146,32 @@ begin
   FarPtr := Ptr($1234, $5678);
   FarPtr := Ptr($1234, $5678);
   FarPtr2 := nil;
   FarPtr2 := nil;
   FarPtr2 := FarPtr - $55AAF0AD;
   FarPtr2 := FarPtr - $55AAF0AD;
+  if FarPtr2 <> Ptr($1234, $65CB) then
+    Error(1);
+  Writeln('farptr_const - int16_var');
+  FarPtr := Ptr($1234, $5678);
+  int16 := $F0AD;
+  FarPtr2 := nil;
+  FarPtr2 := FarPointer($12345678) - int16;
+  if FarPtr2 <> Ptr($1234, $65CB) then
+    Error(1);
+  Writeln('farptr_const - int32_var');
+  FarPtr := Ptr($1234, $5678);
+  int32 := $55AAF0AD;
+  FarPtr2 := nil;
+  FarPtr2 := FarPointer($12345678) - int32;
+  if FarPtr2 <> Ptr($1234, $65CB) then
+    Error(1);
+  Writeln('farptr_const - int16_const');
+  FarPtr := Ptr($1234, $5678);
+  FarPtr2 := nil;
+  FarPtr2 := FarPointer($12345678) - $F0AD;
+  if FarPtr2 <> Ptr($1234, $65CB) then
+    Error(1);
+  Writeln('farptr_const - int32_const');
+  FarPtr := Ptr($1234, $5678);
+  FarPtr2 := nil;
+  FarPtr2 := FarPointer($12345678) - $55AAF0AD;
   if FarPtr2 <> Ptr($1234, $65CB) then
   if FarPtr2 <> Ptr($1234, $65CB) then
     Error(1);
     Error(1);