From cef4feeaf9c64e03a6728f267750ac2fb32eb9ff Mon Sep 17 00:00:00 2001 From: iximeow Date: Sat, 21 Aug 2021 12:13:01 -0700 Subject: report memory sizes for push, pop, call, ret these instructions had memory sizes reported for the operand, if it was a memory operand, but for versions with non-memory operands the decoded `Instruction` would imply that non memory access would happen at all. now, decoded instructions in these cases will report a more useful memory size. --- test/real_mode/mod.rs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'test/real_mode/mod.rs') diff --git a/test/real_mode/mod.rs b/test/real_mode/mod.rs index 6005f07..8543fae 100644 --- a/test/real_mode/mod.rs +++ b/test/real_mode/mod.rs @@ -1,3 +1,5 @@ +mod operand; + use std::fmt::Write; use yaxpeax_arch::{AddressBase, Decoder, U8Reader, LengthedInstruction}; @@ -17892,6 +17894,7 @@ fn test_real_mode() { test_display(&[0xff, 0x08], "dec word [bx + si]"); test_display(&[0xff, 0x15], "call word [di]"); test_display(&[0x67, 0xff, 0x15, 0x12, 0x12, 0x12, 0x12], "call word [0x12121212]"); + // note that this call only writes two bytes, and only moves sp by two. test_display(&[0x66, 0xff, 0x15], "call dword [di]"); test_display(&[0xff, 0x18], "callf dword [bx + si]"); test_display(&[0xff, 0x24], "jmp word [si]"); -- cgit v1.1