`S-DOS_
`| Encyclopedia
`
`
`
`
`
`Foreword, Bill Gates
`General Editor, Ray Duncan
`
`OLYMPUSEX. 1010 - 1/1582
`
`OLYMPUS EX. 1010 - 1/1582
`
`
`
`MS-DOS
`Encyclopedia
`
`
`
`_
`
`OLYMPUSEX. 1010 - 2/1582
`
`OLYMPUS EX. 1010 - 2/1582
`
`
`
`dea
`
`
`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.
`
`Library of Congress Cataloging in Publication Data
`The MS-DOS encyclopedia: versions 1.0 through 3.2 /
`editor, Ray Duncan.
`P.
`cm.
`Includes indexes.
`
`1. MS-DOS (Computer operating system)
`Il. Microsoft Press.
`QA76.76.063M74
`005.4'46--del9
`ISBN 1-55615-174-8
`
`1988
`
`1. Duncan, Ray, 1952-
`
`87-21452
`cIP
`
`Printed and bound in the United States of America.
`
`123456789RMRM 321098
`
`Distributed to the book trade in the
`Dnited States by Harper & Row.
`Distcibuted to the book trade in
`
`Canada by General Publishing Company, Ltd.
`Distributed to the book trade outside the
`
`United States and Canada by Penguin BooksLtd.
`
`Penguin Books Ltd., Harmondsworth, Middlesex, England
`Penguin Books Australia Lid., 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®, P5/28, and TapView® are registered trademarks of International Business Machines Corporation.
`GOW-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: Intel 4004, 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" Capyright © 1981 by The New York Times Company. Reprinted by
`- permission.
`“IBM Announces New Microcomputer System” Reprinted with permission of [InfoWorld Copyright © 1981.
`“TBMreally 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 che Marketfor Personal Computers” Reprinted by permission of The Wall
`Street Journal Copyright © Dow Jones & Company, Inc. 1981, Al] Rights Reserved.
`Page 36; “Irresistible DOS 3.0" and “The Ascent of DOS” Reprinted from PC Techjournal,
`December 1984 and October 1986. Copyright @ 1984, 1986 Ziff Communications Company.
`“MS-DOS 2.00: A Hands-OnTutorial” Reprinted by permission of PC World from VolumeJ, Issue 3, March 1983,
`published at $01 Second Street, Suite 600, San Francisca, CA 94107.
`
`Special thanks to Bob O'Rear, Aaron Reynolds, and Kenichi Ikeda.
`
`OLYMPUSEX. 1010 - 3/1582
`
`OLYMPUS EX. 1010 - 3/1582
`
`
`
`Encyclopedia Staff
`
`Editor-in-Chief: 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,
`Lee,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 Kem, 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
`
`OLYMPUSEX. 1010 - 4/1582
`
`OLYMPUS EX. 1010 - 4/1582
`
`
`
`
`
`Contributors
`
`Duncan received a B.A. in Chemistry from the University of Califor-
`Ray Duncan, General Editer
`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 Softatk/PC, and is the author of the Microsoft Press book Aduinced MS-DOS. He is the
`founder of Laboratory Microsystems Incorporated, a software house specializing in FORTH interpreters
`and compilers.
`
`Bostwick holds a B.S. in Physics from the University of California, Los Angeles, and
`Steve Bostwick
`has over 20 years' experience in scientific and commercial dara processing. He is president of Query
`Computing Systems, Inc., a software firm specializing in the creation of systemsfor applications that
`interface microcomputers with specialized hardware. He is also an instructor for the UCLA Extension
`Departmentof Engineering and Science and helped design their popular Microprocessor Hardware and
`Software Engineering Certificate Program.
`
` i
`
`z
`
`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 of IBM 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 Prinver. He is presently
`involved with the Emerald Bay database project with RSPI and Migent,Inc.
`
`Thom 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 magazinearticles, and four manuals. Hogan is the authorofthe forthcoming Microsoft Press
`book PC Programmer's 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 BTI Systems, Inc., the OEM Division of BancTec Inc., manufacturers of
`MICR equipmentfor the banking industry. He has written 14 books and numerous magazine articles
`Gmostly on ham radio and hebby 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.
`
`Chartes Petzold—Petzoid 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 [BM 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 contributorto the Microsoft Systems
`journal.
`
`Rabinowitz has been a programmerfor 11 years. He is presently chief program-
`Chip Rabinowitz
`metfor Productivity Solutions, a microcomputer consulting firm based in Pennsylvania, and has been
`Forum Administrator for the CompuServe MICROSOFTSIG since 1986.
`
`Contributors
`
`vit
`
`
`
`
`
`OLYMPUSEX.1010- 5/1582
`
`OLYMPUS EX. 1010 - 5/1582
`
`
`
`Jim Tomlin—Tomlin holds a B.S. and an M.S. in Mathematics. He has programmedat Boeing,
`Microsoft, and Opcon and hastaughtat Seattle Pacific University. He now heads his own companyin
`Seattle, which specializes in PC systems programming andindustrial machinevision applications.
`
`Richard Wilton Wilton has programmedextensively in PL/1, FORTRAN, FORTH,C,and several
`assembly languages. Heis the author of Programmer’s Guide to PC & PS/2 Video Systems, published
`by Microsoft Press.
`
`A professional writer since 1963, Wolverton has had bylines as a newspaper reporter,
`Van Wolverton
`editorial writer, political columnist, and technica! writer. He is the author of Running MS-DOS and
`Supercharging MS-DOS, both published by Microsoft Press.
`
`Wiliam Wong Wong holds engineering and computer science degrees from Georgia Tech and
`Rutgers University. He is director of PC Labs andpresidentof Logic Fusion, Inc. His interests include
`operating systems, computerlanguages, 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 anda 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 Carrol!
`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
`Tani Newell
`David Norris
`Mike O'Leary
`Bob O’Rear
`Mike Olsson
`Larry Osterman
`Ridge Ostling
`Sunil Pai
`Tim Paterson
`Gary Perez
`Chris Peters
`Charles Petzold
`
`John Pollock
`Aaron Reynolds
`Darryl Rubin
`/
`Ralph Ryan
`Karl Schulmeisters
`Rajen Shah
`Barry Shaw
`Anthony Short
`BenSlivka
`Jon Smirl
`Betty Stillmaker
`John Stoddard
`Dennis Tillman
`. Greg Whitten
`Natalie Yount
`Steve Zeck
`
`add
`
`Thin AAO TNO Penta
`
`OLYMPUSEX. 1010 - 6/1582
`
`OLYMPUS EX. 1010 - 6/1582
`
`
`
`Contents
`
`Foreword byBill Gates
`Preface by Ray Duncan
`Introduction
`
`Section I: The Development of MS-DOS
`Section II: Programming in the MS-DOS Environment
`Part A: Structure of MS-DOS
`
`xvii
`
`47
`
`Article1: An Introduction to MS-DOS 51
`Article 2:
`The Components of MS-DOS 61
`Article 3:|MS-DOSStorage Devices 85
`
`Part B: Programming for MS-DOS
`
`Structure of an Application Program 107
`Article 4:
`Article 5: Chatacter 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
`
`PartC: 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-DOSFilters 429
`Article 15: Installable Device Drivers 447
`
`Part D: Directions of MS-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
`
`OLYMPUS EX.1010 - 7/1582
`
`OLYMPUS EX. 1010 - 7/1582
`
`
`
`Section III: User Commands
`
`Introduction 725
`
`User commandsarelisted in alphabetic order. This section includes ANSLSYS,
`BATCH, CONFIG.SYS, DRIVER.SYS, EDLIN, RAMDRIVE.SYS, and VDISK.SYS.
`Section IV: ProgrammingUtilities
`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
`
`723
`
`961
`
`1175
`
`1431
`
`MS-DOSVersion 3.3 1433
`Appendix A:
`Critical Error Codes 1459
`Appendix B:
`|
`Extended Error Codes 1461
`Appendix C:
`ASCII and IBM Extended ASCII Character Sets 1465
`Appendix D:
`Appendix E:|EBCDIC Character Set 1469
`Appendix F:|ANSISYS Key and Extended Key Codes 1471
`Appendix G:
`File Control Block (FCB) Structure 1473
`Appendix H:
`Program Segment Prefix (PSP) Structure 1477
`Appendix!I:
` 8086/8088/80286/80386 Instruction Sets. 1479
`Appendix]:|Common MS-DOSFilename Extensions 1485
`Appendix K:
`Segmented (New) .EXE File Header Format 1487
`AppendixL:
`Intel Hexadecimal Object File Format 1499
`Appendix M:
`8086/8088 Software CompatibilityIssues 1507
`Appendix N: An Object Module DumpUtility 1509
`Appendix O:
`IBM PC BIOSCalls 1513
`
`The MSDOS Fucwuclonedia
`
`OLYMPUSEX. 1010 - 8/1582
`
`OLYMPUS EX. 1010 - 8/1582
`
`
`
`Indexes
`
`1531
`
`Subject 1533
`Commands and System Calls 1565
`
`Cnatont
`
`OLYMPUSEX.1010 - 9/1582
`
`OLYMPUS EX. 1010 - 9/1582
`
`
`
`
`
`Foreword
`
`Microsoft's MS-DOSis the most popularpiece of software in the world, It runs on more
`than 10 million persona! computers worldwide andis the foundationforat 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-DOShas had a centralrole in
`the personal computer revolution andis the most significant and enduring factor in Fur-
`thering Microsoft's original vision — a computerfor every desktop and in every home. The
`challenge of maintaining a single operating system over the entire range of 8086-based
`microcomputers andapplicationsis incredible, but Microsoft has been committed to meet-
`ing this challenge since the release of MS-DOSin 1981. The true measure of our success
`in this effort is M8-DOS's continued prominence in the microcomputerindustry.
`
`Since MS-DOS&'s creation, more powerful and much-improved computers have entered the
`marketplace, yet cach new version of MS-DOSreestablishesits 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 mostsignificant factors in
`the creation of MS-DOS were the compatibility revolution, the developmentof Microsoft
`BASIC andits widespread acceptance by the personal computer industry, and IBM’s deci-
`sion to build a computer that incorporated 16-bit technology.
`
`The compatibility revolution began with the Intel 8080 microprocessor. This technolog-
`ical breakthrough brought unprecedented opportunities in the emerging microcomputer
`industry, promising continued improvements in power, speed, and cost of desktop com-
`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-
`compatible with the machines of other hardware vendors, This specialization also meant
`tremendous duplication ofeffort — each hardware vendorhad to write language compilers,
`databases, and other developmenttools to fit its particular machine. Microcomputers
`based on the 8080 microprocessor promised to changeall this because different manu-
`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 dozens
`of others—to build Microsoft BASIC into its machines. Forthefirst time, one common Jan-
`guage cut across all hardware vendorlines, The success of our BASIC demonstrated the
`advantages of compatibility: To their great benefit, users were finally able to move appli-
`cations from one vendor's machineto another.
`
`Most machines produced during this early period did not have a built-in disk drive.
`Gradually, however, floppy disks, andlater fixed disks, became less expensive and more
`common, and a numberofdisk-based programs, including WordStar and dBASE, entered
`the market. A standard disk operating systern that could accommodate these develop-
`ments became extremely important, leading Lifeboat, Microsoft, and Digital Researchall to
`support CP/M-80, Digital Research’s 8080 DOS.
`
` xttt
`Foreword
`PIP PAVAIFMTL mW ANNAN
`ANIALFOAN
`OLYMPUSEX. 1010 - 10/1582
`
`
`
`
`
`
`OLYMPUS EX. 1010 - 10/1582
`
`
`
`The 8-bit era proved the importance of having a multiple-manufacturer standard that
`permitted the free interchange of programs.It was importantthat 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 staridard —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 wedid for IBM,is not the key point here. The
`key pointis 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 evidentthat the personal computer had reached broad acceptance
`in the market when Time in 1982 named the personal computer “Man ofthe Year.” MS-
`DOS wasintegral to this acceptance and popularity, and we have continued te adapt
`MS-DOSto support more powerful computers without sacrificing the compatibility that is
`essential to keeping it an industry standard. The presence ofthe 80386 microprocessor
`guarantees that continued investments in Intel-architecture software will be worthwhile.
`
`Ourgoal 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 ofthe 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.
`
`Ourthriving 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-DOSwill continue to play an integral part in this effort. Faster
`and more powerful machines running Microsoft OS/2 mean an exciting future of multi-
`tasking systems, networking, improved levels of data protection, better hardware memory
`managementfor multiple applications, stunning graphics systems that can display an inno-
`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 commitmentto improved operating-
`system performance and usability as the future unfolds.
`
`Bill Gates
`
`vir!
`
`Tho MCPWC Bescurinnscdia
`
`OLYMPUSEX. 1010 - 11/1582
`
`OLYMPUS EX. 1010 - 11/1582
`
`
`
`
`| 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 userinterfaces, nearly any peripheral device, and even CD ROMscontaining
`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 publishersinto its
`orbit. The number of books on MS-DOSandits 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-DOSEncyclopedia with one audience in mind:
`the community of working programmers. We have therefore been free to bypass elemen-
`tary subjects such as the numberofbits in a byte and the interpretation of hexadecimal
`numbers. Instead, we have emphasized detailed technical explanations, working code ex-
`amples that can be adapted and incorporated into new applications, and a systems view of
`even the most common MS-DOS commands andutilities.
`
`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, andinstall-
`able device drivers. We have commissioned definitive articles on the relocatable object
`' modules generated by Microsoft language translators, the operation of the Microsoft Ob-
`ject Linker, and terminate-and-stay-residentutilities. We have even interviewed the key
`developers of MS-DOS and drawn on their files and bulletin boards to offer an entertain-
`ing, illustrated accountofthe 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-DOSservices, commands, directives, and utilities. In many instances, the manu-
`scripts have been reviewed by the authors of the Microsoft tools described.
`
`We have madeevery effort during the creation of this book to ensure that its contents are
`timely and trustworthy. In a workofthis size, however,it is inevitable that errors and omis-
`sions will occur. If you discover any such errors, please bring ther to our attention so that
`they can be repaired in future printings and thusaid your fellow programmers. To this
`end, Microsoft Press has established a bulletin board on MCI Mailfor posting corrections
`and comments. Please refer to page xvi for more information.
`,
`
`Ray Duncan
`
`Preface
`
`OLYMPUSEX.1010 - 12/1582
`
`OLYMPUS EX. 1010 - 12/1582
`
`
`
`
`
`
`
`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 onall the
`MS-DOS commands,utilities, and system calis, 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-
`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 interna! organization; explanatory introductions are included where
`appropriate.
`Section I, The Development of MS-DOS, presents the history of Microsoft’s standard-
`settling operating system from its immediate predecessors through version 3.2. Numerous
`photographs, anecdotes, and quotationsare included,
`
`Section II, Programming in the MS-DOS Environment,is divided into five parts: Structure
`of MS-DOS, Programming for MS-DOS, Customizing MS-DO5, Directions of MS-DOS,and
`Programming Tools. Each part containsseveralarticles by acknowledged experts on these
`topics, The articles include numerous figures, tables, and programming examples that pro-
`vide detail about the subject.
`
`Section [1I, User Commands, presents al] the MS-DOSinternal and external commands in
`alphabetic order, including ANSLSYS, BATCH, CONFIG.SYS, DRIVER.SYS, EDLIN,
`RAMDRIVE.SYS, and VDISK.SYS. Each commandis presented in a structure that allows
`the experienced userto quickly review syntax and restrictions on variables; the less-
`experienced user canrefer to the detailed discussion of the command andits uses,.
`
`Section ['V, Programming Utilities, uses the same format as the User Commandssection to
`presentthe Microsoft programmingaids, including the DEBUG, SYMDEB,and CodeView
`debuggers. Although someofthese utilities are supplied only with Microsoft language
`products and are not included on the MS-DOS system or supplementaldisks, their use is
`intrinsic to programming for MS-DOS,and they are therefore includedto create a com-
`prehensive reference.
`
`Intrnductint
`
`x
`
`OLYMPUS EX.1010 - 13/1582
`
`OLYMPUS EX. 1010 - 13/1582
`
`
`
`.
`
`.
`
`_
`
`/
`
`MSPRESS “<Enter> ”
`
`Updates to The MS-DOS Encyclopedia.
`Periodically, the staffof TheMS-DOSEncyclopedia.will publish updates containing
`clarifications or corrections tothe information presented in this current edition. To ‘ob-
`> taininformation aboutreceiving these updates, please checkthe appropriate boxonthe ~_
`business reply cardin the back ofthis book, or send your nameandaddressto: MS-DOS _
`a Encyclopedia Update Information, c/o MicrosoftPress, 1OOLLNNE 36thvay,2Box97017,
`Redmond,WA 98073-9717. oo
`Do
`BulletinBoardService|
`- MicrosoftPress iis sponsoringabulletinboardonMCIMail.forpostingandrecéiving cor-
`rections and commentsfor TheMS-DOSEncyclopedia.”Touse thissservice;logoson toMCT ,
`vo “Mail and, after receiving the prompt, type
`wo
`°* VIEW.
`" <Enter>|ms,
`poe
`- Ot
`TheBulletinBoardname:=rompwillbedeplaedhenpe.
`tO connect totheMictosoftPress bulletin board.Alistofthe.individual MicrosoftPress
`_ bulletin boards will be displayed;simply¢choose‘MSPressDOSENCYtoentertheen. -
`cyclopediaSbulletin board. i
`lk
`.
`a,
`oe,
`| SpecialCompanion’DiskOfferee
`Microsoft Presshascreated a set ofvaluable,time saving companion disks10:TheMS.DOS
`” Encyclopedia, Theycontain theroutinesand functiorial ‘programsthatarelisted through-.
`outthis book—thousands ‘oflinesof executable code. ‘Conveniently. organized, these —
`disks will'save you hours of typing time and allowyouto start usingthe,code immediately.
`The companion disks are only available directly: fromMictosoft Press. ‘Toorder,use the
`special bind-in card in the back ofthe bookor send:$49.95for.eachset ofdisks, plus sales
`tax if applicable and: $5.50--per diskfor domestic postage andhandling, $8.00 per disk for
`"foreignorders, to; Microsoft Press;Attn: ‘Companion.DiskOffer,2191920th Ave. SE., Box
`3011, Bothell, WA 98041-3011. Please specify5.25-irich of3.5-inehforinat: Payment must be
`in US. funds,You may payby check or money order (payable to Microsoft Press), or by
`_ American Express, VISA, or MasterCard; please include‘your credit card’numberand ex-
`piration date. All domestic orders are shipped2ndI day:air upon receipt of order by |
`“Microsoft.
`.
`oo,
`moresidents5%piuslocaloptiontax,cT7.5%,FL606bMA5%,MN%,MO4,225%;NY4%plaslocal
`option tax, WAState 7.8%.
`.
`
`-
`
`ut
`
`The MS-DOS Encvclobedia
`
`OLYMPUSEX. 1010 - 14/1582
`
`OLYMPUS EX. 1010 - 14/1582
`
`
`
`
`
`
`
`
`
`Italic font indicates user-supplied variable names, procedure namesin text, parameters
`whosevalues are to be supplied by the user, reserved wordsin the C programming lan-
`guage, messages and return values in text, and, occasionally, emphasis.
`A typographicdistinction is made between lowercase | and the numeral 1 in both text and
`program listings.
`
`Cross-references appear in the form SECTION NAME:Parr NaME, COMMAND-NAME,ORIN-
`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-
`mentation of MS-DOS. If PC-DOSis referenced and the information differs from that for
`the related MS-DOSversion, the PC-DOSversion numberis included. To avoid confusion,
`the term DOS is never used without a modifier.
`The namesof special function keys are spelled as they are shown on the IBM PC keyboard.
`In particular, the execute keyis called Enter, not Return. When <Enter> is included ina
`user-entry line, the useris to press the Enter key at the end oftheline.
`
`The common key combinations, such as Ctrl-C and Ctrl-Z, appear in this form when the
`actual key to be pressedis being discussedbut are written as Control-C, Control-Z, and so
`forth whenthe resulting code is the true reference. Thus, an article might reference the
`Control-C handler butstate thatit 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-0AH.
`
`The notation (more) appearsinitalic at the bottom of program listings and tables that are
`continued on the next page. The complete caption ortable title appears on thefirst page
`of a continued element and is designated Continued on subsequent pages.
`
`Introduction
`
`XE.
`
`OLYMPUS EX. 1010 - 15/1582
`
`OLYMPUS EX. 1010 - 15/1582
`
`
`
`Section V, System Calls, documents Interrupts 20H through 27H and Interrupt 2FH. The
`Interrupt 21H functionsare listed in individual entries. This section, like the User Com-
`mands and Programming Utilities sections, presents a quick review of usage for the ex-
`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) .EXEfile header format, an object file dumputility, and
`the Intel hexadecimal objectfile format. Muchofthis materialiis organized into tables or
`bulleted lists for ease of use.
`The book includes two indexes — one organized by subject and one organized by com-
`mand nameor system-call number. The subject index provides comprehensive references
`to the indexed topic; the command index references only the major entry for the com-
`mandor 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. Mostof these
`programs are completeutilities; some are routines that can be incorporated into function-
`‘ing programs. Vertical ellipses are often used to.indicate whereadditional code would be
`supplied by the user to create a more functional program.All programlistings are heavily
`commented and are essentially self-documenting:
`The programsweretested 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 programsandlarger routines are also available on disk. Instructions for
`ordering are on the page preceding this introduction.and on the mail-in card boundinto
`this volume.
`
`Typography and Terminology
`Because The MS-DOSEncyclopedia wasdesigned for an advanced audience,the reader
`generally will be familiar with the notation andtypographic conventionsusedin this
`volume. However,for ease of use, a few special conventions should be noted.
`Typographic conventions
`
`Capital letters are used for MS-DOSinternal and external commandsin text and syntax
`lines. Capital letters are also used for filenamesin text.
`
`’
`
`thm ene
`
`OLYMPUSEX. 1010 - 16/1582
`
`OLYMPUS EX. 1010 - 16/1582
`
`
`
`
`cn
`
`ran
`
`
`
`
`
`OLYMPUS EX. 1010 - 17/1582
`
`
`
`f
`
`OLYMPUSEX. 1010 - 18/1582
`
`OLYMPUS EX. 1010 - 18/1582
`
`
`
`
`1975
`
`The Development of MS-DOS
`
`To many people who use personal computers, MS-DOSis the key that unlocks the power
`of the machine. It is their most visible connection to the hardware hidden inside the
`cabinet, and it is through MS-DOSthat they can run applications and manage disks and
`disk files.
`
`In the sense that it opens the door to doing work with a personal computer, MS-DOSis
`indeed a key, and thelockitfits is the Intel 8086 family of microprocessors. MS-DOSand
`the chipsit works with are, in fact, closely connected — so closely that the story of
`MS-DOSis really part of a larger history that encompasses not only an operating system
`but also a microprocessorand,in retrospect, part of the explosive growth of personal
`computing itself.
`
`Chronologically, the history of MS-DOS can be divided into three parts. First came the
`formation of Microsoft and the events preceding Microsoft's decision to develop an
`operating system. Then camethe creation ofthe first version of MS-DOS.Finally, there is
`the continuing evolution of MS-DOSsinceits release in 1981.
`
`Muchofthe story is based on technical developments, but dates and facts alone do not
`provide an adequate look at the past. Many people have b