第一部份 IBM PC基本观念的介绍 1
第一章 绪论 3
第二章 组合语言程式 5
2-1前言 5
2-2电子式的资料表示法 5
2-2-1二进位 5
2-2-2十六进位 6
2-2-3二的补数 6
2-2-4 ASCII码 7
2-3原始叙述 7
2-3-1常数 7
2-3-2变数 9
2-3-3组合语言指令 10
2-3-4虚拟操作码 11
2-3-5运算子 20
2-4撰写程式的步骤 23
2-4-1程式说明 23
2-4-2程式编辑 24
2-4-3编译程式 25
2-4-4原始程式列示档 25
2-4-5程式对照表 27
2-4-6程式联结 27
2-5结语 28
第三章 8088结构 29
3-1前言 29
3-2 PC系统主机板 29
3-2-1主机板方块图 30
3-2-2主记忆体 32
3-2-3系统支援装置 34
3-2-3-1 8259中断控制器 35
3-2-3-2 8255可程式周边界面 37
3-2-3-3 8253计时器 39
3-3 8088结构 41
3-3-1 8088方块图与暂存器组 41
3-3-2进一步探讨8088方块图 44
3-3-2-1指令流位元组伫列 44
3-3-2-2执行单元控制系统 44
3-3-2-3记忆体管理 45
3-3-3旗标 46
3-3-4 8088与8086比较 48
3-3-5 8086/8088与Z8000及MC 68000比较 48
3-4记忆体 51
3-4-1记忆位址分节法 51
3-4-2堆叠运算 53
3-5结语 56
第四章 8088定址方式 57
4-1前言 57
4-2 8088指令格式 58
4-3程式定址方式 62
4-3-1程式相对定址法 62
4-3-2直接定址法 63
4-3-3间接定址法 63
4-4资料定址方式 63
4-4-1立即定址法 63
4-4-2暂存器定址法 64
4-4-3暂存器间接定址法 65
4-4-4直接定址法 65
4-4-5隐含式定址法 66
4-4-6索引定址法 67
4-4-7基底定址法 68
4-4-8堆叠定址法 69
4-5结语 69
第五章 8088指令集 71
5-1前言 71
5-2指令集泛论 72
5-2-1记忆体运算元 72
5-2-2分节凌越 72
5-2-3暂存器运算元 73
5-2-4立即运算元 73
5-3指令集之架构 73
5-3-1资料转移指令 73
5-3-2算术与逻辑运算指令 75
5-3-3旋转、移位指令 76
5-3-4字串处理指令 77
5-3-5控制转移与处理机控制指令 78
5-3-6特殊指令 79
5-4结语 79
第六章 DOS与BIOS 81
6-1前言 81
6-2 OS的目的与功能 82
6-3 DOS 83
6-3-1 DOS的结构 83
6-3-2 DOS命令的型态 84
6-3-3 DOS命令的使用 85
6-3-4 DOS的记忆配置图 88
6-4 BIOS 89
6-5结语 92
第二部份 IBM PC组合语言指令集与应用实例 95
第七章 虚拟操作指令 101
7-1前言 101
7-2资料虚拟指令(Data Pseudo-ops) 102
7-2-1 ASSUME设定虚拟指令 102
7-2-2 COMMENT说明虚拟指令 103
7-2-3 DB位元组定义 104
7-2-4 DD双字组定义 104
7-2-5 DQ 8位元组定义 105
7-2-6 DT 10位元组定义 105
7-2-7 DW字元组定义 106
7-2-8 END程式终结 106
7-2-9 EQU共值 107
7-2-10 =等值 107
7-2-11 EVEN偶数边界 108
7-2-12 EXTRN外部引用 108
7-2-13 GROUP群体定义 109
7-2-14 INCLUDE引进程式 110
7-2-15 LABEL符号定义 111
7-2-16 NAME名称定义 111
7-2-17 ORG程式计数器调整 112
7-2-18 PROC程序定义 112
7-2-19 PUBLIC程式外部引用 113
7-2-20 RADIX基底更换 113
7-2-21 RECORD录的定义 114
7-2-22 SEGMENT分节定义 115
7-2-23 STRUC结构定义 116
7-3条件虚拟指令(Conditional Pseudo-ops) 116
7-4巨集语言虚拟指令(MACRO Pseudo-ops) 117
7-5印表虚拟指令(Listing Pseudo-ops) 118
7-5-1 118
7-5-2 119
7-5-3 119
7-5-4 119
7-5-5 119
7-5-6 119
7-5-7 120
7-6结语 120
第八章 资料转移指令集 121
8-1前言 121
8-2一般用途指令 121
8-2-1 MOV 121
8-2-2 PUSH 127
8-2-3 POP 130
8-2-4 XCHG 132
8-2-5 XLAT 134
8-3输入输出指令 136
8-3-1 IN 136
8-3-2 OUT 137
8-4位址转移指令 138
8-4-1 LEA 138
8-4-2 LDS 139
8-4-3 LES 140
8-5旗标转移指令 141
8-5-1 LAHF 141
8-5-2 SAHF 141
8-5-3 PUSHF 142
8-5-4 POPF 142
8-6程式范例 143
8-6-1范例一 144
8-6-2范例二 145
第九章 算术与逻辑运算指令集 149
9-1前言 149
9-2算术运算 149
9-2-1加法指令 150
9-2-2减法指令 155
9-2-3乘法指令 161
9-2-4除法指令 163
9-2-5比较指令 166
9-3逻辑指令 167
9-3-1 AND指令 168
9-3-2 NOT指令 169
9-3-3 OR指令 170
9-3-4 XOR指令 171
9-3-5 TEST指令 172
9-4程式范例 174
9-4-1范例一 174
9-4-2范例二 175
9-4-3范例三 175
9-4-4范例四 175
9-4-5范例五 176
第十章 移位与旋转指令集 179
10-1前言 179
10-2移位指令 180
10-2-1 SHL与SAL指令 180
10-2-2 SHR指令 181
10-2-3 SAR指令 182
10-3旋转指令 182
10-3-1 ROL指令 182
10-3-2 ROR指令 183
10-3-3 RCL指令 184
10-3-4 RCR指令 185
10-4程式范例 186
10-4-1范例一 186
10-4-2范例二 187
第十一章 控制转移与处理机控制指令集 189
11-1前言 189
11-2控制转移指令 190
11-2-1无条件控制转移指令 190
11-2-2条件控制转移指令 195
11-2-3回圈控制转移指令 205
11-3处理机控制指令 209
11-3-1 CLC指令 209
11-3-2 CLD指令 209
11-3-3 CLI指令 210
11-3-4 CMC指令 210
11-3-5 STC指令 210
11-3-6 STD指令 211
11-3-7 STI指令 211
11-3-8 HLT指令 211
11-4程式范例 212
11-4-1范例一 212
11-4-2范例二 213
11-4-3范例三 214
11-4-4范例四 216
11-4-5范例五 217
11-4-6范例六 217
11-4-7范例七 218
第十二章 字串处理指令集 221
12-1前言 221
12-2字串处理指令之定址方式 221
12-3字串处理指令 222
12-3-1字串转移指令(MOVS) 224
12-3-2字串比较指令(CMPS) 225
12-3-3字串扫瞄指令(SCAS) 226
12-3-4字串载入指令(LODS) 228
12-3-5字串储存指令(STOS) 229
12-3-6重复前置指令(REP) 230
12-4字串指令的运用 231
12-4-1 MOVS的运用 231
12-4-2 CMPS的运用 232
12-4-3 SCAS的运用 234
12-4-4 LODS的运用 235
12-4-5 STOS的运用 235
12-5程式范例 236
12-5-1范例一 236
12-5-2范例二 236
12-5-3范例三 237
12-5-4范例四 238
第十三章 特殊指令与巨集语言虚拟操作指令 241
13-1前言 241
13-2特殊指令 241
13-2-1 WAIT 241
13-2-2 ESC 242
13-2-3 LOCK 242
13-2-4 NOP 243
13-3巨集语言虚拟操作指令 244
13-3-1 MACRO巨集定义 244
13-3-2 PURGE消除巨集定义 245
13-3-3 LOCAL巨集内指标 246
13-3-4 REPT重复区块 246
13-3-5 IRP不定重复区块 246
13-3-6 IRPC不定重复字元 247
13-3-7 ENDM 247
13-3-8 EXITM巨集定义出口 248
13-3-9巨集虚拟指令特殊字元 248
13-4程式范例 250
13-4-1范例一 250
13-4-2范例二 251
13-4-3范例三 252
13-4-4范例四 253
13-4-5范例五 253
13-4-6范例六 257
13-4-7范例七 259
13-4-8范例八 260
13-4-9范例九 262
第十四章 资料结构 265
14-1前言 265
14-2列串 266
14-2-1增加资料 266
14-2-2寻找资料 267
14-2-3删除资料 268
14-2-4资料排序 269
14-3有序列串 271
14-4表格结构 273
14-4-1某限定范围之函数运算 273
14-4-2固定码的转换 273
14-4-3储存副程式位址 274
14-5连接列串 274
14-6程式范例 276
14-6-1范例一 276
14-6-2范例二 277
14-6-3范例三 279
14-6-4范例四 282
14-6-5范例五 284
14-7结语 285
第十五章 磁碟I/O 287
15-1前言 287
15-2磁碟的基本观念 287
15-3系统呼叫:中断与功能请求 289
15-3-1档案控制区(FCB) 290
15-3-2扩充档案控制区 292
15-3-3目录项目(Directory Entry) 292
15-3-4中断(Interrupt) 294
15-3-5功能请求(Function Requests) 294
15-4经由DOS出入磁碟装置 298
15-4-1功能请求1AH——设定DTA 302
15-4-2功能请求0FH——档案的开用 302
15-4-3功能请求10H——档案的关闭 303
15-4-4功能请求14H——循序读取 304
15-4-5功能请求15H——循序写入 305
15-4-6功能请求21H——随机读取 305
15-4-7功能请求22H——随机写入 306
15-5经由BIOS出入磁碟装置 307
15-6程式范例 309
第十六章 BIOS 317
16-1前言 317
16-2 BIOS的结构简介 317
16-2-1开机后的系统自我测试(Power—On Self—Test,POST) 320
16-2-2系统馈入程式 321
16-3 BIOS的使用 321
16-4程式范例 328
16-4-1范例一 328
16-4-2范例二 329
第十七章 综合程式范例 333
17-1前言 333
17-2范例一:资料转移实例 333
17-3范例二:字串处理实例 336
17-4范例三:循序资料档I/O实例 339
17-5范例四:BIOS应用实例 343
17-6范例五:堆叠模拟实例 348
17-7范例六:功能请求(INT 21)应用实例 353
17-8范例七:键盘控制实例 357
17-9范例八:档案的处理(产生与加入资料记录) 362
17-10范例九:档案的处理(修正与删除资料记录) 370
17-11范例十:运算式翻译及执行模拟程式 379
第三部份 实务应用——KSAM之设计 391
第十八章 BASIC直译器之界面 393
18-1前言 393
18-2副程式记忆区之配置 394
18-3将副程式载入记忆区之方法 395
18-3-1由BASIC程式控制 395
18-3-2利用DEBUG(侦错程式)将副程式置于记忆区内 396
18-3-3由磁片上直接将程式载入记忆体内 397
18-4 BASIC程式呼叫副程式的方法 398
18-4-1相关的注意事项 398
18-4-2利用CALL呼叫副程式 399
18-4-3利用USR呼叫副程式 399
18-5传递大量资料之方法 400
第十九章 KSAM简介 403
19-1前言 403
19-2系统架构 403
19-3 KSAM资料结构 406
19-3-1什么是KSAM FILE的定义 406
19-3-2档案结构 406
19-3-3 DATA FILE与KEY FILE之间的关系 411
19-4 BASIC与KSAM的界面 414
19-5 KSAM工作区 414
19-6功能呼叫与参数传递 418
19-7结语 419
第二十章 KSAM主体 421
20-1前言 421
20-2功能呼叫解析器 422
20-3建立档案——CREATE 433
20-4复制档案——COPY 435
20-5消除档案——SCRATCH 437
20-6重新命名——RENAME 439
20-7开启档案——OPEN 441
20-8加入资料——ADD 444
20-9读取特定笔资料——FIND 448
20-10读取第一笔资料——FIRST 452
20-11读取前一笔资料——PREVIOUS 454
20-12读取下一笔资料——NEXT 458
20-13读取最后一笔资料——LAST 462
20-14更新资料——REPLACE 464
20-15删除资料——DELETE 467
20-16建立读取路径——BUILDK 472
20-17更改读取路径——START 472
20-18消除资料的读取路径——DELETEK 475
20-19关闭档案——CLOSE 477
第二十一章 支援副程式 481
21-1前言 481
21-2 COMPARE 481
21-3 COMPARE1 483
21-4 CHKDUP 484
21-5 CHKKEY 486
21-6 DATE_TIME 488
21-7 DEFKEY 490
21-8 ENDDUP 493
21-9 EXPDAT 495
21-10 EXPKEY 497
21-11 EXPDUP 499
21-12 FREEDUP 501
21-13 FREEKEY 505
21-14 GETDAT 506
21-15 GETDUP 508
21-16 GETKEY 509
21-17 MOVTOBAS 511
21-18 MOVNM 513
21-19 NEWBLK 515
21-20 PATH1 517
21-21 PATH2 519
21-22 READATA 521
21-23 READKEY 523
21-24 RETURN 525
21-25 SERKEY 526
21-26 WRTDAT 528
21-27 WRTKEY 530
21-28结语 532
第二十二章 应用实例 533
22-1前言 533
22-2选择画面 536
22-3新增/修改/删除资料 538
22-4检核资料 548
22-5结语 552
参考书籍 553
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《糊涂国王摸月亮 立体图形的组合》(韩)高滋贤文 2016
- 《英汉翻译理论的多维阐释及应用剖析》常瑞娟著 2019
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《虚拟流域环境理论技术研究与应用》冶运涛蒋云钟梁犁丽曹引等编著 2019
- 《当代翻译美学的理论诠释与应用解读》宁建庚著 2019
- 《第一性原理方法及应用》李青坤著 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019