int sign (int i) {
if (i > 0)
return 1;
else if (i < 0)
return -1;
else
return 0;
MIPSC를 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
OR ...
.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
'else if'에 대한 C 코드의 논리적 인 이유는 없습니다. 하나의'if'도 마찬가지입니다. 두 번째 'else'도 쓸모가 없다. – usr2564301