August 02, 2020 [Issue 21101] Inline Assembler: 32 bit values are truncated to 32 bits | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=21101 Walter Bright <bugzilla@digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |iasm, wrong-code See Also| |https://issues.dlang.org/sh | |ow_bug.cgi?id=6459 -- |
August 25, 2020 [Issue 21101] Inline Assembler: 32 bit values are truncated to 32 bits | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=21101 Walter Bright <bugzilla@digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #1 from Walter Bright <bugzilla@digitalmars.com> --- The problem is, being assembler code, there is no distinction between signed and unsigned values for immediate values. The instruction semantics determine if it is signed or unsigned. The values are all computed as 64 bit integers. Hence, -2 is indistinguishable from 0xFFFFFFFFFFFFFFFE. Whether it gets truncated or sign extended is determined by the instruction, there is no concept of a signed or unsigned immediate value. It's working as designed. -- |
Copyright © 1999-2021 by the D Language Foundation