高级语言与汇编语言的接口技术
1. 引言
大多数程序员不会用汇编语言编写大规模应用程序,因为这太耗时。高级语言能隐藏一些细节,加快项目开发。不过,汇编语言仍广泛用于配置硬件设备,以及优化程序的速度和代码大小。
接下来将聚焦于汇编语言和高级编程语言之间的接口。首先会介绍如何在 C++ 中编写内联汇编代码,然后展示如何将独立的汇编语言模块链接到 C++ 程序,涵盖保护模式和实地址模式的示例,最后会说明如何从汇编语言调用 C 和 C++ 函数。
2. 通用约定
从高级语言调用汇编语言程序时,有几个通用的注意事项:
- 命名约定 :编程语言的命名约定指的是变量和程序命名的规则或特点。例如,需要了解汇编器或编译器是否会更改目标文件中标识符的名称,以及如何更改。
- 段名 :段名必须与高级语言使用的段名兼容。例如,使用 Microsoft 简化段指令 .CODE 、 .STACK 和 .DATA ,因为它们与 Microsoft C++ 编译器生成的段名兼容。
- 内存模型 :程序使用的内存模型(如 tiny、small、compact、medium、large、huge 或 flat)决定了段大小(16 位或 32 位),以及调用和引用是近调用(在同一段内)还是远调用(在不同段之间)。
3. 调用约定
调用约定涉及程序调用的底层细节,需要考虑以下方面:
- 被调用程序必须保留哪些寄存
高级与汇编语言接口技术
超级会员免费看
订阅专栏 解锁全文
2603

被折叠的 条评论
为什么被折叠?



