当前位置:首页 > 工业技术
Turbo Assembler (汇编)用户手册  基础实用篇
Turbo Assembler (汇编)用户手册  基础实用篇

Turbo Assembler (汇编)用户手册 基础实用篇PDF电子书下载

工业技术

  • 电子书积分:9 积分如何计算积分?
  • 作 者:丛海莱编译
  • 出 版 社:北京联想计算机集团公司
  • 出版年份:1990
  • ISBN:
  • 页数:191 页
图书介绍:
《Turbo Assembler (汇编)用户手册 基础实用篇》目录

第一章 开始 1

1.1 磁盘上的文件 1

1.2 安装Turbo Assembler 1

第二章 利用Turbo Assembler进行程序设计 2

2.1 编写你的第一个Turbo Assembler程序 2

2.2 汇编你的第一个程序 2

2.3 连接你的第一个程序 4

2.4 执行你的第一个程序 4

2.5 发生了那些事? 4

2.6 修改你的第一个Turbo Assembler程序 5

2.6.1 输出到打印机 6

2.7 编写你的第二个Turbo Assembler程序 7

2.7.1 运行REVERSE.ASM 8

2.8 计算机的结构 9

2.8.1 汇编语言的性质 10

2.9 8088和8086处理器 11

2.9.1 8086的功能 12

2.9.2 存储器 13

2.9.3 输入和输出 14

2.9.4 寄存器 16

2.9.4.1 标志寄存器 16

2.9.4.2 通用寄存器 17

2.9.4.3 指令指针 24

2.9.4.4 段寄存器 24

2.9.5 8086指令集 27

2.10 IBM PC和XT 32

2.10.1 输入和输出装置 33

2.10.2 IBM PC系列的系统软件 33

2.10.2.1 DOS 33

2.10.2.2 BIOS 36

2.10.3 有时你需要自行去处理硬件 37

2.10.4 其他资源 37

第三章 命令行参数 38

3.1 由DOS启动Turbo Assembler 38

3.2 命令行选择项的用法 39

3.2.1 以英文字母顺序列出内存段 39

3.2.2 在列表文件中产生交叉参考 40

3.2.3 定义汇编程序的符号 40

3.2.4 产生仿真浮点数的指令 40

3.2.5 在屏幕上显示帮助信息 41

3.2.6 设置包含文件的寻找路径 41

3.2.7 设置汇编程序的起始伪指令 41

3.2.8 设置程序中最多可有多少符号 41

3.2.9 设置Turbo Assembler的最大字符串空间 42

3.2.10 产生列表文件 42

3.2.11 在列表文件中列出高级语言接口代码 42

3.2.12 保持符号名称的大小写 42

3.2.13 将符号名称转为大写 42

3.2.14 保持公共及外部符号名称的大小写 43

3.2.15 在列表文件中不产生符号表 43

3.2.16 检查不合语法的程序代码 43

3.2.17 产生真正浮点数的指令 44

3.2.18 以源代码出现的次序排出内存段 44

3.2.19 汇编成功即不产生信息 44

3.2.20 控制警告信息的产生 44

3.2.21 在列表文件中列出错误的条件式 45

3.2.22 在屏幕上显示错误的程序行 45

3.2.23 将源代码的行数写入目标文件 45

3.2.24 将出错信息写入目标文件 46

3.2.25 为兼容性而设的选择项 46

3.3 间接命令文件 46

3.4 配置文件 46

第四章 汇编语言程序的基本要素 48

4.1 汇编语言程序的基本要素与结构 48

4.2 一条指令的格式 49

4.2.1 标号 49

4.2.2 助记符指令和伪指令 53

4.4.2.1 END伪指令 53

4.2.3 操作数 54

4.2.3.1 寄存器操作数 55

4.2.3.2 常数操作数 55

4.2.3.3 表达式 57

4.2.3.4 标号操作数 58

4.2.3.5 内存寻址模式 59

4.2.4 注释 66

4.3 段指令 68

4.3.1 简化段伪指令 68

4.3.1.1 .STACK、.CODE和.DATA 68

4.3.1.2 DOSSEG 71

4.3.1.3 MODEL 71

4.3.1.4 其他简化段伪指令 72

4.3.2 标准段伪指令 73

4.3.3 简化与标准段伪指令 76

4.4.1 位(Bit)、字节(Byte)和基(Base) 77

4.4.1.1 十进制、二进制、八进制和十六进制表示法 78

