使用寄存器操作从外部存储器地址0x4000 3000处开始依次存放48个字数据(数值为0,1,2,3…47),之后将保存的数据复制至地址0x4000 4000处
ORG 0x0000
START:
MOV R0, #0 ; 初始化计数器为 0
LDR R1, =0x40003000 ; 获取起始地址
LOOP:
STRH R0, [R1], #2 ; 存储数据,每次存储两个字节
ADD R0, R0, #1 ; 计数器加一
CMP R0, #48 ; 检查是否达到存储数据的总量
BNE LOOP ; 若没有,则跳转到 LOOP 标签处
LDR R1, =0x40004000 ; 获取目标地址
LDR R2, =0x40003000 ; 获取源地址
MOV R3, #0 ; 初始化计数器为 0
COPY:
LDRH R4, [R2], #2 ; 读取两个字节的数据
STRH R4, [R1], #2 ; 存储两个字节的数据
ADD R3, R3, #1 ; 计数器加一
CMP R3, #48 ; 检查是否达到复制数据的总量
BNE COPY ; 若没有,则跳转到 COPY 标签处
END ; 程序结束