假设有一 MIPS , 是 单周期的模型机结构和数据通路。该机三种指令格式如表 4 所示 。 表 4 MIPS 指令格式 R 型指令 字段 OP rs rt rd shamt func 位数 6 5 5 5 5 6 I 型 指令 字段 OP rs rt offset/imme 位数 6 5 5 16 J 型 指令 字段 OP address 位数 6 26 已知数组 A 和数据变量 k ,以下程序段 w hile (A[i] == k) i+=1; 假设分别用寄存器 $s0 ( $16) 和 $s1 存放变量 i 和 k 的值,寄存器 $t1 存放取出的数组元素,寄存器 $t0 ( $8 )存放数组 A 的起始地址,则上述循环语句对应的 MIPS 汇编程序为 : add $s0,$zero,$zero in $s 1 , [0] # 输入 k 值 label1 : sll $t3,$s0,2 # 左移: (rt << shamt )→rd add $t3,$t3,$t0 # 算术加,得 A[i] 的地址 lw $t1,0($t3) # 取数: mem(rs +offset)→rt ) bne $t1,$s1,l abel2 # 不 相等转移: if (rs ≠ rt) then PC+4+offset×4→PC addi $s0,$s0,1 # $s0 加 1 , i+1 j label1 # 无条件跳转: {(PC+4) 高 4 位 ,addr,0,0}→PC l abel2 : 。。。 表 5 指令机器代码 地址 6 位 5 位 5 位 5 位 5 位 6 位 40000 0 0 16 11 2 0 40004 0 11 8 11 0 2 40008 35 rs rt 0 40012 5 9 17 offset 40016 8 16 16 1 40020 2 address 40024 。。。。。。 设 label1 指令的地址为 40000 ,表 5 为 label1 开始的各指令的机器代码,则表 5 中的 rs为()