From 6e2976bda74148e0c3cd50788b603c4933f9f50b Mon Sep 17 00:00:00 2001 From: iximeow Date: Wed, 10 Jun 2026 06:26:42 +0000 Subject: protected/real mode lfs/lgs/lss --- CHANGELOG | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'CHANGELOG') diff --git a/CHANGELOG b/CHANGELOG index a437a4f..ae3baf7 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -24,6 +24,10 @@ these instructions consume 8 bit of immediate as several fields compressed into 8 bits, rather than as a numeric value, so sign extension is not useful. further, extending the immediate makes it more difficult to round-trip disassembly through other assemblers. +* fix vmread/vmwrite reporting 8-byte accesses outside long mode; they are 4-byte accesses in + protected and real modes. +* fix lfs/lgs/lss loading into dword registers when operating with a short (16-bit segment/offset) pointer. + in these cases, the offset is loaded into a 16-bit register, not 32-bit. the upper 32 bits are unchanged. testing instruction round-tripping through `masm` found a few bugs, which are also fixed in this release: -- cgit v1.1