mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-01-13 19:33:13 +01:00
36 lines
516 B
D
36 lines
516 B
D
module tangotests.asm1_1;
|
|
|
|
extern(C) int printf(char*, ...);
|
|
|
|
int main()
|
|
{
|
|
int i = 12;
|
|
int* ip = &i;
|
|
printf("%d\n", i);
|
|
version (LLVM_InlineAsm_X86)
|
|
{
|
|
asm
|
|
{
|
|
mov EBX, ip;
|
|
mov EAX, [EBX];
|
|
add EAX, 8;
|
|
mul EAX, EAX;
|
|
mov [EBX], EAX;
|
|
}
|
|
}
|
|
else version (LLVM_InlineAsm_X86_64)
|
|
{
|
|
asm
|
|
{
|
|
movq RCX, ip;
|
|
movq RAX, [RCX];
|
|
add RAX, 8;
|
|
imul RAX, RAX;
|
|
movq [RCX], RAX;
|
|
}
|
|
}
|
|
printf("%d\n", i);
|
|
assert(i == 400);
|
|
return 0;
|
|
}
|