![]() ![]() |
![]() ![]() |
; j j2 addi r1,r0,5 ; R1=5 Anfang: ; Anfang definiert eine Sprungmarke beqz r1,fertig ; branch equal zero ; springt, wenn die Bedingung erfüllt ist, ; also bei R1=0 subi r1,r1,1 ; R1-- J Anfang ; springe zu Anfang fertig: ; Schleife beendet j2: addi r2,r0,15 addi r3,r0,10 ; Berechne Maximum von Register R2 und R3 und schreibe es in R4 SGT R10,R2,R3 ; Vergleich R2>R3 ; GT = greater than, ; LT = lower than, ; LE = lower or equal, ; GE = greater or equal ; EQ = equal, ; NE = not equal ; das Ergbnis ist ein Boolscher Wert, ; also 1 für true, 0 für false BNEZ R10,sprung ; springt, wenn die Bedingung ; erfüllt ist, also R2>R3 add r4,r0,r3 j Ende sprung: add r4,r0,r2 Ende: ; Auf diese Weise kann ein if-then-else-Konstrukt ; in Assembler programmiert werden. |
![]() ![]() |
![]() ![]() |