我正在处理我正在编写的程序的问题,这是程序的确切。
.data
BYTE1: .byte 0xAD
BYTE2: .byte 0xDE
WORD1: .word 0
WORD2: .word 0
WORD3: .word 0
WORD4: .word 0
WORD5: .word 0
MYNAME: .asciiz "SamW"
.text
.globl main
main:
#WORD1
lui $t0, 0xCAFE
srl $t0, $t0, 16
la $t1, WORD1
sw $t0, 0($t1)
#WORD2
lui $t0, 0xBEAD
srl $t0, $t0, 16
la $t1, WORD2
sw $t0, 0($t1)
#WORD3
lui $t0, 0xDEAF
srl $t0, $t0, 16
la $t1, WORD3
sw $t0, 0($t1)
#WORD4
lui $t0, 0xDEED
srl $t0, $t0, 16
la $t1, WORD4
sw $t0, 0($t1)
#MYNAME
lw $t0, 8($t1)
la $t1, WORD5
sw $t0, 0($t1)
#LOAD_B1
la $t0, BYTE1
lbu $s0, 0($t0)
#LOAD_B2
addi, $t0, $t0, 1
lbu $s1, 0($t0)
#LOAD_W1
la $t0, WORD1
lw $s2, 0($t0)
addi $t0, $t0, 4
#LOAD_W2
lw $s3, 0($t0)
正在发生的问题是最后几行代码,我指示lw从WORD1和WORD2中提取信息并将其存储在保存寄存器中。出于某种原因,当我去运行该代码一次没有发生任何事情,但是当我清除所有寄存器并再次重新初始化程序时,在前2个指令中这些指令被正确执行。任何见解将不胜感激。
注意突出显示的指令以及寄存器19中打印的内容。再次在初始运行代码时,寄存器19中没有任何内容发生,然后当我重新初始化时,在指令3中弹出。
以下是存储库的图片: