图书前言

“汇编语言程序设计”是工科专业的一门重要的计算机技术基础课程和必修的专业基础课。在众多的程序设计语言中,汇编语言是面向机器的低级语言。由于汇编语言可以直接对硬件资源进行编程,因而汇编语言具有更高的执行效率。与高级语言相比,它更适合于对执行速度和代码长度要求较高的场合。

在DOS时代,学好汇编语言似乎是天经地义的事,是和计算机打交道必不可少的手段。如何管理内存,如何驱动不同的打印机,如何管理外存,如何编写高效的计算机应用程序,这些都是程序员要用到的。随着Windows时代的到来,汇编语言好像失去了生存的意义。Windows像一间密不透风的房子,把人们与计算机硬件隔离开来,几乎所有接近计算机底部的东西,都被Windows封装到它的内核里了。很多学生发出这样的疑问: 还需要汇编语言吗?或者仅仅为了熟悉操作系统、计算机接口技术、计算机系统结构和编译原理等课程而学习它?答案是否定的。且不说还有很多需要深入计算机底层硬件进行编程的领域,比如单片机应用、嵌入式系统的应用以及计算机控制应用等直接进行实时控制及与硬件资源紧密结合的领域,汇编语言编程和应用原理是其最基本的知识及技能基础;也不说在信息安全、病毒防范的具体细节上少不了用它,即使编写大型的应用程序,汇编语言也是功能强大的。基于Windows,应用Win32汇编,不但可以和C、C++语言一样,调用API接口,还能最灵活地使用各种系统功能。因此在Windows时代,汇编语言同样是必备的知识和技能基础。

“汇编语言程序设计”是一门实践性极强的课程,程序设计如何,是否达到要求,必须通过上机运行和调试,仅靠理论上钻研是不可能完全掌握好的。要具备实验条件不难,可以说有计算机就能进行学习实践。然而如何在具体学习实践中,熟练掌握程序改错、上机调试等基本操作,如何一步步深入编程,由单模块调试到多模块调试,由基本程序设计到综合性的复杂程序设计,往往是实践上的难点。现代教育理论告诉我们,通过构建良好的学习情景,激发学习者主动探索,主动进行知识的意义建构,有可能实现高效的学习。也就是说,让我们从干中学,边学边练。

本书尝试一种新的书写方式,将书本指导和计算机辅助教学软件紧密结合起来,利用作者编著的一种新颖实用的CAI软件,独创一种以学为主,边学边练的计算机软件学习模式,引导学生快速掌握汇编语言程序设计上机操作,掌握基本程序设计实验,进而自主进行综合性设计实验。它将是读者学习汇编语言程序设计的良师益友。

本书针对全国绝大部分高校工科类专业课程“汇编语言程序设计”及“微机原理与汇编语言程序设计”教学大纲和普遍采用的汇编语言程序设计教材而编写的专用于汇编语言程序设计实验实训课程的通用性教材。

全书共分7章。第1章和第2章是实验预备知识,首先通过一个典型实例引导学生熟悉汇编语言程序上机编辑、编译、改错、连接及调试运行的全过程,为学生进行实际实验打下基础。学生在实验中还可以从这两章进一步学习有关的实用程序乃至一些辅助程序的使用和操作。第3章和第4章是汇编语言程序设计实验内容,它包括8个基本实验和7个综合性设计实验,涵盖了一般汇编语言程序设计和微机原理教学中所要求做的所有实验。实验内容丰富,伸缩性大,便于教师教学选择和学生实验参考。第5章为常见汇编语言程序设计上机错误及其修改,分类列出了出错信息、出错原因分析及修正方法。第6章安排了大量实验练习题,并列出习题答案及分析。第7章提供了所有实验程序的清单,供读者实验编程参考。12个附录列出了大量有关的学习资源。

全书由蔡启先策划并统稿。由蔡启先、王智文和黄晓璐编著。