diff options
| author | iximeow <me@iximeow.net> | 2026-03-27 07:05:18 +0000 |
|---|---|---|
| committer | iximeow <me@iximeow.net> | 2026-05-25 00:59:27 +0000 |
| commit | 6c32405ca9930f393d8ca45d22df1b5a1c7c8653 (patch) | |
| tree | 3986d0c5a4544c1bebe35b8095cf3d04920e3f20 /test/protected_mode/mod.rs | |
| parent | 35358d573bccd0776e55187564ccd6c72c9f9c34 (diff) | |
more accurate mov seg-to-gpr operand size
Diffstat (limited to 'test/protected_mode/mod.rs')
| -rw-r--r-- | test/protected_mode/mod.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/test/protected_mode/mod.rs b/test/protected_mode/mod.rs index 29e9ec4..78a061a 100644 --- a/test/protected_mode/mod.rs +++ b/test/protected_mode/mod.rs @@ -1075,12 +1075,22 @@ fn test_mov() { test_display(&[0x0f, 0x97, 0x08], "seta byte [eax]"); // test_display(&[0xd6], "salc"); test_display(&[0x8e, 0x00], "mov es, word [eax]"); + 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 [eax]"); + test_display(&[0x8e, 0xd0], "mov ss, ax"); + test_display(&[0x8c, 0xd0], "mov eax, ss"); test_display(&[0x8e, 0x18], "mov ds, word [eax]"); + test_display(&[0x8e, 0xd8], "mov ds, ax"); + test_display(&[0x8c, 0xd8], "mov eax, ds"); test_display(&[0x8e, 0x20], "mov fs, word [eax]"); + test_display(&[0x8e, 0xe0], "mov fs, ax"); + test_display(&[0x8c, 0xe0], "mov eax, fs"); test_display(&[0x8e, 0x28], "mov gs, word [eax]"); + test_display(&[0x8e, 0xe8], "mov gs, ax"); + test_display(&[0x8c, 0xe8], "mov eax, gs"); test_invalid(&[0x8e, 0x30]); test_invalid(&[0x8e, 0x38]); } |
