0

在这个程序中,我试图读入一个整数值并检查它是偶数还是奇数。如果是偶数,我将其除以 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

现在,当我运行程序时,一切正常,我可以正确读取输入并输出相应的消息。只是在进行计算时,它不会输出结果,而是输出两个小框,当复制到文本文件时显示为问号。任何帮助表示赞赏。

4

0 回答 0