[爆卦]mips指令lw是什麼?優點缺點精華區懶人包

為什麼這篇mips指令lw鄉民發文收入到精華區:因為在mips指令lw這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者learnerQQ (小銓)看板ASM標題[問題] 有個 C 程式碼 轉 MIPS時間Sun N...




小弟尚未開始學組語,但是計算機組織有扯到,所以有些問題想請教大家。

是一個有關 簡單 C語言敘述 轉成 MIPS 指令~~


Q: 假設 $s0 存放變數 f的值, $s1 存放變數 g的值 ~ 而 $s6 存放 整數陣列 A[0] 的

記憶體位置( 即 &A[0] ) , $s7 存放 整數陣列 B[0] 的記憶體位置 (即 &B[0])


=> 將 右邊的 C 語言敘述 : f = g - A[ B[4] ]; 轉成 MIPS ~



我的想法 => lw $t0,16($s7) # 把陣列 B[4]的數值 暫存於 $t0

muli $t0,$t0,4 # 把 $t0 * 4

lw $s0,$t0($s6) # 把 A[ B[4] ]的數值 存放在 $s0

sub $s0,$1,$s0 # f = g - A[ B[4] ]


答案: =>
lw $t0,16($s7)

lw $s0,0($t0) # 看不懂

lw $s0,$s1,$s0
------------------------------------------------------------------------------

請問各位,我這樣的寫法可以嗎? 答案的寫法 怎麼可以這麼精簡

而且 在C的敘述中 有用到陣列 A[B[4]] 可是答案怎麼都沒用到 $s6

會用到巴 = =+ 我看了半天 猶豫是不是該把這傻問題 PO到這個版 = =+


可是真的看不懂了 有不妥的地方 請鞭小力一點 ....3Q







--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.40.115.60
gm560622:lw $s0,$t0($s6) $t0那個地方只能放常數 12/11 15:10
gm560622:lw $s0,$s1,$s0 語法?? 12/11 15:12

你可能也想看看

搜尋相關網站