From f2a2a09688421f2c532ab6f02527bf68f095407a Mon Sep 17 00:00:00 2001 From: iximeow Date: Mon, 25 May 2026 17:32:57 +0000 Subject: j*cxz/pusha/popa alternate size forms these all existed since forever but the library did not distinguish them and did not provide prefix information for users to tell which had been decoded. --- test/protected_mode/mod.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'test/protected_mode') diff --git a/test/protected_mode/mod.rs b/test/protected_mode/mod.rs index 50b4887..f6e69cf 100644 --- a/test/protected_mode/mod.rs +++ b/test/protected_mode/mod.rs @@ -1160,6 +1160,8 @@ fn test_control_flow() { test_display(&[0xe2, 0x12], "loop $+0x12"); test_display(&[0xe3, 0x12], "jecxz $+0x12"); test_display(&[0xe3, 0xf0], "jecxz $-0x10"); + test_display(&[0x67, 0xe3, 0x12], "jcxz $+0x12"); + test_display(&[0x67, 0xe3, 0xf0], "jcxz $-0x10"); test_display(&[0xc3], "ret"); } @@ -2528,8 +2530,10 @@ fn only_32bit() { test_display(&[0x67, 0xa1, 0xc0, 0xb0], "mov eax, dword [0xb0c0]"); test_display(&[0x66, 0x67, 0xa1, 0xc0, 0xb0], "mov ax, word [0xb0c0]"); - test_display(&[0x60], "pusha"); - test_display(&[0x61], "popa"); + test_display(&[0x60], "pushad"); + test_display(&[0x61], "popad"); + test_display(&[0x66, 0x60], "pusha"); + test_display(&[0x66, 0x61], "popa"); test_display(&[0xce], "into"); test_display(&[0x06], "push es"); test_display(&[0x07], "pop es"); -- cgit v1.1