《汇编程序设计与计算机体系结构:软件工程师教程》 —3.4 写出能够正常运行的范例程序
3.4 写出能够正常运行的范例程序
你必须先掌握这一章所讲的基础知识才能很好地理解后续各章,因此,尽管第 4 章与第 5 章会详细解释各条指令,但你在看那两章之前还是应该先写出一个可以正常运行的汇编程序,以便总结本章的这些基础知识。程序 3-2 就是这样的一个例子,笔者针对 3 种汇编器分别提供了 3 个版本。其中GAS 版本的代码包含完整的注释,而 MASM 与 NASM 版本则只有代码没有注释。你可以从 https://github.com/brianrhall/Assembly 下载代码,其中的 3 个版本都带有完整的注释。
学习指南:用你喜欢的开发环境编写下面这段范例代码,并确保它能够顺利运行。然后,故意制造一些语法错误,看看系统会给出怎样的提示。开发者常犯的错误有:拼错变量名,用尺寸不合的数据操作变量与寄存器,或是忘记在适当的地方写上冒号。你要通过实验来了解这些错误会引发什么样的错误信息,这样以后再遇到类似的信息时就能够知道代码错在哪里了。
程序 3-2 一个可以正常运行的范例程序
编程知识:程序 3-2 演示了怎样在 32 位的环境(32 位的 Mac 程序、Windows 程序以及用 NASM 汇编器开发的 Linux 程序)中适当地终止或者说退出汇编程序。在其他的环境(例如用 GAS 汇编器开发的 32 位 Linux 程序,以及各种 64 位环境)中,可能需要改用另一套例行的流程来退出程序。本书附录 A列出了用 GAS、NASM 及 MASM 这 3 种汇编器开发 32 位及 64 位程序时所需遵循的退出流程。至于怎样通过系统调用来执行这套流程,则会在第 10 章讲解。
- 点赞
- 收藏
- 关注作者
评论(0)