Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在MIPS中设置指令的内存地址?_Mips_Mips32_Instruction Set_Spim_Qtspim - Fatal编程技术网

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

如何在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

通常,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 ends up at address 0x430000
foo:
li $a0,2
jr $ra
当然,你不能随便选一个地址。它必须对目标环境有效(在我的示例中为QtSpim)



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

如果我想在特定位置存储一条指令集(比如10条指令集),该怎么办。我需要做的就是找到beq 16位范围之外的标签。告诉我们你有什么