int sign (int i) {
if (i > 0)
return 1;
else if (i < 0)
return -1;
else
return 0;
MIPSкак конвертировать C в код сборки MIPS?
.data
i: .word
.text
sign:
bgtz i, IF
bltz i, ELSE
addi $a0, $zero, $zero
j END
IF: addi $a0, $zero, 1
ELSE: addi $a0, $zero, -1
END: jr $ra
ИЛИ ...
.data
i: .word
.text
sign:
bgtz i, IF
bltz i, ELSE
addi $ra, $zero, $zero
j END
IF: addi $ra, $zero, 1
ELSE: addi $ra, $zero, -1
END: jr $ra
я встал, чтобы здесь ... как же ELSEIF работу в такой ситуации ... Я пытался найти его, но там не был примером для меня, чтобы рассмотреть и посмотреть. Также эта реализация даже правильна?
«как конвертировать C в код сборки MIPS?» - возможно, с помощью MIPS-компилятора? –
'else if' - это еще один' if', который находится в ветке 'else' первого' if'. – Barmar
В примере кода C для 'else if' нет логической причины, так же будет выполняться один' if'. Второй 'else' также бесполезен. – usr2564301