Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 使用QtSpim时,在哪里可以看到程序输出,在哪里可以输入值?_Assembly_Qtspim - Fatal编程技术网

Assembly 使用QtSpim时,在哪里可以看到程序输出,在哪里可以输入值?

Assembly 使用QtSpim时,在哪里可以看到程序输出,在哪里可以输入值?,assembly,qtspim,Assembly,Qtspim,我知道有些代码是有效的(这是我的教授写的),但我真的不明白应该在哪里看到程序输出。我看到寄存器发生了变化(并不是说我完全遵循它),但程序应该要求用户输入一个值,我看不出有什么办法可以做到这一点。没有弹出窗口来询问我的值,QtSpim似乎只是坐在那里。我跑了,走了过去,但什么也没发生 代码如下: # Sample spim program # .data prompt: .asciiz "Enter in an integer: " str1: .asciiz "the answer

我知道有些代码是有效的(这是我的教授写的),但我真的不明白应该在哪里看到程序输出。我看到寄存器发生了变化(并不是说我完全遵循它),但程序应该要求用户输入一个值,我看不出有什么办法可以做到这一点。没有弹出窗口来询问我的值,QtSpim似乎只是坐在那里。我跑了,走了过去,但什么也没发生

代码如下:

# 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为零?你应该看看模拟器的文档(谷歌提供了一些),也许你遗漏了一些东西