Miracle

有梦想就不会觉得苦。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ARM集成环境下把一段内存里的数据存到另一端内存

Posted on 2011-05-23 21:36  gsky  阅读(370)  评论(0编辑  收藏  举报
;
; 代码演示
;
	;定义数据段
	AREA p1Data, DATA, READWRITE
buf1 dcd 1,2,3,4,5,6	;定义字
buf2 dcw 1,2,3,4,5,6	;定义半字
buf3 dcb 1,2,3,4,5,6	;定义字节
str  dcb "123456", 0	;定义字符串
	align 4
buf4 space 256			;分配256字节空间



	AREA p1Code, CODE, READONLY
	
	ENTRY
start
	;buf1 copy to buf4
	ldr r0, =buf1	;源基址
	ldr r1, =buf4	;目的基址
	mov r2, #0		;循环计数器
cploop
	ldr r3, [r0, r2, lsl#2]	;读出源数据字到r3,把r0+r2*4位置的值送入r3寄存器
	str r3, [r1, r2, lsl#2]	;写入到目的缓冲区,把r3寄存器的值送入r1+r2*4位置处
	cmp r2, #5
	beq cpend
	add r2, r2, #1
	b   cploop
cpend
	
stop
	mov r0, #0x18
	ldr r1, =0x20026
	swi 0x123456
	
	end