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

  • 购买积分:12 如何计算积分?
  • 作  者:傅德胜,孙文静编著
  • 出 版 社:南京:东南大学出版社
  • 出版年份:2009
  • ISBN:9787564119218
  • 页数:318 页
图书介绍:本书上篇全面介绍汇编语言程序设计的原理、方法和技巧,并配有例题200道。下篇为学习指导,给出了对应课程实习内容和参考程序。本书取材力求跟踪计算机新技术的发展,具有重点突出、承上启下、深入浅出、实例丰富等特点,便于教课及读者自学。

上篇 理论篇 3

1 计算机中数的表示 3

1.1 计算机数据的表示 3

1.1.1 数制、基数与“位权” 3

1.1.2 二进制数 3

1.1.3 十六进制数 4

1.1.4 不同数制之间的转换 5

1.2 原码、反码与补码 8

1.2.1 无符号数与有符号数 8

1.2.2 原码 8

1.2.3 反码 8

1.2.4 补码 9

1.3 数据存取方式 11

1.3.1 字节数 11

1.3.2 字数据 11

1.3.3 双字数据 11

1.4 ASCⅡ码 12

1.5 BCD码 13

1.5.1 压缩BCD码 13

1.5.2 非压缩BCD码 14

1.6 扩展的键盘代码 14

习题1 15

2 Intel微处理器 16

2.1 8086/8088微处理器 16

2.1.1 8086/8088微处理器的结构 16

2.1.2 8086/8088内存储器的组织 19

2.1.3 段概念的引入 19

2.1.4 内存储器的地址 20

2.1.5 堆栈 20

2.2 80386微处理器 21

2.2.1 80386微处理器的主要性能 21

2.2.2 80386 CPU的结构 21

2.2.3 80386寄存器及其功能 22

2.3 80486微处理器 24

2.3.1 80486的特点 24

2.3.2 80486 CPU的结构 25

2.3.3 80486寄存器组 25

2.4 80586(Pentium)微处理器 26

2.5 80X86的工作方式 26

习题2 27

3 寻址方式与指令系统 28

3.1 8086/8088的寻址方式 28

3.1.1 立即寻址 28

3.1.2 直接寻址 28

3.1.3 寄存器寻址 29

3.1.4 寄存器间接寻址 29

3.1.5 基址寻址 30

3.1.6 变址寻址 30

3.1.7 基址变址寻址 30

3.1.8 相对基址变址寻址 31

3.1.9 段默认与段跨越 31

3.2 80X86扩展寻址方式 32

3.3 汇编指令语句格式 33

3.3.1 标号 33

3.3.2 指令助记符 33

3.3.3 目的操作数 33

3.3.4 源操作数 33

3.3.5 注释 34

3.4 8086/8088指令系统 34

3.4.1 数据传送指令 34

3.4.2 算术运算指令 40

3.4.3 逻辑运算与移位指令 45

3.4.4 串操作指令 49

3.4.5 控制转移指令 52

3.4.6 处理器控制指令 59

3.4.7 十进制运算调整指令 59

3.5 实方式32位指令 62

3.5.1 32位数据传送指令 62

3.5.2 32位算术运算指令 64

3.5.3 32位逻辑运算与移位指令 66

3.5.4 32位串操作指令 67

3.5.5 32位控制转移指令 68

3.5.6 32位位操作指令 69

3.5.7 32位保护方式指令 70

3.5.8 32位交换与比较指令 70

3.6 Pentium微处理器新增指令 71

习题3 71

4 操作数运算符与常用伪指令 74

4.1 操作数运算符 74

4.1.1 算术运算符(单目+,单目-,+,-,*,/,MOD) 74

4.1.2 逻辑运算符(NOT,AND,OR,XOR) 75

4.1.3 关系运算符(EQ,NE,LT,LE,GT,GE) 76

4.1.4 数值回送运算符(SEG,OFFSET,TYPE,LENGTH,SIZE) 76

4.1.5 属性运算符(PTR,SHORT,THIS,HIGH,LOW) 78

4.1.6 移位运算符(SHL,SHR) 79

4.1.7 运算符优先级 80

4.2 常用伪指令 80

4.2.1 数据定义伪指令(DB,DW,DD,DF,DQ,DT,?,DUP) 81

4.2.2 符号定义伪指令(EQU,=,LABLE) 82

4.2.3 段定义伪指令(SEGMENT,ENDS,ASSUME) 83

4.2.4 过程定义伪指令(PROC,ENDP) 88

4.2.5 汇编控制伪指令(END,ORG,NAME) 89

4.2.6 列表伪指令(TITLE,PAGE,SUBTTL,% OUT) 90

4.3 80X86扩展伪指令 91

4.3.1 方式选择伪指令 91

4.3.2 段定义伪指令 92

习题4 93

5 汇编语言源程序结构与调试运行 96

5.1 8086/8088汇编源程序结构 96

5.1.1 EXE文件的汇编格式 96

5.1.2 COM文件的汇编格式 99

5.2 80X86汇编源程序结构 101

5.3 汇编语言程序调试过程 102

5.3.1 基本过程 102

