view tests/mini/__asm1.d @ 1606:1b24e9c7cc26

Use just \n as end of line --- dmd/arraytypes.h | 102 ++++---- dmd/enum.c | 652 ++++++++++++++++++++++++++-------------------------- dmd/parse.h | 292 ++++++++++++------------ dmd/staticassert.c | 240 ++++++++++---------- 4 files changed, 643 insertions(+), 643 deletions(-)
author Leandro Lucarella <llucax@gmail.com>
date Wed, 06 Jan 2010 15:18:19 -0300
parents 9279a9dc6df3
children
line wrap: on
line source

import ldc.llvmasm;
void main() {
    version(X86)
    {
        int i;
        __asm("movl $1, $0", "=*m,i", &i, 42);
        assert(i == 42);

        int j = __asm!(int)("movl $1, %eax", "={ax},i", 42);
        assert(j == 42);

        auto k = __asmtuple!(int,int)("mov $2, %eax ; mov $3, %edx", "={ax},={dx},i,i", 10, 20);
        assert(k.v[0] == 10);
        assert(k.v[1] == 20);
    }
    else version(PPC)
    {
        int j = 42;
        int i = __asm!(int)("li $1, $0", "=r,*m", &j);
        assert(i == 42);
    }
}