MIPS bgt指令
MIPS bgt instruction
我正在尝试在 MIPS 中创建一个简单的程序,但是我已经卡在了开头,我希望程序检测用户输入的数字是否大于 5000,但程序似乎只是跳过了“ bgt”指令!我也不确定如何使用 "li" 指令这两个问题可能是相关的!提前致谢
.data
#Donnees textes
lenombre: .space 32
top: .word 5000
msgerreur: .asciiz "\nLe nombre est invalide"
msg: .asciiz "\nEntrer un nombre de 1 à 5000:"
#segment de la mémoire contenant le code
.text
main:
li $v0, 4
la $a0, msg
syscall
li $v0, 5
sw $v0, lenombre
j chiffre
#fonction chiffre
chiffre:
li $t1, 4
lw $t1, lenombre
li $t2, 4
lw $t2, top
bgt $t1, $t2, erreur
j main
erreur:
li $v0, 4
la $a0, msgerreur
j main
我通过删除 "lenombre" 变量并将输入的数字存储到 $t0 寄存器中来解决它,MIPS 似乎认为 "lenomre" 是我之前定义的字符串,因此比较不会没工作
我正在尝试在 MIPS 中创建一个简单的程序,但是我已经卡在了开头,我希望程序检测用户输入的数字是否大于 5000,但程序似乎只是跳过了“ bgt”指令!我也不确定如何使用 "li" 指令这两个问题可能是相关的!提前致谢
.data
#Donnees textes
lenombre: .space 32
top: .word 5000
msgerreur: .asciiz "\nLe nombre est invalide"
msg: .asciiz "\nEntrer un nombre de 1 à 5000:"
#segment de la mémoire contenant le code
.text
main:
li $v0, 4
la $a0, msg
syscall
li $v0, 5
sw $v0, lenombre
j chiffre
#fonction chiffre
chiffre:
li $t1, 4
lw $t1, lenombre
li $t2, 4
lw $t2, top
bgt $t1, $t2, erreur
j main
erreur:
li $v0, 4
la $a0, msgerreur
j main
我通过删除 "lenombre" 变量并将输入的数字存储到 $t0 寄存器中来解决它,MIPS 似乎认为 "lenomre" 是我之前定义的字符串,因此比较不会没工作