[英]MIPS assembly, adding to jump
我的匯編代碼遇到問題:
# Program testing
.text
.globl main
main: ori $4,$0,1
addiu $4,$4,2
addiu $8,$10,4
addiu $2,$1,1
addiu $3,$1,1
addiu $5,$1,1
j main+8 #ERROR HERE
sll $0,$0,0
# End of file
我想增加我的跳躍。 我的教授說這行得通,但是我不斷收到解析器錯誤
我在PCSPIM中的MIPS設置是:
檢查裸機,延遲的分支和延遲的負載。
有人知道哪里出問題了嗎? 是否存在單詞對齊問題?
這里沒有單詞對齊問題。 您的問題是您使用的匯編程序沒有將label+displacement
解釋為目標地址。
由於每條指令占用4個字節,因此您實際上是在嘗試將兩個指令跳到主標簽之前。 因此,只需在您真正定位跳躍的位置添加一個新標簽。
即:
# Program testing
.text
.globl main
main: ori $4,$0,1
addiu $4,$4,2
jump_target:
addiu $8,$10,4
addiu $2,$1,1
addiu $3,$1,1
addiu $5,$1,1
j jump_target # main+8
sll $0,$0,0
# End of file
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.