aboutsummaryrefslogtreecommitdiff
path: root/test/protected_mode/mod.rs
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2021-07-22 00:31:02 -0700
committeriximeow <me@iximeow.net>2021-07-22 00:31:02 -0700
commit4371ed02ac30cb56ec4ddbf60c87e85c183d860b (patch)
treeb24673d757b41cd58966fc0e8ea472cd9b6e6fb0 /test/protected_mode/mod.rs
parenta3c2c7486ef6830751fd0a5e2a6cb91b432f28a5 (diff)
fix incorrect decodes with scas and 67-prefixes1.0.4
Diffstat (limited to 'test/protected_mode/mod.rs')
-rw-r--r--test/protected_mode/mod.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/protected_mode/mod.rs b/test/protected_mode/mod.rs
index 28682ef..c03a19d 100644
--- a/test/protected_mode/mod.rs
+++ b/test/protected_mode/mod.rs
@@ -2363,6 +2363,16 @@ fn prefixed_f30f() {
#[test]
fn only_32bit() {
+ test_display(&[0x67, 0xac], "lods al, byte ds:[si]");
+ test_display(&[0x67, 0xae], "scas byte es:[di], al");
+ test_display(&[0xac], "lods al, byte ds:[esi]");
+ test_display(&[0xae], "scas byte es:[edi], al");
+ test_display(&[0x67, 0xf3, 0xa4], "rep movs byte es:[di], byte ds:[si]");
+ test_display(&[0xf3, 0xa4], "rep movs byte es:[edi], byte ds:[esi]");
+ test_display(&[0x67, 0xf3, 0xa5], "rep movs dword es:[di], dword ds:[si]");
+ test_display(&[0xf3, 0xa5], "rep movs dword es:[edi], dword ds:[esi]");
+ test_display(&[0x66, 0x67, 0x8b, 0x0e, 0x55, 0xaa], "mov cx, word [0xaa55]");
+ test_display(&[0x66, 0x8b, 0x0e], "mov cx, word [esi]");
test_display(&[0x40], "inc eax");
test_display(&[0x41], "inc ecx");
test_display(&[0x47], "inc edi");