Mercurial > projects > dstress
comparison run/mini/naked_asm6.d @ 1628:c6ef09dfba4d
add mini test set from ldc project
author | Moritz Warning <moritzwarning@web.de> |
---|---|
date | Mon, 10 Jan 2011 19:47:18 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
1627:e1b954780837 | 1628:c6ef09dfba4d |
---|---|
1 extern(C) int printf(char*, ...); | |
2 | |
3 ulong retval() { | |
4 version (X86) | |
5 asm { naked; mov EAX, 0xff; mov EDX, 0xaa; ret; } | |
6 else version (X86_64) | |
7 asm { naked; mov RAX, 0xaa000000ff; ret; } | |
8 } | |
9 | |
10 ulong retval2() { | |
11 return (cast(ulong)0xaa << 32) | 0xff; | |
12 } | |
13 | |
14 void main() { | |
15 auto a = retval(); | |
16 auto b = retval2(); | |
17 printf("%llu\n%llu\n", retval(), retval2()); | |
18 assert(a == 0xaa000000ff); | |
19 assert(a == b); | |
20 } |