A[2*i]=A[2*k+j];
을 어셈블리 언어로 변환하려고합니다. int (4 바이트)의 배열 'A'는 Astart
(32 비트)에서 시작하고 i, j, k
은 $s0, $s1, $s3
에 저장됩니다.C 언어의 어셈블리 언어 구현
그래서 문제를 올바르게 이해하고 있다면 [2*k+j]
요소의 주소와 값을 [2*i]
요소로 설정해야합니까? 내 혼란은 주소를 수정하고있다. 이것이 내가 가진 것입니다.
add $t0, $s0, $s0 #2*i
add $t1, $s3, $s3 #2*k
add $t2, $t1, $s3 #2*k+j
sw $t2, Astart
sw $t0 4(Astart)
이 내용이 정확합니까?
: 같은
수정 된 코드를 볼 수 있습니다. 나는 MIPS를 모른다. 하지만 인덱스 어드레싱 모드를 보면 도움이 될 것입니다 ... – Sam