前言
- 移植基于ARM平台的RTOS时,需要掌握一些基本的汇编指令,只有熟悉了这些ARM 的汇编指令,才能真正的掌握RTOS的移植方法
- MOV32 指令,字面意思是 MOVE 一个 32位 值的意思,具体语法如下
MOV32 用法
- 查看 ARM 官方的汇编手册,可以了解 MOV32 指令的用法,这是一个汇编【伪指令】
- 作用:把一个32的【立即数】或32位的【地址】,注意是地址,不是【地址中的内容】,加载到 寄存器,类似于给指定寄存器 【赋值】
用法举例
-
MOV32 r3, #0xABCDEF12
的作用:把 0xABCDEF12 这个立即数(数值),加载到 r3 寄存器中,这样 r3 = 0xABCDEF12 了,类似于给 r3 寄存器赋值 0xABCDEF12 -
MOV32 R2, OS_KA_BASEPRI_Boundary
, 注意这个 OS_KA_BASEPRI_Boundary 是程序的一个地址(指针变量本身是一个地址),把这个地址 OS_KA_BASEPRI_Boundary 赋值给 R2 寄存器,这样,R2 = OS_KA_BASEPRI_Boundary
小结
- 汇编的 hello world 级别的指令: MOV32,注意 赋值的方向
- 需要真正的掌握常用的ARM汇编指令,这样才能理解RTOS的移植