《汇编语言程序设计及应用》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:王保恒等编著
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2010
  • ISBN:9787040288377
  • 页数:524 页
图书介绍:本书是普通高等教育“十一五”国家级规划教材。全书由基础篇和应用篇组成,全面系统地阐述汇编语言程序设计及应用。其中,基础篇简单介绍80x86系列微机的硬件和四种工作模式,详细介绍80x86通用指令集实模式下可用的指令,并以MASM 6.x为蓝本,详细讲述汇编源程序的结构和伪指令,深入讨论分支、循环和子程序等基本汇编程序设计技术和宏指令、条件汇编、重复汇编等高级汇编程序技术。应用篇介绍保护模式的有关概念、80X86微处理器与保护模式有关的硬件及专用的指令,系统说明设计保护模式下的程序所需的数据结构和如何实现保护模式下的程序设计,介绍80X86微处理器FPU的硬件、阐述浮点指令集及程序设计方法,阐明汇编语言和高级语言混合编程的各种约定规则与实现方法,介绍三个多媒体指令集MMX、SSE和SSE2及其编程技术,较详细讨论Win32环境下的汇编语言程序设计方法。本书内容丰富、系统全面的涵盖了汇编语言程序设计的各个方面。可作为高校计算机及相关专业汇编程序设计课程教材,也可供信息类各专业学生、自考学生和计算机应用开发人员和深入学习微机应用技术的读者参考使用。

上篇 基础篇 3

第一章 80x86系列微机结构组成 3

1.1 80x86系列微处理器结构 3

1.1.1 8086 CPU 7

1.1.2 80386 CPU 8

1.1.3 80486 CPU 9

1.1.4 Pentium微处理器 9

1.2 80x86系列微处理器的寄存器 11

1.2.1 8086寄存器 11

1.2.2 80386寄存器 16

1.2.3 80486寄存器 18

1.2.4 Pentium寄存器 18

1.3 80x86系列微处理机的主存储器组织 18

1.3.1 主存概述 19

1.3.2 堆栈 20

1.4 80x86系列微处理器能直接处理的数据及其在主存储器中存放形式 20

小结 22

习题一 22

第二章 80x86系列微处理器寻址方式和指令系统 23

2.1 80x86的工作模式 23

2.1.1 实模式 23

2.1.2 保护模式 25

2.1.3 虚拟86模式 25

2.1.4 系统管理模式 25

2.2 80x86指令格式 26

2.2.1 80x86机器指令格式 26

2.2.2 80x86机器指令在汇编语言中的表示方法 29

2.3 80x86指令寻址方式及其符号表示 30

2.3.1 寻址方式的有关问题 30

2.3.2 与数据有关的寻址方式 31

2.4 80x86通用指令系统 39

2.4.1 传送类指令 41

2.4.2 算术运算和辅助操作指令 51

2.4.3 位操作指令 62

2.4.4 处理器控制指令 74

小结 75

习题二 75

第三章 80x86的宏汇编语言 79

3.1 概述 79

3.1.1 汇编语言与汇编程序 79

3.1.2 80x86宏汇编语言概述 82

3.2 汇编语言源程序语句中的域 84

3.2.1 标号名字域 84

3.2.2 操作助记符域 85

3.2.3 操作数域 85

3.3 伪指令 90

3.3.1 指令集选择伪指令 91

3.3.2 数据定义伪指令 92

3.3.3 符号定义伪指令 104

3.3.4 模块定义伪指令 106

3.3.5 完整段定义伪指令 108

3.3.6 简化段定义伪指令 114

3.4 COM文件的源程序结构 120

小结 122

习题三 122

第四章 程序设计的基本技术 127

4.1 顺序程序设计 127

4.2 分支程序设计 128

4.2.1 与程序控制类指令有关的寻址方式 129

4.2.2 转移指令 133

4.2.3 分支程序设计 134

4.3 循环程序设计 139

4.3.1 概述 139

4.3.2 循环程序设计举例 147

4.4 子程序设计 158

4.4.1 子程序概述 158

4.4.2 过程定义与模块通信及调用返回语句 159

4.4.3 子程序的设计方法 164

4.4.4 系统功能调用 174

4.4.5 子程序设计举例 178

4.4.6 递归子程序 182

小结 186

习题四 186

第五章 高级汇编语言技术 191

5.1 宏指令的有关问题 191

5.1.1 宏定义 191

5.1.2 宏调用和宏扩展 193

5.1.3 宏体中的标号和变量 195

5.1.4 宏指令的嵌套 197

5.1.5 特殊的宏操作符 199

5.1.6 宏指令与子程序的区别 202

5.2 条件伪指令 202

5.2.1 条件伪指令概述 203

5.2.2 条件伪指令用法举例 204

5.3 重复伪指令 205

5.3.1 数值重复伪指令REPT 206

5.3.2 参数值重复伪指令IRP 207

