如何在MIPS中设置指令的内存地址?
通常,SPIM模拟器本身会为程序中的指令分配一个地址。是否有一些方法可以手动选择存储特定指令的位置?当然,如何在MIPS中设置指令的内存地址?,mips,mips32,instruction-set,spim,qtspim,Mips,Mips32,Instruction Set,Spim,Qtspim,通常,SPIM模拟器本身会为程序中的指令分配一个地址。是否有一些方法可以手动选择存储特定指令的位置?当然,.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
.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中,并从RAM中执行。如果我想在特定位置存储一条指令集(比如10条指令集),该怎么办。我需要做的就是找到beq 16位范围之外的标签。告诉我们你有什么