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

  • 购买积分:14 如何计算积分?
  • 作  者:高福祥,齐志儒主编
  • 出 版 社:沈阳:东北大学出版社
  • 出版年份:2010
  • ISBN:9787811028423
  • 页数:443 页
图书介绍:本书主要内容包括:计算机的基础知识,存储器管理及指令系统,汇编语言,程序的基本控制结构及程序设计理论、方法、技巧和宏汇编技术。汇编语言在数值运算、代码转换、列表处理及字符处理等方面的应用。以及输入输出及中断程序设计的概念、方法和技巧等。

第1章 概述 1

1.1 微型计算机的发展历程 1

1.2 微型计算机的特点 2

1.3 计算机系统 3

1.3.1 硬件子系统 3

1.3.2 软件子系统 5

1.4 计算机语言 6

1.4.1 机器语言 6

1.4.2 汇编语言 7

1.4.3 通用语言(高级语言) 8

第2章 计算机运算基础 11

2.1 进位计数制 11

2.2 数制之间的转换 12

2.2.1 二进制数与十进制数之间的相互转换 13

2.2.2 二进制数与八进制数之间的相互转换 14

2.2.3 二进制数与十六进制数之间的相互转换 14

2.2.4 八进制数与十进制数之间的相互转换 14

2.2.5 十六进制数与十进制数之间的相互转换 15

2.3 二进制编码 16

2.3.1 二进制编码的十进制数 16

2.3.2 字符的编码 17

2.4 带符号数的机内表示 20

2.4.1 机器数与真值 20

2.4.2 原码表示法 20

2.4.3 反码表示法 20

2.4.4 补码表示法 21

2.4.5 过余码 21

2.4.6 原码、反码、补码相互间的转换 21

2.5 二进制运算 22

2.5.1 补码加减法运算 22

2.5.2 逻辑运算 24

第3章 微型计算机的结构 26

3.1 8086/8088微型处理器的结构 26

3.1.1 8086/8088 CPU的内部结构 26

3.1.2 8086/8088寄存器和标志 27

3.2 存储器 30

3.2.1 存储器的分段结构 30

3.2.2 实际地址的产生 31

3.3 寻址方式 32

3.3.1 操作数的种类 32

3.3.2 8086/8088的寻址方式 33

3.3.3 段更换和段跨越 35

3.3.4 有效地址的计算时间 36

3.4 8086/8088指令系统 36

3.5 86系列各种微处理器之间的差异 36

第4章 汇编语言 40

4.1 汇编语言的语句格式 40

4.1.1 字符集 40

4.1.2 汇编语句格式 40

4.2 汇编语言中数据的表示方法 43

4.2.1 数据在机内的表示方法和范围 43

4.2.2 汇编语言中数据书写形式 45

4.3 运算符号 46

4.3.1 算术运算符 46

4.3.2 逻辑运算符 46

4.3.3 关系运算符 46

4.3.4 分析算符 46

4.3.5 组合算符 48

4.3.6 字节分离算符LOW和HIGH 48

4.3.7 记录专用算符 49

4.4 伪指令(汇编命令) 49

4.4.1 符号定义伪指令 49

4.4.2 数据定义伪指令 50

4.4.3 段定义伪指令 53

4.4.4 方式选择伪指令 56

4.4.5 其他伪指令 56

4.5 汇编语言上机过程 57

第5章 顺序结构程序 63

5.1 程序设计的步骤 63

5.2 流程图的应用 64

5.3 程序的基本控制结构 65

5.4 数据传送指令 67

5.5 算术运算指令 70

5.5.1 加法运算指令 70

5.5.2 减法运算指令 71

5.5.3 乘法运算指令 73

5.5.4 除法运算指令 74

5.6 逻辑操作指令 75

5.7 移位操作指令 77

5.8 状态标志位操作指令 78

5.9 简单的I/O功能调用 78

5.10 顺序结构程序举例 79

第6章 分支结构程序 90

6.1 分支结构程序的引出 90

6.2 转移指令 91

6.2.1 无条件转移指令JMP(Jump) 92

6.2.2 条件转移指令 92

6.3 分支结构程序设计 94

6.4 多分支结构程序设计 100

第7章 循环结构程序 105

