目录 1
译者序 1
原著序 1
第1章 CP/M的结构与作业功能 1
1.1 简介 1
1.2 记忆体的结构 2
1.3 CP/M的作业功能 8
1.4 第一个可执行的程式 16
1.5 总结 20
第2章 复制和更改CP/M磁碟 23
2.1 摘要 23
2.2 订定格式与复制磁碟片 24
2.3 更改BIOS的一般性程序 31
2.4 找出工作的BIOS版本之位置 33
2.5 组合BIOS或USER的原始程式 36
2.6 把更改后的BIOS版本拷贝至磁碟上 41
2.7 总结 50
第3章 在BIOS内加入新的特性 53
3.1 摘要 53
3.2 组合语言程式规划 54
3.3 BIOS入口向量 63
3.4 经由侦错程式来启动列表机 67
3.5 一个用来连系与解开列表机的控制程式 69
3.6 经由CP/M IOBYTE来启动列表机 71
3.7 加入一个「列表机—待命」的常规 81
3.8 经由IOBYTE来达成直接的列表输出 91
3.9 把列表输出储存在记忆体贮藏所 94
3.10 总结 107
第4章 巨集库存常规 111
4.1 摘要 111
4.2 巨集 112
4.3 使用8080组合程式产生Z80指令 118
4.4 8080与Z80的选择 121
4.5 巨集库存常规 125
4.6 巨集MOVE—用来搬移资讯 142
4.7 巨集FILL—把常数填入记忆体内 164
4.8 巨集COMPAR—比较两个段落内的资讯 169
4.9 巨集UCASE—把小写字母转换成大写字母 176
4.10 巨集AMBIG—把含糊的档案名称转换成不含糊的档案名称 180
4.11 巨集UPPER—把高阶的4个位元搬到低阶的位置上 183
4.12 巨集SBC—执行16位元的减法运算 185
4.13 总结 186
第5章 使用BDOS处理非磁碟性的作业 189
5.1 摘要 189
5.2 BDOS呼叫 190
5.3 巨集SYSF—产生一般性的BDOS呼叫 193
5.4 巨集READCH—从主控机处读入一个文字 195
5.5 巨集PCHAR—显示单一的文字至主控机上 197
5.6 巨集CRLF—显示归位和跳行文字 200
5.7 用来测试巨集SYSF,READCH,PCHAR,和CRLF的程式 201
5.8 印出一串文字 203
5.9 自动判断目前是使用那一种CPU 213
5.10 巨集OUTHEX—把二元数目转换成16进位文字 216
5.11 巨集CPMVER—决定CP/M的版本编号 222
5.12 用来显示IOBYTE数值的程式 224
5.13 程式GO—分支到任意的记忆体位置 238
5.14 程式PAGE—使列表机做跳页的动作 241
5.15 总结 244
第6章 利用BDOS来读取磁碟档案 247
6.1 摘要 247
6.2 档案控制段落 248
6.3 巨集ERRORM—显示错误讯息并且终止程式执行 252
6.4 开启一个已经存在的磁碟档案 254
6.5 巨集SETDMA—设定DMA的位址 261
6.6 巨集READ—读入一个磁碟的磁区 263
6.7 巨集GFNAME—输入一个档案名称 265
6.8 显示ASCII档案于主控机上 269
6.9 巨集ABORT—从主控机上迫使程式终止执行 274
6.10 显示二元档案于主控机上 276
6.11 自动地书写信封之姓名地址 281
6.12 检查控制文字对 287
6.13 总结 293
第7章 利用BDOS来写入磁碟档案 297
7.1 摘要 297
7.2 巨集MAKE—建立新的磁碟档案 298
7.3 设定磁碟档案为R/W属性 300
7.4 巨集PFNAME—印出FCB的档案名称 305
7.5 巨集DELETE—删除一个磁碟档案 307
7.6 使用侦错程式来观察两个档案控制段落 309
7.7 如何处理两个磁碟档案 312
7.8 巨集RENAME—重新命名一个磁碟档案 317
7.9 巨集WRITE—写入一个磁碟磁区的资讯 320
7.10 巨集CLOSE—关闭磁碟档案 321
7.11 复制一个磁碟档案 324
7.12 为一个ASCII档案编密码 329
7.13 使用大量的记忆体缓冲器来拷贝一个磁碟档案 335
7.14 缓冲器式的拷贝程式,并且包含验证的工作 345
7.15 程式RENAME—重新命名磁碟档案 353
7.16 程式DELETE—删除磁碟档案 359
7.17 把记忆体贮藏所的内容储存在磁碟上 364
7.18 总结 367
第8章 CP/M磁碟目录 371
8.1 摘要 371
8.2 磁碟参数 372
8.3 磁碟参数段落 375
8.4 显示出磁碟参数 381
8.5 磁碟目录段落 400
8.6 段落订位对映表 403
8.7 显示出磁碟目录段落和段落订位对映表 406
8.8 总结 427
附录A ASCII文字集 431
附录B 64K的记忆体对映表 437
附录C 8080指令集(按字母顺序) 443
附录D 8080指令集(按数值的顺序) 447
附录E Z80指令集(按字母顺序) 451
附录F Z80指令集(按数值的顺序) 459
附录G 8080指令集的细节 469
附录H Z80指令集的细节 495
附录I CP/M BDOS的功能 531