汇编语言简明教程
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前言

汇编语言使用处理器指令编程,是一种底层程序设计语言。本书使用80x86系列处理器的个人计算机、基于DOS/Windows操作系统和MASM汇编程序,学习汇编语言程序设计,形成如下表所示章节。表中内容提要亦是教学重点,体现了本书的逻辑主线。

汇编语言能够直接有效地控制硬件,便于编写代码量小、运行速度快的高效程序,在计算机及相关专业的教学和许多应用场合中具有不可或缺的作用。“汇编语言程序设计”也一直作为专业基础的必修教学内容。然而,随着计算机技术发展和高等教育教学改革,传统的教学理念、手段和方法都需要进步。基于“汇编语言在底层但不低级”的教学理念和“汇编、汇编一定会编”的精神,作者总结十多年课程主讲和教材编写的实践经验编写本书,并形成如下特色。

1. 删繁就简、重点明确的教学内容

汇编语言的教学目的是从软件角度理解计算机硬件工作原理,为相关课程提供基础知识,同时全面认识程序设计语言,体会底层编程特点,以便更好地应用高级语言。所以,本书没有将汇编语言作为一个通用程序设计语言那样展开,没有详尽论述所有处理器指令、全部汇编伪指令,而是选择处理器通用的基本指令和反映汇编语言特色的常用伪指令;没有引出复杂的程序格式、详述程序框架的每个细节,而是侧重指令功能和编程思想、特别介绍相关硬件工作原理。这样一方面能够降低教学难度、易于学生掌握,另一方面使得教学内容更加实用、便于学生实际应用。

2. 贯穿始终、突出实践的教学过程

本书将上机实践贯穿始终,教学内容融入了约80个例题程序和约70个习题程序。第1章在必要的寄存器和存储器知识后,就引出汇编语言开发环境,介绍汇编语言的语句格式、源程序框架和开发方法,并编写具有显示结果的程序。第2章结合数据编码、引出汇编语言的常量定义和变量应用,利用汇编过程生成的列表文件,自然掌握常用伪指令和数据寻址。第3章分类学习处理器基本指令,特别利用DEBUG调试程序直观体会指令功能,同时逐渐编写特定要求的程序片段。第4章以程序结构为主线,编写数值运算、数组处理、字符串操作等程序,同时使用DEBUG调试程序进行可执行程序的调试。第5章围绕二进制、十六进制和十进制数码转换子程序,掌握模块化编程方法。第6章32位编程、第7章Windows编程、第8章混合编程、第9章浮点指令,从不同方面强化程序设计能力。

为方便教学和初学者入门,本书构建了一个简单易用的MASM开发环境(详见本书第1章),无须安装和配置,直接复制就可使用。第2章到第5章还运用DEBUG调试程序,学习程序调试方法。第7章和第8章分别引出了MASM32和Visual C++集成化开发系统,说明使用汇编语言开发32位Windows应用程序和混合编程的方法。

3. 循序渐进、深入浅出的教学原则

为了便于学生理解和掌握,也便于教师实施教学,本书以“循序渐进、难点分散、前后对照”为原则,做到“语言浅显、描述详尽、图表准确”,内容编排具有诸多特色。

例如,本书从简单的16位8086处理器入手,通过前5章掌握基本的,也是最核心的使用指令进行编程的方法,然后从第6章开始才引出相对复杂的32位处理器指令。高级编程技术如宏汇编、条件汇编等随着模块化编程引入,结构变量和 MASM 高级特性等也是随着Windows编程、结合应用展开,直到混合编程、浮点和多媒体指令等相对较为艰深的教学内容。

再如,将处理器指令和汇编伪指令分散于各章教学内容之中,引出列表文件暂时避开调试程序,配合屏幕截图详述DEBUG调试程序的操作过程。完整的程序尽可能具有交互性和趣味性,适当对比高级语言,并揭示底层工作原理、理解问题的来龙去脉。每章都编制丰富的习题,满足课外练习、上机任务和试题组织。

本书由郑州大学信息工程学院钱晓捷老师主编,同时衷心感谢关国利、张青、张行进、穆玲玲等老师多年来的合作和帮助,热诚期待广大师生和读者的反馈。

“大学微机技术系列课程教学辅助网站”(http://www2.zzu.edu.cn/qwfw)提供本书的教学课件(电子教案)、配套软件(含示例源程序文件)等辅助资源。

作 者