0
有人可以解釋之間有什麼區別:MIPS在這個指令上的區別?
lw $t5, $t3
和
lw $t5, ($t3)
和
lw $t5, 0($t3)
第一個1:第二個工作預期。但爲什麼第三個與第二個不同呢?
有人可以解釋之間有什麼區別:MIPS在這個指令上的區別?
lw $t5, $t3
和
lw $t5, ($t3)
和
lw $t5, 0($t3)
第一個1:第二個工作預期。但爲什麼第三個與第二個不同呢?
除非你的彙編是非常寬容的,第一個例子是一個語法錯誤:
lw $t5, $t3
兩個spim
和mars
舉報。 lw
指令是「從內存加載」。如果你想設置的$t5
從$t3
內容的內容,你會希望move
僞操作:
move $t5, $t3
這是簡寫:
addu $t5, $t3, $zero
的lw
的正確用法是:
lw <dest_reg>,<offset>(<source_reg>)
這需要源寄存器的內容,增加了簽署 [16位]偏移量來產生最終地址。它將從該地址獲取32位字,並將獲取的值放入目標寄存器。
如果<offset>
是零,也可以離開,所以下面的兩個是等效的:
lw $t5, 0($t3)
lw $t5, ($t3)