7.1 循环结构程序的提出 105

7.2 循环结构程序的组成 107

7.3 循环控制指令 109

7.4 数据串操作指令 110

7.4.1 数据串基本操作指令 110

7.4.2 重复前缀 113

7.5 循环程序的控制方法 114

7.5.1 计数法 114

7.5.2 寄存器终值法 115

7.5.3 条件控制法 117

7.6 单重循环程序举例 119

7.7 多重循环程序设计 123

7.8 循环程序的效率 125

第8章 子程序设计 131

8.1 子程序的引出 131

8.2 子程序(过程)定义伪指令 132

8.3 调用和返回指令 133

8.3.1 调用分类 133

8.3.2 调用指令 133

8.3.3 返回指令 135

8.4 子程序设计方法 136

8.4.1 现场的保护和恢复 136

8.4.2 子程序说明文件 136

8.4.3 主程序与子程序之间的参数传递 137

8.5 子程序嵌套 145

8.6 递归子程序 148

8.7 可重入子程序 151

8.8 程序的连接 151

8.8.1 程序连接伪指令 151

8.8.2 模块连接方法 153

第9章 条件汇编与宏指令 159

9.1 条件汇编伪操作 159

9.2 宏伪操作 161

9.2.1 宏定义与宏结束伪操作命令 161

9.2.2 参数的使用 163

9.2.3 宏中的标号处理 166

9.2.4 宏嵌套 167

9.2.5 宏与子程序的区别 171

9.3 重复块宏操作命令 171

9.4 特殊宏操作命令 174

第10章 算术运算与代码转换 177

10.1 多字节加减运算 177

10.2 多字节整数乘除运算 178

10.2.1 一般整数乘法运算 178

10.2.2 多字节整数乘法运算 179

10.2.3 一般整数除法运算 181

10.2.4 多字节整数除法运算 181

10.3 BCD码运算 187

10.3.1 BCD码运算规则 187

10.3.2 BCD码运算调整指令 188

10.3.3 非组合的BCD码运算 189

10.3.4 组合的BCD码加减运算 190

10.3.5 BCD码数据的符号表示方法及运算方法 191

10.4 浮点数据的表示方法 192

10.5 浮点数加减运算 193

10.5.1 浮点数加法 193

10.5.2 浮点数减法 197

10.6 浮点数乘除运算 197

10.6.1 浮点数乘法 198

10.6.2 浮点数除法 198

10.7 十进制数的ASCⅡ码串转换为二进制定点数 199

10.8 二进制定点数转换为十进制数的ASCⅡ码串 201

10.9 实数的ASCⅡ码串转换为浮点数 204

10.10 浮点数据转为十进制的ASCⅡ码串 204

10.10.1 浮点数转换为普通十进制数的ASCⅡ码串 204

10.10.2 浮点数转换为科学表示法的ASCⅡ码串 205

第11章 列表与字符串操作 207

11.1 列表处理 207

11.1.1 列表的定义 207

11.1.2 列表的存储结构 208

11.2 记录与结构 208

11.2.1 记录 208

11.2.2 结构 212

11.3 列表的种类及其运算 215

11.3.1 插入 215

11.3.2 删除 217

11.3.3 排序 218

11.3.4 检索 224

11.4 字符串处理 227

11.4.1 字符串的定义及表示方法 227

11.4.2 字符串的运算 228

第12章 输入输出与中断 233

12.1 输入输出指令 233

12.2 中断指令 234

12.3 外同步指令和空操作指令 235

12.4 CPU与外设间的数据传送 236

12.4.1 输入输出接口 236

12.4.2 CPU与外设之间的接口信号 237

12.4.3 CPU与外设之间的数据传送方式 238

12.5 中断系统概述 239

12.5.1 中断请求与中断源 239

12.5.2 中断系统的功能 240

12.5.3 中断响应 240

12.6 8086/8088的中断系统 241

12.6.1 外部中断 241

12.6.2 内部中断 243

12.6.3 中断向量表 244

12.7 8259A中断控制器及其程序设计 244

12.7.1 8259A的结构 245

12.7.2 8259A的程序设计 246

12.7.3 8259A在IBM PC系列机中的应用 249

12.8 中断程序设计方法 251

