THE MS-DOS(R) ENCYCLOPEDIA ─────────────────────────────────────────────────────────────────────────── Ray Duncan, General Editor Foreword by Bill Gates Published by Microsoft Press A Division of Microsoft Corporation 16011 NE 36th Way, Box 97017, Redmond, Washington 98073-9717 Copyright (C) 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. ISBN 1-55615-049-0 1. MS-DOS (Computer operating system) I. Duncan, Ray, 1952- II. Microsoft Press. QA76.76.063M74 1988 87-21452 005.4'46--dc19 CIP Printed and bound in the United States of America. 1 2 3 4 5 6 7 8 9 RMRM 8 9 0 9 8 7 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 British Cataloging in Publication Data available IBM(R), IBM AT(R), PS/2(R), and TopView(R) are registered trademarks of International Business Machines Corporation. GW-BASIC(R), Microsoft(R), MS(R), MS-DOS(R), SOFTCARD(R), and XENIX(R) 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 (C) 1975 Ziff Communications Company. Page 13: Reprinted with permission of Rod Brock. Page 16: Reprinted with permission of The Seattle Times Copyright (C) 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 (C) 1981, 1982, 1984. All rights reserved. Page 21: "Big IBM's Little Computer" Copyright (C) 1981 by The New York Times Company. Reprinted by permission. "IBM Announces New Microcomputer System" Reprinted with permission of InfoWorld Copyright (C) 1981. "IBM really gets personal" Reprinted with permission of Personal Computing Copyright (C) 1981. "Personal Computer from IBM" Reprinted from DATAMATION Magazine, October 1981 Copyright (C) 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 (C) 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 (C) 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. 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 Contributors Ray Duncan, General Editor Duncan received a B.A. in Chemistry from the University of California, 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 Softalk/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 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 Primer. 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 developer, 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 Programmer's Sourcebook. Jim Kyle Kyle has 23 years' experience in computing. Since 1967, he has been a systems programmer with strong telecommunications orientation. His interest in microcomputers dates from 1975. He is currently MIS Administrator for BTI Systems, Inc., the OEM Division of BanTec 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 programmer for Productivity Solutions, a microcomputer consulting firm based in Pennsylvania, and has been Forum Administrator for the CompuServe MICROSOFT SIG since 1986. Jim Tomlin 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, which 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 Michael Geary David Melin John Pollock Steve Ballmer Bob Griffin Charles Mergentime Aaron Reynolds Reuben Borman Doug Hogarth Randy Nevin Darryl Rubin Rob Bowman James W. Johnson Dan Newell Ralph Ryan John Butler Kaamel Kermaani Tani Newell Karl Schulmeisters Chuck Carroll Adrian King David Norris Rajen Shah Mark Chamberlain Reed Koch Mike O'Leary Barry Shaw David Chell James Landowski Bob O'Rear Anthony Short Mike Colee Chris Larson Mike Olsson Ben Slivka Mike Courtney Thomas Lennon Larry Osterman Jon Smirl Mike Dryfoos Dan Lipkie Ridge Ostling Betty Stillmaker Rachel Duncan Marc McDonald Sunil Pai John Stoddard Kurt Eckhardt Bruce McKinney Tim Paterson Dennis Tillman Eric Evans Pascal Martin Gary Perez Greg Whitten Rick Farmer Estelle Mathers Chris Peters Natalie Yount Bill Gates Bob Matthews Charles Petzold Steve Zeck CONTENTS Foreword by Bill 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 Article 1: An Introduction to MS-DOS Article 2: The Components of MS-DOS Article 3: MS-DOS Storage Devices Part B: Programming for MS-DOS Article 4: Structure of an Application Program Article 5: Character Device Input and Output Article 6: Interrupt-Driven Communications Article 7: File and Record Management Article 8: Disk Directories and Volume Labels Article 9: Memory Management Article 10: The MS-DOS EXEC Function Part C: Customizing MS-DOS Article 11: Terminate-and-Stay-Resident Utilities Article 12: Exception Handlers Article 13: Hardware Interrupt Handlers Article 14: Writing MS-DOS Filters Article 15: Installable Device Drivers Part D: Directions of MS-DOS Article 16: Writing Applications for Upward Compatibility Article 17: Windows Part E: Programming Tools Article 18: Debugging in the MS-DOS Environment Article 19: Object Modules Article 20: The Microsoft Object Linker Section III: User Commands Introduction 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 CREF EXE2BIN EXEMOD EXEPACK LIB LINK MAKE MAPSYM MASM Microsoft Debuggers: DEBUG SYMDEB CodeView Section V: System Calls Introduction System calls are listed in numeric order. Appendixes Appendix A: MS-DOS Version 3.3 Appendix B: Critical Error Codes Appendix C: Extended Error Codes Appendix D: ASCII and IBM Extended ASCII Character Sets Appendix E: EBCDIC Character Set Appendix F: ANSI.SYS Key and Extended Key Codes Appendix G: File Control Block (FCB) Structure Appendix H: Program Segment Prefix (PSP) Structure Appendix I: 8086/8088/80286/80386 Instruction Sets Appendix J: Common MS-DOS Filename Extensions Appendix K: Segmented (New) .EXE File Header Format Appendix L: Intel Hexadecimal Object File Format Appendix M: 8086/8088 Software Compatibility Issues Appendix N: An Object Module Dump Utility Appendix O: IBM PC BIOS Calls Indexes Subject Commands and System Calls