看板 C_and_CPP 關於我們 聯絡資訊
請教一個題目: Let us give the following MIPS assembly code Loop: add $t1, $s3, $s3 add $t1, $t1, $t1 add $t1, $t1, $s5 lw $t0, 0($t1) add $s1, $s1, $t0 add $s3, $s3, $s4 bne $s3, $s2, Loop 暫存器$s1,$s2,$s3,$s4分別為g,h,i,j A為array且$s5存放指向A之基底位址 (A is an array of 100 elements and the base of the array A is in $s5) 解答: Loop: g=g+a[i] i=i+j ; if(i!=h) go to Loop; 我想請教的是為什麼是用g=g+a[i]來表示 MIPS語言$s1 <-- M[4i+$s5] 的部份。 對於陣列的觀念跟使用不太清楚,麻煩 各位大大能替我解答 <(_._)> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.70.163
MOONRAKER:因為MIPS是byte address, 陣列中元素長度都是4-byte 01/30 23:20