mirror of https://github.com/AR1972/DOS3.3
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
227 lines
4.3 KiB
227 lines
4.3 KiB
|
|
_ _ | | _ _
|
|
|
|
|
|
Contents
|
|
|
|
_ ________________________________________________________________
|
|
|
|
1 System Calls 1
|
|
|
|
1.1 Introduction 3
|
|
1.2 Standard Character Device I/O 4
|
|
1.3 Memory Management 5
|
|
1.4 Process Management 7
|
|
1.5 File and Directory Management 9
|
|
1.6 Microsoft Networks 14
|
|
1.7 National Language Support 15
|
|
1.8 Miscellaneous System-Management Functions 16
|
|
1.9 Old System Calls 17
|
|
1.10 Using the System Calls 21
|
|
1.11 Interrupts 35
|
|
1.12 Function Requests 53
|
|
|
|
2 MS-DOS Device Drivers 323
|
|
|
|
2.1 Introduction 325
|
|
2.2 Format of a Device Driver 326
|
|
2.3 How to Create a Device Driver 328
|
|
2.4 Installing Device Drivers 329
|
|
2.5 Device Headers 330
|
|
2.6 Request Header 334
|
|
2.7 Device Driver Functions 337
|
|
2.8 The Media Descriptor Byte 351
|
|
2.9 Format of a Media Descriptor Table 351
|
|
2.10 The CLOCK Device 353
|
|
2.11 Anatomy of a Device Call 354
|
|
2.12 Two Sample Device Drivers 355
|
|
|
|
3 MS-DOS Technical Information 383
|
|
|
|
3.1 Introduction 385
|
|
3.2 MS-DOS Initialization 385
|
|
3.3 The Command Processor 386
|
|
3.4 MS-DOS Disk Allocation 387
|
|
3.5 MS-DOS Disk Directory 387
|
|
3.6 File Allocation Table (FAT) 390
|
|
3.7 MS-DOS Standard Disk Formats 392
|
|
|
|
4 MS-DOS Control Blocks
|
|
and Work Areas 395
|
|
|
|
iii
|
|
|
|
_ _ | | _ _
|
|
|
|
|
|
_ _ | | _ _
|
|
|
|
Contents
|
|
|
|
4.1 Introduction 397
|
|
4.2 Typical Contents of an MS-DOS Memory Map 397
|
|
4.3 MS-DOS Program Segment 398
|
|
|
|
5 National Language Support 403
|
|
|
|
5.1 Introduction 405
|
|
5.2 National Language Support Calls 405
|
|
5.3 Font Files 406
|
|
|
|
6 .Exe File Structure and Loading 411
|
|
|
|
6.1 Format of a File Header 413
|
|
6.2 The Relocation Table 414
|
|
|
|
7 Microsoft Relocatable
|
|
Object Module Formats 417
|
|
|
|
7.1 Introduction 419
|
|
7.2 Module Identification and Attributes 423
|
|
7.3 Conceptual Framework for Fixups 425
|
|
7.4 Record Sequence 431
|
|
7.5 Introducing the Record Formats 433
|
|
7.6 Microsoft Type Representations
|
|
for Communal Variables 460
|
|
|
|
8 Programming Hints 463
|
|
|
|
8.1 Introduction 465
|
|
8.2 Interrupts 465
|
|
8.3 System Calls 466
|
|
8.4 Device Management 467
|
|
8.5 Memory Management 468
|
|
8.6 Process Management 468
|
|
8.7 File and Directory Management 469
|
|
8.8 Miscellaneous 471
|
|
|
|
|
|
iv
|
|
|
|
_ _ | | _ _
|
|
|
|
|
|
_ _ | | _ _
|
|
|
|
|
|
Figures
|
|
|
|
_ ________________________________________________________________
|
|
|
|
Figure 1.1 Example of the 8088 Registers 25
|
|
|
|
Figure 1.2 Sample Program with Common Skeleton 26
|
|
|
|
Figure 2.1 Sample Device Header 330
|
|
|
|
Figure 2.2 Attribute Word for Character Devices 333
|
|
|
|
Figure 2.3 Attribute Word for Block Devices 333
|
|
|
|
Figure 2.4 Request Header 335
|
|
|
|
Figure 2.5 Format of a Boot Sector 352
|
|
|
|
Figure 2.6 Format of a Clock Device 354
|
|
|
|
Figure 4.1 Program Segment Prefix 402
|
|
|
|
Figure 5.1 Font File Structure 407
|
|
|
|
Figure 7.1 Location Types 427
|
|
|
|
|
|
|
|
v
|
|
|
|
_ _ | | _ _
|
|
|
|
|
|
_ _ | | _ _
|
|
|
|
|
|
Tables
|
|
|
|
_ ________________________________________________________________
|
|
|
|
Table 1.1 Standard Character I/O Function Requests 4
|
|
|
|
Table 1.2 Memory Management Function Requests 5
|
|
|
|
Table 1.3 Process-Management Function Requests 7
|
|
|
|
Table 1.4 Predefined Device Handles 9
|
|
|
|
Table 1.5 File-Related Function Requests 10
|
|
|
|
Table 1.6 File-Sharing Function Requests 11
|
|
|
|
Table 1.7 Device-Related Function Requests 12
|
|
|
|
Table 1.8 Directory-Related Function Requests 12
|
|
|
|
Table 1.9 File Attributes 13
|
|
|
|
Table 1.10 Microsoft Networks Function Requests 14
|
|
|
|
Table 1.11 National Language-Support Function Requests 15
|
|
|
|
Table 1.12 Miscellaneous System-Management Function Requests 16
|
|
|
|
Table 1.13 Old System Calls and Their Replacements 17
|
|
|
|
Table 1.14 Format of the File Control Block (FCB) 18
|
|
|
|
Table 1.15 Error Codes Returned in AX 22
|
|
|
|
Table 1.16 MS-DOS Interrupts, Numeric Order 27
|
|
|
|
Table 1.17 MS-DOS Interrupts, Alphabetic Order 27
|
|
|
|
Table 1.18 MS-DOS Function Requests, Numeric Order 28
|
|
|
|
Table 1.19 MS-DOS Function Requests, Alphabetic Order 31
|
|
|
|
Table 1.20 Bit values for Function 29H 133
|
|
|
|
Table 1.21 Sharing Mode Bit Values 174
|
|
|
|
Table 1.22 Access Code Bit Values 175
|
|
|
|
Table 1.23 MS-DOS Data Bit Values 193
|
|
|
|
Table 1.24 Contents of the Parameter Block 239
|
|
|
|
Table 1.25 Contents of the Parameter Block 243
|
|
|
|
Table 1.26 250
|
|
|
|
Table 1.27 Allocation Strategy 263
|
|
|
|
Table 2.1 For Character Devices: 331
|
|
|
|
vi
|
|
|
|
_ _ | | _ _
|
|
|
|
|
|
_ _ | | _ _
|
|
|
|
Contents
|
|
|
|
Table 2.2 For Block Devices: 331
|
|
|
|
Table 3.1 MS-DOS Standard Removable-Disk Formats 393
|
|
|
|
Table 3.2 MS-DOS Standard Removable Disk Formats (High-Density) 393
|
|
|
|
Table 7.1 Object Module Record Formats 419
|
|
|
|
Table 7.2 Combination Attribute Example 438
|
|
|
|
|
|
|
|
vii
|
|
|
|
_ _ | | _ _
|
|
|