《微机汇编语言程序设计学习指导》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:许远,何成彦编
  • 出 版 社:成都:电子科技大学出版社
  • 出版年份:1996
  • ISBN:7810435264
  • 页数:176 页
图书介绍:本书是《微机汇编语言程序设计基础教程》的配套丛书,与该书配合使用能使读者在最短的时间内学会汇编语言程序设计,并且养成结构化编程的好习惯,为今后进一步学习奠定坚实的基础。

第一章 基础知识 1

目录 1

§1.1 引言 2

1.1.1 本书主要内容 2

1.1.2 本书的特点 2

§1.2 机器语言与汇编语言 2

1.2.1 机器语言 2

1.2.2 汇编语言 3

§1.3 汇编语言程序的组成 3

1.3.1 代码段 3

1.3.2 数据段 4

1.3.3 堆栈段 4

1.3.4 标号 5

1.3.5 注释 5

1.3.6 一个汇编语言程序范例 6

1.4.1 创建并汇编程序 7

§1.4 汇编语言程序的汇编与运行 7

1.4.2 运行程序·调试·查看结果 10

§1.5 8088的体系结构 11

1.5.1 存储单元 11

1.5.28 088寄存器组 12

1.5.3 存储器结构 16

1.5.4 输入和输出 16

1.5.5 8088内部结构 17

第二章 数据的表示与运算 19

§2.1 数的进制 20

2.1.1 二进制与十进制 20

2.1.2 二进制数的运算 21

2.1.3 八进制与十六进制 21

2.1.4 常数 22

§2.2 数的编码 23

2.2.1 真值与机器数 23

2.2.3 补码表示法 24

2.2.2 原码表示法 24

2.2.4 由真值、原码转换为补码 26

2.2.5 由补码求原码与真值 27

2.2.6 反码表示法 27

2.2.7 关于零的表示 28

2.2.8 数的定点表示与浮点表示 28

2.2.9 以二进制编码的十进制(BCD) 29

§2.3 字符和字符串 30

2.3.1 ASCII字符 30

§2.4 数据定义伪指令 32

2.4.1 什么是伪指令 32

2.4.2 DB伪指令 32

2.4.3 DW伪指令 32

2.4.5 DT伪指令 33

2.4.6 数据伪指令举例 33

2.4.3 DD伪指令 33

2.4.4 DQ伪指令 33

2.4.7 变量的类型属性问题 35

2.4.8 EQU伪指令 37

2.4.9 =伪指令 37

2.4. RADIX伪指令 37

§2.5 汇编语言中的运算符 37

2.6.1 加法运算符(+) 37

2.5.4 除法运算符(/) 38

2.5.5 取模运算符(MOD) 38

2.5.3 乘法运算符(*) 38

2.5.2 减法运算符(-) 38

2.5.6 取反运算符(NOT) 39

2.5.7 与运算符(AND) 39

2.5.8 或运算符(OR) 39

2.5.9 异或运算符(XOR) 40

2.5.10 左移运算符(SHL) 40

2.5.15 小于或等于运算符(LE) 41

2.5.14 小于运算符(LT) 41

2.5.13 不等于运算符(NE) 41

2.5.12 等于运算符(EQ) 41

2.5.11 右移运算符(SHR) 41

2.5.16 大于运算符(GT) 42

2.5.17 大于或等于运算符(GE) 42

2.3.18 段运算符(SEG) 42

2.3.19 偏移量运算符(OFFSET) 42

2.5.20 类型运算符(TYPE) 43

2.5.21 长度运算符(LENGTH) 43

2.5.22 尺寸运算符(SIZE) 43

2.5.23 高位运算符(HIGH) 44

2.5.24 低位运算符(LOW) 44

2.5.25 PTR运算符 44

2.5.26 段跨越运算符 45

2.5.27 运算符优先级 45

§2.6 位置计数器 46

2.5.28 布尔运算符 46

第三章 8088的寻址方式与指令集 47

§3.1 寻址方式 48

3.1.1 最简单的几种寻址方式 48

3.1.2 存储器间接寻址方式 49

3.1.3 与转移地址有关的寻址方式 51

§3.2 8088指令概述 53

§3.3 数据传送指令 53

3.3.3 LDS指令 54

3.3.1 MOV指令 54

3.3.2 XCHG指令 54

3.3.4 LES指令 55

3.3.5 LEA指令 55

3.3.6 XLAT指令 56

§3.4 算术运算指令 56

3.4.1 INC指令 56

3.4.3 NEG指令 57

3.4.4 ADD指令 57

3.4.2 DEC指令 57

3.4.5 ADC指令 58

3.4.6 SUB指令 58

3.4.7 SBB指令 59

3.4.8 MUL指令 59

3.4.9 TMUL指令 59

3.4.10 DIV指令 60

3.4.11 IDIV指令 60

§3.5 数据转换指令 61

3.5.1 CBW指令 61

3.5.2 CWD指令 61

3.5.3 AAA指令 62

3.5.4 AAS指令 62

3.5.5 AAM指令 62

3.5.7 DAA指令 63

3.5.8 DAS指令 63

3.5.6 AAD指令 63

§3.6 布尔指令 64

3.6.1 NOT指令 64

3.6.2 AND指令 64

3.6.3 OR指令 65

3.6.4 XOR指令 66

§3.7 循环和移位指令 66

3.7.1 ROL指令 66

3.7.2 ROR指令 67

3.7.3 RCL指令 68

3.7.4 RCR指令 68

3.7.5 SAL指令 69

3.7.6 SAR指令 70

3.7.7 SHL指令 70

3.7.8 SHR指令 71

