在这个程序中,我试图读入一个整数值并检查它是偶数还是奇数。如果是偶数,我将其除以 2,如果是奇数,则将其乘以 2,然后再将其加一。这是我到目前为止所拥有的:
.data
value1: .word 4
value2: .word 2
value3: .word 3
msg1: .asciiz " divide by 2 = "
msg2: .asciiz " * 3 + 1 = "
prompt: .asciiz "Please enter a number:"
.text
main:
li $v0, 5
syscall
move $t0, $v0
li $v0, 1
move $a0, $t0
syscall
andi $t0, $a0, 1
beq $t0, $zero, EVEN
move $t1, $a0
la $a0, msg2
li $v0, 4
syscall
move $a0, $t1
j EXIT
EVEN:
la $a0, msg1
li $v0, 4
syscall
move $a0, $t1
lw $t2, value2
div $a0, $a0, $t2
li $v0, 4
syscall
EXIT:
li $v0, 10
syscall
现在,当我运行程序时,一切正常,我可以正确读取输入并输出相应的消息。只是在进行计算时,它不会输出结果,而是输出两个小框,当复制到文本文件时显示为问号。任何帮助表示赞赏。