`
`Foreword, Bill Gates
`General Editor, Ray Duncan
`
`ZTE (USA) 1007, Page 1
`
`
`
`The
`
`Encyclopedia
`
`ZTE (USA) 1007, Page 2
`
`
`
`Published by
`Microsoft Press
`A Division of Microsoft Corporation
`16011 NE 36th Way, Box 97017, Redmond, Washington 98073-9717
`Copyright © 1988 by Microsoft Press
`All rights reserved. No part of the contents of this book
`may be reproduced or transmitted in any form or by any means
`without the written permission of the publisher.
`
`I. Duncan, Ray, 1952-
`
`Library of Congress Cataloging in Publication Data
`The MS-DOS encyclopedia : versions 1.0 through 3.2 I
`editor, Ray Duncan.
`p.
`em.
`Includes indexes.
`1. MS-DOS (Computer operating system)
`11. Microsoft Press.
`QA76.76.063M74
`005.4'46--dc19
`ISBN 1-55615-174-8
`
`1988
`
`87-21452
`CIP
`
`Printed and bound in the United States of America.
`
`123456789RMRM321098
`
`Distributed to the book trade in the
`United States by Harper & Row.
`
`Distributed to the book trade in
`Canada by General Publishing Company, Ltd.
`
`Distributed to the book trade outside the
`United States and Canada by Penguin Books Ltd.
`
`Penguin Books Ltd., Harmondsworth, Middlesex, England
`Penguin Books Australia Ltd., Ringwood, Victoria, Australia
`Penguin Books N.Z. Ltd., 182-190 Wairau Road, Auckland 10, New Zealand
`
`British Cataloging in Publication Data available
`
`IBM®, IBM AT®, PS/2®, and Top View® are registered trademarks of International Business Machines Corporation.
`GW-BASIC®, Microsoft®, MS®, MS-DOS®, SOFTCARD®, and XENIX® are registered trademarks of
`Microsoft Corporation.
`
`Microsoft Press gratefully acknowledges permission to reproduce material listed below.
`Page 4: Courtesy The Computer Museum.
`Pages 5, 11, 42: Intel4004, 8008, 8080, 8086, and 80286 microprocessor photographs. Courtesy Intel Corporation.
`Page 6: Reprinted from Popular Electronics, January 1975 Copyright© 1975 Ziff Communications Company.
`Page 13: Reprinted with permission of Rod Brock.
`Page 16: Reprinted with permission of The Seattle Times Copyright© 1983.
`Pages 19, 34, 42: IBM PC advertisements and photographs of the PC, PC/XT, and PC/AT reproduced with
`permission of International Business Machines Corporation Copyright© 1981, 1982, 1984. All rights reserved.
`Page 21: "Big IBM's Little Computer" Copyright © 1981 by The New York Times Company. Reprinted by
`permission.
`"IBM Announces New Microcomputer System" Reprinted with permission of Info World Copyright© 1981.
`"IBM really gets personal" Reprinted with permission of Personal Computing Copyright© 1981.
`"Personal Computer from IBM" Reprinted from DATAMATION Magazine, October 1981 Copyright © by Cahners
`Publishing Company.
`"IBM's New Line Likely to Shake up the Market for Personal Computers" Reprinted by permission of The Wall
`Street Journal Copyright© Dow Jones & Company, Inc. 1981. All Rights Reserved.
`Page 36: "Irresistible DOS 3.0" and "The Ascent of DOS" Reprinted from PC Tech journal,
`December 1984 and October 1986. Copyright © 1984, 1986 Ziff Communications Company.
`"MS-DOS 2.00: A Hands-On Tutorial" Reprinted by permission of PC World from Volume 1, Issue 3, March 1983,
`published at 501 Second Street, Suite 600, San Francisco, CA 94107.
`
`Special thanks to Bob O'Rear, Aaron Reynolds, and Kenichi Ikeda.
`
`ZTE (USA) 1007, Page 3
`
`
`
`...
`
`Encyclopedia Staff
`
`Editor-in-Chlef: Susan Lammers
`
`Editorial Director: Patricia Pratt
`
`Senior Editor: Dorothy L. Shattuck
`
`Senior Technical Editor: David L. Rygmyr
`
`Special Projects Editor: Sally A. Brunsman
`
`Editorial Coordinator: Sarah Hersack
`
`Associate Editors and Technical Editors:
`Pamela Beason, Ann Becherer, Bob Combs,
`Michael Halvorson, Jeff Hinsch, Dean Holmes,
`Chris Kinata, Gary Masters, Claudette Moore,
`Steve Ross, Roger Shanafelt, Eric Stroo,
`Lee1 Thomas, JoAnne Woodcock
`
`Copy Chief: Brianna Morgan. Proofreaders:
`Kathleen Atkins, Julie Carter, Elizabeth
`Eisenhood, Matthew Eliot, Patrick Forgette,
`Alex Hancock, Richard Isomaki, Shawn Peck,
`Alice Copp Smith
`
`Editorial Assistants: Wallis Bolz, Charles Brod,
`Stephen Brown, Pat Erickson, Debbie Kern, Susanne
`McRhoton, Vihn Nguyen, Cheryl VanGeystel
`
`Index: Shane-Armstrong Information Services
`
`Production: Larry Anderson, Jane Bennett, Rick
`Bourgoin, Darcie S. Furlan, Nick Gregoric, Peggy
`Herman, Lisa Iversen, Rebecca Johnson, Ruth Pettis,
`Russell Steele, Jean Trenary, Joy Ulskey
`
`Marketing and Sales Director: James Brown
`
`Director of Production: Christopher D. Banks
`
`Publisher: Min S. Yee
`
`ZTE (USA) 1007, Page 4
`
`
`
`Contributors
`
`Ray Duncan, General Editor Duncan received a B.A. in Chemistry from the University of Califor-
`nia, Riverside, and an M.D. from the University of California, Los Angeles, and subsequently received
`specialized training in Pediatrics and Neonatology at the Cedars-Sinai Medical Center in Los Angeles. He
`has written many articles for personal computing magazines, including BYTE, PC Magazine, Dr. Dobb·s
`journal, and Sojtalk!PC, and is the author of the Microsoft Press book Advanced MS-DOS. He is the
`founder of Laboratory Microsystems Incorporated, a software house specializing in FORTH interpreters
`and compilers.
`
`Steve Bostwick
`Bostwick holds a B.S. in Physics from the University of California, Los Angeles, and
`has over 20 years' experience in scientific and commercial data processing. He is president of Query
`Computing Systems, Inc., a software firm specializing in the creation of systems for applications that
`interface microcomputers with specialized hardware. He is also an instructor for the UCLA Extension
`Department of Engineering and Science and helped design their popular Microprocessor Hardware and
`Software Engineering Certificate Program.
`
`Keith Burgoyne Born and raised in Orange County, California, Burgoyne began programming in
`1974 on IBM 370 mainframes. In 1979, he began developing microcomputer products for Apples,
`TRS-80s, Ataris, Commodores, and IBM PCs. He is presently Senior Systems Engineer at Local Data of
`Torrance, California, which is a major producer ofiBM 3174/3274 and System 3X protocol conversion
`products. His previous writing credits include numerous user manuals and tutorials.
`
`Robert A Byers Byers is the author of the bestselling Everyman "s Database Primer. He is presently
`involved with the Emerald Bay database project with RSPI and Migent, Inc.
`
`Thorn Hogan During 11 years working with personal computers, Hogan has been a software devel-
`oper, a programmer, a technical writer, a marketing manager, and a lecturer. He has written six books,
`numerous magazine articles, and four manuals. Hogan is the author of the forthcoming Microsoft Press
`book PC Programmers Sourcebook.
`
`jim Kyle Kyle has 23 years' experience in computing. Since 1967, he has been a systems program-
`mer with strong telecommunications orientation. His interest in microcomputers dates from 1975. He is
`currently MIS Administrator for BTl Systems, Inc., the OEM Division ofBancTec Inc., manufacturers of
`MICR equipment for the banking industry. He has written 14 books and numerous magazine articles
`(mostly on ham radio and hobby electronics) and has been primary Forum Administrator for Computer
`Language Magazine's CLMFORUM on CompuServe since early 1985.
`
`Gordon Letwin
`Letwin is Chief Architect, Systems Software, Microsoft Corporation. He is the author
`of Inside OS/2, published by Microsoft Press.
`
`Charles Petzold
`Petzold holds an M.S. in Mathematics from Stevens Institute of Technology. Before
`launching his writing career, he worked 10 years in the insurance industry, programming and teaching
`programming on IBM mainframes and PCs. He is the author of the Microsoft Press book Programming
`Windows 2. 0, a contributing editor to PC Magazine, and a frequent contributor to the Microsoft Systems
`journal.
`
`Chip Rabinowitz Rabinowitz has been a programmer for 11 years. He is presently chief program(cid:173)
`mer for Productivity Solutions, a microcomputer consulting firm based in Pennsylvania, and has been
`Forum Administrator for the CompuServe MICROSOFT SIG since 1986.
`
`Contributors
`
`Vii
`
`ZTE (USA) 1007, Page 5
`
`
`
`Jim TomUn
`Tomlin holds a B.S. and an M.S. in Mathematics. He has programmed at Boeing,
`Microsoft, and Opcon and has taught at Seattle Pacific University. He now heads his own company in
`Seattle, whkh specializes in PC systems programming and industrial machine vision applications.
`
`Richard Wilton Wilton has programmed extensively in PL/1, FORTRAN, FORTH, C, and several
`assembly languages. He is the author of Programmer's Guide to PC & PS/2 Video Systems, published
`by Microsoft Press.
`·
`
`Van Wolverton A professional writer since 1963, Wolverton has had bylines as a newspaper reporter,
`editorial writer, political columnist, and technical writer. He is the author of Running MS-DOS and
`Supercharging MS-DOS, both published by Microsoft Press.
`
`William Wong Wong holds engineering and computer science degrees from Georgia Tech and
`Rutgers University. He is director of PC Labs and president of Logic Fusion, Inc. His interests include
`operating systems, computer languages, and artificial intelligence. He has written numerous magazine
`articles and a book on MS-DOS.
`
`JoAnne Woodcock Woodcock, a former senior editor at Microsoft Press, has been a writer for
`Encyclopaedia Britannica and a freelance and project editor on marine biological studies at the
`University of Southern California. She is co-editor (with Michael Halvorson) of XENIX at Work and
`co-author (with Peter Rinearson) of Microsoft Word Style Sheets, both published by Microsoft Press.
`
`Special Technical Advisor
`Mark Zbikowski
`
`Technical Advisors
`
`Paul Allen
`Steve Ballmer
`Reuben Borman
`Rob Bowman
`John Butler
`Chuck Carroll
`Mark Chamberlain
`David Chell
`Mike Colee
`Mike Courtney
`Mike Dryfoos
`Rachel Duncan
`Kurt Eckhardt
`Eric Evans
`Rick Farmer
`Bill Gates
`
`Michael Geary
`Bob Griffin
`Doug Hogarth
`James W. Johnson
`Kaamel Kermaani
`Adrian King
`Reed Koch
`James Landowski
`Chris Larson
`Thomas Lennon
`DanLipkie
`Marc McDonald
`Bruce McKinney
`Pascal Martin
`Estelle Mathers
`Bob Matthews
`
`David Melin
`Charles Mergentime
`Randy Nevin
`Dan Newell
`TaniNewell
`David Norris
`Mike O'Leary
`BobO'Rear
`Mike Olsson
`Larry Osterman
`Ridge Ostling
`Suni!Pai
`Tim Paterson
`Gary Perez
`Chris Peters
`Charles Petzold
`
`John Pollock
`Aaron Reynolds
`Darryl Rubin
`Ralph Ryan
`Karl Schulmeisters
`RajenShah
`Barry Shaw
`Anthony Short
`Ben Slivka
`Jon Smirl
`Betty Stillmaker
`John Stoddard
`Dennis Tillman
`Greg Whitten
`Natalie Yount
`SteveZeck
`
`Viii
`
`The MS-DOS Encyclopedia
`
`ZTE (USA) 1007, Page 6
`
`
`
`Contents
`
`Foreword by Bill Gates
`Preface by Ray Duncan
`Introduction
`Section I: The Development ofMS-DOS
`Section II: Programming in the MS-DOS Environment
`Part A: Structure of MS-DOS
`
`xiii
`
`XV
`xvii
`1
`47
`
`Article 1:
`Article 2:
`Article 3:
`
`An Introduction to MS-DOS 51
`The Components of MS-DOS 61
`MS-DOS Storage Devices 85
`
`Part B: Programming for MS-DOS
`
`Article 4: Structure of an Application Program 107
`Article 5: Character Device Input and Output 149
`Article 6:
`Interrupt-Driven Communications 167
`Article 7: File and Record Management 247
`Article 8: Disk Directories and Volume Labels 279
`Article 9: Memory Management 297
`Article 10: The MS-DOS EXEC Function 321
`
`Part C: Customizing MS-DOS
`
`Article 11: Terminate-and-Stay-Resident Utilities 347
`Article 12: Exception Handlers 385
`Article 13: Hardware Interrupt Handlers 409
`Article 14: Writing MS-DOS Filters 429
`Article 15: Installable Device Drivers 447
`
`Part D: Directions ofMS-DOS
`
`Article 16: Writing Applications for Upward Compatibility 489
`Article 17: Windows 499
`
`PartE: Programming Tools
`
`Article 18: Debugging in the MS-DOS Environment 541
`Article 19: Object Modules 643
`Article 20: The Microsoft Object Linker 701
`
`Contents
`
`ix
`
`ZTE (USA) 1007, Page 7
`
`
`
`723
`
`961
`
`1175
`
`1431
`
`Section lll: User. Commands
`Introduction 725
`
`User commands are listed in alphabetic order. This section includes ANSI.SYS,
`BATCH, CONFIG.SYS, DRIVER.SYS,_ EDLIN, RAMDRIVE.SYS, and VDISK.SYS.
`Section IV: Programming Utilities
`Introduction 963
`
`CREF 967
`EXE2BIN 971
`EXEMOD 974
`EXEPACK 977
`LIB 980
`LINK 987
`MAKE 999
`MAPSYM 1004
`MASM 1007
`
`Microsoft Debuggers:
`
`DEBUG 1020
`SYMDEB 1054
`CodeView 1157
`Section V: System Calls
`Introduction 1177
`
`System calls are listed in numeric order.
`Appendixes
`
`Appendix A:
`AppendixB:
`AppendixC:
`AppendixD:
`AppendixE:
`AppendixF:
`AppendixG:
`AppendixH:
`Appendix I:
`Appendix]:
`AppendixK:
`AppendixL:
`AppendixM:
`AppendixN:
`AppendixO:
`
`MS-DOS Version 3.3 1433
`Critical Error Codes 1459
`Extended Error Codes 1461
`ASCII and IBM Extended ASCII Character Sets 1465
`EBCDIC Character Set 1469
`ANSI.SYS Key and Extended Key Codes 1471
`File Control Block (FCB) Structure 1473
`Program Segment Prefix (PSP) Structure 1477
`8086/8088/80286/80386 Instruction Sets 1479
`Common MS-DOS Filename Extensions 1485
`Segmented (New) .EXE File Header Format 1487
`Intel Hexadecimal Object File Format 1499
`8086/8088 Software Compatibility Issues 1507
`An Object Module Dump Utility 1509
`IBM PC BIOS Calls 1513
`
`X
`
`The MS-DOS Encyclopedia
`
`ZTE (USA) 1007, Page 8
`
`
`
`Indexes
`
`Subject 1533
`Commands and System Calls 1565
`
`1531
`
`Contents
`
`xi
`
`ZTE (USA) 1007, Page 9
`
`
`
`I !
`
`'
`
`Foreword
`
`Microsoft's MS-DOS is the most popular piece of software in the world. It runs on more
`than 10 million personal computers worldwide and is the foundation for at least 20,000
`applications- the largest set of applications in any computer environment. As an industry
`standard for the family of 8086-based microcomputers, MS-DOS has had a central role in
`the personal computer revolution and is the most significant and enduring factor in fur(cid:173)
`thering Microsoft's original vision- a computer for every desktop and in every home. The
`challenge of maintaining a single operating system over the entire range of 8086-based
`microcomputers and applic:;ttions is incredible, but Microsoft has been committed to meet(cid:173)
`ing this challenge since the release of MS-DOS in 1981. The true measure of our success
`in this effort is MS-DOS's continued prominence in the microcomputer industry.
`
`Since MS-DOS's creation, more powerful and much-improved computers have entered the
`marketplace, yet each new version of MS-DO$ reestablishes its position as the foundation
`for new applications as well as for old. To explain this extraordinary prominence, we must
`look to the origins of the personal computer industry. The three most significant factors in
`the creation of MS-DOS were the compatibility revolution, the development of Microsoft
`BASIC and its widespread acceptance by the personal computer industry, and IBM's deci(cid:173)
`sion to build a computer that incorporated 16-bit technology.
`
`The compatibility revolution began with the Intel8080 microprocessor. This technolog(cid:173)
`ical breakthrough brought unprecedented opportunities in the emerging microcomputer
`industry, promising continued improvements in power, speed, and cost of desktop com(cid:173)
`puting. In the minicomputer market, every hardware manufacturer had its own special
`instruction set and operating system, so software developed for a specific machine was in(cid:173)
`compatible with the machines of other hardware vendors. This specialization also meant
`tremendous duplication of effort- each hardware vendor had to write language compilers,
`databases, and other development tools to fit its particular machine. Microcomputers
`based on the 8080 microprocessor promised to change all this beqmse different manu(cid:173)
`facturers would buy the same chip with the same instruction set.
`
`From 1975 to 1981 (the 8-bit era of microcomputing), Microsoft convinced virtually
`every personal computer manufacturer- Radio Shack, Commodore, Apple, and doz~ns
`of others- to build Microsoft BASIC into its machines. For the first time, one common lan(cid:173)
`guage cut across all hardware vendor lines. The success of our BASIC demonstrated the
`advantages of compatibility: To their great benefit, users were finally able to move appli(cid:173)
`cations from one vendor's machine to another.
`
`Most machines produced during this early period did not have a built-in disk drive.
`Gradually, however, floppy disks, and later fixed disks, became less expensive and more
`common, and a number of disk-based programs, including WordStar and dBASE, entered
`the market. A standard disk operating system that could accommodate these develop(cid:173)
`ments became extremely important, leading Lifeboat, Microsoft, and Digital Research all to
`support CP/M-80, Digital Research's 8080 DOS.
`
`Foreword
`
`Xiii
`
`ZTE (USA) 1007, Page 10
`
`
`
`The 8-bit era proved the importance of having a multiple-manufacturer standard that
`permitted the free interchange of programs. It was important that software designed for
`the new 16-bit machines have this same advantage. No personal computer manufacturer in
`1980 could have predicted with any accuracy how quickly a third-party software industry
`would grow and get behind a strong standard- a standard that would be the software
`industry's lifeblood. The intricacies of how MS-DOS became the most common 16-bit
`operating system, in part through the work we did for IBM, is not the key point here. The
`key point is that it was inevitable for a popular operating system to emerge for the 16-bit
`machine, just as Microsoft's BASIC had prevailed on the 8-bit systems.
`
`It was overwhelmingly evident that the personal computer had reached broad acceptance
`in the market when Time in 1982 named the personal computer "Man of the Year." MS(cid:173)
`DOS was integral to this acceptance and popularity, and we have continued to adapt
`MS-DOS to support more powerful computers without sacrificing the compatibility that is
`essential to keeping it an industry standard. The presence of the 80386 microprocessor
`guarantees that continued investments in Intel-architecture software will be worthwhile.
`
`Our goal with The MS-DOS Encyclopedia is to provide the most thorough and accessible
`resource available anywhere for MS-DOS programmers. The length of this book is many
`times greater than the source listing of the first version of MS-DOS- evidence of the
`growing complexity and sophistication of the operating system. The encyclopedia will be
`especially useful to software developers faced with preserving continuity yet enhancing
`the portability of their applications.
`
`Our thriving industry is committed to exploiting the advantages offered by the protected
`mode introduced with the 80286 microprocessor and the virtual mode introduced with the
`80386 microprocessor. MS-DOS will continue to play an integral part iri this effort. Faster
`and more powerful machines running Microsoft OS/2 mean an exciting future of multi(cid:173)
`tasking systems, networking, improved levels of data protection, better hardware memory
`management for multiple applications, stunning graphics systems that can display an inno(cid:173)
`vative graphical user interface, and communication subsystems. MS-DOS version 3, which
`runs in real mode on 80286~based and 80386-based machines, is a vital link in the Family
`API of OS/2. Users will continue to benefit from our commitment to improved operating(cid:173)
`system performance and usability as the future unfolds.
`
`Bill Gates
`
`XiV
`
`The MS-DOS Encyclopedia
`
`ZTE (USA) 1007, Page 11
`
`
`
`Preface
`
`In the space of six years, MS-DOS has become the most widely used computer operating
`system in the world, running on more than 10 million machines. It has grown, matured,
`and stabilized into a flexible, easily extendable system that can support networking,
`graphical user interfaces, nearly any peripheral device, and even CD ROMs containing
`massive amounts of on-line information. MS-DOS will be with us for many years to come
`as the platform for applications that run on low-cost, 8086/8088-based machines.
`
`Not surprisingly, the success of MS-DOS has drawn many writers and publishers into its
`orbit. The number of books on MS-DOS and its commands, languages, and applications
`dwarfs the list of titles for any other operating system. Why, then, yet another book on
`MS-DOS? And what can we say about the operating system that has not been said already?
`
`First, we have written and edited The MS-DOS Encyclopedia with one audience in mind:
`the community of working programmers. We have therefore been free to bypass elemen(cid:173)
`tary subjects such as the number of bits in a byte a:nd the interpretation of hexadecimal
`numbers. Instead, we have emphasized detailed technical explanations, working code ex(cid:173)
`amples that can be adapted and incorporated into new applications, and a systems view of
`even the most common MS-DOS commands and utilities.
`
`Second, because we were not subject to size restrictions, we have explored topics in depth
`that other MS-DOS books mention only briefly, such as exception and error handling,
`interrupt-driven communications, debugging strategies, memory management, and install(cid:173)
`able device drivers. We have commissioned definitive articles on the relocatable object
`modules generated by Microsoft language translators, the operation of the Microsoft Ob(cid:173)
`ject Linker, and terminate-and-stay-resident utilities. We have even interviewed the key
`developers of MS-DOS and drawn on their files and bulletin boards to offer an entertain(cid:173)
`ing, illustrated account of the origins of Microsoft's standard-setting operating system.
`
`Finally, by combining the viewpoints and experience of non-Microsoft programmers and
`writers, the expertise and resources of Microsoft software developers, and the publishing
`know-how of Microsoft Press, we have assembled a unique and comprehensive reference
`to MS-DOS seryices, commands, directives, and utilities. In many instances, the manu(cid:173)
`scripts have been reviewed by the authors of the Microsoft tools described.
`
`We have made every effort during the creation of this book to ensure that its contents are
`timely and trustworthy. In a work of this size, however, it is inevitable that errors and omis(cid:173)
`sions will occur. If you discover any such errors, please bring them to our attention so that
`they can be repaired in future printings and thus aid your fellow programmers. To this
`end, Microsoft Press has established a bulletin board on MCI Mail for posting corrections
`·
`and comments. Please refer to page xvi for more information.
`
`Ray Duncan
`
`Preface
`
`XV
`
`---
`
`ZTE (USA) 1007, Page 12
`
`
`
`Introduction
`
`The MS-DOS Encyclopedia is the most comprehensive reference work available on
`Microsoft's industry-standard operating system. Written for experienced microcomputer
`users and programmers, it contains detailed, version-specific information oriall the
`MS-DOS commands, utilities, and system calls, plus articles by recognized experts in
`specialized areas of MS-DOS programming. This wealth of material is organized into
`major topic areas, each with a format suited to its content. Special typographic conven(cid:173)
`tions are also used to clarify the material.
`
`Organization of the Book
`
`The MS-DOS Encyclopedia is organized into five major sections, plus appendixes. Each
`section has a unique internal organization; explanatory introductions are included where
`appropriate.
`
`Section I, The Development of MS-DOS, presents the history of Microsoft's standard(cid:173)
`setting operating system from its immediate predecessors through version 3.2. Numerous
`photographs, anecdotes, and quotations are included.
`
`Section II, Programming in the MS-DOS Environment, is divided into five parts: Structure
`of MS-DOS, Programming for MS-DOS, Customizing MS-DOS, Directions of MS-DOS, and
`Programming Tools. Each part contains several articles by acknowledged experts on these
`topics. The articles include numerous figures, tables, and programming examples that pro(cid:173)
`vide detail about the subject.
`
`Section III, User Commands, presents all the MS-DOS internal and external commands in
`alphabetic order, includingANSI.SYS, BATCH, CONFIG.SYS, DRIVER.SYS, EDLIN,
`RAMDRIVE.SYS, and VDISK.SYS. Each command is presented in a structure that allows
`the experienced user to quickly review syntax and restrictions on variables; the less(cid:173)
`experienced user can refer to the detailed discussion of the command and its uses.
`
`Section IV, Programming Utilities, uses the same format as the User Commands section to
`present the Microsoft programming aids, including the DEBUG, SYMDEB, and Code View
`debuggers. Although some of these utilities are supplied only with Microsoft language
`products and are not included on the MS-DOS system or supplemental disks, their use is
`intrinsic to programming for MS-DOS, and they are therefore included to create a corp.(cid:173)
`prehensive reference.
`
`Introduction
`
`XVii
`
`ZTE (USA) 1007, Page 13
`
`
`
`:.·
`
`··:o:,
`
`•
`
`/.,·
`
`·..
`
`-:· ..
`
`:"
`
`•
`
`··';"",.·:·>"'o'·_,",
`'' · '.
`
`o"("e<
`
`•,"
`
`• "'}r-·,~·.-i' ""'· ··:~~:·:·-') •
`·· ,·.,;;: .::.-... ;:::c·:·:: ,,;. <'i,:
`
`,M:SPRESS.' ''<Ent:et>.' · C~<'iC' >,:'· ... ·.
`·•-·•, t~. co~ri~dt-~oih~ ~fi~~~~dftPr~g~l)~ti~ti~,~~isci.':1,if~~kltfi~l~Ml~{~~Jgi~~b~~ff,Ri~~sv
`bulkt.in. .l:>oards wilLb~, displayecksi¢ply~ho6se MSPress+JO$l?JYCJ1't()'¢'ritertlie~h-" ·
`;: ·· · .·.··.
`.·-•·--·--·~--·-•.·: __ ...• _ •.. · .. i. ~:%-~ . /;;t- \ ... _._. ··-·n
`cydopedi~'sbtill,etin..b(?ard. · . /·. ::
`'.· · i
`>-~ .>.
`' ~vf!~li,tl.t~~l)~w~41)~~~k§~~~·, .. ~ ?.(~/;. :.-;- ·>:. ,.
`·.·_.Micro~oft·J>resshas (Zreateda_set ~fValu'~~le,;tiin~~~iBg@tri~~~~d~.~t~~{(~Theft!s-hos •.
`·-· EncycloP£!dia:Theycontainthe'r<)utirte~·~t}~fl.ipctioha,l"~r,6gr,awst~t~r~}l}~t~~·t!froug;!f-·\
`· -·. 'outtrlis• book ••.•.••. _.tnousar1Cls of lines of:exec~tabl~ g{)g~Yp?nvf?:~l¢iltly·9f~~'pized1 ,tne~e·
`disk&w1Hsave youhoursoftyp1ngtirn~.ap~lallo)Yypu:~ti~t~rtB5in~th~-~d#ei{llll1~diaylr
`The companion disk$ ate only available ~ir,~<W~ffq~Mi~ro~oftb~~s{'f'tr()rder/us~ tl1e ... · .
`
`u;()atesto 'fhe MS-DOS Ericyclop~dhL · ..
`Periqdic~lly,th<i·s~f~fTheMS7DO~Enf;'yctopedia~"WillpublisB~pd~te~'tol1taining._ ·-·
`cfarifica~i()ns_.o): cOJ!~diqns to the i11formatimi pr~s~n~ed_ie•_thiscurf~nt·~q1ti09··.'fo 0b~,
`· .. •t~tn ~f1for!hadof1 ~Bc)tit r~c~ivi~g these ~pd31t<~$,-piease c~~ckt~e if)f>ro¢ti~te bpxcmthe
`. b~sibessrepiy, ca:rd.ln th~baFk .of:this boC>k; or send Youtn~rn~ ~n<:l a~klte,$~1:(): l\1S~I)<)s ·.'·
`. Ell.cy~l<:>pedia pf>date Information;· clojvncrosoft'~r~ss; lq011 NE ~6tb?\VaY~Bof 9"7017,
`·
`······ <.\ "~
`·.· ; (0
`l{~dfi1c)t1d,WA98Q73;:97i7.
`nrillet~ti J3oard:ser\TiC:e · ·
`.,,,\ .<• ·· ..
`···Microsoft·PressJs--spdnsorinff~lJtille~iO:~oar~ cihMCllWaiJf~rpo~firig'In4re~~lvingc0f~ ..
`·recti oris and .comments. fqrThe .ys.,D_os,E_ncy(;{opeai(J;,'f:otl~(;!.t!J.i~ $t:!Kv~ce; lpg 611. to·MCI •
`· ·· " . /'>; · c.·5
`:Mailand; a£terreceivingthe·P.r9n1pt/fy_pe\
`· , ·
`~IEW.·<Ent~t;.
`:·.'3.:i,.:;
`:i(!··,. ;:•·· ·•·
`••
`. <:: .. }"·' "
`"'j~f:: J3uikt~n iloa/dit~/rte:~rqili~t;iil~~ dis~I~y2~1)r~¥~~~ .. i.< .. C:-. ;~ .. ;-,,~
`
`;
`
`:
`
`• '0•:,·.~~ ,:·',
`. ' . \'':
`
`.
`
`.
`
`.
`
`~<:;~·;'~<''> ·F "':\.:! :.:>
`
`. "<r·.. .
`
`{:::/--~·',:<+ .
`
`-;f¥ii~~rrt~~~ec~tJ~}~6~t~kd;;~~bt~§!f{r;f~t!!~i~JK&i~.i~Ji0{~at~~~~:stid:·--· ·-
`
`. foreign order:s, ·to;, 1\1iFfqsoft Press; Axtfi:. ¢C>mRapJ{)n bisk:pffe1',·:2!$>f92oilfA.v~:-.• ~.E·:, Box ·
`3011; Bothell, WA 98041:3o1J. Pleasespecify·5~25~r~9hqf3.'?Lirlch (6i'ip~t.:P~yl#entm~stb~
`in us: funds. You may pay By·checkQr~tn'on~yorder (payable'tOM!~ro~8fth~ss),:pr by
`. American Express, VISA,; orMaster(;ard; ple~~ei11c;lud~ your tr~(!ircard';null1?~i an(l ex-.
`piration date. All domestic orders are shipped 2nq: dayair 1Jpon receipt of ord~r by
`c > •/
`··
`, Microsoft.
`·
`· ···
`·
`· ·
`· ·
`C:A residents s% plus loca(optio~ tax;CJ7.5o/o,FL 6~; MA5%,1\1N 6~,;~<5·~;21!5~,~~:4% plUs local
`.
`option tax,WAState 7.8o/o.
`
`~"
`
`.':'_;.. _; ..
`
`xvi
`
`The MS-DOS Encyclopedia
`
`ZTE (USA) 1007, Page 14
`
`
`
`Italic font indicates user-supplied variable names, procedure names in text, parameters
`whose values are to be supplied by the user, reserved words in the C programming lan(cid:173)
`guage, messages and return values in text, and, occasionally, emphasis.
`
`A typographic distinction is made between lowercase l and the numerall in both text and
`1
`program listings.
`
`Cross-references appear in the form SECTION NAME: PART NAME, CoMMAND NAME, OR IN(cid:173)
`TERRUPT NUMBER: Article Name or Function Number.
`
`Color indicates user input and program examples.
`Terminology
`Although not an official IBM name, the term PC-DOS in this book means the IBM imple(cid:173)
`mentation of MS-DOS. If PC-DOS is referenced and the information differs from that for
`the related MS-DOS version, the PC-DOS version number is included. To avoid confusion,
`the term DOS is never used without a modifier.
`
`The names of special function keys are spelled as they are shown on the IBM PC keyboard.
`In particular, the execute key is called Enter, not Return. When <Enter> is included in a
`user-entry line, the user is to press the Enter key at the end of the line.
`
`The common key combinations, such as Ctrl-C and Ctrl-Z, appear in this form when the
`actual key to be pressed is being discussed but are written as Control~C, Control-Z, and so
`forth when the resulting code is the true reference. Thus, an article might reference the
`Control-Chandler but state that it is activated when the user presses Ctrl-C.
`
`Unless specifically indicated, hexadecimal numbers are used throughout. These numbers
`are always followed by the designation H (h in the code portions of program listings).
`Ranges of hexadecimal values are indicated with a dash- for example, 07 -OAH.
`
`The notation (more) appears in italic at the bottom of program listings and tables that are
`continued on the next page. The complete caption or table title appears on the first page
`of a continued element and is designated Continued on subsequent pages.
`
`Introduction
`
`xix
`
`ZTE (USA) 1007, Page 15
`
`
`
`Section V, System Calls, documents Interrupts 20H through 27H and Interrupt 2FH. The
`Interrupt 21H functions are listed in individual entries. This section, like the User Com(cid:173)
`mands and Programming Utilities sections, presents a quick review of usage for the ex(cid:173)
`perienced user and also provides extensive notes for the less-experienced programmer.
`
`The 15 appendixes provide quick-reference materials, including a summary of MS-DOS
`version 3.3, the segmented (new) .EXE file header format, an object file dump utility, and
`the Intel hexadecimal object file format. Much of this material is organized into tables or
`bulleted lists for ease of use.
`
`The book includes two indexes- one organized by subject and one organized by com(cid:173)
`mand name or system-call number. The subject index provides comprehensive references
`to the indexed topic; the command index references only the major entry for the com(cid:173)
`mand or system call.
`
`Program listings
`
`The MS-DOS Encyclopedia contains numerous program listings in assembly language, C,
`and QuickBASIC, all designed to run on the IBM PC family and compatibles. Most of these
`programs are complete utilities; some are routines that can be incorporated into function(cid:173)
`ing programs. Vertical ellipses are often used to indicate where additional code would be
`supplied by the user to create a more functional program. All program listings are heavily
`commented and are essentially self-documenting.
`
`The programs were tested using the Microsoft Macro Assembler (MASM) version 4.0, the
`Microsoft C Compiler version 4.0, or the Microsoft QuickBASIC Compiler version 2.0.
`
`The functional programs and larger routines are also available on disk. Instructions for
`ordering are on the page preceding this introduction and on the mail-in card bound into
`this volume.
`
`Typography and Terminology
`
`Because The MS-DOS Encyclopedia was designed for an advanced audience, the reader
`generally will be familiar with the notation and typographic conventions used in this
`volume. However, for ease of use, a few special conventions should be noted.
`Typographic conventions
`Capital letters are used for MS-DOS internal and external commands in text and syntax
`lines. Capital letters are also used for filenames in text.
`
`xviii
`
`The MS-DOS Encyclopedia
`
`ZTE (USA) 1007, Page 16
`
`
`
`
`
`ZTE (USA) 1007, Page 17
`
`
`
` ZTE(USA)1007, Page 18
`
`
`
`ZTE (USA) 1007, Page 18
`
`
`
`1975
`
`The Development of MS-DOS
`
`