§3.8 比较指令 71

3.8.1 CMP指令 71

3.9.1 JMP指令 72

§3.9 跳转指令 72

3.8.2 TEST指令 72

3.9.2 JA指令 73

3.9.3 JAE指令 73

3.9.4 JB指令 74

3.9.5 JBE指令 74

3.9.6 JC指令 74

3.9.7 JE指令 75

3.9.8 JG指令 75

3.9.9 JGE指令 76

3.9.10 JL指令 76

3.9.11 JLE指令 76

3.9.12 JNA指令 77

3.9.13 JNAE指令 77

3.9.15 JNBE指令 78

3.9.16 JNC指令 78

3.9.14 JNB指令 78

3.9.17 JNE指令 79

3.9.18 JNG指令 79

3.9.19 JNGE指令 80

3.9.20 JNL指令 80

3.9.21 JNLE指令 80

3.9.22 JNO指令 81

3.9.23 JNP指令 81

3.9.26 JS指令 82

3.9.24 JNS指令 82

3.9.25 JNZ指令 82

3.9.27 JO指令 83

3.9.28 JP指令 83

3.9.29 JPE指令 83

3.9.30 JPO指令 84

3.9.31 JCXZ指令 84

3.10.3 LOOPNE指令 85

3.10.2 LOOPE指令 85

§3.10 重复指令 85

3.10.1 LOOP指令 85

3.10.4 LOOPNZ指令 86

3.10.5 LOOPZ指令 86

3.11.3 CLI指令 87

3.11.6 NOP指令 87

3.11.5 LAHF指令 87

3.11.4 CMC指令 87

3.11.2 CLD指令 87

3.11.1 CLC指令 87

§3.11 其它指令 87

3.11.7 SAHF指令 88

3.11.8 STC指令 88

3.11.9 STD指令 88

3.11.10 STI指 88

第四章 汇编语言程序设计基础 89

4.1.1 汇编语言程序设计的基本步骤 90

§4.1 汇编语言程序设计概要 90

4.1.2 程序结构化的概念 91

4.1.3 编写汇编语言程序应特别注意的问题 93

§4.2 简单程序设计范例 94

4.2.1 顺序结构 94

4.2.2 分支程序设计 95

§4.3 循环程序设计 103

4.3.1 循环程序的组成 103

4.3.2 循环程序设计 103

4.3.3 多重循环程序设计 106

§4.4 子程序设计 110

4.4.1 子程序概念 110

4.4.2 子程序的定义 110

4.4.3 子程序的调用和返回 112

4.4.4 寄存器的保护与恢复 112

4.4.5 调用程序与子程序之间的参数传递 113

4.4.6 子程序的嵌套 120

4.4.7 递归子程序 121

§4.5 DOS功能调用与BIOS功能调用 123

4.5.1 什么是DOS功能调用与BIOS功能调用 123

4.5.2 DOS功能子程序的调用 123

4.5.3 BIOS功能子程序的调用 127

第五章 输入输出与中断 129

§5.1 与端口有关的指令 130

5.1.1 什么是端口 130

5.1.2 IN指令与OUT指令 130

5.1.3 INS、INSB和INSW指令 132

5.1.4 REP前缀 132

5.1.5 OUTS、OUTSB和OUTSW指令 133

5.1.6 I/O程序举例 134

§5.2 中断 135

5.2.1 8088中断 135

5.2.2 中断向量表 136

5.2.3 中断过程 137

5.2.4 中断处理程序 138

5.2.5 激活和关闭中断 139

5.2.6 中断程序举例 140

第六章 汇编语言中的数据结构 144

§6.1 堆栈 145

6.1.1 往堆栈中置数和从堆栈中取数 145

6.1.2 标志和堆找 146

§6.2 字符串 146

6.2.1 字符串的传送 146

6.2.2 REP前缀 148

6.2.3 字符串的装入 149

6.2.4 字符串的存储 150

6.2.5 字符串的比较 150

6.2.6 REPE和REPNE前缀 151

6.2.7 如何选用重复前缀指令 152

6.2.8 字符串的扫描 152

6.3.1 结构 153

§6.3 结构与记录 153

6.3.2 结构的存储和预赋值 154

6.3.3 结构及其字段的访问 154

6.3.4 记录 156

第七章 宏语句与条件汇编 160

§7.1 宏语句 161

7.1.1 等价语句 161

7.1.2 串等价语句 162

§7.2 宏定义与宏调用语句 162

7.2.1 宏定义、宏调用及宏展开 163

7.2.2 宏语句的参数取代 163

7.2.3 MASM 7.0版的新功能 164

7.2.4 宏定义的标号、注释及删除 165

§7.3 宏的嵌套、递归及重定义 166

7.3.1 宏定义的嵌套 166

7.3.2 宏调用的嵌套 167

7.3.4 宏的重定义 168

7.3.3 宏定义的递归 168

§7.4 重复块 169

7.4.1 数值重复块(REPT) 169

7.4.2 参数值重复块(IRP) 170

7.4.3 字符重复块(IRPC) 170

§7.5 有关的操作符 171

7.5.1 操作符 171

7.5.2 〈〉操作符 171

7.5.4 %操作符 172

7.5.3 !操作符 172

§7.6 宏的退出 173

§7.7 条件汇编语句 173

7.7.1 条件汇编语句的形式 174

7.7.2 IF~ENDIF条件伪指令 174

7.7.3 IF~FLSE~ENDIF条件伪指令 174

7.7.4 IFDEF~ENDIF条件伪指令 175

7.7.5 IFNDEF~ENDIF条件伪指令 175

参考文献 176