aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2020-02-11 01:00:34 -0800
committeriximeow <me@iximeow.net>2020-02-11 01:00:34 -0800
commit0c1d6fc73c90f906aa2ed5dbdde1ade153e6a0ad (patch)
tree5c7c43e8ac59c526cd9c872038967fdec4bc5e19 /test
parentbd9ae00ba84275c9414298d016da21e8106cda36 (diff)
support `in` and `out` instructions
Diffstat (limited to 'test')
-rw-r--r--test/test.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/test/test.rs b/test/test.rs
index 6bc8972..896ffaa 100644
--- a/test/test.rs
+++ b/test/test.rs
@@ -512,7 +512,16 @@ fn test_bitwise() {
#[test]
fn test_misc() {
- test_display(&[0xcc], "int 0x3");
+ test_display(&[0xe4, 0x99], "in al, 0x99");
+ test_display(&[0xe5, 0x99], "in eax, 0x99");
+ test_display(&[0x67, 0xe5, 0x99], "in eax, 0x99");
+ test_display(&[0x4f, 0xe5, 0x99], "in eax, 0x99");
+ test_display(&[0xe6, 0x99], "out 0x99, al");
+ test_display(&[0x4f, 0xe7, 0x99], "out 0x99, eax");
+ test_display(&[0xec], "in al, dx");
+ test_display(&[0xed], "in eax, dx");
+ test_display(&[0xee], "out dx, al");
+ test_display(&[0xef], "out dx, eax");
test_display(&[0xcd, 0x00], "int 0x0");
test_display(&[0xcd, 0xff], "int 0xff");
test_display(&[0x9c], "pushf");