如何执行相同的功能,而不是使用lw
来使用lbu
而不是and
其他一些命令?
.text
.globl __start
__start: # execution starts here
la $a0,st_b
lw $t0,4($a0)
and $t0,$t0,0xFF00FF00
li $v0,10
syscall # exit
.data
st_b: .byte 0xA1,0xA2,0xA3,0xA4,0xB1,0xB2,0xB3,0xB4
答案 0 :(得分:0)
这个怎么样:
la $a0,st_b
lbu $t0, 5($a0) # Load 2nd byte
sll $t0, $t0, 8 # And shift it left
lbu $t1, 7($a0) # Load 4th byte
sll $t1, $t1, 24 # And shift it left
or $t0, $t0, $t1 # join both bytes