《MS-DOS高级开发指南》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:虞育新等编写
  • 出 版 社:北京:学苑出版社
  • 出版年份:1994
  • ISBN:7507708217
  • 页数:487 页
图书介绍:

目录 1

第一章 结构化程序设计 1

1:结构化编程工具 1

简化语句的必要性 1

关于宏 2

LOCAL标号 4

宏列表命令 8

Macro库 8

宏重复语句—REPT 9

另外的宏重复语句—IRP和IRPC 11

关于宏的小结 12

条件汇编 12

关系操作符 17

条件汇编小结 18

条件汇编和宏 18

判断操作数类型 19

阶段错误和其它的MASM特点 20

串匹配—一个实例 21

分析宏参数 23

关于MASM中条件汇编和宏的警告 27

汇编语言中的结构控制语句 28

结构化控制宏如何工作 36

策略和警告 37

伪case宏 40

数据宏 41

代码宏 46

条件宏 47

宏与子程序的比较 47

宏嵌套 48

关于宏的更多特征 49

调用子程序的宏 50

使用STRUC语句 52

多个结构定位数据 53

结构作为子程序参数 55

小结 56

第二章 结构化程序设计 56

设计选择项 57

模块化程序设计原理 57

2:模块化程序的设计与实现 57

设计功能上独立的单元 58

设计成具有最少的传递参数 58

设计成具有最少的调用数 58

模块化的规则 59

在汇编语言中实现模块化程序 59

参数、自变量、变量和常数定义 60

参数和模块 60

参数传递选项 61

使用值或地址传送参数 67

函数与子程序比较 68

例外报告 69

编码类型 69

程序代码定位 70

程序代码类型 71

代码定位小结 78

与高级语言的接口 79

MicrosoftC的调用约定 79

MicrosoftPascal调用约定 80

MicrosoftBASIC和FORTRAN的调用约定 81

Microsoft的段模式 82

在内存中分配和使用局部存贮 82

MS-DOS内存管理介绍 84

保护数据和控制数据的范围 86

保护栈的完整性 88

小结 88

扩展的(Expanded)和扩充的(Extended)内存 89

MS-DOS物理内存映象 89

MS-DOS内存 89

第三章 程序和内存管理 89

利用MS-DOS内存 90

MS-DOS内存链 92

程序环境块 99

MS-DOS进程 100

MS-DOS进程上下文 101

程序段前缀(PSP) 101

MS-DOS进程文件.EXE与.COM比较 109

内存驻留程序 114

定义一个运行时库 114

覆盖 114

从命令行装入内存驻留例程 115

通过int存取内存驻留例程 117

判断一个内存驻留程序是否安装 123

移去内存驻留例程 124

功能4Bh—装入并执行程序 124

通过MS-DOS(代码4Bh,AL=0)装入并执行程序 129

使用功能4Bh执行MS-DOS命令 130

子程序的继承性和控制 130

一个重要警告 131

通过MS-DOS(代码4Bh,AL=3)装入程序覆盖 131

从父程序存取程序覆盖 132

装入内存驻留程序 134

一种特殊情况:部分时间运行时库 134

上下文切换和栈切换 135

对栈切换的附加考虑 137

ROM_BIOS与可安装BIOS 138

中断与轮询系统比较 138

内存驻留附注 138

插入中断向量 139

REMOVE—一个完整的程序例子 142

小结 149

第四章 终止并驻留程序 150

概述 150

PC机硬件 151

硬件中断 151

键盘 152

定时器中断 152

软件中断 152

显示器(硬件部分) 153

捕获中断 156

设置热键 156

捕获Int1ch的选择 161

显示器控制 162

与DOS打交道 164

DOSI/O数据结构 164

BIOS调度器,Int21h 170

DOS全局变量 171

字符I/O程序 171

间断处理 172

致命错误处理 172

加载程序 173

程序终止 174

TSR的加载初始化 174

查验DOS版本 175

TSR程序驻留副本的定位 175

记录关键部分(INDOS)和致命错误地址 179

记录PSP地址 179

捕获中断矢量 180

检测显示器类型 181

释放环境 182

程序终止 183

重新激活及DOS的结构和服务 184

确定能否安全地重新激活 184

堆栈切换存贮寄存器内容 185

间断和致命错误陷阱 186

处理DOS全局变量 187

使用Int28h的后台处理 188

从存贮器中删除TSR程序 192

小结 193

第五章 实时编程 194

实时系统概述 194

什么是实时系统 194

实时系统的特性 195

实时系统的基本类型 195

典型定时要求和实时解决方法 197

MS-DOS的实时应用 199

MS-DOS有多快? 200

几种数据传输方式的比较 207

编写快速程序的技术 207

使用MS-DOS的实时系统设计 209

实例—一个简单家庭控制系统 211

查询系统 213

带中断的主循环 214

循环制表器 215

决定设计方法 217

MS-DOS中的多任务 218

IBM-PCAT中的多任务设置 218

小结 219

为什么使用设备驱动程序? 220

第六章 可安装的设备驱动程序(一) 220

何时使用设备驱动程序 221

不可再入的MS-DOS带来的限制 221

安装设备驱动程序 222

CONFIG.SYS文件 223

利用ASSIGN替代磁盘设备驱动程序 226

设备驱动程序的类型 227

在MS-DOS中存取设备驱动程序 227

利用文件把柄存取设备 228

功能44h—针对设备的I/O控制 228

CP/M式字符设备I/O 228

