1
내가 MIPS에서 다음 C 프로그램을 작성하고 싶은 말 : MIPS의 main 함수에서 값을 반환하려면 어떻게해야합니까?
main: ADDI $v0, $zero, 5 # $v0 = 5
JR $ra # return from main()
가 나는 '잘못된 프로그램 카운터'오류 :
int main() {
return 5;
}
내가 MARS에서 다음 MIPS 코드를 시도
. 이것은 당신이 cannot jump out of the main function in MARS이기 때문에 분명합니다. 그래서 난과 같이 다시 작성 시도 :main: ADDI $v0, $zero, 5 # $v0 = 5
li $v0, 10 # load 10(exit) for syscall
syscall # exit
이 실행 한 후 $ V0 레지스터는 내가 콜이 작동하려면에 $의 V0 레지스터를 덮어했기 때문에 이해할 값 (10),하지 (5)가 포함되어 있습니다. 내 질문에,이 응용 프로그램의 호출자에게 올바르게 반환되도록 값 5를 저장하는 위치는 어디입니까?