aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2026-03-27 07:05:18 +0000
committeriximeow <me@iximeow.net>2026-05-25 00:59:27 +0000
commit6c32405ca9930f393d8ca45d22df1b5a1c7c8653 (patch)
tree3986d0c5a4544c1bebe35b8095cf3d04920e3f20 /CHANGELOG
parent35358d573bccd0776e55187564ccd6c72c9f9c34 (diff)
more accurate mov seg-to-gpr operand size
Diffstat (limited to 'CHANGELOG')
-rw-r--r--CHANGELOG6
1 files changed, 6 insertions, 0 deletions
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