本书采用浅显、明晰、循序渐进的描述方法,具有前后对照、贯穿始终的风格。计算机硬件技术发展速度很快,但是最根本的知识还是不变的。本书立足于基础,重点介绍汇编语言中最基本的Intel 80x86系列微处理器的知识、实模式汇编语言程序设计;同时对Windows环境下保护模式下汇编语言程序设计也作了介绍。每章尽量做到叙述清晰简洁,还举出有代表性的例子供读者参考,为了便于读者理解,在程序的关键地方给以注释。每章后还配有一定的习题,供读者加深对知识的理解和锻炼实际运用能力。
本书适合本、专科计算机科学与技术专业及相关专业学生学习汇编语言使用。
本书编写参照国内高校“汇编语言程序设计”课程的本、专科教学大纲,并兼顾了相关专业教学要求。第1章主要介绍学习汇编语言程序设计所需要的基本知识,包括微型计算机系统的软硬件组成和数据表示方式,也简要介绍了汇编语言的特点。第2章详尽介绍了80x86及Pentium微处理器的结构和存储器管理;第3章介绍了微型机的寻址方式和指令系统。第4章本章主要介绍了汇编语言的语句格式、伪指令、汇编语言的源程序结构及汇编语言的上机过程等内容。第5章结合具体实例,介绍了使用顺序结构、分支结构和循环结构设计汇编语言程序的基本方法,三种基本结构的结合可以设计出功能强大的汇编语言源程序。第6章主要介绍了子程序的定义、特性、子程序的调用和返回指令、子程序的结构形式、子程序的参数传递方法、嵌套子程序、递归子程序等内容,并给出了一些比较综合的例子。第7章介绍了三种高级汇编语言技术——宏汇编、重复汇编和条件汇编。第8章介绍了实模式下中断服务程序和输入输出程序的设计方法,还介绍了磁盘文件的存取方法。第9章主要介绍了汇编语言和高级语言的混合编程。第10章介绍了在设计大型程序时,通常要用到的模块化设计方法,模块化程序设计方法不仅可以提高程序开发的并行性,而且使设计出来的程序可维护性与可读性强。
第1章 基础知识
1.1 计算机概述
1.1.1 什么是电子计算机
1.1.2 电子计算机的发展
1.1.3 计算机的特点、分类与应用
1.2 数制与编码
1.2.1 数制及其相互转换
1.2.2 不同数制之间的转换
1.2.3 计算机中数据的单位
1.2.4 计算机中数据的表示
1.3 微型计算机系统的基本组成
1.3.1 计算机的硬件系统
1.3.2 计算机的软件系统
1.3.3 微型计算机的主要技术指标
1.4 汇编语言的特点
1.4.1 程序设计语言
1.4.2 汇编语言的特点
1.4.3 汇编语言使用的场合
小结
习题一
第2章 微处理器的组织结构
2.1 基本概念
2.1.1 指令执行周期
2.1.2 内存的读取
2.2 80x86和Pentium微处理器简介
2.2.1 80x86和Pentium微处理器的结构
2.2.2 IA-32三种运行模式
2.3 80x86和Pentium微处理器的寄存器结构
2.3.1 通用寄存器
2.3.2 指针及变址寄存器
2.3.3 段寄存器
2.3.4 控制寄存器
2.4 存储器
2.4.1 基本概念
2.4.2 存储器分段管理
2.4.3 实模式存储器寻址
2.4.4 保护模式存储器寻址
2.5 PC操作系统的发展
2.5.1 MS-DOS
2.5.2 桌面Windows系统
2.5.3 Windows NT系列
2.5.4 红旗IJnux
2.6 DOS内存布局
小结
习题二
第3章 微型机寻址方式与指令系统
3.1 微型机的寻址方式
3.1.1 数据寻址方式
3.1.2 程序存储器寻址方式
3.2 微型机的指令系统
3.2.1 数据传送指令
3.2.2 算术运算指令
3.2.3 十进制算术运算指令
3.2.4 逻辑指令
3.2.5 串处理指令
3.2.6 处理机控制指令
小结
习题三
第4章 汇编语言程序结构
4.1 汇编语言语句格式
4.1.1 语句类型
4.1.2 语句格式
4.2 汇编语言文件结构
4.2.1 典型的.exe文件结构
4.2.2 典型的.com文件结构
4.3 伪指令
4.3.1 符号定义伪指令
4.3.2 数据定义伪指令
4.3.3 段定义伪指令
4.3.4 简化段定义伪指令
4.3.5 程序开始结束伪指令
4.3.6 指令集选择伪指令
4.3.7 过程定义伪指令
4.4 汇编语言源程序结构
4.4.1 完整段定义结构
4.4.2 简化段定义结构
4.4.3 程序段前缀结构
4.5 汇编语言程序上机过程
4.5.1 概述
4.5.2 建立汇编语言的工作环境
4.5.3 .exe文件上机过程
4.5.4 .com文件上机过程
小结
习题四
第5章 基本结构程序设计
5.1 顺序结构程序设计
5.2 分支结构程序设计
5.2.1 转移指令
5.2.2 简单分支程序设计
5.2.3 多分支程序设计
5.3 循环结构程序设计
5.3.1 循环指令
5.3.2 简单循环程序设计
5.3.3 多重循环程序设计
小结
习题五
第6章 子程序结构
6.1 子程序的设计方法
6.1.1 子程序的定义
6.1.2 子程序的调用
6.1.3 返回命令
6.1.4 保存与恢复寄存器
6.1.5 子程序设计中的参数传送
6.2 嵌套与递归子程序
6.2.1 子程序的嵌套
6.2.2 递归子程序
6.3 子程序设计举例
小结
习题六
第7章 高级汇编语言技术
7.1 宏汇编
7.1.1 宏定义、宏调用和宏展开
7.1.2 宏操作符
7.1.3 LOCAL伪指令
7.1.4 宏嵌套
7.1. 5宏库的使用
7.2 重复汇编
7.3 条件汇编
小结
习题七
第8章中断与输入输出
8.1 中断
8.1.1 中断概述
8.1.2 中断分类
8.1.3 中断向量袁
8.1.4 B1OS中断及中断调用
8.1.5 DOS功能调用概述
8.1.6 基本I/O功能调用
8.1.7 中断处理程序的编写
8.1.8 中断程序设计举例
8.2 磁盘文件存取技术
8.2.1 磁盘的记录方式
8.2.2 文件控制块(FCB)的磁盘存取方式
8.2.3 标号磁盘存取方式
8.3 输入输出程序设计
8.3.1 I/O指令
8.3.2 程序查询控制方式
8.3.3 程序中断方式
8.3.4 直接存储器访问(DMA)方式
8.3.5 通道传输方式
小结
习题八
第9章 汇编语言与高级语言的混合编程
9.1 调用协议
9.1.1 入口参数传递规则
9.1.2 返回值传递规则
9.1.3 寄存器保护规则
9.2 与C语言的接口
9.2.1 模块连接法
9.2.2 伪变量法
9.2.3 嵌入式汇编法
9.3 32位环境下与C/C++接口
9.3.1 嵌入式汇编法
9.3.2 C/C++程序调用汇编语言过程
小结
习题九
第10章 模块化程序设计
10.1 模块化程序设计
10.1.1 模块化程序设计步骤
10.1.2 结构化程序设计
10.2 各模块间参数传递的方法
10.2.1 常用伪指令
10.2.2 模块之间的通信
10.3 模块连接举例
10.3.1 模块程序设计上机步骤
10.3.2 模块连接
小结
习题十
参考文献
附录A ASCII码表
附录B 动态调试程序DEBUG
附录C INT 21H常用DOS功能调用中断
附录D BIOS中断调用
附录E 8088/8086指令系统表
附录F 伪操作表