mips - MIPS - 我的循环没有完全按照它应该的方式执行
问题描述
我正在尝试在 Mars MIPS 程序集中构建一个 while 循环,但是我遇到了一些问题,循环本身可以工作,但是每次循环通过将数字减半的动作似乎并没有在之后启动第一回合。
下面是我的循环:
div:
sra $s0, $t1, 1 #halves the number in $s0
li $v0, 1
add $a0, $zero, $s0 #Prints out the number in $s0
syscall
li $a0, 32
li $v0, 11 #Prints out a space
syscall
loop:
blt $s0, $s4, exit #Loops to the start of div until it reaches 1
j div
exit:
li $v0, 10 #This is the exit.
syscall
欢迎所有帮助,因为我有一种可怕的感觉,这里正在犯一个新手错误。
解决方案
推荐阅读
- c++ - 具有两种以上类型的 C++ 条件 typedef
- sql - SQL获取销售额超过一定数量的商品数量
- python - 对 memcache 将 AppEngine py2.7 应用程序迁移到 py3 感到困惑
- facebook - 从 fb.watch 别名获取 Facebook 视频 ID
- java - Java.lang.RuntimeException:在注册表中找不到应用程序“org.eclipse.test.coretestapplication”
- node.js - 使用 exceljs 并在解析大型 excel 文件时遇到内存泄漏
- javascript - ServiceNow 中的 JavaScript
- python-3.x - 来自 psycopg2 的 ExecuteMany 函数出错
- python - 如何根据具有重复值的列对熊猫中的值进行排序
- python - Selenium Python 单击没有 ID 的按钮