From 4371ed02ac30cb56ec4ddbf60c87e85c183d860b Mon Sep 17 00:00:00 2001 From: iximeow Date: Thu, 22 Jul 2021 00:31:02 -0700 Subject: fix incorrect decodes with scas and 67-prefixes --- test/protected_mode/mod.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'test/protected_mode') diff --git a/test/protected_mode/mod.rs b/test/protected_mode/mod.rs index 28682ef..c03a19d 100644 --- a/test/protected_mode/mod.rs +++ b/test/protected_mode/mod.rs @@ -2363,6 +2363,16 @@ fn prefixed_f30f() { #[test] fn only_32bit() { + test_display(&[0x67, 0xac], "lods al, byte ds:[si]"); + test_display(&[0x67, 0xae], "scas byte es:[di], al"); + test_display(&[0xac], "lods al, byte ds:[esi]"); + test_display(&[0xae], "scas byte es:[edi], al"); + test_display(&[0x67, 0xf3, 0xa4], "rep movs byte es:[di], byte ds:[si]"); + test_display(&[0xf3, 0xa4], "rep movs byte es:[edi], byte ds:[esi]"); + test_display(&[0x67, 0xf3, 0xa5], "rep movs dword es:[di], dword ds:[si]"); + test_display(&[0xf3, 0xa5], "rep movs dword es:[edi], dword ds:[esi]"); + test_display(&[0x66, 0x67, 0x8b, 0x0e, 0x55, 0xaa], "mov cx, word [0xaa55]"); + test_display(&[0x66, 0x8b, 0x0e], "mov cx, word [esi]"); test_display(&[0x40], "inc eax"); test_display(&[0x41], "inc ecx"); test_display(&[0x47], "inc edi"); -- cgit v1.1