第六章 C汇编混合编程.pptVIP

  • 5
  • 0
  • 约3.91千字
  • 约 19页
  • 2017-08-24 发布于河南
  • 举报
* * * * * * 中国十大品牌IT教育机构 C和汇编语言混合编程 第六章 C与汇编语言混合编程 ATPCS介绍 内嵌汇编 C和ARM汇编程序间相互调用 ATPCS介绍 ATPCS(ARM-Thumb Produce Call Standard)是ARM程序和Thumb程序中子程序调用的基本规则,目的是为了使单独编译的C语言程序和汇编程序之间能够相互调用。这些基本规则包括子程序调用过程中寄存器的使用规则、数据栈的使用规则和参数的传递规则。 2.1 寄存器 ARM/Thumb指令集编程时共有16个32位通用寄存器可见,在汇编中表示为r0~r15或R0~R15。在过程调用标准中,每个寄存器都有其特定的角色。 寄存器的特定角色 寄存器编号 可选寄存器名 特殊寄存器名 寄存器用法 R0 a1 函数调用时的参数寄存器,用来存放前4个函数参数并存放返回值。在函数内如果将这些寄存器用作其他用途,将破坏其值。 R1 a2 R2 a3 R3 a4 R4 v1 通用变量寄存器 R5 v2 R6 v3 R7 v4 R8 v5 R9 v6或SB或 TR 平台寄存器,不同的平台对该寄存器的定义不同 R10 v7 通用变量寄存器。在使用堆栈边界检测的情况下,r10保存堆栈边界地址 R11 v8 通用变量寄存器 R12 IP 临时过渡寄存器,函数调用时会破坏其值 R13 SP 堆栈指针 R14

文档评论(0)

1亿VIP精品文档

相关文档