배열을 만들고 필요하면 특정 셀의 값을 업데이트하려고합니다. 내가 아는 바로는 스택 프레임을 사용하는 것이 가장 좋은 방법이지만, 제대로 작동하지는 않습니다. 누구든지 올바른 방향으로 나를 가리킬 수 있습니까?MIPS에서 배열을 업데이트하는 방법은 무엇입니까?
감사합니다.
배열을 만들고 필요하면 특정 셀의 값을 업데이트하려고합니다. 내가 아는 바로는 스택 프레임을 사용하는 것이 가장 좋은 방법이지만, 제대로 작동하지는 않습니다. 누구든지 올바른 방향으로 나를 가리킬 수 있습니까?MIPS에서 배열을 업데이트하는 방법은 무엇입니까?
감사합니다.
이미 배열 조작 C. 같은 언어에서 작동하는 방법을 잘 이해하고 있어야합니다
현재 스택 프레임의 배열을 놓고, 거기를 조작 (및 혜택과 문제를 이해하려면 이렇게하면 다음을 수행해야합니다.
$sp
)의 현재 값을 기록해 둡니다. 이것을 배열의 시작 포인터로 사용합니다. 다른 레지스터에 저장하십시오.$sp
)를 배열이 많은 바이트만큼 증가시킵니다. 이렇게하면 일할 수있는 충분한 공간이 생깁니다.lw
을 사용하여 단어를로드하십시오.배열의 개별 셀을 업데이트 할 수 있습니까? A 배열이있는 것처럼 A [6]을 A [6] +1 또는 다른 셀로 변경하는 방법을 사용할 수 있습니까? – Parker
늦게 답장을 드려 죄송합니다. 예. 내 단계 3과 4를 사용하면 배열의 요소를 임의로 읽고 쓸 수 있습니다. 따라서 A [6] : = A [6] + 1을 수행하려면 먼저 3 단계를 사용하여 A [6]에 대한 포인터를 계산해야합니다. 그런 다음 'lw'를 사용하여 해당 주소의 값을 레지스터에로드합니다. 그런 다음 'inc'를 사용하여 1을 추가하십시오. 그런 다음'sw'을 사용하여 값을 주소에 다시 쓰십시오. – mgiuca
@Parker이 답변이 도움이 되었습니까? – mgiuca
코드가 지금까지 어떻게 생겼습니까? –