Computer Architecture II
Continue from Computer Architecture I 3.3 Loop 循环是各类编程语言中及其常见的功能,而在Instruction中,以MIPS为例,循环的功能一般以Loop的形式呈现。 3.3.1 "if" loop C语言: Loop: g = g + A[i]; i = i + j; if(i ! = h) goto Loop; 假设g , h , i 和 j 的值分别存在$s1, $s2, $s3和$s4。数组A的初始地址为$s5。 将以上C语言转译为MIPS Instruction后为: Loop: add $t1,$s3,$s3 // t1=i + i add $t1,$t1,$t1 // t1= 2i + 2i add $t1,$t1,$s5 // t1现在为A[i]的地址 lw $t0, 0($t1) // 读取A[i]的值到t0 add $s1,$s1,$t0 // g = g + A[i] add $s3,$s3,$s4 // i = i+ j bne $s3, $s2, Loop //如果i != j 返回loop 3.3.2 "While"loop