程序集MIPS:打印已输入的编号 [英] Assembly MIPS: Print a number that have been entered

查看:6
本文介绍了程序集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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