3a_asm/2_isa: fixed our examples
[calu.git] / 2_isa / src / umul.s
1 .text
2
3 unsignedmul:
4         ldis r3, 0         ; counter initialisieren
5         andx r2, 1         ; test ob gerade oder ungerade
6         addidnz r3, r3, 1      ; fals ungerade counter+1
7         adddnz r0, r0, r1  ; und c=c+a;
8 loop:
9         cmp r2, r3          ; compare counter == b
10         addidnz r3, r3, 2       ; counter+2
11         adddnz r0, r0, r1   ; c=c+a;
12         adddnz r0, r0, r1   ; c=c+a;
13         brnz+ loop    ; jump fals noch noch nicht fertig
14         ret