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 b94d39f..10c4deb 100644
--- a/test/long_mode/operand.rs
+++ b/test/long_mode/operand.rs
@@ -53,4 +53,12 @@ fn test_implied_memory_width() {
// operand-size prefixed call and jump still reads 8 bytes (prefix ignored)
assert_eq!(mem_size_of(&[0x66, 0xff, 0x10]), Some(8));
assert_eq!(mem_size_of(&[0x66, 0xff, 0x20]), Some(8));
+ // pushf
+ assert_eq!(mem_size_of(&[0x9c]), Some(8));
+ // popf
+ assert_eq!(mem_size_of(&[0x9d]), Some(8));
+ // leave
+ assert_eq!(mem_size_of(&[0xc9]), Some(8));
+ // xlat
+ assert_eq!(mem_size_of(&[0xd7]), Some(1));
}
diff --git a/test/protected_mode/operand.rs b/test/protected_mode/operand.rs
index 78a34b4..fe9b54a 100644
--- a/test/protected_mode/operand.rs
+++ b/test/protected_mode/operand.rs
@@ -47,4 +47,12 @@ fn test_implied_memory_width() {
// two bytes.
assert_eq!(mem_size_of(&[0x66, 0xff, 0x10]), Some(2));
assert_eq!(mem_size_of(&[0x66, 0xff, 0x20]), Some(2));
+ // pushf
+ assert_eq!(mem_size_of(&[0x9c]), Some(4));
+ // popf
+ assert_eq!(mem_size_of(&[0x9d]), Some(4));
+ // leave
+ assert_eq!(mem_size_of(&[0xc9]), Some(4));
+ // xlat
+ assert_eq!(mem_size_of(&[0xd7]), Some(1));
}
diff --git a/test/real_mode/operand.rs b/test/real_mode/operand.rs
index 7f2b72e..e0f59e1 100644
--- a/test/real_mode/operand.rs
+++ b/test/real_mode/operand.rs
@@ -20,4 +20,12 @@ fn test_implied_memory_width() {
// four bytes.
assert_eq!(mem_size_of(&[0x66, 0xff, 0x10]), Some(4));
assert_eq!(mem_size_of(&[0x66, 0xff, 0x20]), Some(4));
+ // pushf
+ assert_eq!(mem_size_of(&[0x9c]), Some(2));
+ // popf
+ assert_eq!(mem_size_of(&[0x9d]), Some(2));
+ // leave
+ assert_eq!(mem_size_of(&[0xc9]), Some(2));
+ // xlat
+ assert_eq!(mem_size_of(&[0xd7]), Some(1));
}