编写一段ARM汇编程序,实现数据块复制,将R0指向8个字的连续数据保存到R1指向的一段连续的内存单元,急求

2025-02-22 21:51:57
推荐回答(2个)
回答1:

。。。
MOV SI ,R0
MOV DI,RI
MOV CX,8
LOP: MOV AL,[SI]
MOV [DI],AL
ADD SI,2 ;因为是字所以要加2
ADD DI,2
LOOP LOP
。。。
不过汇编程序是以asm为后缀的。。。

回答2:

AREA Block,CODE,READONLY
NUM EQU 20
ENTRY
LDR R0,=src
LDR R1,=dst
MOV R2,#NUM
MOV SP,#&400
Bcopy MOVS R3,R2,LSR #3
BEQ Cword
STMFD SP!,{R4-R11}
Ocopy LDMIA R0!,{R4-R11}
STMIA R1!,{R4-R11}
SUBS R3,R3,#1
BNE Ocopy
LDMFD sp!,{R4-R11}
Cword ANDS R2,R2,#7
BEQ Stop
Wcopy LDR R3,[R0],#4
STR R3,[R1],#4
SUBS R2,R2,#1
BNE Wcopy
Stop
MOV R0,#0X10
LDR R1,=&20026
SWI 0X123456
AREA Bdata,DATA,READWRITE
src DCD 1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4
dst DCD 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
END