为什么在代码中使用“ori”?
#case 3:
switch02_code_3 :
#a [ 5 ] = 50000;
ori $t0 , $zero , 0xC350 # $t0 <− 0x0000C350 = 50000
la $t1 , a # $t1 <− base address from a
sw $t0 , 20($t1) # a [ 5 ] = 50000
#break;
j switch02_end # finish switch block
我不明白为什么要扩展位数
1条答案
按热度按时间cx6n0qe31#
这一行是
li $t0,0xC350
。li
指令不是真实的,它使用addi
或ori
来完成这项工作。由于0xC350
超过0x7FFF
,使用addi
将导致符号扩展,这不是程序员在源代码中编写的(很可能是li $t0,0xC350
)