`
`ro rammer's
`e erence
`
`COVERS THROUGH VERSION 6
`
`-The Official
`Technical Reference
`to MS-DOS
`
`•
`• • •
`•
`
`Patent Owner Finjan, Inc. - Ex. 2021, p. 1
`
`
`
`PUBLISHED BY
`Microsoft Press
`A Division of Microsoft Corporation
`One Microsoft Way
`Redmond, Washington 98052-6399
`
`Copyright© 1993 by Microsoft Corporation. All rights reserved.
`
`Information in this document is subject to change without notice. Companies, names, and
`data used in examples herein are fictitious unless otherwise noted. No part of this document
`may be reproduced or transmitted in any form or by any means, electronic or mechanical,
`for any purpose, without the express written permission of Microsoft Corporation.
`Microsoft MS-DOS programmer's reference I author(s), Microsoft
`Corporation. -- 2nd ed.: version 6.0.
`p.
`em.
`Includes index.
`ISBN 1-55615-546-8
`1. Operating systems (Computers) 2. MS-DOS (Computer file)
`I. Microsoft Corporation.
`QA 76.76.063M745 1993
`005.4'469--dc20
`
`93-10480
`CIP
`
`Printed and bound in the United States of America . .
`
`3456789 FFG 876543
`
`Distributed to the book trade in Canada by Macmillan of Canada, a division of Canada
`Publishing Corporation.
`
`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.
`
`AST is a registered trademark of AST Research, Inc. IBM, Proprinter, and Quietwriter are
`registered trademarks of International Business Machines Corporation. Intel is a registered
`trademark of Intel Corporation. Lotus is a registered trademark of Lotus Development
`Corporation. Microsoft, Microsoft Press, MS, and MS-DOS are registered trademarks and
`Windows is a trademark of Microsoft Corporation in the United States of America and other
`countries. NetWare and Novell are registered trademarks of Novell, Inc.
`
`Patent Owner Finjan, Inc. - Ex. 2021, p. 2
`
`
`
`10
`
`Microsoft MS-DOS Programmer's Reference
`
`•
`
`Interrupt handling: Programs can install custom interrupt handlers to carry out
`special processing while they run. For example, a program can install a
`CTRL+C handler that replaces the default action when the user presses the
`CTRL+C key combination.
`• Task-switcher notifications: Programs can add themselves to the notification
`chain of the MS-DOS task switcher. Programs that are sensitive to task
`switches, such as communication programs that must respond immediately to
`asynchronous input, add themselves to the chain to control when and under
`what conditions task switching occurs.
`
`2.4 MS-DOS-Based Programs and Device Drivers
`
`MS-DOS supports a broad range of programs-from simple, text-based programs
`like More to sophisticated, interactive programs like MS-DOS Shell. The
`MS-DOS system functions provide a comprehensive set of services that satisfy
`the needs of most programs. Furthermore, programs that require additional
`features, such as access to custom devices, can enhance MS-DOS by using device
`drivers. Device drivers extend the capabilities of MS-DOS without requiring
`changes to the MS-DOS system functions.
`
`· 2.4.1 MS-DOS-Based Programs
`MS-DOS recognizes two program types: .COM and .EXE. A .COM program,
`sometimes called a ''tiny model" program, consists of code, data, and a stack, in a
`single segment. Such programs typically have a single purpose: carrying out a
`task and terminating. On the other hand, an .EXE program is usually large and has
`code and data in separate segments. In fact, an .EXE program can have any
`number of segments, the combined size of which is limited only by system
`memory. An .EXE program can be loaded anywhere in memory. MS-DOS adjusts
`any segment addresses in code and data when it loads the program.
`
`2.4.1.1 A Simple MS-DOS-Based Program
`MS-DOS-based programs can use system functions to carry out their work.
`Programs call the system functions by using the int instruction and specifying
`Interrupt 21h. For this reason, many MS-DOS-based programs are written in
`assembly language or in a mixture of assembly language and a high-level
`language such as C.
`
`When a program issues an interrupt, execution control transfers to the MS-DOS
`routine that handles system-function requests. MS-DOS installs this routine at
`system startup.
`
`Patent Owner Finjan, Inc. - Ex. 2021, p. 3