百道网
 您现在的位置:图书 > 汇编语言程序设计(高等学校应用型特色规划教材)
汇编语言程序设计(高等学校应用型特色规划教材)


汇编语言程序设计(高等学校应用型特色规划教材)

作  者:朱耀庭 主编

出 版 社:清华大学出版社

丛 书:高等学校应用型特色规划教材

出版时间:2009年06月

定  价:35.00

I S B N :9787302202967

所属分类: 教育学习  >  教材  >  研究生/本科/专科教材  专业科技  >  计算机/网络  >  软件应用与开发    

标  签:

[查看微博评论]

分享到:

TOP内容简介

本书针对80×86微处理器,详细论述了汇编语言程序设计的方法。其主要内容包括:计算机巾数的表示,bit在数字化信息时代的地位,从学习高级语言到学习汇编语言思维模式的转变,PC机引导机制,8086/8088的指令系统,汇编语言程序设计的基本方法,DOS和BIOS内部功能的调用方法,I/O设备端口编程方法,典型巾断处理程序设计,保护模式下的WIN32汇编语言程序设计初步,以及汇编语言程序的各种调试手段等。
全书贯穿学以致用的指导原则,注重实例教学,通过大量实例引导读者由易到难一步步掌握汇编语言程序设计的核心技术。无论是初学者还是专业人士,都可以从中得到启迪,熟习并且掌握汇编语言程序设计的方法。
本书是计算机及其相关号业本科生“汇编语言程序设计”课程的教材,特别适合应用型本科使用,也是研究生和各行各业计算机工作人员自学汇编语言程序设计的重要参考书。

TOP作者简介

朱耀庭,男,1944年生,1969年毕业于南开大学数学专业。现任南开大学信息学院计算机科学与技术系教授、博士生导师。南开大学滨海学院计算机科学系系主任。主要研究方向:多媒体技术,应用软件开发。主要讲授课程:多媒体技术,汇编语言程序设计,C语言程序设计,计算机图形学等。

TOP目录

第1章 预备知识 1
1.1 计算机语言 1
1.1.1 面向机器的语言 1
1.1.2 非面向机器的计算机语言 5
1.1.3 学习汇编语言的意义 6
1.2 思维方式的转变 6
1.2.1 从设计师到设计师兼建筑师 7
1.2.2 冯·诺依曼计算机的设计思想 7
1.2.3 从高级语言的局限性看汇编语言 9
1.2.4 汇编语言的主要特性 10
1.3 计算机中数的表示 11
1.3.1 数的表示 12
1.3.2 数制转换 14
1.3.3 ASCII码 15
1.3.4 数的补码表示 16
1.3.5 二进制编码的十进制数BCD码(Binary-CodedDecimal) 19
1.3.6 IEEE浮点数 20
1.3.7 从不同角度来看待一个二进制数 23
习题 23

第2章 80x86实模式汇编的运行环境 25
2.1 DOS下Edit的使用 25
2.1.1 汇编源程序文件的编辑及相关知识 25
2.1.2 用Edit编辑汇编源程序 25
2.2 Debug调试汇编程序 29
2.2.1 用Debug运行汇编语言程序 29
2.2.2 典型Debug命令剖析 31
2.2.3 Debug命令综述 34
2.3 Emu8086的使用 40
2.3.1 Emu8086简介 40
2.3.2 Emu8086的安装及使用 41
2.3.3 Emu8086显示模拟 41
2.3.4 Emu8086应用实例 41
2.4 用MASM(或ASM)运行汇编语言程序 44
2.4.1 MASM汇编语言程序的调试步骤 44
2.4.2 MASM典型实例 45
2.5 Windows下虚拟DOS运行环境的搭建 50
习题 51

第3章 PC引导机制 53
3.1 加电自检POST操作 53
3.2 操作系统的加载 55
3.3 嵌入式系统与汇编语言 57
习题 58

