aboutsummaryrefslogtreecommitdiff
path: root/test/protected_mode
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2026-04-12 01:03:47 +0000
committeriximeow <me@iximeow.net>2026-05-25 00:59:27 +0000
commita049351c5d512710f557ffb45ee6391fc86a3dc6 (patch)
tree17040c4c95f9361de271fb1ad874c3a71d2b0e9d /test/protected_mode
parent6c32405ca9930f393d8ca45d22df1b5a1c7c8653 (diff)
fix table management instructions' ({l,s}{g,i,l}dt) mem_size
these instructions, it turns out, have fixed operand size based on CPU execution mode and regardless of prefixes. good to know!
Diffstat (limited to 'test/protected_mode')
-rw-r--r--test/protected_mode/mod.rs10
1 files changed, 5 insertions, 5 deletions
diff --git a/test/protected_mode/mod.rs b/test/protected_mode/mod.rs
index 78a061a..d5533cc 100644
--- a/test/protected_mode/mod.rs
+++ b/test/protected_mode/mod.rs
@@ -811,11 +811,11 @@ fn test_0f01() {
// Number"
test_display(&[0x0f, 0x01, 0x38], "invlpg byte [eax]");
test_display(&[0x0f, 0x01, 0x3f], "invlpg byte [edi]");
- test_display(&[0x0f, 0x01, 0x40, 0xff], "sgdt ptr [eax - 0x1]");
- test_display(&[0x0f, 0x01, 0x41, 0xff], "sgdt ptr [ecx - 0x1]");
- test_display(&[0x0f, 0x01, 0x49, 0xff], "sidt ptr [ecx - 0x1]");
- test_display(&[0x0f, 0x01, 0x51, 0xff], "lgdt ptr [ecx - 0x1]");
- test_display(&[0x0f, 0x01, 0x59, 0xff], "lidt ptr [ecx - 0x1]");
+ test_display(&[0x0f, 0x01, 0x40, 0xff], "sgdt far [eax - 0x1]");
+ test_display(&[0x0f, 0x01, 0x41, 0xff], "sgdt far [ecx - 0x1]");
+ test_display(&[0x0f, 0x01, 0x49, 0xff], "sidt far [ecx - 0x1]");
+ test_display(&[0x0f, 0x01, 0x51, 0xff], "lgdt far [ecx - 0x1]");
+ test_display(&[0x0f, 0x01, 0x59, 0xff], "lidt far [ecx - 0x1]");
test_display(&[0x0f, 0x01, 0x61, 0xff], "smsw word [ecx - 0x1]");
test_invalid(&[0x0f, 0x01, 0x69, 0xff]);
test_display(&[0x0f, 0x01, 0x71, 0xff], "lmsw word [ecx - 0x1]");