如何在MIPS中设置指令的内存地址?

问题描述 投票:-1回答:1

通常,SPIM模拟器本身会为程序中的指令分配地址。有没有办法手动选择存储特定指令的位置?

mips mips32 instruction-set spim qtspim
1个回答
0
投票

当然,.text指令有一个可选参数,您可以在其中指定地址:

.text
.globl main
# This code ends up at the default address for the .text section
main:

li $a0,1
jal foo
li $v0,1
syscall

li $v0,10
syscall

.text 0x430000
# This code ends up at address 0x430000
foo:
li $a0,2
jr $ra

当然,你不能随便选择一个地址。它必须对目标环境有效(在我的示例中为QtSpim)。


另一种可能性是将所有内容组装到默认位置,然后在运行时将部分代码复制到RAM中并从那里执行。

© www.soinside.com 2019 - 2024. All rights reserved.