5.3.2 Windows环境下的上机步骤 102

5.3.3 汇编列表文件、交叉引用文件、连接列表文件说明 102

5.4 COM文件的建立 105

习题5 107

6 程序的基本结构与汇编语言程序设计 108

6.1 程序设计的基本过程 108

6.1.1 准备工作 108

6.1.2 程序设计 109

6.1.3 程序评价 109

6.2 程序的基本结构 109

6.3 顺序结构程序设计 111

6.4 分支结构程序设计 114

6.4.1 利用比较和条件转移指令实现程序分支 114

6.4.2 利用跳转表实现多路分支 120

6.5 循环结构程序设计 124

6.5.1 循环程序控制方法 124

6.5.2 单重循环程序设计 129

6.5.3 多重循环程序设计 130

习题6 133

7 系统功能调用 135

7.1 BIOS和DOS中断 135

7.2 调用BIOS和DOS中断程序的基本方法 135

7.3 BIOS中断调用 136

7.3.1 文本方式属性 137

7.3.2 INT 10H主要功能调用 138

7.4 DOS中断功能调用 141

7.4.1 DOS中断基本功能 141

7.4.2 DOS系统功能(INT 21H)调用示例 141

习题7 153

8 子程序与宏指令 154

8.1 子程序设计中的基本要素 154

8.2 主程序与子程序的连接 154

8.3 子程序调用中的数据保护与恢复 157

8.4 主程序与子程序之间的参数传递 158

8.4.1 寄存器传递 158

8.4.2 存储单元传递 159

8.4.3 堆栈传递 163

8.5 子程序嵌套与递归 165

8.6 宏指令 167

8.6.1 宏定义 167

8.6.2 宏调用与宏扩展 168

8.7 宏定义中的伪指令 171

8.8 宏嵌套 177

8.9 宏库的建立与使用 179

习题8 182

9 输入/输出控制方式及程序设计 184

9.1 I/O端口的编址方式 184

9.1.1 存储器映射方式 184

9.1.2 独立编址方式 184

9.2 CPU与外设之间数据传送的控制方式及程序设计 185

9.2.1 程序无条件传送方式 185

9.2.2 程序查询方式 186

9.2.3 8086/8088中断方式 189

9.2.4 DMA方式 194

9.3 IBM PC/XT中断 195

习题9 196

10 模块化程序设计 197

10.1 概述 197

10.2 程序模块的划分 197

10.2.1 模块层次图 197

10.2.2 模块的划分 198

10.3 结构化程序设计方法 199

10.4 模块化程序设计 199

10.4.1 符号定义与引用伪指令 199

10.4.2 多个模块的组合形式 201

10.4.3 模块间的符号传送 201

10.4.4 多个模块目标文件的连接 209

习题10 209

下篇 应用篇 213

11 汇编语言在数据处理中的应用 213

11.1 汇编语言在数制转换中的应用 213

11.1.1 ASCⅡ码十进制数转换为二进制数 213

11.1.2 二进制数转换为ASCⅡ码十进制数 214

11.1.3 二进制数转换为ASCⅡ码十六进制数 215

11.1.4 ASCⅡ码十六进制数转换为二进制数 215

11.2 汇编语言在串操作中的应用 217

11.2.1 数据块移动 217

11.2.2 串搜索 218

11.2.3 串比较 219

11.2.4 串插入 220

11.2.5 串删除 221

11.3 汇编语言在代码转换中的应用 222

11.3.1 十进制数的ASCⅡ码转换为BCD码 222

11.3.2 BCD码转换为十进制数的ASCⅡ码 223

11.3.3 二进制数转换为BCD码 224

11.3.4 BCD码转换为二进制数 225

习题11 226

12 汇编语言在图像处理中的应用 227

12.1 图像显示 227

12.1.1 位面图像的显示 227

12.1.2 灰度图像的显示 230

12.2 屏幕图像的保存 233

12.3 图像滤波 235

12.3.1 邻域平均法 235

12.3.2 中值滤波 237

12.3.3 噪声消除法 240

12.4 图像锐化 242

12.4.1 二阶微分算子(Laplacian算子)法 242

12.4.2 模板匹配法 244

13 汇编语言在接口与通信中的应用 250

13.1 计算机通信 250

13.2 8259A中断控制器 250

13.3 串行通信接口 251

13.3.1 可编程串行异步通信接口芯片8250 251

13.3.2 RS-232C标准接口 254

13.4 串行通信程序设计 255

13.4.1 BIOS串行通信功能调用 255

13.4.2 串行接口初始化程序设计 256

13.4.3 串行通信程序设计 257

14 实习指导 261

14.1 源程序的编辑、汇编、连接和调试 261

14.2 分支程序设计 262

14.3 循环程序设计 266

14.4 文件管理程序设计 269

14.5 子程序设计 272

14.6 递归子程序设计 275

14.7 打印输出程序设计 277

14.8 模块化程序设计 279

14.9 代码转换程序设计 282

14.10 位面图像存储程序设计 284

附录A 8086/80X86指令集 288

附录B MASM5.0出错信息 297

附录C 系统中断 302

参考文献 318