X-Git-Url: https://hackdaworld.org/gitweb/?p=info3%2Fasm.git;a=blobdiff_plain;f=loesung4-2.new.s;fp=loesung4-2.new.s;h=8022bc176e36a08aa16be637223d40f38066ebd3;hp=0000000000000000000000000000000000000000;hb=3059659749393fdcfdc29e366294cd7920c7c496;hpb=3c846fb4cbfab412edd991a9379305ac3c34083b diff --git a/loesung4-2.new.s b/loesung4-2.new.s new file mode 100644 index 0000000..8022bc1 --- /dev/null +++ b/loesung4-2.new.s @@ -0,0 +1,41 @@ +; blatt 4 +; aufgabe 2 + +.data +text: .asciiz "input: " +.align 2 + +.text + +;addi r1,r0,text +;jal InputUnsigned +; das input zeug tut irgendwie nicht im windlx mit wine :( +; 2 befehle ... + +addi r1,r0,23 ; deshalb mach ich das mal fuer 23 +; diesen befehl aber nicht zaehlen, wegen egtl den oberen 2! :p + +; r2 sei untere grenze, aber da steht schon 0 drin +add r3,r0,r1 ; obere grenze + +loop: +sub r5,r3,r2 +sub r5,r5,1 +beqz r5,end +sub r4,r3,r2 +srli r4,r4,1 +add r4,r4,r2 ; fast mitte +multu r6,r4,r4 +sgt r7,r6,r1 +beqz r7,incleft +add r3,r0,r4 +j loop + +incleft: +add r2,r0,r4 +j loop + +end: +sw 0x200,r2 +sw 0x204,r3 +trap 0 ; der zaehlt ja nicht .. :)