Browse Source

+ extended test with many more variants, supported by BP7 for specifying an indirect call/jmp

git-svn-id: trunk@32176 -
nickysn 9 years ago
parent
commit
a7a71f8b9f
2 changed files with 84 additions and 0 deletions
  1. 42 0
      tests/test/cpu16/i8086/tfarcal2.pp
  2. 42 0
      tests/test/cpu16/i8086/tfarjmp2.pp

+ 42 - 0
tests/test/cpu16/i8086/tfarcal2.pp

@@ -89,6 +89,10 @@ begin
   asm
     int NearInt
     call word [a] { near }
+    int NearInt
+    call word ptr [a] { near }
+    int NearInt
+    call word ptr a { near }
 
     int FarInt
     call [a]      { far }
@@ -98,6 +102,10 @@ begin
 
     int FarInt
     call dword [b] { far }
+    int FarInt
+    call dword ptr [b] { far }
+    int FarInt
+    call dword ptr b { far }
 
     int NearInt
     call [b]       { near }
@@ -123,14 +131,48 @@ begin
     int NearInt
     call [g16] { near }
 
+    int NearInt
+    call word [g16] { near }
+    int NearInt
+    call word ptr [g16] { near }
+    int NearInt
+    call word ptr g16 { near }
+
+    int FarInt
+    call dword [g16] { far }
+    int FarInt
+    call dword ptr [g16] { far }
+    int FarInt
+    call dword ptr g16 { far }
+
     int FarInt
     call g32 { far }
 
     int FarInt
     call [g32] { far }
 
+    int NearInt
+    call word [g32] { near }
+    int NearInt
+    call word ptr [g32] { near }
+    int NearInt
+    call word ptr g32 { near }
+
+    int FarInt
+    call dword [g32] { far }
+    int FarInt
+    call dword ptr [g32] { far }
+    int FarInt
+    call dword ptr g32 { far }
+
+    int NearInt
+    call word [bx] { near }
+    int NearInt
+    call word ptr [bx] { near }
     int FarInt
     call dword [bx] { far }
+    int FarInt
+    call dword ptr [bx] { far }
 
 {$ifdef FPC}
     { these three are supported by Free Pascal only. They don't work with

+ 42 - 0
tests/test/cpu16/i8086/tfarjmp2.pp

@@ -89,6 +89,10 @@ begin
   asm
     int NearInt
     jmp word [a] { near }
+    int NearInt
+    jmp word ptr [a] { near }
+    int NearInt
+    jmp word ptr a { near }
 
     int FarInt
     jmp [a]      { far }
@@ -98,6 +102,10 @@ begin
 
     int FarInt
     jmp dword [b] { far }
+    int FarInt
+    jmp dword ptr [b] { far }
+    int FarInt
+    jmp dword ptr b { far }
 
     int NearInt
     jmp [b]       { near }
@@ -123,14 +131,48 @@ begin
     int NearInt
     jmp [g16] { near }
 
+    int NearInt
+    jmp word [g16] { near }
+    int NearInt
+    jmp word ptr [g16] { near }
+    int NearInt
+    jmp word ptr g16 { near }
+
+    int FarInt
+    jmp dword [g16] { far }
+    int FarInt
+    jmp dword ptr [g16] { far }
+    int FarInt
+    jmp dword ptr g16 { far }
+
     int FarInt
     jmp g32 { far }
 
     int FarInt
     jmp [g32] { far }
 
+    int NearInt
+    jmp word [g32] { near }
+    int NearInt
+    jmp word ptr [g32] { near }
+    int NearInt
+    jmp word ptr g32 { near }
+
+    int FarInt
+    jmp dword [g32] { far }
+    int FarInt
+    jmp dword ptr [g32] { far }
+    int FarInt
+    jmp dword ptr g32 { far }
+
+    int NearInt
+    jmp word [bx] { near }
+    int NearInt
+    jmp word ptr [bx] { near }
     int FarInt
     jmp dword [bx] { far }
+    int FarInt
+    jmp dword ptr [bx] { far }
 
 {$ifdef FPC}
     { these three are supported by Free Pascal only. They don't work with