Assembly Spim指令部
以上是我的spim程序,我很好奇li指令会被分成lui和ori,有人能解释一下那里发生了什么吗Assembly Spim指令部,assembly,mips,spim,pcspim,Assembly,Mips,Spim,Pcspim,以上是我的spim程序,我很好奇li指令会被分成lui和ori,有人能解释一下那里发生了什么吗 谢谢你的帮助 li是一条伪指令(即,它在处理器上不作为操作码存在)。 它总是扩展为“加载上限立即数”;以及“或立即”指示: 有效:(4096li是立即加载。但是,您尝试加载的值太大,无法放入该指令的立即数据部分。因此,汇编程序将其拆分为两条指令,每一条指令将该值的一半加载到寄存器的上下部分。Hi感谢您的回复,请您解释一下详细说明一下什么(4096从你的帖子:lui$14096将4096加载到寄存器1的
谢谢你的帮助 li是一条伪指令(即,它在处理器上不作为操作码存在)。 它总是扩展为“加载上限立即数”;以及“或立即”指示:
有效:
(4096li是立即加载。但是,您尝试加载的值太大,无法放入该指令的立即数据部分。因此,汇编程序将其拆分为两条指令,每一条指令将该值的一半加载到寄存器的上下部分。Hi感谢您的回复,请您解释一下详细说明一下什么(4096从你的帖子:lui$14096
将4096加载到寄存器1的上半部分。ori$8,$1244
是寄存器8=register#1 | 244。(作为$1的下半部分,都是0:$8=$1+244)
[0x00400000] 0x3c011000 lui $1, 4096 ; 5: li $t0, 0x100000F4
[0x00400004] 0x342800f4 ori $8, $1, 244
[0x00400008] 0x8d100000 lw $16, 0($8) ; 6: lw $s0, 0($t0)