From fe6b2b898aee944ba3490c35f4aed4d155485c0e Mon Sep 17 00:00:00 2001 From: iximeow Date: Mon, 25 May 2026 19:21:31 +0000 Subject: push/pop width in 16/32-bit modes are receptive to operand width prefix --- test/protected_mode/operand.rs | 4 ++-- test/real_mode/operand.rs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'test') diff --git a/test/protected_mode/operand.rs b/test/protected_mode/operand.rs index 0c970de..8a752f7 100644 --- a/test/protected_mode/operand.rs +++ b/test/protected_mode/operand.rs @@ -51,8 +51,8 @@ fn test_implied_memory_width() { assert_eq!(mem_size_of(&[0xe8, 0x11, 0x22, 0x33, 0x44]), Some(4)); assert_eq!(mem_size_of(&[0x50]), Some(4)); assert_eq!(mem_size_of(&[0x58]), Some(4)); - assert_eq!(mem_size_of(&[0x66, 0x50]), Some(4)); - assert_eq!(mem_size_of(&[0x66, 0x58]), Some(4)); + assert_eq!(mem_size_of(&[0x66, 0x50]), Some(2)); + assert_eq!(mem_size_of(&[0x66, 0x58]), Some(2)); assert_eq!(mem_size_of(&[0xff, 0xf0]), Some(4)); assert_eq!(mem_size_of(&[0x66, 0xff, 0xf0]), Some(2)); // unlike 64-bit mode, operand-size prefixed call and jump do have a different size: they read diff --git a/test/real_mode/operand.rs b/test/real_mode/operand.rs index fb2ce39..d5a3b83 100644 --- a/test/real_mode/operand.rs +++ b/test/real_mode/operand.rs @@ -12,8 +12,8 @@ fn test_implied_memory_width() { assert_eq!(mem_size_of(&[0xe8, 0x11, 0x22, 0x33, 0x44]), Some(2)); assert_eq!(mem_size_of(&[0x50]), Some(2)); assert_eq!(mem_size_of(&[0x58]), Some(2)); - assert_eq!(mem_size_of(&[0x66, 0x50]), Some(2)); - assert_eq!(mem_size_of(&[0x66, 0x58]), Some(2)); + assert_eq!(mem_size_of(&[0x66, 0x50]), Some(4)); + assert_eq!(mem_size_of(&[0x66, 0x58]), Some(4)); assert_eq!(mem_size_of(&[0xff, 0xf0]), Some(2)); assert_eq!(mem_size_of(&[0x66, 0xff, 0xf0]), Some(4)); // unlike 64-bit mode, operand-size prefixed call and jump do have a different size: they read -- cgit v1.1