嵌入式C语言程序设计基础解读.ppt

嵌入式C语言程序设计基础解读

5.4.1 内嵌汇编指令 (5)标号 C/C++程序中的标号可被内嵌的汇编指令使用。但只有B指令可使用C/C++程序中的标号,指令BL不能使用C/C++程序中的标号。 指令B使用C/C++程序中的标号格式: B{cond} label (6)内存单元的分配 所用的内存单元的分配都是通过C/C++程序完成的,分配的内存单元通过变量供内嵌的汇编器使用。 5.4.1 内嵌汇编指令 (7)SWI和BL指令的使用 内嵌SWI和BL指令中3个可选寄存器列表 ? 第1个寄存器列表中的寄存器用于存放输入的参数。 ? 第2个寄存器列表中的寄存器用于存放返回的参数。 ? 第3个寄存器列表中的寄存器的内容可能被被调用的子程序破坏,即这些寄存器是供被调用的子程序作为工作寄存器。 5.4.1 内嵌汇编指令 3.内嵌的汇编器与armasm的区别 在功能和使用方法上主要有以下特点: ? 不能写PC (mov pc,lr) ? 不支持伪指令LDR Rn,=expression,但可用指令: LDR Rn,expression来代替。 ? 除nop外,不支持ADR、ADRL等伪指令。 ? 指令中的C变量不要与任何物理寄存器重名 ? LDM/STM指令中的寄存器列表只能使用物理寄存器,不能使用C表达式 ? 不支持指令BX/BLX

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档