Mercurial > projects > ldc
annotate tangotests/asm4.d @ 229:cac3d27ae481 trunk
[svn r245] initial support for labels in inline asm, broken :/
author | lindquist |
---|---|
date | Sat, 07 Jun 2008 21:31:38 +0200 |
parents | |
children | 79d8f6b3fbaf |
rev | line source |
---|---|
229
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
1 module tangotests.asm4; |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
2 |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
3 extern(C) int printf(char*,...); |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
4 |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
5 void main() |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
6 { |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
7 char* fmt = "yay!\n"; |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
8 asm |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
9 { |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
10 jmp L2; |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
11 L1:; |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
12 jmp L3; |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
13 L2:; |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
14 jmp L1; |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
15 L3:; |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
16 push fmt; |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
17 call printf; |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
18 pop EAX; |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
19 } |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
20 if (x) |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
21 { |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
22 printf("foobar\n"); |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
23 } |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
24 else |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
25 { |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
26 printf("baz\n"); |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
27 } |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
28 } |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
29 |
cac3d27ae481
[svn r245] initial support for labels in inline asm, broken :/
lindquist
parents:
diff
changeset
|
30 extern(C) extern int x; |