《Turbo Assembler汇编大全程序设计技巧 中》求取 ⇩

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

6.1 在Turbo C中使用嵌入式汇编1

6.1.1 嵌入式汇编如何工作3

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 将-L开关用于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 必须保存寄存器18

6.1.4.3.1 保存调用函数和寄存器变量18

6.1.4.3.2 抑制内部寄存器变量18

6.1.5 嵌入式汇编码相对于纯C代码缺点18

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

6.1.5.2 降低了编译速度18

6.1.5.3 仅可由TCC使用19

6.1.5.4 损失了优化能力19

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

6.1.5.6 调试限制19

6.1.5.7 用C开发而用嵌入式汇编编译最终代码20

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

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

6.2.1.1 内存模式和段21

6.2.1.1.1 简化的段伪指令与Turbo C21

6.2.1.1.2 过时风格的段伪指令与Turbo C23

6.2.1.1.3 段缺省:何时需要装载段?25

62.1.2 公共量和外部量28

6.2.1.2.1 下划线28

6.2.1.2.2 大小写字母的意义29

6.2.1.2.3 标号类型29

6 2.1.2.4 远类型的外部量必须在任何段之外30

6.2.1.3 链接器命令行32

6.2.2 Turbo Assembler与Turbo C的交互性32

6.2.2.1 参数传递32

6.2.2.2 保存寄存器38

6.2.2.3 返回值39

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

6.2.4 Pascal调用约定43

6.3 在Turbo Assembler中调用Turbo C44

6.3.1 链入C的启动码44

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 Pascal可利用Turbo Assembler的信息52

7.4.3 EXTRN伪指令:使Turbo assembler可利用Turbo Assembler的信息53

7.4.3.1 使用EXTRN对象的限制55

7.4.4 使用段定位56

7.4.5 无效代码的消除56

7.5 Turbo Pascal参数传递约定56

7.5.1 值参56

7.5.1.1 标量类型57

7.5.1.2 实型57

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

7.5.1.4 指针57

7.5.1.5 串57

7.5.1.6 记录和数组57

7.5.1.7 集合57

7.5.2 变量参数58

7.5.3 栈的维护58

7.5.4 存取参数58

7.5.4.1 使用BP寄存器寻址堆栈58

7.5.4.1.1 ARG伪指令59

7.5.4.1.2 .MODEL和Turbo Pascal60

7.5.4.1.3 使用另一个基址或变址寄存器60

7.6 Turbo Pascal中的函数结果61

7.6.1 标量函数结果61

7.6.2 实型函数结果61

7.6.3 8087函数结果61

7.6.4 串函数结果61

7.6.5 指针函数结果61

7.7 为局部数据分配空间61

7.7.1 分配私有静态存贮区61

7.7.2 分配动态存贮区62

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

7.8.1 通用十六进制转换子程序63

7.8.2 交换两个变量66

7.8.3 扫描DOS环境69

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

8.1 传递参数74

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

8.1.2 什么类型的调用?76

8.2 弹出堆栈76

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

8.4 调用一个在线汇编子程序77

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

8.5.1 隐藏串80

8.5.2 绝对调用(CALL ABSOLUTE)81

8.5.2.1 到一固定内存位置作CALL ABSOLUTE81

8.5.2.2 到内存不定位置作CALL ABSOLUTE82

8.5.2.3 CALL ABSOLUTE的其它问题83

8.6 调用中断83

8.7 样本程序84

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

9.1 声明外部谓词87

9.2 调用约定和参数87

9.2.1 命名约定88

9.3 写汇编语言谓词88

9.3.1 实现double谓词91

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

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

9.5.1 表和函子97

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

10.1 段前缀101

10.1.1 一种可选形式102

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

10.1.3 访问多个段104

10.2 局部标号105

10.3 自动确定转移大小108

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 宏与条件句125

10.5.2.3 用EXITM终止扩展126

10.5.2.4 在宏内定义标号127

10.6 良好的数据结构128

10.6.1 STRUC伪指令129

10.6.1.1 使用STRUC的好处和坏处132

10.6.1.1.1 结构域名维一133

10.6.1.1.2 嵌套结构133

10.6.1.1.3 结构初始化134

10.6.2 RECORD伪指令136

10.6.2.1 访问记录137

10.6.2.1.1 WIDTH算子139

10.6.2.1.2 MASK算子139

10.6.2.2 为什么要使用记录140

10.6.3 UNION伪指令142

10.7 段伪指令145

10.7.1 SEGMENT伪指令145

10.7.1.1 name和align域146

10.7.1.2 combine域146

10.7.1.3 use和class域147

10.7.1.4 段长度、段类型、段名和段嵌套147

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和80188166

11.2.1 启动80186汇编166

11.2.2 新增伪指令166

11.2.2.1 PUSHA和POPA166

11.2.2.2 ENTER和LEAVE167

11.2.2.3 BOUND168

11.2.2.4 INS和OUTS169

11.2.3 8086指令的扩展形式170

11.2.3.1 压入立即数170

