《新版汇编语言程序设计》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:钱晓捷主编
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2006
  • ISBN:7121026961
  • 页数:336 页
图书介绍:本书以Intel 80x86指令系统和MASM 6.x为主体,全面而系统地介绍16/32位整数、浮点、多媒体指令的汇编语言程序设计方法。全书可分为基础和提高两部分。前5章作为基础部分,以当前“汇编语言程序设计”课程的教学为目标,为读者讲解16位基本整数指令及其汇编语言程序设计的知识。基础部分的主要内容是:汇编语言程序设计的基础知识、8086指令详解、MASM伪指令和操作符、程序格式、程序结构及其设计方法。后5章为提高部分,从不同的方面介绍了汇编语言程序设计的深入内容和实际应用知识。提高部分各章的内容相对独立,主要有:32位80x86 CPU的整数指令系统及其编程、汇编语言与C/C++的混合编程、80x87 FPU的浮点指令系统及其编程、多媒体指令系统及其编程、64位指令简介。

第1章 汇编语言基础知识 1

1.1 计算机系统概述 1

1.1.1 计算机的硬件 1

1.1.2 计算机的软件 3

1.1.3 计算机的程序设计语言 3

1.2 数据表示 5

1.2.1 数制 5

1.2.2 编码 7

1.2.3 有符号数的表示法 7

1.2.4 二进制运算 10

1.3 Intel 80x86系列微处理器 11

1.4 微型计算机(PC)系统 13

1.5 8086微处理器 18

1.5.1 8086的功能结构 18

1.5.2 8086的寄存器 19

1.5.3 存储器组织与段寄存器 22

1.6 8086的寻址方式 25

1.6.1 8086的机器代码格式 25

1.6.2 立即数寻址方式 26

1.6.3 寄存器寻址方式 27

1.6.4 存储器寻址方式 27

习题1 30

第2章 8086的指令系统 32

2.1 数据传送类指令 33

2.1.1 通用数据传送指令 33

2.1.2 堆栈操作指令 35

2.1.3 标志传送指令 36

2.1.4 地址传送指令 37

2.1.5 输入输出指令 38

2.2 算术运算类指令 39

2.2.1 加法指令 39

2.2.2 减法指令 40

2.2.3 乘法指令 41

2.2.4 除法指令 42

2.2.5 符号扩展指令 43

2.2.6 十进制调整指令 43

2.3 位操作类指令 46

2.3.1 逻辑运算指令 46

2.3.2 移位指令 48

2.3.3 循环移位指令 49

2.4 控制转移类指令 50

2.4.1 无条件转移指令 51

2.4.2 条件转移指令 52

2.4.3 循环指令 54

2.4.4 子程序指令 55

2.4.5 中断指令 57

2.4.6 系统功能调用 58

2.5 串操作类指令 61

2.6 处理机控制类指令 65

习题2 66

第3章 汇编语言程序格式 72

3.1 汇编语言程序的开发 72

3.1.1 汇编语言程序的语句格式 72

3.1.2 汇编语言的程序格式 73

3.1.3 汇编语言程序的开发过程 75

3.2 参数、变量和标号 79

3.2.1 数值型参数 79

3.2.2 变量定义伪指令 81

3.2.3 变量和标号的属性 85

3.3 程序段的定义和属性 88

3.3.1 DOS的程序结构 88

3.3.2 简化段定义的格式 90

3.3.3 完整段定义的格式 93

3.4 复杂数据结构 97

3.4.1 结构 97

3.4.2 记录 99

习题3 100

第4章 基本汇编语言程序设计 103

4.1 顺序程序设计 103

4.2 分支程序设计 104

4.3 循环程序设计 108

4.4 子程序设计 112

4.4.1 过程定义伪指令 112

4.4.2 子程序的参数传递 114

4.4.3 子程序的嵌套、递归与重入 117

4.4.4 子程序的应用 120

习题4 125

第5章 高级汇编语言程序设计 127

5.1 高级语言特性 127