第4章 8086微处理器及其寻址方式 59
4.1 8086CPU的基本逻辑结构 59
4.1.1 8086基本功能结构 59
4.1.2 理解并运用基本逻辑结构图 60
4.1.3 8086CPU的运行特点 61
4.1.4 执行程序的步骤 61
4.1.5 指令与数据 62
4.2 8086寄存器组 63
4.2.1 通用寄存器 64
4.2.2 段寄存器 65
4.2.3 控制寄存器 65
4.3 8086的存储器分段结构 66
4.3.1 8086的存储器分段 66
4.3.2 段寄存器的引用 70
4.4 堆栈 71
4.4.1 什么是栈 71
4.4.2 8086的栈机制 71
4.5 寻址方式 74
4.5.1 汇编指令的书写形式 74
4.5.2 三种类型的操作数 75
4.5.3 寻址规则 77
习题 83

第5章 汇编语言程序设计基础 85
5.1 源程序的书写格式 85
5.1.1 简化段定义格式 85
5.1.2 完整段定义格式 90
5.2 汇编语言的语句 95
5.3 汇编语言的数据组织及其访问 98
5.4 汇编语言程序正常结束的方式 103
5.5 指令简介 104
习题 109

第6章 数据传送与顺序程序设计 111
6.1 MOV指令与顺序程序设计 111
6.2 堆栈操作 118
6.3 数据交换指令 121
6.4 查表转换指令 124
6.5 地址目标传送指令 127
6.6 标志位传送指令 129
6.7 端口输入/输出指令 131
6.8 顺序程序设计 133
习题 133

第7章 算术运算指令与程序设计 135
7.1 算术运算和逻辑运算对标志寄存器的影响 135
7.2 算术运算的数据格式 138
7.3 二进制数加减运算 139
7.3.1 二进制数加法 139
7.3.2 二进制数减法 143
7.3.3 二进制数加减运算的有效性 145
7.4 无符号二进制数乘除运算 146
7.5 带符号二进制数乘除运算 151
7.5.1 带符号二进制数乘法运算指令 151
7.5.2 带符号二进制数除法运算指令 153
7.6 非压缩型BCD码运算 155
7.6.1 非压缩型BCD码加法运算 155
7.6.2 非压缩型BCD码减法运算 158
7.6.3 非压缩型BCD码乘法运算 158
7.6.4 非压缩型BCD码除法运算 161
7.7 压缩型BCD码加减运算 162
7.7.1 压缩型BCD码加法运算 162
7.7.2 压缩型BCD码减法运算 165
习题 166

第8章 逻辑运算 168
8.1 逻辑运算指令 168
8.2 移位指令 170
8.3 循环移位指令 175
8.4 逻辑运算指令应用 177
8.4.1 BCD码的输入/输出 177
8.4.2 二进制数的输入/输出 181
习题 184

第9章 分支程序与循环程序设计 186
9.1 分支 186
9.1.1 标号 186
9.1.2 无条件转移指令 188
9.1.3 条件转移 195
9.2 程序设计流程图 198
9.3 循环程序设计 200
9.3.1 循环控制指令 200
9.3.2 单重循环 204
9.3.3 多重循环 207
习题 212

第10章 串操作指令与程序设计 214
10.1 字符串操作综述 214
10.2 字符串操作指令 219
10.3 串操作指令的重复前缀 227
习题 228

第11章 过程 230
11.1 过程的定义与说明 230
11.2 过程调用 232
11.3 过程的返回 238
11.4 模块间的调用和转移 238
11.5 寄存器的保护和恢复 242
11.6 调用程序与被调用过程之间的数据传送 244
11.7 递归 246
11.8 C语言调用汇编过程 248
习题 250

第12章 高级汇编语言技术 252
12.1 结构 252
12.2 联合 260
12.3 记录 262
12.4 宏 269
习题 273

