mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-13 08:00:30 +02:00
In the case of an instruction that used 16bit addressing mode. It would calculate the amount of displacement needing to be read using a 32bit modrm mode. It would then read calculate modrm displacement again and read the correct number of bytes. Leftover bytes would then be in a mismatched state which means if an instruction was using 16bit addressing + modrm + literal at /that/ point the number of literal bytes remaining would be calculated as a negative. This didn't actually break things since instructions that have modrm + literal and can safely use 16bit addressing without breaking in a 32bit environment is impossible on Linux. Due to the inability to map a memory range in 16bit range.