Я не могу перейти на правильный ярлык в «если» в MIPS - PullRequest
0 голосов
/ 14 мая 2018

Я пытаюсь сделать простое утверждение if Код:

int x = 10;
if (x > 5)
{
    output("x is greater than 5\n");
}
output("end\n");

Код ассемблера:

.data
    x: .word
    str1: .asciiz "x is greater than 5\n"
    str2: .asciiz "end\n"
.text
    li $t0, 10
    sw $t0, x
    lw $t0, x
    li $t1, 5
    bgt $t0, $t1, LBL1
    ble $t0, $t1, LBL2
    LBL1:
    li $v0, 4
    la $a0, str1
    syscall
    LBL2:
    li $v0, 4
    la $a0, str2
    syscall

В результате всегда отображается только вторая строка. Независимо от того, как я изменяю данные, они не могут перейти к первой метке. Что не так?

@ Майкл - Спасибо, это правильное решение. Это все о

x: .word 0
...