我試圖做一個基本的while循環例如im preperation爲我的下一個任務和IM卡在一個無限循環。 $ t3永遠不會達到3,或者它不會檢測到它在3.我在這裏做錯了什麼?謝謝!while循環在MIPS
.data #data segment
msg1:.asciiz "please enter a number to convert to ASCI: "
nl:.asciiz "\n"
msg2:.asciiz "done! "
.text # Code segment
.globl main # declare main to be global
main:
la $a0,msg1 # $a0 := address of message 1
li $v0,4 # system call, type 4, print an string
syscall
li $t3,0 #initial value of $t3
li $v0,5
syscall #read an int
loop:
la $a0,msg1 # $a0 := address of message 1
li $v0,4 # system call, type 4, print an string
syscall
addi $t3,$t3,1
beq $3,$t3,Exit # branch to the label Exit if $t3=3
j loop # branch unconditionally to loop ($t3 != 0)
Exit:
li $v0,10 # System call, type 10, standard exit
syscall
MIPS確實有指令與直接進行比較,看' slti'和'sltiu' – gusbro 2012-03-29 14:48:35
有趣,不知道那一個。 – 2012-03-29 18:02:59