From 6c32405ca9930f393d8ca45d22df1b5a1c7c8653 Mon Sep 17 00:00:00 2001 From: iximeow Date: Fri, 27 Mar 2026 07:05:18 +0000 Subject: more accurate mov seg-to-gpr operand size --- CHANGELOG | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'CHANGELOG') diff --git a/CHANGELOG b/CHANGELOG index a4275f0..8d88ec7 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -10,6 +10,12 @@ * push-immediate, pushf, popf, enter, leave, and xlat now all report a correct memory access size, fixing the prior behavior of reporting no memory access size at all +* 64-bit mode: mov seg-to-reg uses 32-bit GPRs for the destination rather than 16-bit. + * this is more accurate to the semantic of the instruction, which is why other disassemblers + report it this way; for register destinations specifically the segment selector is + zero-extended to 64 bits for storage. writing to "eax" in this way implies the 32->64 bit + zero-extend, whereas writing to "ax" does not imply any zero-extension. mov reg-to-seg + is unchanged and uses a 16-bit form for source GPR. ## 2.0.0 -- cgit v1.1