Strange things allowed in iasm

Basile B. b2.temp at gmx.com
Sun Feb 4 05:49:54 UTC 2018


On Sunday, 4 February 2018 at 05:45:02 UTC, Basile B. wrote:
> 1/
>
> void foo()
> {
>     asm pure nothrow
>     {
>         naked;
>         mov RAX, [0x10][0x20] R8;
>         ret;
>     }
> }
>
> generates
>
> ;------- SUB 0000000000449468h -------
> 0000000000449468h  mov eax, 00000030h
> 000000000044946Dh  ret
> ;-------------------------------------
>
>
> 2/
>
> void foo()
> {
>     asm pure nothrow
>     {
>         naked;
>         mov RAX, [R9][R10] R8;
>         ret;
>     }
> }
>
> generates
>
> ;------- SUB 0000000000449468h -------
> 0000000000449468h  mov rax, r8
> 000000000044946Bh  ret
> ;-------------------------------------
>
>
> IASM Parser bug ?

This one too

void foo()
{
     asm pure nothrow
     {
         naked;
         mov RAX[R8][R12], [0x10][0x20] DX [0x10][0x20];
         ret;
     }
}


More information about the Digitalmars-d-learn mailing list