80x86汇编语言程序设计
2008-4
王成耀 人民邮电出版社 (2008-04出版)
王成耀
285
无
汇编语言程序设计的基础知识、实模式下的80x86指令、常用伪指令、源程序格式、程序设计的基本技术、多模块程序设计、输入输出和中断程序设计等。此外,简要介绍了32位保护模式以及Win32汇编语言程序设计的基本方法;以Microsoft Visual C++6.0为背景,介绍了Windows 9X/XP/2000/2003等32位环境下汇编语言与C/C++语言的混合编程以及并发程序设计的基本方法。 本书可作为高等院校计算机及相关专业本科生的教材,也可作为相关人员学习汇编语言的自学参考书。
王成耀,男,1966年10月出生,山西人,汉族。目前任职:信息工程学院计算机系系主任教育经历:1987年获北京科技大学计算机应用专业学士学位。1990年获北京科技大学计算机应用专业硕士学位。自1990年参加工作以来,一直从事计算机专业的教学与科研工作,现任北京科技大学信息工程学院计算机系教授。
第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 BCD1.2.5 注解1.3 基本位操作1.3.1 逻辑操作1.3.2 移位与循环移位小结习题第2章 80x86计算机系统组织2.1 80x86计算机的基本结构2.1.1 CPU2.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和OF2.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 LABEL4.3.6 ASSUME4.3.7 源程序结束伪指令4.3.8 ORG4.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 汇编器ML4.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 REPEAT7.3.2 FOR7.3.3 FORC7.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 DOS与BIOS服务8.3. DOS系统调用8.3.2 BIOS服务8.4 DOS环境下的可执行程序8.4.1 程序段前缀(PSP)8.4.2 .exe文件与.com文件8.4.3 程序结束的另一种方法8.5 中断服务程序设计8.5.1 中断服务程序设计的基本方法8.5.2 驻留程序设计8.5.3 键盘程序设计小结习题第9章 win32汇编语言编程初步9.1 32位保护模式9.1.1 基本概念9.1.2 内存寻址机制9.1.3 指令在实模式与32位保护模式下的差异9.2 Win32编程基础9.2.1 开发工具9.2.2 Win32 API9.2.3 源程序的基本结构9.2.4 应用实例小结习题第10章 汇编语言编程高级主题10.1 汇编语言与C/C++语言的混合编程10.1.1 嵌入汇编语言10.1.2 C/C++程序调用汇编语言过程10.2 并发程序设计10.2.1 程序的顺序执行10.2.2 程序的并发执行10.2.3 进程(或线程)同步的概念10.2.4 互斥的实现方法10.2.5 信号量小结习题附录附录1 标准ASCII字符集附录2 80x86指令系统附录3 调试器DEBUG附录4 Windows 104键键盘扫描码索引参考文献
第一章 基础知识本章介绍学习汇编语言程序设计所必须具备的基本知识,主要包括汇编语言的基本概念及计算机中数据的表示方法。通过本章的学习,读者应了解什么是汇编语言、汇编语言的特点和意义、数据的组织(字节、字和双字)、带符号数的二进制补码表示、BCD以及基本位操作等。尤其要深刻理解:对于一个二进制数,其具体含义依赖于使用者的解释。1.1 认识汇编语言自然语言是具有特定语音和语法等规范的、用于人类表达思想并实现相互交流的工具。人与人之间只有使用同一种语言才能进行直接交流,否则就必须通过翻译。要使计算机为人类服务,人们就必须借助某种工具,告诉计算机“做什么”甚至“怎么做”,这种工具就是程序设计语言。程序设计语言通常分为3类:机器语言(Machine Language)、汇编语言(AssemblyLanguage)和高级语言(High Level Language)。其中,前两种语言是与机器密切相关的,统称为低级语言。1.1.1 机器语言计算机能直接识别并进行处理的是由0、1组成的二进制代码。因为构成计算机硬件本身的各个部件是基于二值逻辑的,这些部件只能识别0和1两个状态,其功能就是记忆、传输和加工二进制信息0或1。计算机的工作就是传输和处理二进制信息的过程。1.机器指令机器指令是指用二进制编码的指令,以指示计算机所要进行的操作及操作对象(数据或数据地址)。每条机器指令控制计算机完成一个操作。机器指令由指令译码器识别,并经过一定的时钟周期付诸实现,从而完成指令所规定的操作。机器指令一般由操作码(Opcode)和操作数(Operand)构成。操作码指出指令所要执行的操作,如加、减、乘、除和传送等。操作数指出操作的数据对象。
《21世纪高等学校计算机规划教材•80x86 汇编语言程序设计(第2版)》可作为高等院校计算机及相关专业本科生的教材,也可作为相关人员学习汇编语言的自学参考书。
无
对于初学者来说讲的很清晰,不错
书应该是正版的~整体感觉还行