目录 1
第一章 汇编语言介绍 1
第一节 数字系统 3
一.二进制数 4
二.十六进制数 10
三.除字节外的其它位编组形式 12
四.二进制操作 16
第二节 寻址技术 18
二.寄存器寻址 19
一.立即寻址 19
三.直接寻址 20
四.寄存器间接寻址 20
五.基址相对寻址 22
六.直接变址寻址 22
七.基址变址寻址 23
八.80386扩展 23
第三节 程序设计的形式 24
一.命名场 25
四.注释场 28
二.操作场 28
三.操作数场 28
第四节 一个汇编语言程序的例子 29
第二章 汇编程序介绍 31
第一节 机器码与汇编语言 31
第二节 典型的汇编过程 33
一.第一步:建立源码 33
二.第二步:产生目标码 37
三.第三步:连接 38
第一节 80286微处理器 39
第三章 微处理器的结构:寄存器、标志和指令 39
一.段寄存器 40
二.变址、指针和基址寄存器 41
三.状态和控制寄存器(标志) 41
四.指令指针 42
五.机器状态字 42
第二节 80386微处理器 43
一.通用寄存器 45
二.段寄存器 45
三.指令指针和EFLAGS寄存器 46
四.控制寄存器 47
五.系统地址寄存器 48
六.调试和测试寄存器 49
第三节 80286/80386指令集 50
第四节 80386指令集 98
第四章 80287/80387数学运算协处理器 104
第一节 80287/80387的操作 104
一.浮点堆栈 104
二.状态字 105
三.控制字 106
四.特征字 107
第二节 数据类型 108
一.二进制整数 109
二.组合的十进制记数法 109
三.短实数、长实数和暂存实数格式 109
四.特殊数值 110
第三节 80287/80387指令集 111
第五章 简单的程序设计技术 138
一.采用立即寻址的十六进制加法 139
第一节 算术程序 139
二.采用直接寻址的十六进制减法 141
三.采用直接寻址的多精度加法 144
四.采用变址寻址的多精度加法 147
五.采用寄存器间接寻址的十进制加法 151
六.采用重复加法运算的乘法 154
七.使用乘法命令的乘法、平方和立方运算 156
八.用已定义的双字使用除法命令 160
九.平方根算法 162
第二节 逻辑门电路的模拟和操作 164
第三节 特殊应用程序的查表法 168
一.用查表法求对数 168
二.用查表法实现码的转换 171
三.ASCII数转换为十六进制数 174
第四节 使用80386微处理器的简单的算术运算 176
第五节 使用BIOS和DOS中断 180
一.用BIOS中断清屏 181
二.用BIOS中断在屏幕上显示一个标题 187
三.用BIOS中断在屏幕上显示程序数据 190
四.用DOS中断读键盘字符 196
五.用DOS中断读键盘字符串 198
六.用BIOS中断读当前的时间和日期 200
七.用BIOS中断确定AT机存储器的容量 203
八.用BIOS中断确定任选的设备安装情况 205
九.用BIOS中断送一个字符串到打印机 207
十.用BIOS中断在中等分辨率的彩色屏幕上画点 209
十一.用BIOS中断在高分辩率的屏幕上划线 212
十二.使用新式的字符串命令:为查找字符扫描字符串 213
十三.使用新式的字符串命令:在段内传送字符串 215
第六章 使用汇编程序的伪指令 218
第一节 宏调用 244
第七章 宏调用、过程和库 244
一.宏调用的建立 246
二.宏程序库 251
第二节 过程 256
一.过程的建立 256
二.过程库 263
第三节 库 269
第四节 比较与选择 271
第一节 在彩色屏幕上作图 273
第八章 复杂的程序设计技术 273
第二节 建立以秒精确计算消逝时间程序 279
第三节 建立简单的菜单驱动程序 285
第四节 建立一个更复杂的菜单驱动交互式程序 289
第五节 使用先进的串命令 299
第六节 建立和使用磁盘文件 303
第七节 真实方式和受保护的虚拟方式程序设计的例子 318
第九章 80287/80387协处理器的程序设计 328
第一节 芯片说明 328
一.两个整数相加 330
第二节 整数算术运算与Intel协处理器 330
二.整数表相加 333
三.用宏调用帮助观察整数 336
四.大的正整数乘法 338
五.把一组整数显示到屏幕上 340
第三节 实数算术运算与Intel协处理器 344
一.IEEE的实数格式 344
二.采用实数算术运算的简单程序 347
三.IBM宏汇编程序的数据转换子程序 350
四.用IBM实用程序库编程举例 352
五.求一个实角的正切 360
六.求一个角的正弦子程序 364
七.建立一个高精度的正弦表 369
八.绘出正弦波形 372
第四节 用傅立叶级数产生图形 379
第十章 与高级语言的接口 395
第一节 STSC的APL 399
第二节 BORLAND的TURBO PASCAL 402
第三节 MICROSOFT的BASIC编译程序 406
第四节 MICROSOFT的C编译程序 411
第五节 IBM的FORTRAN编译程序 416
第六节 IBM的PASCAL编译程序 420
附录A IBM的宏汇编程序 426
一.建立汇编程序源码 426
二.宏汇编程序的使用 427
三.交叉参考列表:CREF.EXE 432
四.连接:LINK.EXE 434
五.建立.COM文件 437
一.建立汇编程序源码 439
附录B MICROSOFT的宏汇编程序 439
二.宏汇编程序的使用 440
三.交叉参考列表:CREF.EXE 446
四.连接:LINK.EXE 448
五.建立.COM文件 452
附录C TURBO的编辑汇编程序 453
一.建立汇编程序源码 454
二.汇编选择项 456
四.建立列表文件 457
三.建立.OBJ文件 457
五.建立符号表和交叉参考列表 459
六.建立.EXE文件 460
七.建立.COM文件 461
八.其它TASMB汇编程序选择项 463
附录D ASCII字符 465
附录E 用库管理程序附加一个库程序 468
一.格式化 468
二.专门的程序资料 468
三.使用库管理程序 468
附录F 80386指令表 476