看板 Grad-ProbAsk 關於我們 聯絡資訊
addi $v0, $zero, -1 loop: lw $v1, 0($a0) addi $v0, $v0, 1 sw $v1, 0($a1) addi $a0, $a0, 4 addi $a1, $a1, 4 bne $v1, $zero, loop <~~~請問這個換成機器語言是 5 3 0 -6嗎? 因為解答是 5 3 0 -20 好像不對吧^^" 第二個問題是換成C語言 count 是$v0 source 是$a0 destination 是$a1 則可寫成 count=-1 do { temp = *source ; count = count + 1 ; *destination = temp ; *source = *source +1 ; <~~~~~ *destination = *destination +1 ; <~~~ } 這兩行為什麼要加* 不是暫存器內的位址+1嗎? 加了*怎麼好像是 是把記憶體內的DATA+1再存進去 有C高手可以來解釋一下嗎? 謝謝~ -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.209.101
whisp1222:-24吧 07/01 12:41
guanrulee:bne,beq指令後面的常數不是代表的是word嗎? 07/01 14:29
guanrulee:實際位址要再乘以4 07/01 14:29
※ 編輯: guanrulee 來自: 61.228.206.147 (07/01 14:30)
gqqueen:格式有誤喔,請按T修改囉,讓以後的人好搜尋喔 07/01 17:05
SONGya168:請在科目加註中括號: [計算機組織]-... 修好後解鎖文 07/01 19:02