From: hackbard Date: Thu, 15 May 2003 21:30:27 +0000 (+0000) Subject: mit intervallschachtelung X-Git-Url: https://hackdaworld.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3059659749393fdcfdc29e366294cd7920c7c496;p=info3%2Fasm.git mit intervallschachtelung --- 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 .. :)