Turbo Assembler汇编大全程序设计技巧 中PDF电子书下载
- 电子书积分:10 积分如何计算积分?
- 作 者:文韬编
- 出 版 社:中国科学院希望高级电脑技术公司
- 出版年份:1990
- ISBN:
- 页数:227 页
第六章 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 C 21
6.2.1.1.2 过时风格的段伪指令与Turbo C 23
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 C 44
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 Pascal 60
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 ABSOLUTE 81
8.5.2.2 到内存不定位置作CALL ABSOLUTE 82
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和80188 166
11.2.1 启动80186汇编 166
11.2.2 新增伪指令 166
11.2.2.1 PUSHA和POPA 166
11.2.2.2 ENTER和LEAVE 167
11.2.2.3 BOUND 168
11.2.2.4 INS和OUTS 169
11.2.3 8086指令的扩展形式 170
11.2.3.1 压入立即数 170
11.2.3.2 移位量和循环量可以是立即数 170
11.2.3.3 乘以立即数 171
11.3 80286 172
11.3.1 启动80286汇编 172
11.4 80386 173
11.4.1 选择80386汇编模式 173
11.4.2 新增段类型 173
11.4.2.1 简化的段伪指令和80386段类型 177
11.4.2.2 48位数据类型FWORD 178
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和GS 194
11.4.6 扩展指令 195
11.4.6.1 特殊版本的MOV指令 196
11.4.6.2 32位版本的8086指令 197
11.4.6.2.1 新版本的LOOP和JCXZ 197
11.4.6.2.2 新版本的串指令 198
11.4.6.2.3 IRETD 199
11.4.6.2.4 PUSHFD和POPFD 199
11.4.6.2.5 PUSHAD和POPAD 199
11.4.6.3 新版本的IMUL 199
11.4.7 混合使用16和32位指令和段 200
11.4.8 80386函数示例 202
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.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
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《莼江曲谱 1 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《近代体育游戏教育史料汇编 第1辑 1》王强主编 2016
- 《优势策略营销》(美)杰·亚伯拉罕(JayAbraham)著;伍文韬,陈书译 2013
- 《历史在这里转折 论韩愈》张清华,张弘韬编 2008
- 《资产配置的艺术 所有市场的原则和投资策略 完整版》(美)戴维·达斯特著;段娟,史文韬译 2014
- 《中国素质教育报告 1994-2009 2》文韬执行主编 2009
- 《基于结构洞理论的企业家社会资本的影响机制研究》姜卫韬编 2012
- 《沼气生产和利用》张宏韬编 1959
- 《最新球类运动规则》郑焕韬编 1982
- 《私人领域的变形 唐宋诗歌中的园林与玩好》(美)杨晓山著;文韬译 2009
- 《鲜卑帝国》文韬著 2007
- 《我是怎样领导农业生产合作社的》李春生述;陶文韬记 1955
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《中国当代乡土小说文库 本乡本土》(中国)刘玉堂 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《Prometheus技术秘笈》百里燊 2019
- 《中国铁路人 第三届现实主义网络文学征文大赛一等奖》恒传录著 2019
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《中国制造业绿色供应链发展研究报告》中国电子信息产业发展研究院 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018