内容简介
汇编语言程序设计的基础知识、实模式下的80x86指令、常用伪指令、源程序格式、程序设计的基本技术、多模块程序设计、输入输出和中断程序设计等。此外,简要介绍了32位保护模式以及Win32汇编语言程序设计的基本方法;以Microsoft Visual C++6.0为背景,介绍了Windows 9X/XP/2000/2003等32位环境下汇编语言与C/C++语言的混合编程以及并发程序设计的基本方法。
本书可作为高等院校计算机及相关专业本科生的教材,也可作为相关人员学习汇编语言的自学参考书。
目录
第1章 基础知识
1.1 认识汇编语言
1.1.1 机器语言
1.1.2 汇编语言
1.1.3 语言
1.1.4 对汇编语言的评价
1.2 数据表示
1.2.1 数据组织
1.2.2 无符号数与带符号数
1.2.3 字符的ASCII表示
1.2.4 BCD
1.2.5 注解
1.3 基本位操作
1.3.1 逻辑操作
1.3.2 移位与循环移位
小结
习题
第2章 80x86计算机系统组织
2.1 80x86计算机的基本结构
2.1.1 CPU
2.1.2 系统总线
2.1.3 内存
2.1.4 I/O子系统
2.2 80x86 CPU的寄存器组
2.3 80x86 CPU的工作模式
2.3.1 实模式
2.3.2 保护模式
2.3.3 虚拟8086模式
2.4 标志位
2.4.1 状态标志
2.4.2 深入认识CF和OF
2.4.3 控制标志
小结
习题
第3章 80x86指令系统
3.1 指令格式
3.1.1 指令的书写格式
3.1.2 操作数的形式
3.2 寻址方式
3.2.1 8086寻址方式
3.2.2 32位CPU扩展寻址方式
3.3 指令系统
3.3.1 数据传送指令
3.3.2 算术指令
3.3.3 位操作指令
3.3.4 控制转移指令
3.3.5 标志处理指令
3.3.6 串操作指令
3.3.7 处理器控制指令
3.4 容易犯的错误
3.5 实例
小结
习题
第4章 汇编语言程序格式
4.1 变量、标号与表达式
4.1.1 数值表达式
4.1.2 变量与标号
4.1.3 地址表达式
4.1.4 地址计数器
4.2 语句格式
4.3 基本伪指令
4.3.1 处理器选择伪指令
4.3.2 段定义伪指令
4.3.3 符号定义伪指令
4.3.4 变量定义伪指令
4 3 5 LABEL
4.3.6 ASSUME
4.3.7 源程序结束伪指令
4.3.8 ORG
4.3.9 对齐伪指令
4.4 操作符
4.4.1 地址操作符
4.4.2 类型操作符
4.5 汇编语言源程序结构
4.5.1 源程序的一般结构
4.5.2 常用的源程序基本框架
4.6 汇编语言程序的开发
4.6.1 开发过程
4.6.2 汇编语言程序的开发环境
4.6.3 汇编器ML
4.6.4 调试器CodeView
小结
习题
第5章 基本控制结构
5.1 顺序结构
5.2 字符与字符串的输入/输出
5.3 分支结构
5.3.1 灵活运用无条件转移指令
5.3.2 双分支结构
5.3.3 多分支结构
5.4 循环结构
5.4.1 循环结构的基本形式
5.4.2 循环程序的控制方法
5.5 串操作
5.5.1 串操作指令的用途
5.5.2 字符串处理
小结
习题
第6章 过程
6.1 过程概述
6.1.1 过程定义
6.1.2 过程调用和返回
6.2 过程的参数传递
6.2.1 用变量传递参数
6.2.2 用寄存器传递参数
6.2.3 用地址表传递参数
6.2.4 用堆栈传递参数
6.2.5 用代码流传递参数
6.3 过程实例
6.4 递归过程
小结
习题
第7章 汇编语言的扩展
7.1 结构
7.1.1 结构类型的定义
7.1.2 结构变量的定义
7.1.3 结构变量及其字段的访问
7.2 宏指令
7.2.1 宏定义、宏调用与宏展开
7.2.2 与宏有关的伪指令
7.2.3 宏操作符
7.2.4 宏指令与过程的区别
7.3 重复块
7.3.1 REPEAT
7.3.2 FOR
7.3.3 FORC
7.4 条件汇编
7.5 多模块程序设计
7.5.1 包含文件
7.5.2 多个模块的连接
7.5.3 段定义的进一步说明
7.5.4 模块间的通信
7.5.5 Make文件
7.5.6 过程库
7.5.7 简化段定义
小结
习题
第8章 输入/输出与中断
8.1 输入/输出
8.1.1 I/O原理
8.1.2 I/O指令
8.2 80x86的中断系统
8.2.1 中断的基本概念
8.2.2 中断指令
8.2.3 中断分类
8.3 D
摘要与插图
第一章 基础知识本章介绍学习汇编语言程序设计所必须具备的基本知识,主要包括汇编语言的基本概念及计算机中数据的表示方法。通过本章的学习,读者应了解什么是汇编语言、汇编语言的特点和意义、数据的组织(字节、字和双字)、带符号数的二进制补码表示、BCD以及基本位操作等。尤其要深刻理解:对于一个二进制数,其具体含义依赖于使用者的解释。
1.1 认识汇编语言
自然语言是具有特定语音和语法等规范的、用于人类表达思想并实现相互交流的工具。人与人之间只有使用同一种语言才能进行直接交流,否则就必须通过翻译。要使计算机为人类服务,人们就必须借助某种工具,告诉计算机“做什么”甚至“怎么做”,这种工具就是程序设计语言。
程序设计语言通常分为3类:机器语言(Machine Language)、汇编语言(AssemblyLanguage)和语言(High Level Language)。其中,前两种语言是与机器密切相关的,统称为低级语言。
1.1.1 机器语言
计算机能直接识别并进行处理的是由0、1组成的二进制代码。因为构成计算机硬件本身的各个部件是基于二值逻辑的,这些部件只能识别0和1两个状态,其功能就是记忆、传输和加工二进制信息0或1。计算机的工作就是传输和处理二进制信息的过程。
1.机器指令
机器指令是指用二进制编码的指令,以指示计算机所要进行的操作及操作对象(数据或数据地址)。每条机器指令控制计算机完成一个操作。机器指令由指令译码器识别,并经过一定的时钟周期付诸实现,从而完成指令所规定的操作。
机器指令一般由操作码(Opcode)和操作数(Operand)构成。操作码指出指令所要执行的操作,如加、减、乘、除和传送等。操作数指出操作的数据对象。





