tst: bugfix in umul from manfred
authorMartin Perner <martin@perner.cc>
Wed, 3 Nov 2010 10:59:26 +0000 (11:59 +0100)
committerMartin Perner <martin@perner.cc>
Wed, 3 Nov 2010 10:59:26 +0000 (11:59 +0100)
2_isa/src/umul.s

index 37e04d515938461ac114eac8803bafa694e075d0..e7e427d7a11c1c49e5f7cabe1323bde9e1ff6d95 100644 (file)
@@ -1,13 +1,16 @@
 .text
-
+; r1 = a
+; r2 = b
 unsignedmul:
-       ldis r3, 0         ; counter initialisieren
+       ldis r0, 0     ; return reg init
+       ldis r3, 0     ; counter initialisieren
+       mov r4, r2
        andx r2, 1         ; test ob gerade oder ungerade
-       addidnz r3, r3, 1      ; fals ungerade counter+1
+       addidnz r3, r3, 1  ; falls ungerade counter+1
        adddnz r0, r0, r1  ; und c=c+a;
 loop:
-       cmp r2, r3          ; compare counter == b
-       addidnz r3, r3, 2       ; counter+2
+       cmp r4, r3          ; compare counter == b
+       addidnz r3, r3, 2   ; counter+2
        adddnz r0, r0, r1   ; c=c+a;
        adddnz r0, r0, r1   ; c=c+a;
        brnz+ loop    ; jump fals noch noch nicht fertig