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

Turbo Assembler (汇编)用户手册 高级技术篇PDF电子书下载

工业技术

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

第六章 Turbo Assembler与Turbo C的接口 1

6.1 在Turbo C中使用内部汇编 1

6.1.1 内部汇编如何工作 2

6.1.1.1 Turbo C如何知道使用内部汇编模式 6

6.1.1.2 激活Turbo Assembler处理内部汇编 7

6.1.1.3 Turbo C在何处汇编内部汇编码 7

6.1.1.4 将-1开关用于80186/80286指令 8

6.1.2 内部汇编语句的格式 9

6.1.2.1 内部汇编中的分号 9

6.1.2.2 内部汇编中的注释 9

6.1.2.3 访问结构/联合的元素 10

6.1.3 内部汇编示例 12

6.1.4 内部汇编的限制 15

6.1.4.1 内存和地址操作数限制 15

6.1.4.2 内部汇编中缺少隐含的自动变量大小 16

6.1.4.3 必须保存寄存器 17

6.1.5 内部汇编码相对于纯C代码的缺点 18

6.1.5.1 降低了可移植性和可维护性 18

6.1.5.2 降低了编译速度 18

6.1.5.3 仅可由TCC使用 18

6.1.5.4 损失了优化能力 18

6.1.5.5 限制了对错误的反跟踪 19

6.1.5.6 调试限制 19

6.1.5.7 用C开发而用内部汇编编译最终代码 19

6.2 在Turbo C中调用Turbo Assembler函数 20

6.2.1 Turbo C与Turbo Assembler的接口机制 21

6.2.1.1 内存模式与段 21

6.2.1.2 公共量和外部量 28

6.2.2 Turbo Assembler与Turbo C的交互性 32

6.2.2.1 参数传递 32

6.2.2.2 保存寄存器 39

6.2.2.3 返回值 39

6.2.3 从Turbo C中调用Turbo Assembler函数 40

6.2.4 Pascal调用约定 43

6.3 在Turbo Assembler中调用Turbo C 44

6.3.1 连入C的启动码 45

6.3.2 确保已正确设置了段 45

6.3.3 执行调用 45

6.3.4 在Turbo Assembler中调用Turbo C函数 46

第七章 Turbo Assembler与Turbo Pascal的接口 49

7.1 Turbo Pascal内存映象 49

7.1.1 程序段前缀 49

7.1.2 代码段 49

7.1.3 全局数据段 50

7.1.4 堆栈 50

7.1.5 堆 51

7.2 Turbo Pascal中寄存器的用法 51

7.3 近调用还是远调用 51

7.4 与Turbo Pascal共享信息 51

7.4.1 $L编译伪指令和外部子程序 51

7.4.2 PUBLIC伪指令:使Turbo Assembler信息对Turbo Pascal可利用 52

7.4.3 EXTRN伪指令:使Turbo Pascal的信息在Turbo Assembler中可用 53

7.4.4 使用段定位 56

7.4.5 死代码的消除 57

7.5 Turbo Pascal参数传递约定 57

7.5.1 值参 57

7.5.1.1 标量类型 57

7.5.1.2 实型 57

7.5.1.3 单精度、双精度、扩充的和复合的:8087类型 57

7.5.1.4 指针 58

7.5.1.5 串 58

7.5.1.6 记录和数组 58

7.5.1.7 集合 58

7.5.2 变量参数 58

7.5.3 栈的维护 58

7.5.4 存取参数 59

7.5.4.1 使用BP寄存器编址堆栈 59

7.5.4.2 使用另一个基址或变址寄存器 61

7.6 Turbo Pascal中的函数结果 61

7.6.1 标量函数结果 61

7.6.2 实型函数结果 61

7.6.3 8087函数结果 61

7.6.4 串函数结果 62

7.6.5 指针函数结果 62

7.7 为局部数据分配空间 62

7.7.1 分配私有静态存储区 62

7.7.2 分配动态存储区 62

