假设我们有一个包含 10 个数字的数组,我们想要将这些数字求和到一个变量中,如下所示:
int arr[10]= {1, 15, 0, -3, 99, 48, -17, -9, 20, 15};
sum = 0;
for(i=0; i<10; i++)
sum = sum + arr[i];
Run Code Online (Sandbox Code Playgroud)
当我尝试“汇编 mips”时,特定的一行会消失:
.data
arr: .word 1, 12, 0, -3, 99, 48, -17, -9, 20, 15
.text
.globl main
main:
add $t0, $zero, $zero #counter i
add $t1, $zero, $zero #sum
la $t2, arr #loading the address of the array to a register
loop:
slti $t3, $t0, 10 #i<10
beq $t3, $zero, EXIT
add $t1, …Run Code Online (Sandbox Code Playgroud)