Mercurial > projects > dstress
changeset 632:33a98edce1ee
first basic asm tests
author | thomask |
---|---|
date | Sun, 14 Aug 2005 08:40:46 +0000 |
parents | fc75a451db47 |
children | 653cbe20c878 |
files | run/a/asm_add_01.d run/a/asm_add_02.d run/a/asm_and_01.d run/a/asm_imul_01.d run/a/asm_mov_01.d |
diffstat | 5 files changed, 96 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_add_01.d Sun Aug 14 08:40:46 2005 +0000 @@ -0,0 +1,20 @@ + // $HeadURL$ + // $Date$ + // $Author$ + +module dstress.run.a.asm_add_01; + +int test(int i){ + asm{ + naked; + add EAX, EAX; + ret; + } +} + +int main(){ + assert(test(1)==2); + assert(test(2)==4); + assert(test(3)==6); + return 0; +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_add_02.d Sun Aug 14 08:40:46 2005 +0000 @@ -0,0 +1,20 @@ + // $HeadURL$ + // $Date$ + // $Author$ + +module dstress.run.a.asm_add_02; + +int test(int i){ + asm{ + naked; + add EAX, 1; + ret; + } +} + +int main(){ + assert(test(1)==2); + assert(test(2)==3); + assert(test(3)==4); + return 0; +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_and_01.d Sun Aug 14 08:40:46 2005 +0000 @@ -0,0 +1,17 @@ + // $HeadURL$ + // $Date$ + // $Author$ + +module dstress.run.a.asm_and_01; + +int test(int i){ + asm{ + and EAX, EAX; + } +} + +int main(){ + assert(test(7)==7); + assert(test(0)==0); + return 0; +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_imul_01.d Sun Aug 14 08:40:46 2005 +0000 @@ -0,0 +1,21 @@ + // $HeadURL$ + // $Date$ + // $Author$ + +module dstress.run.a.asm_imul_01; + +int test(int i){ + asm{ + naked; + imul EAX, EAX; + ret; + } +} + +int main(){ + assert(test(0) == 0); + assert(test(1) == 1); + assert(test(3) == 9); + assert(test(-5) == 25); + return 0; +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_mov_01.d Sun Aug 14 08:40:46 2005 +0000 @@ -0,0 +1,18 @@ + // $HeadURL$ + // $Date$ + // $Author$ + +module dstress.run.a.asm_mov_01; + +int test(){ + asm{ + naked; + mov EAX, 10; + ret; + } +} + +int main(){ + assert(test()==10); + return 0; +} \ No newline at end of file