要求:从0x30500000开始的内存区域存放着若干字节的BCD码数据,并以0x0D结束。编程对这些数据进行累加和计算,取累计和的前两个字节放到这个数据结束字符之后的两个字节中,并把数据个数写入后一个单元。
代码如下:
AREA EXAMPLE2,CODE,READONLY
ENTRY
CODE32
MYADD MOV R0,#0
LDR R2,=0x30500000
LOPPA LDRB R3,[R2]
CMP R3,#0x0D
BNE LOPPOUT
STRH R1,[R2+1]
STR R0,[R2+3]
END
LOPPOUT ADD R1,R1,R3
ADD R2,R2,#1
B LOPPA
本文介绍了一段ARM汇编代码,该代码用于处理从特定内存地址开始的BCD码数据,实现数据的累加和计算,并将结果及数据个数存回内存。代码详细展示了如何读取、比较、累加BCD码并存储结果。

422

被折叠的 条评论
为什么被折叠?