11.2.3.2 移位量和循环量可以是立即数170

11.2.3.3 乘以立即数171

11.3 80286172

11.3.1 启动80286汇编172

11.4 80386173

11.4.1 选择80386汇编模式173

11.4.2 新增段类型173

11.4.2.1 简化的段伪指令和80386段类型177

11.4.2.2 48位数据类型FWORD178

11.4.3 新增寄存器180

11.4.3.1 32位通用寄存器180

11.4.3.2 32位标志寄存器182

11.4.3.3 32位指令指针182

11.4.3.4 新段寄存器183

11.4.4 新的寻址方式185

11.4.5 新增加的指令189

11.4.5.1 位测试189

11.4.5.2 位扫描190

11.4.5.3 带符号扩展或零扩展的数据移动191

11.4.5.4 转换成双字或四倍字数据192

11.4.5.5 多字移位192

11.4.5.6 条件设置字节194

11.4.5.7 装配SS、FS和GS194

11.4.6 扩展指令195

11.4.6.1 特殊版本的MOV指令196

11.4.6.2 32位版本的8086指令197

11.4.6.2.1 新版本的LOOP和JCXZ197

11.4.6.2.2 新版本的串指令198

11.4.6.2.3 IRETD199

11.4.6.2.4 PUSHFD和POPFD199

11.4.6.2.5 PUSHAD和POPAD199

11.4.6.3 新版本的IMUL199

11.4.7 混合使用16和32位指令和段200

11.4.8 80386函数示例202

11.5 80287207

11.6 80387207

第十二章 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.1.1 符号标记符210

12.4.1.2 重复成员名211

12.4.1.3 浮点数标记符211

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

12.4.3 表达式和操作数212

12.4.3.1 在方括号[]算子212

12.4.3.2 操作数示例212

12.4.4 算符214

12.4.4.1 结构成员中的句号214

12.4.4.2 结构指针214

12.4.4.3 SYMTYPE算子214

12.4.4.4 HIGH算子和LOW算子214

12.4.4.5 可选的PTR算子215

12.4.4.6 SIZE算子215

12.4.5 伪指令216

12.4.5.1 列表控制符216

12.4.5.2 以句点(.)开始的伪指令217

12.4.5.3 伪指令名与符号名的反序217

12.4.5.4 作为伪指令参量的引用串218

12.4.6 段和段组218

12.4.6.1 访问属于段组的段中的数据219

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

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

12.4.9 其它方面的区别222

12.4.9.1 抑制定位222

12.4.9.2 BOUND指令的操作数222

12.4.9.3 宏内的注释222

12.4.9.4 局部符号223

12.5 MASM模式与Ideal模式下程序设计的对比223

12.5.1 MASM模式下的程序示例223

12.5.2 Ideal模式下的程序示例224

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

1990《Turbo Assembler汇编大全程序设计技巧 中》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由文韬编 1990 中国科学院希望高级电脑技术公司 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

Turbo pascal程序设计(1997 PDF版)
Turbo pascal程序设计
1997 北京:国防工业出版社
FoxPro2.5程序设计技巧(1995 PDF版)
FoxPro2.5程序设计技巧
1995
Turbo Pascal6.0面向对象程序设计参考手册与程序设计技巧( PDF版)
Turbo Pascal6.0面向对象程序设计参考手册与程序设计技巧
中国科学院希望高级电脑技术公司
TURBO PASCAL 程序设计技巧示例( PDF版)
TURBO PASCAL 程序设计技巧示例
Turbo Assembler 汇编大全 下(1990 PDF版)
Turbo Assembler 汇编大全 下
1990 中国科学院希望高级电脑技术公司
Turbo Assembler汇编大全  中(1990 PDF版)
Turbo Assembler汇编大全 中
1990
Turbo Assembler汇编大全 上(1990 PDF版)
Turbo Assembler汇编大全 上
1990
Turbo PASCAL程序设计(1991 PDF版)
Turbo PASCAL程序设计
1991 徐州:中国矿业大学出版社
FoxPro2.5程序设计技巧(1995 PDF版)
FoxPro2.5程序设计技巧
1995 上海:上海科学普及出版社
dBASE程序设计技巧(1990 PDF版)
dBASE程序设计技巧
1990 长沙:湖南科学技术出版社
Turbo Pascal程序设计技巧示例(1994 PDF版)
Turbo Pascal程序设计技巧示例
1994 北京:电子工业出版社
Turbo pascal 7.0 程序设计及Turbo Vision 使用大全(1996 PDF版)
Turbo pascal 7.0 程序设计及Turbo Vision 使用大全
1996 北京:电子工业出版社
Turbo C编程技巧(1994 PDF版)
Turbo C编程技巧
1994 成都:电子科技大学出版社
程序设计技巧(1985 PDF版)
程序设计技巧
1985 北京:清华大学出版社
TURBO PASCAL 程序设计(1991 PDF版)
TURBO PASCAL 程序设计
1991 北京:北京航空航天大学出版社