阅读:1802回复:3
ARM汇编问题请教
LDR r0, =|Image$$RO$$Limit| ; Get pointer to ROM data
LDR r1, =|Image$$RW$$Base| ; and RAM copy LDR r3, =|Image$$ZI$$Base| ;Zero init base => top of initialised data CMP r0, r1 ; Check that they are different BEQ %F1 0 CMP r1, r3 ; Copy init data LDRCC r2, [r0], #4 ;--> LDRCC r2, [r0] + ADD r0, r0, #4 STRCC r2, [r1], #4 ;--> STRCC r2, [r1] + ADD r1, r1, #4 BCC %B0 1 LDR r1, =|Image$$ZI$$Limit| ; Top of zero init segment MOV r2, #0 2 CMP r3, r1 ; Zero init STRCC r2, [r3], #4 BCC %B2 1。上面这断程序里面那几个顶头写的0,1,2什么意思啊? 2。程序里面的 %BO,%B2是什么意思? 3。经常在程序里面看见 ^ 这个符号,代表什么意思? 谢谢 |
|
沙发#
发布于:2005-07-20 21:42
%b0就是往后跳转到0这个标签的地方。
|
|
|
板凳#
发布于:2005-07-21 11:19
^ 就是一个伪指令,是一个地址定位符,用来确定数据段所在地址
|
|
地板#
发布于:2005-08-05 15:20
^ 这个符号主要用在特权模式下的LDM和STM指令中,在STM中,表示所保存的寄存器为用户态寄存器,在LDM中,表示在寄存器装在完成后,将SPCR寄存器中的内容拷贝到CPSR中以实现状态切换(以上内容是在浙江大学出版的毛德操那本嵌入式的书中说的,具体没有验证)。
|
|