第八章 体系结构对高级语言的支持.pptVIP

  • 7
  • 0
  • 约7.96千字
  • 约 54页
  • 2019-10-13 发布于山东
  • 举报
ATPCS 派生出来的ATPCS 为适应一些特定的需要,对这些基本的调用规则进行一些修改得到几种不同的子程序调用规则。这些特定的调用规则包括: 支持数据栈限制检查的ATPCS 支持只读段位置无关(ROPl)的ATPCS 支持可读写段位置无关(RWPl)的ATPCS 支持ARM程序和THUMB程序混合使用的ATPCS 处理浮点运算的ATPCS ATPCS 有调用关系的所有子程序必须遵守同一种ATPCS。编译器或者汇编器在ELF格式的目标文件中设置相应的属性,标识用户选定的ATPCS类型 对应于不同类型的ATPCS规则有相应的C语言库,连接器根据用户指定的ATPCS类型连接相应的C语言库 使用C语言编泽器编译的C语言子程序满足用户指定的ATPCS类型 而对于汇编语言程序来说,完全要依赖用户来保证各子程序满足选定的ATPCS类型 ATPCS 汇编语言子程序必须满足下面3个条件: 在子程序编写时必须遵守相应的ATPCS规则 数据栈的使用要遵守相应的ATPCS规则 在汇编编译器中使用—ATPCS选项 ATPCS 相对于派生的ATPCS,满足基本ATPCS程序的执行速度更快,所占用的内存更少。但是不能提供以下的支持: ARM程序和Thumb程序相互调用 数据以及代码的位置无关的支持 子程序的可重入性 数据栈检查的支持 而派生的其他几种特定的ATPCS就是在基本ATPCS的基础上再添加其他的规

文档评论(0)

1亿VIP精品文档

相关文档