我为我的任务制定了一些代码,有些东西告诉我,我没有正确地做到这一点。希望有人可以看看它。 谢谢!
sameorigin
编写一个ARM汇编程序,它将在寄存器1中添加十六进制数字并将总和保存在寄存器0中。例如,如果r1初始化如下:
AREA Reset, CODE, READONLY
ENTRY
LDR r1, = 0x13579BA0
MOV r3, #0
MOV r4, #0
MOV r2, #8
Loop CMP r2, #0
BGE DONE
LDR r5, [r1, r4]
AND r5, r5, #0x00000000
ADD r3, r3, r5
ADD r4, r4, #4
SUB r2, r2, #1
B Loop
LDR r0, [r3]
DONE B DONE
END
当程序运行完成时,寄存器0将包含1 + 2 + 0 + A + 7 + 6 + 0 + C之和。
您需要在解决方案中使用以下内容: ·8次迭代循环 ·逻辑右移指令 ·AND指令(用于强制选择的位为0)
我知道我甚至没有使用LSR。我应该把它放在哪里?我刚刚开始大会希望有人对这段代码做了一些改进..