Browse Source

+ extended test tasm18.pp with recordtype*constant and
recordtype.recordfield*constant expressions in asm references

git-svn-id: trunk@38201 -

nickysn 7 years ago
parent
commit
f5e6b40486
1 changed files with 37 additions and 1 deletions
  1. 37 1
      tests/test/tasm18.pp

+ 37 - 1
tests/test/tasm18.pp

@@ -20,7 +20,7 @@ type
   end;
   end;
 
 
 const
 const
-  expect1: array [0..$65] of byte = (
+  expect1: array [0..$A9] of byte = (
     $F7,$05,$01,$00,      { TEST    WORD PTR [DI],0001    }
     $F7,$05,$01,$00,      { TEST    WORD PTR [DI],0001    }
     $F6,$05,$01,          { TEST    BYTE PTR [DI],01      }
     $F6,$05,$01,          { TEST    BYTE PTR [DI],01      }
     $F7,$45,$01,$01,$00,  { TEST    WORD PTR [DI+01],0001 }
     $F7,$45,$01,$01,$00,  { TEST    WORD PTR [DI+01],0001 }
@@ -30,6 +30,24 @@ const
     $F7,$45,$04,$01,$00,  { TEST    WORD PTR [DI+04],0001 }
     $F7,$45,$04,$01,$00,  { TEST    WORD PTR [DI+04],0001 }
     $F6,$45,$04,$01,      { TEST    BYTE PTR [DI+04],01   }
     $F6,$45,$04,$01,      { TEST    BYTE PTR [DI+04],01   }
 
 
+    $F7,$05,$01,$00,      { TEST    WORD PTR [DI],0001    }
+    $F6,$05,$01,          { TEST    BYTE PTR [DI],01      }
+    $F7,$45,$01,$01,$00,  { TEST    WORD PTR [DI+01],0001 }
+    $F6,$45,$03,$01,      { TEST    BYTE PTR [DI+03],01   }
+    $F7,$45,$FF,$01,$00,  { TEST    WORD PTR [DI-01],0001 }
+    $F6,$45,$FD,$01,      { TEST    BYTE PTR [DI-03],01   }
+    $F7,$45,$04,$01,$00,  { TEST    WORD PTR [DI+04],0001 }
+    $F6,$45,$04,$01,      { TEST    BYTE PTR [DI+04],01   }
+
+    $F7,$05,$01,$00,      { TEST    WORD PTR [DI],0001    }
+    $F6,$05,$01,          { TEST    BYTE PTR [DI],01      }
+    $F7,$45,$05,$01,$00,  { TEST    WORD PTR [DI+05],0001 }
+    $F6,$45,$0F,$01,      { TEST    BYTE PTR [DI+0F],01   }
+    $F7,$45,$FB,$01,$00,  { TEST    WORD PTR [DI-05],0001 }
+    $F6,$45,$F1,$01,      { TEST    BYTE PTR [DI-0F],01   }
+    $F7,$45,$12,$01,$00,  { TEST    WORD PTR [DI+12],0001 }
+    $F6,$45,$0E,$01,      { TEST    BYTE PTR [DI+0E],01   }
+
     $F6,$05,$01,          { TEST    BYTE PTR [DI],01      }
     $F6,$05,$01,          { TEST    BYTE PTR [DI],01      }
     $F6,$05,$01,          { TEST    BYTE PTR [DI],01      }
     $F6,$05,$01,          { TEST    BYTE PTR [DI],01      }
     $F6,$45,$01,$01,      { TEST    BYTE PTR [DI+01],01   }
     $F6,$45,$01,$01,      { TEST    BYTE PTR [DI+01],01   }
@@ -61,6 +79,24 @@ asm
   test [di+foo.b2+foo.w], cval           { test word ptr [di+4], 1 }
   test [di+foo.b2+foo.w], cval           { test word ptr [di+4], 1 }
   test [di+foo.w+foo.b2], cval           { test byte ptr [di+4], 1 }
   test [di+foo.w+foo.b2], cval           { test byte ptr [di+4], 1 }
 
 
+  test [di+foo2*1], cval                 { test word ptr [di], 1   }
+  test byte ptr [di+foo*1], cval         { test byte ptr [di], 1   }
+  test [di+foo.w*1], cval                { test word ptr [di+1], 1 }
+  test [di+foo.b2*1], cval               { test byte ptr [di+3], 1 }
+  test [di-foo.w*1], cval                { test word ptr [di-1], 1 }
+  test [di-foo.b2*1], cval               { test byte ptr [di-3], 1 }
+  test [di+foo.b2*1+foo.w*1], cval       { test word ptr [di+4], 1 }
+  test [di+foo.w*1+foo.b2*1], cval       { test byte ptr [di+4], 1 }
+
+  test [di+foo2*5], cval                 { test word ptr [di], 1    }
+  test byte ptr [di+foo*5], cval         { test byte ptr [di], 1    }
+  test [di+foo.w*5], cval                { test word ptr [di+5], 1  }
+  test [di+foo.b2*5], cval               { test byte ptr [di+15], 1 }
+  test [di-foo.w*5], cval                { test word ptr [di-5], 1  }
+  test [di-foo.b2*5], cval               { test byte ptr [di-15], 1 }
+  test [di+foo.b2*5+foo.w*3], cval       { test word ptr [di+18], 1 }
+  test [di+foo.w*5+foo.b2*3], cval       { test byte ptr [di+14], 1 }
+
   test byte ptr [di+foo2], cval          { test byte ptr [di], 1   }
   test byte ptr [di+foo2], cval          { test byte ptr [di], 1   }
   test byte ptr [di+foo], cval           { test byte ptr [di], 1   }
   test byte ptr [di+foo], cval           { test byte ptr [di], 1   }
   test byte ptr [di+foo.w], cval         { test byte ptr [di+1], 1 }
   test byte ptr [di+foo.w], cval         { test byte ptr [di+1], 1 }