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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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;