我有这个任务,我很难搞清楚如何开始。
您的程序的数据部分声明如下:
.data .byte 12 .byte 97 .byte 133 .byte 82 .byte 236
编写一个程序,将值加起来并计算平均值。请使用
$8
来 保存基址,$9
保存平均值,$10
保存中间结果
我做了一点,但每当我尝试将.asm文件加载到QtSpim时,它甚至都没有正常运行(即除了$8
之外没有任何内容被加载到寄存器中)。我一直在阅读this但是根本没有运气,不知道该做什么。这就是我所拥有的:
## Assignment4_Question2.asm
.data
b1: .byte 12
b2: .byte 97
b3: .byte 133
b4: .byte 82
b5: .byte 236
.text
main:
ori $13,$0,0x5 # Initialize 5 for division later on
ori $12,$0,0 # Initialize $12 with 0
lui $8,0x1000 # Save base address
lbu $11,b1($8) # Load byte 1
addu $10,$11,$12 # Add byte 1 to $12; $10 is now sum
lbu $11,b2($8) # Load byte 2
addu $10,$11,$10 # Add byte 2 to sum
lbu $11,b3($8) # Load byte 3
addu $10,$11,$10 # Add byte 3 to sum
lbu $11,b4($8) # Load byte 4
addu $10,$11,$10 # Add byte 4 to sum
lbu $11,b5($8) # Load byte 5
addu $10,$11,$10 # Add byte 5 to sum
divu $10,$13 # Divide sum by 5
mflo $9 # Store in $9
## End of file
答案 0 :(得分:0)
ori $13,$0,0x5 # Initialize 5 for division later on
ori $12,$0,0 # Initialize $12 with 0
lui $8,0x1000 # Save base address
lbu $11,b1($8) # Load byte 1
addu $10,$11,$12 # Add byte 1 to $12; $10 is now sum
你的addu这部分什么都不做,这就是为什么你错过最后一个addu的原因。