7.8 由Turbo Pascal调用汇编语言子程序的例子 63

7.8.1 通用16进制转换子程序 64

7.8.2 交换两个变量 67

7.8.3 扫描DOS环境 70

第八章 Turbo Assembler与Turbo Basic的接口 75

8.1 传递参数 75

8.1.1 不在当前数据段的变量 77

8.1.2 什么类型的调用? 77

8.2 弹出堆栈 77

8.3 为Turbo Basic创建一个汇编程序 78

8.4 调用一个内部汇编子程序 78

8.5 在内存中安装一个Turbo Basic子程序 80

8.5.1 隐藏串 81

8.5.2 绝对调用(CALL ABSOLUTE) 82

8.5.2.1 利用绝对调用(CALL ABSOLUTE)来固定内存定位 82

8.5.2.2 绝对调用(CALL ABSOLUTE)到内存其他位置 83

8.5.2.3 CALL ABSOLUTE的其他问题 84

8.6 CALL INTERRUPT(调用中断) 84

8.7 样本程序 85

第九章 Turbo Assembler与Turbo Prolog的接口 88

9.1 声明外部谓词 88

9.2 调用约定和参数 88

9.2.1 命名约定 89

9.3 写汇编语言谓词 89

9.3.1 实现double谓词 92

9.4 用多重流模式实现谓词 94

9.5 从汇编函数调用Turbo Prolog谓词 95

9.5.1 表和函子 98

第十章 Turbo Assembler高级程序设计 101

10.1 段前缀 101

10.1.1 一种替换形式 102

10.1.2 在什么情况下段前缀并不起作用 103

10.1.3 访问多个段 104

10.2 局部标号 105

10.3 自动确定转移大小 109

10.4 超前引用代码和数据 113

10.5 使用重复块和宏 116

10.5.1 重复块 116

10.5.1.1 重复块与可变参数 119

10.5.2 宏 120

10.5.2.1 嵌套宏 124

10.5.2.2 宏与条件句 124

10.5.2.3 用EXITM终止扩展 126

10.6 良好的数据结构 128

10.6.1 STRUC伪指令 129

10.6.1.1 使用STRUC的好处与坏处 132

10.6.2 RECORD伪指令 136

10.6.2.1 访问记录 137

10.6.2.2 为什么要使用记录 140

10.6.3 UNION伪指令 142

10.7 段伪指令 145

10.7.1 SEGMENT伪指令 145

10.7.2 段排序 149

10.7.3 GROUP伪指令 150

10.7.4 ASSUME伪指令 152

10.7.5 简化的段伪指令 156

10.7.6 多段程序示例 160

第十一章 80386及其它处理器 165

11.1 用汇编语言代码切换处理器类型 165

11.2 80186和80188 166

11.2.1 启动80186汇编 166

11.2.2 新增指令 166

11.2.3 8086指令的扩展形式 170

11.3 80286 172

11.3.1 启动80286汇编 172

11.4 80386 173

11.4.1 选择80386汇编模式 173

11.4.2 新增段类型 173

11.4.3 新增寄存器 180

11.4.4 新的寻址模式 185

11.4.5 新增加的指令 189

11.5 80287 207

11.6 80387 207

第十二章 Turbo Assembler中的Ideal模式 208

12.1 什么是Ideal模式? 208

12.2 为什么要使用Ideal模式? 208

12.3 进入和退出Ideal模式 209

12.4 MASM模式和Ideal模式之间的区别 210

12.4.1 Ideal模式下的标记符 210

12.4.2 正文等价符和数字等价符(EQU和=伪指令) 211

12.4.3 表达式和操作数 212

12.4.4 算符 213

12.4.5 伪指令 216

12.4.7 定义近代码标号或远代码标号 220

12.4.8 外部符号、公共符号和全程符号 221

12.4.9 其它方面的区别 221

12.5 MASM模式和Ideal模式下程序设计的对比 222

12.5.1 对MASM模式和Ideal模式的剖析 226

相关图书
作者其它书籍
返回顶部