讲稿_07 汇编程序设计下.pptVIP

  • 0
  • 0
  • 约4千字
  • 约 19页
  • 2018-07-08 发布于湖北
  • 举报
ATPCS 为了使单独编译的c语言程序和汇编程序之间能够相互调用,必须为于程序间的调用规定一定的规则。ATPCS就是ARM程序和Thumb程序中子程序调用的基本规则。 ATPCS规定了一些子程序间调用的基本规则。这些基本规则包括子程序调用过程中寄存器的使用规则,数据栈的使用规则,参数的传递规则。 为适应一些特定的需要,对这些基本的调用规则进行一些修改得到几种不同的子程序调用规则。这些特定的调用规则包括: 支持数据栈限制检查的ATPCS。 支持只读段位置无关(ROPl)的ATPCS。 支持可读写段位置无关(RWPl)的ATPCS。 支持ARM程序和Thumb程序混合使用的ATPCS。 处理浮点运算的ATPCS。 有调用关系的所有子程序必须遵守同一·种ATPCS。编译器或者汇编器在ELF格式的目标文件中设置相应的属性,标识用户选定的ATPCS类型。 对应于不同类型的ATPCS规则,有相应的c语言库,连接器根据用户指定的ATPCS类型连接相应的c语言库。 使用C语言编泽器编译的C语言子程序满足用户指定的ATPCS类型.而对于汇编语言程序来说,完全要依赖用户来保证各子程序满足选定的ATPCS类型。具体来说,汇编语言子程序必须满足下面3个条件: 在于程序编写时必须遵守相应的ATPCS规则。 数据栈的使用要遵守相应的ATPCS规则. 在汇编编译器中使甩—atpcs选项。 基本ATPCS 基

文档评论(0)

1亿VIP精品文档

相关文档