[Issue 6459] Inline assembler does not work well for 64 bit registers R8..R15

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sun Sep 11 09:48:46 PDT 2011


http://d.puremagic.com/issues/show_bug.cgi?id=6459



--- Comment #4 from Graham <grahamc001uk at yahoo.co.uk> 2011-09-11 09:48:23 PDT ---
Another negative immediate value issue:

mov        EAX,-2;                /* line 1 */
mov        EAX,0xFFFFFFFE;            /* line 2 */
mov        EAX,0xFFFFFFFFFFFFFFFE;        /* line 3 */
mov        R8D,-2;                /* line 4 */
mov        R8D,0xFFFFFFFE;            /* line 5 */
mov        R8D,0xFFFFFFFFFFFFFFFE;        /* line 6 */

Anybody writing line 3 or 6 has probably made a mistake, but line 3 is accepted
as equivalent to 1 and 2, and line 6 is accepted as equivalent to 4 and 5 (as
32 bit loads clear the top 32 bits of the equivalent 64 bit register they do
not sign extend).

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list