汇编语言中的命名空间、过程与算术指令详解
1. 命名空间的使用
在导出命名空间中的名称时,应采用一种良好的约定:始终提供一个显式的外部名称,该名称由命名空间标识符、下划线和对象的内部名称连接而成。
虽然命名空间声明不能完全消除命名空间污染问题(毕竟命名空间标识符仍然是全局对象),但它能在很大程度上缓解这一问题。因此,在创建自己的库时,应尽可能使用命名空间。
2. 过程相关内容
2.1 HLA 过程代码查看
HLA 在使用高级语法传递参数时生成的代码示例并不完整。随着时间的推移,HLA 提高了在栈上传递参数时生成代码的质量。若想查看 HLA 为特定参数调用序列生成的代码类型,可按以下步骤操作:
1. 向 HLA 提供 -sourcemode、-h 和 -s 命令行参数。
2. 查看 HLA 生成的相应汇编语言文件(这将是一个伪 HLA 源文件,展示 HLA 生成的底层代码)。
2.2 HLA 过程的其他特性
HLA 支持过程嵌套,即可以在其他过程的声明部分声明一个过程,并使用显示和静态链接来访问封闭过程中的自动变量。此外,HLA 还支持高级参数指针功能。不过,由于这些特性较为高级,很少有汇编语言程序员在程序中使用它们。但在某些特定情况下,这些特性非常有用。当你对过程和汇编语言编程有了一定的了解后,可以在 HLA 文档以及相关电子版本的章节中了解 HLA 嵌套过程的功能。
3. 80x86 整数算术指令
3.1 mul 和 imul 指令
80x86 的乘法指令(mul 和 imul)在指令集上存在不规则性
超级会员免费看
订阅专栏 解锁全文

319

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



