aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/long_mode/operand.rs8
-rw-r--r--test/protected_mode/operand.rs8
-rw-r--r--test/real_mode/operand.rs8
3 files changed, 24 insertions, 0 deletions
diff --git a/test/long_mode/operand.rs b/test/long_mode/operand.rs
index 10c4deb..09ac5a2 100644
--- a/test/long_mode/operand.rs
+++ b/test/long_mode/operand.rs
@@ -61,4 +61,12 @@ fn test_implied_memory_width() {
assert_eq!(mem_size_of(&[0xc9]), Some(8));
// xlat
assert_eq!(mem_size_of(&[0xd7]), Some(1));
+ // push fs
+ assert_eq!(mem_size_of(&[0x0f, 0xa0]), Some(8));
+ // pop fs
+ assert_eq!(mem_size_of(&[0x0f, 0xa1]), Some(8));
+ // push gs
+ assert_eq!(mem_size_of(&[0x0f, 0xa8]), Some(8));
+ // pop gs
+ assert_eq!(mem_size_of(&[0x0f, 0xa9]), Some(8));
}
diff --git a/test/protected_mode/operand.rs b/test/protected_mode/operand.rs
index fe9b54a..70dcadb 100644
--- a/test/protected_mode/operand.rs
+++ b/test/protected_mode/operand.rs
@@ -55,4 +55,12 @@ fn test_implied_memory_width() {
assert_eq!(mem_size_of(&[0xc9]), Some(4));
// xlat
assert_eq!(mem_size_of(&[0xd7]), Some(1));
+ // push fs
+ assert_eq!(mem_size_of(&[0x0f, 0xa0]), Some(4));
+ // pop fs
+ assert_eq!(mem_size_of(&[0x0f, 0xa1]), Some(4));
+ // push gs
+ assert_eq!(mem_size_of(&[0x0f, 0xa8]), Some(4));
+ // pop gs
+ assert_eq!(mem_size_of(&[0x0f, 0xa9]), Some(4));
}
diff --git a/test/real_mode/operand.rs b/test/real_mode/operand.rs
index e0f59e1..cdf5113 100644
--- a/test/real_mode/operand.rs
+++ b/test/real_mode/operand.rs
@@ -28,4 +28,12 @@ fn test_implied_memory_width() {
assert_eq!(mem_size_of(&[0xc9]), Some(2));
// xlat
assert_eq!(mem_size_of(&[0xd7]), Some(1));
+ // push fs
+ assert_eq!(mem_size_of(&[0x0f, 0xa0]), Some(2));
+ // pop fs
+ assert_eq!(mem_size_of(&[0x0f, 0xa1]), Some(2));
+ // push gs
+ assert_eq!(mem_size_of(&[0x0f, 0xa8]), Some(2));
+ // pop gs
+ assert_eq!(mem_size_of(&[0x0f, 0xa9]), Some(2));
}