ARM汇编初学者,帮忙看两段简单的汇编代码
第一段汇编代码:
==================================================================
;set secure or nonsecure vector base address registor to default
MOV r0, #0 ;vector base address
MCR p15, #0, r0, c12, c0, #0 ;set vector base address
==================================================================
我理解这段代码的作用是:将协处理器p15的c12寄存器赋值为0。但书上说c12寄存器是保留的寄存器,没什么特殊用途。
请问:上述代码的真正用途是什么?
第二段汇编代码:
==================================================================
CM_FCLKEN_CORE
.long 0x48004A00
CM_FCLKEN1_CORE_VALUE .equ 0x3E000
ADR r0, CM_FCLKEN_CORE
LDR r1, [r0]
BIC r1, r1, CM_FCLKEN1_CORE_VALUE
STR r1, [r0]
==================================================================
我理解这段代码的作用是,将CM_FCLKEN_CORE寄存器的值取反,并与CM_FCLKEN1_CORE_VALUE按位与运算,最后将结果
写回CM_FCLKEN_CORE寄存器中。不知道我理解的是否正确?