.text ; r1 = a ; r2 = b unsignedmul: 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 ; falls ungerade counter+1 adddnz r0, r0, r1 ; und c=c+a; loop: 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 ret