kommentare eingefuegt
[info3/asm.git] / loesung4-2.new.s
1 ; blatt 4
2 ; aufgabe 2
3
4 ; hier also nun mit intervallschachtelung
5
6 .data
7 text: .asciiz "input: "
8 .align 2
9
10 .text
11
12 ;addi r1,r0,text
13 ;jal InputUnsigned
14 ; das input zeug tut irgendwie nicht im windlx mit wine :( 
15 ; 2 befehle ...
16
17 addi r1,r0,23 ; deshalb mach ich das mal fuer 23
18 ; diesen befehl aber nicht zaehlen, wegen egtl den oberen 2! :p
19
20 ; r2 sei untere grenze, aber da steht schon 0 drin
21 add r3,r0,r1 ; obere grenze
22
23 loop:
24 sub r5,r3,r2
25 sub r5,r5,1
26 beqz r5,end
27 add r4,r3,r2
28 srli r4,r4,1 ; fast mitte
29 multu r6,r4,r4
30 sgt r7,r6,r1
31 beqz r7,incleft
32 add r3,r0,r4
33 j loop
34
35 incleft:
36 add r2,r0,r4
37 j loop
38
39 end:
40 sw 0x200,r2
41 sw 0x204,r3
42 trap 0 ; der zaehlt ja nicht .. :)