aboutsummaryrefslogtreecommitdiff
path: root/test/protected_mode
diff options
context:
space:
mode:
Diffstat (limited to 'test/protected_mode')
-rw-r--r--test/protected_mode/mod.rs2
-rw-r--r--test/protected_mode/regspec.rs15
2 files changed, 16 insertions, 1 deletions
diff --git a/test/protected_mode/mod.rs b/test/protected_mode/mod.rs
index bf9315c..c5c3c7b 100644
--- a/test/protected_mode/mod.rs
+++ b/test/protected_mode/mod.rs
@@ -12,7 +12,7 @@ fn test_invalid(data: &[u8]) {
fn test_invalid_under(decoder: &InstDecoder, data: &[u8]) {
if let Ok(inst) = decoder.decode(data.into_iter().cloned()) {
- assert_eq!(inst.opcode, Opcode::Invalid, "decoded {:?} from {:02x?} under decoder {}", inst.opcode, data, decoder);
+ assert_eq!(inst.opcode(), Opcode::Invalid, "decoded {:?} from {:02x?} under decoder {}", inst.opcode(), data, decoder);
} else {
// this is fine
}
diff --git a/test/protected_mode/regspec.rs b/test/protected_mode/regspec.rs
index bd996cc..eb8d018 100644
--- a/test/protected_mode/regspec.rs
+++ b/test/protected_mode/regspec.rs
@@ -18,3 +18,18 @@ fn test_labels() {
assert_eq!(RegSpec::gs().name(), "gs");
assert_eq!(RegSpec::al().name(), "al");
}
+
+#[test]
+fn test_bank_names() {
+ assert_eq!(RegSpec::al().class().name(), "byte");
+ assert_eq!(RegSpec::ax().class().name(), "word");
+ assert_eq!(RegSpec::eax().class().name(), "dword");
+ assert_eq!(RegSpec::fs().class().name(), "segment");
+ assert_eq!(RegSpec::eflags().class().name(), "eflags");
+ assert_eq!(RegSpec::eip().class().name(), "eip");
+ assert_eq!(RegSpec::st0().class().name(), "x87-stack");
+ assert_eq!(RegSpec::mm0().class().name(), "mmx");
+ assert_eq!(RegSpec::xmm0().class().name(), "xmm");
+ assert_eq!(RegSpec::ymm0().class().name(), "ymm");
+ assert_eq!(RegSpec::zmm0().class().name(), "zmm");
+}