我的汇编代码遇到了问题:
# 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设置是:
已在裸机、延迟分支和延迟加载上检查。
有人知道哪里出了问题吗?是否存在单词对齐问题?
发布于 2015-04-16 20:55:55
这里没有单词对齐问题。您的问题是您使用的汇编程序没有将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 filehttps://stackoverflow.com/questions/29675194
复制相似问题