第13章 中断及中断处理程序 276
13.1 中断及中断相关概念 276
13.1.1 中断的基本概念 276
13.1.2 中断向量表 276
13.1.3 中断源及中断源的识别 278
13.1.4 中断的分类 279
13.1.5 中断处理机制 281
13.1.6 CPU响应中断的条件 282
13.1.7 中断的优先级 282
13.1.8 中断嵌套 283
13.2 软件中断 284
13.2.1 软件中断的处理过程 284
13.2.2 软件中断的分类 285
13.2.3 软件中断的访问 287
13.3 DOS中断服务 288
13.3.1 DOS中断服务的概念 288
13.3.2 常用的DOS中断 288
13.4 BIOS中断服务 290
13.4.1 BIOS的概念 290
13.4.2 BIOS中断服务的概念 290
13.4.3 常见的BIOS中断 290
13.5 DOS和BIOS功能调用实例 291
13.6 典型的中断处理程序实例 306
13.6.1 中断处理程序的编程原则 306
13.6.2 读取和设置中断向量 306
习题 311

第14章 端口输入/输出与外设编程 314
14.1 端口 314
14.2 8259A、8253和8255典型芯片编程 316
14.2.1 8259A芯片编程 316
14.2.2 8255编程 319
14.2.3 8253编程 322
14.3 其他芯片编程 325
14.4 综合实例 328
习题 335

第15章 32位80x86汇编 336
15.1 80386系统结构及内存寻址 336
15.1.1 80386CPU的逻辑结构 337
15.1.2 80386CPU的工作模式 343
15.1.3 80386CPU内存寻址 344
15.1.4 80386CPU内存分页机制 346
15.2 WIN32汇编开发环境 349
15.2.1 MASM32配置与使用 350
15.2.2 32位调试程序TD32 352
15.3 WIN32汇编实践 353
15.3.1 WIN32汇编语言程序
结构 354
15.3.2 启蒙实例——“Hello,World!” 358
15.3.3 嵌入式汇编实例——?高精度定时 363
15.3.4 综合实例——?图形化时钟 367
习题 375
附录AASCII表 377
附录B调试程序DEBUG简介 380
附录C键盘扫描码set1 386
参考文献 388

TOP书摘

插图:


第1章 预备知识
汇编语言与高级语言不同,它是面向机器的语言。学习汇编语言必须了解计算机中机器指令、数据、符号的表示形式和存储格式以及机器指令程序的运行方式等。而这些又都与现代计算机的基本工作原理,即冯·诺依曼原理有关。本章将详细介绍上述内容。希望读者通过本章的学习,能够深入了解二进制数在计算机中的重要地位,掌握汇编语言与高级语言及机器语言的联系和区别。
1.1 计算机语言
从电子计算机的诞生至今,已经有成百上千种计算机语言面世。然而只有一种计算机语言程序能够在计算机上直接执行,那就是机器语言。除机器语言以外的任何一种计算机语言程序,只有经过翻译变成机器语言程序后才能够在计算机上直接执行。机器语言具有任何其他语言无法代替的特点,因此任何一个想真正了解计算机底层工作原理的人,任何一个想真正驾驭计算机的人,任何一个想对计算机设计进行改进或有所创新的人,都必须了解和掌握机器语言。机器语言通过代码表示一个个的机器指令,掌握起来相当困难。汇编语言则用助记符表示机器指令,记忆起来相对方便。因此掌握了汇编语言就等于掌握了机器语言。
1.1.1 面向机器的语言
计算机语言有多种分类方法,按照是否面向机器可以分成面向机器的语言和非面向机器的语言。面向机器的语言又分为机器语言和汇编语言,这种语言也称作计算机低级语言。其他计算机语言均为非面向机器的语言。非面向机器的语言又有多种分类方法,按照翻译方式可以分成编译型语言和解释型语言;按照其用途又可以分成各种用途的语言,例如数据库管理语言、算法语言、人工智能语言等;相对于低级语言,又可以分成高级语言、中级语言;按照程序设计方法又可以分成结构型语言、面向对象语言等。

TOP 其它信息

装  帧:平装

页  数:387

版  次:1

开  本:16开

正文语种:中文

加载页面用时:46.8539