第一章 组合语言的回顾 1
组合语言的心脏 2
MOV 2
CMP 4
THE Jumps 6
从基础到多样化 7
INC 8
PUSH与POP 8
ADD与SUB 10
SHR与SHL 11
AND与OR 11
岔断(Interrupt) 12
在我们继续深入之前 14
第二章 COM档案 17
EXE与COM 18
在COM档案里没有堆叠 20
假如你已经看过一个 21
程式节段前置(Program Segment Prefix) 22
资料 24
程序本身 25
结束程序节段 26
使用COM 27
最后叮咛 28
第三章 CLEANUP.COM--探讨 29
搜寻档案 31
程式节段前置控制区 32
一个位元接一个位元 33
剩下的区域 38
第四章 CLEANUP 39
关于档案控制区段 39
搜寻欲删除的档案 40
输入:YES或NO? 44
列印档名的回圈 49
读取答案 53
删除 54
从TOP处继续执行 56
第五章 PC与磁碟 61
UNDEL 61
打开磁碟机 63
逻辑 上的区段 64
丛集(CLUSTER) 64
目录与档案配置表 65
磁碟的内部 66
档案配置表作些什么事 67
读取一个档案 68
第六章 删除与FAT 71
写入一个档案 71
转到FAT上 72
实际上的FAT 75
删除 77
在我们掌握中的目录 78
找出它在那一磁碟 81
读入目录 83
假如没有符合的档案 85
CLUSTER_I_O 86
第七章 寻找被删除之档案 89
上个论题 89
副程式 90
丛集的输出入 92
资料 95
寻找被删除的档案 98
寻找δ 101
使用REPE CMPS来查验档名 103
第八章 完成救援的工作 109
重建目录 110
写入磁碟 112
进入FAT的关键 113
共有多少个丛集? 114
修复FAT 117
读入FAT 117
此档案是否被覆写(write over)了 120
假如我们遗失了资料 121
填入FAT 122
将此FAT写到磁碟上 124
第九章 进入FAT中 127
PUT-FAT-ENTRY 127
GET-NEXT-ZERO 131
检查/A(或/a) 135
列印一段提示 138
结论 141
假如你使用的是DOS 1.1 142
第十章 时钟 157
剧作 157
解救的辨法 158
什么使它执行 159
岔断 159
硬体岔断 162
遮断(Interception) 164
一个新节段 165
改变DOS的跳越位址 167
配置我们新的位址 170
将THE_PROG附著于DOS 171
冒充一个岔断 171
第十一章 如何在萤幕上显示 175
BOOSTER 175
萤幕 181
设定游标 183
视讯控制器 185
SCREEN节段 187
将CLOCK固定于记忆体 190
如BIOS般的工作 190
将其放在萤幕上 192
完成显示的工作 195
第十二章 CLOCK与CALC 199
现在是什么时间? 199
资料节段 201
程式节段 202
取得时间 205
使用CALC来计算时间 207
ASCII的乘法调整 210
进入DISPLAY 215
分钟 216
第十三章 ONEKEY 229
简化 230
这不是DOS 231
键盘暂存区 232
扫瞄码及键盘 233
ONEKEY 235
ONEKEY的第二部分 236
区段(Segment) 237
启动程式(Booster) 239
第十四章 接收字元 245
读取字元 245
INTERCEPT_KEYBOARD_INT 246
触发键 252
卷绕(Wrapping) 253
是否我们要的? 255
匹配打入的键 258
指到命字串 261
第十五章 载入键盘暂存区 265
STUFF 265
暂存区满了吗? 267
填入键盘暂存区 270
定时器接收 273
INTERCEPT_TIMER的剩余部分 278
运用之前 280
把你的字元放入ONEKEY 280
第十六章 NPAD 295
笔记板 295
NPAD看起来像什么 297
简易的储存 298
NPAD的程序 299
模组(Modules) 302
切换(Toggling) 304
如果不是^N 305
^N的测试模组 306
记忆体内的笔记板 307
MOV ATTRIBUTE,7 309
MOV PAD_OFFSET,250 309
PAD_CURSOR 311
萤幕复原 311
第十七章 NPAD的萤幕I/O 313
完成IO的准备工作 313
消除笔记板 314
IO 314
BIOS之资料区域 320
IO的显示回路 322
IO的回路 326
结束 327
IO_CHAR 328
PUT_CHAR 330
离开 334
第十八章 按键识别 335
显示笔记板 335
备存萤幕上的重叠区域 336
DISPLAY 339
要接受字元吗? 342
模组 345
DEL模组 345
擦字模组(Rubout Module) 347
返回键(Carrige Returns) 350
字元(Characters) 355
你的NPAD版本 358
第十九章 DEBUG基础入门摘要 367
PROTECT 368
利用DEBUG对DOS进行探讨 368
第二十章 PROTECT#;PC上的档案保护功能 373
中途截断并移去删除指令 373
驱动器(The Booster) 375
移去删除功能的步骤 376
PROTECT_SHARP 378
测试 380
我们自行删除档案 381
使用CLEANUP的部份功能 382
DOS传递给我们的FCB 382
DEL_CHECK 386
开始搜寻合格的档案 388
假使目录内找不到合格的档案 390
第二十一章 搜寻与删除 393
DOS及系统的删除工作 394
TOP 398
印出档案的名称 399
THELOOP回路 401
二个重要的旗标 403
删除抑或绕道而行 407
删除 408
寻找下一个合格的档案 409
恢复正常状态 411
第二十二章 DEBUG 419
DBUGSCAN 420
一个应用实例 421
另一个范例 425
DEBUG指令群介绍 427
追踪程式的执行(Trace) 428
由I/O埠输入及输出资料(Input and Output) 430
搬移内容(Move) 431
计算十六进制(Hex) 431
显一示暂存器内容(Register) 432
执行程式(Go) 432
填入(Fill) 434
比较指定位置的内容(Compare) 435
总结 435
第二十三章 侦错(Debugging)的实际运作 437
档案的属性(Attribute) 437
初次尝试 439
使用DEBUG开始侦错 440
第二十四章 2的补数(Two’s Complementing) 453
负号 454
符号位元 454
进位旗标 456
新的跳越(Jumps)指令,非新的数值 457
2的补数 459
第二十五章 部份精确度分析 463
加法 463
减法 464
乘法 465
除法 466
将范例电脑程式化 469
程式码的内容 472
比较DX:AX和BX:CX之内容 474
CMP DX:AX,BX:CX 476
第二十六章 磁碟监管(Watchdog) 479
DSKWATCH 479
磁碟机之旅 480
读取磁碟片的结果正确否? 481
磁碟错误一览表(Catalog) 481
DSKWATCH程式 483
监视磁碟机 485
何时会产生磁碟错误 492
NEC错误码之解码 496
停止DSKWATCH 497
使用前说明 498
第二十七章 图案设计家字元(Designer Characters) 503
添加另一半之字元表 503
萤幕上的显示 507
结语 508