4.4.1.2 预置数字进位制的选择 82

4.4.2 数据初始化 83

4.4.2.1 预置数据表格 84

4.4.2.2 预置字符串 85

4.4.2.3 预置表达式与标识符 86

4.4.3 无初值的数据 86

4.4.4 内存位置属性定义 87

4.5 传送数据 90

4.5.1 选择数据大小 91

4.5.2 符号数据与无符号数据 93

4.5.3 数据长度的转换 93

4.5.4 使用段地址寄存器 95

4.5.5 数据的进栈与出栈操作 96

4.5.6 数据交换 96

4.5.7 输入/输出 97

4.6 运算 98

4.6.1 算术运算 98

4.6.1.1 加法与减法 98

4.6.1.2 乘法与除法 101

4.6.1.3 改变正负号 104

4.6.2 逻辑运算 104

4.6.3 移位与循环(Shift and Rotates) 105

4.7 循环与转移(Loop and Jumps) 109

4.7.1 无条件转移 110

4.7.2 条件转移 112

4.7.3 循环 114

4.8 过程 117

4.8.1 过程如何调用 117

4.8.2 参数传递 120

4.8.3 返回值 120

4.8.4 保存寄存器的值 120

4.9 汇编语言程序范例 121

第五章 再谈Turbo Assembler程序设计 126

5.1 等量代换 126

5.1.1 EQU伪指令 126

5.1.1.1 $预定义符 131

5.1.2 =伪指令 132

5.2 字符串指令 132

5.2.1.1 LODS 133

5.2.1.2 STOS 134

5.2.1.3 MOVS 135

5.2.1.4 重复前缀 136

5.2.1.5 字符串指针的变换 137

5.2.2 字符串搜索 137

5.2.2.1 SCAS 137

5.2.2.2 CMPS 140

5.2.3 在字符串指令中使用操作数 141

5.3 多重模块程序 142

5.3.1 PUBLIC伪指令 144

5.3.2 EXTRN伪指令 145

5.3.3 GLOBAL伪指令 147

5.4 包含文件 148

5.5 列表文件 149

5.5.1 注释源代码 150

5.5.2 符号表列表 153

5.5.2.1 标号表 153

5.5.2.2 段组和段表 153

5.5.3 调试信息 154

5.5.4 控制列表内容和格式 157

5.5.4.1 行列表选择伪指令 157

5.5.4.2 列表格式控制伪指令 159

5.5.4.3 其它列表控制伪指令 161

5.6 编译过程中显示的信息 161

5.7 条件编译 161

5.7.1 条件编译伪指令 162

5.7.1.1 IF和IFE 162

5.7.1.2 IFDEF和IFNDEF 163

5.7.1.3 其它条件编译伪指令 164

5.7.1.4 ELSEIF族伪指令 165

5.7.2 条件错误伪指令 166

5.7.2.1 .ERR、.ERR1和.ERR2 167

5.7.2.2 .ERRE和.ERRNZ 167

5.7.2.3 .ERRDEF和.ERRNDEF 167

5.7.2.4 其它条件错误伪指令 168

5.8 汇编语言程序设计中常见错误 168

5.8.1 忘记返回DOS 168

5.8.2 忘记RET指令 169

5.8.3 产生错误类型的返回 170

5.8.4 操作数顺序颠倒 171

5.8.5 忘记堆栈或保留一个太小的堆栈 172

5.8.6 调用过程而清除需要的寄存器 172

5.8.7 使用错误的条件转移 174

5.8.8 字符串指令错误 175

5.8.8.1 忘记rep字符扩展 175

5.8.8.2 依赖于零的CX覆盖整个段 178

5.8.8.3 使用不正确的方向标志设置 179

5.8.8.4 使用错误的重复字符串比较 179

5.8.8.5 忘记初始化数据段 180

5.8.8.6 错误地字节转为字的运算 181

5.8.8.7 使用多重字首 182

5.8.8.8 传送操作数到字符串指令 183

5.8.9 忘记不正常的副作用 184

5.8.9.1 用乘法清除一个寄存器的值 184

5.8.9.2 忘记串指令改变多个寄存器的值 185

5.8.9.3 希望某些指令会改变进位标志 185

5.8.9.4 使用标志太迟 185

5.8.10 混淆了内存单元和立即数 186

5.8.11 导致死循环 187

5.8.12 在中断处理程序中未能保存所有状态 189

5.8.13 忘记操作数和数据的段组字首 189

返回顶部