目录 1
第一章 微处理器的结构特征 1
1.1 8086/8088微处理器 1
1.2 80286微处理器 4
1.3 80386微处理器 7
第二章 汇编语言的使用 13
2.1 汇编语言的语法结构 13
2.2 汇编语言程序应用软件的开发 32
第三章 高级语言与汇编语言的接口 41
3.1 MS-PASCAL与汇编语言接口 44
3.2 TURBO PASCAL与汇编语言接口 46
3.3 C1-C86与汇编语言接口 50
3.4 TURBO C与汇编语言接口 53
3.5 IBM FORTRAN与汇编语言接口 57
3.6 编译BASIC与汇编语言接口 59
第四章 代码转换 62
4-1 二进制数转换成压缩型BCD数(BIN2BCD) 62
4-2 压缩型BCD数转换成二进制数(BCD2BIN) 63
4-3 十六位二进制转换成压缩型BCD数(B2BCDW) 64
4-4 四位压缩型BCD数转换成十六位二进制数(BCDW2B) 66
4-5 二进制数转换成十六进制的ASCⅡ数(BIN2ASC) 68
4-6 十六进制的ASCⅡ数转换成二进制数(ASC2BIN) 69
4-7 无符号二进制数转换成ASCⅡ字符串(UBIN2$) 70
4-8 有符号二进制数转换成ASCⅡ字符串(SBIN2$) 73
4-9 十进制ASCⅡ字符串转换成无符号二进制数($2UBIN) 76
4-10 十进制ASCⅡ字符串转换成有符号二进制数($2SBIN) 78
第五章 串操作 82
5.1 无序序列操作 82
5-1 用字节值填充存储器(FILLMEMB) 82
5-2 用字值填充存储器(FILLMEMW) 83
5-3 查找一个字节(FINDBYTE) 85
5-4 查找一个字(FINDWORD) 86
5-5 求无符号字型序列的平均值(AVERAGEU) 88
5-6 求有符号字型序列的平均值(AVERAGES) 89
5-7 求无符号字节型序列的各元素之和(SUMUB) 90
5-8 求有符号字节型序列的各元素之和(SUMSB) 92
5-9 求无符号字节型序列中的最大值与最小值(MAXMINU) 94
5-10 求有符号字节型序列中的最大值与最小值(MAXMINS) 95
5-11 在无序字节型序列中添加一字节(ADDB2UL) 97
5-12 从无序字节型序列中删除一字节(DELBUL) 98
5.2 字符串操作 100
5-13 移动一字节块(MOVBLOCK) 100
5-14 比较两字节型数据块(COMPMEMB) 101
5-15 比较两字型数据块(COMPMEMW) 104
5-16 交换两字符串(SWITCHB) 105
5-17 交换两字串(SWITCHW) 107
5-18 转换成小写字母(TOLOWER) 108
5-19 转换成大写字母(TOUPPER) 109
5-20 在一字符串末添加一子字符串(APPEND$) 111
5-21 在一字符串中插入一子字符串(INSERT$) 113
5-22 在一字符串中检索一子字符串(FINDSUB$) 115
5-23 在一字符串中删除一子字符串(DELSUB$) 118
5-24 在一字符串中复制一子字符串(COPYSUB$) 121
5-25 在一字符串中移动一子字符串(MOVESUB$) 123
5.3 排序 125
5-26 将一无符号字节型序列排成升序(BUBBLEBA) 125
5-27 将一有符号字型序列排成升序(BUBBLEWA) 127
5-28 在一升序序列中检索一字节型数据(FINDBA) 129
5.4 有序序列的操作 129
5-29 在一升序序列中检索一字型数据(FINDWA) 132
5-30 在一升序序列中插入一字节(INSBA) 134
5-31 在一升序序列中插入一字(INSWA) 137
5-32 从一升序序列中删除一字节(DELBA) 139
5-33 从一升序序列中删除一字(DELWA) 141
第六章 多精度算术运算与逻辑操作 144
6.1 十进制算术运算 144
6-1 非压缩型BCD数加法(ADDUD16) 144
6-2 非压缩型BCD数减法(SUBUD16) 146
6-3 非压缩型BCD数乘法(MULUD16) 147
6-4 非压缩型BCD数除法(DIVUD16) 149
6-5 压缩型BCD数加法(ADDPD16) 152
6-6 压缩型BCD数减法(SUBPD16) 153
6-7 压缩型BCD数乘法(MULPD16) 155
6-8 压缩型BCD数除法(DIVPD16) 157
6.2 32位二进制数算术运算 159
6-9 32位无符号二进制数加法(ADDU32) 160
6-10 32位无符号二进制数减法(SUBU32) 161
6-11 32位无符号二进制数乘法(MULU32) 162
6-12 32位无符号二进制数比较(COMPU32) 165
6-13 32位二进制整数的平方根(SQRT32) 166
6-14 32位有符号二进制数加法(ADDS32) 168
6-15 32位有符号二进制数减法(SUBS32) 171
6-16 32位有符号二进制数乘法(MULS32) 173
6-17 32位有符号二进制数比较(COMPS32) 175
6.3 32位二进制数移位与循环移位操作 176
6-18 32位数算术左移(SAL32) 177
6-19 32位数算术右移(SAR32) 179
6-20 32位数逻辑右移(SHR32) 180
6-21 32位数循环左移(ROL32) 181
6-22 32位数循环右移(ROR32) 183
6-23 32位带进位循环左移(RCL32) 184
6-24 32位带进位循环右移(RCR32) 186
7.1 通用输入输出 188
第七章 输入输出操作 188
7-1 显示一字符串(LIST$) 189
7-2 读一字符串(GET$) 190
7-3 显示一字符(LISTCHR) 192
7-4 打印一字符(PRINTCHR) 193
7-5 读一字符〈不带回显〉(GETCHR) 194
7-6 读一字符〈带回显〉(GETCHRE) 197
7-7 发送一字符至串行口(SENDCAER) 199
7-8 从串行口读一字符(GETCSER) 200
7-9 响铃(BEEP) 202
7-10 十六进制数输入(HEXIN) 203
7-11 十六进制数输出(HEXOUT) 205
7-12 BCD数输入(BCDIN) 206
7-13 BCD数输出(BCDOUT) 207
7-14 带有符号的十进制数输入(SGNDEIN) 209
7-15 无符号十进制数输入(DECIN) 211
7-16 显示一字符块(DISPCHRB) 213
7.2 IBM PC专用输入输出 214
7-17 获得IBM PC型号(GETPCMOD) 215
7-18 置屏幕显示模式(SETSMODE) 216
7-19 清除屏幕(CLEARS) 218
7-20 读取光标位置(READCURS) 219
7-21 移动光标(MOVECURS) 220
7-22 在彩色屏幕上画一点(SETMDOT) 222
7-23 在彩色屏幕上用异或方式画点(XORMDOT) 224
7-24 读一点的颜色(READMDOT) 226
7-25 矩形区域内填充(RETMBOX) 228
7-26 用异或方式在矩形框内填充(XORMBOX) 234
7-27 画一条直线(SETLINE) 239
7-28 任意多边形填充(PAINT) 244
7-29 画一光栅字符(DRCHAR) 251
7-30 在彩色屏幕上显示一光栅字符串(GMESSOUT) 254
7-31 初始化串行通讯口(COMINIT) 256
7-32 通讯线输入校验(COMINCK) 258
7-33 通讯线输出(COMOUT) 260
7-34 通讯线开放(COMON) 261
7-35 通讯线关闭(COMOFF) 262
7.3 时间与音响 263
7-36 读取现行时间(GETTIME) 264
7-37 设置时间(SETTIME) 266
7-38 延时(DELAY) 270
7-39 读取日期(GETATE) 272
7-40 设置日期(SETDATE) 275
7-41 产生音响(SOUND) 278
7-42 演奏音乐(PLAY) 281
8-1 取当前盘的类型(GETDRIVE) 284
8.1 磁盘设备操作 284
第八章 磁盘及文件操作 284
8-2 选择磁盘驱动器(SETDRIVE) 286
8-3 读写校验开关(GETVERIF) 287
8-4 设置或清除写校验开关(SETVERIF) 288
8-5 获取磁盘剩余空间(DSKSPACE) 289
8.2 目录操作 291
8-6 显示错误信息(SHOWERR) 291
8-7 读取现行目录(GETDIR) 295
8-8 键入路径名(GETPATH) 297
8-9 建立子目录(MAKEDIR) 298
8-10 删除子目录(REMDIR) 300
8-11 改变当前目录(CHRDIR) 301
8.3 文件操作 303
8-12 文件重命名(RENFILE) 305
8-13 删除文件(DELFILE) 307
8-14 读文件属性(GETMODE) 309
8-15 改变文件属性(CHMODE) 310
8-16 查找第一个匹配文件(FINDF) 313
8-17 查找下一个匹配文件(FINDNXTF) 316
8-18 写保护文件(PROTF) 318
8-19 非写保护文件(UNPROTF) 321
8-20 隐含文件(HIDEF) 323
8-21 非隐含文件(UNHIDEF) 326
8-22 建立文件(NEWFILE) 328
8-23 打开文件(OPENFILE) 330
8-24 关闭文件(CLOSEFILE) 332
8-25 移动文件指针(MOVEPTR) 333
8-26 读文件(READFILE) 336
8-27 写文件(WRITFILE) 339
8-28 删除文件内容(EMPTYE) 343
第九章 中断与其他 346
9.1 中断向量 346
9-1 取中断向量(GETINTV) 346
9-2 置中断向量(SETINTV) 347
9-3 申请内存块(REQUIREM) 350
9.2 其他 350
9-4 释放内存块(FREEMEM) 352
9-5 修改内存(MODIFYM) 354
9-6 装入一个程序(LOADPRO) 356
9-7 返回程序终止状态码(PRCODEC) 360
9-8 取DOS版本号(GETDOSV) 361
附录一 ASCⅡ字符与编码对照表 363
附录二 IBM PC DOS中断向量一览表 364
附录三 DOS(3.10)系统功能调用表 371
附录四 工具库程序索引表(按字母顺序) 379
主要参考文献 383