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()