mips - 我在 MIPS 中写了一个循环,但由于某种原因它一直在无限运行?
问题描述
我正在为类编写这段代码,但由于某种原因,即使在我达到循环的极限之后,代码也会继续无限运行,希望有人能看到它为什么这样做。msg2 只是一个输入整数的提示,而 numbers 是一个数组,$s0 是数组中元素的数量(例如,如果它是 6,则在终止之前要求用户输入 6 个)。(这只是主类中所有内容的代码片段)
numbers: .word 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
la $a0, msg1
li $v0, 4
syscall
li $v0, 5
syscall
move $s0, $v0
slt $t1, $s0, 12
beq $t1, 1, fill_loop
fill_loop:
li $t2, 0
la $a0, msg2 # $a0 = address of msg1
li $v0, 4 # $v0 = 4 --- this is to call print_string()
syscall
li $v0, 5
syscall
sw $v0, numbers($t2)
addi $t2, $t2, 1
beq $t2, $s0, print_loop
j fill_loop
解决方案
推荐阅读
- javascript - 为什么 indexOf 可以在同一类对象的数组中找到我的对象的索引?
- c# - 如何使用 C# 以编程方式将边框应用于按钮控件
- reactjs - 如何检查用户是否已在项目中的任何位置使用 aws cognito 用户池登录?
- php - Laravel 5.8 电子邮件验证电子邮件不发送
- ios - 在 iOS 13 设备中未调用 viewForSupplementaryElementOfKind
- java - 无法在 TestNG 中启动课程,无法找到原因
- actions-on-google - 在帐户链接期间获取 SignIn.status 的未定义值
- python - Python根据字符串检查属性是否为无
- gcc - 气体中 scanf 调用的存储寄存器
- node.js - 无法在 Mac 上使用 conda 安装最新的 nodejs