Assembly 如何获取Qtspim中第二个字符串的地址?

Assembly 如何获取Qtspim中第二个字符串的地址?,assembly,mips,qtspim,Assembly,Mips,Qtspim,在上面的代码中,我能够得到“字符串”的内存地址,即“输入您的号码:”。是否有任何方法可以在不使用伪指令(如la)的情况下获取“string2”的内存地址。我正在使用Qtspim来运行代码。谢谢你们 是的,对低16位使用ori,即ori$a0、$a0、19(如果我计算正确),或者使用汇编程序用于访问低16位的任何辅助函数,例如%lo(string2)是否有更好的方法在不计算或查看数据段的情况下计算出地址。你不想计算第一个字符串是否长。正如我说的,如果你的汇编程序支持一个特殊的函数,那么是的。否则,

在上面的代码中,我能够得到“字符串”的内存地址,即“输入您的号码:”。是否有任何方法可以在不使用伪指令(如la)的情况下获取“string2”的内存地址。我正在使用Qtspim来运行代码。谢谢你们

是的,对低16位使用
ori
,即
ori$a0、$a0、19
(如果我计算正确),或者使用汇编程序用于访问低16位的任何辅助函数,例如
%lo(string2)

是否有更好的方法在不计算或查看数据段的情况下计算出地址。你不想计算第一个字符串是否长。正如我说的,如果你的汇编程序支持一个特殊的函数,那么是的。否则,您也可以尝试减法,即
string2 string
string2-.data
.text
.globl main
 main: 


ori         $v0,4           #code 4 == print string
lui         $a0,0x1001      #$a0 == address of the string
syscall

ori         $v0, 10         #code 10 = exit the program
syscall 

.data
 string:     .asciiz         "Enter your number: "
 string2:    .asciiz         "wrong number! "