利用FCB(文件控制块)存取设备 228

经由IOCTL命令进行配置 231

利用中断25h和26h进行的直接磁盘存取 231

Verify开关 232

I/O摘要 232

第七章 可安装的设备驱动程序(二) 233

编写设备驱动程序 233

设备头 234

策略例程 238

中断例程 239

驱动程序命令 243

创建可装入的设备驱动程序文件 254

调试设备驱动程序 255

在系统中显示设备驱动程序 256

无所不在的虚拟盘 262

摘要 279

异步串行通信的基本知识 280

第八章 串行端口程序设计(一) 280

校验和错误捕获 282

同RS-232C标准通信 282

用XON/XOFF进行流控制 283

从程序设计的角度看待串行端口 284

中断驱动的串行I/O 286

来自串行适配器的中断 286

8259A可编程中断控制器 288

8259A程序设计 289

利用BIOS进行串行通信 291

驱动程序、内存驱留程序(TSR)或独立的程序 291

第九章 串行端口程序设计(二) 291

利用MS-DOS工具对串行端口编程 291

为中断驱动串行I/O操作进行设置工作 294

处理串行端口产生的中断 295

中断处理程序中的队列 297

在关张前先清除 297

示例程序 298

摘要 308

NPX的编程人员观点 309

NPX中的数据寄存器 309

第十章 IntelNPX编程 309

NPX中的浮点实数表达 310

NPX中使用的其它数据格式 312

数据类型总结 314

NPX指令集 315

FWAIT前缀 315

NPX的寻址方式 318

FINIT和FFREE指令 319

控制NPX 319

使用MASM和NPX 323

使用MS-DOS工具和NPX 323

MASM中的NPX数据类型 324

MASM的NPX开关——/r和/e 324

用MASM的NPX编程例子 326

FWAIT和FINIT指令 326

DUMP87程序 327

NPX用于二进制和十进制转换 338

总结 347

第十一章 磁盘布局和文件恢复 348

51/4英寸40道单面软盘的布局 349

文件恢复原理 349

51/4英寸40道双面软盘布局 350

51/4英寸80道双面软盘布局 351

启动扇区 352

目录扇区 373

文件分配表(FAT)扇区 375

译码FAT项 378

用CHKDSK和RECOVER恢复被毁文件 381

簇转换成逻辑扇区 381

文件恢复过程综述 381

恢复被删文件 382

基础知识 382

恢复被删文件硬方法 384

使用RESCUE程序 385

使用Norton实用程序 398

使用Ultra实用程序 399

总结 399

从字处理/正文编辑失败中恢复 400

第十二章 内存丢失数据的恢复 400

总结 403

第十三章 MS-DOS版本间的差异 404

概要 404

一般兼容建议 404

高级语言考虑 407

MS-DOS中断 408

以兼容方式执行功能调用 409

执行功能调用标准方法 409

功能调用 409

再一个方法(只适用MS-DOS2.00和更高版本) 410

不同版本支持的功能 410

程序终止组 416

标准字符设备输出/输出组(01h-0Ch) 417

标准文件管理组(0Dh-24h,27h-29h) 417

标准非设备功能(25h,26h,2Ah-2Eh) 417

扩充(一般)功能组(2Fh-38h,4Ch-4Fh,54h-5Th,59h-5Fh,62h) 417

错误代码 418

关键或硬错误代码(通过Int24h) 418

目录 组(39h-3Bh,47h) 418

内存/进程管理组(48h-4Bh) 418

功能调用错误返回代码(只在MS-DOS2.0和更高版本) 419

功能调用扩充错误信息(只在MS-DOS3.0和更高版本) 422

磁盘格式 424

文件操作 426

使用文件控制块(FCB) 426

MS-DOS文件处理 426

相同点 427

MS-DOS和IBMPC及IBMPS/2 427

不同点 428

与其它操作系统兼容 429

CP/M-80 429

CP/M-86和并行CP/M-86 430

并行PC-DOS和并行DOS-286 430

XENIX和UNIX 431

概要 431

为MASM5以前版本使用批文件 432

使用批文件自动化汇编过程 432

附录A开发工具 432

为MASM5和更高版本使用批文件 434

使用Microsft的MAKE工具 437

使用模板建立.COM和.EXE程序 438

使用库程序 457

附录B 未公布的MS-DOS中断和功能 474

未公布的MS-DOS中断 474

中断28h(40):DOS安全中断 474

中断29h(41):控制台设备输出 474

功能IFh(31):为缺省设备定位磁盘块信息 475

未公布的中断21h(33)功能调用 475

中断2Ah(42)至2Dh(45):MS-DOS内部程序 475

中断2Eh(46):COMMAND处理器后门 475

中断30h(48)至FFh(255) 475

功能32h(50):为指定设备定位磁盘块信息 476

功能34h(52):获得MS-DOS忙标记 476

功能37h(55):获得/设置转换字符 477

功能50h(80):设置PSP段 477

功能51h(81):获得PSP段 477

功能52h(82):获得表的MS-DOS表地址 477

功能58h(88):获得/设置内存分配策略 478

功能60h(96):分解路径串或完全合格的路径串 478

功能53h(83):转换BIOS参数块(BPB)为磁盘块 478

功能55h(85):建立PSP块 478

功能63h(99):获得引导字节表 479

附录C ASCII交叉引用和数值转化 480

不可打印的ASCII字符定义 482

十六进制到十进制转化 484

十进制到十六进制转化 484