Assembly 使用QtSpim时,在哪里可以看到程序输出,在哪里可以输入值?
我知道有些代码是有效的(这是我的教授写的),但我真的不明白应该在哪里看到程序输出。我看到寄存器发生了变化(并不是说我完全遵循它),但程序应该要求用户输入一个值,我看不出有什么办法可以做到这一点。没有弹出窗口来询问我的值,QtSpim似乎只是坐在那里。我跑了,走了过去,但什么也没发生 代码如下:Assembly 使用QtSpim时,在哪里可以看到程序输出,在哪里可以输入值?,assembly,qtspim,Assembly,Qtspim,我知道有些代码是有效的(这是我的教授写的),但我真的不明白应该在哪里看到程序输出。我看到寄存器发生了变化(并不是说我完全遵循它),但程序应该要求用户输入一个值,我看不出有什么办法可以做到这一点。没有弹出窗口来询问我的值,QtSpim似乎只是坐在那里。我跑了,走了过去,但什么也没发生 代码如下: # Sample spim program # .data prompt: .asciiz "Enter in an integer: " str1: .asciiz "the answer
# Sample spim program
#
.data
prompt: .asciiz "Enter in an integer: "
str1: .asciiz "the answer is: "
newline: .asciiz "\n"
bye: .asciiz "Goodbye!\n"
.globl main
.text
main:
# initialize
li $s0, 10
# prompt for input
li $v0, 4
la $a0, prompt
syscall
# read in the value
li $v0, 5
syscall
move $s0, $v0
loop:
# print str1
li $v0, 4
la $a0, str1
syscall
# print loop value
li $v0, 1
move $a0, $s0
syscall
# print newline
li $v0, 4
la $a0, newline
syscall
# decrement loop value and branch if not negative
sub $s0, $s0, 1
bgez $s0, loop
# print goodbye message
li $v0, 4
la $a0, bye
syscall
jr $ra # retrun to caller
我的QtSpim的屏幕截图。左下角写着“跑步”。。但是在哪里?默认情况下,应该会打开第二个窗口,标题为“Console”。如果它没有显示,或者您意外地关闭了它,您可以通过选中窗口菜单中的控制台选项再次打开它。如果它正在运行,为什么模拟PC为零?你应该看看模拟器的文档(谷歌提供了一些),也许你遗漏了一些东西