src: source code update und trennen von asm und c code
authorManfred <xzarion@l0725898.(none)>
Thu, 28 Oct 2010 09:26:58 +0000 (11:26 +0200)
committerManfred <xzarion@l0725898.(none)>
Thu, 28 Oct 2010 09:26:58 +0000 (11:26 +0200)
2_isa/src/umul.c [new file with mode: 0644]
2_isa/src/umul.s

diff --git a/2_isa/src/umul.c b/2_isa/src/umul.c
new file mode 100644 (file)
index 0000000..2c56a2a
--- /dev/null
@@ -0,0 +1,7 @@
+int unsignedmul(int a,int b){
+       int i,c=0;      
+       for(i=0;i<b;i++){
+               c=c+a;
+       }       
+       return c;
+}
index 1b31acba34d5afcca8c87b0e886a9a8fd5dede7e..29749bea06f73300a689a0bec3ab505a5055f01e 100644 (file)
@@ -1,23 +1,14 @@
-int unsignedmul(int a,int b){
-       int i,c=0;      
-       for(i=0;i<b;i++){
-               c=c+a;
-       }       
-       return c;
-}
-
-
 
 
 .unsignedmul:
-       ldis r3, 0 // counter initialisieren
-       andx r2, 1 // test ob gerade oder ungerade
-       addinz r3, 1     # su // fals ungerade counter+1
-       addnz r0, r0, r1 # su // und c=c+a;
+       ldis r3, 0         // counter initialisieren
+       andx r2, 1         // test ob gerade oder ungerade
+       addinzd r3, 1      // fals ungerade counter+1
+       addnzd r0, r0, r1  // und c=c+a;
 .loop:
-       cmp r2, r3 // compare counter == b
-       addinz r3, 2     # su // counter+2
-       addnz r0, r0, r1 # su // c=c+a;
-       addnz r0, r0, r1 # su // c=c+a;
-       branchnz+ .loop   # su // jump fals noch noch nicht fertig
+       cmp r2, r3          // compare counter == b
+       addinzd r3, 2       // counter+2
+       addnzd r0, r0, r1   // c=c+a;
+       addnzd r0, r0, r1   // c=c+a;
+       branchnz+d .loop    // jump fals noch noch nicht fertig
        ret