5.1.1 条件控制伪指令 127

5.1.2 循环控制伪指令 129

5.1.3 过程声明和过程调用伪指令 131

5.2 宏结构程序设计 134

5.2.1 宏汇编 134

5.2.2 重复汇编 139

5.2.3 条件汇编 141

5.3.1 源程序文件的包含 144

5.3 模块化程序设计 144

5.3.2 目标代码文件的连接 149

5.3.3 子程序库的调入 151

5.4 输入输出程序设计 153

5.4.1 程序直接控制输入输出 153

5.4.2 程序查询输入输出 155

5.4.3 中断服务程序 156

习题5 163

第6章 32位指令及其编程 166

6.1 32位指令运行环境 166

6.1.1 寄存器 167

6.1.2 寻址方式 169

6.1.3 机器代码格式 170

6.2 32位扩展指令 172

6.2.1 数据传送类指令 172

6.2.2 算术运算类指令 174

6.2.3 位操作类指令 175

6.2.4 串操作类指令 175

6.2.5 控制转移类指令 176

6.3 32位指令的程序设计 179

6.4.1 80386新增指令 183

6.4 32位新增指令 183

6.4.2 80486新增指令 187

6.4.3 Pentium新增指令 188

6.4.4 Pentium Pro新增指令 192

6.5 用汇编语言编写32位Windows应用程序 193

6.5.1 32位Windows应用程序的特点 194

6.5.2 32位Windows控制台程序 194

6.5.3 MASM32开发环境 199

6.5.4 创建消息窗口 200

6.5.5 创建窗口应用程序 201

习题6 208

第7章 汇编语言与C/C++的混合编程 211

7.1 Turbo C嵌入汇编方式 211

7.1.1 嵌入汇编语句的格式 212

7.1.2 汇编语句访问C语言的数据 212

7.1.3 嵌入汇编的编译过程 214

7.2 Turbo C模块连接方式 215

7.2.1 混合编程的约定规则 215

7.2.2 汇编模块的编译和连接 217

7.2.3 混合编程的参数传递 218

7.2.4 汇编语言程序对C语言程序的调用 226

7.3.1 嵌入汇编语言指令 229

7.3 汇编语言在Visual C++中的应用 229

7.3.2 调用汇编语言过程 233

7.3.3 使用汇编语言优化C++代码 237

7.3.4 使用Visual C++开发汇编语言程序 240

习题7 241

第8章 80x87浮点指令及其编程 245

8.1 浮点数据格式 245

8.1.1 实数和浮点格式 245

8.1.2 80x87的数据格式 248

8.2 浮点寄存器 249

8.3 浮点指令的程序设计 252

8.3.1 浮点传送类指令 253

8.3.2 算术运算类指令 255

8.3.3 超越函数类指令 258

8.3.4 浮点比较类指令 260

8.3.5 FPU控制类指令 264

习题8 269

第9章 多媒体指令及其编程 271

9.1 MMX指令系统 271

9.1.1 MMX的数据结构 271

9.1.2 MMX指令 273

9.1.3 MMX指令的程序设计 281

9.2 SSE指令系统 283

9.2.1 SIMD浮点指令 283

9.2.2 SIMD整数指令 292

9.2.3 高速缓存优化处理指令 294

9.2.4 SSE指令的程序设计 295

9.3 SSE2指令系统 299

9.3.1 SSE2的数据类型 300

9.3.2 SSE2浮点指令 301

9.3.3 SSE2扩展指令 307

9.3.4 SSE2指令的程序设计 309

9.4 SSE3指令系统 311

9.4.1 SSE3指令 312

9.4.2 SSE3指令的程序设计 314

习题9 314

第10章 64位指令简介 316

10.1 64位方式的运行环境 316

10.2 64位方式的指令 318

附录A 调试程序CodeView 321

附录B 汇编程序MASM的伪指令和操作符 327

附录C 80x86整数指令系统 328

附录D 输入输出子程序库IO.LIB 334

参考文献 336