5.3.3 字符重复伪指令IRPC 208

5.3.4 中止宏的伪指令EXITM 210

5.4 高级语言结构流程控制伪指令及其应用 210

5.4.1 分支结构流程控制伪指令及其应用 210

5.4.2 循环结构流程控制伪指令及其应用 216

小结 222

习题五 222

下篇 应用篇 227

第六章 保护模式及其程序设计 227

6.1 保护模式的预备知识 227

6.1.1 保护模式的三种地址空间 227

6.1.2 保护模式的段和页 228

6.1.3 保护模式涉及的数据结构及相关硬件 230

6.2 操作系统类指令 245

6.2.1 实模式和任何特权级下都可执行的指令 245

6.2.2 实模式或保护模式0特权级下可执行的指令 246

6.2.3 只能在保护模式下执行的指令 247

6.3 分段管理机制 250

6.3.1 任务间段的保护与共享 250

6.3.2 虚拟地址到线性地址的转换 250

6.4 保护模式下的控制转移 253

6.4.1 概述 253

6.4.2 任务内特权级不变的段间转移 255

6.4.3 任务内特权级变换的段间转移 255

6.4.4 任务切换 257

6.5 保护模式程序设计举例 259

6.5.1 预备知识 259

6.5.2 任务内特权级不变的段间转移实例 266

6.5.3 任务内特权级变换的段间转移实例 272

6.5.4 任务切换实例 279

6.6 分页管理机制 286

6.6.1 线性地址到物理地址的转换 287

6.6.2 页级保护和对虚拟存储器的支持 290

6.6.3 分页管理机制举例 291

6.7 中断和异常的处理 298

6.7.1 中断和异常的概念 298

6.7.2 异常类型及各种异常产生的原因 299

6.7.3 中断和异常处理的控制转移 303

6.7.4 演示中断处理举例 306

6.8 输入输出保护 313

6.8.1 输入输出保护的方法 314

6.8.2 重要标志位的保护 316

6.8.3 演示输入输出保护举例 316

6.9 虚拟86模式 327

6.9.1 进入和离开V86模式 327

6.9.2 进入和离开V86模式举例 330

6.9.3 V86模式的受限指令 341

小结 342

习题六 342

第七章 浮点程序设计 344

7.1 预备知识 344

7.1.1 FPU能直接处理的数据及其有关问题 344

7.1.2 与编程相关的FPU的硬件 348

7.2 FPU的指令语句 351

7.2.1 传送类指令语句 352

7.2.2 算术运算类指令语句 358

7.2.3 超越函数类指令语句 360

7.2.4 比较类指令语句 362

7.2.5 FPU控制类指令语句 367

7.3 FPU汇编语言程序设计 369

7.3.1 FPU程序设计的两个问题 369

7.3.2 FPU汇编语言程序设计举例 370

小结 377

习题七 378

第八章 汇编语言与高级语言的混合编程 379

8.1 混合编程的约定规则 379

8.1.1 命名规则 380

8.1.2 调用规则 380

8.2 MASM宏汇编语言对混合编程的支持 381

8.3 C/C++与汇编语言混合编程 383

8.3.1 模块链接法 383

8.3.2 嵌入式汇编 395

8.4 Pascal与汇编语言混合编程 400

小结 404

习题八 405

第九章 多媒体指令及其编程 406

9.1 MMX指令集 406

9.1.1 MMX技术基础 406

9.1.2 MMX指令集 409

9.1.3 MMX指令程序设计 417

9.2 SSE指令集 419

9.2.1 SSE技术基础 419

9.2.2 SSE指令集 421

9.2.3 SSE指令程序设计 430

9.3 SSE2指令集 431

9.3.1 SSE2编程环境 431

9.3.2 SSE2指令集 432

9.3.3 SSE2指令程序设计 442

小结 443

习题九 443

第十章 Win32环境下汇编语言程序设计 445

10.1 一个例子:Hello world 445

10.1.1 指令系统选择 446

10.1.2 工作模式选择 446

10.1.3 选项定义 447

10.1.4 链接头文件和库文件 447

10.1.5 段定义 448

10.2 Win32应用程序的特点 448

10.2.1 API函数 449

10.2.2 动态链接库 450

10.2.3 句柄 451

10.2.4 用户界面对象 451

10.2.5 资源 457

10.2.6 控件 458

10.3 Win32汇编程序设计方法 462

10.3.1 Windows系统的消息机制 462

10.3.2 Windows消息的格式 462

10.3.3 Windows程序的运行模式 463

10.3.4 Windows程序设计方法 463

10.3.5 Windows汇编程序设计流程 464

10.4 应用程序实例 464

10.4.1 控制台程序 464

10.4.2 动态链接库 466

小结 468

习题十 468

附录A 80x86指令系统一览表 471

附录B 汇编语言程序的上机实习指导 499

附录C DOS系统功能调用(INT 21H) 515

参考文献 523