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