0
배열을 50 번 합친 코드가 있습니다. 이제이 코드를 적어도 하나의 지침으로 줄여야합니다. 내가 생각할 수있는 것은이 루프를 100 배로 늘린 다음 루프 당 하나의 요소를 추가하는 것입니다. 그러나 이것은 명령 카운트를 많이 증가시킵니다. 만이 코드를 다시 작성할 수MIPS 합계 배열에 대한 최적화
addi $t1, $0, 50
LOOP: lw $s1, 0($s0)
add $s2, $s2, $s1
lw $s1, 4($s0)
add $s2, $s2, $s1
addi $s0, $s0, 8
subi $t1, $t1, 1
bne $t1, $0, LOOP
참고 다른 sumArray 알고리즘을 쓰지
귀하의 요지를 볼 수는 있지만 많은 지시 사항을 줄일 수 있습니까? 원래 코드 351 개가있는 동안 코드는 1 회 = 151 회 더한 루프를 25 회 실행합니다. – Casper
죄송합니다. 처음에는 200이 400이어야합니다. 원래 코드와 동일한 반복 횟수를 수행해야하며 반복 당 명령어 하나를 적게 사용해야합니다. 마지막 라인 인 bne에 대해 – Michael
, $ s0과 비교하면 어떨까요? 그냥 $ 0이라고 생각합니까? – Casper