MIPS控制台输出中的意外十进制值

时间:2018-06-30 18:58:39

标签: integer mips

我使用以下代码获取2个用户输入。但是,当输入整数时,用户输入

会给出一个意外的十进制值
.text

main:

la $a0, input_1
li $v0, 4
syscall

li $v0, 5
syscall

move $t1, $v0
syscall

la $a0, input_2
li $v0, 4
syscall

li $v0, 5
syscall

move $t2, $v0
syscall

li $v0, 10
syscall


.data

input_1 : .asciiz "Enter integer 1\n\n"

input_2 : .asciiz "Enter integer 2\n\n"

控制台上的输出为

*输入整数1

1

268501062输入整数2

2

0.00000000 *

这里1和2是用户输入

1 个答案:

答案 0 :(得分:2)

在寄存器之间移动值后无需调用syscall,只需在两个移动指令之后立即删除两个syscall。这是编辑后的代码。

 .text

main:

la $a0, input_1
li $v0, 4
syscall

li $v0, 5
syscall

move $t1, $v0


la $a0, input_2
li $v0, 4
syscall

li $v0, 5
syscall

move $t2, $v0


li $v0, 10
syscall


.data

input_1 : .asciiz "Enter integer 1\n\n"

input_2 : .asciiz "Enter integer 2\n\n"