You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
status VERIFIED severity normal in component gens for ---
Reported in version r7.1 on platform i386
Assigned to: David Korth
On 2010-01-28 08:55:25 -0500, Paul Mc Quade wrote:
gens_core/mem/mem_s68k.asm:2772: warning: signed byte value exceeds bounds
gens_core/mem/mem_s68k.asm:2799: warning: signed byte value exceeds bounds
gens_core/mem/mem_s68k.asm:2848: warning: signed byte value exceeds bounds
gens_core/mem/mem_s68k.asm:3496: warning: signed byte value exceeds bounds
gens_core/mem/mem_s68k.asm:3514: warning: signed byte value exceeds bounds
gens_core/mem/mem_s68k.asm:3550: warning: signed byte value exceeds bounds
Its always a register overflow, like
.Reg_Vector_Adr:
and ax, 0xFFFE
(etc)
On 2010-01-28 18:54:40 -0500, David Korth wrote:
This isn't actually a bug. nasm seems a bit overzealous with regards to 16-bit instructions, and is trying to warn us that 0xFE will get sign-extended to 0xFFFFFFFE if a byte operand is used with a 32-bit register in 32-bit mode.
Example: Suppose you want to AND the value in eax with 0xFE.
Correct: and eax, 0xFE
Incorrect: and eax, byte 0xFE
The latter version will sign-extend the value to 0xFFFFFFFE instead of zero-extending it to 0x000000FE.
In the case of mem_s68k.asm, the ANDs are merely for masking out a single bit, so it isn't a problem. However, I may replace it with 32-bit register operations later on for performance purposes.
The text was updated successfully, but these errors were encountered:
status VERIFIED severity normal in component gens for ---
Reported in version r7.1 on platform i386
Assigned to: David Korth
On 2010-01-28 08:55:25 -0500, Paul Mc Quade wrote:
On 2010-01-28 18:54:40 -0500, David Korth wrote:
The text was updated successfully, but these errors were encountered: