簡體   English   中英

MIPS組裝,增加跳躍

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM