QTSpim中的汇编代码未正确进行用户输入

时间:2016-03-05 04:54:17

标签: assembly mips qtspim

我正在处理汇编语言类的代码,它接受用户输入并将其存储在内存中,然后再为用户打印出来。我不知道问题是什么,但是当我调用系统调用代码来读取用户输入时,它总是会跳过前2个字母。以下是我的代码。

.data

myname: .asciiz "Please Type Your Name:"
ram1:   .word 4
ram2:   .word 4
blank:  .asciiz "\n"

.text
.globl main

main:

    li $v0, 4        #loads the system call code to print a string
    la $a0, myname
    syscall

    la $a0, ram1
    li $a1, 20
    li $v0, 8        #this is the opcode that reads a user input in the console
    syscall

    li   $v0, 4      #loads the call code to print a string
    la   $a0, blank
    andi $a1, $a1, 0
    syscall
    syscall
    syscall

    la $a0, myname
    syscall
    la $a0, ram1
    syscall

据我所知,系统调用代码8需要2个参数才能正常运行,我添加了。任何见解将不胜感激!

干杯

0 个答案:

没有答案