.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