문제

나는 이 사건을 어떻게 처리해야 할지 알 것 같지만, 내가 제대로 처리했는지 확인하고 싶습니다.다음과 같은 C 코드가 있다고 가정해 보겠습니다.

int myInt = 3;
int* myPointer = &myInt;
int** mySecondPointer = &myPointer;

P에는 다른 주소가 있는 메모리의 한 위치를 가리키는 주소가 포함되어 있습니다.두 번째 주소를 수정하고 싶어요.따라서 MIPS 코드는 다음과 같습니다.

la $t0, my_new_address
lw $t1, ($a0) # address that points to the address we want to modify
sw $t0, ($t1) # load address into memory pointed to by $t1

당신이라면 그렇게 하시겠습니까?

도움이 되었습니까?

해결책

네, 제가 아는 한 그것은 맞습니다.동일한 변수 이름을 사용했다면 더 쉬웠을 것입니다(예:하드 레지스터 이름 대신 기호).

왜 단순히 C 코드를 컴파일하고 목록 파일이나 어셈블리 출력을 살펴보지 않았습니까?나는 의심스러울 때 항상 그렇게 한다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top