12.8.1 主程序设计 251

12.8.2 中断服务程序设计 251

12.8.3 中断服务程序设计中应注意的几个问题 252

12.9 IBM PC的BIOS调用及DOS功能调用 252

12.9.1 BIOS调用 253

12.9.2 DOS中断和功能调用 255

第13章 显示程序设计 261

13.1 显示器种类及性能 261

13.2 用BIOS调用编制显示程序 262

13.2.1 设置显示方式 262

13.2.2 设置光标位置 263

13.2.3 在光标处显示字符 264

13.2.4 指定位置画点 264

13.2.5 改变光标指示处的字符属性 265

13.3 CGA显示程序设计 265

13.3.1 CGA显示器的性能 265

13.3.2 CGA适配器 266

13.3.3 CGA显示器编程 272

13.4 EGA/VGA显示程序设计 279

13.4.1 EGA/VGA程序设计模型 279

13.4.2 显示存储器 280

13.4.3 图像控制器 283

13.4.4 属性控制器 286

13.4.5 定序器 289

13.4.6 CRT控制器 290

13.4.7 外部寄存器 291

13.4.8 EGA/VGA显示器编程 292

第14章 键盘程序设计 301

14.1 键盘的种类与扫描码 301

14.2 IBM PC/XT标准键盘接口 302

14.3 键盘中断程序设计 303

14.4 扩展键盘接口 305

14.4.1 扩展键盘接口程序设计模型 305

14.4.2 扩展键盘接口程序设计 308

14.5 键盘程序设计 309

14.5.1 键盘缓冲区的结构 310

14.5.2 键盘缓冲区的存取方法 310

第15章 打印程序设计 314

15.1 打印机的种类 314

15.2 打印机适配器 314

15.3 打印程序设计 315

15.3.1 查询方式打印字符程序 315

15.3.2 中断方式打印程序设计 317

15.3.3 BIOS打印功能调用 319

第16章 定时及音响程序设计 322

16.1 概述 322

16.2 8253/8254可编程定时/计数器 323

16.2.1 8253/8254的基本功能和内部结构 323

16.2.2 8253的工作方式 323

16.2.3 8253/8254在IBM PC系列机中的应用 326

16.3 时钟程序设计 326

16.3.1 使用8253/8254时钟 326

16.3.2 实时时钟的使用 329

16.4 音响程序设计 331

16.4.1 扬声器与系统的连接 331

16.4.2 音响程序的设计 332

第17章 通信程序设计 339

17.1 异步串行通信简介 339

17.1.1 串行传输及其优缺点 339

17.1.2 异步传输格式 339

17.2 异步串行通信适配器 340

17.3 8250的程序设计 341

17.4 通信程序设计 344

17.4.1 查询方式通信程序设计 344

17.4.2 中断方式通信程序设计 351

第18章 8087/80287/80387程序设计 360

18.1 概述 360

18.2 8087/80287/80387的逻辑结构与运行 361

18.2.1 8087/80287/80387的逻辑结构 361

18.2.2 8087/80287/80387的运行 364

18.3 数据类型及格式 366

18.4 8087/80287/80387的指令系统 368

18.4.1 数据传送指令 368

18.4.2 算术运算指令 370

18.4.3 比较指令 372

18.4.4 函数指令 374

18.4.5 常数指令 376

18.4.6 处理器控制指令 376

18.5 8087/80287/80387程序设计举例 378

18.5.1 整数运算 379

18.5.2 实数运算 385

第19章 IA-32汇编语言程序设计 390

19.1 IA-32处理器的结构 390

19.1.1 IA-32处理器的操作模式 390

19.1.2 IA-32 CPU内部寄存器结构 391

19.2 IA-32的内存管理 397

19.2.1 保护模式下的分段式存储管理 397

19.2.2 保护模式下的分页式存储管理 400

19.2.3 特权级 404

19.3 IA-32的寻址方式 406

19.4 IA-32的指令系统 407

19.4.1 增强的指令 408

19.4.2 新增的指令 408

19.5 IA-32汇编语言程序设计举例 413

19.5.1 IA-32汇编语言程序设计必要的伪指令 413

19.5.2 IA-32汇编语言程序举例 416

参考文献 421