程序集MIPS:打印已输入的编号 [英] Assembly MIPS: Print a number that have been entered
本文介绍了程序集MIPS:打印已输入的编号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是组装新手,在这方面有相当多的困难。
我使用的是MARS 4.5,我想尝试编写一个代码,该代码可以从键盘上获取一个整数,然后立即打印出来。
.data
number: .word
.text
.globl main
main:
li $v0, 5
syscall
move $v0, $a0
li $v0, 1
la $a0, ($v0)
syscall
li $v0, 10
syscall
但当我运行此程序时,无论输入是什么,它都返回值1。
问题似乎出在"la$a0,($v0)"命令上。
我认为,如果我将保存输入数字的$V0寄存器的地址加载到用于打印整数的标准寄存器中,它可以工作。
我如何解决此问题?
推荐答案
您走上了正确的道路。正如@Jester所解释的,您需要删除LOAD ADDRESS命令并更正move
操作数。
.data
number: .word
.text
.globl main
main:
li $v0, 5 #Read integer to $v0
syscall
move $a0, $v0 #Move integer to $a0
li $v0, 1 #Print integer from $a0
syscall
li $v0, 10 #Exit
syscall
这篇关于程序集MIPS:打印已输入的编号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文