Я пытаюсь сделать простое утверждение 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