前言

  • 移植基于ARM平台的RTOS时,需要掌握一些基本的汇编指令,只有熟悉了这些ARM 的汇编指令,才能真正的掌握RTOS的移植方法
  • MOV32 指令,字面意思是 MOVE 一个 32位 值的意思,具体语法如下

MOV32 用法

  • 查看 ARM 官方的汇编手册,可以了解 MOV32 指令的用法,这是一个汇编【伪指令】
  • 作用:把一个32的【立即数】或32位的【地址】,注意是地址,不是【地址中的内容】,加载到 寄存器,类似于给指定寄存器 【赋值】

ARM 汇编指令 MOV32用法_汇编

用法举例

  • ​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的移植