la指令如何在MIPS中翻译?
我知道MIPS中的la指令如何在MIPS中翻译?,mips,translation,instructions,Mips,Translation,Instructions,我知道MIPS中的la分解为lui和ori但是这些指令的参数是什么 我在这里看了这个问题,但是得到的lui是否总是使用4097 考虑以下几点: .data _a: .space 4 .text main: la $s0,_a 这能转化成这个吗 lui $at,4097 ori $s0,$at,0 谢谢大家! lui加载地址的上16位,ori加载地址的下16位。地址可以是任何32位值,因此lui通常不加载4097。4097十进制
la
分解为lui
和ori
但是这些指令的参数是什么
我在这里看了这个问题,但是得到的lui
是否总是使用4097
考虑以下几点:
.data
_a: .space 4
.text
main: la $s0,_a
这能转化成这个吗
lui $at,4097
ori $s0,$at,0
谢谢大家! lui加载地址的上16位,ori加载地址的下16位。地址可以是任何32位值,因此
lui
通常不加载4097。4097十进制为0x1001。这是0x10010000的高16位
这是mars
模拟器中.data
段开始的默认加载地址
如果执行了la$s0,main
,lui
将是lui$at,0x0040
,因为.text
的默认起始地址是0x00400000
要查看差异,请尝试以下程序:
.data
_a: .space 100000
_b: .space 4
.text
main: la $s0,_b