aboutsummaryrefslogtreecommitdiff
path: root/test/long_mode/mod.rs
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2026-03-27 07:05:18 +0000
committeriximeow <me@iximeow.net>2026-03-27 07:05:18 +0000
commitc1ede29b37292df4d45dfefe54bd5ca3e222f1fc (patch)
tree4c576316ba8ceb89a4594d74b8a65db37fdaa7b3 /test/long_mode/mod.rs
parentce0b0dcfaaeeb78fc627e54ddb0eca84f3575067 (diff)
more accurate mov seg-to-gpr operand size
Diffstat (limited to 'test/long_mode/mod.rs')
-rw-r--r--test/long_mode/mod.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/long_mode/mod.rs b/test/long_mode/mod.rs
index 73ca7f3..dd19b55 100644
--- a/test/long_mode/mod.rs
+++ b/test/long_mode/mod.rs
@@ -1254,12 +1254,22 @@ fn test_mov() {
test_display(&[0x0f, 0x97, 0x08], "seta byte [rax]");
// test_display(&[0xd6], "salc");
test_display(&[0x8e, 0x00], "mov es, word [rax]");
+ test_display(&[0x8e, 0xc0], "mov es, ax");
+ test_display(&[0x8c, 0xc0], "mov eax, es");
// cs is not an allowed destination
test_invalid(&[0x8e, 0x08]);
test_display(&[0x8e, 0x10], "mov ss, word [rax]");
+ test_display(&[0x8e, 0xd0], "mov ss, ax");
+ test_display(&[0x8c, 0xd0], "mov eax, ss");
test_display(&[0x8e, 0x18], "mov ds, word [rax]");
+ test_display(&[0x8e, 0xd8], "mov ds, ax");
+ test_display(&[0x8c, 0xd8], "mov eax, ds");
test_display(&[0x8e, 0x20], "mov fs, word [rax]");
+ test_display(&[0x8e, 0xe0], "mov fs, ax");
+ test_display(&[0x8c, 0xe0], "mov eax, fs");
test_display(&[0x8e, 0x28], "mov gs, word [rax]");
+ test_display(&[0x8e, 0xe8], "mov gs, ax");
+ test_display(&[0x8c, 0xe8], "mov eax, gs");
test_invalid(&[0x8e, 0x30]);
test_invalid(&[0x8e, 0x38]);
}