Mercurial > projects > ldc
comparison tests/mini/naked_asm5.d @ 928:1b10a9c6e3e8
Added X86-64 version. Needed significant changes.
author | wilsonk@ubuntu |
---|---|
date | Tue, 03 Feb 2009 12:35:00 -0700 |
parents | 545f54041d91 |
children | a400b1dd657f |
comparison
equal
deleted
inserted
replaced
927:97688ff7cf93 | 928:1b10a9c6e3e8 |
---|---|
4 { | 4 { |
5 const OP = (op == '+') ? "add" : "sub"; | 5 const OP = (op == '+') ? "add" : "sub"; |
6 asm { naked; } | 6 asm { naked; } |
7 mixin("asm{"~OP~" EAX, [ESP+4];}"); | 7 mixin("asm{"~OP~" EAX, [ESP+4];}"); |
8 asm { ret 4; } | 8 asm { ret 4; } |
9 } | |
10 else version(X86_64) | |
11 { | |
12 const OP = (op == '+') ? "add" : "sub"; | |
13 asm { naked; } | |
14 mixin("asm{"~OP~" ESI,EDI; mov EAX, ESI;}"); | |
15 asm { ret; } | |
9 } | 16 } |
10 else static assert(0, "todo"); | 17 else static assert(0, "todo"); |
11 } | 18 } |
12 | 19 |
13 void main() | 20 void main() |