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