添加RW数据初始化程序断后,完整的程序代码如下:
;正文段=========================================================================
AREA EXP6_1,CODE,READONLY
ENTRY
ARM
;数据区初始化代码段---------------------------------------------------------------
IMPORT|Image$$RO$$Limit|
IMPORT|Image$$RW$$Base|
IMPORT|Image$$ZI$$Base|
IMPORT|Image$$ZI$$Limit|
LDR RO,=|Image$$RO$$Limit| ;初始化数据首地址送RO
LDR R1,=|Image$$RW$$Base| ;RW区首地址送R1
LDR R3,=|Image$$ZI$$Base| ;ZI区首地址送R3
CMP RO,R1
BEQ %F1
0
CMP R1,R3
LDRCC R2,[R0],#4
STRCC R2,[R1],#4
BCC %B0
1
LDR R1,=|Image$$ZI$$Limit|
MOV R2,#0
2
CMP R3,R1
STRCC R2,[R3],#4
BCC %B2
;用户逻辑代码段---------------------------------------------------------------
LDR R0,=DATA1
LDR R1,[R0]
LDR R3,=0x55555555
HALT
B HALT
;静态数据区===================================================================
AREA EXP6_1DT,DATA,READWRITE
DATA1 DCD 0x88888888
DCD 0x99999999
END
问题:
程序运行到
CMP R0,R1
BEQ %F1
后如果R0=R1,跳转到局部标号1的段落后,执行完
LDR R1,=|Image$$ZI$$Limit|
MOV R2,#0
后,
是顺序执行标号2的语句
CMP R3,R1
STRCC R2,[R3],#4
BCC %B2
还是直接跳到 用户逻辑代码段
执行
LDR R0,=DATA1
LDR R1,[R0]
LDR R3,=0x55555555
HALT
B HALT
还有:
LDRCC R2,[R0],#4
STRCC R2,[R1],#4
是实现什么工能的
请高人指点!
LDRCC r2, [r0], #4 ;--> LDRCC r2, [r0] + ADD r0, r0, #4
STRCC r2, [r1], #4 ;--> STRCC r2, [r1] + ADD r1, r1, #4
一周热门 更多>