rorwzi_init.s

来自「ucos_ii在mini2440上的移植KEIL编译环境」· S 代码 · 共 56 行

S
56
字号
;************************************
;RO、RW、ZI参数配置
;***********************************

 	AREA RORWZI, CODE, READONLY
	ENTRY
	CODE32
	GET 2440addr.inc
	EXPORT InitRORWZI	

	IMPORT 	|Image$$RO$$Base|
	IMPORT	|Image$$RO$$Limit|
	IMPORT 	|Image$$RW$$Base|
	IMPORT	|Image$$RW$$Limit|
	IMPORT 	|Image$$ZI$$Base|
	IMPORT	|Image$$ZI$$Limit|

;RW和ZI段的初始化
InitRORWZI
	STMFD	SP!, {R0-R12, LR}

	LDR	    R0,=|Image$$RO$$Limit|
	LDR	    R1,=|Image$$RW$$Base|
;	LDR		R3,=|Image$$RW$$Limit|
	LDR	    R2,=|Image$$ZI$$Base|
;	ADD R0,#1

	;内存对齐
	AND	R6, R0, #3
	CMP R6, #0
	SUBNE R0, R0, R6
	ADDNE R0, R0, #4

	CMP R0, R1
	BEQ %F2

	
1
 ;拷贝RW段
 	CMP R2, R1
	BCC %F2
	LDR R3, [R0], #4
	STR R3, [R1], #4
	B %B1
2
    LDR R0, =|Image$$ZI$$Limit|
	MOV R1, #0
    CMP R0, R2
    BCC %F3
    STRB R1, [R2], #1
	B %B2
3
	LDMFD	SP!, {R0-R12, PC}

	END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?