DEC 11 OSPMA A D_PDP 11_DOS_Monitor_V004A_System_Programmers_Manual_May72 D PDP DOS Monitor V004A System Programmers Manual May72

DEC-11-OSPMA-A-D_PDP-11_DOS_Monitor_V004A_System_Programmers_Manual_May72 DEC-11-OSPMA-A-D_PDP-11_DOS_Monitor_V004A_System_Programmers_Manual_May72

User Manual: DEC-11-OSPMA-A-D_PDP-11_DOS_Monitor_V004A_System_Programmers_Manual_May72

Open the PDF directly: View PDF PDF.
Page Count: 422

DownloadDEC-11-OSPMA-A-D_PDP-11_DOS_Monitor_V004A_System_Programmers_Manual_May72 DEC-11-OSPMA-A-D PDP-11 DOS Monitor V004A System Programmers Manual May72
Open PDF In BrowserView PDF
•

disk operating system monitor
systems programmer's manual

DEG-ll-OSPMA-A-D

PDP - 1 1
DIS K

OPE RAT I N G
(Version No.
System

S Y S T EM

M 0 NIT 0 R

V~~4A)

Programmer's

Manual

Software Support Category

The software described in this manual
is supported by DEC under Oategory I,
as defined on page iv of this manual.

This manual supersedes the Preliminary Edition,
issued under order no-. DEC-ll-MNDA-D.

'-/

For additional copies, order no. DEG-11-0SPMA-A-D i'rom Digital Equipment
Corporation, Software Distribution Genter, Maynard, Massachusetts 01154
DIGITAL

EQUIPMENT

CORPORATION • MAYNARD, MASSACHUSETTS

Praliainarl, November 1971
~irst Edition, Mal 1972

Your attention is invited to the last two pages
of this document. The "How To Obtain Software
Information" fage tells lOU how to keev up-todate with DEO 8 sottware. The "Reader s Comments"
page is beneficial to both lOU and DEC; all comments received are considered when documenting
subsequent manuals.

COPlright @ 1971, 1972 bl Digital Equipment Corporation

Associated PDP-11 documents:
Disk Operating s"atem Monitor, Programmer's Handbook
DEC-"-MWDC-D
Getting DOS on the Air
DEC-l'-SYDD-D
PAL-11R Assembler, Programmer's Manual
DEC-l'-ASDC-D
Edit-l1 Text Editor, Programmer's Manual
DEC-"-EEDA-D
ODT-llR Debugging Program, Programmer's Manual
DBC-l'-00Dl-D
PIP File Utility Package, Programmer's Manual
DEO-l1-PIDB-D
Link-l1 Linker & Libr-ll Librarian, Programmer's Manual
DEC-l'-ZLDC-D

NOTIO~

This document is for information purposes,
and is subject to change without notice.
Trademarks of Digital Equipment Corporation include:
DEO
DEC tape
digital (logo)
COMTEX-l1

PDP-l1
BSTS-l1
RSX-l1
UNIBUS
ii

AJ

PREFACE
This document explains the philosophy and structure of the PDP-ll
Disk Operating System (DOS) Monitor. It is written for the
PDP-lI programmer who needs to know the internal operation of
the Monitor in more detail than is given in the PDP-II Disk
Operating System Monitor Programmer's Handbook (order no. DECII-MWDC-D), which is intended for the general user. Thus, this
document should be of assistance tOI
•

Users who wish to adapt or extend the Monitor for their
own special applications.

•

Software Support Specialists.

•

Programmers responsible for DOS Monitor maintenance or
modification.

The document assumes familiarity with the contents of the
Programmer's Handbook, and also with the DOS system programs as
described in the documents listed on the back of the front page.
The source listings of the Monitor (available from DEC's Software
Distribution Center) would be useful since this document is designed merely to supplement the detailed comments included in
the source listings.
The document is divided into nine chaptersl
provides an overview of the concepts and organization of the DOS Monitor and gives general information on
the form of the rest of the document.

Chap.~

Ch~Q~er

2
is devoted to the central executive section of
the Monitor which is always resident in core memory.

£napter 3
discusses the overall philosophy for the handling
of I/O from any peripheral device, followed by a detailed
examination of the routines providing program I/O services.
This chapter also contains an introduction to device drivers.
Chapte~1

is particularly concerned with I/O upon bulkstorage devices for which a file-structure is defined. A
general description of this structure is given, followed by
an explanation of each of the special routines for file
management.

Chapter 5
describes the modules which provide I/O services
to load and unload the Monitor and certain general utilities.
6
describes the methods adopted for the handling of
operator commands at the console keyboard and the processing
of each command. Also included is a discussion of a transient

ChaE~~r

iii

Monitor section which occupies memory in the absence of a
user program.
Chapter 7
covers the question of error diagnosis and outlines the routine providing a central printing service for
messages from both the Monitor itself and the DOS system
programs.
Chapter 8
shows how the Monitor is initially built and
stored ready for use and can be later extended or modified.
Chapter 9
explains the format and contents of various
system object and load modules.
Each chapter is concluded with its referenced illustrations.
~

Appendix A, frequently referenced herein, was not
available for this printing, thus it does not
appear. In June 1972, the appendix will be available on request (free) from DEC's Software Distribution Center, Maynard, Mass. 01754.

iv

I

----

SOFTWARE

SUPPORT

CATEGORIES

Digital Equipment Corporation (DEC) makes available four categories of software. These
categories reflect the types of support a customer may expect from DEC for a specified software
product. DEC reserves the right to change the category of a software product at any time.
The four categories are as follows:

Software

CATEGORY
Products Supported

at

no

Charge

This classification includes current versions of monitors, programming languages, and
support programs provided by DEC. DEC will provide installation (when applicable), advisory,
and remedial support at no charge. These services are limited to original purchasers of DEC
computer systems who have the requisite DEC equipment and software products.
At the option of DEC, a software product may be recategorized from Category I to
Category II for a particular customer if the software product has been modified by the customer
or a third party.

Software

Products

CATEGORY II
that Receive Support

for

a

Fee

This category includes prior versions of Category I programs and all other programs available from DEC for which support is given. Programming assistance (additional support), as
available, will be provided on these DEC programs and non-DEC programs when used in conjunction with these DEC programs and equipment supplied by DEC.

CATEGORY III
Pre-Re I ease Software
DEC may elect to release certain software products to customers in order to facilitate
final testing and/or customer familiarization. In this event, DEC will limit the use of such
pre-release software to internal, non-competitive applications. Category III software is only
supported by DEC where this support is consistent with evaluation of the software product.
While DEC will be grateful for the reporting of any criticism and suggestions pertaining to a
pre-release, there ~xists no commitment to respond ta these reports.

CATEGORY IV
Non- Su pported Software
This category includes all programs for which ~support is given .•

v

CON TEN T S
Page
CHAPTER 1
INTRODUCTION
1.1
The Punction of the DOS Monitor
1.2
Monitor Organization
1.3
Monitor Conventions
1.3.1
Calling Monitor Modules
1.3.2
Return State
1.3.3
Naming Conventions
1.3.4
Definitions
CHAPTER 2
RESIDENT MONITOR
2.1
Monitor Tables
2.1.1
System Vector Table
2.1.2
Monitor Residency Table
2.1.3
Device Driver List
2.1.4
Table Initialization
2.2
EMT Handler
2.2.1
Description of the Handler
2.2.2
General Comments
2.3
Swap Area Management
2.3.1
Swap Buffers
2.3.2
Calling SAM
2.3.3
Description of SAM
2.3.4
System Exit
2.3.5
The Swappable Routines
2.4
General Purpose Subroutines
2.4.1
Register Save/Restore & Stack Control
2.4.2
Pree Core Management
2.4.2.1
Buffer Allocation
2.4.2.2
Buffer Release
2.4.2.3
Comments
2.5
Time Control
CH!PTER 3
GENERAL I/O PROCESSING
3.1
I/O Concepts and Control
3.1.1 General Strategy
3.1.1.1
Common Processing
3.1.1.2
Buffer Data
3.1.1.3
Dynamic Core Usage
3.1.1.4
I/O Levels
3.1.1.5
Device Assignment
3.1.2
I/O Controls
3.1.2.1
User Link Block
3.1.2.2
Device Assignment Table
3.1.2.3
Dataset Data Block
3.1.2.4
Driver Management
3.2
I/O Processing
3.2.1
Basic I/O Processing
3.2.1.1
Dataset Initialization
3.2.1.2
Basic Transfers
3.2.1.3
Dataset Release

vii

1-1

1-2
1-3
1-4

1-5
1-5

1-6
1-6

2-1
2-2
2-2
2-4
2-5

2-7

2-9
2-9
2-11
2-12
2-13
2-14
2-15
2-16

2-17

2-20
2-20
2-22
2-23
2-24
2-24
2-25
3-1
3-2
3-2
3-2

3-3
3-3
3-4
3-5
3-5
3-6

3-7
3-9
3-11
3-15
3-15

3-16
3-18
3-20

Chapter 3, continued.
3.2.2
Sormal I/O Processing
3.2.2.1
Dataset Open (OPB)
3.2.2.2
READ/VRITI Transfers (RWN)
3.2.2.3
Dataset Close (OLS)
3.2.3
Random Access I/O (BLO)
3.2.4
Special Operations
3.2.4.1
Special Junotions (SPC)
3.2.4.2
Devlce Status (8TT)
3.3
Device Drivers
3.3.1
Driver Interface Table
3.3.2
Drlver Servlce Routines
3.3.3
Interrupt Servicing
3.3.4
Systea-Devic. Driv.rs

OHAPTER 4 ~ILB STRUOTORBS
4.1
GeneralOoncepts
4.1.1
~11es
4.1.1.1
Linked Piles
4.1.1.2
Contlguou8 Illes
4.1.2
Dlrectories
4.1.2.1
Kaster Ill. Directorl (MFD)
4.1.2.2
User Ill. Director" (UPD)
4.1.3
Blt Maps
4.1.4
Pl1e Protectlon
4.2
Appllcatlon By Devlce
4.2.1
~lxed-Head Disks
4.2.2
Movlng-Head Dlsks
4.2.3
])ECtape
4.3
Pl1e Manag.. ent
4.3.1
User Pl1e Block
4.3.2
'11e Information Block
4.4
General Purpose Routines
4.4.1
Directory Search (LUK)
4.4.2
Check Access, set-Up and Release PIB (OKX)
4.4.2.1
Oheck Access Prlvl1ege
4.4.2.2
Set-Up Pile Informatlon Block
4.4.2.3
Release 11le Information Block
4.4.3
Transfer Bit Map to and from Oore (GMA)
4.4.3.1
Get Map (GWTMAP)
4.4.4 Allocation of Blocks to Linked Flles (LBA)
4.5
Normal 'ile Processing
4.5.1
Openlng Jile.
4.5.1.1
Open an I%isting Pile (FOP)
4.5.1.2
Oreate a Bev Fl1e (FOR)
4.5.2
Processing a Pile
4.5.2.1
Next Block Determinatlon (RWN)
4.5.2.2
Changlng the Oore Map Segment (GNM)
4.5.3
Oloslng Jlles (FeL)
4.6
Housekeeping Operatlons
4.6.1
Allocating Oontlguous Flles
4.6.1.1
Allocate Set-Up (ALa)
4.6.1.2
Oontlguous Block Allocator (OBA)

viii

3-22
3-22
3-26
3-33
3-35
3-37
3-38
3-40
3-41
3-41
3-45
3-45
3-46
4-1
4-2
4-2
4-2
4-3
4-4
4-5
4-6

4-B

4-10
4-12
4-12
4-13
4-14
4-17
4-19
4-20
4-23
4-23
4-25
4-25
4-27
4-28
4-29
4-29
4-31
4-33
4-33
4-34
4-36
4-38
4-39
4-42
4-45
4-48
4-48
4-4lj
4-50

Chapter 4, continued

PagE!

4.6.2
Deleting Files
4.6.2.1
Deletion Set-up (DEL)
4.6.2.2
Deletion of Contiguous Files (DCN)
4.6.2.3
Deletion of Linked Files (DLN)
4.6.3
~ppending Files
4.6.3.1
~ppend General Routine (~pp)
4.6.3.2
Special ~ppend Operations on DECtape
4.6.4
Renaming Files (BEN)
4.6.5
Protecting Files (PRO)
4.6.6
Directory Status (DIR)
4.1
Magnetic fape Structure
4.1.1
Opening Files on MagnetiC Tape (MtO)
4.1.2
Special Operations

4-52
4-52
4-54
4-55
4-56
4-56

(~P2)4-58

4-59
4-60
4-61
4-64 -4-65
4-68

CHlPTER 5
OTHER PROGRAM SERVICES
5.1
Program Loading
5.1.1
Program Loader (LDR)
5.1.2
Monitor Module Loader (LD2)
5.2
General Utilities package (GUT)
5.3
Conversion Utilities Package (CVT)
5.3.1
Conversion to Binary
5.3.1.1
Radix-50 Pack (code ~)
5.3.1.2
Decimal ~SCII to Binary (code 2)
5.3.1.3
Octal ~SCII to Binary (code 4)
5.3.2
Conversions from Binary
5.3.2.1
Radix-SO Unpack (code 1)
5.3.2.2
Binary to Decimal ASCII (code 3)
5.3.2.3
Binary to Octal ~SCII (code 5)
5.4
Command String Interpreter
5.4.1
Syntax ~alyser (CSX)
5.4.2
Specification Decoder (CSM)
5.5
Program Exit (XIT)

5-1
5-2
5-4
5-7
5-10
5-12
5-12
5-14
5-15
5-16
5-16
5-17
5-19
5-19
5-20
5-21
5-24
5-28

CHAPTER 6
KEYBOARD SERVICES
6.1
General Philosophy
6.2
Organization
6.2.1
Command Acceptance
6.2.2
Command Decoding
6.2.3
Command Processing
6.2.4
Command Clean-Up
6.2.5
Command Conventions
6.2.5.1
calling Parameters
6.2.5.2
Processor Stack
6.2.5.3
Call Techniques
6.2.5.4
Reentrancy
6.2.5.5
Residency
6.3
Common Command Processing
6.3.1
Console Keyboard Listener (RMON5)
6.3.2
The Special Console Driver (KBL)
6.3.3
Keyboard Commant Interpreter (KBI)
6.3.3.1
The WAIT Command
6.3.3.2
The CONTINUE Command
6.3.3.3
The STOP Command

6-1
6-2
6-4
6-4
6-6
6-7
6-8
6-9
6-9
6-9
6-10
6-11
6-12
6-13
6-13
6-18
6-24
6-27
6-21
6-28

ix

Chapter 6, cont1nued
6.4
Run-T1me Commands
6.4.1
The DlTE Oommand (KB. I.Dl)
6.4.2
!he SAVE Oommand (KBI.S!)
6.4.3
The ECHO, END & PRINT Oommands (lBI,KB)
6.4.4
The ODT Oommand (KBI.OD)
6.4.5
The BEGIN and RESTART Oommands (KBI.BE)
6.4.6
The KILL Oommand (XBI.KI)
0.4.7 The TIME Oommand (DI.!I)
6.4.8
The HODIPI Oommand (KBI.MO)
6.4.9
The ASSIGN Oommand (KBI.AS)
6.4.10
The DUMP Oommand (KBI.DU)
6.5
Between-Program Serv1ces
6.5.1
The Trans1ent Mon1tor (fMOB)
6.5.2
The TMON Oommands
6.5.2. 1
The LOGIN Oommand
6.5.2.2
The lINISH Command
6.5.3
The RUN and GET Oommands

6-28
6-29
6-32
6-38
6-41
6-43
6-50
6-52
6-54
6-59
6-65
6-71
6-71
6-79
6-79
6-81
6-83

CHAPTER 7 ERROR HANDLING
Types of Error
7.1
Oal11ng D1agnost1c Pr1nt
7.2
D1agnost1c Print Boutine
7.3

7-1
7-1
7-2

OHAPTER 8

8-1
8-1
8-1
8-2-,-

MONITOR GENERATION and HODI'IOATIOB
Mon1tor Module Preparation
8.1.1
Module Assembly
8.1.2 Hodule Linking
8.1.2.1
Resident Monitor
8.1.2.2
The Transient Monitor
8.1.2.3
Keyboard Language
8.1.2.4
Other Modules
8.2
s,ystem Building
B.2.1
Setting Up a System DEotape
8.2.2
Loading the System Device (SYSLOD)
8.2.2.1
Preparation of SYSLOD
8.2.2.2
SYSLOD Usage
8.2.2.3
SYSLOD Processing
8.2.2.4 Monitor Boot1ng
8.3 Monitor Modification
8.3.1
Res1dent Monitor Modules
8.3.2
Program Services
8.3.3
Device Drivers
8.3.4 Keyboard Oommands
8.3.4.1
Bew TMOB Oommands
8.3.4.2
Other Commands

B.l

CHAPTER 9
SYSTEM lILE lORMATS
9.1
Object Module Format
9.1.1
Object Module's Oontents
9.1.1.1
Global Symbol Directory (GSD)
9.1.1.2
Text Block
9.1.1.3
Relocation Directory (RLD)
9.1.1.4
Internal Symbol Directory
x

7-4

8-2

~-.J

8-3
8-4
8-4
8-4

8-5
8-7
8-7
8-8
8-8
8-11
8-12
8-13
8-14
8-18
8-18
8-19
8-19
9-1
9-1
9-2
9-2
9-5
9-6
9-6

____...t

Ohapter 9, continued
9.1.2
Object Language
9.2
Load Module format
9.2.1
Load Module Oontents
9.2.1.1
OOM» Contents
9.3
Object Module Library Pormat
9.3.1
Directory Oontents
9.3.2
Object Module Contents
9.4
Load Module Library Format
9.4.1
Directory Oontents
9.4.2
Load Module Contents
Fi~e

1-1
1-2
1-3
1-4
1-5
2-1
2-2
2-3
2-4
2-5
2-6
2-7
2-8
2-9
2-10
2-11
2-12

.

,

3-1
3-2
3-3
3-4
3-5
3-6
3-7
3-8
3-9
3-10
3-11
3-12
3-13
3-14
3-15
3-16
3-17a
3-17b

9-7
9-13
9-14
9-15
9-17
9-18
9-1B
9-19
9-19
9-19

I L L U S ~. R A T ION S
'ritle
The Basic Resident Monitor in Memory
Monitor Library on the System Device
Memory After Program Load
Memory During Program Run
DOS-II Monitor Module Structure
Usage of the Fixed Vector Locations
System Vector Table Content
Monitor Residency Table Format
Device Driver List Format
EMT Handler Operations
Stack Shuffle to Remove Call Arguments for
Immediate Program Exit From the EMT Handler
Swap Buffer Format
SAM Operations
Memory Usage During I/O Set-Up
Buffer Allocation Management
Buffer Allocation Operations
Buffer Release Operations
User Link Block
Possible Device Assignment Table
Device Assignment Table Entry Format
Dataset Data Block (DDB)
Monitor DDB Chain
DDB St~tus Word
Driver Queue Management
A Driver Queue
Stack State In S.CDQ After Driver Completion Return
Flowchart For Initialization Module (INR)
Memory After Dataset Initialization
TRAN Block Format
Flowchart For Dataset Release Routine (RLS)
Flowchart For Dataset Open Routine (OPN)
Memory State After Dataset Open
User Line Format
Flowchart For READ/WRITE Processing (mainstream)
Subroutines to Handle Device Transfers During
READ/WRITE

xi

1-7
1-8
1-9
1-9
1-10
2-26
2-27
2-28
2-29
2-30
2-31
2-32
2-33
2-34
2-35
2-36
2-37
3-48
3-49
3-50
3-51
3-52
3-52
3-53
3-54
3-54
3-55
3-56
3-57
3-58
3-59
3-60
3-61
3-62
3-63

Illustrations (continued)
Fiffi!!:~

3-18
3-19
3-20
3-21
3-22
3-23
4-1
4-2
4-3
4-4
4-5
4-6
4-7
4-8
4-9
4-10
4-11
4-12
4-13
4-14
4-15
4-16
4-17
5-1
5-2a
5-2b
5-3
5-4
5-5
5-6
5-7
5-8
5-9a
5-9b
5-10
5-11
5-12
5-13
6-1
6-2
6-3
6-4
6-5
6-6
6-7

3-64
Unique Read Processing Sequences
3-65
Unique Write processing Sequences
3-66
Flowchart For Dataset Close Routine (CLS)
3-67
The BLOCK Block
3-68
The Special Functions Block
3-69
Driver Interface Table
4-70
Linked File Format
4-70
Contiguous File Format
4-71
Master File Directory Block #1
4-71
Master File Directory Block #2
User File Directory Block
4-72
Bit Map Segment Format
4-73
Protection Code Format
4-73
Non-System Disk Format
4-74
System Disk Format
4-74
possible Linked File on DECtape
4-75
DECtape Format
4-76
Monitor File Management Modules
4-77
Potential Stack State - Internal File Management
Subroutine Call
4-78
Use of Swap Buffer in File-Handling Operations
(First-Level Routine)
4-79
User File Block
4-80
File Information Block (FIB)
4-80
FIB Linkage to Bit Maps
4-81
Program Load Image as Produced by Linker (Link-II) 5-30
Program Load Operations (Phase I, Program Load)
5-31
Program Load Operations (Phase II, Monitor
Module Load)
5-32
Operations of the General Utilities Routine
5-33
Conversion Routine Operations
5-34
Command String Input
5-35
Command String Syntax Rules
5-35
Command String Input Buffer
5-36
Command Buffer For CSI
5-36
Command String Syntax Analysis (Mainstream)
5-37
Command String Syntax Analysis (Subsidiary Routines}5-38
CSI Command Block
5-39
Switch Data In the User Link Block
5-39
Command String Decoding
5-40
Exit Operations
5-11
Use of the Keyboard Swap Buffer in Command
Processing
6-90
Stack States During Command Processing
6-91
Keyboard Command Buffers
6-92
Keyboard Listener Operations (RMONS)
6-93
Special Keyboard Driver Operations
6-94
Keyboard Interpreter Operations
6-95
Date Command Processing
6-96

xii

Illustrations (continued)
Fiqur~

Title

8-1

Save Command Processing
6-97
Begin/Restart Commands processing
6-98
Time Command Processing
6-99
Modify Command Processing
6-100
Assign Command Processing (OVerlay #1 & Mainstream, 6-101
OVerlay #2)
6-101
Assign Command processing (OVerlay #3 & Subroutines,
OVerlay #2)
6-102
Stack State During 'Assign' Processing
6-103
Example of Line-Printer Dump
6-104
Dump Command Processing
6-105
EOM Adjustment by TMON
6-106
Transient Monitor, General Processing
6-107
Run/Get Command Processing (Load File Check)
6-108
Run/Get Command Processing (Preload)
6-109
Stack State On Entry to the Error Diagnostic
Print Routine
7-7
Modules Present in DOS-II Monitor (V4A)
8-23

9-1
9-2
9-3
9-4
9-5
9-6
9-7
9-8
9-9

Object Module Format
Blocking of the GSD
Contents of GSD
Format of a Text Block
Format of a Relocating Directory
Object Module Library Format
Blocking of Object Module Library
Load Module Library Format
Blocking of Load Module Library

6-8
6-9
6-10
6-11
6-12a
6-12b
6-13
6-14
6-15
6-16
6-17
6-18a
6-18b
7-1

xiii

9-20
9-21
9-22
9-23
9-24
9-25
9-26
9-27
9-28

OOS1."N'"

F' AGf!

I_I

CHAPTER 1

I N T ROD U C T ION

Like ~t~.~ bulk ~ed~e, ~e~e~a"v, e dilk!1 eo~v@~~e~t for
.to~aae
a~d
~et~.eval of system softwe~e .ue~ II Editori, A~.e~~,ers, Com~iler.' ete.' w~ie~ ~ss1st t~e.eom~ute~
u •• r toward • • more r'~id dev@lo~me"t of ~1s 'DD'4elt1c~ls
~rccrAms I"d t~ereafte~ of
t~ose
~~oorl~s
t~emlelv@s
a~d
th.~r date.
Mc~e .~o~i~iea~tlv, beeause of ftl relet4velv
f,lt ~a~d~m aeee •• ~e~eb1lit1e., I disk e~~ be treated IS 8
virtu". exte".10" of Iva1lable eore memory, t~erebv e~ab'1"o
the ~rcv1'4c" of I wide ra"oe 01 ~u"-t.me .e~viee. w~1e~ ea~
.a.e .t~e. bU~de" of al' ~roc~am., eve~ .~ t~e .me"er eo~f1Clurat4c"l.
t~.

The F'OF'-11 D1lk CDerat1"o Sv.tem (DOS) is de •• g~.d to take
.dva,.,t.ce ~f t~e.e be"ef1t. 4~ t~e .1,.,ole-u.er di.k-ba.ed
."v4r~"~e~t.
T~u, it eo,.,s1.t. basieallv of. Mo,.,4tor w"1e~
,uDc'.e. t~ • • erv1eel me"t1o~ed a"d 1~ Da~t1eula~ IUD~O~ts a
comDreha~.4ve .et of ~roo~.m deve'o~me,.,t loftwa~..
t~ t~.
Procremmer l • Ha,.,dbook CDEC-l1-MWOC-8) t~e ~c"1tor 1. des~ribed. ior t~e u.er w~o w~.~e. me~elv to obta~" 1tl, .er~1eel
for "11 OW" DUrDOlel a~d to eo"trol t~e ooerat10~ of ~11
Iv.t,m. T"e Ulaae of 1tl a.soeiated ~rogram., '1lted below,
•••• e'a1~ed i,., the r@1eva,.,t F'~oa~ammi,.,o Ma~u.' '~OW"I
.

,

EDtT-!!
IitAL-l!R
LINK-!t
OOT-l1R
IitIP.it
'ORTRAN
T~1. ma~uel

Text

Ed1to~

AI.emb'e~

L1"ker.' LJ8R-11 Librar1e,.,
DebuQC1~ Aid
File Ut1'itie. Peekeae
FORTRAN IV Comc1ler

OEe·11-E~DA-D

nEC-l1-ASDe.O
nEe·i1-ZLDC-D
nEe-11-0CDA-O
,.,Ee-l1-PIDA-O
"Ee-l1-t~no.t'\c.. ~nI'"

~ .~
:~~¢~

~ut'.ftQ. "'I\~rt--.e..

RK s~~

•~C!Ab /. \OoHU:1E.

"&714

(+

PRoCe.~

.sr:l'

11'k.~

.l"Ila-;rr.
.s~511!n\~)

C

~-

S~&lClt)

l>£"u,£ l>UvRA

1

..

,-'~rcE.R.
CiE.N~"'"

f)u~PaSe

S\J6- RO\JTrt(e,&

~

mA~t.r

...

SWAP a~

~

~-----.----------------.
SWAt- "'leA M"'IIl~

£nn-

.

,.

~rtbLER..

ft\oll3:.T'OR.
~.aJl~

MA~

~"ft\O tU

'iQaOa. SPACE.

,'"

~~cysr-a:

'-1: 'THE: 8AKe:. a.£9«J>£..rr
MoNrlbfl. ;... MEMOfii!:'(

t ~~~
uP Ie T"\'tE

-~~~
• PQ,o~

-.
-

~

C.e£~~

Ot=' f'kl')oua.&

\-orNE.

(see t='3u~

kcV

-

r .. :rtGEx , ... =:
I

L ________

'::!'-M.~~~ ~"::::-~~--.eI~r-~

-~

rre~"3=

tfUT ~M'P£~ •

_.~_

eoa£~=­
~ ftIo»u~'"

J"-------------P.~-~-

"'

CW\O])UL.E

'I..

...oet<.,.

~~~. ~,,_~~~

-~-~~~~~~~~-~~~ ~)-

"_ ~ ~ _~!'_'!i~~~, ~

_~Sl:.~ ~~_~ ..

-

f~.!...~~_~."o~ ~~~~_
~

- c.oaa %IftMn

.,.,...,T

O#~a.B =-~

:r.. EHMJl #~ -

,

--

I

I

~<=-aJI!,--"

c:o-.E.

&ft)T c.A ......

-.

- ....

A»aE&~

----..."

#11

~w.A.

---=<...-.-"

I'l4ME. ( ..... :. -&tID

S1"Atn" ~_~____

~.

.~_-=H~za (...,0) __ ~_
"# fI# ~ "'O_~~~"!~_
S1'R«r

,,»ae& .
-

v _ _ _ _ - . - - ...

fr.

tftO'iW..E

__ ~~ ...

~
~AT A'l>)Wl~

·

I-------~~;;;...-~~-~-~~

_~_ Mo~~.~
"~Cfttt

---~~~

C"Qd.,,-s.)----

-----~----~--

-.,.~~~-

-----

_ .~_~~T b~_~ __ ._

~ _.~_~ .~!~~~~da).

of O!_~~.~.•o.~ • ~
I

--'

~ ___ ._

~T ~~.~~.
~r"~a£_

F.S :"'" 1- ~: ~~.,.... Ioo%8R""-"I

Ott

~

SV~ "'E.~%C:E...

CSA

~----------------------~--CSA

l. ~,'"£.
.~ E.(Y)(. ~ '-(

p~ ~~----------------------~

,,~

~

----.....
~----------------------~~~Toa
"~TO:­

A) >,,11\

6\lF'tr~

'-)~

C)X/o

».x"'Eb

~, ...~

""----~.=~ -~-~~ --- -~e.0I'I"J
- O'ntEA
---

~"'To.

~

- - tlb,J>e,fCT

.. ~

'Aocrc4«l Au'"
Pat.~e.NT~"'"

PU~EltTL.'"

a.E'S!IoIi>ENT

AES1l>&r.

MOf(tTO~

MQI\Q:Tb-.

(see. F'~. ,.i)

(sta c:~. ,.~

9S

~
~1'UC'e.

\ • 3!

t't\ t.mot"~

0.""- r

Pr-o.;,t"Qn) I-..cad

1='1~\lC"

I-A.:

t()e.MCIC'~ ~ .. ro,

P~ta~

ns

Run..

])O~-II

Kg pro

o~:

OC:t

0 I RLJC.TUR..E

('I')O])ULE.

,-P:

PI'.

~,c.
KE'tBoARD CON1N)AI'ID
"'e.t.llI't: 39' ""eI·SA:

c.R.:

RC-II

SA ... e:

r

]) 1':>1<.

1-/0

PROcE.e.~O~S:­

,I-........_......J

.r

-)

\£,

l-

'"I
I

L

"8I-~

""5'\'EXT'1

--

-

~n)O"''lI:,

- - - r-~--~----~----~
---

-,

_'--_--_...J_ _ _

~:;::;:::..:..:.;:.:.L_

______

...

.....J..---~

--

- -

-

-1---

1"~:J, c...
~AT'A'S€i'

INtr

p,

.J...~'!

OPEN
E,)t,I~TlNG-

FIL..E.

I

I

J,

t

..!,

';' '1'IUI: 1
1

,

1

•~

A8$oL.ll1E

Q.a.:;:

1

"7

I

~C1
R.E..L.SI~

1

,

1

,
t

I

t

.J..

I
f

I

I
1

i

,
1

'"

FcA:

J. j,j~

I-a....

llol.s

c:AeAlE
I'(e"./

c.~

\..,NICS.D

FlU::

R€.t&/

OI>Et'I

wRri'€..

1

I

J,

l' C&..'l.·,
1
1
t

1
1

I

''1

'lIlA:! I,""

I

I

!.

I

,

I

.u

J)A~

..!.

CLo:;E

I

1I

-',(-

I

I

I

Ct\ec.,<.
j:',~

AC:Cc:..~'1>

A~AlE:

~

Corn.s..
C::-IU!..

I

&Ir·~
~

...

.~.

.L._

,

-

.1_-*

1

12>4-

&~,<.

G€.TrlE:)c\
&1 T', IY'lFIP

,I
-

,'h.l,£)cl\1E:

S~ecT

L..\N~

r,:-,\..£.

I

'"

G-NI'/'\:

I'Z.

1

3P"C\~L.

Fl.loIc.ilON

),(0-

,

,

1-.1

,I

-

- - -

APP;-r

J..
1
I

:i>A~-

~MiUS

F'1I..s..~

s\

I

cor-r.w:; •

&....oc..K:..
1\1+.O~'l'G

,

I

I 1

.j~

,

it4

fRo"lt!a
F"\I-S.

Joe""

oe..L..G..~

I..IrlKS:>

coC'l.....,&-

j:'t~

L--._

I

FI~

Crtl~e

I

I
I

~

I
I

-..J

L....

J

~1
.L &4 , ~,,~:

'i>Et..,G.."E

56

I

I

!.-

Crtlj)
I'~

'4oCSS9

I

1

.:.

i

1

' 3)L.",.L sa
I

,

j

I

I

1

.1.-

FINISH

R,';"'/GS:\

I

I

~It..£

I

_ _ _ _ _ ...1

v

'Z.'Z. ~I ht,OI
1

('RW"I'\

- - -.J

.!..

~PA!!tll>

.!I
I

- ) I~
J

0EL..e..",€

I ---r,- - 11

: ca.,,:

•

I

1 oz.,

~Q.oR

~qGrfloSi

V

1

~

.!I

";>

1 516 'i'~1,1,~7
,

GrE.'

-

t
t

I

,....,. . . . -.;:r

J1

...
I

SPc.:

1

I

~5

v

G«\AI

1\

~€LATI"e
&\..OCI(

"'~I.O:l\~ 'i', R€N:.L~\II l' j¥~

>.tItl!.Cl"iol)

""1

'i' CK)(, J, 5~

'i' &UI,T

.....
':' .5n": .i 1 '3

1

J.. 3i!:

J ,

~

I

E}>',

1I

'-"

J

I

1

L
\.OC\<.·up t-

1 ~/4

'.bATqo;.Er

I

I

~II.J!,

"

I

RWN:

I'"

";>

I

)I~ec.i~

1

1

"':'

L\JI(,_J 4k

""
'10PH: 1

I

I
(;- _ _ _ _ _ ......1 _ _ _

-)

-1- - - - - - - - - - ,. - - -,

,

1>E-co'i>e..

'"

L

- - - - - - - - _,.1 - - - - -

I

oJP 3.
Cl'I\p

J,

I

I

c.L£A., ..

I
________ 1
I

I

1

TMON\

I

I

XNPUT/OLlIPUT ~ER"'CES:r - - - - - - - - - - - - -r - - - -

~:-3-~........J'-----~1-----J.....l :pumP

r

I Hl)1i-tt6S

C4'l)..... I~\~
tw:\t(])1..f:.~
I(,('T.
" Ao\lTIMfi:

be..... c..E. "'-----I

IJI----....I

-

IEAAoA.

~~\"SR

,<.&1::

~PEc:.14'"
K6i>
1C6:D I---r----~ ~NTSa:i>~ .....(SA.
N<.e.~

Ie:..

.,P-!..._

31

f'I~PEN:i>

J>Ec.'l'APt:
F",....e!.'e>

D

'I

Ke:,:':

I

J:N~'

:1
":
jl

I
.

..s. NAml!!:

f\"Io';l ..

c.. ~CrtTr CA~ GC~

~ IU\l-e.c.h~e.. ,......,:....\1_,;"" ot- COo!".....1

-------,.
Re.~t'Ulee..
~
-

-

-

......ok./ K&i:> Crt'I~ Em:.('
Io""c-oa.\ Ern'i' CeLli J.,..;n\c.

----------------

CHlPTER 2
RESIDENT

MONITOR

I~ WIS I~OW~ 4~ C~8ot~r 1 tM,t, i~
Qe~erel,
t~e
user el~
h4mle'f deter~i"e t~e wav i" w~ic~ ~e w4', ul~ t~e ~odules
for~i~o_t~e OOS ~0"4tor e4t~er to live t~~e bv
~8v4"o
t~em
rel.de~t
4~
~emorv
or to ,ave core by lelv4~o t~em to be

broug~t_fr~m t~e SYlt.~.dev1ce 0~1y w~e~ re~u.r8d.
eert.i~

~owever

of t~e modulel t~ere ~s ~o c~oicel t~ev must be
rel1dA~t at ,11 t1mel for o"e of t~e fo"owi~~ reelo~'1

for

They co~tro' t~e system Oe~erlllv !~~'udi"o t~e
10ed1nQ of other Mo~itor routi"el from t~e IVStem-dev4ee.
T~ev ere called wit" IUff4cient freaue~ev t~et
to bring t~em fro~ t~e IVlte~ device every time
t~ev Ire needed would be unrealistic.

Thl ~ur~ose o~ thil e~aoter il '0 dileu.' t~e ~ri~c4~.' mod~'e.
11"1 t~11 cateoorY. Se~t40~ 2,1 ~ont~1~1 deleriot40nl
of th' tabl'l uled bv t~e Monitor to mlintlin Ideouate eo~­
trol
of t~e Iyltem Ind '"OWl how t~ev ere set u~ i~4t1a"y.
Section 2.2
eoncer"ed wit" t~e rell ~eart of the Mon1tor,
the EMT handler, and Section 2.3 'ookl at the tec"n.Quel for
br1no4"o module. from t~e Iv.te~.dev4ce by the Swa~ Area
Maneger~
Some ~e~erl'-~ur~ole lubrout~nel are c~vered ~~
lectio" 2~4 and fina"v Section 2.e out'ines thA c'ock control routine,

.1

Two other re.ident modules are inte"tiona"y omitted ~ere in
order t~at they may be dilculled in contewtl
1•

2.

T~e

minimal conlole tv~ewriter driver needed to
serv1ce keyboard command in~uts - see ~eet40~ 6.1.

Prel.~t'v t~ • • ~EAO/.WRIT! orocel.or must ,110 ~e residel"lt.
bv _re.,o~ of itl I~ze, it ean~ot be brou~~t 4"to tlote Swao

Buffer 4n

t~e

ulual

man~er.

Nevert~e'esl

it
w1t~ t~~ ot~er 1/0 orocessors 4~ Seet1o~ 3.2.

11

Th. 'IvoUt of t~e module, wit~i~ t~e ~erm.nentlv
Monitor area i. illu.trated 41"1 f10ure 2-1.

described
res1de"t

PAGF:

OOS2.~Nn

2.1

~0~1to~

,2-

2

Tlble.

T~I object of t~1.
tlb'.. w~.e~ .~.

Seet1~n

i •. to .nt~~duee t~e va~40us
let uo w1t~1n t~e ~el1dent ~0~1to~ e~el,

fo~ 1~t.~eo~~u"4elt40~ ~Itwe.~.el'

Mo"ito~

~outi"e..

T~.

tlb' •• t~I~,elvl' a~e f1~.t d1.eu.sed. T~1. 1. fo"owed by
• dl.e~~ctio~ of t~e 4"4till1Zlt10" e~oeel' w~1e~ 1. ~81~1y
c~ov1d.d
to e"'u~1 t~.t t~e tlbl •• I~e ee~~eet'v .et-uo fo~
U'I w~e~ t~e Mo~1to~ i. 101~ed.
It ,~ou'd b~
dl'1g~.d
te

"ot.d et t~1. o01~~ t~lt t~. Mon.to~ ~IS been
be 1~d.cen~e~t of t~e 0~11t1o" it ~ceu01e. ~~
~.m~~v.
T~4. ~el~' t~lt O"'V t~o!e ~out1~ •• ~~fe~ fo~~ t~e
b , , 1c ~ • I 4d. n t
'=' 0 ~ 1t 0 .~ . e In. ~ • 1... I " e. e • e" 0 ~ ~ e ~ d 1 ~ e e t , y
.1"ee t~ • • oe~oo~4.te co~~.et40~. ea" be e.t.b'1,~ed du~1"~
'."kl~' bv LINK-lt.
A" ot".~ ,.out."e, w~1e~ ea~ eetent11',y b. ,wlce'd-.n o~'V w~e~ "eeu4~ed mUlt u.e 4~~1 ... et ~.t~·
od ••
To c~ev~d. t~, mOlt .t~.i~~tfo~wl~d leeell to f .. eaue"t'v ~e·
au1,..d I~'I' 1" t~. ~~ •• d'"t Mo~1te", DOS t~erefo~e ut1'1zes
t~. veeto .. leaee i" 'ocat10~. 4~-~1, ~.~e,.."v
"e.e~ved
4"
11' ~DP-l1 .v.te~. fo" 'Ylte~ .oftwa~e use. T~e.e .~e 1~
flet ~". O"'V 'oelt10~. Idd,.elled Ib.o'ute'y with." t~. Mo,,4to,,(1) Cd.viee d,.ive,.. eo"t"0"4~a .t~e exte~~I' ole. ef
cou" •• ,.e.ot.d). ~1eu,.e 2-1 I~OW' t~,1~ e"e.e~t u •• ~e. In
g.".~.',
I ~.1.,.."e. t~"euQh t~e~ ~eouf,.el I 'eve' of i"d~­
~.ct10" b.yO"d t"lt e"ov1d.d w.t~4n t~e 1e~~lt of a 11"~1e
PDP-1J1".t,.uet10n.
~.nee t~e eo~~on tee~n.oue fo~ e~t"y,
'IV, into a g.",,,I' eu"oo ••• ub"out1". wit~ it. .t.~t-ooi~t
." one of t~e veeto,.s i. v41 t~e tee ~f t~e c~eee •• o" stack
I"

MOV .-44,-CSPl
J!R PC,'CSP'.

2.1.1
T~.

Sy.te~

.

-

tim..

yeeto,. Tlbl.

01

Veeto~

i"fo,,~ation

..... ---.--. ...
VlctO~

f~'e

It"uctu~e

.

eu~"ent'v ISIUme t~e
Syste~
rlb]e CSVT) .t,,,tl '~ .• b.o~ute ,oeation ~00 •. T~1. 11
• r •• t~1et1e" t~,t wi" be f1_ed 1" '.te~ ~e'easll of DCS.

1.

T~.

CR'10Nl'

Tab'e CSVT) 0"ov1del • eo~~en ... ea fo~ t~e
on t~ • • tate 01 t~e system at ."y
Tn cI~t1eu'I'" it co~tI1~1 oo1nte", to ot~.,. oa"t. of

Sv.te~

.~o,..ee

.GET START AnDRESS OF
.SlIBR. 'S.RSAY'
.ENTER ROUTINE & CLEAR STACK

~out4" ••

PAG~

DOS2.RNn
,.

~~

2.- 3

the ~ •• 4d~"t Mo~ito~ whfe~ .~. "ot ~efe~e"e.d f~e~ue"tlY
."OuO~
to w.~~."t the MOre f~med •• t • • eee •• dfseu.aed above
o~ to .~ ••• w.t~t" • ~u""t"a u.e~ ~~oo~am.
It ~o •• "ot f"e1ud. d.t.t, fo~ othe~ rout."es whte~ "o~mal'v ext.t O",y
wfthf" the MO"tto~ Lib~.~v ato~ed 0" the 'v.te~.devfee.
The ••• e' e~v~red bv ~eD.~.te t.ble. w~.e~ wt" be discussed
4" the fol10wf"c •• etto~ ••
Th. t.b'. oeeuDi •• the ff~.t c.~t of t~e ~'It~e~t MO".to~
I,r.. ( t h., 0".1 V ,.,. 1 ~. I. it" f 0 ~ t" ,f! b. f "a _~ he f • ct. t'" t • ~ •
• ou~ce .1'0 eo"t.f". the eo"te"t. of the f.x~d veeto~. .~
41-51'.
Nor~."Y
tt .t.rt. f~~edf.t.'v .bov. t~e reserved
~"t.~~u~t v.eto,. 'D.ce .t loe.tio" AI~. N.ve~t"e'.aa, .t"e,
4t .s .• lw'V' ref,~e"e,d th~oug". ,oe.tto".4~, thf, add~e ••
CI" b. eh."a.d by ~ •••• emblv, D.rtfeul.rly.f
f"lt.ll.·
~;O" ~.td. e.tr. v.eto~. fo~ ,Deei., d,vf~e~ Cbee.u •• of the
fil • • t~uetur •• ' ~ •• t~fetfo" f"dfe.ted above, the SVT .d·
d,. ••• of V104' y.~ •• o" of DOS mu.t "ot be e~'"Oed) Cl'.
Th. tt.~. eur,.."t'v t" the ~VT .re ,flted f" ff~ur' 2-2. I"
the M.t", th, • • • ,., •• If-,xD18"8torY' how4ve~ .dd1t.o".'
"~t •• h.ve b •• " i"e'ud.d wh.~. ".e •••• ry.
The t.b'. e." b,
•• ~."d.d .1 ~.au.".d bv the eur~e"t st.te of Mo"ito~ deve'·
o~m."t but O"'V by .dditto" .~ the e"d. Th'D~e.e"t'Y .de·
ff".d f"t.,.".l .t~ueture e.""ot b, eh'"Q,d sf"e~ .11 Mo"ftor
,.outf~ •• d.D."d UDO" ff •• d ~.,.tfv. Do.itio". w(t"f" the SVT
4" ord.r to r.fe~."ee ft. CO"t."t.

8"

,

-~

Th. SVT .• ' b •• fe.l'y e.t.bl •• ~.d whe" the ~estde"t MO"tto~
•• f4rlt '1~k'd throuahout LINK-It " d,.e,..b~d t" Seetto"
.,1.a~
Th. t.b' • • ou~ee ~ •• bee" •• t uo to t~elud., f~ ~a,.·
t.cu'.~,
the ".e •••• ~Y olob.l ~ef,~e~ce. to other ~o"ftor
.dd~.s.e. to aceo~Dl •• h thf •• Othe~ t.ble '"trf •• whtc~ ,.ef'.et.t~. co".ta"t .tate of the eo~f.Qu~.tfo" f" u.e a~e •• t
UD du~t~c t~e 4"ftt.'.z.t~0" oroe,.a whic~ f~l'ow. ~o~~to~
,o.d.~c
C••• Seetto" 2.1.4). The v.~ •• b'e .~t~fea, the~­
•• ft.r, 're •• ,'.d f" o~ ~'Moved '~D~oD~~.te'v bV •• ve~.'
Mo".to~ ~outt" ••• "d the., wf"
be "oted at the releva"t eof"t t"~oUGhout the ~eM.i"de~ of t" •• ~."u.,. I" o~de~ th.t
the u •• ~ ~,.OO~.~ M'V "'0 ~efe~e"ee D.rtfeu',~ e~t~.e.
de.m,d des.~.ble, t"e Ge",r.' Utt,1tte. ~eauest b,sed o~ ~MT
.1 •• D~ov4ded •• th. ~eeomMe"ded mea". Caee ~eet.o" ~.2)

..1.

--.--~

..--.-.

T".8 i.c.,fty may "10 ."OW a u.e~ who w.... es to ~".
erv. ." .~.. oi meM~~v out.~de ~o"~tor eo"tr01 to do 10.
Howeve~.tht. u.aQe f. "ot co" •• de~ed a "orma' D~S D~OV.S.O".
Thu. eo~,.eet ~o"fto~ oDe~.t.o" j. "ot Gu.~a"teerl if .ts botto~ ts fo~c~d .bov. leK, the Dof"t
.t whteh oo.ftfv. .dd~ ••• e. become "ea.ttve.

OOS2."Nt"I

PAGE .2- 4

t"~O~I'

-~~----

The M~n4to~ Re.fdencv Teble (~RT) .upclfes twe tvces of info~met.on, mefnlv fer the EMT han~le~ (se~ Sact4o" 2.2)1
1.

It shows w~tch Ho"ftor ~outt"a. are ras4dent 1"
etthAr perme"e"tlv or for the ~uretfon of e
oroaram run, a"d where t~ev ere loaded currently.

2.

~t. acts a. a directorv to the ~e",afn4na routh,e. estoped
w'thtn. the
MOn.to~
Lfbr8rv
on the
system-device, to enab'e fmmedfate aeC~.s when one
of_ the.e routfne. mu.t ba brouAht 4"to eSwec
Buffer.

~e~orv,

The t'ble f. e .et of o"e-word entr4es, eech corresoondfnQ
to an EMT eode, and •• ordered fn the .eouence of tho.e
code • • tart;"o at 0. Thu., fop e~~mcle, .ince the ~ode. for
.INtT call f. 6, the table e"trv for the .I~IT routfne f. at
MRT+14. The lenoth of the table wfth1" a"v ~onttor sVltem
"Iturlllv dece"ds u~o" the rl"ge of the currentlv esstoned
codel. ce.-haps wtth .eare., uo to a ma.imum of 256 wo~ds.
The ',"ct~ of the M"T ce" be determ1"ed_b~ .ubtrectfnq the
.tlrtf"c Iddre.. of the HRT CSVT+4e, from the .tarttnQ Iddre •• of the DDL CSVT+5P) which immediatelv followl ft.
The fermlt of eaeh word in the tlble show. the eurr@"t loeat4o" of the Monftor routine it recrese"ts, ustno the faet
t~lt for a velid PDP·J1 Idd~e.1 for e.ecu~fo" eec, •• , bit 0
~u.t _be ~, f.e.
I word ~oundary.
The Possfble formats are
illu.trated at fiau .. e 2-3. It .hould be "oted that two bft.
ee" lufffcientlv deff"e the ma.fmum "umber
64-word legme"t. (or fi.ed-head disk block.) for a"v Mo"4tor routf"e
.;"ce the lar~est .wec er.a Ive.'lb1e fs 256 words CI.e Sec~fon 2.3).
Horeover 11~ce t~@ ~on.~or ~fbrarv 8lwavI co~es
ffrlt on the system deyfce, it f. "ot excected that anv Mon4tor ~out."e wfl, be stered beyond bloc~ '17777.

ef

The tlble •• tate "eeded for
three .tlcell
t.

I

uler crOQram run 11

reache~

fn

The ~RT lource t • • e~ ~c t~ contaf" the alobal "ame
elch e.fltino Monftor routf"e in th~ apcroorfate
oo.ftfo". Ourf"Q If"kaae of the cer~ane"t'v re.fdent Mo"ftor Sect to" with LINK-It Csee Seetfon
8.1.2) the core .ddr~ls for eech routi"e fne1uded
f. automltiClllv .et correctlv into the t8ble.
LINK-It also zeroe. the ~ema1"i"c e"trv words since
the1~ alobel ,eferenc •• ~emlfn u~def.npd.
~f

Whe"ever I comolete Mo"itor hoot eceu~s, eit~er
f~om cold ste~t via the ROM 10ede, o~ following.

PAGE:2-

DOS2.RNO

e

eo".ole FI~I!M comml~d, t~e 1nit.lli~ltton ~out.ne
t.ee Sectio" 2.t.4) lelrches the ~o"ito~ L4~~apv
tMONLIB) on the .vstem device and pesetl el' 0 e"t~.e. in the MRT to the ~elevl~t di.k info~m~tio"
C~o~mlt b, F~oupe 2-3) fj the eorre.~o"d~na pout4"e
•• fou"d or with t othe~wi.e. At thf. ti~e, the
MRT •• i" it. ~e~ma"ent Itete. A coev t. sto~ed,
within the Mon4to~ Librl~V 0" the system dev1ee fo~
llte~ use Clee below'.tl)
~.

If the user, by I 010bal peference fn a ~~oo~am,
f"dicltes thl~ 10 po~t1"e normellv Itope~ O"'Y 0"
the IVltem-device 1. to become pelident while thet
~roQPlm il punn."Q, the DPoo~eM 10adap Clee Seetfo"
5.t) f. 10 4"fcpmed by LINK-tt.
The lcleep Ulel
the ~1lk.i"fO~~lticn Ito~ed f~ the MRT to ~~ino the
~outi"e into copa I"d ~'Ietl ftl MRT e"t~v
to the
IPDro~riate eore edd~ell.

TheMRT ~e~a1n. 4~ the loed-state th~ouahout the DPOQPlm
pun! _it cennot be c~l~o,d_for p~uti"es b~ouoh~ into I aWID
Buffe~, bec,use the d41k 4nfoPMatfo" Paleve"t to
the~
mUlt
reml4~
IVlfllble for leYe~el inte~lelved el"I, e.a. .INIT
followed by .OPEN, then back to .INIT 1014n. The SweD Ape.
Mlnage~ therefore uses other methodl to control the ·~es ••
de"cY" of thele ~outi~es Clle Sect40n 2.3). when the ~~o­
O~lm 41 finlllv removed from eo~e bv .EXIT f~om the D~capam
o~ ~" I conlo'e I(ILL ~o~ml"d,. the MRT eODV en the IVI~e,"
deYiee .11 read blck into_M,mOry to Plltore the teble to ttl
perml"e"t It.te. C.ee !eetio~ 6.e)

BI14eA"V, the Device Orive~ Li.t C~OL) Drovfdel the leme<
infor~l!ion •• the MR~ co"e,rnfnQ.the eurre"tm~merv OP IVI.
tem-device 'oeetio"1 of device d~iver'. ~eweve~, u"'ike the
other Mo"ito~ ~out1"es, the drivers mey be lo.ded fnto or
~emovld, 1~o'" memory i" __ c~o~dlnc. with the d~ne,"fe re~uir·
ments of I ru,,"1"o Drogrl~ ."d theY do not use the SWID
Buffer. Since they mu.t be readilY Ive4'able to service
proorlm i"ter~uots whenever thefr deviee 41 in use, they ec·

.......--- .... -.

1. A•. ~t.t~d, thil write~out oeeu~s u~d,r "O~ml'
ru"nfnQ
conditions,
Mence at orellnt the Mo"ftor L4b~l~v 0" the
IVlte~-devfce must not be wrfte-p~ctected.

e~DY e.t~a ~uff'~1 f~Qm.f~ •• eo~ ••
'o~a.~

H.~e • • ee~ ."t~y ~ust be
to eo~tef" add4t40"al 4"fo~~et.o".

Th. fle.~'tf"O fOfl",.t of. t"e DOL. i. ill'u.t~et.rf at
2-4. Th • • io~ffie."e. of •• c~ it.m i ••• follow.'
1.

Hou~e

O.vfe. ".me - •• the ~.d •• -5A fo~", fe~ t~e "D~'"U­
eode •••• O".d to e.eh d.vf~.. T~e o",y w.y
a" ."t~y t" the 'i.t e." b. fou"d i. by • • e~~c~.
Th •• fte~ th~flefo~. e".ble. ft. 4de"tiffe.tio".
"'e~fe

CO~. lo.d add~e., - ~O"t •• ". the·.ta~t.of t~.

iee

d~fve~

wh." ."

eo~e.

~th.~wf.e ~

~~.v.~,. cu~~e"t "0"·~e.1de"Cy~
r"t'~~UDt v.eto~ .dd~,sl

the

two·wo~~

• fl the

d.v4"dfc.t.,·th.

.t.~t .dd~...

of

v.cto~ "'fa~ed to the devf~. withf"

"',",o~y ,oe.tio". e-377 (o~ as. oth.~~fse
D~ovfd.d)
."d f. " •• d.d to pe~~ft the If"k.oe of the d~fve~"
."t'~~UDt •• ~vfee ,Out4". to the y.eto~ ~"e" 10.d'd~
(S •• 8ectfo".3~2.1) ~t fs h.'dw~th1" the DOL
~.th,~ th." the d~.v.~ ft •• ,f, beeaUte the u.e~ e."
Dhy.fc.,ly ' •••• fo" d.vfee. to dfff.~e"t veeto~ ••
T~ •• obv •• ~e. """Tbly.of the d~.v~~ ."d .1.0 .,'ow. f"-eo~e modfffc.tio", eve" thouoh t~e d~fve~
.t the tim ••• avafl.b'. o"'y f" the '.te~"a' Mo"ito,. Lfb,..,.y.

4.

System-d.vice .ta~t block • of v•• the aetu., deviee
.dd,. •• s fo,. the d,.tve,. wfthf" the MO"4to~ L.b ... ~y.
A. fO~ th. M~T, "0 d~fve~ •• e.pect.~ to .t.~t b.yo"d block *17'7(8) •

~.

• Of

18.wo~d blo~k. - e".b'e~ ~ete .. m.".tio" of

.fz. of
buff.,. 4t
of
of
".e •••• ,.y
c,D.efty_
""oth'of
e •••••

*

the
the d,.fv.,. fo,. el.f",i"Q ."~ ,.e' •••• "Q the
oecu~f •• whf', f" eo'" ."d fo,. .eeeffy."~
wo~d. to be ~ •• d, f" o,.d ... to De~fo~", the
~oed ( •• e~eetfo"
3.2~1).
T~.
'1~-bit
of the f,.ld .110w • • ",~ •• mu'" d"fve~
tK, whieh f. ",o~. th.~ .mDl. f" mo.t

DOL ."d - ~eDl.ee. the .~te~".' .d~~e.s d.t. i" the
,Yltem-d.vic, ."t~y f" the t.ble, .i"ee t~e lett.~
f"fo~m.tfo" 1. f~~.lev."t wh.", by ft. PU~DOS"
the
~~.fv,~. fo~ .• ue'" d.vte. e." ".v.~ "'ve ~e~o~y.· The
~rovf •• o" of thf. ft.", f".t"d .)lows the OOL to be
of v.~iabl • • 1z. a"d "."ee eo"t.f" O"'v the d~1ve,.s
",eded to .uepo~t the D.,.t.eul.~ eo"ffau~.t.o" be4"0 u •• d. How.v.~ it fs •••• "t •• , th.t the sv.t.",
~.v.c • • ~t~y is .lway the ff~.t t" t~. COL .s show"
4" the dfac~.m.

PAGE .2-1

'-....--

Th. DOL f. e.t.b1f.h.d in the •• m. w.v •• wa. de.c .. ib.d fo ..
tb. ~RT f" the D... yioUI S.ction, with t~e fellowi"O •• c.ctio" ••
a.

A d .. 4y .... utomat.callv b.come ..... 4d.nt fo . . . .
4tl eu ..... nt u.aa ••• ".Qui ... d, the ule"
e." Q.4" nothi"G by •• t.ndinG 4t. c .. ele"e. f"
m.,.,o"y fO" the du ... tion of hi. D.. eO"'~' (ot~ ...
th'n ." ecc •• tO"al
.v.t.~·d.vtee
.cc ••• ).
H.nc. h•• 1 Q.v." "0 w.y
.c.c.fvi"o t~ia .. e·
Qut ... ",.nt.

'0"0 ••

of

b.

e.c.u •• e.ch ite~ in .n ."t .. v .... ye. • .i"Ql.
t~ ..... i ' "0 n•• d fo ..... e·i".t4~liI4"Q
b.ck-uc cocy of the DOL On t~ • • v.t.",·e.v4c ••

DU"DO",

A. 4ndie.t.d .bay., wh.n.v ... the 0 .. 00"'''' infti.'.ze. 0 . . . . e.?
1 •••••.• d.t •• et, the DOL ....... Ch.d 10 .. the dey;ee ••• aci-~
.~.d with th.t d.t ••• t.
P .. oyid.d th.t .uch device •• iat.
w.th.n the .y.t.m, t~ • • "t .. y fa .. the eo .... ddl"e.1 a"~ the
y.cta .. , thl"auah .t • • ta ... rl .dd ..... , .... beth •• t to ... fl.ct
the D..... nc.
.b.enc. of the d .. iy .... " "'e",a"y Shaul~ the
~ .. aQ ... m_b .... Ita .. t.d .t ."y tim., c'l"h,D. follawi"o •
f.4,~ ... , _ the DDL fl, .... to ... d to H • • "Ui.l .tate, thu • • ffectivelv ... ,.,evinG na .. ,.,.llv "o" ..... ide"t d ... v.... f .. a~ eo ... (I ••
a.etton e~.)

0"

Th., ., ... m."."tly .... 4dent S.ct4o" of the ~an4to .. 4. load.d
4nta ft. m.ma .. y ....... th ... by a cold .ta .. t th .. augh the ~OM
baot.t .. ac ., de'c .. ib.d in the P .. oaa",,,,e .. " H."rlboak 01" fal'aw4"~ • co".ol. ~INISH commane (i" a .. d... to ., .. ey."t oa.li·
bl. t",",,,,1 •• io,, of Me"fte .. ce .... uDt.o" bet we." u ..... ).
It
i. .ceomo."ied by ... outf"e w~.ch ce .. 10 .. "'1 the fu"ctio" of
•• t.b'i8h."o the co .... eet ~o"fto . . . tat. fo .. "0 1"'" a 1 us.a.,
.,,,.c.,"v w.th ... ga .. d to the tabl •• d.sc .. ib.d fn the c .. evi·
OUt .~ctie" •• t~; ... outi"., eccuoy1"a eo~e.above the "o .. ",a'
.~d
of, th! .. e.id."~ Mo"fto .. , il e"te ... d immediatelv .fte"
la.d."a, .fte.. • ... v.nQ it. cu .. cos. it 11 .ub.eeu~"tlY
ov .... w.. 4tte'"
, •• y1"c an'y • • ~.l1 S.ct.an w~.eh 1"t ... fac,1
to the ,vltl'" ..... 0 .. dfa9na.t4e D .. tnt "'odule (.ee Chacte.. 1)
.~d
a _Buffer Al10eat40" Tebl. u •• d to ea"t"ol 0~e .. at10ns
w~thf~ f ..... eo ... (.e~ S.ctia".2.3) (h."~e t~. ohJeet
module
cont •• n4no it mu.t come , •• t 4" the .... fdent Mo"ito .. l4"k4"o
~I"oee •• • •• e leetta" e~1~2)
Th. t •• k.
fellow ••

e ..... 4.d

out

by

tht.

..,eetal

.. ~ut1"e

....

al

OOS2.qNO

1.

PAGE ,2.- 8

D.t.~~inat10"

of eo~. a4ze - t~i. is eecomoli.~ed
cop'. It.pt("a et 8~ .nd t~en in steDs
of 4K until en .~~o~ t~.o th~ouo~ locetion 4 indi~.te,
t~e edd~ ••• u.ed 1. nO 10noe~ leoel fo~ th.t
ol~ticule~ PDP-II.
The end .ddre.. ~f t~e , •• t
v.ltd 4K •• gment •• atoped •• the tep of cope 4n
t~e SVT.
~y

add~'I.i~e

P~~v •• ion of Buff.~ Al10e.tion Tlbl. - •• will be
.hown 4n Section 2.3 fpee cor. i. eOntrol'ed by I
bit maD ~.Dre.ent.tion. Curr.ntly the .4ze of thi.
MID provid.1 fe~ thl Dotenti.l uae of h.,f of the
eVI4l.bl. Mlmo~y .1 buffep .paee.
T~I
~outine
therefor, DPepepel t~e IDProDopietl ~.e by ele.pina
t~1 ~IQuilfte nUMbl~ of wopd' It
th~ end of the
Mon4tor Irl..
Thl.1 ere followl~ by two extpI
wordl PlalPvld for Dlvfee A"fan~lnt Tlbll '4nkaae
C.el Slet~on ~.1.2.2) .Thl mID t~.n be~ome. oapt o.
the PI.4dlnt Mon4tor, '0 datI eone.p~4~a the meo
Ind the eonllQUlnt ~ew Mo"4top Ind .~e entered into
the SVT.

Of D~oellaop trep vIetor • • • inca
Mon~to~. ft~llf u.e. EMT & lOT. the poutine

In;t11l4zltton
t~~

,tore •. th. IDDPoo~4.te edd~e'.e. end .t.tus ve'ues
'n.t~eir vector. 4n loe.tion' 30 end.2~.
The peme4~4no vaetor, ere .et to caU'e
er~op
me"eaes 4f
treoD4nq o~cu~,,_t~a .~atu~ vllu, 4n e.e~ e.'eorovidfno .n identific.tion code Cwith4" the Condition
Coda bft.)
In4ti.'iz.tion of dev4cI fntepruPt vectop. - by
'elrehfnQ t~e ~OL, the routinl dete~M4nes which
rlp4ver. were 10.rlad with t~e re.ident. .y.te~.
It
extrect' information .tored in t~e interf.ce tabla,
of the •• drfver. (.1. ~act40n 3.3) 4" order to aet
UD the cor~e.Dondina davica inter~u~t vectoP'. As
fn .tlD 3 11' otha~ vIctor' Ire initia'4z.d to
elu,e ap~or m•••• a. OUtDut to prot'ct .al4nst ICUr4eu •• nte~~uDta befc~e I non-~a.4dlnt ~~.ve~, if
such I.ist., il .vltl.ble.
M~T & OOL DrePlret40n - II indiceted fn the DP.vfous .Ietion •• the ~outfne e.tlb,tlh.s the c.pm~"ent
stete of thlse tlb'es Inrl store. I resto~ltfon CODY
of the MRT in the e.tepna' Monitor L4bpepy. It al.0, fro~ 4~1 own ."t~~n.' ~.f.rence sheet, enteps
the EMT code u.ed to cell each ~on4top ~odule 4nto
the Lfbp.ry 4nd •• on t~e .ystem-deviee (see Chaotep
t)~
This enlbl •• LINK-It later to 4dentify to the
ore.r.m lo.der tho.1 modules fer wh4eh e user hes
soecffi.d oroopam pun-time r •• 4dence (see Section
~.l).
It should bl noted thlt t~e who'e Lfbrepy ••

.~

DOS2.~NO

PAGE .1.- 9

.ea~chedl
e Mo~.tor

.hould thepe he ~ope the~ o~e ver.'o" of
module op dr~,v.r, the 'est o~e lee~ w~"
he cataloQu.d .~ the aDDPoDrf.te table. Thus 4t il
DOllib'. to ~.ke temDopery che~ge. to the L1bpery
~epely
by edd'"; a n.w ver.'o" at the e"d dup1nQ
.y.tem loe rl f"a. C.ee Sect10" 9.2.2)

e.

c,ock-i"it1.'f~.t'o" - i f . eloek-lePvfce routine
4. co"t.in.d w4thi" t~e relfd.~t ~o~ftor ."d e
'~".-clock 41 det.rm1"ed to be '~clurled ~n.th. CO"-

ffauretfo"

tbec.UI.

~re'led), th~ cloek"

4t f" motion.

~o

erPor oceur. 4f 4t •• ed4"t.r,uot ••• ".h'ed to •• t

D~ eo~o'.tfo~ of th •• e tl.kl, the i"1t4.,4z1"a rout."e 11"kl
the ,~.1d."t KeYbOIPd L•• t."er d.scribed 4" S~c~f~" e.3.1 to
the c~".o'. '"terruot vectop., DP4"t. out. Mo"'tor 'd.~tif­
fCI~.o". ,"e'.lge I"d ~x.t. to .w.4t oDerltor .".truct'onl
(u,'~a .XIT - .e. Seetie" 5.S)

CR~ON2)

1""-

4t WI. Ihow" 1" ch.oter 1 thet .,, ce',. for ~o"ftor
te"c. ~" bV WlY of ." E~Ti".truct'~n wfth 4ts Ju"'or bv~e
ceded ,t9 4"dfcltl t~e D~rt4cu'lr servfce reau,,.ed.
It f.
the or4m.,.v fu"ct'o" of the EMT ~."dlep to d.code the c."
I"d meke the "ec •••• ry co""ectfo" to the rout."e crov4df"G
the •• rv4ce. The ~."d'.~ .,~o .".ur •• th.t tlO reau •• t. f"
p.rt'cu'.r do ~ot DPec.ed,u"til.t •• curre"t,y s.f. for
them t~ do ,0 ."d CO"t.~". 1t. ew" rout~"A to effect .ny
cO"I.aue"tlv ".c •••• ,.y w.ft.

~e.cr'ot.on

2.2.1

of the H.ndler

A" outl.ne of the HI"dle,.', oroc.sle • • • a4ven in f4Qu,.e
2-6.
~h1 • • how. thlt the ffrlt .t.o f • • Move of ,..ai.t.,..
e-s O"tp the oroce •• or Iteck to orelerve them for the u.er
oroa.-em. Thi. I.rve. two OUPOOI.I,
t.

A" the serv4ce rout."e. c.n thereafter Ulp. the reai.terl ~,.ee'y. However ft fl the" thetr "e.oon.fbt]ity to ree'.ce the op1Q4nll co"t.nts before Iny
exit to the uler DPOa,..,".

2.

It wi" b• • hown 1" ~ectfon 2.4.t thAt the .ubpouti"e entered to effect the I.ve .1.0 c~eek~ the
.tlte of the Droce.lor It.ck to opotect the Monitor
.tl.'f.
Thu. thi. ch.ck •• 1,"oo,.~ •• freauentlY
.1 the Mo"itop f. cI"ed.

PAGE ..2:-1 til

The

ve~i1ie. that the ~MT code use~ '4~1 w4th4"
.,teblilhed r."oe (0.77), A" ~nva'irl code .hould "eve~
occu~ if the cal1i"o ~~oo~am t. workinG
co~pect'y.
If tt
doe.," ~t ~. therefore t~,at.d a. a fate' a~r~r~ t~e oroor.~
1• • tocoed and ." .ocrocrtat. ep~or m•••• oe t. out cut et the
con.o', (F002).

~he

He"rlle~.the"

r.-r.

Th. Hen~le~'. ne.t act ton deD'nd. ~oon the "atu~e of the
Qu.,t 4n e.eh c.... Und.r DOS, i" fact, the EMT cod •• •
a •• 40".d on the fol10wino b •••• i
1.

Code, f~om 0 th~ouah 27 lia"ffv
"I"vtc ••

2.

A"

eth.~

r.au •• t. h.ve code. 4n

~eQu •• t.

for

1/0

t~e ~anae 3~-77

No further checki"9 fs "ead.d for reauests f" the .eco"d eat.oo,.y.
Th. H."dl.r th.refore extract. t~e e"t~v, eo~pe.­
Dond1~a to the cod. w4tht~
the ~RT .de.cribed i" Se~tion
2.2.2 • . It wa. s~own the,.. that f~ bit 0 of the entry is e,~
t~ • • "trY f~.e1f i. the co~e .tart addre •• of a" a'readv "e.fdent royt4ne. In tht. ea.e~ the H.nd'.r u.e. the ."trv to
dt.D.teh t~m.dtat.,Y to the ~out4ne. 0" the oth.r hand, a 1
tn bft ~ of the e"trY mea". that the rout4n. ~u.t be brouaht
4nto m.mo~v b.for. ft can be u.ed.
Th. Handl.r the~efore
e.'" the aW,D A... a M."ao.r to ~ffect this C.~e ',ction 2,3)
.nd c ••••• on the M~T entrv on the tOD of the oroce.sor
.t.ek te fdenttfy the routfne reQuired.

A. not.~ ear'.'~' 1/0 reQu.st, a~e not al'ow.~ to eont4~u'
wh1', 4t i. un •• fe. Tn thetr ea.e, the Han~l.r ch.ek. for
two
ib1e .ituat10n. al fol'ow •• "

ce ••
t.

The ~~oq,..mm,~i. Handbook shows thet i" s1' rIo 00"ation., the U.er orocra", mU.t sUDelv • L1"k-b1ock
for 'ec" date.et to b. us.d e"d must ca.s ft. addr ••• as on, of the oare",eters at each eal"
Once
a data •• t h.s bee" c~rr.ct'Y f"itial;zed bv a .INIT
,..aue.t Csee Section 3.2.1,1), , link-word in the
b'ock," t... t~e one actuallY add~.,~erl, i. ,e, to
a "on-0 value. Usi"o the Qfven carameter a. mea"s
of acce," the EMT "'~nd'er ,.a",tn,. th~." word and~
reJect~
al'. can, othe~ than .INtT 4f it co"ta"',,\
0, Thi. aa,4n t"'c14e. c~ooram failu~' a"d results
.n a fata' errol" IIIe •• aae (F000).
It w;l' be shown in Seetio" 3.1.~.3 that the value)
'et into t~e '~nk.~ord bv ,INtT 4. the address of e(
cont~o' block for the dat •• et
witht" t~e Mo"itor
8rea k"ow" ,s the ODB, T~e addre •• e~ word 4" t~e

PAGE.2-1 t

nOB t, a flac w~~c~ ~, let to ~ ~~ly whe~ t~~re ••
"C. oth.r 1/0 oee~.tio" curr.~tly u"derw.y. tf by
'ooktn~ at t~is word, t~e ~MT H.~dle~ see. thAt the
d.t.s.t ~ • • lre.dy bu.y, it s.ts u~ a 'O~D .eoue"ce
wfth1" it.elf u"tfl a l.ter c~eck ,~ew. ot~erwise.
T~4. 100Di"0 doe. "ot ~.oDen, thouoh, .f-t~ • • ctu.'
c.l, is .wAITR. In this CAse, the D~oees.or stack
•.•.• ~Ju.t.d IIUC~ t",.t Afte" rellto"8t401'\ of t~. user
opogP.~ R.o4I1ter~ and ~.mov.l of the
c."
c.,. ••••
te,.., .~ exit 1. taken at the ~USy return Ad~re.s
~4ven •• 01'\. of th •••
t.,., (s.e 4"u't,.~t4ol'\
.t Houre 2-~)

D.,. •••

If ".4t he,. sttu.t40n ., ."countered (01" aft.r the 'eco~~ ",.,
di •• Doe.red), t~. EMT Handle,. c,.f., the dat.~et for the ~ew
,.eouest (un'es, it 4• • WAtT or .W4ITR' by storino the Addre ••
t~e e."
in t~e DOB busy f,a~. It th.n u,., t~.
,.me o~ece,. to d.,o.te h to the releva~t se~v.ce ~outfne as
th.t de,eI"4b.d for non-I/O ,..oue,t,.
4t t"'.' e04"t, of
course,. the purDose of .WAIT 01". w~ITR ~8' alre.dy hee" s.ti,fi.d.
He"ce"o further Dl"oee.,1"0 f. needed and tke EMT
Hanri'er usel A si~tl.r seauenee to t~at f"diceted for .WAtTR
4" t~e b~.~ stata to take a" f~~ed1ate cc.olet40" ~etu~" to
t~e uler oroo"a ••

of

2.2.2

Ge"eral

Co~~ent'

Fl"o~ t~e ~e.cr4Dt10n c4ve" 4" the Drevious Seet;O",
.t ea"
be ,',e~ thAt the EMT HAnd'el" does "ot atte~Dt to verifY the

validity of the Darameters Das,ed by the orogra~ at eAch
cal'.
I" particular,.ft assumes that the '4"k-block ~iven
with 1/0 reoue,ts does i" fact co"tai~ a true ~O~ add~ess.
Thu, it decend' Qre.tlv UDon the u'e" resoect1"Q the f"teortty o1dat, set 1"to
Dro~ra~ erea by the Mon4tor.
4
c~eck i" t~(s ca.e could be .imDly 8cco~Dlished fro. data 1"
the ODe i • held by the Mon1tor. However t~fs would 1"volve a
If"ea~ $earch which could b!cO~e 'engthy. S4"ce 1n the
g'e.u~e~ ,y.te.' eurre~t'y offered by OO~, t~e u,.~ c."
only
CO~~UDt ~i.'e'f, the check ~.I therefore been omitted by 4nte"ti~n~ _l~ ~he ~.~e~.' e.,e, of courle,
the E~T ~and'er
h., 4n.uff.cient i"fo~mat10" to carry out the ,.8oui.fte
c~eck!._ It 11 thus t~e reI90"lib1l~ty of t~e CAlled serv1c~
~odu'e to take re'ey.~t aetion.

"4.

S1"-(

To Dr~vide each routi"e ~1t~ a. 1~~ediat. a~ aCcess a. DO'11b'e to .the dAta ,t neerl,! t~e FMT Ha~d'er always DAssel
the fol'owi"o aDoroDri.te Rea1ster contents.

DOS2,QNO

PAGE .:.1..-t2

Rt
R2
R!5

•
•
•

.teek eddr-e •• o~ the ll.t ea" cal"a"'et."
cushed by the or-OOl"e'"
Ule,.
ad~,.e'8 of the r-e,event F.:MT eln i" the
""'OQ"I'"
add"e •• of P"OC".or- StltUI ".et.ter (or- -2)

-....J

In Idditio", for- 1/0 ell11 othel" tha" ,INIT. AS r-.",e.n. It?
the a~dl"'I' of the DOR, for ell othe" cal'., it is clee ... erl, ~
Th. p ... t~,..tv lev.l et w~tch.t~e HI"dl.,. o~e"ete! "'e"it. exI" oe"e"e', 4t uses the l.v.l of the cll'ino
p"oar~"'~ ~oweve" ff th4s should be 4 01" above, he"dw8"e i"t.",.ucta need.d De"hl~s to tel""'fnete I" enfol"ced ,WAtT e.
de,c".b~d .a,.lfe,. could be locked out. 0" the othe" he"d,
It ',vel., confltct. "'toht a,. •• e if the use~ i"te ... ve"ed et
the c~n.o'"
Thu. the oe"e"'el leve' 1. leept et 4 4f the
p"oa,.a~ ~. h4gh.,., pn e"t,.v neve,.the'e •• , o~1o";tv level 7
•• ..t_ t" ordel" to .,",ure thet the check1"g of the
.tecle-Itlte cen be .ffected without t"te""uotfon, but is
dr-ocoed_ls '00" e. ~o"'ble the,. •• ft.,. (tekine epc"ox1",atelv
70 u.e,.'.
lev.' 7 4. Ig14" uled w"4le the Hendle" cheek.
the bu.v stete of I dete.et. The ch.ek cou'd be co""uoted,
4f In ."t.,."uct we". eble to cle1'" e dete.et fo,. anothe" 00e,.ette" Ifte,. eo"d4tion. w.,.. e1,.eedv let to ind4cet. tt.
befno eve411ble fo,. th.,1nter,.uoted r-eouest~ (i" t~. o"e.,nt 1')08 of cou,.se, Uti, cln"~t hepcen; ,hOW,Vft" _it wes 0"0vided aaainst I oos.4bl. futu"e exoe".40" fo,. r.el·tt~e
use. )
~le"et4c",

2.3

.

SweD A,.ee Mlnaae",.nt

(R""ON2)

Two bufi." Irees .,.. ,. ••• ,.y.d with." the "e.t~e"t Monitor to
Icee~~o~at. Mo"ito" "'Odul,s which a". b,.oyg~t 4~to CO". o"'v
uoon orog"I'" de"'e"d. It ts the re.oon.tbilttv of e neees'1"4l~ I"e'.d."~ Sweo '''.1 MI"eae,. (SAM), to CO"tl"O' the usIa. of th •• e buffel"s. wh.n e.ked bv the EMT ~lndl.I" to loed
I non-,.elid.nt module. SAM checks the oecuo .. "cv of the eoPl"oDI"4Ite buffe,., if the called r-outt" • • • Il,..ldv load.d
fl"o", _e o"ev1ou. I"eaue.t end o"ovided that it 4s 4dle 0'" if
not, that it i. " •• nt"e"t, SA~ Da •• e. co"trol to it i~~edt­
It.,v~
Othe,.w4 •• , ~AM loa~. the Called I"outt"e f"o'" the
,vlte"'-rlevice ff Ind when the cur"ent oceupent hi' co"'oleted
tts fu"ctien. U"t4l t~. rout."e •• the" Ible to take ~ve"
SAM Icee~., co"trol WU~." the ~on4to" bv "~tlJ""i"Q to th. EMT
He"dlftr to loop a"d ~I.t,

~

~~

2.3.1

~WA~

Buffe~s

T~e fO~Mlt of • SWIO ~uffe~ ~e. bee~ de.4c"ed to e"eb'e ~ea.
10"lblv Iff1c1e"t ~Ic~i"e uti'4zetio" wit~i~ t~e eo~st~8."t8
of a 5i"g'e·use~ system. T~e mai" co"s1de~lt4o"s I~e ~e.
flectAd i~ t~e itlms ~neluded ~"a ~~elm~le to t~e SWle
Buffe~ II ."ult~ated i" f1eu~e 2-,i
1•

neeuolnt -

t~is

be.felllv allOWI

S4M

to

~e-u.e

a

eo~y of a ~I"~d Men4to~ ~out.~e I'~eldy 101de~ in-

to the SWle Buffe~ to Iitilfv a p~ev1~uI ~eQues~,
~.th~r t~l~ fo~ce an u"-nece.'I~y wlft fo~ a new eo·
ev to be brought f~o~ the IVltem-deviee. I" o~~e~
t~.t
t~e current oecuoa"t mav always be. i~ent4fied
SAM Slyel the uniaue IVltem-deviee i"fo~mat10n
cI.sed o~ bv t~e EMT Hendler f~om the ~RT Csee Sections 2.t.2 and 2.~.t).
Count - th1. protect. t~e eu~re"t oeCUOI"t
from o~e~~t~re ·re~oval" before 1t ~e. fullv met
it. outstl"d1no comm1t~ent.. Mlny Of the ~on1tor
modulel, eleee41lly thOle ~~oY4df"e rio lerv.eel,
Ire likely to be unlble to co~cl.t. I ~eauelt immediatelv beelule t~,y must wa4t, UDO" t~e ee~fo~mlnce
of .Ome 1/0 operltio". A"v rout4"e mav 4" t~41
ee'e retu~" to t~e user orogram to Illow ot~er D~O­
~el.i~c to oroceed i~ltead of
keee1~g the svstem
idle. However t~e proQram mlV the" mike I "ew lervice reoue.t reQui~1"g·uII of the SWaP Buffe, fo~
some other ~out4"e. It mlY eve" be I reaue.t upon
the .ame rout4ne w~4eh 1~ many ca.es ca" be eccected beior. the i4~lt hIS bel". com~leted. Thus SA~
e.oects to use the ff~.t byte of elch rout4"e 4t
lOlds as I eounte~ for the number of times control
i. passed 4"to t~e routi"e a"d the ~out1"e itself
COU"-tl ~Ick th~ ~umbe, of ti~e! it c~meletes a tl ••
Clee Seetio" 2.2.3'. The bUffer is t~en deemed
f~ee O"'V if the counter ~IS ,etur"ed to it. e~t'v
.ettinCl of 0.
~Iaoe

~e-entra~cv switch - this ."OWI each
routi"e to
4"form SAM .of ftl re-e"t'a~cv caea~i11tv. Some

Mo"-1tcr routines Cln"-ot acceot a seeo~d re~uest
wh4le a"ot~er i. 1" arOCASS, I prfnc4PAl rea50" be·
4"0 that the service theY Drovide i. too comolex to
be co~oletAd wit~f" the clolc4tv of the SWIO Buffe~]
a"e t~ey mUlt t~e~efo~e overlav them~e'vel to eooe.~
~.~
t~.~efo~e o"lv ~eeal1s I bUIV routine 4f it t •
• Ife to do 10 II.i"d4clted by I 0 i" the s~eo"d
~vte of t"e routine.

DDS2.lfNn

PAGE .2-14

!t.~t add~.ss

4.

tf"e

ente~s

- because t~~ fi~st wo~d of ~ae~ ~outhus .lloeate~ as a eo"t~o' a~ea, SA~
t~e routi"e at this ~Of"t(l).

fs

Two Swac ~uffers .~e in fact included
tor '''ea,

4"

the ~e~ide"t

~o"i­

1.

~onito,. Swao Buffe~ tM~B' • 25eIOw~ri"fs t~is
oe"ere1lv u.ld bv
D,o~~.~.s.rvie~ ~odu'e8.

2.

Klybe.,.d Sw.e Auffe, (~S~) • 12~Dwor~s • t~is 4s
~.4nlv
~.se,.ved for co"s01.-se,viei"Q, i" ord~~ to
,'low over,.e~ed p"oee.s.n~ hetwee" 8 ~u"".no 0"0o~.~
a"d ext.r".l ooerato~ actio" (~ee ch8ote~ 6).
It is al~o u~ed for e~e"~e"cv oDer,tio""
sue~
••
• '''0'' di.o"ostic o,.i"ti"o (se~ chAPter 7), esoeefa11v when the "Iouest for thes. ~ioht .as4lv 0,.1o4n.tl w1t~." the ~S~ and Obvious co"fl1ets would
Ulen oceU,. •

.t,

is

• s noteri 4n Section 2.2.1, SA~ 4s "o'~a"v ente~e~ fro~ the
EMT H.~d',~.
.~
this oofnt, ce,taf" Re~istersare set to
va1ue, indie.ted i" Sect40".2.2.2, the.e ~ust b~ e •• sed unehe"oed to the c,'1ed routine 8. t~i' ~ev ~eoe"d Ueo" thei~
content (Just .s if t~e routi"e were cal1ei"f directly f~om
the EMT. H'ndle,., i" other wo,d.). r"'e YSl!tr P"0~'8m Reqisters ,re on the st.ck with .v.te~-dev4ee 4nfo,.~at40" 0" t~e
rout4"e te be fetc"'ed bv ~.~, a~ shown 4n t~e ~~T, above
the",.
.

,

There fs A .econd way in which ~,~ e." be e"tered •• t can be
c."eri bv its ow" ,.eserve~ EMT codes C3~ a"d ~0). Th4s soee." ."trv 4s ~rov1rled ~a."'v for inter"a' ~o"itor ~ •• q~ as
e. "'I'"S _whe~ebv a se~me"ted routf"~ ea" ove~'av 4tse'f 4"
eit~e~ buffe~ • he"ee the two codes, foro re.s~ns to be shown
.hO,.t'v~
In th~S e.s. however, the MRT ca""~t sucolv the
dat,
t"'e loeatfo" 8nd s4ze of the over'av on the system
device •• Henee the eal'i"Q ~outf"e ~u.t do '0 in t~. sa~e
form.t 4" Re. When SAM 4s then called, t~e data.s 0" too

e"

.- .... _- ... -.-.
.

.

1. W~e~,.s 1"~ie.ted 1" Seetio" 2.1.2, t~e ~rog"em Loade~
.ets t~e MRT fo~ ~outi"e. made "e •• de~t fe~ 8 ~~oa~a~ ~U",
4~ .1so use- this add~ess ~at~er t~an t~e ectue1 start 10eatio" t.~. Seet1o" 5.1.)

~

PAGE.2-t5

of the .t.ck a. savftd by the sta"~a~d Reg4.t.~ ••• y. ~~ece ••
of the FMT H.~dl.~ C.e. S.ct40~ 2.2.1). It 4s ~upl.cat@d 0"
the stack It the sDecil' e"t~y 8"d thus ce"~itio~s beeo~e
.et e.actly I. fo~ the "e'~ll ."t~v de.criberi .~ t~e D~ev.­
out ~'~"QP'.~h.

figup'~

It.O" ••

,.a

c4ves I Qe"e~ll cut'."e of SAM'. ~~oees.4"Q n~e~.

The fipst ~a4~ .teD tlk~" tl to cheek whethe~ the ~out4".
reQu.sted rioe. 4" flct e.t.t. As 'how~ ." Sftctfo" 2.1.2,
the ~~T ."t~v ce"t.i"s I 1 4" .uch ceSes. If t~fs i. see"t
SAM U,8, thl E~T Ha~d'.~ .~p'o~ Seaue"ce t~ ereduce I" '~0~
dfla"olt4e a • • ho"'" f" Sect.o~

-

'.2.1.
.

SAM mu.t the" dete"~4r'1e. whieh. SWID Ruffe~ is to be used.
Rout4"e' wh4~h .rl 10lded ,"to the .ub.fdfary ~SB have 4r'1
flet be@r"I •••• g".d EMT codes f" the rl"Oe 30.~71 ."
ethep'
cod.. 4me,y Mse UI'. ~A~ set. I pef"ter to the aporoDP'4ete
buf~e~ a"~ ,'so 0". to a" fr'lter"ll OO~. by which the syste~
dev.ce wil' be co"trol'ed (see Sect.o" 3.t.2 •• ). The flag
4" this DDB il cheeked f" el.e the d~iye~ is eurp'er'lt'v .".
gaged 4" 101d4"a a p'out."e. SA~ co"tfnues O"'V .f this .s
not tfole ce.e.
A. de~cP'4bed i" the pP'evtou. ~ectio", ~AM t~e~eaftep' uses
tfole 4de"tif1clt10" for the oecuol"t .to~ed 4" 1p'0"t of the
buffe~ to cfole~k wh.ther the ~outf"e "OW p'eQuf~erl i. 81~eadv
10lded I"d if 10 whether it ••• dl. or re·~"t~."t, o~ the
bl.4. of the •• tt4"Q of the ffp'lt two bvtel of the ~out4~e
ftlelf.
If the COP'P'ect co"dit'e". Ire •• e", ~AM t~."sfe~s
co"tP'~' 1"to thft ~out."e, hevino ."cP'e~e"ted ~t~ U.a~e COUr'lt
bvtft te 4"d 4cete a fp'e.h e"tp'v.
If the eeeu~e"t of the buffe~ 1s so~e other ~outi"e. SA~ ex.m1"e, its U•• ge Cou"t. If.t i. 0 sfg"ifv1"c that ~he ~9U­
t1"e .~."O 10"gep' "eeded, SAM .to~es the .y.te~-de~4ee ."fopm.ti9" fo~ t~e cll'ed pout."e IS oceu~e"t.trler'lt.fie~ ."d
the" decodes it to •• t UD the f"te~".1 DOB ePDr~p~f~telv
(.ee 8~et~~" 3.1.2.3)~ The .v.te~·dey1ee d~ive~ 4s c~l'e~
to ~eP'f~r~ the "eeesserv tra"sfer th~ouoh the ~rive~ Queue
~."age~. S.CD~ Csee Sect ton 3.1.2.4).
~h4'e t~e t~.".fe~ i. ir'l ~p'ogp'ess o~ 41 the p~evious
ehecks
.how th8t t~e .vste~-~ev1ce d~ivep' •• 11ree~v er'lQao~d i" 10.d1"Q • Sw.~ Buffer or that t~. recu1~erl Pu1f~r is "ot vet
free for a1ter".tfve use. s.~ r.tu~"' to the E~T H."d1~r to
'oop
w.4t. Th1, 4" fact ~e~e.ts the w~o1e ereces~ ef
decodi"e the e.ll with the exeeotio" Of use~ ~e04ste~ s8v1"o

,,,rl

DOS2.~Nr.l

I.

ReQ.'te~1 e~.

e"t~y

~"t~

,elet to t~. ~eaui~e~ eo~te~t fo~

t~. cIl'ed ,out~" •• _ T~u' SAM does

"ot "eed to 'IV, t~eir co"te"t i" o~de~ to
the~ ~~il erePI~4"o the t~a"lfer~

c.

ule

SAM 41 ~ee"teped II op4ai"a"v .ve" i" t~e ,cee.I' elle ~oted 1" the Drevioul Seet40". By
the lubl~Qu."t'y "or~e' crOceduP8, t~e~lfe~ of
eo"t~ol to t~. rout."e oecurl ".tu~."y II 100"
al 4t ~II bee" ,o.ded.
..
.
Jf m.v 10~et.m'l hIPc." th.t e, A ~e,u't of ."
4"tepruct SA~ 41 Ilk.d to lOld e d4ff.re"t pout.". 4"te the le~. buf;.~, eve" ~.for. t~e or4af"e' reQuelt i • • ati.f4ed, e.a. The DECtaoe
d~1v.r ~ight wilh to pri~t e" .r,o~ ~e •• aQe bee.u •• of he,dwlr. fli1u~e Ju.t whe" t~e oc.rltor h••• t~uek I eo",01e kev e"d the Keyboerd
lilte"er 41 b.f"o 'eaded, T~e Oe"ere1 eroeedu~e de.er4bed w4"
i" this e.,. ho"or t~e .eco"d reau •• t fir.t. Howev.~ co~d.t1o". remaf"
sueh t~et the •• ~v.e."Q of the .~t~r,u~ted ea"
ee" b. re.umed efterw.~d'.

Neverthele," t~fl m.thod cpeetel • ppob'em for 1/0 ce""
Bv the t1m~ t~lt SAM •• f.~.t ."tered, the ~MT He"dler ~e.
e'reedv mede the detl.et bUlv U~O" the "ew ee~',
If SA~
~er.'Y
~etur~., .the E~T MI"dle~wi"
I.e co"d1t10", Icoro~ri.t. to e" 1mc'1ed .WAIT •• de.er1bed 1" Seetio" '.2.1 a"d
SAM w4" "ot reg.1" the ".c •••• ry co"trol. H'"Ce, together
w4th the Ilight ~etter of c'.lr1"o the detl els,ed bV the
Ha"dler f~om t~. It.ck, SAM remove' the bUIV-ltete fro~ the
dltl.et.(u.4"G the co~t."t of R0 to ~eeog"4ze tin ca"1 .ee Sect 40" 2.2.2)

It CI" ~ • • ee" f~om the P~'V.OUI ~ectfo" th,t SAM does "ot
esk to be ~ecelled by the sVltem-device d~1ver whe" the '0.d1"O of the reQu.~ed rout1"e ~I' bee" ,c~oM~'f'hed.
SAM
me~.'v
~eQuelts
the 'Old a"d the" dec4des wke" it ea"
trl"lfe~ co"trol to the routi"e o~ the b.si~ that the d~1ve~
1s
'o"oer ~o~ki"e 0" the 'Vltem'S b.~.'f e"d the I~pro­
pr1lt~ SWIO Buff., 1. "OW oeeuc4ed by t~e rout1"e 4" I" idle
.tlte.

"0

DOS2. ~~H'I

PAGE..t- t'

In.teed of the reeal', !A~ in fact, t~rouch a Co~c'et.o~ ~e.
4dd,ess set fnto t~e f~te,~a' noe ~.~eet, the dr4ve~ to
a .ceefa' .eQuenee. Thf. ff,ltly f~ee. t~e d~fver for
te~~ltive u., t~rouah the Dr~ver "eaueue qout~ne, S.C~Q to
be deae~1bed in Seetion 3.1.2~'. It then eheck. thlt the
transfer ~as been a.t4aflctor.'y carried out .~~ if not .etl
u~ the u'timate fata' error. a Syate~ Halt because it
~u.t now be A.sume~ th,t t~e deviee ee~ "0 'e~aer lu~~ort
t~e .vatem.
If al, 1a 1" orde~, the O~B husy-f'ao f.
ele.red to .~form !AM th.t the t~ansfa~ 4. ne 10"Qer u~der­
way. F~nally, .~nee the .eauenee 41 e~.euted e. ~ert of a"
fnterruet from the Iy.t.~-dev.c. e.ee Seet.e~ 3.3), ~eg1.­
terl seved by t~e d~ive~ .re re.tored a"d a~ exit to the inter~ucted routine 11 taken (bv ~Tr).
tu,~

.1.

The 'ast cart of thf. seauence, ReQi.ter-~e.tnre & exit, obviou.'y com~'e~ent. the tr.~ & ~eQ1.ter ••• ve '.Que~ee which
beQ4n_ the F~T .ervice a. deacr4bed f" Sect40" 2.2. Thus 4t
•• t~e ~ath whieh a" Mon4tor rout."e' must take to ,etu,n
t9 th .. r;1" 4no ~,oo!"am •. Furt~er~ore, ft w•• shew" .• ~ Seetfo~
2.3.1 that ff one of t~ese routine. il fn a Swa~
Buffer, it mUlt also decrement the U.aoe Coun~ ~n ftl firlt
byte wheneve~ 1t eom~'ete. a ta.k, 4~ or~er to free the
buffer ioe other use. It_ca~"ot ~o t~.s w~.'e jt j. a,."
1n the buffer, in ca •• ~h.'.i. r.-.l1~cated before it exft ••
The d.erement 1. th.refo,e included .~ the ... au.nce d41eu ••• ~_'bev. (bv-cesled i~ 3A~tl ee.e) end th~a.fs
identiffed •• the Sv.t.~ E~ft with In a~~roeriete adrire ••
let 4nto fixed vector location 42
the mea~1 of aener.'
acce ••• tt) For the aenera' ca'.' th4s fs.

.1

S.XITi OECB MSB.
,ENTRV FOP u/e nfCRfMENT
JSR R5,'.RRFS ,GfNERAL ENTRV
RTI

2.3~~_

The Swepr>able I'outine.

T~e Drevious s.et40~s have 8~ew~ t~et a~V routi~. w~.e~ 48 •
Dote"tfa' user of a S~eD Buffer mu.t be .et uc with1n ao~e

.---------.-.-.
t. T~. whe' • • eQue~e@

ine'udina t~~ device t~.~sfe~ vI'tdfty eheek must not be eh8~Qed • ~1ffere~t ~out1~es e~t~r ft
at v.~f~u~ ~O."tl o~ the besis of e ff.ed re1.tive to cositio" to t~e add~ess store~ in the v.ctor 10eatio".
\

·

.

.

eo,,.t ... f"t. beeau.e of t~i •• S.i"ee a"
tl'le ~0"1to" .. ou·
tf"~.~ otl'le .. t~a" tho.e w"ie~ "o .. ~."v .. e.1dep ... ~.~e"t'v f"
memo .. v a"d t~e d.viee-d .. iv .... , eo~. u"de .. thi~ ~.ad4"o, they
a" hive eo~~~" 1"he .. e"t ~.atu .. e • • s a .. esu't~ T~4s seetfc"
lum~a .. i •• s t~e.e fe.tu .. e..
It. DurCO'e ft. twOfoldi
a.

It D.. ov4d ••

,,"t'v

a"

f"elu~ed

i"t .. oduet40" to th. ~odule. D.. ewfthtn the MO"4t~ ...

It 'avs eut the a .. ou"d.ru'~, wl'lfeh ~u.t be fo''owed du .. f"~ the develoo~~"t of "e~ ~odu'e.
el •• al.o S.etfo" ~.3) (1)
B.cau •• SA~ exp,et. t~e f4 ... t wo .. ~ of th' Sw.n .uffe .. to be
U.aDI COU"t & R.·."t .. a"cy Sw4tc"'." a. d4Ieu •• ,d i" Seetio"
2.3.1, a" .. out4",. beg4" with a wc .. d fn a fc .. met ~,~ c ..
-,,0. Th. Ju"10" 0 byte t~e" ec .... ectlv ~"~t~a14ze. t"'e
COU"t. ,he ~4oh.byte .ettf"o ~"dicate. the "outi"e'. ab4'ity
to .... vic ••• ve ... ' .. e~ue.t. tcoethe".
t

•

"

-

It .hou'd be "oted of cou ... e th.t the D.. otect1o" affo .. ded bv
the -1 .ettf"o of the Re-e"t ... "cy Sw4teh do.~ "ot ~ea" that
tha .. outi"e ca" the" br •• k the "u'e. whfch the te .. m
'r.-e"t"ant" "o .. ~al'v f~D'1e.~ The ,w4tc~ O"'V D.. ev."ts ~AM
f .. om "'owi"a • • eco"d re~u •• t to Da •• befo ... a
f .... t has
b.e" eomclet.'v •• tt.ited~ Mer~ovel" the ~aet t~.t • "outf"e
f. cot."tfI1,y .w.PD.bl • • 1'0 .to~4ffe. pot."t1.' l"elide"cY
1" whfeh e ••• th .... i. "o.SAM to t"t'''ve"e. ~e"c ••• fa ....
po •• fb1e ~elt .. out1"es t .. v to ob.e .. v. f" c ... t1eul ... the "e.d
t~ .v~ld ."~ ~o .. ~ of .elf.~od~f~eat~o", .1t~e .. ~" .~.euteble
e~d • . 0"
t.mco"."v d.t. .to .. aoe.
That. t"'.y ....
al.o
po.tio"-1"d.p."de"t ... al,v 00 •• without •• y4"o,
a.c.ui. the f4r.t w~ .. d of .aeh .. outi". i. t'"'u, ... se .. ved, a"
••• euta~', '.gu."e •• ~.~i" !t.t~ ••• eo"d wo .. d. _A . . . . . sult,
the alo~a' ... f .... "e. 1de"tffv4"Q •• ch routf". fo .. Dos.tble
,4"kae. ~"to the .. e.4de"t ~o"i~o .. (s •• q.et~on 2.1.2) ts
m.de et.tht. oof"t i" the ' ••• mh'e .. Sou .. ce fo .. the "outf".
rath." tha" .t the sta .. t.

a.".r.', .• " . outf"e.
e"d with
(The ......

I"
via 'oeatio"
seetio" 4~3).

.....

~.--.-....

~2.

a e."

~o t~e.SY.t.~

~ e.ee~t10"'1

EJCft

.e. 4" Darticu'."
Thu. th.y ~.et the .. eau1 ... ~e"t. fo.. ...sto .... .

1. Ce"80' ..... v4ee modul,s, fO" oth ... ~ ••• ~"S, must be co,,.fde .. ed s~ecie' e.s.. 4" t~et so~e ~f the eo~~e"t. do "ot
eDP'v~
T~e~.~o .. e t~. reeder ..... fer ... d to eh.~ter
6
fo"
furt~~ .. deta.'.

~

DOS2.qNO

t.o~

ef

uSe~ ~eoi.te~ co~te"tl .~d ~.lee.e of the Sw.o
Buffep '1, d1'cuI.ed f" the D~ev4oull Seet1ol'l., Pote"t1., .. elideMey, heweve~, .0.4" ~Ai.e • • e .. oble~1 I ~outi"e ~u.t ebvio~.'y, "ot dee .. e~@"t th, U.loe eeu"t t" the SWID Puffe .. 1f
tt i. ~et .etUll1v eccucvi"o the buffe~~ HeMee eleh .. eut."e
mu.t ~ete .. ~i~e whet he .. iM flct th1 • • teo ~ust b~ tlke~. The
f.et thlt the COUl'lt 11 O"'Y i~c .. e~e"ted t" the ft~.t el.ce
whe" S4M 9ive, co"trol to the,routi"_ offe .. i the solutio".
If the .. outi"e 1. "'lideMt I"d 1. lecel8ed d.~eetlv f"o~ the
EMT hll'ld1 . . . . . '''OW". fl'l S.et .• o~ ~.2.t, t"'e f~c"e,".~t do ••
"ot o~cu'"
T~u • • eOl!!~O" fo .. ~ of exft •• it 8~e,.r.
w4thi"
,.ch rout41'1e 1. 111u.t ... ted.b@10w, 1,.uTfI'lO thlt le~.t1~1'1 42
eo"tI4"s th@ .dd ..... S.XIT i"u.tr.t.d 1" the D... viou • • • ctfo~1

Mr.lV .,42,R5
TSTB START
eN! •• 4
CMP (~e)+,fP5)+
JMP

'R5

,COLLECT
.e~ECK

SYSTE~

FXIT Ar.lOQESS

J, USAGE COUNT SET

,IF SO ROUTI~E I~ I~ MSa
,OTHERWISE O~IT ~ECREMENT
,(SECTION 2.3.4)
,G~ TO SVSTE~ ~XtT

The '~mitad .• ~ze of the S~I~ ~uif ... "Itu"llly im~o.e . . . e ••
t"ietio". 0" elch .. out1~..
I" ~o.t c ••••• th1. do.~ ~ot
m.tt, .. , 14"ce the .... vtce .. eauf"ed CI~ be .imely .ccom.
Dl •• hed w4thf" the IVI.'lble ceolcitv, but ~et i~ .,1
how.ve .. ~ Thu. lo~e ~out1~ •• ~ust ove",.v th'I!!I.lvel to oet
the job do~e. If sueh, e~e~1,v4"o CI~ b., do"~ se!,ue"t1."y,
i ••• bv eleh leQI!!e"t comclet1"~ I sDecific D~~ttO" of th@
seQuel'lce I"d the" DISli"o to the ~e.t without I "eed fo .... e.
cll" the .ceefll SAM e"t,.v de.c~ib.d i~ Seetio" 2.3.2 ~IY
be uled Caea ehIDt.,. e). Howev@,. this .. Ii ••• ot~e .. D.. obl@ma
of .to~'Q' wfth." the .v.tel!!-d.vtc. lib .. e .. y - .e. e'Dee.I"v
the ~ •• e"f~tio" .01 cor.ol ..... vice ~Odu'.a" w,",1eh.uae t.,i.
t.chMiau., 1" ChIDt.,. e. A" 11te""ltiv. ,"ethod, which 11.0
cov.... th •. "o"-aeaue"t181 el.e, (but "@v ... th@l ••• u.e. UD
EMT cod@., 11 diacu'led u~d ... F41 ••• t"uctu .. e. 1" Ch'Dt ... 4,

...

~

DOS2.AN(')

(A"40NJ)

Thi. ~.et.o", il"lt,.eduee. a •• t._of sub·"eutf",e., p!"ovid4"!:1 Ie,.·
vice. ef a ae",e,., I"Iltu,e foro ~."'v othe,. Me1"l4tO,. ~odu'el,
~l"Ic~ud~~a t~o.e i'" the ~e~M.l"lel"lt'v ".'~de"'t ~o~t~o",.
'~ev
a"o I'"
"e.tda"'tl they a,e Mod.,at.ly ."o~t .",d th. f,..·
au.I"ICY at wh4Ch th.v .,.e l'I.eded ~.ke. ~t fmD,.ct4e.' to 'oed
th.~ f"c~ t~ •• v.t.~-d.vtc • • v.,.y ~iM.. •• l"Ietea t" S.ctio",
2.1. !hev .,. • • cc ••• tb', by mea"'. of the .V.te~ veeto,.. i"'?
10.at40",. ".57.
)
The,.. I'" a'toaethe,. .t •• ub-,.out4I"1e •• I'I the eet.
Howeve,.,
th.v
",.tu,.."v il'lto ~h,..e ~.l,.. ef~ce, tl'l ea~~ oi the
three c, ••• , what 0"' • • ub-,outt",. doa., the othe,. uI'I~oe ••
Thu •• "'~ eell_to tha ft,..t ~u.t be eo~pl.~el'lted by • e." to
the .eco"~ b.fo,. • • "V o,.tot"., .t.t. t. ,ea.tl'l.d. The th,..e
pa.,. ......

i."

1.

S.~SAV/S.ARES

R•• t.t., •• v. & , •• tc,.e

2.

S.GTB/S.RLB

A"oc.te , re, ••• e buffe,..

3.

S.CDB/S.COQ

O",y the fi,..t two wt" be d.ee,ib.d 4" th. f01.
"wt",o .,ctto",..
Th. thlrd, ~aj,., b'~"'Q d.die.ted to 1/0,
w4" h. dt.eue •• d 41"1 ~o" • • op,.oo .. 4.t. cOl"lte.t i" e~ecte" 3.

O~ ~he.e,

2.'.1

R.of.ter Saye/Ae.to,. , St.ck COl'lt,.o'

1" the "' •• "' .. the DOS Mo"'Ho" h•• be." pe.4g,.,eti to .• uccly U •
• e,vice. to th. u•• ,. whi'e It", "'owt~g h4m to take fu"
advI"t.e. oi
ha,.dw.,.. cac.bi1itia. o~ PDP~11.
Hel"lee~
,ath.,. thal"l tmpo •• U""".c •••• ,.v ,,. •• t,.tctio,,,,. uCOI"l h4. us.,of
ReQ~.~e~ •• th. Mo",ito,. auara"t ••• the.,. e~l"It.l"lt, bv .ev4~a
th.~ 0" t"'. c,oe •• ,or .taek wh.",.y.,. .nd foro whatev.,. ,..a.o",
cOP'lt,01 P ••••• f,.om au.''''. o,oa,..m .nd ,. •• te,.. th.m b.·
fo,.. .ueh eo"t,.o' i. ,etu,.".d •. I~, th, t",te,.im, t"'. MOl"lite ..
c.'" th.", froee'v u.e the Reof.t.,.. fe,. tt. OW" pu,.oo ••••

,h.

Fo,. the gel"l.r.' c ••• , a1' the ,.'04.t.,. • • ,.e likelv te be
l"Ieed.d.
T"'u. the co",mel"l .ub,.out1I"1e. S.R~AV 81"1~ S.DRES with
el"lt,.y t",,.cuah 1oc.tfoP'l' ~. " 6 a,.e p,.ovfde~.
'he f1,..t
•• m~'Y ""!Jlh •• " R5 th"ou~ RS'-the seeoP'ld .0091" t~e~ fl"l "eve ,. Ie. Bet'" a,.. c ., , edt", the I . ",'e "'."". ,. • I I
_*44,-(9P)
JSR R5,'(SP).

~ov

P lGE .2--21

DOS2.RNO

'-~

(Dt~ect c.,'t"O tl ef cou~le cel11b'e f~e~ ~it~." the
~e"v
~e~~e"e"t1v
re.1de"t Mo"itor medu1 •• , e.Q.
Re,S.~SAV

o~

JaR Re,S.RRES).

"O~­

JSR

T~e ~roee •• or Iteck 4tlelf

the

1. e"other co".i~e~etio".
lost"
"ot •• ked to refref" frc~ edJulti"~ the stack
CSP or RS) to luft hi. "eeds.
T~e
Mc"ito~
~.~e'v

u •• r

~ci"ter

.,

~t.

provides

"O".to~ 4t.elf

~"~tia'

."d

.ett~"g a~~~ocr~ate'v~However, the~

a"v buffer. it ha. eltab,ilhed 0" the
u'er'l ~e~a'f are in a ~ul"er.b'e ~0Ift1~~ fer ee~r~~t1e" bv
the .taek. H."Ce the Mo"itor mu.t trY te p~ovirle lo~e ~~o­
t.ct10" __ .tmnar to ~hat affQ.~ded by the PDP-U h... dw .... fo~
the v.ctor .~ace be'ow 'ocat1e" ~00.
There epe i" fact th .. ee .4tuatie"1 to be con.fd.redi
1.

A.a ~elult of "orm.' Dush o~.~.tio"s or ef adlust~e"t to Sp, the stack drop. ~e'ow • rla"ger '4"e and
••• tt',

2.

the~e

wh." • check t. mad ••

Th • • tac~ fl. pu.h.d b.low the 14"e but f. DODD.d
beck aaa1" 10 that .t a"v ch.ck, SP .1 ••• ~f"g1V 4"
a ha~m'.'1 Delft40".
'v .dJu.t~e"t, SP i. moved below the lin., whe~e it
i. u •• d to Itor. date, .nd •• aoa1" ~etu~"ed out o~
he~m~. way be~or. ~t i. checked.

The Me"4ter ee" ~ead1'v co~e with the f1rlt two .ftu~t.o"s.
At eU _t4me., it "'.~"ta."1 a Do4"te'- to_ ft. OW" dv"e",4c end,
"a"'ely that for 1tl OW" p.r",."e"t'v al11o"ed ",emorv are. e.·
te"d.d bv !cdu'e' lead,d fo~ e o~eQ"~~ run e"d by cu~re"t'Y
es.4Q"ed buffer .c.ee wtth •
safety ",eratn_ Tht. DO·
inter •• stored i" the SVT a. TO~ of Buffer. eTOB) • lee
Seetio" 2.1~1. A .fme'e comoer410" of th~. aoai".t SP i. a
lufftc4ent c~eck for the f1~.t case. At the se"'e time the
Mo"4ter .et. a bit Datt.~" 4"to ft. e"d wo~d •• show" bv
TOB.
Jt 1. highly ~rebab,e thet thf~ o.tte~" wil' be co~·
rUDte" i" the .eco"d ,ituatio" end a 'i"'~'. cheek ~e,o'ye.
thi ••

am."

~

Th. check~"a ~oeret10"1 mUlt of course be c~r~ied out as oj.
ten as cosstb'e to ~e effect1ve. Sf~ce ~eofster~.ev4"o
t~reuoh ,ub~eut.ne S.RSAV "e~~a"v eccu~. as th@ f4~.t steD
whe"eve~ the Mo"4tor ae~n' ~O"t~~~ fo~ ,nY Je"gth.of ti~e,
Clee th~ EMT Ha"d'e~ 4" Sect to" 2.2.1 a"d devic@ drivers 4"
8eC~40".3.3), the check is included at this time.
If a yio'ation 4. see~, S.R~AV ~ove. SP back to ,"ow ce"ectio" of
the E~~o~ Diao"o.t4c P~i"t rout1"e fro~ thp. svst@",·device
e"d ~8ouest. the out~ut of a fate' F001 mp.ssaoe Csee Ch8cte~
7). 4 creb'e~ ea" hacpe" though, if the v401et40" is bv the
.Y.t.~.device, escec4a"v whe~ workfnQ e" the Mo"1to~'s
behalf.
a re.u't, for thi. ce.e, the IVlte",~dey.ce is .,-

.1

P.G~..2.-22

.t.

'ow.d. to e~oc •• d to COM~l.tfo" - the v401atio" fs ~.ek.d

1

U~

~.

It .s ohvfouslv Dossthl. that t~. ~o"fto~ fts.lf i. the ofa"d "ot the u•• ~. It ~fQht th.~.fo~ ••• em ".c •••• ~V
th.t th, e~.ck b. mad. "ot O"'V 0" ."t~Y ~ut ~'so 0" exft,
•••• , t" S,RRES a.
~ow.v.~
f" mO.t
ca ••• , the
Mo"jto~t. w~01 ••• l. u.aa._o~ ~h. ~tack ~. co"if"ed .fther to
•• vf"e .R.of.t.~. o~, ff "ot, f. fO"ow.~ bv .ue~ actto".
T~u, a"v viol.tio" f •••• " ,1mo.t ;mmedfat.'v,
Th. .ddttfo"a' ov.~h.ad of ch.ckf"c aaaf" .v.~y tf~., ~I~elv to
c.tch t~. out.fda chll'lce of thfs "ot alway, b.f"O the c •• e,
•• toe exe.s.ive a"d .0 the chaek ~. ~M4tt.d ~r~m S~RRES.
f."d.~

w.".

U"fo~tu~at.'y, the Mo"fto~ ha. "0 wav ~f ~~~v4d."e fo~ the
t h 4 ~d • H~at t 0" • • v.'" t h•.ha"dwa~. D~ot .ct ,f 0" -io •• ",ot ad.· \
cuat.lv e9v~" tht ••. It t. O"'V the u •• ~ who. Ca" th .... fo~.

ft.

Thu. f" th.

P~oo~amm ...

t.

Hal'ldbook, h. f • • ,ked
To a..flt h1m f" k"owf"o wh .... the d."'ae~ If". fl, the ~o"fto~
.,,.oyid,. a "'.a". bv which, ha ~a" a.k,. withf" the Ge"a~al
Uttlftt •• ca" fl •• Seetto" e.2'. ~. ts a'io a~v.led to wa.
tt U"tt' h. hal comel.ted 1/0 •• t ue
atfo"1 Cf... .I~IT
, .O~E~) b.fo .. e mak4~a t~. adJult",e"t •• th.~. f. th." lesl
chl"c. of ~u""f"a f"to troubl.. Ffau ... 2·9 fs ofve" to fllu.t~at. the .dva"taae of dof"Q th~sJ
~~.v."'t

t~ ..... ft ••• e .... ~f.h. adlu.tl SP fo~ I"v.~u .. ~ose.

oe ...

1 ...~~~~ 't!.. Co,.. M."ac./II."t
.1 f"dic.t.d t" eh.Dte~ 1, the Mo"fto~ ules f~.e eo~e leace
above ftl ."d al a" a~.a 4" whfch it setl UO buff.~1 i" suepo,.t
I.u.e~ D~oQ,.a~ts ,.eau.lt. fO" ItO •• ,.vfe.s,
The a,..
ea f' ouft. dV"'amfe f" th.t e. dem."d f"e,..a ••• so doe, the
buff.~ s.,ace D,.ovfded a"d lfkew4.e whe" the de"'a"d aoes
away.
Thul at ."y time the total area eu,,.."t1y a"oeated
.1 dai.~ad f,.em the Ita~t of the ff"t avaf'ahle buffe~ as
.to,ed •• end ,of MO".tO,. CEOM) i" t~e SVT to t~. e~d of the
, •• t ~uff.~ .~t" f" uae (with a ~6-wO~d .afetv ~a'ain' a.~
.hown by TOe i", the SVT (lee ~,ev1ous s.ctton'.
)

of

In

c.. d.~

'ate~

to eont,.ol the

alloeatfo"

of

buffa~s

a~d

thei"

~e~ea •• , t~. Mo"itor m.1~tai"aa b.t.m,~ fo~.the f~ee

core area. Thfs i. me .. elv a "u~be .. of wo~d. f" wh4e~ each
bit ~e~~.aent. a is-word buffer seace. ~a "oted a~ov., the
~a~ .s .'waYI o~iaf"ed at EQM. thy, tha ffrst 1~ words above
thfs .co,.releond to bft 0 of the ffrlt ~ae wo~d. Bft. the,. •
• after are "umbered fro~ rfaht to left. The lenGth of the
tab'. and henca the araa ft ~ote"tfallY co"tro" f~ establishad at Monitor f"ftfa'4zatfo" C•• e Sactio" 2.1. A ).
Prele"t1y ~alf the available m.~orv is set •• t~e ahsolute
l1m.t~ a4t. a,.. el.ared to 0 wh4le the buff.~s t~ev ,ec~e·

-'--

PAGE2-23

lent I~e f~ee, they a~e ~e.et to 1 w~e~ t~e buffe~s a~e a.110"ed. Th. e"d of t~e w~o'e cu~~e"t buffe~ ~rea de"ot~d by
TOB th.refo~e 4. a'so ~a~ked by t~e lalt meo bit set to 1.
(I.e '.cu~e 2-10).

2 ••• 2.1

euff.~ "loclt.o~

Tk. buffe~ a"ocatio" 4s effected by a call to su~-~out'"e
8.;T8 w4th acce.. th~ouoh v@cto~ loeatio" e4, T~e total
IDace ~ecu4~.d must be ,uDolfed, th4, 4s do~e bv ou.h4~~ t~e
of 16-wo~d u"ft' O"to tke D~oee •• or .tlck as oa~t of
t~e cal', e.g.
"u~b.~

totOV •• ,-eSP)
MOV '.~4,·(SP)
JSR R!5,'(SP'+

,64_ 'I/ORD BUFfER

• CALL S.GTA VIA

~EnD •

VECT~R

prOvided t~at t~e "ece •• e~v .Dac. 4. evatlabl., the .ub~ou­
ti"e . "et",,"", h. ~t~'"t add,.el. 0" the Iteck-toe' ~ il used
to Ihow "0"-av.41abilttv,
•
The ,"~cat40" D~eeel' fu~ctte". ~. fol'ow. Csee also F'gu~e
2-11) I

1.

~eve t~e cal'4"o.,"out4"e ReQ4'te"l & set D04"t.,.s
to !OM.& t~e bit ~ec .ta"t C,how" i" SVT as RFS •

•• e Section 2,t,I,)

't"d the co.4tio" 4" t~e ~aD of the 'owest Ie-word
buffer av.flebl. 0" t~e ba.i. of the ft~lt 0 bit,
At .ame time me'"ta'" a Doi"te" at t"'. e"d of the
buffer u"it he4no checked,
J.

Check 4f .ufiic4e"~ CO"t~OUOUI le-~o~d u"tta fellow
to meet the loe~ified "umbe~. If "ot, "eoeat steo
2 I"d Ite" J u"t" t~e ~ae-e"d sto~ed t" SVT al ~'f
41 ~e.ehed. If thi. occu,.., exit.with 0 0" tOD of
t~e st~ck.
Simi'ari1y if at a~v tim@ the e"~ of
a~ea bei"o co"s4dere~ move.
into the oreces.or
Iteck a,.ea, do likew ••••

4.

If the tot., recui~ed erea is Ivai'ahl., u~dat@ TO~
and "eset th@ stack-steo oatte~" wor~ rlee o".vious
Sectto"' •• "eeess."v.

5.

~e~ aoo,.ocrtate ~.o-bit. to 1 to ahow
the ."ocatio", Ito"e t~e .ta~t address of t~e erea 0" the
steck, ,.e.to", t~e .eved Register. e"d exit.

OOS2.~Nn

2.4.2.2

PAGE.t-24

8uffe~

Rele •• e

_ _
.
~_.o _ _ ' -_ _ _ _ _ _

Buf~e~ ~el.a.e is De~~o~med bv a c.ll

to .uhr~uti~e S.~Le
uses 'oc.tio" e~ a. it. yecto~. '" t~is case, two a~­
gu~entl mu.t be Dalsed bot~
t~e
'ta~t
a~d~esl
of t~e
buffe~ .~ea bei"Q ~e';neufl~ed a"d itl size i" t6.w~~~ unitl. T~is aivel a c.l'4"o leeue"ce .1.
w~ie~

MOV *ADOR,-eSp)
MOV *N,-(SP'
MOV '*56,-(!P'

,GIVE 8UFFER
f ••• & SIZE
,RELEASE IT.

AnD~ES8 •••

JSR Re,'(S"'.
p~ovirled t~at

the '~Qume"tl .~e
m.c b4tl a~e e'e.~ed to
e"d of the , •• t buffe, Itf"
c'ea,.ed 01'1 e)Ch.
D~i.t!

The ,.Ale.se il effected "
-

t•

'~Da~e"t'y

a

va,id, t~e 'DD~O­
e"d TOB i, 4dJu,ted to the
al'oceted.
T~e 'tack ••

follow. elee

"'0

F.ou~e 2-12)1

S.ve t~e ce"4"o ,.~utf"e~1 Reo~lte~.~ Set reletive
Do."te~1 to the It.,t
,"d end of
.
. t~e .~e'. to .. be
f,.eed, b •• ed 0" the D.,..meterl lucolfed. Fxit w4t~
the .t.ck ele., 4f t~e ,'e' 1. out.ide t~e ~'nQe of
the m,D 0,. 4f "0 141e i. afven.

-

.

Comcute t~e hit eO'itf~" fO~ "It t6-w~~d ul'lit fl'l
the .~e' .Deeiffed ."d let ,m'lk .cc~,.di"o'v.
~oa11'1 ex4t .~ the sucD'i~d addre •• doe. "~t c~."­
eide wfth • cor,.ect 16-wo,.d u"it Ita,t c011'1t.
Clear aDc~~crt.te bft. i" the ~aD' at t~e "me time
track t~e .t,~t of .ac~ u"4t be1"o ~ele.sed.
If the el'ld of thi. buff., ., ,'a~ the el'ld of the
wh~le "e. prele"t'v .,leceted, cOl'lti"ue t"ck1"Q
u"til eithe~ • 1 bit 0,. the Ita,.t ef t~e ~ac is ,e.ched. Re,et T08 ,"d ftl It'ck •• tOp .cco,.dil'lo1v.

It shou'd.be l'Ioted th$t o"ce a buffer i. • ••• Ol'led t~ some
DurDose, it remei"' 10 ,sliQl'led, eye", t~ouoh ul'litl befo,e it
m.V be ,.e'ealed f.,..t~ Re.huff'il'lo to o~eve"t aaDS 1. "ot
cO"lirlered wO,.thwhfle whel'l t~il miaht mea" t~e "ecessitv of
m,i"ta1"1I'1Q extensive data 0" t~e ~o'e of e.ch buffer.
I"stead S.GT8 .ttemetl to ff" UD a"v gacs ~efo,e c'a4~1I'1Q
mo~e f~ee c~~e (,ee ,teD t) ,,,,d S.RLB el'llu~e, t~at "ot
only

00S2.~Nn

the sC8c~f4ed buffe~ but "I~ I"Y ~~aced~"~ ~ee .a ~etu~"ed
te free co~e Ca.a .ten ~). T~e u.e~ Ce~ e',o, k.e~ u'l~e to
a ~1"1~u~ by ta.4"o cI~e 1" hi. saoue"ce of ~eQu •• ts fo~
~out1, •• cey.1"o buff.~ a"ocatio" C.rNIT~I,.npFN'.).
Thu.
th11 41 adv4.ad 1" the P~oo~a~m8~" Ha"dbeok.

2.5

T4~e

Co"trol

P~ovi~.d that tha CO"f40u~et4e" 4"c1udel a l4"8-cleck, DOS
ma1"t.1"1 the t4~e ef dav CTOO) 1" two wo~d. w.t~i" the SVT
(I •• Sact4e" 2,1,1) a.1

TnOI
w~.~.

Tno

.WOPO

the h1ah.o~de, 1S bit.
h1t. of t1~e 4" eloek tickS.

~e~~'le"t.

'ew-o~d.~ 1~

a"d

TOO+2

the

The .~ab ~" beth ca.e. ~. ~ol~tive, i.e. 0. T~e value 11
1"1t4.'4zed by ~el"' of the co"aole TtME co~me"d C.ee Sect40" S.A.)

"--....

The.cloek it •• ,f i. let. 1" ~ot1o" whe" the ~0"1to' i"1t1e14•• tio" ,out1"e e"lble. its 4"te,ruct., IIIU~4"0 thet the ~e­
Qu1lite d'.ve~ he. be." i"eludad w4th1" the Derme"e"tly ~e.
aide"t ~o"ito~ Claa Sect1e" ,,2·.1~4). Tha~.efte~, at .ech 1"t.~~uct. tha drfve~ me,ely ~e'fo'm. 8 double p,eci.io" 1"c~ame"t of the Ito,ed vIlue.
If doe. "ot howeVe~ ettemat to
make 24~heu' edJu.tme"t or 8"Y io~m of e8le"d.r check, beth
of w"'.ch ~ould 1"c~e8Ia, tha dPl4ve"'1 14ze. The o.,e~ato~
mUlt th8~efo~, ~a •• t the sto~.d vllue dlily, 101i" bV a eo"aole TIME e"try.

\

~

.....-g

CoN"niiI'IT

Cof'frE:.to(T

~

~vmeo,-

aFt Ttte. ;,'ISfCIfl
vSc:rbQ. "T1T6a..E.

:nqA.T cr:o>~6'SS

SAse.

~a.~ Po~ '1"tte;.

~~A~ S~:5l'Qm

&)(.]:1.

~",..

s.)(x:r
----

-~-~

s~ A:bblt~ ~

~

",Cet
5d

'lE:.US~-~ ~£

eaC5E&~·~E:S~e. ~RTt(.

S'M«'r ~ASSS ~ THe.
':M~~

&uewe.

~d"ttllE

Feft 'THE.

~ ~"Q)Eo. :s~.
~ ~l>l>QSss. ~..

5&4.

5.~"

S\"A4lt" Al>~S FaA "nE.

StAAT fO)~~

0:1

THe.

'ilte

G£t"- &r.>~ ~~~G:

S.RQE5

--

S.Cpe.
S.~

:;.G~

~~

5~

5l"AC1" 4\l)])C:l&:a5 ~

'n.e.

Q.e..EASE.-B~ SUSA"N.

s.ft.1-h

F r :l-l: -

USAGiE. OF TttE. r:~EJ> O/E'c~
a....oC*,Tl:,ot19 •

~_-4'

...,

.......

.---

--+----~~----_t--~-----~-~.-------

o

",",

IV

OrIS"" Pot-

EOCT)

0L"'I'OM:C

Toe

j)~no.tnM:.

<---~

F'na.-~ &uHer Spa.ca .

End. cJ. A"OCI:t.~ e",,-C' ~

COA€ s.I2.£ A"A~

Sar_ .n·.,,":c..;a.a.r;~n to ~'8~ ,..,~ o.dcl~ (~)

~AOCMA«) ~l> ~eas

~.,..., ~ o.~Cb.1Y'I

~ CCM"t~"il:OrII

~ foe- ~r S~~ 1& Ina;CQ~ Cl'lbl'o.~ Pcu:~,;~;~r onl.!f .....

1<-

C&

:..

,n coC"e. (Io..,..r ~~ loaded)

~~Q. Asa~~rTC\\:iI.. ,3 ur~blishad.

Ind:~~ i"hqr pt'b8~~ .v;1I ~~ ext-a.t\\'" })1)&• .
~ ~~., I.~., I...cQ.declj

H.;\1 is''--' , • ~ta"" R~I

1(,

-I- ~,..,~.
-I •

~t'b"' wci,n'~

~ ~c-_::J.ru~","U)tW e..\obh-~eo,..,MClnc4.

Ser;J ~C'!lrt\.n~

~ ....

O»T·nR

to

Qc:lclraa.n_~ -&to [e..l~

:a "n\c..t to

C\

lCll:lded

Pfb.9n:t.M

Se'r b~ P~~M ~ RS&~r .Y"CDt'18o\e. k~bcatI::l

Sca.-a Pc je"~ed P~.9"'C'I') cY~ :setta WTL (belo~

30

Sa'ta~

UClI".. en~

" ~- pre.c:a.:"",
T.rM£
~r .to

[15 ~~ + ; al3ttl caa en~ b."

ualoe..

CoMMa.I1cl

ond ~ ~\'Wl ~ C~

"eet' ~O.I'" ~ cleo.~ o.:r ~C"f.tSH

,. '-GkQ.~r _'oe. QS.SOCl~\--' ",,',Ha ao~ .'1"I:T'L£

tIL

of. C\ loa.ded

P~nl~ (p~ ~ ~cu::h~-5¢ -.~

m~T ~AT "~E9S

l)::.ed

l>l>L. Sw.AT Al>J)QESS

J..'~.It~ )n;',. ~s\-

SA'I€
&.q.T.
~.A:i:

~

Pol:tnER

P"r Q.a:~

...

r\,e.

~\~OC- ~-.:I.nc.,y TQW..

G.Md d,,"~ ezecu"':'n oJ. bumP cernmo.nd .

e..s.'-r AI~ 1Q\\I"",~&I'If"
.. r&t1c:io*"~'~I.I\H~
Metil~)

~RT

S~ of..

E$

Serer. ';,~hQ't'aQhetl ro --. ~Ai ~t)l" hatt- ~

S'lS1'S1\
b'

~J)A" e6f'1\tnQncA E~ ~r-~ +~

w"rr

~ooP­

.. ~ • - ef.P.e.ch4

",EveoAlti) ~~ AlG>4t,

Se\" 10 J>'l»)... et)Y'' s

fns.6 ..~

~

~l>l)4ile;ss

..,h:'e. .. loo.dect ~fb.f'I) 'S s"'~

lor ~r-,.ier ~s '. ~ dddnne. (; .. :n)

F.C"Qc:c:.. .~

~ ~

m..:" ~p B."f.9.ar

&ft)1"
co})E.

~:

-

- 1
I

--I

-,
I

~

3

-- -,

A-

~

I

'-

-----f-,,
.
t--,,

7

--!

S

-..;

I-

~

-

-,

--,,

- - J _ -' - - - - - - - L

I I

,

;

- - -

- - - - - ,

,

~I
j-,

l:l

- ~-I
,

13

-~

,~

I

j

-

y
Fe_mAT (!r.) 1-

-.

CoOI'''caPorolP4''' AIICH)n:..ta. b

~t
~

'5

--,

l'-

---~- -',

17

--,.

,....

- -,,
,

---1- .,

~~

.L __,,

A.

"-IE . . - . - """'ItESS
111I11111111111
srolt,ftlAT

---t-~

~~

--!

~~

:l~

:1,

(~)l"

L

=-

&

S3

~ aoc.m:.....
%~ '1"'H«
SVsttlrt) ~..v ~AA""'Y:-

,

=1:-

:tAo

:rPl c:oaE:-

I~
~~ -M-4c.ft koc:IC
~ I I I 1 ( I I I I I I I

fl'l

~l'

3~

31
3~

33

3435

3'

'1itf\E.~eV'
S£~I!.~

- -

_I

U~"'G-~

kl!tVeOfUtl>
~.,.,~

-

t,

¢
1 1

-;

&dt=FBA
(w).

37

I

C# .".,.. toIOlU> a.....ocx~
(~;.

,..)

~
~I

~
~3

"Lt5

- -,
- -,

F,S~

:l-30: MoraTOR. 1tE.~rlc.y
TA8~ ~rnAT.

'-....../
,

»~.:
I£~Y

Feet
:S~~

)

~-----

-----'
I

rnE:tnoRV STAR.

J>EvJ:CE.
EftTA."'f
fI'oR.
D&.aA:£

F~

'l>E.-n:c:E.

#8

~l>~SS

J:rlI'"eItRUPr V£C'1't>A A»)ctE:$6

---- ,

,
,,
I

#:l
e.rttQ.'f

--

(1to.rJ.,v. .~)

'J>E'iXce. ..cAme.

Et4'J)

"])"PL-

A~SS

-

,
____ J
,,
,
,,
I

--

I

£,Ina..,

Fo4t.

::b£"l:~

____ .JI

,

#,..
&n-Q'('

'"/

~

»E."4c.E.

15

-,..- -.',,
I

r----

~Ce.

~

f'(Atc')E:. (Qc.d~.~)

I

I

-----I,,
-- ---,
I

•
----,•
I

I
I

e.~y

FoR.
~~ce.
.,~
~-~.

>J>h. ...J):

,,

____ J

MCmoaV STAAT flDl>AE5S
o't ¢
.Itl1'€R~uPT
~.. z:,.c
...-~ "fftlS
l

\

-

.

.

I

'IEe'n:)ft.

Al>l>R.ea

srACf" &"-OClC oN

.1

~ '(~1S't') -l>e.'IU£
"

I

,

(

,

ecr
C&£"MHr
f'l'Wti
.....- - - , - -_ _ _---1

IkrA¥

FoR

® It(!))

sea

F~E

~-8

5rACMt"

-a,.

~

PoZ~
-=-~ S"'OWN &t!J.Dw j STAcK ~ ~ ~
REc:r~"'i£Il-SA~j ~ 9. 'teo SE.'" AS>~. [A.•• R'+~

. ·WAD"~ (&U~-9

..wA~("'d\" 6u&"')

~ CEl\lolttol

"~~Cl~._

~(ftCS;" Jk)SV)

A.~. <:.III ..... ACl\MItN

_

•

It~. cA~ .E~

•

A.

~~~ __ ~_

SP

L,at'4t<-S\.DCK "~~.

-~---~---~~-~-

805'( f!£~

"1/tt1
,.--

--,Rl

~--

__ .JI

EJCr~1"r"c;.

~~

.~.-~~.-'~--

Sf'-

III

R_

--,,

~--

_ _ ..JI

-~-(~~~}­
'CA~ ~~~'" ~ .~_

~--

~CSE..

a:

ft.eGL~

A~E

ARE. AlS>€l> Tb

~~~<""e. ~.lo:

flE'&TOce:J»

'1"11£

S'T1:>Q.e.»

R5

Xori.D£)(

",:aLOe

'sf»' -A~ XttCAlte.M€NT'-a'~ ~ CA~.

~ SHu~L£ To ~e.c-no~ CA~ AQsurr.e...rrs
F"oe Ilon\El>i:A1'E: ~A«) EKJ:T' (:"~ 'noIe. ~T ~~.

--

OCC\JPA~T

IlE-&lT4tANO(

- Ue.NT%.t='XER

5J~)1 u~e.

COur.IT el}

= M't'r e~

....
~

Felt ~""
~T ~Rl>

~

"'

L.O"l>G

P~oc.e.~l:r( c;.

(I) U

AReA

LfW1S& • elsfc,
Ke&· \09

.
worcl&

..aenlS]

---

~)

Qu.nh!l~ ~,~

• (6 .Qou~

~

'---ant"'r-.nl'"

• -\
~.--

--

-- -

-

.... .../"

---------

-"

-" .--~- -----""
. "---""'"
--/

.. ~~..... no\"
....-~h-.."r

®

_---L~:s~""..
~.

uoqac
Cot.)torr

eo

AMloU""~

~OGlitA«)

I

F~

TWO ~~: - o~TPUl" '1'b 1>E:c.'tftP6

ae&ulRES
1>'SK ,",&.1T.

~--T

>I'ITt'l

~~.

a..'rtf~

~

':,a.L

.. 1Itl~

1n" Ie

--:~::----~--~--------..,~

,,~

"1'4lII

sTfM'€
~

rf"fNr'

oUT~ .. ~

·t:H%.t"d.

III.

V'

Pl\o..£

~"U(AGE.

------~-~

~--~~---

;

la,

6t.~

~----.----I

~--~--~---~----I

~r4It

aJ

_ ...n(1(,M£ •

--------------

----~~~-----~--=~-~,-

f'IIC.tnoa.Y
~s.

:!IIM~

oN&foC%rtcs.

Of:" 'nW!t ~
~

~

------------~
1>~

a1"fR"&
I'ft)II.M~)..

PRcc.~Go.

Tb&

i
I

I

t

1

.L

.•

I

•

I

.1

I

L

I

t

I

•

I

.J.

I

I

I

I

•

I

•

I

I

I

--L.

I

I

,

I

I

r-----,....

I

I

I

t

I

I

...

--

I

II I

I

I

I

'I I
t

~~

--.~
Tor.
•
:mk.K~1~-~

(c....A!It..
~

S.Go&'"
~

~_ _~"~T

To~
CA~

If

OH1PTER 3
GENERAL
_.
fl~ t~~ ~IJO~
~u"~f~a
o~og~lm

Bv

I/O

1y~et'0~ of t~e
01 t~e p~obleml

PRO 0 E S SIN G
~O~ Mo~fto~ .e to ~@'.eve a
f~vo'ved f~ ~ovf~a fts data

betwee" t~. POP-i1 I"~ 4tl oe~fo~e~8' IIO dev4c~.. Mo~eove~
w~f", oe~~e~~f~Q t~4. fu"ctfoM, the Mo~4to~ Af~. It ~.etf"o
t~. fel'ow'"g c~fte~'81
1•

eo~e eeOMO~V - uSlae .~ould be ~est~'eted to the
~f"4~um Meeded me~elv to .e~v'ee t~e 1/0 ooe~ltfo".
eu~~e"tlv

u"de~w.y.

Mle~."e efffeieMey - .1 f.~ I. ee"'b1. t~@ O~OQ~I~
, he u1d be 1~1~wed.to eo~tf~ue l'te~"ltfve e~oce •• 1"Q w~"e w14t'MQ fo~ "o~mll'v ~,'etiY@lv I'OW 1/0
to eomolete.
Oeviee 1~de~eMde~ce - 41 ~e 10 wf.~el' t"e ule~
should be eble to dellV 'Decificltio"
t~e ectua'
~ey'eel to be u.ed bv t~e O~OQ~I~ ~'e~t UP
to t~e
ooi"t 01 e.ecutfoM.

of

~"e~ed Ullae of bulk med'l • t~e Ito~loe I"d ~et~f­
of d1f1e~eMt lets of dltl UPO" bulk ~edfl
I~ou'd be eo~pe~8tive'v .4mple 1o~ o~e u.e~ O~ .eve~I"
w't" lome ~el.u~e of mutUI' e~etect'O",

,YI'

Tbl pu~eo,eof t~f, C~lete~ i, to ,~ow ~ow t~e f.~'t t~~ee
of t~e'e aOll. ~Ive ble~ IPe14,d 1o~ III dev,ee., ~eo.~~1ess
of t~lf~ "Itu~e. Sect'oM 3.1 fu~t"e~ diseus.,s t~e e~f"e'.
ple. I"d 1.01 •• ", t~. geMe~ll CO"t~o' teC"M'QUe. emoloyed.
8ect~eM 3.2 de,c~ibe, ." detli, t~e ~outf"el w~fe" o~ov'de
commo" e~eee'lfMQ ,e~vfees fo~ ell deviee., ~.et40" 3.~ .,.
,u't~~te, t"e ge"'~ll fe~m.t_IP!e'f~ed 1o~ ~"e d~1ve~s w"fe"
eOMt~01 t~e device, 0" be~.'f of t"o.e ~outf"e ••
T". feu~t~ ebJeetive i. t~e e~.~e.o.' lubJeet of c~lete~ 4,
T~"
w4"
'"OW ~ow e~ov'.fo". eove~ed 4" t~is e"4ote~
.~e e~t,"e.d w"e" t~ev I~' lee'4e~ to bu'k-'to~.~e dev'ee.
1M ol~tieull~.

1'.0

DOS3.~NO

PAGE 3- 2
.'~

r .~_JJ~~
T~e ~ur~c'e of t"41 lectt~" il to I~OW "C~

~~ ;e"erl' ~~e
Mc"iter It~e~ctl tc ~ettlfv t~e t~ree ~e4~ ChJecttvel fcr
I" 1/0 def~"ed 1" t~e 4"trcduetto~. T~e evera"
Itrlteov
tl deler4bed f1rlt,v 1" leet1o" 3.1.1. Seet40" 3.1.2 t~e"
n'u.trlte. t~e ""tl,oe. i,lled to 1"'~'e"'e"t t~e. It,.eteQv 1"
o~de,..
tc ~e4"tI4~ IdeQUlte Mc"4tcr eo"t,.c' ef 1/0 coe"l.
tic,., ••

.

F~ve

.

eo"eect. e"e

ee~14dered

4~

t~e

fO"cw4"0 Ca"lorloMI.

bll'e e9",eect_11 t~et, .1 fer II 1, reelo"lb'e, I"
1/0
1. ~erfermed bv eemme~ cote",t4a"v ,. •• ~t .. e~t .. ou.
t'"e. wh1e~ O"'V ~I".I dev4ee dr~v,r 101"'' ' lo",e letYI' CMV •
• 1el' _ dev1ee let10" 11 "ee~ed. Th,1 ee",~ "I, t". fc"ow4"~
IdvI"tle., w"e" eO"11de,.ed 1" the '~o~t of t~e atlted oca'.,
T~e

~roe'I'~"Q

1•

T"e rout4,.,.1 t~e"'I.'v.a, ,1k. ot~e~ MO"~tO,. "'cdu]."
el" be b"ouo~t 1,.,tc m.mc,.v o~'v w~e~ .. eQu1red. 8.elUle t"ev ute t~. a'rel~V "'oelted
SWIC Buffer w~e" t"ev I"e, ~O extra eo,. ••• ~eeded
for t~e",.
~creov.r
t"e dr4ver"
bl1"; deveted
so'e'v to oroee.... "eeded te eo"t,.c' t~e device
"l"dwI,.e t"ev ree,.e.~"t, Ire eo,.,.4der,b'v .~o,.te"
t~I'"
t".v m10"t be et~erw1.e. T~e4r eere USIQe 1.
t~.,.efo,.e keot
I ~t"'4"'u"'.

to

T"e octe"t~~) re·e"t"I"'CV of t"e rcut1",el a"ewl
t"e1r ute fer .eve"I' .. eaue.t, It e time. T"UI,.,c
~e~t"4et.o" "eed be olaeed uoo", t~e a't.,."etive
~roee.a1"~
I o,.eorl~ ~IV 10111" to ee,.fo,,~ whi'e tlO
~. u"derwav.
The u.e of eom~o" oroee.~or. foree, t"e defi,.,1t1o"
ef I Ita"dard 4"terfle, for a" drivers. T"1 •• 1me'~f1e. the i~o'.ml"tlt1o" of dev1ee-1",deDe"~e"'ee.

PAGE 3- 3

~

~.

3.1.1.2

.

Auffe~ed

DatA

Beceu.e of t~e alow aec~sa ~ate. ~f 1/0 d~v4cea, moat D~O.
~e~e P~ov ••• on fo~.t~e buffe~.na of ~ata be1"Q pe.sed
between t~e co~~ute~ end fts pe~4o~e~a's, De~t4cu'a~'v 4f
anv fo~m of ove~1aDPed D~oces.4"a 1, to b. effeeted. I"
oene~el, t~,.e D~oo~a~. e~a.day.'ooed w4t~ the deviee. to be
use~ ~1" . m4nd.
T~ef~
~uffe~ • • ~~, as e ~elult, let UD to
.at4.fv not only the ~,out~em'"t. of t~e D~oo~e~ but alao
deviee caDebilities fo~ ~a"d'1"a data - 14"O'v o~ 4n block.
of va~v4"o 'fze. I" ene .e".e, howeve~, dev4ee.4"deo."de"ce
mee". t~et ~he D~OO~'~ "ead consider .o1eJv fta own o~oee •• 4"0 need. fO~ 4ts buff.~.. T~. Mo"4to~ tnstead mu.t take
ca~e of t~e va~v1"9 dev4c. date-he"ri14no att~4bute ••
a~am.

Fo~ ,.mc14e4tv
.arlie~,
the

f"te~fac. me"tio"ed
a"
dev4ees al
bloek·.t~uetu~.d
end eatabliah.s ft.
own
4nte~~ed4ate
buffe~.
aeco~dinQlv.
I" .ech ee.e the ail.
the bloek,
end henee of the buff.~ D~ovfded, fa i ••• d e. eonve"fe"t fo~
,eeh devie., but ea" ve~v between devieea. T~e d~ive~. t~e"
t~e"a1e~ to o~ f~om t~ele buffe~. e. di~ected bv the Mo"4to~
e"d A' fa~ a. Do •• ible th4, 11 do"e f" adva"ce ef t~e D~O­
a~amll ~.ou4~ement', in the f"te~e't Of machi"e efficiency.
Thu. when e p~OQ~am need' 1nDut, lay, it ca" .ak fo~ a fi •• d
amou"t of data and the ~o~fto~ ~av, deDendi~g UOO" the devic., be abl. to ,att,fv the ~eoue't f~om data al~eadv 4n
core end c,rhaos have more for "ewt t'me.

4"

t~. 'te"da~d

Mon4to~

d~4v'~

the~,fo~e

t~.etl

"f

n.ye~thele." that the ~o"ito~ p~ov4de'
s.~gl, bUf~.~ io~ each 1/0 task andth~ DrOQra~ ~av

If .hould be "ot.d,

onl~a

be fo~eed to wa4t 4f more data ~ust be t~a"lfar~ed to meet
G~eater mae~t". effic1e"cv m4~ht fo',ow from
anv reou •• t.
double ~uff.~1"~. Moweve~ ~h4. obvioully ~'e' more co~e.
'urthe~more
4t .'~eady e~ita to lome e~ten, (a, ~o"ito~
buffer a"d u.e~ buffer) a"d .0 "0 further o~ov'4o" 4s made.
T~41 dees "ot of ceurae crevpnt the use~ double·buffer1n~
wit~4" ~i. Drogra m 4f he w11hes to loeed-uD hi. 1/0 ectfvi.
tv.

Alt~ouQ~ t~e drive~! may be ~e'atfve'y
.~a"
a. "oted ~"
.ect1~n
3.t.l.1, t~ev ~ust Iti,l take UO .o~.ce~e w~il.

they ~re i" us. - likewise the ."ternal buffe~a di,eussed tn
the nrevieus lectie"_ Mereover the need for t~ei~ D~esenee
"ot tra"sfent to t~e •• me e.te"t as t~et fer the "e~~al
Men1te~ ~outi"esl s4"ee 4t would be whol'v u"~.a'4st.c to
foree eve~y device transfer to be .Isociated with a leeond
ene f~e~ the svste~-device, o"ce Ca dr1ve~) fs cal'ed to be.
Qi" a ser4es ef 1/0 oDe~atfons it ~ust remain Avai1able f"

.1

PAGE 3-

~

m.m~~v

u~t.'
the •• r4es •• cem~l.te - a~d it •• ~te~~.'
buffe ... wit'" H. o~ t"'e oth.~ ha"d, it i. eQuel"v edvisable
that neithe~ the d~iv.~ ~o~ euffe~ .hould oceuey co~e until
they .... , ~~tuallv nee~ed or ae.i" aft.~ t~.v heve I.~ved
their ~ureo.el t"'at co~e ~4Q"'t he ~ut to .o~e othe~ u.e.

It •• thus fo~ ce •• s 1ike these t~et the dv"a~ie e"oc8t.O~
a"d r~lease of buife~ .~a~e w~th.~ i~ •• c~r ••• da.c~fbed f~
lectio" 2 ••• 2, i. ~ai"'v e,.ovided. I" eddftion ce,.taf" of
t"e Men.te~i. 1/0 o~ocel •• no ~odule8 to be dfsculsed .~ lec·
tion 3.2, ~~fMerflv exist 1" o~de~ to a"ew t"'e u.e~ to eontro' the ulage of eo~e fn thil w.v.

The faet that a drive'" •• loaded O"'V w~e~ ... e~u .... ed a~d not
w.th t~e .~~oQram a,.e fu~the~I the e.ule of device 4"deoende"ee i" that the u.e~ ean. u~der ee~ta1~ cf,.eu~'ta"ee.,
... eotifv e ... "'o". 1" device .eeeff1eatiO" eve" After a e~OO~.M
ha. b'e" .tarted. C.ee .ectt~n 3.2.1.1'
3.1~1~.

1/0 Leve'.

I" .eetfo~ 3.1.1.2 4t we • • ~oW" t~et the ~o"4to~ c.~ allow e
y.er Dr~O ... a~ to ... eoue.t ttl d.te trenlfe .... f" Quentities .ufted to tt. own ".eti., ~.t"'e,~ the" to Ifteet devfce ch .... ec·
te ... i.tfe.. The Monfto~ a',o en.ble, the O~OQ~a~ to indicate
how the mave fa to be mede ."d w"'ethe'" .nv chec~i"o i. to "e
car,.ied eut f" the c ... eee... It il .t t"'41, t~e RfA~-WRITE
level C.ee .ectio" 3.~.2). thet most u.erl will i" f.et wish
to ce"'ferlft thei ... 1/0 o~er.tio" 1" the "or~a' wav.

.eme

For
.oolic.tion. heweve ... , the time take" beth to !!tove
the d.ta .c~o •• tw~ buffe ... s and to .ccOmolis~ the ve ... iou.
~ ... oee!.i"Q ~o ... m. ~av be ~~ohibit1ve •. Two othe~ 'eve'. a ... e
the ... e'o~e provfded. At the ve~y b.sie, 0'" .TRAN level Csee
•• cttO" 3.2.1.), the u.e,. .ae ... fffee. devfce.4~de~e"de~ce but
the" v.;tua;lv "'as df~eet ecee •• to a d ... fve~ to t .... ~.fe~ deta bet wee" hf. o ... og ... a~ a~ea and the devfee ~fth~ut the ~onf­
tor'l i~t''''Medf.t. buffe ... ("o. At the .eeo"e, o~ 8LOC~ 'eve'
'.ee .eetto" 3.2.3), the u.e~ fs oiven eceess to the
Mon.to~'. buffe~, i"stead of .uDolvf"a h4s own. in o~de~ to
c.,.~v out ~.ndo~-ecces. I/O.
At both level.. t~ouah, the
us.,. D~eQ~a~ ~u.t D.~fo~m tt. OW" det.-o~oee.~i~Q.

'-~

PAGE 3- "

3.1.1.5

~evice Ala.a~me"t

.a wil, be a~ow" 4" .ectio" 3.1.2.1, t~e u,e~ C8" de.io"ate
the device to. ,e~v.ce ,ac~ dat8s~t wit~i~ ~ L1"k-block f"
the p~oar~~. Simi'ar'v, 4f t~e device is file-structured,
e' de.eribed i" ~hapter 4, he mav allo "ame t~e f1'e he
wi.he. to accea. 1" a DrOQram F4'e-b'ock Clee 'eet10~
4.3.1). n" the other ha"~, he may "ot k"ow t~is 1"formatio"
whe" the oroora m i. wr1tta" aa oerhaDa 4" the eaa. of a ae"eralcooy Droaram. ~ve" 1" the former aituat10", there maY
be ecca.io"s w~e" the orio1"a' erogram se.cffieatie", must
b, cha"aed Ca 14"e-Dr."te~ is temcorar41v out of actio", for
e.amo'e', se a 'ilti"Q is to be outout to a d4sk f1'. o~
a~a.",
because a particular data·aeQu1sft1o" rate wa' toe
h10h ~or o"-'i"e o~~ees.f"o, t~e 1ata wes dum~e~ 0" the disk
a"d "OW the oroce~sf"~ erogra~ ~ust aeeel~ the latt!r r.the~
t~a" the ~ata-aQuisitto" ~evfce.
The ~o"1t~~_t~erefo~e provides. two .methods by which ~he uaer may seecifv the device
(or f4'e) at e~o~~am ru"-time'
t.

He ca" e"ter the ru"-tfme soecif1cetfO" via the
eo~ao', ASSIQN cemma"d delcribed 4" leetto" 6.4.
This w1" the" over-rtde the corresPo"df"o oreoram
deta.'.

2.

He ca" atructure the pro~ram te aCCect a comma"d
stri"o a"d ule the Comma"d Strf"o l"teroreter to
o,rform the "ec.,aarY ~eco~1"g a~d.let-uD Csee sectfo" ~.4).
Th1s~~et~od is eso~eia"v aporODrfate
if_separate ru~s of the same 'oaded orogram ule
d1ffere"t devices a"d f1'e., e.o. 41 i" e" Assembler.

3.1.2 _.. ~t!O ~f)"t~E~!.-.
I" order to ma1"ta1" the ~o"ceot of dev1ce-."~eee"de"ee, the
user il e"couraaed to oroQram 1/0 4" terms of the '0~4ce'
Dureo.e served ~1th~" t~e oroaram by the data tra"sferred
rather t~a~ oi t~e Dhvs~ca' devfee f"vo'ved~ T~us, 1" the
pro~remmeria ~a"d~ook, a"
lIn fu"ctio"s are S~OW" to be
perform~d. "ot
UDO~' deviee but U~O" ~ "data.-.t" • deff"ed
a, "a loofeal co"ectfo~ of data which is tre~ted as e" a"t1tv bv the D~o~ram" (1" ot~er w~rda, a" t~e ~eta w~4eh 4a
p~aeeaaed i" t~e same ma"~e~ w1thi" the pro~~am'.
1" oractice, dataset a"d device_mav. 1~ fact mea" t~e. a.me t h i"o.
I~ a ~ECtao. coeV D~o~~am~ for i"sta"ee, t~e t.oe be1~g
eopied .~d ~he on. be1no oroduced each eo".t1tute a dat~set.
0" '~he ~the~ ha"d, e d.ta,et ~ay be 'els tha"_a1' t~e d~ta a
device ea" sueply, a.~., 4t mav be Just o"e Of !eve~a' f1'es
sto~ed 0" the sa~e OECtace Caee eha~ter .).
At times, it
~av eve" atrete~ acrea. s.ve~a' ~eyiCesl as e tvoiea1 e.em-

PAGE 3- 6

~1.,

.,1 t~. obJ.et mOdul •• b.i~a 14"-k.d 1~to o~. lced ~owhat.v.~
th.4~
.ou~e"
fo~~ a .i~ole dat •• et to the
'4~kt~Q D~oo~.m, LI~K-It.
Two cc4~t. ~u.t ho~.v.~ ~. ~ot.dl

dul.,

A data.et ca" o~lv 'UODo~t o"e .ou~ce o~ delt4"a·
ttO" et • t4~e. Thu. althouqh two d4.~ 14'., ".4"~
~e~Qed by a .o~t D~ca~a~ both fo~m 4t. 4~~ut,
e.eh
~u.t b•••• oet.ted wfth • dtffe~e"t ~.t ••• t.
It 4. co~eeiv.ble that whe~ • dat •• et 41 .etu.l1y
a"cet.ted with. bf-d4~eet.o~.' dev4ee - the cc~­
.01e tyoew~.te~ ae~h~o., -.the ule~ ~4oht wt.~ to
u•• t~e dat •• et
b4-d4~.ct4c"a"y.
Bv ~ef4"t­
~4~" tht. c.~"~tb.1 loQ~ea"y t"Dut .~d outcu~ a~.
o~oce ••• d
d4ffe~e~t'v.
Neve~tha'e'I' u,.oa of the
S,~. data.at l~~k.~a w~thi" the p~OQr'~ (aee ,eetto" 3.1.2.1) f. "ot ecmoletely cut of the Queltto"
4f tht. D~oduca, eeo"o~1e., D~ovided th.t lueh us.oe
t. 'eoue~t'al. •••• the d.ta,et .a" be
~e-4~tt.altled fo~ out out •• 10"0 •• 4t •• ~ele.sed
f~em ,"y ecm~4tme"t to f"out.

".0

aeett~". 3.1.2.1 to 3~1~2.3 iOJlow4"O d~.e~.be the ,eha""e1 •
• et yo by the ule~ a"d tha ~o"fto~ to eo~t~ol the coe~attc".
UDc" eaeh data.et. 'eetfe" 3.1~4 d •• eus ••• t~. ~eeh."tlm by
whtch the d~iv.~s .a~vtet~a the d.te.ets .~e ~a".c.d.

eaeh d.t •• et to be ue,d .eo"eu~~~"t'y, t~e u.e~ D~oo~em
• d.t.-b'oek of oote"tt.l1v v.~tab'e 'e"oth k"cw"
••• L4,k-bloek, ,. il'u.t~atad t" f4Qu~e 3-1~ Th4'.4. d~s.
e~tbed 4" det.4' i" the P~oQ~am~e~11 H.~dbook.
B~4ef'v, it.
~u~Dose i. to e"able tha u.e~ to tde"ttfy the ~'ta.et
both
4"te~"a"V • by D•••• "O 4t, .dd~e'l " a e.l, ee~a~et.~ fo~
•• ch ~eoue.t fo~ .~ 1/0 •• ~v.ee • • "d .xter",'lv by a 1oQic.l ~.~e whteh ea~ ba u•• d to a •• oei'te the rlat.·.et with a
p~v.~e.' devfoe a.s~o~ed to 4t .t ~u"·t~m. ,(.a~ "~.t .ec.
ttc"). The L4"k-bloek el.o ,"ow. h4m to .oeeffv the devtce
w~t~f".~he.~~oa~a~ o~ ~av Drov4~e ,Dace fo~. ,dd4tto~a'
~".
fc~~at4o~ 4f he t~te"d. to obt.4~ .ueh sD.e4ffeatio" th~OUgh
a eom~a"d, .t~.~o C.,e, .eet40"
F.~."v he e8" 4~die.te
what .etto~ tha Mo"4tor ,~cY'd t.ke, 4f a" 1/0 ~eQuest ea~~ct
be ,atia1fed th~ou~~ 'eek of f~e. eo~e fer t~e d~1ve~ c~
buffe,.. "eeded.
Fc~

D~ov4dea

5.4'.

~

PAG~

.

3.1.2.2

O.vie.

.

__

..-...---o~_.~_.

~'liQ"me~t
__
__ .
~

.~~

3-'

TI~le
_ _ __

_~~~~

~

A'

I" ~~de~ to o~ve '"' UI'~ a. ~ueh f'.xfbi,ity
DO"~bl~,
sDec4f1e8t'0" by co""o'e aSI40"~,."t II "oted ."
.ectio" 3.1.1.5 can occu~ at va~10ua t'm.a, .ve" befo~. t~e
~~og~_~ 1, 'old.d.
T~e MO".to~ mu.t t~e~efo~ • • tope the da.
tl from eac'" ASSIGN el"!tPv, Fop Hd. Du~DOle, a Device As· 1'..(.1' "\')
.4o"~e"t Tab'e COAT) 1a a.t Uo IS reauip@d wit~1" the ~0"1. 1 \ \~
to~ I~ea
Caee tl,e ASSlt;N eo",,,,e"d DPoces.~~ 4" aectio" CJ¥\') ;
6.4.10) a"d 1tl.e"tl"1ea aee t~." checked whe",ver.tt,e DI"O.. ~l'\i' 1\
gpa'" ~"dar e)Cecut101'1 ca", for dat.set 11"dt1aHlat40" Ca.e C/o- c.."",.,...r.r< (
.ect10~
3.~.2,1).
W"'e" 4" e~1.te~ce, ~he teb'e' • • ta~t ad-1
dpea. 11 Itored 1" the eeaf"n4"~ of ,aa10",me"t Tab'e eeAT) \
wo~d 4n t"'e SVT Caee aeet40" 2.1,1) •
Devfc~/F1'e

•• • "ultrated 4" fioure 3-2, t~e table 1t.elf ~IY eo",,1.t
of "DaPlte .eo~el'lts a. follow" due to the vary1"0 "'e~ory
10adi"QI at the time. whe" a •• 1anllle"tl are entel"edl
~pior to o~oara~ loadil'lg • the oe,.~a",e"'t'y pe.4d,,,,t
M01'!1to~
1. v.rtuellv alol'le fl'l ee~e, The table "'av
t"'erefore beof" .~"'ed4atelv abov@ 4ti end, ~nt"'e.
"'ade at t"'.a time "eed not a. a ~e'u't d1aaCDea,.
whe" t~e orooram 4, pe"'oved fro'" ce,.,. 0" cOllloletio1'1

of

ita

e.ecut1on,

Thu, the u.er 1s a1ve" the fa·
"~t
Just o"e
DrOOra", but ~e"ha~, aev.~al oDeret11'10 tooether ,1'1 a
su1te. The fact that fOI" this ea.e the table
.tl~t. wh.re. t~e_ ~O"ito,. Buffer Al'oeat401'1 Tabl.
el'lda 18 uled to Droteet theae e"tP1el,. If thfs j .
the o""v OAT •• ame"t, t~e EOM .tored 4" the SVT 1.
let at 1t, end (see .ectiol'1 2,1,t).
~~~fty oi asafo"",.nt. wh1c~ . aifee~

~,

1ft.r Drogra~ 10adi1'1a but before oroa"a~ e.eeut401'1
• 4t is Dos.ible that the "o,.",a"y .. ~a.del'lt ~01'!1tol"
"'aV be extel'!ded by rout'l'Ie. 'oeded f~r the o,.oo,.a",(
durat1o",
~AT
entries here IIIU8t come after the.e
~out4" •• a"d, a1"ce the I"outil'les must 'atel" be
~e·
~oved witt,
the o~oc~am, the ent .. ies 8'.0 ac, (4f
4n fact "0 ~out.I'I'. a .. e ,oaded, a word is 'eft
hetwee" t~e Buffe .. Tab'. end OAT start a. a" 1"d4eato"), EOM is adjusted also to t~e e"d of th4.
seclTle,.,t,
After the at art of o .. oo~am exeeutio" • the a~e8
f~olTl EOM 1s u"de~ the eOl'ltl"01 of t~e Mon.tO~ buffe~
"'a"aoe"'.~t .. outi~e. desc~ibed 4"Ieet4ol'! 2.4.2 a"d
sOlTle buff .... may already be a"ocate~ to other DU~·
oo~e.,
Thu8 fu,.the~ ~AT el'ltl"1es ~ust .'so use
buffers s1m.,a .. ,y obtai~ed, Fo~ s1~cl1e1ty 4~ the
AS~IGN com~al'ld D~ocessor, eaCh
e"trv uaes a "eW
buffe.. eve" thouoh this wastea .oace, A.14Q"mel'!t
at this t1me 1s the .. efo .. e not ~ecO~me"ded exceot a.

PlGE..3- 8

.. "",1'1, of ... et4fytI"lQ • ., e .... o .. d.t.e-ted du,.f"a d.·
t ••• t f"iti.'tJ.tfol'l. e8e8 aeetfol'l 3.'-.t.l).
T~.roe
.,.. ot~ ... ,. ••• el'l. toel

'.

Th. buff ... u.ed bv t~e ."troV C,""ot be ,..' ••• ed
ul'ltil t~. c .. ea ... ~ t ... ~fl'l.t •• • t~f. eould lock
~ut the bu~f ......... f .. o~ ~ .... c~ .. e .vel'l thouoh
they ... e "0 10"0." t" u.e.

" D... t

"0 ..

of t~.
",.1 cl •• .,.u~ c ..... t.d out du ...
1I'1Q the O .. OCI •• tI'lO of the eo".ol. AEGIN eo~m."d
C••••• ctf~" 5.~), .1, f .... eo,.. buff ....... e
,..l •••• d fo,. • f,. •• h .t ... t.
Vl'll'~1 the .~.fQI'I~.l'It

f",ftt.lfr.ttol'l tt wt"

i.

made befo .. e
1'10 .ff.ct.

~.ve

dat.s.t

."d

Th. l'O""l'It ..... co~",eet.d bv '. two we,.d 'I'Itro~ at t~e
e~
•• eh.
Th. ft .. lt we,.d tl let te -I te 4I'1dfe.t. that ."oth ...
l'O~."t fol'oWI, the •• co"d th." Ihow, the Ita,.t .dd,. ••• of
th.t leg",."t el). CTht. lfl'lkage .1 .11e uled te d.1.te .I'!
v .",."d.d bv • ,.t.,. '1Ifal'l"'.l'It). The I"ri of t~e eo~·
~,.t. t.b"
.1 d'l'Iot.d bV 0 tl'l the f1 ... t wo,.d.

."t ..

Th. fO,.m.t of •• c~ .",troY .1 aive" tl'l f4au ... 3.3.
ef the D,.f"ete., ft.", •• 1 ., fe"owI'

•fe."e.
t•

The Ifol'li •

Loete., ".",. • ce"",,~ol'ldl to tha •• ",. ftem f" the
UI.,. Lt"k-b1ock dtlculled il'l the D... vteu. leetiol'l
al"ld thul D,.evfd •• t~e ~OI'lI'l!ct.l'Ig ,.,,~ bet wee" the
'I'ItroV
the d.t ••• t tt .ffeetl.

."d

O.vfe. ".",. • Ih~WI the
with the data •• t.

d.vte.

to

b.

..Ioctat.d

D,vie. ul'lft • .to,. ..... 1evIl'lt 4del"ltfffeatfol'l
d.vtc •. ael'lt,.o1. I.V,,,,' uI'I1t ••

4f the

of

Nu"'b.,. of we .. d. to fo"ow .. allow, ... at .. tct~o"
,~e 'I'It .. v_ stze to the mfl'lfmum "e~d.d
fo .. al'lV
ff'.·ID.cfffe.tfel'l .l'It.,.ed, •• Q., ff Ff1881'1'~' 01'18
ly, this wf1' be 2 •

.................

1. The •• eol'ld 1i"k wo .. d m.v be 0. Th~' fl'ldfe.t •• the table
el'ld if ~ ~Ol'llole 8E~IN .. e~ov.1 .ss.al'l~.l"It' ~I'I buf~e ... c•••
s.cttOI'l 5.~.5).

~

DOS3."NrI

P'G~

3- 9

T~. ~e~~i"4"g tt.ml .~pclv d.ta othe~wise o.v~" 4" ~he

us, e~?
The 'oo1ea' ~a.e, of eou~.e~
mUlt ~. luoe14.d. The ~ •• t ~av be validlv om4tt.d~ • • how"
t~ l~ctiO" 8.'.10.
(rf th.i~ ,Deee mu.t be 4~elu~ed', the
ao~~oe~4ate tabl.-.lotl a~e th." set to 0 e.q~, tf o"'y
UIe
t. e"t.~.d, it.m 4 must be •• t to 4, ~4l.·"a~e a"d fxte~lfo"
will b. l.ft bl.I't~.
Ftl.·~loe~ (I •••• ctio" 4.3.1'.

3.1.2~3

Oata •• t Oata Block

Th. M~"it~r hal "0 k"~wl.~ge of t~e o~c~~am"
TIO ~eQ~4~e­
ma"tl. u"ttl the e~oQ~am 4t •• lf 1d."ttfie. these bV ~eQuest­
tl'tQ i".tt.,flat4o" of the datalet. to be us.~.
~eflte.,
a•
• tat.~ .I't.t~. P~oQ~amm.~I. Ha"dbook, .INIT ~ust be the f.~st
ful'tctto'" Called t" .aeh e.... IfIt ~e.Oe"'le to lueh call, th.2
Hol'tft~~ .et. u~ ft. OW" CQ"t~ol blOCk fo~ t~e d8ta.~t wft~i"\
a Ui.wo~d buff.~ U"U, elahled f~o"" f~ee co~e a'Hi .to~ •• hi \.."..'\<
.ddr.~. 1" th, It"k·wo~d of the u'e~ Lf"k-bloek C.ee seetfo"
3.1.2.1). Th'l bloek k"ow" as the Oat ••• t ~at. S10ck C~O~),
•• I,Is.d ,th.~e.fte~ a., t"e, mea". bv wl'dch dtff~l"e"t "'e"ho~
~outt"e. call tl'tfo~""atfol't to .aeh othe~ a",d allo eommu"icate
w4th the dr.Y.~ "l"y4cil'tQ the data •• t. It is retaf"ed 4"
,".~orv uI'tt4l the oroora m ~.lea.e. the data.et
from fu~ther
1/0 .ct4o" Cle ••• cttOl't 3.2.1.3), itl buff.~ IDaee fl th."
r.tu",".d to fl"" cor.~
Th. format of the DOB t. illultrat.d
~ureos. of the fte~. i. a. followsl
t•

1"

3-4.

f'gure

The

Mol'ttto~ ltl'tk • ."abl •• the Mo"4to~ to ~afl'ttai"
•
ec"t r ol cha." of the DOB'. eur~."t'v .stab'ished,
al tllult~.ted t" ftaure 3-5. T~e e~ei" ortof"et.1
I t . ' 008 Chain O~fQ1" (nCO) wo~d i" the SVT (see
lectio" 2.1.1).

'.fltk • t. u •• d to eha'" the DOB's fo~ dataletl
wa4til'to UDO" the e.~v1cel of t~. lame deviee .1
de.c~tbed 4" the "ext eect40" •

Q

.

~r4o~1tv

ea"

to

D~'y.~

level.- ItO~'1 t~e level at
driver is marle.

w~.c~

a aueued

t~e

routt~.

1~d.x

•

ts

.
.
"or~."v

0

~"'ell

eall .1.Queuedl a oot"te~ to t~e d~.ver
t4"e reau1~.d •• t~." saved h.~e t"lt'ad.

d~4ye~

a

~ou·

adore.1 f~om whie~
a.loefa~ed ~'~h the datalet 4. 104ded.

DriYer addral. • eo"t.i"s the
t~,

dr1ve~

T~41 allo Se~yel to fdel'tt4fy the d~.ver
w~e"
eomea~.d wit" e"triel 1" the DOL Caee leet4o" 2.1.3'.

.ttt

r'!. '.,.
'-

() ,

DOS3.RNrl

8.

RUIV f'eQ - 41 let by the fMT He~dle~ Clee seet40~
'.2.1) to the edd~els of the c,oo~.~ I/O c.ll wh,"
aeeeeted. Thfs fo~ces a~v lubleauent ce" to waft
vnt4l the cu~,ent reauelt has be,n l,t4lfied • whe~
it is r •• et to 0. The .dd~e •• of th4. wo~d il the
one ,.tored i" the us@~ Link-block .s the ODe co.,~.etio~ to 4t. dat •• et.

7.

User 14ne add .. @•• - 4n gene .. e, i. used to s.ve th.\
~eeo!!cj Da!,mne.~ pa •• ed bv m~.t I/O ~'.". (no .. ",.11 y
the address of • d.t •• ~lock in the o"oQr.m, e.Q ••
Line Buffer 4n .READ/.WRITE, TRA~.b,ock in .TRAN,
ete.

8.

Device block • Doint. to the dev4ee
~'ock o~ • bulk stor.oe medfum.

.dd~ess

of

•

8uffel" .dd .. ess • .how. the .t.rt of. "'emorY ... ea
for t ... .,lfer • norm.l1y th4. fl .n inte,n., ~o.,ito ..
~ujfer' thus this wo .. d t • • l.~ u.ed~. .n ~ndiG'·
tion of the curre"t ••• fa.,,,,e"t of .uch buff.r
Ccleared to ~ 4f "one).

-

.

cou.,t • ofve. the .,u",he~ of wo .. d. to be t~.n ••
ferred by the device ••• two" co",ple",ent value.

~ord

11.

Statu. - i. used t~ direet the drtYer on the tYDe
of t .. e"'fe~ reau4red, .,'ow, the drivel" to retur"
error i"dic.tors .nd .tores other contro' 4"for~e.
tion 0" • bit-b •• ts ••• hown tn ftQure 3.e~

12.

Completion retur., - .howl the .ddre.s .t which a
ee,,4nQ routi~e .. eQuf .. e' the d .. fver to ~etur" whe.,
a ~eaue.ted .erv4ce h•• bee., .etf.ft@d~
Dr4ver word eo~nt - a"ow. the drtver to i"dicate
Cea.i., •• two'. co",~le",ent) how manv wo .. d • • re .,ot
t~.n.fel"l"ed bec.u.e .n e.,d of
deta pofnt i. ~e­
.ched.
This word fs al.o USed to store • va~iable
o01nter to the "ext byte to be D~oees.ed 4" the
intern., ~o"ftor ~uffer. C~o dev4ce act to" ca" be
underway at this time).
Ryte count - is used dur1na .REA~/.WQITE Pl"oee •• 1nQ
to control byte. ~a •• ed b'twee" the D~oara'" 14.,e
and the int.!"na' Monitor buffer.
Checksu", - t. ", •• n'v p .. ovf~ed for th~ o .. oc~ •• 4.,g of
formetted ~i~a!"y data C.ee .ectton 3~2.2.2).

16.

DAT pointel" - •• set dur1"c d.te.et f.,ftia11zatfo"
Caee aeett~n 3~2.1.1' to the .ddres. oi ." e.,trv 4.,
the Deviee ASlionment Teb1e co~r.'Dend1"o to the

dataset, if such .~'.t. (Ie. ~~.y'oUI lect.o~).

'--

,."k -

FIB
con".ctl t~e ODe te a l&·wo~d buff., .xt."11o" w~e".ve~ f11e-st~uctu~ed epe~8t40"1 8~e
und.'wIY o~ the data •• t IS dele~4bed fn leet'o"
4.3.2. It 4s set to 0 othe~w.s ••

11.

'ect1o" 3.1.1.1_ thlt. the dey1c@ d~.v.~
a sta"da~d '"te~face to the eO~men 1/0 o~o­
C'II.~Q rou!."es Of.th. Mo".to~.
Th41 '"te~f8c. wi"
be
diseussed 1" sect.o~ l.l.
The ~out'"es 1~ the1~ tu~",
howeve~. ~Ult also use .t4"~a~d ca,'.na leaue"ces W~e"
theY
~.Qu.re
the d~'V.~11 .e~Y'cel. Thi- .ectio" w." dese~.b.
th ••••
~oted

It WIS
Ihould

1"

~~e •• ~t

~on.tor Ca"s to t~e Oriveri

In.t •• ,'y it 1e the cal""; ~out'".le ~ •• oonsibi'4ty to e"sure th;t the ~e'evant da~a to contro' the dev'ee.oce~at4one
•• ,.t into the DQB d.ee~.bed 1~ t~e 'let •• etio", 4 ••• ,
D.v1ce ~'ock,.Buff.~ Addp.es, Word Count, Status, C9~o'et1on
R.tu~~ and 0 1n the Or.ye~ Word
Count.
T~.
~out'ne
,'eo
let. ~.~ •• te~. a. fo"owei
R~

• Add~ess of the DOS (~UIY F'a~)

Rl • Indei 4nto t~. D~1ve~ Inte~face
Table, (lee Sect1o" 3.3.t).
Thie ."dex oo4ntl to e byte
conta1ninG a" offset f~o~ the d~4y~r
st.art '0 the beg.n~d"Q of ~he rout'ne ~eL.{r-q
D~ev1dfna the s.~vfce ~eeu1red, e,a,.
npen fa shown by 1, T~an~fer bv 10, etc.
The e~"te"t. of t~. othe~ Reg~st.~. are 1mmate~4a',. how.v.~?
drive~s
do not .ave t~.m. It i. thul UP to t~e rout,ne te)
do th4. 4f such ee"te"t. are reauired after retur".
The rout'"es themselyes do not

actua"v

Nor~a~'v a s'"Q'e d.y~ee Co"t~o~le~ can
e~at'on

t~e d~.ye~.
IU~~o~t o"e o~·1

eyen_thoua~ 4t m~y
haye ,ev.~.' u"'te.\
1te.,f ~.ed eo"ta4" o"'v s.~1a"Y ~eusable
How.v.r.t muet th." be crot.etad aaa1~et reea"
8t4"
De~fo~~."o a"v seryiee. The ~o~ito~ th.~efo~.
~rov1~e~ two sub·~out4nes to ~O"t~o' the ~.e
d~4v.r. Ind
ei"ce thev must be ea"ed fe~ eYe~v dey1ce actio" t~ev a~e
~a~t ef t~e resident sect4o". Bas4ea'lv t~ese su~~out.~ ••
provide fo~ aueued re~ue.t. fe~ a drive~ls se~v1ces 1" o~der

Thus
code.
wh1'e

at a

t~.

t'~e,

ca"

O"'V

d~.v.~

of

PAGE3-12

DOS3,ltNrI

thlt a ell1f"Q c~oorlM ~IV
4"g II fir II peSlib1e,

c~eceed w.t~

a'te~~at4ve

croeess·

Tha lub~outf"el are S.COS w~4e~ cheeks the ~eed for a ~ueue
I"d .atl it uc when necelsarv e~d S.COQ w~feh enlure. thlt
the d;iver
give" Jobl from t~e aueUe al it eomo'~tes 18eh
o"a.
Lf-a the other re.fde~t .ub·routf~e8' thev are ae·
e,lsed through vector leclt40". (50 a"d e2). resc,ctfvaly,
,1"ca. I ' 'how" Ib9ve, arguments are casserl i" Registers er
the D~B. thef~ clllfno seoue"ees ere sf~p'el

.1

Driver

~ov

'*5~,.(SP'

JSq

pe,a(~p)+

,CALL S.CDB(52

F~R

S.COQ'

~ueuef"QI

Th~ • • ~out'"e needfno a driv,r OClrat4o" f4rst ea1,s S.COR.
The proea •• ina of .ue~ ea"s i. illustrated dflorlm~etfcel'y
et ff~ure 3·7, It involve. the f~1'owfng .teo.,

1.

~xtract the relevl~t driver .tart addr ••• fro~ the
ident~f.ed bv R~ end_cheek ft •. f~rst word • a

DDB

bu'y f'aQ in the stlndard interfece tab'e,
to ~e eurrently
fd'e, sto~e R0 fn the bu'y fllQ to c'a4m t"'. drtver
f~r the ~aoue.tl~ .e~v4ce and to provide the driver
with a 1ink to the ODB coneerned.

Jf thfs

~s 0, show4na the driver

~.

Clear the dr'ver rou~f"e inde • • eve 10elt4en i~ the
ODe to indicete direct entrY en~ u.e Rl to ~u41d
the eddre., ef the driver service routine rloufred.
Jump to th41 eddre ••• thus leavi n o the .eved return
eddres. from the S.COS ea11 on toe of the steck e.
the ~river" mel~' of .m~ediete e •• t to th~ ea',4nG
routfne(1).

4.

~f the driver i. a'ready busy es s~own by
e ~o"·~
fleo at .tep 1, cheek the n·'4nk fn the D09 Id·
dre.sed by the content of the fl.~. f.e"
_the ene
currentlY bei"g serviced by the driver (from step
2). Ii thi •• s 3, no aueue Yet exi.tl, .tert one

•.....•..... "' ..

1, As wil' be Ihow~ in Section 3.3, e,' driv~rs use the 4nterruet syste~.
In generel. a el" to I driv~r mere1y re·
lultl in the 4nitiatfo" of the ha~dware actio" ~"d an e.it
to Iwa4t t~e fi~.t fnte~~upt. ~e"ee th~ retu~n fro~ '.COR
fl not the 'I~e as Co~~'etfo" Retu~" stored .~ the no~.

'",

--

P1GF.3-t3

by .to~.~Q t~. Irld~.I' of t~. OD~ fo~ t~e "@W ~ ••
~u,.t
~~o~ AI .1" t~~. g-'~~k a~rl .IY. Rt I"rl t~.
~~10~.tY '.yel of t~4.
~eaue.t
.~
4t. OW" 008.

e.e.

f.qu~. 3.8).

If I QU.U.

I'~eldy

1 ••• tS,

t~8ce

it yi.

t~. ~.14"k.

IIC~ DOR .~d ." •• ~t t~. ~.w ~eQu •• t 4., itt I~­
D~e~~fat. o'ace eith.~ IS the '1St It 4tl o~10~1tv
'.vel o~ It t~e ."d (.~oW" bv I 0 '4"k), w~4e~eve~
eo~ •• f1~.t.
~ •• t bv .,o~~a' .ub-~out4"e ~.tu~~.

i"

0" ~.tu~"~ t~e eaJl~"o ~out.~. ~. o~ eou~.e U"lwa~e

flet t~lt the
.,'.It .t.e, 3

d4ff.~.~c. 4. 1mmlt'~'I',
H 4" .h""~ e ••• u"tU,

I"

Q.~'~I"

the

of

the
exthe
but WI-

d~4v8~ mlY .ti"
~ot be cll'ed, si"ce t~.
o~ 5 Ire t~ ••• ml •. ~ow.ye~ at t~i. t1~e,

u.e~

~outi". c.".do "o~h1"Q
d~1Y.~
•• t1.fte., U. ~'Que't.

the
t"'.
e~og~lm 1.

~eC8"ed

to

ce~t1"ue

ftt 00·

e~.tio"., u"ti"
I. the ~e.u't of 8" 4"te~~u~t' t~e d~1ve~
~.c.". the ~o"ito~ pouti.,. vi. the Comet.t40., q.tu~~ 4., the
DDB. It doe. thi. w4t~ R'Q •• te~. It t~. i"t'r~uct 'Ived 0"

the .tlck ."d R~ Iglf~ •• t to t~. ODe Idd~e... It. bUlv
f'la ~owev.~, •• ~ot c'el~.d • I~d "oth4"o ~8~ yet ~ee" de~e
.bout fu~th.r ~'QU •• tl ~os.4b'v .ti" wa4ti~a 1~ a aueue.

-

O~1ve~

,

OeQueuef"QI

It ~. t~.~.fo~. t~. MO"~to~ ~out.~.IS ~'loo"'1b4'4tv to e"thlt the dPfv.~ ••• tl~t.d u~o~ ft • .,ext tl.k 1f ."v.
'o~ t~1i I e.t, to S.CO~ •• u •• d, "o~~a"y_ e~eceded bv 1
•• ve of the co"te"t. of R~ .4~c. t~e 'oUt1"8 "e.ds the 008
.dd~ •••. fo~ it. 'It.~ c~oc"s.~Q a"d thi. c~" be 'Olt t" the
~o •• 4hl. d~.v.r reca".
T~e ocp.~at~o~ of S.C~Q i • • 1.0 out'4"ed 4" i1au~. ]-7 I"d CO" •• sts of the fo"owf"o stees.
.u~e

Extr.ct the dr4vI~ Idd~.s. f~o~ t~e nO~ a1Ye" by R~
I"e C'.I~ ft. fllo • th4. w1" be ~e'8t 1f I"Ot"'.'
t •• k 1. 4" ,i"e It .te~ 4.
Check
3.

t~e ~-l1"k

~t~e~w4,. ~e •• t

the

1" the
R~

Dn~

a"ri 4f

to the Q-'f"k

t~48

eo~t."t

4, 0, exit.
I.,d

c, •• ,

Q-'1~k.

u.~"~ the "ew ~0 value (~o~"t1"g to the OO~ to be
'.~vfced with." the a'~eldv e.t.b'fs~ed o~io~.tv

tOlhow the "ew ~~~ver se~viee
the D~eviouslv ,aved v.lue ."d ~etu~"
to S.CDS at stec 2 to ~elt.~t thp. d~.Ye~.

,eOu,"ce),
~eQu.~ed

~ •• et R~

f~o~

AOI1" the saved ~.tu~" add~e'., thi. t.~e from the
S.COQ e.ll. e"abl •• t"'e dr.v.~ t~ exit to t~~ ~e~4to~ ~outi"e 8t t~e aD~~oor.ate oo4~t f~o~ w~4c~

4t

CIM restore A0 I"d eOMt4Mue 4tl lervtee to the
Uler. ~heM 4t cO~D'etel, the Reo41ter COMteMts
leved bv the d~.ver, es Moted ebev8, ere reltored
el Dert of t~. "orme' croQre~ ~eee" ProceSI. (lee
iioure 3-9).

It .heu'd b@ meMt10Med thet both S.eDS ,"d S.r.D~ edJust Drioritv 'eve".
No~me"y
both oDerate et th@ cal' 'eve',
heMe. S~CDQ ~artfeu'er'v beoiMI bv droDoiMO dO~M fro~ the
dev(ce ,eve' 14Mce the Mo"ftor routf"e 4. reea"ed from i"terru~t~
Mowever both ~erform i'aa checks aMd fer safetv,
they r,i"
the 'eve, to' te~oorarf'Y whi'e thev do 10 pOlsiblv eM uMMecesserv feeture tM the curre"t stet, of ~OS
dev,'oD~eMt_ el
a IfMole.user .4"Qle-talk IYstem, it 4s t"e'ude~ "everthel.l. eQef"lt DOlltb'e future med(ficatfo"s.

•
/

OOS3.RNn

3.2

tlO

p, G!.j'-l !5

.

P~oce ••

.

i"Q

The D4~po,e oj th~. leet4~n 41 t~ e~.~4~' e.c~ ~f t~e c~~mo"
1/0 o~eeel'1na ~out4ne, 1" detli' w1t~4" the conteKt of the
ove~a"
Dh1'0~oohY d4~cu •• ed 4n "ction 3.1. Te
4"u.t~ate
the aane~.l effect UDon t~. ,v.te~, t~e ~out1~e8 ca"ed bv a
u,.~ c~oQ~a~~.no ba.4ea"v .t t~ •• TRAN '.vel wf"
b. ha~­
dled .1 e~ 1nt~oductto" i~ .ect40n 3.2.1. seet40n 3.2.2
w4ll t~p.n .xpand UDon the ba.ic patte~" bv ~e,c~4~.no the
~outine.
ca"ed fo~ no~ma' D~oe ••• 1na et tha .READ/.WRIT!
'eve' •. T~e ~e~a4"1nQ gene~a' 1/0 ~~du'e. fo~ ~endo~ accel'
and loee4., oee~.t40n. e~e cove~ed 4n .ection, ~.3 &

3.'.

It ,heu'd be noted t~at a" t~. module., be4ng cotent1a"v
(the .~EAD/,WRtTF e~oce •• o, eu~~,nt'v exeeeted), u., tae~n4au,. di.eus.ed in leetion 2.3 and a. 1/0 MOdule. 4"ce~~0~ate conee~t. Ihown 1n I'etion 3~1 (oa't~cu'e~·
1v d'1ve~ ca"1nq 1l'u.t~ated 1" •• et40n 3.t.2.').
Hence
c~ol'.~.fe~ene1"Q ~o
the • • • actions bv the ~eade~ wi" b.
a •• umed wh.~. not g4ven.
non·~~14dent

A,'

the ~out4nel Mav take advantaoe of
p •• sed ~v t~, EMT hand'e~ a. fol,ow ••

~eg4.te,

eontents

Add~e.s ef,the D~B fo~ the dats.et
to be •• ~v1eed
ql • 8tack add~e •• of the f1,.t el"
ea~a~.t.~, 1.e., the add~es. of the

R0 •

u.~,.l.nk.bleek.

q2 • P~og~em ea" add~.s.
R! • p~oee •• o~ StatuI R.g4.te~ add~ •••
to, -2)

At the has4e 'eve' of 1/0. the u.e~ me~e'v re~u~rel the Mon1to~ to control the ooe~ation.
a device-rl~.v~~ to oe~fo,~
di"ct trensfe,s of dat, between h1. D~Og~a~ area and the
d~v1ce.
The o~og~am 1t,e'f ca,,1e. out e" the p~oees.1"o
of the rlata ~eQu1rerl. Th11 f. accomplished bv ft ea" to the
.TRAN ~eut1ne. However. before any 1/0 o~e~ation ean be effecte~, the prOQ~em M~.t not~iy the Mon~tor oi it.
reQu1~e.
m.nta bv ea"inQ .INIT to 1nftia,ize the .e~,o~~1.t8 dateset?
Ind mek@ the ~eee,.a~v devtee d~1ve~ aveilab'e 1n ~e~o~v.
8etwe~" t~.n.f.~ ~eou8sta, the c~eo~em ~av ea"
,WAIT t~ 8n.
aur. the t~ansfa~ ~a8 be.n· eomoleted befo~e o~oeeed4nQ.
w~en
a"
t~ensfe~s
heve be@n done, t~e d~fv'~ and ~atal.t
'inkaee .~e ~emoved bv ~ .~LSE ea". The ~eau'tinQ o~o~~e~
out'i~. i. oive" und.~ .TQAN 4n the P~oQram~e~l. ~andbook.

of

DOS3.RNO

p'G£3"-18

T~ •• ~.tT

p~oe.llo~ •• '"eluded .~ t~. EMT ~.~dle~
e"d w.,
dilculled .f" seet'o~ . 2.2.1. T~e othe~ t~~fte ~outtl'les .~e
dese~ibed t" the fo"ewf"~ oa~ae~4p~l •

• 1 "oted above, the p~il'lc.pal fu"et4o"s of the ~I~IT o~oce,­
IO~ .~eto _"lUre that th~ d~4ve~ io~ ,~. deviee ~eeuf~ed by

a us.~ data.et fs loaded i"to ~emo~v if "ece'8a~v al'ld to
co""eet. 4t to a D~og~am Li!'!k-b10ek deff"4!'!Q th, de~aset v4a
a DDB with,!'! the ~o"fto~. It a'lo eets the dev4ee.4"te~~uDt
y.eto~ • • cco~d'!'!Qly.
Seaue~cel

Cal1."o

The D~oe~am cal1f~Q seau.~e.
~ov

!MT

'S

as follow.,

.lN~BLK,-CSP)

e

,PASS LtNK.~LnCK ADDRESS
,CALL .tNtT

.

Pr-oee,,4f11«!1'
Th. leQu.~ce of ooer-at'o", eep~.e~ eut by the .INIT opoees1"1"
.s outH"ed below. a~d 4• .fu~t"'e,. .• "u'trated 4" f'Qu~e
3-10. The state of ~emo~v 0" comDlet'o" i. g,ve ... 4" ffgu~e

:S-11.
Co11ect the Li"k-bloek add~e., e"d elee~ .t f!"o~
the .taek bv ~ov'nQ the saved uee~ ~eQf.ters dow~.
Set a oo1"te,. to the .ta~t of the ~Ol'ltto~ DD~ cha'l'!
as stored ." t"'. SVT ( •• e •• cttO" 2.1.1]
t~e ,,"k.wopd i~ the L,"k-bloek 1. "0"-0,
cheek
4f ft. cOl'ltel'!t pO,l'Its to a vftl.d o~e bv sea,.eh4"o
the DOe ehatl'! a"d 4g!,!0~. 4f not.

11

Oth.,.w'.e t",4. eould be a ,..-.",it.
Re'ease a"y
valid fnter~allv establi''''ed buffer8 ""ked to the
OOB, e.~., data buffer,
File I",fo~m8t.ol'l aloek,
~ft-~ao
(Ie~. c~a~ter
4), etc. Set uo to use t~e
same Or')S aQa'".
4.

If."o DOe •• currently established, cl~fm a buff.r
U"'t f~om fr-ee eo~e, 4f aveflab'e v4a S.GTB, and
',nk ft to t"'e Mon4top chaf".

~.

C'ea"
ule~

-

-

t~e OD~

""Ik.

completely and .tore 'ts

ftdrl!"ess

4"

PlGE3-17

e. u,t"Q

t~e

LOQ.eal NI~e from t~e ule~
the Olvice AI,.g~me"t Tabl@ fo~
a vllid e"trY Caee leetio" 3.1.4.2). tf feu"d, ex~r,et the "Ime ~f I"Y d~ive~ IDecified a"d Itore I
ooi"ter to t~e e~try i" t~e 008.
lf~k-b1oek,

7.

dltl.et

lel~ch

Ot~e~w.ae Qet the driver "ame from t~e l."k-b10ek.
W~e" "one .1 ~ive~,
el1, oDe~ato~ Actio" Cerror
~ell.oe '~03 - lee eha~ter 7).
If • retu," t~e"
~eeu~I'
a ".w eO"lo"
ala4Q"~."t
~ay ~Ive bee"
~Ide,

10 return to Itee

e

I"d eh@ek agAt".

Sel'~h.th. DOL. CI.e leet~o~ 2.1.3) f~r th, d~.v.~
IDeeifi.d (1).
CI1' OO@'ltO~ letio" a, f" Iteo 7
fo~ I drfver "Ime whfeh doel "ot •••• t.
Ot~.~w.le
GO to 'teD l~
the oDL I~OWI t~. d~ive' to be
a,r •• dy 4" ~.morv.

U"".,

.

F~om

.

• switch ,et 1" itl I"terface Tabl. Cse@ aec.
tio" 3.1.1), v.rffy the ah111tY of a 'oaded d~fv.~
to IUDoort more tha" one dataset It a ti~e a"d o~ft
the lOld D~OC'II ff Iltflfactory. Otherwise .earch
th. ~O"tto, chain to e~lure that "0 other ODe i.
a.soe.at.d ~fth the la~~ dr4ver, el~'4"a for 8 "IW
1'lfQ"~.nt IS f" IteD , if "eeel.lry.
UI~"O the DOL ~niormetfo" on the drive~l. 'ocatio"
thl Iv'tl~ ~evfce, elA4~ , buffer o~ drfv~r I.,e

9".

from f'ee core. If "one fs ev.i',b1e for thil, or
io~
the Oo~ f" stee 6, take 8"V us@r e~ror exit
IUDDli.d in the link-block or, faf'.~o t~fs, ca" I
flt,1 e~~or tF~07).

11.

PreDare the no~ for a read-trl",ilr 4"to the ell.
imed buffer from the 'Ylte~.devfee b.led uoon the
OOl i"for~~t40" and us~nQ the .a~e routf~e as SAM
Clee .ectio" 2.3.4) fo~ handling tra"sfe~ eO~D'e.
tio". "10 .et the OoA busy fllo.
Save 1.~n1iicI"t Reg4st.r co"te"tl e"d vi. S.COR,
el" the SYlte~.devfce driver. _CAl' .WAIT u"t.'
t1o"e CIS i"dicated by elearlnce of the ~oB bUIY
f,a" in the SAM .eauence).

.......
----- ...
1 • . T~e dr.ver fo~

a cO"lole ~ee·33 Teletyoe considers two
devieel KB ,nd PT wfth different entrY Def"ts. The OOL
howev.r O~'y showl ~B' ~e"ee the seArCh for PT 'ooks fo~
t~i. 11"0'e e~t~y.

T~e ,e'ey~"t entrY ~oi~t fo~ device PT i. com~uted f~o~ t~e
e~try ~oi"t
of device KB s4"ce the I,me dr4ver cent.f"_

both.

~" comD1et40~,

.et t~e D~L to .~e", t~e CO~e 'oes·
the d~4ve~ e"d us4~o 4"fo~~st4o".f~0~ t~e
d~4ver i~terf.ee teb'e .et UD the dev4ee
."te~ruDt
veetor. Cexeeet for 00".01e ty~e"'~4te~ a al~eady
eo""eeted to the re.4de"t Kevbo.~d L•• te"e~ Clee
leetio", e.3»

ttO"

of

C'e.~ the buffer addre.1 fro~ t~e ~o~ to show th.t
~o data buffer h•• vat bee~ attached .~d relet f~to

the ODA "Drfver Addre.s'. COllect a!'ld store the
~e~fee
u"it fro~ the nAT or Ule~ Lf~k-b'oek as SDa
DrO.,r •• te.
1~.

Teke the SYsteM f.it to re'eSae ~he ''''eo Buffe~ if
"eCeSlarY, ~e.tore Dro~rs~ ~eo4It.rs saved bv the
!~T H.",dler e",d retur",.

Comme~t'l

The re-e",tra"ev of the .INIT Droees.or merit.

further

dis-

eus,ion~ . The Mo~Uor S.GT8 rout1!'1e is C.• , 'e'" too~tai!'l t"'e

buffers for t"'e DDB e",d driver a",d thfs doe. ~ot Droteet ft.o.~"'.t
~!'Iterru~t
(a.e seet.o!'l ?'.2)~ As ~ result,
.INtT il set to be !'lot r.·."tr.!'It wl'le!'l i" the SW.D Buffer
C, • • • aetic!'l 2.3.1). However t"'e .,roteetio~ does !'lot oreve!'lt ;e·.~t~v 4f .INIT 4s made re.ide"'t. T"'is •• "'c oroblem
U!'lder DOS eUr~e"t1Y .4"oe 0",1v 14"o'e-t.skf~O •• cerm.tted
t~e.u.e~ croar.", •• "ct ree!".~ (4~~'ted by .teo 12).
Navsrthe'e •• ear. ta ~.e.s.arv f01,ow1",0 .!'IV ~o"ftor modif4c.tio" for re.'-time u •• oe.

•• ,i

."0

CTIU)
The .TRAN Mo",4tor ca" e"ab'.s t"'e user to cerform direct
tra~sf.~s. ~etwee" , deviee a"d • memOrY 8~ea w.t~out i~ter­
mediate Mo"itor bufferi"o. T~e s1ze of t~e t~a~lfer 4s 'i",Ued ~""v. by the eao.eftv ot a si~~'e \II~rd-eou"'t C6~'O. T"'a
~o!'l1tor however, exerefae. fta ",orma1 cO!'ltro1 over the
deva
tee, 4~e~, a"owi!'lo the tra"sfer O"'Y if the driver i. eurr."t,; 4dle ."d Qu.ueino the reoueat otherwi.e. It must be
",oted
h~wever
t"'.t
.T~A~
allowS a~.o'ute aeeess to
bulk-'teraoe deviee.. t"d4.crtmi~ate use f!'l t~4s ~elDeet
c." eorruot the ftle·structurf"o of sueh ~evfees C.ee

ch.ote~

4).

The .TRAN Droee •• or reQuires the oroora'" to
parameters for the transfer bv me8"'S of a

8UO~'Y

eo~tro'

TqA~ab1oek whic~

~

•• 41'u.t~.t.d fop p.f.p.~c. It f.au~. 3-12,
B,4.f'v 4t.
4. to I"ow.t~. u•• ~ to detaf' t~e devfe' a~d ~.~o'V
.dd, ••••• fze aP'ld dfpecttoP'l of the t'IP'I,fe, I"d to .llow the
MOP'lite, to ,etu,P'I 'CltU' f~fo'~lt.oP'l (fo, fu~t~e~ d.ta.',
.ee t~. p,oorlm~.'" ~I"dbook', The addr ••• ef t~. bloek 4.
~1"ld a. I" l'au~'P'lt tP'l the ell' .eQUIP'lc. I. fel'ow.'
~UPDO"

MOV
MOV

*TRAB~K.-tSP)
*LNK8L~,.tSP)

E~T

10

,PASS TRA~.~LnC~ AOORESS
,tOfNTI'V OATAS!T
,CALL ,TR4N

P,oee •• 4P'1o,
Th. "QueP'lc, 10r .TRAN D'oe •••• ~a t. r.1atively .t'atahtfo,·
wlrd Ie P'le d.lopa~ t. P'leeded. Bal1cal1y t~e Ite~. a'. a •
• howP'l be1ewi
.
.
Extract the driy.~ Idd~e'l fro~ the ~08 IP'ld atore
t~e TRAN-block Idd".1
fP'l the u.er LiP'le 4dd,e.,
wo~d of the OOB,
Clee, the ell' I'QUMIP'ltl fro~ the
Itack by ~oyfP'lQ leved DPOO'I~ Reatlt.r. dowP'l,
~ove

t~e t,IP'lli.r eOP'ltrol
Da,a~.terl f'o~ the
TRAN-block fP'lto the DDB (with w9~d.eouP'lt ",eaated),
At th. 'I~' time cheek for t~v8'fd ce" al fo"ow ••

1".01' fu~cttcP'l fo, device
, f~e-D,.tP'lt.P'
e,

(e,o"

read

fro ...

IP'lvI1fd fu~etfoP'l
Fop (a) eP'ld (~) fOP'lor. el" by re~urnfP'l~
.r~o, ItltUS fP'l TRAN-b'ock 'P'ld exft.
For
(b) ca" fIt., e,Ilor (F003)

r.-

3.

S.t th. Qoe ComD]ettOP'l Ret~,",R~ a"d ~1 's
ou'ped ~or I d~1ve, t"I"lf ... ell' a~d g~ to S,COS.
~h1'e wa1tfno, ,e.to,e .,ved ~,.oepa~ Reoi.te,.
IP'ld
,.el" the ~"oopa~.

4.

~h.P'I

!.

RetuPP'l I fleo to,the us., i" t~e_ TRAN-block for
~'IP'llfe,.
of DI,ity ''''01''1 'P'ld .1mil~r'v I~V ."como,ete Wo~d·Cou~t ('1 • Dos4tive vllue) if eft~e, of
thele IDo.a, •• P'I t~. DDB.

h.

"cI"ed by

t~e

driver, cll'

s.eo~

to

~.oueue

Cle.r t~e DO~ AusV F1I" aP'ld ~uffe, A~d,.e.s (P'lot •
MOP'l.to, buffe~', Tak. the SVlte'" Exit to 'eturP'l to

PAIi£3-20

CO",lIIe"'te •

• TRAN 1. ~ •• nt~."t .t al, t.~e., ~eoa~dles. ef t~e C'~"'8ne"­
ty ef ft. te~.-~ ••• d."'e.. Hew.ve~ ~ee.u •• ef ft. 4~t,~"'edf •
• ~. ~.tu~~ te t~. u •• ~ .t .teo 3, • fOllewf"a .WAIT i. advi.,d befo~ • • 4th.~ the T~an·bleek o~ the data a~e8 4. e~e­
c •••• d fu~t~.~.

fRLS)
T~' .RLSE.Dree ••• o~ b •• ieallv.De~fo~"' •. the fnve~ •• fu"etie"
of .tN!T. it ~elea ••• the d~iye~ D~ovfd.d ~h,t no et~.~ data.et •• 'ttll u.ino ft a",d that it i. "et ~.~~.n~ntlY ~.'4.
d,nt.
It the" ~.tu~n. the ~oe byffe~ t~ f~~e eo~. e"d un,4nk. the u,.~ Li"k-block. Hene. f~o'" thf, Dei",t, the ~o",i­
tor feraets the ext'te",c. ef the dat •• et until ~.~h'D' a
•• cen~ .INIT ~e.to~., it. .RLSE ~a. "e ~ec"a"1s~ fe~ handlino ,till-eo." bu'k·'te~.o. fil •• , howev.~ 4t do., ee~fo~'"
ba,ie .CLOSE oee~.t.e~, e", .i"'Dl.~ deyicel.

c."i",o.eau.ncel
.RLSE •• cI"ed by.
~OV *LN~BLK,-(S~)
E~T

.

1

,PASS
,CALL

LN~.8LOeK ADO~
.~LSE

.

p,.oee •• 4MtI
Th. "QU.",C. ef oo.~ation. fo~ ~LS i, fllu't~at,d i~
3-12. The basic steDs a~el
1.

Save the L.n~-b,ock
stack. E.t~act the

add~...
dr.ye~

end

.dd~e ••

~e~oye
f~o~

the

f.ou~e

it

f~e'"

OO~.

~.

Cheek whet~e~ a ~o"fto~ buffe~ is st." attached to
the 008 indicatinG ~h.t ne .eL~S~ ~I' ~een oe~­
fo~",ed. _Ge ~o ,t.o e 4f
~ot.
C."
fatel e~~o~
fF~05) if a flao ;n the d~4ver 4"t.~fae. tabl.·f.ee
.,etio"
3.3.1)
.how,
ft,
d.viee
te
b.
ff'e-'t~uctu~.d) othe~wfs ••

~.

Set the DO~ COMeletio" R@tu~" 4n ca., ~evfee actie"
i. n,.ded, (u.fno the .ay.d ,..tu~ned .dd,. ••• f~o~ •
~S~ cal' te eau.e executien of
en em~edded Iho~t
fe~m
ef the S4M d~ive~ ee~Dletfon •• ouenee - lee

DOS3.~NO

•• ctio", 2.3.4).
Oete~~i~~ w~et~e~ t~. 'alt oc.~.tion O~ t~. eata •• t
w.I .outout ."'d, ~~~n w~.!~.~ anv y~l~d data st."
~am •• nl in t~. Mon1te~ buff.~ rb •• ed uoon t~e y"ue
t~e ya~ •• bl. oefnta~ Ito~ad in t~a OOB D~.ve~
Wo~d Count'.
If 10, laya t~e OOA ad~~el' anrl its
8uIV Fl,g ce",tant a"'d call t~. ~P.y.P to eMetv t~e
bUffep yi, S.CDB. Call .WAIT unti' ffnf'hed.

of

~e'a'ie t~e Menfte~ buff.~, 41 ,~c~oe'4'te, to f~e.
eo~e yia s.~Le,.u.4"O tha If Ie Ihown II t~e d~ive~
Itandl~d

8.

1" its

Sa,pc~ the
dp4ye~

DOL

led~ell

i"ta~face

t,b'e.

fo~ the ent~v

a,

t~lt

ee"'t81~fno

1" the ODe.

t~e

18ma

W~e" found, t~ace t~e Mo~.to~ 009 chafn fe~ oOI,fb1. otha~ Ule~1 of t~e sl~e d~.yap raeafn a"owfne
foP tha dUll natu~e of t~e cOnso'e A~R.33 dpiye~ ,.. feotnotel 4n ,ectton 3.2.11). If Inv, feno~e
.ta~

8.

f' t~e ,01. ulep~ 8n~ the nOL enft, d~4ve~ .1 not oe~manentlv ~es.·
~.~t, ~.,.t the davfc. f"t.~~uDt Yaeto~1 to t~80 0"
e~~o~,
c1.a~
the d~fve~11 co~e arld~es' fn the ~OL
Ind ~.tuPn t~a buff.~ 4t eccuc4.1 to f~ee eo~e.

Wh.n
t~v

t~fl

Ihowl

dltl'.~
t~at

Un1fnk the O~B fpom the Mo"4to~ chafn Ind pe'e.l.
ttl buffap to f~ee co~a. Take. "O~Ma' SVltem Exit
to ~etu~n to the call4nG C'OQ~.m~
Com",e"tl.
Sfnce .~LSE usel S.RLR wfth I.m~l~~ vUl"e~a~f11tv.to that of
S.GT8. the ~ema~~s in the "It oa,aQPloh of lection ~.2.t.t
1'10 aoelv he~ ••

3.2.2

No~m.'

1/0

P~oc ••• 4"Q

As d1se~.s.d i" "etfo" J.l.1. the u•• , w~o deei not wish to
eon •• de~ DMYeical dey4ce •• nd reaui~e. ~o~e '8ry1ce f~o~ the
~0"4te~ cerfo~m •• eaue"tf.' 1/0 oD.r.tto" • • t t~. REAO/WRITE
'.yal~
I" ~"DO""
to .~E&D or .WRITE e."., the ~o~~tor
tr.".f.~. dati, for~.tted to ." •• t."t .o.effted bv the
u•• ~, betw.e" • y•• r '1~e of d.Yt~.-1"dacend.~t .tze a"d 4t.
OW" f~ter".l buffer
which i. fill.d or .~ct4.d bv the
d~vice-dr~ver ,. "ee •••• ~v. Pr~or to th' tr."~fer., • e.l1
to .O'EN e.t.blt.h •• the ".e •••• 'v eo"dttio". for o~.r.tto".
w!t~ .~v d'v1~ •• Simil.rlv .eLqsE .".u~ •• or~c.r ela'"-uD
.fter tha tr.".f.~. have ba." eo~eletad f" .,, e.....
Th.
fol10wf"g carag~aDh' a.ami". th •• e funetfo". i" mora data.,.

I" .act40" 3.2.1.1 4t w~ •.• how" that the .r~IT call ~erelv
.".bl,. the uler to a •• oet.t. the dat •• et with tha driv.r to
eerv1ee ~t. Tha .OPEN e.l1 ~. Drov1ded, ~" aa"eral, a. t~e
mel"' wherebY he CI" Dr4me the dr.ver ."d al.o ~aau •• t thet
e.tab'i.h~."t of tha 4nt.rn81 Mo"itor buffar i" rald."a ••
for the t~.".fer. to eom.~ I" Dlrtfeul.r, .0oE~ ~.k •• fflc.
on bu'k-.to~'Qa dev1ea. av •• 'abla for the •• t~.n.f.r., a.
delc;ribed 'at,r i" .eet,ton. 4.5.1. A'tho",gh ~he e." fs n,t
striet'v "eeee.e~Y axeaDt for t~. 'atter Du~~o.e, ft. uee 1"
a".
~ •• a~
fs
. r.eom'!'.nded
f"
the
4"tep'e.t
of
devfca-4"deDendent Droor.~mf"a.
C."i~a

Seaueneel

Tha ,.'11"~ •• auene, for .OPEN reaufre •. the.u.ar to erovfde
e. Fne-bloek with'n t,l"
~roor~m, whfe~ f., f11u.t,r.te~ at
fioure 4.15 ('1"ee 1t. or4"0101' DurDo.e 1. more 'coP'ocrfate
to f4,e-.trueturad ocerat.o~.'.
For the_o~"er.' e,.e, it
e".b'a. the u •• ~ to .how tha i"t.nded tra".fe~ dfr.etfo" and
to .ucelr ." ,r~o~ exit ff he w~.h... The ~e"era' fo~~ of
the ca" 4s as fol'owll
MOV

.COOE~FILBLK.2

*FILBLK •• (S')
MOV *LNKBLK,-(S')
~OV

E~T

Ie

,SET MOW ODEN CODE
'PASS FILE~BLOCK & •••
r ••• LINK BLOCK AnDRESS!!
,CALL .OPE~

-...../

P4Gf3-23

~/

"CODE" 4" this •• auence i" faet ide"tifi.. d4ff.~e"t 10~~1
of .OP~N c~ovided mli"'v .oaf~ fo~ f,ex4bi'4tv in ~a"d'i"Q
bu'k-~to~lae f1'el(l).
Fe~ the gene~.' elle,
thei~
.ffect
11 .1 fellewsi
1•

Open I" ~x1'ti"O file fe~ updlte (OPENV).- .~~'.'I
beth i"cut I"d.outout. Sine' ~o,t 14~o'e device.
(."e'ud1"~ magnetic tloe beeau.e ef inhe~e~t
O~ob.
"~I)
el""et .u'ta1~ both d1~ectio"., this fo~m of
~OPEN 11 vI'id 0" ~i, ••• t~uetu~.d·d.vfc'l ~"'y.
~~e.t. I "ew ,eoue"t~a'

file (OPEN"' - no~mal'y
Drecedel a" .WRITE ~pe~at40" •• It clu.e. the •• tt~"Q uo Qf I" e~~tv ~nte~n.'bufi'r •. tt ce"e~a"v
~e.ults 1" I elll to I "o"-fi,e.ori."ted dlvfee fo~
the eutout e~ .ome~."it1a'11."Q dltl .ueh as Du"eh
lelde~

3.

o~

cr4nte~

fo~m-f.ed.

Exte"d I" ex •• tf"o leQue"t4ll ff'e (OP!N!) Itea II OPEN" en "0"-f4'e-or.e~ted devieel~

eoe~­

Ope" I" eX.ltf~Q f4'e fo~ 4n o ut (OPE~I' - f. uled
oe"e~I"v
before I"
.READ ~eauestl. It U.UI"V
result. 4" I el" to the driYe~ fo~ 8 "e"-if'e dev'ce to eheek fts reldf"esi. The 1"te'"I' buffer ••
'Itl~11.hed end ~v_e"O~her d~.ver ee"
th1. buffe,
i, fi"ed i" e"tieioatio" of the first .RE.C.
~cen I" exist1"g eo"t1ouous fill fer outeut (OPENC)
- .1.ma4"'Y orQv4ded te a"ow ,ecue"tia' .WRtTE eDtratio"1 within I
~I"dem-Ieee •• _ ,reI
0"
I
fi'e·o~i."~ed dev1ee.
0" other deviees, it let. II
OPENO.

The o~"@ra'_.OPE~ croe.llor outline •• ,how" at f40ure 3.13
I"d its. Iffect 0" memo~v Ulloe is 1"ult~lt.d It figurl
3-14. Blliel"v it fellowl the leCUe"ce e4ve~ belowl
1.

~xtr.et the dr1v8r address f~om the ~D~,
Slve the
~.ramete~s
t.mp~r8r.'v." t~e O~B (Uler Lf"e

elll

....... --- .....

1 • . The co,del are a"otted on the baai. t~at bit 1 ;"rl4~ates
a 14l,-tyce. dedicated to output a"d bit 2 11m4'.rlv to fnDut
Cae • • 'so Foot"ote to Seet1e" 3.3.2).

'ddre •• 'Oevie. Sloek .lot.' .~d cl •• ~.uc
.t.ck by mov4no •• ved croQra~ Re~tst.rs dow".

the

C~.ck
th. va'i~4ty ef the code 1" t~e
user
File-block, .1.0 whether ft. tmc14ed d4r.ctfon 1.
luft'bl. for the .tt8e~ed ~r4ver (us."~ I" t"~tca.
tor t" ttl .t."dlrd i"terf'ee teble • see Seetto"
3.3.1).
f,"u,.e t" eft"'e,. ee •• , e,.1' e fete'
.rrO,. (F"lt).

'0,.,

Ch.ek th' Oce" t~d4eeto,. '" the DOB Stetu. wo,.d.
If ~l" •• dY .et to ."'ow '.OPE~ ~es bee" c,,"ed
wfthout 8 lub.eQu'nt .CLOSE, •• tt to t~. u",.DroQ"'~ with
ffle ,,.ro,. ~ e • • t.tus
ce" e fete'
.,.ro,. (,012) tf "0 eddres. for the "etu"" t • • UDDli.d.

or

4.

D.t.rmine the •• ,e of th. 'nt."n,l d.te-buff."
"eeded by, r.ie,.en~e t~ e .~en~ard for the devtee
eo"t'f"ed tn the drfver tntel"face table e"d cla4m
the ".e •••• ry Icec. fl"o~ fl"" ~ore, If "o~ •••
ey.fl.bl., take the lt~k.b'oek e~4t 4f ~fve~ or
othe,.wi.e c.l1 fltel errol" (F007).

!5.

St~r. the Itart addre •• o~ the bufie~
f"
.nd ele.I" the buffer C~.inly fer out~ut).

t~e

OOA

'rem ,cDI"ocr4ate indicator' in the d~.ve,. 4"terface
t.bl., ch.ek wh.th.r the d.viee fs ff'e •• tructu"ed
~r t • • • ouen!4,' m.g~ettc t.c..
C~urt~er ectton f"
.tthe" ce.e f. d"crtbed in the ~e.t De,.egrach)

'.

'o~ ~on-bulk .to~'Q' devtee., verffy the e~4.tenc.
en OPEN routf"e i" the ~,..ve,. end eltll it tf t"eluded v~. S~COB. U"t41 com~1et~0", return to the
e.l1ina croo"em, t~e" use S.CD~ t~ de~ueue the

of

d,.fv.".

Set the Oce~ fnd4c.tor i" the ODe .nd check fo~ 'n~
.OPEN. _ If '0, ,..cen ~"e drive" to, f'l1 the
inter"" buffer, IQ.tn ".tu""i"Q to the croa"em unti' done (1). Slve I verieble eointe~ to t~e date

~ut

.- ............ .
1. T".a {niti.,

f4" 4s omitt.d, how.~.r, fO~ Rt.r~t"alw
tYDe device • • ue~ es the console ty"ewrfter 4~ o,.der to ~8ke
Iny fncut echo corre.e~d to the aeeroe"tete .REAn.

i" the DOe
9.

e~,e~

D~ive~

wo~d Cou~t.

the DDS Buay Flea

8~d

teke

t~e "o~~a'

SYatem

!xh.
'~Om ~he e~eeedi~o oa~ao~~oh .t ~a" be aeen t~at t~e i"itial

ehe~k."~

a"d aettino-uo of t~e 1"ter"al buffe~ acc1v to a"
,However the .~P~N c~oeeaao~ muat t~e" he"d ove~
co"tro' to the ~e'eva"t f11e-ma"aoeme"t ~odu'ea to comclete
the4r_o~erat1o"s.
It t~er.fo~e orecarea a" aecroer4ate f"terfaee.
Thua fo~ the "or~a' ftle-or1e"te~ devfeea C04ak
a"d OECtaoe), ateo e above fa followed bvi
d~v.e...

C,aim a t6-wo~d ~oe exte"afo" ~uffer k"ow" aa a FIB
fa.e aeet.o~ 4.3.2). C'ea~ ft a~d link it to the
1)08,

8.

Move the oriafnal eel' arOume"ta to te~oora~y atoraae 1" t~e laat two worda of the FI~ and atore ~~e
Ooe" tyoe code a'ao i" t~e FIe. Save. OECtaca '"dieator i" the ODB uai"Q driver 4"te~faee tab'e 4"fo~",etfo",

Set Reo1stera aco~oc~fate'y a. fe110w.i
R0 • Addreas ~f t~e ODe
Rt • 'ddreaa of the ee,' oe~e~eter.
a • • tored t" the FIe
R2 • ~ddr.a. of t~e OCe" tvoe code
t" t~e uae~ F.'e-bloek
R4 • Addres.
t~e FIe.

of

'recare
the
8corocr1ate
EMT
ea"
to
t~e
i.'e-ma"eaeme"t ,OPEN routine r.auf~e~ and eel' ~t
C.ee aeetton 4.e.l'. Cl)
8.mfl~rly for a'Que"tia' ~aQ"et.etaDe, the
\oeeu r I

.....

~.--.-.-.-

fol1owt"O

steos

Si"ee t~t. ~ey re~u.r. Swao 8ufi.r ~e'easft the eall ca"~ot
be made from w4t~1" the Swac Buffer. He"ce deoe"d."~
UDO~ the eurre"t 'oeat1o~ of the .OPEN ~~oeesso~ as .~own by
tt. U.aae COU"t C.ee s.etto" 2.3.4), the fo"owing seQuence
.a stored f" the OOB (Byte Count & eheek.um) - a"d 1s -e.e.
cuted from there.
1.

DECA MIB,
EMT

43

,RlSE SW.P BUFF!R IF NEC.
'CAll FOP C4' FOR FeR)

Set R.af.t.,.,
~C!J

IU
R2
R4

•

••
•

••

fol10w.i

_dd,. ••• of th. ODe
Add .....
th. e." c .... "'et .... C. " DDB)
Add .. e •• of the u.... 'fl •• bloek
• dd ..... of th. d .. tv ...

of

p,.ep.,. • • " EMT e,l' to th. ~'G"'t4e t.~e.OPEN ,.ou·
C•• a 'act to" •• 7) 4" '4m4'1 .. fl.~fo~ to thlt
.how" i" .t.D te I"d ~Ik. ft.

8.

tf~a

Co"'m.~t.1

Th, f.'e.ml".~.m."t ~odu', clll.d by the •• au."e •• d"e,.tb.d
4" _t ha. ';,.ec'd4"G PI .. la .. IDh., ~av b. 1ol~e{'f • "to the SwaD
Buffe,. 1" th. nO""'ll WIV. MO,..ov.,. InY .OP!N ,.Iaue.t ••
14k,'Y to."I.ylt in t~, fy,.the,. e.'l. Th,,..fo,., 4f th, oen.,." r~ytt"' f. tt.llf u.fnQ ~h. Swao Buf~'" .ft e,n"o~. b.
ell •• fffad , ...... "~,.Int. Thf. o,.ob"m doas ~ot e.f.t ff ft
f. mId. ,.a.fdent, of cou,..a' n.v ... t""'a" tha otha,. o~. "ot.
,d u"de .. ~INIT ~tfl1 ,.'~.~n._~ thlt ~i el~'~ to th. U"D .. O·
t.et.d S.GTB sub .. outt", fo,. buff.,. alloeltfo"_ Th, ... ml,.k.
mlde .• ~ t~a ll.t D... ~o ... ~h of ,'Ct49" ~.2.t.t th,,.,fo .. e .• Dp'v .1.0 to .OP!N, '.D.cf."y .fnc. 4" ft. el.a 4~te .. medfate
p,.O" .. ,m "'c"" ean ba m.de.
(RIIIN)
.,

m.,".

u""

••

a

By
of •• R!.D ell', the
,.,a~ t.
li"e of date
I' A~CII ch~"let',.. 0" bt~',.V wo,.d., wfth 0,. wfthout fo"m.ttin". A. noted ,I,.'f", the 'f".-.4ze mev be set UD to
•• tf.fv. the "~ut .. am'~t. of th,_o .. o"',"' o"'y. The .READ
p"oe ••• o,. "'1'~t.4~' I~ f"t,,,".l buffa' whfeh ~Ik"
e, .. e of
~."v4"g_ d.~1~. p,ovf.io~..
At .•• eh .RfAO eeau •• t, th." ••
fO".,dttl fpom thf' buffe .. f. D,oee"ed ,"d t"a".fe"~e~ to
the U"" 14", •• ,D.efff,d by the D"O""I~ CI byte ,t • tfme
fo .... ",D14efty t" ." mod,.). If the fl'lte,,",' buffa" •• \
amDttad. tha d"1v, .. fo,. tha daviee t. e.l'ed to De"fo,.M tha
nace"I~V "f.,1 .nd in,o,"e ... ', thf. oeCU,., .m~.dt~t.,y f"
" •• dt".,. fo,. th. l'I.xt "'Qu •• t, avel'l t~OUQh the c"OQ ... ~11
n.,d. I~e cu,.,.."tly •• t •• fted. Sim41.,.,v I. ~WqITE ,..ouest
,n,bl •• the u•• ,. to ,uDclv 1fl'la. of data whtch .,.. D"oces.ed
i" lfk,.m,"I'1,,, ,nd .to"ed.f~te"""1Y untfl • full buffa,. c,~
be t,.8"lmftted to the device.

Th, o"o""'m mu.t 140D1V f~fo"M.tfo" o~ t~e 1t"e to b. t".~Ifer,..dl 4t the,.efore .ffeetfvelv .eta UD • L.".·b1oc~ fo~

~.

PAG!3-21

th •• eUrDO •••. I"."o~~e1 u.aoe, the b'oek 4mmediatelY o~o­
c,del the ,14"e 1t cont~oll .1 a heade~, this ~I n~t eSlentt., e. e .o.ctel fo~met COumc) De~mit. it. bein~ detached.
Th.
fopmet
of the b'ock •• fu"Y delcPfbed f" the
ppoQPamm.~I, Hlndbook, toa.thep with d.tl."
of the diff.,.nt t;o •• of opoc ••• t"O Ive."b'.. FOp '~fe~.ne., 4t fs 11'ustpet,d et fiGUP, 3-1~. Bp •• fly, it e"ow, the US"
to
De •• m,xtmum ,nd ectuel ltne.,fz •• and .o.cifv the tyoe of
.poe •••• na ,.~u.p.d e"d '"Iel,. the .READ/,W~IT! DPoe,.so,
to P.tup~ .tltU' d,te ~h." the tp.n.fe, 1,.ccmolete. The
Idd, ••• of the b'ock •• oiven I' a ol'emet., in the ea"1"a
.e~uenee
fol'ow.,

I.

MOV *LINE,-(SP)
MOV *LNKBLK,.CSp)
!MT 2

.PASS LINE ,'•••
•••• LINK.SLOCK ADDRESSES
.CALL .W~ITE (' 'O~ ,READ)

Pr-oe.i.4nQI
Mlny ef the ooe~ltfo", " •• ded to .epYice 'tthep ~READ o~
.WRXTE are eommOn t~ both. Fur-thermo" co"cu~rent i"out e"d
outDut
hfah'v 'ik.lv. A .fnol. DPoe.,.er th.~.fope ha".
dle. both re~u'lt. with it. o"e entry o01nt stop.d in the
two eo~p,sDondf"o l'Otl f" the MRT. The ~1.".tr'lm of thf.
D'OC ••• op o.pfopml the eommo" oD.'ltton, it ca'"
lub.idiapy
,outf~" ~o provide.th. functto~. u"fau' to .~E1D or .w~IT!.
To de th4. a"d avoid the need fo~ eheck1"; whieh poutin, ••
~o b, e"'ed eyer-Y time, e co-pouttnfnG t.c~n1qu, i, u.ed ••
follow ••

.r.

The functi~" e. shown ~v the EMT cede (2. .w~ITE,
• • .READ) upon fn1tie' e~tr-y (~~ t~e fU"ctfon adlusted by 4 on reea" f~om dr-.ver actto" to a"ow
fo~ ver-iation. It th4. tim.) 1. the basf, for the
ecmputet;on ~f an aDo~oD'i8te addre •• 1n a b~."eh
t.b'e w~ich f' then ee".d by e "o,me' J8R PC,XXXX.
CT~ts PP'ev4de. t". c~.ek fop the u"feue ,out4"e re-

auf~'d).

Wh." the uniQue routine " •• d. to ,etuP" to the mainltr •• m, .t de ••• o by JSR PC,'(Sp)+. Th4. D.'fo~m. a. RTS PC 4" t~.t nroce •• 4"o eo~t4"u., f~o~
t~e
add,e" •• ved on the .teek by the or-ta.",1 JS~
ee"
."d removes t~e edd~e.' f,em t~e .tack.
~owev.' 4t il re~lae~d bv t~e ad~re.s at w~4e~ U"taue 0~e,at10n • • ,. to be ~e.umed.
S1~1'e~lY the mei",treem .ff'et. t~. r •• umct10" by
JSR PC,'(SP'+ ."d ,oD~oor •• te bra"e~ •• in bot~ t~e
m.1"str.em e"d un4~u. poutt"e. eomo1,te a"v 'oo~4no
n.e •••• rY. Th~ • • ~t.r the first e~eek, t~e correet
s.au."ee 18 me4ntef".d natu,."y thouG" t~e ad~~"8

PAG!~2a

~.~ed

t~ • • t.ek .~d ~o fu~t~e~ e~8eki~Q is "e-

0"

c •••• ~v •. Oee.~tu~e. f,om thf • • eaueoce er.
D1f.hed, f"
d~e ••

ae~.,."

bv

adJu.tMe~t

aecomof the .eved .d-

The m.~~.t~e.m D~OC." ~. fl1u.t~ated~" f~au~e
b •• 4cI,1v fO"ow. t~e outlf"_ Q~ve" below'

3-16.

It

1.

S.ve the u.e~ Lf"e .~d Li"k-b1oCk ed~~e.aea f"
ODe .~d ~emove f,OM the atlc k

the

2.

Pe~fo~m th, fol'owt~a oheck. 0" the ~eeu!.t v.,tdfFo~

tv.

f.f'u~e

4~

efthe~

(F011) - •• e eh.Dte~ 7

'.

e •• e ca"

~u~et.o~ .~d Mode .eceDt.b1e fo~ t~e dev.ce e.wtth the dlte •• t, u.4~o dete 4~ the

'oetet.d
d~ive~
( •• Q.

t~te'feee teb'e
A Du"eh e.""ot

(.ee

~eld,

O~4"t.~ h."dle b4".~Y det.,

b.
l.

••

e~~o~

I fltel

~.v"id ~OPE~
f.'.-.t~uetu~ed

ce"
D~ev4ou,'y
deviee.,

.ect.o~

3.l.1)

"o~ es" • 'f~e

mAde

for

e"

Pr.D.~e the DDA fo~ the tr.".fe~i

••

Cle., Byt. COU"t & Check'um.

b.

Ve~ffy thet ." t"te~".1 buffer f! .ttached to
the .DDB~
Jf ~o~e, beceu~e of ~o .• ~P!N 0" a
"o"-ffle device, elaim O~e ~ow ."d li"k ft to
the OOB (.t.~t .dd~e •• & .fle,. (if "o~e ••
• ve.,.b,e, ~ec.ll the D~Og~.m v4. the uaer
L.~k-blo~k ,rror .dd~e •• o~ eal, 8 flta' e"o~
(F0m7) 4f thf. f. 0).

e.

eol,ect the ve~~'bl~ DO~"te~ ~o the bu~ier
,.ved f~ the OO~ ~rfver Wo~d COU"t e"d ,eD'8ee
ft by the, buffer ."d.'dd,e.s eomeuted f'o~
.t.~t & .ize.

Set

~eftf.t.ra

w~er.

(b •• ed o~

".e •••• ry)

deta D•••• rl bV
to ahowi

R0 • ad~,e.a ef
~1 • add~ •• s ~f

t~e

oroQ~em

the Bvt. COU"t 1" the DDB
the_"e.t ~O".to~ buffer.
byte (3 ff buffer emotv)
~2 • Addr ••• of the BVt8 COU"t 4" t~e us.,
Lt".
R3 • ~od. & curre~t at.tus (mav be
Iccu~ul.tfv. dur1"e the trl".fe~'
R4 • Addre.s e~ t~e ~'xt byte t" the u.er
Li~e

PlG! 3-2~

R5 • CT.mDo~a~y W~~k •• Daca)
~.

~Il' t~a U"~~u@ ~READ/.WRlrE reuti".~
f" tha o~av4~u. ol~ae~IO~ 4" o~d@~ to

a. ~"d4cltad
eO Mol@te i"itil'.Zlt10n Ind collect the ff~.t rl.tl byte.
'o~ .,, dltl modI •• eou"t the byta I"d ICcu~u'ate •
ehack.um 1" the DDB (t~. lett.~ fO~ .f~o'1city,
whan it i. o",y ~aal'Y n.c •••• ry fo~ f~~M.ttad bfnIPy).
For ASCII model ;" Dlrt4~u'ar, st~io o~
Ganarat. bit 7 (th. oa~ity bit) withf" t~. byte a.
~.eu~red'
fo~
jq~Matt.d
v~r$4~nl'
•• t
a"
!nd-of.Lin. CEnLl .witeh Chy ela.rfno the user Li".
Byt. Count) 4f the byte (8 • li".-delimiter.
R.ea" the u"fau. ~out4"1 to como'lt@ the Droe ••••
4"G , stor.ae of the byte.

If "OW at the ."d of the Monitor buff.~, ~h@e~ if
'" E"d-ef-Date CEOD) occurred at ~he ~r,vfou. dlvfc. tra".f.r. In thil case, .et eooroorfete stetul
f,ag, in the u •• r Lf".-bloek .nd r.ce" the o~ogr.m
I, 4n .t.c It. .'so c'alr tha vlr.lb'~ co.nte~ to
fore • • ub •• auent IttemDt. to f1', or .~ety the
buffer to mlw. thf. eheek 1014".
8.

Oth.~w4Ie lIve t~. curr."t OOf"ter

valu.. i" the
or u.a~ Ltna-blec~ a"d_ oraDer. to c." the
9r4ver. I"_~.rtfc~'.r, for. fi'e-structur.rl devfc. a. deff"ed 1n chloter., d.ter~4"' the ne.t
d,v.ee blOCk (~he rout4"e to
thf. •• ,~b.dded'
ft, ge.criot1e" how.v'~ has bee" 1~c'udep in eon.
t,.t in •• ctfo" '.~.2). C.,1 the ~rfv@r vfa ~.CDB
end return t~ the ~roaraM u"til rlo"e~
OD~

de

0" reea,', deQueua t~. driY.~ via S.CDQ, Ch@ck for
~,vic. Dlri~Y failure or FOD CI. Ih~w" by I" une.e4~.d word COU"t r.tur".~ by the
driv@r) and set
008 f'lg. aeeo~d4nQ1Y.
(Aea." if ~ ff'e-.tructurld
dev1e. fl b.inG u'.d, .om, cl,ln-uo end eheekf"Q 4.
".c •••• ~VJ thf. il 11.0 cover.d 4" sectio" '.~.2).
~,.tore •• v.d oofnt.rs by
retur"fno to steo 4.
'orc@ retur" eft.r inftia14lat1o" t" the "e-t steD
to o~ft furt~.r byte tr.n.fer .t t~f8 stege

If d.v4ce ectio" is "ot Yet reQuired, or ~as bee"
cheek fer t~. e"d of the uSer Line blled
Uo~" .fth.r the EOl .w4teh m."t10n,d 1" It@o ~ or
upon th' 8yte COU"t 4" the ODe b.4ne .~u.' to t~.t
.u~p'ied by th@ o~ogra~ (u"fOrMetted ~Od@8 o"'y).
If not I'.", r~c.l' ~he u"iQu@ rout4~.~ fo~ fu~t~.r
chee k 4nQ Ind ee'1.et40" of the ".xt byte I. "eee.II~Y' w1t~ • retu~" at Iteo 6.
co~p'et.d,

PAG~··

It.

30

W~e" t~a ~~avtou •• te~ s~ow. tha t~a~.fe~
4. eomelet., .at .tatu. f"fo~~.t40" a"d_byte CO~"ts t~Jo
the u.e~ L1~.-b'~c~. S.v. the buff8r D04"te~ f"
~"~ 008 a"d elea~ ~t~ 8u1y. ".a •. qa.to,a tha .aved
e,oo~a~ ~aQt.te~. f,om .~ othe~wf..
cl.a~.d
.taek
a"d reeall the ~~OQ,a~.

From the above 'aQu,"e._.t e." ba •• e" that tha u"fau. rout'""
.re c,"ed fo~ four ~uroo.e. a"d by d.f."ftto" th •• a
dfff., for ~RfAD ."d .WAtTE I
'.

I"itt.' ••• t.e~ e" f1~.t ."try .~~ eol'ectto" of
the H ~.t byte

b.

Comel.tio" of 1"dfvtdual byte arec •••• "O

c.

~ •• "itf.,f •• t1o" .fta, d.vic • • cttO"

d.

'urther fOL eh.e~f"a ."d co"eet.o~
aue"t byt.s

• 1".
detafl.d t" figu,e 3-171

~or .REAO. the ••. oc.~.tfe" •
furthe~

1.

outl4"ed

~e'ow

For. ffrst i"1ti.,f •• tfo", the followi"a
e.'I" •• d outl

L.",

ef

.ub •• ."d

.re

ta.k.

are

e,

S,t Ute. ~.er
8y~e COU"t t
t h. ....aid ilium
.tlar 4f "o"e f. ofve", r.tu~" to the Dreor.,.,.
wtth .~ 4"v.'fd '4"e er'o~.

a.

If the 1"te,~.' bu~ier 1. e~Dty c•• ,hew" by AS
• 0), ~.tu~" to .teD e t" the "It.1".tr •• ~ te
c.u., a fi" bv the dr4ver (01" to .ee ." !OO
.et i" • prevfou •• READ)
For form.tt.d bt".~y ~ode., look for tha ffr.t
"0"-0 word (with t"terma~i.t. buffal" l"eft1' tf
"ee •••• ry). If tht, 4. "et t •• raQuf~ed by
the .form.t, ,eca" tha D'Oal"a~ with for",.t aI"~or i"dteatto".
Otherwfsa .tere the Byte eOU"t
fl"Om the date t" the u.a' Lf"a-b'oek.

e.

d'

Col'.ct the f4r.t data byte for croce.sf"Q.
.

. .

1_

further bvte.oroce •• f~o fs ,eaut,ed fol" bf"arY
data, .0 .tor. the byte a"~ I"eeall tha mef".tl".',".
~o

PAG~

.3-31

For 4SCII deta. ~oweye~ the f01'owfno addft'o"e'
stees ~ust be teka", refo~e t~.s eceu~stl'.
a.

Ignore RUBOUTS 4'" forMatted mo~es
oe~4tv.
if neees.erv retu~n.n~ the
er~or indicetio", to the Dregrem.

e"d check
eCDPoor4ate

0" retu~n fre~ d~iyer ection, the me.nstree~ ea'" be

recel'ed im Med1atelv for !Ol ehee~f"'Q u",'ess the
11"'e has alreedv been fil'ed in ",o~~al fo~metted
~o~es a"'d exce.s data 11 befno dtscarded.
t", thfl
eale, e 11"'e c04~ter peset 0'" the bes.s of "'4ne
start + "'umber of bytes ~ead" would eorruet the area outside t~e 14",e orooe~, he",ce re.et the DO."t.~
to the last actual bvte of the ,tne before reca"

If the Bvte Count i" the DOB end 4", the use~ l4ne
~re
eaual 0'" petu~n fer edd4tione, ~Ol checks, the
fOL sw4teh 's set for fo~~etted bt",e~v ocepat40ns.
In. ttd. case, vartfv the Checksu,," and transmit en
eeoropr1ete error to the Droara", a. ",eee.sarVI return to the ~ef".tream to recheck for buffer e",d.
In e" other case. of peeel' fpo"" the me4n.t~eam,
4t. is Do,sfb'e 1", forma,ted ,,"ode. that no fu~t~ep
room e.tlts in the user Lt"'e a' show" bv t~e me.fmum Bvte Count. (beceule of no 4SCIT '4"'e delt",~t,r o~ too 10"'Q e bj"erV line'. ~e"ce cheek fo~
this e"d if there fs no oPob1e M, raturn to Itee 1
to col'ect the next bvte. Otherwise return an inva'td '1ne e~por to the uler e",di
'.

In Norma' ~o~matted Modes, let ye to over'ev
the lest ,4ne byte e"'d continue from ateo I.
In Soec i al modes. reca" the croore'" ('o~
matt~d bi"arv •. the "vt, Ceul'lt ts let to
the ful' lfne 'f~e to indicate how "'env
bytes MUSt Iti" be ~ead'

For .WRtTE, the u"ioue oDerat40"I a~e as fo"ows
figur.3-18) •

.....
---- .•...•
1. If an !OL is

(lee

a'so

seen 1" fopmatted ASCII modes • . the ""e1"Itream eheck on tha a"d of the Mo",4tor buffer is f", fact om4tted~
If the devica is a term.",,' the ooerato~ mav ,",ot be
~eedv to inout more data a. needed to refil' the Mo",4tor
buffer. ~a"'ce 4", opder to Das. tha alreedv co~~1ete date to
the DreQ~am es ouickly as Dossible, the "o~,,"a' oractfce of
m.1'"'t'1~1"'Q date i" the bUffep at a"
times may be overlooked fn this ease.

PAGE 3-32

i.

!~4tialilatio~ o~ f.~lt A~trv ~ecufrel t~e

fol10w-

f~o

Ictio"11

a.

If"o 8v~e COU"t il ~rovided ~y t~e D~oara~,
~etur" wft~ I~ i~vllid li"e e~~o~
"dieate ri •

b.

If the buffe~ hal Just bee"
eOl9lo1etely

e.

If I" EOO WII see" 0" a orevfoul .wRIT~, recall
t~. Dreara", to I~OW t~fl.

ela.~.d,

lero

it

If a for"'atted bf"arv tra"lfa~ ia recuested,
Itore a" 4"terl.~e ~aO (8 "ull., f011ewed bv 1
(for bf~arv mode' a"rl the uI@r ~yta COU"t f"
the 1"ter~al buffe~, Drevfded sufffcie"t ~oo~
Itfl' ~e",a."s. If "ot( reeal' the I9I.f"l~ream
at .teD 7 to e~Dtv it first. Also i"ftfalfze a
cheoklum to f"clude the data JUlt atored.
e.
2.

Collect the byte a"d for fer~atted ASCII ",odel,
remove a"y oaritv bit. Save tha u.e~ Li"e Bvte
COU"t Clee 2 below).

~or a"
mod,a ~ut for~atted ASCIT, "0 further
byte-Droeel.i"o is "eaded, merely .tore the bvte
I"d retur" to ",ai"ltrea",. otherwile the fO"owi"o
cheekl mUlt be earried out befere thili

a.

If a" !PL termf"ltor was !ee", cheek if the
Uler 14"e fl emoty.
If "ot a"~ the mode tl
Nor",a', restere the slved user Li"e 8yte eOU"t
a"d Co"tf"ue.
A1IO if at li"e-e"d, foree out out to a ter~f"a'
device.

e.

Provided the~e .1 ~oo~ t" the i"ter"al buffer,
~o,'ow
~orilo"tal TAe wfth PU~OUT a"d vertieal
TAe er ferm-feed with "ul1s.
Otherwise force
eutout 14 rlt.

3.

To re1"it4a1.ze after a dev4ee trl"sfer, c'ea~ the
buif~r u"'els a".EOO was .~e", i" wh~eh ease reea"
the oroQra m al 4" 1.
~or
th~
for",atted ASCII
mode.,
Derform
the
aetio"1
"eted 4~ '-(e).
Otherwise retur" to the "'a4"stream.

••

If a fo~matted ~1"ary 11"e has _bee" eo"'~'etad,
stere the ehee~'um i" t~e buffe~ 8"d retu~" to
check if the buffer 1, "OW fu"
fo~ outDut.
Otherwi.e cel'aet the ~ext bvte ~"d ~eoe.t f~o'"
IteD ICe).

. PiG! J-33

CO"'ft'I'~t.1

Th,_.~EAD/.WRITE D~OC~IIO~ ~etu~"S to t~e ~~oo'a~ w~e" ~eld
UD fop a device t,.".f.p a • • ~OW" at .teD 8 of the ~ai"st~e­
.~ .,Que ... ce.
Th, "O,ftII.' ,eau4,eft'le"t th.t the e,og~.ft'I De,fo'ftII . • • WAIT b'for, 'cc'l.f"~ the 1.~e t~e~efope.aoD'fe ••
I" this c ••• it ,1.0 i. i~De,at1v. th.t the Ule, Li"e-b'ock
i. "~t Ih."a.~ b.for •. th. t'."lie, 1. k"o~". t~ be cOft'lo1ete
bac.u •• ~of t~e 1"t.~"'.d •• t. d.t • • to~'d .~ 4t~
0" coft'loletio ... ,_it •• the DPOQPaftil's pe.Dol'Is1bil1tv to v@P4fv the accu·
,.cv ef the tp ..... f.p bv ' •• ft'l1 .... t10 ... of the .tatUI ,etuP"'ed
bv th. MOl'ltto',

B•• a~" of .t • • fl., RWN e.l'I"ot be brouaht 4"to t~e SW.D
Buff.,.
,'though t~fl could be effected al fop oth@p poutf".. bv a... oveplav D~O~' •• , t~tl _ wou,~
ft'Ie."
t~at
cv would be s.c"ftced ft'Iakf"o ft i~Do.sfble to D'O~
ce •• ,ope th." o"e "auelt at • tf~e,
t... the case of
.RI'D/.WRtT~
thfl fa .p",ew~.t u... r •• ,fltfc. !he ~.tupeof
~h. _'o~'llf"o f"vo'ved. teo doea ~ot le"d ftl@'f
to 11ft11D'e
oy.,1.vf"o .a ft i. "ot .taue"tf.'. A" .'te'l'I.t4ve ",.thori
~fght be to ~ •• the Swa~ 8uffe, fop, s.v, the "'.1"lt~@.ftII ."d
c,.~'" e .~e~.,et. ~uife, fo~. ule by t~e u"~Q~e poutf"es • e
fe.14bl~ ao'utfo" I,nc',the c~·pout.ne ~.e""'feue cen b. aimD1v .d.eted to ~~ovid. ft. However .Qetn .1z~, DaPtfeul.~lv
with the .dd4tfon ""d.d to co"tPol the extra oee,.tto",
DP'V."tl the adoDtfo" ef th.s met~od. Ther~fope fo~ the
D,.a."t. the .READ/.WRIT! DPoceSler mUlt fo,~ o.~t of the
D"ft'I.".~tlv re.fd'"t ~o~.to' - , ... o~ e"tfp.,v u",latfafaeto,v
cO".t~a."~ whe" ",Olt e,og,a~1 wf'~ oPobab1v reQuf~e ftl ae,vicel too f,eauentlv fop IwaDof"g.
With p,aa,d to qWN
" •• "t~."ev. 4t ftilu.t b. "oted that ft ",av .'so e." the u"~pote~ted.S.GTB ,out1 ... e. aa d~seu~led u ... der .rNIT (seet10"
3.2.1.11 ff the o'oora", do •• "ot eal1 .OPE~ f',at.
'Qa1 ...
th.. .~ "0 D,obl.", f" a .1~Q'e-u •• ' sVltem, ~oP peal-time
OD'P.ttO"I, the It."dard UI. of .~PEN ca" obv4ate it.

,.·."t" . .

eelS)
The .eL~SE ea" e~ab'~a the usep to i~for~ t~~ ~o~.to~ t~at
el}I'l"e"t, tPal'l.fep ooe,.~t.o"l w4t~f'" a deta-set a,e t~ be te,~4"ated.
Itl 0,oee.84"o 4"e'ud@s t~e out~ut of a !'I v data
.ti', 1" the i"te,"al buffe~, a ... v ... eees.al"v I~ut-dow ... aet;ol'l
0" a ... o~.ff'e~dev4ce te.;. 'u~eh t,.il,,., 0" d.,.eetol"v elea"-u~
0" • f4le-ol"1e"ted deviee a"d f1l'1a"v t~a re'ease of
the i"tel""a1 buffer. T~e dev.ee dp4ve, a~d t~e DOB ~o~eve,
,e"'a4~
1~ me~o,v, 14nked to the user eI"0~'5~.
Thus one,a.
.
tio"l e!" be ,.elu~ed bV a "ew c." ~o .~PFN. A~a1", fop t~e
.aMe of d,v4ee-1"'deDe"de",ee, ule of th41 ea" il reeem~e"d­
ed, eve~ t~ou~~ it i. ol'llv eale~t.a' fo,. f(le ooe,atio"1
.

(.inca • • RLS! ca"
D.rform • • CLOSE cD.r.t4o". 4" eth.~
c •••••••••• ct4on 3~2.1~3)(1).

~OV

*LN~BLK,.CSP)

E~T

l'

'PASS LI~K.BLOCK ADDRESS
'CALL .CLOSE

p,.oe.~. (ncu

Th •• CLPSE crcee.,or t. outlt".d .t ffoul"' 3~lO.
,. w4th
.OP!N C••••• ct4on 3.2.2.1), .CLOS! c.," .~. handled 4n4t1."v by • Q.n.~al reut4~. fer_." device •• This ~.y th.~
be fol]owe9 by. c.ll to the file-m.naoem.nt .odu1. FCL 4f
the device i. f4l •• ort.nted. Th. o.n'ra' ,.outi~e u... the
.eQue~c. a4ven b.lowl
t.

C".~

the c.l, Da(.m.tel" from
d,..v.r add,. ••• f~om the OD~.

.t.ck

.nd

g.t

the

Ve"ify the •• 1st.nc. of any v.,td d.tl ".~.'n.no 4n
the t"t.,.nal buffe~ 4f the , •• t cD'I"atio" D.~form.d
w.s eutDut (u.ino the '.st va,u. of the v.rt.bl.
buff.,. Dofnter .ta,..d t" the DDB O,.4v.r Word Count
by the .READ/.WRITE D,.OC"'O" C••• l •• t •• ctton»).
the
ca..
and
the
device
••
check th.t no EOO h•• be.n s •• " the '.st block
.~r •• dY b.en O~tDUt
4" thta
e.se.
Fo,. ,tn_.d fi'e. ('e ••• etto" 4.t.l), •• t
the , •• t s 'ink & the DECt.D' tl".n.fer df,..etfon.
If

such

••

f41 •• o,. •• "ted,

h..

e."

the d~ive,., vf. S.COB to action thia last out(1) and r.tUl"n to the e.'ltn~ croQ".~ until
~o"e.
DeQu.ue t~. dr4v.,. by S.COQ 0" r.ca".

cut

C'ea~ the ODen.indicator in the DnB St.tu • • "d
fe~. fi'.-at~uctu,..d d.vtC' e.e. ne.t D.,.a-

cheek

.. _- ... -- ......

The 'a.~ eutout i" f.et i • • ful' buffer - the , •• t va'.
id d~ta follow.d by nu" •• 0" f41e·o~f.nt.d d.vie •• , th4.
may m.a~ in the werat ce •• that t". ,a.t block of a lfnk.d
f.'a is .,, nul,. A'though this is w.steful. it avoids the
".eeas1ty of ~e·aece ••• "g the DI"ev40UI block to chanQ. ita
'ast 'i"k to 0.
1.

-~

.".~'"

4 f .e)

~.

~o~ ~e".ft"

dev4c ••• c." t~. dfllfv.~ vf, !.CD~ if
ft. eo"~.t~. , CLOSE ~out."e .s 4~dfc,t.d bv I
Iwftch t" ftl .ta"d.,d 4"t.,f.c. t.b'. C••••• etio"
3.3.1).
4Q,f" ,.tUfII" to th. e."i"o e,oO~I~ u"t1'
co~~'.t ••

7.

U.f"o

th. .tl"d.,d buff'" liz. sto'ld 4" t"'a
d,!y.,.'. ."tafllf.ca
.
tlb'"
fII""S. t"'l ."ta,.".l
buff.,. te f, •• ce .. a, vi. s.RLa.
.

". C,E.4t•• ,•.

the DOB

~usv

Fl.a ."d t.ka the

u.u.'

.Vlt.",

•• "ot.d 4" th. ".t e''''~fII'O''', •• CLOSE c,ll 0" • d.t ••• t
u,f"o I f.,.-ofll •• "ted d.v4e. ,..aut . . . . . . ubstdfefllv c'" te •
ffl.-",." • .,.",."t ",edul.. ~V • • f",4",. ",.thod toth.t da.c"1b.~ .fo" .OPE~ 1" •• ett;" 3.2.2.1, th4. 41 .f~.ct'd w.th
.00flleo,.4.t. d.t. o •••• d •• fe"ewI,
~0 • Add ..... of

t"'.
th.

DDa

R2 • lddfll ••• of
,Ia
~3 • Addfll ••• of t~. d,,1v.,.
RA • 0".04"" Ooa~ tvoa cod. ~2
I" 'd~.tiO"' bit 15 of tha

I.t

'1 •

u•• , L1". Add,.p..s f" the

~O~

f.

OECt'De ",.,ka ...

CO",,,,.,,tl'

t •• a.j". ~e"~b.'.tv, ~h'
rem,rk. 1" th. '.It OlfllIO"'O'" of •• cttO" 3.2.2.1, ".0 aoo'v
to thA ~CLOSE ,.outf"l~
B.elu~, 8wI~ Ruff., ev,,,'avi"a

(BLO)
!

be ''''Ow'' f" c~.ot., AI th.t • u •• , ce" fII'.e,.ve ."
o"'v.fel"v adJae."t b'oeks u~o" • bulk-stofilaQ' "'ediu'" by fII.Qu •• t4"O th. ,"oc.tio" of • ec"tiauou. ff'..
Th •
fs oflloy4ded .s a "'a~"S Wh .... bv ~e ce" t""" ec• 8LnCK ce"
ee.s t"'~ eree ra"do""v,
The u.a.. 4da"t4ff •• I ohvlfe.'
block. ~v ft. f1181.tiv. oelft40" withf" the Arel. The ,~L~CK
~roc'.I~r tflll",f .... th. fIIeQu4red b'~ck i"., 'eeeifted dtfllectio" te o~ fro'" the "o,.",al ~o,,1to,. buffe~ ,"d th." a"owl
th. use" te ofllec ••• "' •• date df,..ct'v ." the buff.fII, ,.Ithe ..
th." .c'u •• ,_further u",,~ce.s'rv ",ove to 0,. from the user's
ow" Ire8, ~efor •. ,BLOCK 41 uled, the u.e,. "'u.t co .. ,..ctlv
OPEN t~. f41. 1" o"de,. th.t the Me"4to,. c." •• tlbl.,,,, 1ts
buff.,.a ,OPENU ."ow, bot~ ,..ed ."d wfllfte. ,O-ENI ."ow.
It wf"

'~Ia

ef

t"-

~ut 0"';,

0" c~m~,.t~o" .CLO~E mu.t a,.o be e.".d~

Althoua~ it wa • • ee"

in .actfo" 3.2.2, th8t t~e normal
t.vel e." be used for •• aue"t~al ~~oeessi"q of
'"Y tVDe of f11., the .ama does n~t a~ely to the u.e of
.BLOC~ for r."dOm .cc.... The ".ture of s.Que"tfal fi,e. on
bulk ster.o. d.vfe •• , described 1n •• et40" •• 1.1, would make
the ue. of .BLoeK too len~t~y • Droe.ss t~.t for t~e ore.e"t
ft h.s not bee" 1mDl.~.nted. Ra"dom .ce •••• of eour'e, 0"
oth.r d.v4e •• f' me."fngle.si w~ile the .~f'itv to use
.BLOC~ e.rhao • • • • m•• n. of .eQu."tf."y Droe •••• nc data
whh1n th •. Mo!'dtol" ~uffer m.G~t be. u•• ful, t~e s.'!e .ffect
c.n b. obt.i"ed bV .T~AN with very lfttl. e.t~ • • ffort by
the u.er,
H.n~, the
.BLOeK oroc.ssor onlv eceeets ea",
uoon co"tfguou. fi' ••• nd r'Jects .11 ot~e~s •• f"v.'4d.
RE'D/~AtT~

I

.

.

C.l11"o S.au."c ••
• BLQC~ .• ctu"'y D~ovid'l thr •• funct1onl. For ."out, it is
.uff1cfent th.t t~. us.~ r.Quests the block .nd t~e inform ••
t.40n 0"_ th., block .il r.~urned 10 that he c • ., ,proc.,. ht
CO"t."t, '0,. outout, ~owev.,.. the u.er m~st suoDly the data
b.fore it ce" be t~ansferr.d and to do thi.he must kno~ the
buff.~ ,oc.t40n .nd e.,. i" .dv.nc.. Hence i~ .ddition t~
READ .nd ~RtT! • bleck, a GET ooeration 1s erov.ded for the
ouroo.e~ _ To f~d~c.t. the funct.on and ,"ow the Mon.tor to
r.turn 1nf9rm!t10n, t~e UI'~ sucolfel a.BlOCK-b10ek. as 1'lu.tr.ted fn ffGur. l~2~ and d.ler1bed in ~ore ~etail in t~e
ProQr.m~.rl. H.ndboolc.
T~1s t~e" ~ •• n.

a callfnG I'QUenca ••
MOY

MOV
!MT

'BLK~LK,-C!P)
'LNK~LK,.(SP'

t1

fe"o~.i

,PASS BLOe~-BLOCK &•••
, ••• LrNK-~LOCK AOO~ES!ES
,CALL .qL"CI(

P~oe,slfnQ.

Th. leQuenee of oe.r.tfons in the .BLOCK croce •• or 11 Quit.
etr.fQ~tfo~W.~d'
thus
"~
4llUltr.tion
1~ neeeSlarv.
Ba.ic."y the followinG .teos are takeni
t.

eol1ect the addr •• s of the ut.r BLOCK-block end
eleer both .rgumentl from t~e stack by movino the
.ev.d Drogra~ ~.o1.t.rs down.
Move the Iddr ••• of th.

If

~o"ftor

buff.,.

into

the

8LOCK.blee~.
no buffer 4. let Un, no .OPE~ has
~een d~ne.
~.turn t~e a~DrODr •• t. er~o~
fn

.'10

the BLOC~-bl~c~ statu. and exit •• f~ stec 7.

"AGI!3-37

!.t~.ct th' buffe~ .4ze f~om

thp

.t."d.~d

d~4v.~

f~t.~f.e. t.~,. C.ee •• etfo" 3.3.1) ,~d ,te~, ft t",
the 8LOCK.b'oc~, If the ~eaue.ted fu~etfo" i. GET,
D~eC"'i",g i. "'OW eo~o1.te, '0 e.it
t", 8teo 1.

8'

the .~~OC( reou •• t by ~etu~",i~o the .oo~o­
... ~o~ flIt! 11'1 the BLOCK-b10ek It.tU. fo ... ",y
ef the fo"owf",o ""0"", ea'.'" t.ki~g '''' .-it ••
i" ,t,D "
~.J.et

4.

o~f.te

'.

Th •. d.vfee, i. "'ot fil'.lt~uetu~'ef, a. shew"
.~ f"d4eeto~ i", the ~~4v.~ i"t.,f.e. tab",

by

Th. fu",etfo" i- ,",ot ~EAD o~ WRIT~.

e.

Th. fi', "., b •• " 4"eo~,.ct'y oo.",.d, b ••• d
UDO", the OD.", tYD' eede •• v.d f~ the FIB C•••
•• etio" 4.3.2), 4.e. .OP~NU he. "~t ~~eeeed.d
READ o~ WRITE, o~ .O'ENI for REAn O",'y.

""'a.

t.,.

of the
The bloek ~.aue_ted f_ outside the
a, .te~ed .~ the FIB.(whefle b10ek.0 of the
fil. f. tha ff~.t e",d the '.st 4,
t"us
Le"'Qt"-l'
Ce~out. the ebsolut. b'oek f~o~ the it.,t .to~.d .'"
tha '18
.et UD the ODB io~ the t~'I'I.fe~ .~.e4.

Hed.

''''d

c."
'l'Id

the d~iv.' to .ffeet the t~.",fe~ vi. S.COB
retu~'" to the.u'" u"til do"e. _0'" ~etu"'"
aueue t~e d~iv.~ vfe S.CDQ a"'d ~etu~" a"y D,~hY
e,~o~ f'" the BLOCK-block ,t.tus.

7.

Cl'.~

I!.h.

d.-

the DOB Busy F"a ."d t.ke

t~e "0,~a1

SYstem

e.c.u •• of the 4I'1te,med4.t. ~etu~", the u •• ~ ,gai", mu.t c."
.~.IT b~fe~, ,tt.moti"o to D~ec •• s the buife, a",d it ~s a1so
hi. ~'.oo".4bfl.tY to ch.ck the ~etur"'ed er~o~ statu. to e".U,e
t'~I'I'fe~ ~'Qy1red ha. beel'l .ati.iact~r41Y ~_ecuted.
T~' .BLnc~ D~oe ••• o~ f. a'w,ys r.e",tra",t, whateve~ fts loe.tio",.

t".

3.2~4

So.c •• ' Oo .... tto"'.

Two furth.~ 110 fUl'lctfo" • • ~e o~ov.ded by the ~o"'fto~ to
cater fO" the f.ct th.t wh.,e d.v4ce-1I'1deoel'lrle"ce 4. g~"e~-

a"v f.a.4b1. fo~ ~O~m.' d.t •• t~'"lf.~., ee~tat" d.v4ee. ~..
~~.c41' co~tro'l w~fch.th. O~OQ~aM itaelf MU.t be
'owed to ml".oe ff the ule~ wt.h... Thul the .SP!C c.', f.
a ganer.' ~ •• ". bv Wh4ch the U•• ~ c." exeret ••• uch co"tro',
a"d th4a 4a dele~ibed f" .eetto" 3.2 ••• 1. It cen itt"
b.
uaed in the d.v4c.-4ndeoendent env.~onme"t beeeul. it .1 effectively I NOP if the devfee f" u.e doel not ~eeog"fl' the
control ,oecifted. Howeve~, in o~der that the uI,r ean .votd un".ees.a~v MO"tto~ e.", and fo~ oth.r Iftuatto"1 wh.~.
the o~ooraM m10ht ne.d furth.r f"fo~~.t4on on the a.lto".d
dev4ce, the .STAT e"" outltn.d 4" I'etton 3~2 ••• 2, ••• v.f'ab'e.
.

I'.

Qut~.

(SPC)

Aa not.d abov" the ,SP!C e.,1 fl • M"~' whe~ebV the u~.~
~.~u •• t
• d.vfc.-d~4v'r to ~.rforM •• !.~f,1 funetio"
which do.a not Oe".r."v ~eauf~ • • d.t.-t~."af.~ in the no~­
ma' •• na. caver.d bv the Droc ••••• fn the D~.v40u ••• etto"l.
~agn.tie taD' Rewind ••• tYOfc.' .x. mole. pete"tf."v a"v
dr4va~ m.y
eonta." a So.et., 'unetio" ~outt"., but th41 ,.
only aat~allv_ino'ud.d wh.n me.nino'u', .• fth.~ b.c.u~. the
d.viae . it.elf can ,.~.ct the funetion ~r it C'" be Ifmu,.t.d, '.Q. "thoUQh it fs not cur~ent'y im~lem.nted, • R.wind
on D!C~aD' fa not out of the.Qu.stfo". Thu. the .SPEC. D~O.
ce •• o~ O"'y call. the driv.r if the r o ut4"e.ta I •• " to b.
~r •• e"t ••• f"dicated t" the .t.nd.~d t"terf.ee teb'e 4" the
drtv.r ~.ee •• ct~O" 3~3.1.1). Howev., the r~utfn.il ~r.s­
."eedo.s not ".e.s •• r4lv m•• n th.t the driv.r can ,'w.va
.at •• fv the functfo", whi', th. maonetic taD' d,4v.r, for
tn.tlnca, e.n acceot a ~.w4nd ca"; it wf" net undar.tand
.ome so,c1,l operetto" to ao"trol a dtlo'av •. The .~P!C oroce •• or in ft. oen.'.' wav c.nnot discrimin.te. It tl th.re-(
fore tha relpon,fbi'ftv of th~ drtv.r to tonor. functionl it .
do', not r.coQnfze Cle ••• etion 3.3).
CI"

Ca',ing SeQu.ncel
Th. le.ef" funct~o" ~t~.~f i. d.ifned bv. ~o~.. • ••• o"ed
a' th. need art... frOM the ranQ. 0-255. Tht. code 4.
p •••• d .a .• ca"
e,r.me"ter •. In some e •• ea. the fV"~tfo"
.'o~. d.f~n., the u•• r's requ~re~.nt •• t" others, .ddtt40n.'
1nf~r~atie~4. needed to IUDPort t~e fu"ctton o~ eerhaol the
Mo"4t~~_ Muat
~.v. the. o~~~rtunttv to retu;" .tatUI dat ••
Th.p. ap. t~,p.foP' two oOI.fb1e c."f"Q •• auenees, t~e P ••
',v'"t on. fn •• ah ca •• beinQ d.ftned by t~e .eeeffie fu"etio"1
1.

If O"'V the function ne.d. to be
the a.p~u~.nt~

pa.~.e,

th41

for~s

~/

IIAG! 3- 39

MOV .eOCE,-CSP)
~OV .LNKBLK,-ts"

!MT 12

2.

,STATE T~E FUNCTION
'PASS LI~K~BLOCK A"DRESS
.CALL .SPEC

If 'UDDo~t i~fe~~.tfo" mu.t "80 be 'UDD1 •• d, t~.
Drog~.~ .,ts uc ~ SDecie' Fu~etfo"s ~'ock, i"~'.
trated at f4ou~. 3-21. T~4. eo"ta4". the codl fo~
t~e fu"et.o~ b~.fca"y I~d I"OWI a vI~tab'e 'e"Qt~
work-,Dlee as
of t~41 block
MOV
MOV
EMT

~ec ••• ary.

r~

CI.e, the

t~4.

1. the IrQume"ti

.SPFBLK,.CSP)
*LNKBLK,-CSP)
12

Id~~e ••

,PASS SP~·ALnCK &.~.
1 ••• LINK-BLOeK ADDRESS!S
,CALL .SP!C

Befort t~e cIl' 4' ~ade. the datl'et ~u.t of oou~ •• b. f~f.
tfa'.zed by .INIT to 'oad t~e d~.v.r into m.mory. I" qe".ra', ~owever' 4t .~ou'd not fol'ow I .OPEN u"'e.. this hi.
bee" ~eaat.d by .CL08F.
PI"oel •• 4"al

"0

Thl .~P~C Droee" "e.d.
."u.t~at4o", 4t
the .imDle steg. listed belowi
t.

~erely

follow.

Save t~. fu"et.o~ l~aUM.~t 4" the DOB CU •• ,. Lf".
4ddre •• ) a"d cl.a, beth .,aUMe"t. f~om the .tlek.

.1

thl ~.Q~-o'd.r byte of the function argU"'t"t
the u.er ha. gas.ed only the eode. t~f. follow.
frOM the a"otted code ,anae a"d the fact that a"
address MU.t be a,.at" the" 411. Hence eheck t~ ••
byt •• Move, eo~ •• o"'y .,au"'e"t,to Ryte Cou~t .~
DOe and reDlace it t" the User Li"1 Addr ••• wo~d by
the add~e'l
ft. new locatio".

If

~,

of

!Mt,act the driYar Iddre •• f~o'" the no~ .nd verify
the Dre'l"ee
a SDect., Functio", routine t" t~.
dr.ver fro'" th, flaa i" ft. i"te,faee tl~'e.
If
none, exit as 4" .tlD S.

of

Otherwile cal' the drfv.,. vta S.CD8 A"d retu~" to
th, D,09ra,,,. unttl done.
On returl"!, d.aueue the
driver via s.ceQ.
'.

Cl,ar the ODA BusV
~. 4t.

~l.a

a"d take

t~e

I"!nr",al

SVlte'"

Co","'e"'t ••

If

the d~.ve, fs e.l'ed, th~ cDe,.tto'" at .te~ 2 .bove ~ea",.
th.t th~ U.,P L4",e 'd~~e.s i" t~e,DDB .lw.ys eo",t.4" • • '" addpe •• Dof"'t4"'Q to • Soee4.' Fu",et40"'. Bloek.. f.~ as the
dr4v.; .s eO"ee~"ed - eVe" if t~1s ~ePe'v eo"s1sts of • • f",o'e werd ~l~ewh.pe f" the,DOB. T~. dP1~.' ea", thus as.u~e a
,t."d.P9 oroeedup. 19P extP.~tt"'a_the code
eheek1",q both
th.t ~h • • • • • PoPoDP.ate to 4t.elf e"'d th.t t~. ,.Qu4,.d
"u"'be~
wepd. follow (th. h.G~·~vte e "oted f" .teD 2 .Q ••
4" afve. to eo"eet , •• ult) •

."d

of

• SPEC .i fullv ree"t,e"t ,eQ.pdle •• of it. loe.tfo" & u •• qe.
However d.vfee .et4c" ~.v be ",e.ried, he"ee f~r •• fetv the
.roar.m .hOuld .W'IT before DPOeeed4"Q f'" m."v e •••••

(STT)
••• t.t,d_ •• r't,~, ~he .STAT ~e" .llows th, uSer DPOQPam, to
obt.4" f"'f9rm.t40~ 0" t~e devfee a d.t •• et f • • ~tu.,ly u.1"~
for • D.~tteu'.p ~U", .fte~ 4t ha. bee" 4"ft4.'41.d .'" the
Ulua' wav bv .INIT.

c."
,

The

.

il ",.de bv'
MOV *LNKBLK,.(SP)
EMT 13

'PASS LI~K~BLOCK 'OOR
.CALL .STAT

The .ST'T D~oces.o~ mep.ly e.treet. the releva"'t d~ta fpo~
the_ dp4v.r .s.oe •• ted,with the DD~ bv re1er,"ee to ft •• "'.
terf.e. tab'e (see Seet1o" 3.3.1). The data 4. '.tu~"eri 0"
tOD of the .t.c~. ~ow.vep, th~ee items .,e .uDe,iedl

.

1•

",iver F.e4l4t4 •• I"die.top' Cle. Seotto", ]'_ 3.1
d.t.4, )

2.

The "'ame of the d.v1e. 1'" oaeked p.dtx-5Q1 format

3.

The .4ze of the buffer

-.

de.~ed

fop

the ct.vtee·lta"da,d

S4"ee o"ly o",e a'Qu"'."t t. D•••• d, the .STAT pout."e eo",.
tat"1 a" .p~roD't.t. .t.ek •• huif'e ODe,atto"_ T~e Nop~a'
Sv.t.", Fxft fs t.~e", to rec." the DPoQre"'.

'-~

COIIIIII''''t ••
Th •• STAT ~'ut."'. t. ".0 ful'V ~'-''''t~.~t.
~o~eoye~ be·
~.u •• ~p .~tu,' d~iY.~ .ctio", t. "'eee •• ery, t~. r.oui~.d t",.

forlll.tio", •• illlm.di.t.'Y .v •• ,.b'e to t~. D~oer'lII wh.", ~ ••
c.n.d •• ~ • • '" .o~h.~ c •••• ~h.re d,t ••• ".tu~"'ed 0'" the
.t.ck, 4t •• the DroO~'III'. ~e,po"'14btlitv to el.,~-uD Aft.~
the aata h•••• rv.d ft. DU~Do.e.

Much ~ •• b•• ", •• ta f'" the Dr.vioUI •• ct40",. eo~cA~~f"'o the
f.ct th.t ~'" o~d.~. t~ ~~~v~a, A d.vic.-i",d'D.",~."'t e"'vtro",·
1II.",t, the a~tv.r. for .1' aevfce. Dr ••• "'t • • t.",da~d t",t.r.
f.c. to .th. Mo",itor "eutt~. ""vief"o • D~OQre'" 1/0 ~'QU'lt.
Th. Dyreo.~ of th,. lec~.o", ,. to .umlll.~41' t~. f~.tur.. of
the t",t.!"f.ce m.t""v. f~ ..... fe",no.. ADD."'~i~ G of t~. P"oor.lIIl11.r'. H.",dbook D~ovfa ••• fu1le" d•• crtotfo",.
S,ct.~",i 3.3.1 th~oua~ 3.3.3 d •• cul. the two

",.i", De~t. t",to
whieh ev,rv drtv.~ C!'" b. ritv~d.d • • • t.~dArd ~"'te~flC'~
t.b'., Which mu.t COlli' ft",t, I",a e D'ck.a. of routf",.. to
•• 'v.~, ~~e dfff.re"'t tVD" of Mo~itor r,Qu •• t Ind the t",·
t.'''UDt. oce •• to",.d bv th.... S.Gtfon 3.3.4 th.", ",ote, I
Drobl,m ~.cul~., to the drfv.r for the ,y.t,lII-devic ••
D•• crtDtto~. of the Gurr.~tlv tIllDl,lII.nt.d df'tv'~'
Iv.il·
,bl. with.", the D.vi~. D~tv.~ ~.ck.a, doeullle",t, The d~tv.f'
for the ASR-33 T.l.tvee i. delcrib.ri f", AeD.",df. A.

.r.

Dr~v.r I"'terflee Tlbl.

3.3.1

Th. ff".t p.rt of .verv d"ive" i, I ,t.",de~d t.~l. ~hfch c.",
be ref.r.",c.d ~v .verv Men1tof' routf"'e, f.r'tlv 4", o~d.r to
d.t'''IfI.~' the .cID~bnhf •• 01 t"'lt f'f"ive .... Ind ,eco",dlY to
.ee., • . the .ODroort.t. ,."vte. routfn. vf. t~. D.. fv ... ~u.u.
M.n.oement .ubrouti""" S.CDB o~ s.eDQ c••• Sectio", 3.1.2.4)
Th. ferlll.t ~f the tlble t. illult~.t.d .t .faUf'e 3-22.
I",
.ffect 4t •• i", two P.~t" the ffr.t Of w~feh mUlt epoel ... f'"
,11 d~fY'~I' the •• ~o"'d fs "'.c •••• ry .0l'llv .f~ drtYer. fo~
f",-.truet~~ed dev.c~. e~ de,ce1bed f", chaote!" 4.
T~ • • io",iftcA",ce of the entr ••• f ••• follow ••
1.

~UlY Flea - fl • e w~.", the dr1ve~ f~ ~veilabl. for
u.e ."'d t. !"e.et bv S.CDB to the ~D~ edd~e'l for
the d.t •• et b.4",~ •• rv4ced whil. the drtver 4. busy
( •• e l.ct~O'" 3~1.2 •• ).
It e"'.ble~ the ~rtv .... to
lee.'1 t~e tral'llf.~ CO"t~o' DAr.",.t,r. D"S'~ by
the c.,li"'G rout.",e. I" Ge~.r.', t~. dr4y.r do ••

"ot elea~

t~f. flaa •
tht.
C~eweve~ .ee .eet1o~ l.3.~)

2.

4. do"e hy

s.eD~

Ge"e~.' '.ef'ftfe. ~ •• , •• ~4e. of hit-.witehe. to

that t~a d~fv.~ f. 0"1y c.lled uOO" to o~o·
vide .e~vfee. of whieh it •• c.D.bl., Cbft •• t to 1
4" •• ch

e"'u~e

e•• e',

bft 0 • multf-d.ta •• t

.uooo~t

thf. ~ft •• e~eeked by the .INIT
~out."e to D~eVe"t the "'.Q"~e~t
of a .f~a"·OuPDO.e devfee l1ke
• DaDep.t.oe p.adep to mop. t~.~
o"e data •• t .t a tf~e.
bft 1 • Outeut
bft 2 • I"out
The •• _t~o bit. ,~e u.e~ wfdely to vep4fv
v.lfdfty (1)

t~a".f.~ d1,.etto~

b;t 3 • b1",f'v
bft •••• eft
The •• two_bit. e"able peJeetfe" oi d.te
mod •• w~teh .pe u".eceDt.ble, '.0. bf".py
0" a k.vbeerd.
b,t 5 • Seect., ,u"etfo" rout."e DPe.e"t
btt 5 • Clo'e poutf". D' ••• ~t
bit 7 • Dee" pouti"e ~r •• e"t
th •• e b4t. a,e u.ed by the ,el.v."t routt".
(.O~!N, .eLOS!, .SPEC) to e"'u~e that the
drfv.~ •• "ot eal'ed 4i ft f.
u".ble to ,uDDlv th~ •• ~vfce
C.ee al.o "e.t .ectfo~)
~Dec;.1 FaefHtt •• , ~

D.rtfcula, f.eet. cf

lo.f" u.e.

t~e

d~fv.~1

,

bh.

to

.- ... _--._._.-.

T~. co,.~e.oo"d1"O bft • • ~e u.ed 4" .11 ~o"fto, tP.~.fer
fu"etfo~. 'oP •••• oi eheekt"Q, '.0.
.WP4tee2, .q!AD."

1.

fil. ~v~e code. f"clude them, ete. I" m."y ca ••• they
.r • • 4m4l.,ly u.ed fo~ deviee ha,dw.,' eo"t~o'.

al.c

~

btt I •

ter~t".1

~eviee

T~t. btt ,how, that the ft~iv.r
eo~t~01'
•
devtee 14~. t~. eo",01. tYD.wr4ter wh4c~ ,,1Gw, ~."U" d.t ••• ~t~Y ."d the~efe~e r.4.e.
,D.et., erob1em. ~oted 4" .Dee"d4x G of the
prOQr'mme~l,
H,"dboOk.
4"
Dart4eul.r,
.WRJT~
for~e, QutDut ,t ~OL ev.~ thouo~ the
~0"4tor buffer 41 "ot yet f.'1.d.

b4t a • mult4.u"tt 'Y'tem.dev4ee
•• 'hew~ u"d.r 10 below, fu~th.~ table e".
trte, co"~ai". bft ",aD pot~t.~. for ,.eh Ul"lft
ul"lde" 1 co"tro",~, If t~. d"tv.r 4, ~.,t.
dent, a' 4" the ea,. Of. a ,v,t.m-d.v.e. lueh
•• ~Kl1, ,11 the,e e"~~t., ~u,t b. ele.red
for a f,..,h .ta"t .fter • ~ro~ram f.flure.
tht. btt ,hOWl that there ., ~or. tha" 0"'
."try ,.eQut".~a .ueh t,.eatma"t.
bit

e•

,.Qu'l"Itfal maa"et4c taDe

Tht, btt .howl that the devicp, thOUQh l"Iot
fully ftl.-,truetu,.ed .,.def;".d t~ eh'Dt.~
4, h., "everthe'es, a b,,4c f41. fo~m.t .,
de,cr4bed t" lectio"

4.'.

b4t

e•

~.v.,.'tble ~.d4um

Tht, btt cl.,,4fte, a d.yfce. lfke OECt,~e
whfeh .1'ow, tr.l"I,fers t" .4th.,. dt,..etto"
of t.ee motto" a"~ thul ".ed, leeetal t~e.t.
",."t fl.a ,aet.o" •• 2.3)
bit 7 • f41e.,truetur'd d.vfe~
Tht. Ihow, the devtce ha' full ffl.
ttt., ., 4" C~.Dte,. •
••

c.~.bf'.

St,"dard 8uffer Size • .~OWI t~e "umbe~ of Ie-word
buffer Ul"ltts to be c' •• ~ed v4. S.GTB e, •• S.cttO"
2. 4 .2) for the t"t.r"al buffe,. uled i" .~EAD/.WRIT!
a"d BlOC~ leve' 1/0.

PlGE3-4A

Offl.t te I"t.~'uot S.,vic. Routt". - .~.b'.s the
i"~t~.l~l.t~on ~out~nel te I.t t~. 80~~eo~4.t • • dd, •• 1 f~to the d.vic. fnte"uot v.ete, whe~ the
d,4v.r ••• ~ co,e(l).

e.

t"t.r,uot p,jorty L.v.l - 11k. 5, 11 uled te •• t
the ItltU' fnto the i~te,~uot vecte~. NO~M."Y ft
tl the I~"'. '1, the leve' It wh.c h the h.~dw.'e 4P1t.",uDt occu ....
Off •• t. to R~utf~.1 • .re '.f.,.~ced by th,ir ~e1.­
tiv. oo'ftfe", f~ th. tlble wheneve,_ •. Monito, 'outt"la wi ..... to ~." the .. el.v.nt •• ~v4ee vfa ~.C~R?
t,11 •• etto".J.l~2.4). ,The •• byt., a't .et to I 4f ~
the ,0utf"1 i. net o~ovf~.d - .1.0 fPld4clt.d by the
eo" •• ee~d.no
Flefltt ••• fPld.c.to, tlee 2
Ibov.).

0." .... '

O,vtCI ~I"'I - •• thl ole •• d 'ldt.·51 valu. for
oedl 1110ttld to IIC~ d.v4c ••

th.

~~O Stl,t ~lock *.
fl the hilt, fo, t .. e ffl.
It,uetur. 0" • bul.-.to'IO. devfe. IPld fl dfsculsed
~" •• ction 4.1~2.1

B4t."'lo .of"te,. - ."Ibl. the chltPlfPlO of s.ve~.1
d.tl •• t. .hlrfn~ the al~. untt of I bulk-sto,ao.
dlvfc. for outout I"d ".Plce the '1"'. f~-eo,e block
"'oelttO" bft "'.0 la d.ac,tb.d f" Sectfo" A.l.3.
Th.,. MIY b• • 4t~.r 1 0' 8 ."t~fe. d.elndinQ ucon
wheth.r the d.vfee hi. I a4"01. u~ft o~ seve~I' •

..... .......
~-~

1. Aa Ihown fn the P~oa'~"''''e,'. H.~dbook, the effl@t C8" be
I oositfYI i"cfl.",."t of uc te ~5e wo,da. 1" the la~ae~
drive .... th4. ",ay be 4nlufficfe"tl 4n th.t cI~e it ~.y nof"t
to I JMP 0, BR to t~. ~e.1 ste,t ef the routfPle.

PAG~3-4~

~.

.

.

,"y d~1v.~ may b. call.d to Drovide 0"' of four
'~rvte.. ,~d mav th.~.for. CO""." the "ece'lary routf" ••
fo,. t h. OU ~Do. __ 1
J".a.~.~,'

e.

Clo,.

d.

Sp'c4,1 fU"ctfo"

Th. f4,.t obvtou.'y f. ,~.au.r'M."t 4" .11 dr;vers, the
oth". thr ••• "Dr •• e"t o"'Y.4f .Om. ,ctu.' ~hv.tc.' de~.c.
,ctto~ ea" b• • ff.ct.d.
'or f".ta"c., e eo",ol. tyoew,tt.,
ou~,ut ea" b. oo.".d ~r c'o •• d wtth.C~/LF OUtDUt, wh.rea. o~
, ftl.-.tructur.d d.vtce ••• how" f" Chept.r 4, both of
th... ~U"c~.O" • . ar. t~ iect D~,.f~~med_bv ~orma' t~.".j.r ••
H.~ee the aoproor.a"
Mo"4tor routf" •• f1~.t ch.ck the Ge"e"~ '~e~ljt~e • • wf!Ch, d•• cr.b~d f" ~h. Drlv~ou, .e.tto",
~efo"
call1"Q the ~rtv.r. to o.rfo~m o"e of the •• th~.e
fu~etto". ( ••• S•• ttO". 3.2.2 e"d 3.2.4'

,r.

'11 d~.¥e~. u"d., DOS
ha"dl.d 0" the f~ter~uDt syst.m.
The ••• ~v.~, rout;" •• th.r.for. mer~lY f".tfa,. t~. ,.el.va"'
d.vfc~ .et~o", ulf"Q the add~ ••• stored f" th.f~ fir.t
word
C••• or.v4ou •••• t10"'
T~. rou~~".' e.tr.ct co"tr01 d.t. ,u"",j.~

bv th •. ~0"1t~r
routt". t~ the DDB fo~ the dete •• t reau1,.fnq the •• rvfce a"d
tr.".m4t t, •• ".e •••• ry to the device co"'ro'
~erdwe~e. ••
,
~ot.d
4" Sectfon 3.1.2.4. th.y M.y u•• ~.of.'.r. f,..ely fo~
th4. Droc •••• Th.y th." .".b'. t~. d.v4c •• "t.~ru.,t i actl.tv
~.t~,." to the ~o"ftor rout4"., to ewaft the f.~.t i"t~"~UDtU.t"Q the .dd~ •••• ev.d on the .tec. by t~. JS~ ca"
to a.CD".

...
."q

Th.1~d;v.due' "etur. of •• ch of the feur routf".,
cu ••• d f" the PrOQremm.r'. He"dbook, ,.,~."di. G.

f'

di.-

J~ follew, fr~m the .,revioul.,.etio", t~et eVery dr4ver muat
cont,i" • . ,.outf~. to .e~vfce the ."abl.d f"terruDts. Th.
p~tM.ry.eurDO"
of tht. routf". is to '~Iure thet the date
4. tre"lf.,.r.d '0. o~ jrom the d.v4c, ~" th •. f~r~ ex~.cted by
,h. c"'1~Q ~o"f'or routt" • • 1 I.tflf.ctor.'y a. DOI'fble
and ~o ",ow for the he"d14"G of e"y .rror ce"dftfO". which
m'y prev."t thf.. Th. e,ev4.4o". of the deviee ha,.dw.re of

PAG! ·J--48

.~

eou~.e d.t.~~f~. the a~ou"t of ,uDDleme"ta~y worle aach
Aaa1" Acd~1ver h.s to do 1" order to .e.t th4~ ~u~Do.e,
~a"di.
Ma~dbook d4.eu ••••
Do •• f.. .." _, . ,of. tha P~oar.m~ar"
.

b4l4t4e. 4"

~ore

.

dat.4l,

t"'.

,e".~al'y, thouoh, .t e.eh ."tar~uDt the driver tra",fer.
d.t, .betw.e" ~'~o~y ."d the d.v4ce al'ow4~o for tha faet
th.t the Mo"ftor el" 8"'Y reeoo~tle ASCII o~ ef~ary. If the
drfve~ "e.d. R.a4.t.r., ft •• ~e'Do" •• bla for .afeQua~d4"G
the~r C~"t.~t 0" ~ha ~"t,~~uDt ."trY, tf f~rther f"terrUDt.
ara "4ed.d to comolet. the trl".far, the d~fver take. "er~.l
RTI .~4t. to aw.tt the~~ Whe" the wh~'e tra",fer •• do"e,
t~. driv,r racall. the MO"~to~ routt"e throuo~ the Co~o~.· (t40" R,~U~" .•• t f"to the ~D9, w4t~ a"y ~eces.,ry .tatu. 1"format4o" Dl.ced 1" the DDB (Darfty fa41u~e flao 1" ~tatu.,
.~eomDt,t. tr." ••• r 4" D~tvar W~~d eOU"t)~ A. ~how~ 4" s.ct10" 3.1.2.4, the Mo"4to~ rout4" ••• oact. R0 to co"tet" the
I~d~ ••• of the DOB Ju.t .erv4eed a"d the CO"t."t. of all R••
04.t.~. It the f4"al 4~terruet t~ be .Ived 0" the .tack •
the drive~ ca" u •• th, ~0"4torl~ S,RSAV .ub-~eutf". to eff.et .thf. ( •• e Sact10" 2,4.1). The driver ~.y di •• bl. 1t •
• ~t.rruDt f.ci,ity b.fo~. tha r.eal', it does "ot however
edJu.t th •. eroc ••• or crfortty 'ave' or ~'.ar the BUly Flaa
i" it, f"t.~fac. t.ble, Th. Mo"ftor routt"e eal', ~,eD~ to
~.~form th.,. oDa~atio".,

A' "oted 4" the_."t~oductto" to Ch.oter 2, the ~r4v.~ for
the .v.t,m-d.vfc' 11 D,rt of the c,~~.".~t'y r!14de"t Mo"ftor. Be.fc,"v t~f. drfv.r.f. ~o dfffere~t 1" fu"ct10" fro~
t~.t serv'ct"a th, 'a~. d,vfe. whe". thtl t. u •• d •• a .ub.fdfary DerfDh.~al 4" • IYlt.~ ba •• d 0" a"other .f~f'ar dev~ca~
It t. c.l,ad f~ the .a~. way wft~ 4ts f"io~~et10" set
4"to e DOB addrel •• d bV the eo"te~t of ft. Ow" 9u.y Fl.o,
eya" thouoh th.t OOB belo~a. to the Sy.t.m a. ~ot.d f" Sectfo" 2, Mo~eove~ IVlte~ ~e~ue.t. t.lee the4r ~,.c. 1" ."y
dr4ve, aueue '1ke a" the ra.t.
Nev.rthe'e •• 4" it. Dr4v41.aed u.ao. 4t doe. ~ave I" eMtra
r •• co~.1b~'.ty,
If e tr.".f.~ c."~ot ~e aeeOmol.she~ bee.u •• of ,oMe .. h.~dware t,.'ure, the o~di"a~y ~river 1" most
c •••• e.", for .o~. d4a.c"o'tie '!I •• ,aoe •.•• Chapter 7 will
.~ow, t~1. re~u'~e. the 10.d'~0 of ~ Mo~1tor ~out'"e to eo"t~o'
the ort"t1"o.
t" the '"terim t~. driver'. !u.y F'.~
rema10' .et, ., it ts .tt"
ef~.ct1yelY
.erv1~4~g the
t~.".te~ ~e~u •• t.
~o~ the d~'ver of the .v.t.~.device, this
ea""o~ ~'I if thf. i • • t11' •• e" to b. busy, the reaU.lt
to
'o.d the ~4ao~0.t.e Pr1"t reuti". wf" b. aue~ed to we't ft.
tu~". To e4rcu~v."t thi., the d~.ve~ Must it~.'f Cl'8~ it'
Bu,y Fl.a before r.au •• tf"O the .rro~ m•• laae, If ".c •••••

J

'--.......

~y, w.,.~. th., .,.,.0" '11'1 I'.e "e ,..eti.ted by ODe,..tOI" lettel'l
Il'Id ~ •• uMDt.e" ~IY th.1'I b. ,.aQu •• t.d, jt ~u.t al.c .•• ve Il'Id
,. •• t~,.. tha flla eo~t'l'It •• IDD"O~l"i.t.. (11'1 D,.let1e., th ••
,peet." ,ddU401'1 .', fl'l~lud.d 41'1 th" '.I"d.,.,., d"tv ... I. I
cOl'ld4t4ol'll' •••• ~bly oDtfel'l •••• "et4e" 1.1'

-~-~---------.--------~~---~---------

~_ _ _
~~,~~ ~E.nJ~N Al>l>~e.ss (ftobuth~
$IS or s~~ro »& A~£!JjS b~ ·:t.arr
J)~5£T L~L.. t(Art)£ ,.

I

~--~-~FA;u.r

"r/~~ P4'l.' -

JIll tiP

",.",.s

T. '~~~tllJ
D.~ul __ ')£vr.ee. fotA CY)E •

~"

~-~------.~.--.--------------

~~c(tIJl:&\..e.
.~'lX.l>E.

S~

TO

SW):'TCH

1F

ComMA"'»

Ttte:
~~t(tr

x..1E~M£Te.R.
~

C!.El:I(G- usa"])

(",i.. ;~~cot"ecl ~"*

c9- Wonf.~ to ~o\'o~··)

-

~---

-.------=---===

--

- =-----

----.~--~--~

1
./

"

-..

"'tb'T
-1

~ ASSlIrirnEtCT

~-~

~~T~

~-

.-L.~T~

Tft&'E.
Po~T\Aa.­

" SS:Z:Gi4'(C'I'\~T

~

#=.

.~.~~~~.--.---~-~.--.

&tn"a.V

--,

#3

-:=-:: .. ~:.:~.:­

/

~~-

Ase.x~'

/

eESU>eriT
«>oriJ:i"'oR
I

~T.l:f'lES

~":l

/

I

"

~~MEt('\

"rA8a.£

ro..£tn'X" ...

..

"

---'

~v

/

~E&-ttEC'li"

(". ~i5'
-. .

*'

,.

AssI~tn£lo(T

I

/

-

-

3-3)
..

--,
I

I

Mr(~T)[~~Ar ~~} __ l

~.51,)("Q. 3-~:

Po. .,~e. bE..fJ:cE:
~S~M&IT ~e.L.E.

a..oa.uflh..

-

",..cone. .J

•

'''''"~ conc.trnecl

'PE"XcE. - t("tC'lE. ..

...~~*

I

"0'"

,""ojlt;pe

f:"o~wrfCG.

t=:t.L.E -

"'~rt\e
I=la...E.

..

fE.)(.TE.'" S:t6H •

dS6A ~~~Tl:o" COllE

1='5~ ~·3l

))e...,:ccl:.

A~mENT

TA&...... E.flTAY C:OIttOA,

I>~t ... ~ &

.. ~~

UE.U£ L.rrt '<

f PQXOAl:T'''(

~U~"£

:t.rcJ>~"

aasoc:Q '"-.d

J>«l:~e.Q

&"sv

-

'"-Eva

~ ~-b"3"9

,~&

~l>])ttes~

(~

5=....~Gr

a

o

Lite)

A~~

.... XfIIE.

US~

- ~ F';," 3-5

~Nt<

Mot«.Tt)1t

»E"J:ce &.-oct<.

II-

ME..tno~y

~'j)l)a.sss

&oA:E4t

L

.,

-1.

8u~F'ER

rio~l>

COUN"

1°

STATue
COMPL£Tl:ON

Q.€\&UtN

----~

wo'0 co\JoNT

»Ql:'t'eA.
~V"l"E

CocJNT

C "'EOA"TASEi" l>A11=t .. a....oc.K

(

~l>e.)

F,&" k.-I~

»6

*'

-"iii:

I1-.

- ,'.c1Jt.
- •II
l-

-

..

••__ _
1.

"",+"..

~

ff-

,
,

- , 7 ....14~ ~---"~-t

-

I

I

L __ _

,)

t~

~

II-

-

r

-

f-

-

f-.

-

I-

-

-

~

.-

-

, ..

-

-

-

.

-

-

-

.

-

-

.r~.,,~

1 •• ar.-CAtV

TtQn~kc' ~

Tt'o.,,&kr XH
"'. LM eo,,--,..I

"'-""

..

pa,e

7·s~

'J)e:t'iEA. >£~

~

~'l'"

~,,~

~-..... ~~S
FQ.oc1)

"..---;-

~€nf"eC' ~',..

_

'¥ ..j).)fI Gd«l('e:;s

~ QddC'E'S':>

j)r,~ ~ur'l\

~ J)..1'bserJ\>sr

rOde"..J

3 er
s:~8Sy
"5-A-"-€'-~~:'I

..... "'1(

~---tCoN~,
'ikc.~

CAJ..&.. PR ....
l:t'< ~

~-~K

-~-";l)

fflo ... ~
"""""'--.....1

r-

(

-""\

":J>R:r.~

\

se::'-uP
\

Rou-:uE- ,
\- _ _ J

)

SEi"CAI..I..
3>:;:>B.
F(l>~5PS

In

&: \.J:NI<'

~~

~--------~L----B

R9S:=

~i'l:Io{e.

~-I...I.rh<

TO
CIlj..kJ>.)b

'M%.Y'C!ct ~-

.321.t." :

~ ..

~~_
-

-

..•
i.. ____ .....
• LL"'1 .. •
I~'

...

~=~

ro•
~.a..c::..c:;::""-4

•
•
I
I

I
I

Y

•
••
•

A
I

..

:

---..c--~

~

L----c.---.,
A-

I

: ~, r----'';':''''''

~
-~--~

y

~

-

"E.T~'"

Pc.

~,."c

»6 'OJ)~SS [u~

:t .. Q_ CA.......

------

--~---

r------~---

---------

RE'c.z:s"IC~

aV

----.~----

-----

~
ote

---

C:O"'I"t..£t'r~

I..,..,.AuK

:a:.nc.acuf'T'C

•

--------

'A~

~------

~

.,

Pc

St'A'nlS

a,.,c%STZ"'~

.....
t

-

----------

:stACW.

3-ct:

5~ St"4'1€
>a~~eA

'!.f4 S.c.'J)Q .. ~
COf't)Pa..CttOl'4 ~'U~II&

P8/C
... tT.I\ ..SZ...."nOH

(%Ne)
NT

-"M.1It

~w:.a

~e:n~
~

$"NlC\(

.-,T
~L.
..,,,~

~ft'I

..",IJIC,·

1----

z.lar

Kr
P.".T

S~ Ioo-----V

S1f'tC'r
9

~----~~---------~. y

:7-r.r

GSA

-~-----~

./

----~--

-- _../'- --

F~u(".. 3-" : rt>t~ Q~~~ 'l)oj-QSar
In'artOol l2.o.hct)

>Evl:Ce

&I-.OC\(

#

C"tlEN)OA.Y ~~ Al>l>ItESS
wo~l)

COONT'

(to-;~~~

FuNCTIoN /~~T&J5

#~ Wo'l"'De,

... oT 'NANSFERQ£L)

~

----,

«'-!Io.
Ge" ..1fhC.
6L.cCt( ..
:J----!N

AD'II •• "

-.-sS
-.I:

,
iI
iI

,I
I

i

i

~
i

i
i

«'--1116
U......,.,r<.,
l>~
~n,

Mo",~«.

C..wt,N

A...oWettAAT

tI"oflit

OA~8E\ REL15f\~

~~e.

(~~

:le:T uP

lfo(l€0=l'Ic£
......---!N

r-o~

",TO
CAL..i...

oP."
SEr ufO
AP~oe.

CA\.,l.. ' "
~A~CO:

>j)e.

~----"M

~

OP.c:;.

~

l:aT'

uP

f'l5
E)(,r

~j)~esS

~';'l)4iaC!S.

A~~

11\1 ~»S

s.. c ...~
6'

.. INK

(:,8

Y

",0
~--.:J...>:De.

~

C .. f:A~

O.~

FLa"'c.~"T

l>c:rrw:.sET

Ro,,""'~E.

Foflt

oPEl'll

(OPN)

7-' ()

PQ~c

1

r---

'-tr.oOA.flttO

-CSA
p~

.

Af\~

-...-'

,,&e,6l
./

r

p~

!S~

--.

- - _..

_-

-

-=-ce. cot\.£.
SA~

~

~

""",cmoI

N"r-mAP
.-

-

S&Gn'\I!f\T
(O!.MlSr Ori~'t)
"

---_ ..

--/

Fr.B
~A,.q

~

~ ~

'J)ATA

~

~

:P~~

(%p "'en"

~oA

>"'I~

.,

~

..

>£~

>_~~5E:i'"

»B IW-»A'rIlSE'i

~

i'"

Il"~
ft)O ta::'TbIt.

.~,..

ft')o,..~

-

,-

I
f=1~·1Jt"& 3-16, M~o"" ~"t'S. o.~t"
~scr

afi5N

~

,",,~~M~

UI'IE

J

""''''05

&UE('-:f-' (0.)

---r---

~

qcru",- e.'IT£

~~t,.hltTl

~"N~

COU~

1o.J:HE.

-----

~

----

1

InOK

AC.1UA.... &Y1E.

L..l:"E.
-

---~~

~tE. sn£ (a.:J~

cc"",r

,

~ -~

A>J>USS

I

----.~-.-.

--

,r-------------

~

J

~--.--

-------.
---------

-

-

~~~~

r--~----~------------------~

• "sc.u

I &:"~
"~cl

• unW~"tcl
fI Chna.na.l ~

~

.~~

•, "'....6 ,'""'~r,
='

SU".""

("'r.n,"-,

))."'c&)

.~

, 5pec'IQ\

.c.....,-

"ct.';"

N')od.~:-

A&eU P.':"!5 (~, • SpU.O
~"ad f:aac.rJ: Noc\.~~ (~ormo.l.~~
""'~ecl ..sen: '''''.~ ItlM.~!J (t(~\)
~ca"'-d

~"-' &,;...~ ~.p.i'd"~ (~&. ~G.l)

"ft~ f;~ ..... ,."'~ (ttOC'MO\)
(J)U~ ~ a;' "'. ~ _~

Pa,c 3'., ..

.I

floft

RoCAl) ~ ...,~,~

Atoce~S''''' &

( ft\'" .IC&'1'tt.EA«l)
eoOER 'fIA

~ c.Au-

~"11

..._ _...

9-

C~

rtIT1'I~

EN~~

L..I~E.

FQc('l)

'em.

s.c::.,
S .... Ilt.H

..s~co<.

IlW

S€\

ao

~

»3>6,

~QI"'~
~

~L'NE

~G€I4:-c"or(

c~
~~
~\~G:

eRAoR
S~l\JS

~H·~tI

c~~

l>J>S
8vSY
~

S~.. :i)~

I'IORO>

Co ..........
c.....~'n"\

8v~

®~

St"".:::.£
3

I-\~\Y'Q~
-1'8

A .. ~€~'"

UN'~u~

&. a- I<-}
Po.N' r-c~
Rc,,-:-,f'I€

E)(',

$&t • • 4Ilo..trl~eg

TO tt.q.-&1>.....
]>£vIce ~,,~ts

'-.j

1>ua"....

Ryol ."If=)(

ct£A» }¥I'll'!'£.,

~'"'.ftlU

~:tlCE

EKIT" To

uSER

ReGS.

(Il. -Ills.)

~T

c'"~

1'b1r("!'ER

!)E."'ICIC.
T'IPE.

To F,8

A-.A&
5~

&L.,CX;.10(

/I

IN

J>J)6

R'f'I·OOA

Posino....

8,-r-

1ft

,~",cs.

~\~,l"I
~ ctAls~

lb ~,-7

_ _.....

FCRC£
.sPe:ct~L-

Rt!-Ir(IT

1("(c.R

8\.OC..\(.#
GC!;I"

L- _____

,0 E.oF

~\.A_T101'(

St.:.T
e:o~

Ft..A&Q~

IN ~J6

----1:-----

.oe:~ueuE.

M-_..... ~R\"s<
vIA
S~

fOA\~ ....

~ ~..,pll(".q~cz.rl ~r

& JEC~

\-c.('"....xt.:-d.

~. .5Q.uC't.heS

>--1W

R~JU~'"
~~
~

courC,

~t=It!:.l'"
0sEIc L.ltCE

:>ET
CcUN'
TO 5ltOW'I
r-'UI-l..
L.lnE S.

RD,)(\'"

t--=--......

~~ --€..N.'tR'{
AF1'G:R.

'.i>RI"ER "MAN~
~N,l:N

Se.T~

fblN~

Ar EN&:> ~-... s'" l\t..ri

ro~

S":'1~

O~"S\.!...

SE:r

R€~.....

TO

m~rCS~

(II.a.

Ri)

)C."9

klltire:

PR.Oc.e.S~'tIo(S

Se.&\J&NCES

0"
CL..S

Gt!.r
ul'(l<:.:),--.........11. . i.

C\£AR

f=QoI"T)
~c.1<.

~"T~sc.T
.O\lT"INI!

~£\

,-,p

~

(c.'-~

p~

11'(1'1:.w:1~
CA~ "TO
"'''''"---'- F~
...._,.,. f:/5

F/:5
C~

c~
!.-A'S,,;,"

~-.........'NtC..lli ...........c:

S\..CC.K..

,~~

r-· •

I

STA'YUS

S ....OC'"
~Etf\O.'t

"'''''''CoTtOr«
to( UM&S~ (ru.r:.,.)
~S:FEIl ~>AE.&S

U!.N~

i>oMa f.ftT'" EmIr

...,..tlht..

Pr~." ..

ot'

~, ... ftot"~

(~

-

~.;''r 6\ock •

¢

r---

",. -

WOIQ:I5

~tfs.l

OlU.TlOt''''-

cdȣ

F'u,",GTX,oN

~".~T

~A11i\ ~Aotf\
~.---

MCSAAft')
OIl :rrATua _""" ~

~. ". ~.\IP.O

..-------- ----_._------ ._._-----• .",

t=UHCTU)tI

"".

-------

•

F.~"re 3-~O, ""I"'h.. Spec I 0.1
F',u..c..h~n. &I.c:k

'U'le.~

&..s&V

F~A.

s.e.NUfItt-

SP£c:r."L..

~AC:%...:t.T.tQS

w=.-" C%.L.:t"l:~
S'MfIlDAA'J) ~~~

~f:a€r TO
~tCTe~P"C" set.4It~eE

5%24 (.--,oN \lfti~

pazoar.T"i

ofII'P5ILT TO

...e.Ct.."",

%"~\SfI'T :sea~

4tO.aTDtI!.

OP....

[-t Q;clr-...J

O~se:r

1'"0

C'-OtIE.

A~ttE

O--..e:r TO

T4t"f'CSPaIt
onse:;- "C'b

(~.a)

SfIEc.\AL.

l>E."l:Ce.
~T"A.'

0':

Fu"'enotlS R.

( ...... -5t5)

I'tAct\e.

&L.Oc.t<

~.~

m.p.'1)

.

e.t:.T .. MAP Po:t.nE:l!S

~e.~~

~oR. :t~"~A~

J>eac.e.

Ol\'~

ON1T,s

~

(, or 8)

--

.

--

.
,ct.X-leR. SC,T_&lP V.
:t.n'£Muf1'" It.ol1l'nE.~

F='a'a. - oC'.~
.
'J).lIacee

CHAPTER 4

F I L E
Bu'~

S T R U C T U RES

8UC~ as disks o~ ~8~~.tie taoel ~~8 by t~e4~
~a­
caoab'e of ~o'di"~ ~a"v diffe~e~t lets ~f deta. T~e
letl ~8Y be ~~o'ly u"~e'eted to one e~ot~e~ 8"d ~8V,
4"
flet" b~'o"~ to di ffe~e"t Ule~1 1~1I'41'10 t~e 18111e lIIed4ulI'I. IP'I
t~e 1'101'1118, waY, l'Iol'le of t~ese
use~s
.s De~tieu'a~1Y eo",c.~",ed
wit~ ~ow al'ld wne,.e ~is data 4s ~e'd o~ t~e lIIediu~ I I
10P'lQ as itl il'litie' sto~IQe a~d 'ete~ ftl ~et~.evel a~d De,.~eDI .its
~od4f1eatiol'l
0,. ewte~s40", can.be aceoI!lD'41~ed el
11~o'v .1 DQIsible.
~o~.ove~ eee~ ~Ie,. eXD,ctl 10~~ "'eelu,.e
of D~oteet101'1 a~a11'1lt t~e co,.,.uot401'1 of ~4. data e1t~e,. bv
n4~le'f o~ ot~e" use~s.
~n .ue~ lIIed41, t~el'efo~"
t~e OO~
~oP'l1t,~. SUODO,.ts
e f4'e It,.uet~~e w~4c~ ~1ves ule~. t~ele
feei,1tie' aP'ld t~1s 18 desc"1barl 11'1 detei' 11'1 t~4. c~aete".

tu~e

~ed18

11'1 tn.s context, 8 "F4'e" is defil'led al a"y 'o~iea"y CO"'Dlet, set of dati I~o,.ed 0" I bu,k lIIediuIII w~1e~ CIP'l be aceelsed tn~oug~ tt,1I, fl1e-It,.uetu"e.
I" ed""1t40P'l, to t~e
11'el~
t~e lIIed;u~ 11 a'io uled to Ito,.e eo~t~o' 4nfol'lI'Iet401'1
by w~ic~ tne ~01'l1to~ ea~ aecesl t~e fi,el O~ t"8 use~'s be~a'~
("O~reetories")
and ea" o,.ov4de tne11' sto,.eQe-seaee
(~B1t iliAD!").
T~ese oe"e .. a' eo"ceDtl a~e di'eu'led 4~
leetio" 4.1.

AI fa"

~,

D~lsible,

t~e

,

'

f1'e-struetu,.e ~al been desigl'lerl to
be dev4ce-indeDel'ldent,
.1'1 aceo,.dal'lce wit~ ove,.I" ~o"4to~
p"i'0800"V, at 'ealt il'l its usage 0" 04skl el'ld O!Cteee.
Howeve,. obvioul diff,"el'lces 11'1 t~ole dev1ees, eSD,c.a"Y t~e
felt.~ disk aeces! ~ete, ~ave l'Ieeessitated va~18tiol'll i~ deta1'ed ,aoDHcat1ol'l.
'eetio'" 4.2 i l eo"ee~"ed w1t~ t~ele
ve~1atio"s.

See!101'1 4,,3, t~e~ de~el'1~es tne oe~e~e' ~al'll'le~ i" w~4e~ t~e
~onitQr
oroeelses files end section 4.4 dee'! wit" 10ll'le sub,.outil'les w"1e~ e~e ce"ed bv t~e 1i'e-lIIe~e~e",e~t el'oeelsa,
to De"fo~~ sDecia'
fUl'let10"', Iue~ al d4,.eeto~y lee~e~i~Q.
Sect;en 4.5 cove~1 t~o.e o~oee,s.s wn;e~ extel'ld t~e It.~del'd
~~oe.du"es dese~ibed 41'1 ,ect;ol'l 3.2.2 ~o~ ooe~i~g, t~e~sfe~­
,.1~o el'ld c'oli"~
data-setl w~~I'e t~ese e~, loecifiea"y
fi'el.
F4"8'lv section 4.6 e~a~1~es "outin@8 eIDecia"Y
D~ov1ded to service u~e~ "eQuest,
fo~
~ouse~eec."e oo.~a­
tionl ueo" direeto~iel or t"e 111el ;~ t"elll.
It wi" be leen t~at t~~ tvoe of f1'e-It~uctu~e edocte~ 41
bas4ca"v rieoe"del'lt upon ,t"e 1eet thet t~e ~~ve" ~ed1ulII ~e­
adi'v a"ewl ucdat;~Q 1~ olace, oerticu'a,.1v ~1 eo"t,.o'
infOl'~atio".
T~e .. e al'e 1""e,.e~t'v ~8Jo~ ~1f1ieu1tiel 1" ~oi~o
JUlt t~is on ~P'lrlustrv-co~oatib'~ 1II.~"etic ta~es, e ~ed4uIII
P'I~t
~~ev1oullv ~el'lt;ol'l@d • . Beeause of t~e8e ""ifficu't;el. e
11~o'~" structu~e ~al_beel'l ;~ele~4"ted fo"
suc~
taoes and
t~;s is t~e subJect of seetion 4.7

OOS4.~Nn

A• • tated ee~1fe~. a 1i'e il a~v 10Q1ell'y eo~p'etl set of
dlte .to~ld on a ~u'k-~ediu~ w1t~1" t~e f~l~ewo~k of t~e
IClei" fi'e.st~uetu~e. It il ide"tif.~d bot~ by t~e use~
Ind in!1dl t~e 'Ylte~ by a.name w"1e~ ~ust .tl~t wft~ I
'ettl~ fo',owed by Inv eO~btnlt1o" of ,ett.~. I~d d40itl
ue
to In ov.~al' ml.imu m of 6 e~.~.cte~l. T~e nl~e ~ey be
fu~t~e~ e.tended bv ue to J lette~. o~ dio4tl to df.t4noufl"
between ind1vfdu.' ~e~be~s of t~e •• me 111e fam('y. Fo~ e.·
I~c'e. e.ten.1on. PlL. OBJ, a~d LOA to t"e "e~e P~OGR~ ~1Qht
li;n1~v, t~e allemb'e~ lou~ee. object a~d 'Ol~ 11'e. fo~ t~e
lime e~og~am.
T"e wav i" w~.c~ t"e file 11 Ito~ed UeO" t~e ~edfum deoend.
Ueo" t~e w.y i" w~.e~ t"e ule~ nO~~ll1y e.oeett to e~eate
Ind 'Iter c~ocel' it, Two met~odl .~e define~ ~or t"e OOS
Mon.te~ I"d ~ence two d.ffe~e"t type. of f1'e a~e Il,owedl
1,

L1"ked f.'e. fo~ .eQUlnt111 ecce ••

2,

Co"t1;uou. f('I. fo~ ~.ndom aeeeSI

4.1.1.1

L4"ked Filel

W~en

I u.er w1."e. to e~late a "eW file for data w~1e~ ~e
wi"
bufld Up a~d u.u.'ly aeees • • eQuent1al1v bv ~eln. of
t"e ,W~ITE and ,~EAO ~Ioue.t. de.e~1bed f" .ect.o" 3,2,2, "e
f. c~oblb'v unlble to c~ed4et w4t" anv aceu~aev "OW ~ue~
.to~ICI .oaee t~e file will ule upon t"e ~ed1u~.
Moreove~,
bec.ule of t"1 t4me t.kl" to proee's eac~ 4n~fvidull bloek,
.t i. I'mo.t certafn t~at the medium wi" ~ave o •••• d beyond
t"e ne.t adJaclnt b'ock befo~e anot~er transfer i. rloui~ld,
R.eo •• tfo~ing t~e medium to u.e t"1' block i. obviously
timl.w.lti~c.

L.~kld f1'e' are tner~fo~e .elf-expand.ng ler1e.

of blockl
0"y.1ea"v eo~t1Quoul upon t~e med4u~. T~e
first b'oek fo~ t~e ffle is allocated f~o~ f~ee .pace on t"e
rned4um fn relPo~se to • user reouest for itl ereltion bv .0PE~O.
Furt~er blockl ere Idded one at a t1~e
autom.tic.,lv
bv t"'e Mon4to~ a. t~e Ito~aQe of t~e data reo,!1res t~is, At
t"e lame ti~e, to provfde fo~ future access. t"e blocks a~e
C~li~ed, by. a
'.~k-wo~d embedded w1t~4n e4e~ b'ock,
T~e
f1~lt-word of t~e block 4s re.e~ved
for t~1. pu~po.e and
wit"1" t~e f1'e fs set to t"'e dev1ee a~drel. for t~e next
block i" t"'. c"'a1n. w~en t~e file fs ffna"V elo.ed t~e
'1~k-word of t~e 'a~t block Ule~ i, let to 1 al a ter~1".tor
.nd ."V u"use~ portio" of t"at block i. clea~.d.
enn a"
w~1e~

.~e

not

PAGE -$1- 3

devic!l,

~loc~

~

is

~es~~ved

fo~

syste~

u.e.

t~@~e

ca"

th.~eto~e be any confusio" co~c~~"ing t~e t@~~4n.' ~
T~e

fo~~~t

desc~ibed

above is

fu~t~e~

il'ust~ated

4n

"eve~

,."~).

fi~u~e

.-1 •
• s D~ev.oully noted, the blocks of a linked fil~ 8~e not, in
ge"era', adJace"t to eac~ ot~er. ODti~allv th@y are S~Da~­
eted ~y a a'D which is dee~~d sufficie"t to a"~w t~~ Yo"ito~ a~Dle ti~e to D~oeess one b10ek b~for~ the "ext reau.~e~
~eeehe. the ~eed-w~.te ~e~d of the rlevice.
Th~
nu~be~
of
blocks fo~~.ng this aeo is deDen1e"t on "evice c~a~aeter1s·
tiel and i. D~.-~ete~~ine1 fo~ eae~ device, T~.s nu~~er is
known
t~e
"Inte~1ea~e
Faeto~"
(IF).
T~e g~D ~~y of
eou~le inc~,ase.b'tween
individual blocks ~eoend1nQ ueo"
eu~~."t availabilitv.

,S

The lfnk.d f41. fo~~at ~ead11v allow. lat~r e~ten.ion of a
f41e ,4nee ~o~e blocks een he added e"d '.nke~ in the SA~e
feshion es du~inQ its c~e~tio~. Joini"~ '1n~ed f41es tcg,t~.~
4s ellc a ~elativalY s1~cle o~oee~s w~e" this eon,i,t, me~e'v of the ~eD'e~ement of the te~~in,l 0 lin~ 1"
the 'aat block of the first file ~y the devic~ adrl~ess fo~
the f.~8t block of the second file.
(1) T~e aooroe~i.t.
Monitor ~eauests a~e th~rafo~e aV4ilable to t~e user a"d a~e
di.eussed under sections 4.5.1 an~ 4.6.3,
On th, ~the~ hand, li"ked fflel are not d •• io"ed fo~ ranrlo~
aece ••• ince t~. o"'v mean, bv whic~ this ca" be .ffeet~d i'
by oerhaDs a 'enqthy s.arch a'ong t~e lin~8 of the file fcr
the ~eeu4~ed blcck.
Cu~~ently
the random-aecels ~eeuest
,BLOC~ .s illegal for 'i"ked files as noted 4n ,.cticn
3.2.3.

4.1.1.2

Contiguous Files

Ccntiau~us filas a~e soecifica"y.intenrled 1o~ ~a"d~~ access

.BLOCK. Fo~ t~is tyee cf u.age, t~e use~ 4s l1kelv
to know t~e .jzes of his ~fle~,
By def~"~t~on, too, t~e
cur~e"t
ohvsical oositio" of a ~ed.u~ is fa~ lesl ra'evant
to the e~~e~ 4n 'wh1ch its dat~ 11 orocessed. It •• ~ore .~­
D~~tant
that the actual device block ca" be ~eadily deter~.ned f~o~ a ~elative value IUDolied by tke use~ an~ ca"
be
~eaehed
.n ~i".~a' t.me. ~oth of tk~se cr.t~r.a a~e ~ost
.i~olv satisfied by t~e use of A" a~ea of
~u~e~iea"v
cont4guous bloc~s o~ the med.u~.
T~e resolut.o~ of aetua'
thrcuo~

• _________ ._.e.
1. No atte~Dt i. ~ade to fi11 unused bvtel 4,., t~e 'ast
block ~f a file e~te"ded cr t~~ fi~st if'e a~De"ded. W~ile
t"ese bytes (al1
Are "0 o~ohle~ i" ASCtT files or For~attel'j Binary, tl'lev C8n be !"ead as t'fata i" tJ,.,fC,.",stted qi"arYe Thus, ~xte"sion O~ aODendaoe oi files i" t~is mode is
cu~re"tly not reco~~ended.

"U'"

OOS4.~Nn

bloek is obviouslv a si~ple elleulation ~~ov.ded th8t tha
Ita~tbloek of the a~ea is ~n~w".
It alse ~ol10ws th4t ~e.­
t~4~t4no ~D~~atfons o~ the file to a
comDaet a~aa ~n the
~ediu~
affordl ooti~al 8ceess, ~a~tfeu'a~lv on ~ovi"q-head
d1lks b~eeuae o~ the Matte~ of h.ad·~olit.o~1"g Ind o~ D£Ctaoe heceuae of its single 'inea~ t~aek ~atu~e. A eontiQuOUI f41e formet is sh~w" at ffQu~e 4-2. It Ihould b. noted
that no l4nk-wo~d. are orovided I.nee thev ,e~ve no u.eful
~uroose, 811 wo~ds 1nelud.nQ the ~i~lt ona a~. thul used io~
data sto~aQe,
Bef~re a eontiguous f41e ean ~e used, ita Ito~aoe loaee mUlt
be ~real10cated th~ouah the ,ALLOe ~'Quelt de,c~ibed in lection 4,6,3, ~eeaule the 'I~e mediu~ Mav he Iha~.d bv both
'.nke~ and eontfQuous files, lOMe eonfliet 4" b1eek avaf'lbf14tv ~ust eve"tuallv oceu~, .ve" thouah the mediUM MIV not
aetuallv be filled,
To delav thfl al 10ng .1 DO.lib'e,
,fnked f41es are set UP on ~11 med~. et the front, o~
low-addresl, end, .nd eontfguoul file. _.~e Qfven loaee
Ita~t4no f,.om the tdQh-ad1P;-is8--en~;
If--the eo"fl.ct--(fcaa
oecu,., as eVideneea-bY. failUr.·of the .ALLnC o~oe.s.o,. to
find 8u f f1e 4e"t soaee f~r a new contiQuous f41e, the use~
must either delete I~me of I'Ii. ethe" -fn., ~,. t~enle"fb.
theM ~" o~der to utilize more fullv sm.lle~ di.eonnected
Q~ps between uaad bl~eks, Doasiblv e~eated bv ee~l.e~ deletiona.

Thts si~D'e aop,.oaeh to randOM acees. hal ttl dfsadvantaQ.'
tn that, onee the eontfauoua fi'. a"ea he. been establi.hed,
it eannot_b' ._tended .inee the~e eAn be "0 aua~antee that
the ~eou ••• te adJaeent b'oek. e,.. avaflable' no~ ean .ueh
ff'el be Jofned togethe,. unless thev a~e Ju_taoe.ed, an un11kelv situation in ~ost in.tanees. A u.e,. ,.eeue.t for afthe~ of t~e.e ooe~at1on. ~i"
the~efo~e be ~e'eeted
bV the
Honite~~
Apafnst th~., howeve,., the ule~ il n~t '~M'ted to
~andoT aeees, on e.ont i gyOIJI f n es.
P rov i ded t hat he ooen
the ff,e bv the aDo~oorfate .OPENt o~ .OPFNC eO~Mand, he eln
oroeess hi. data seauentia"v bv .REAO o~ .~RtTE. The Mo"4t~~
81~o
ensu~es
that lue~ ooe~.tions a~e effected onlv
wit~;" t~e ~relet fi'e-~ound ••

T~e M~"fto~ e~o'ovs

.truetu~e
wh4ck .s
ff,e. 1~ o~rle,. to Mafntai"
those fi'es and 0" t~e UI.~S to
WhOM t~ev belo"Q. .t t~e fi,.st 'eve l , a Maste,. Fi'e Di~ee·
to,.v tMFO) oriM8~;lY identifies t~e autho~iled use~s of I
med1u~ and
.~dieate8
the .tart Doint for the seeon"-leve'
Use,. Ffle Direeto"v (UFn) assoeiated with eae~ of these
users. T~e UFO e8talogues that use,.'s fi'es.
sto,.e~
cont~o'

on. tke

a

two-tie,.

~edium
;~format1o" uoo~

~ith

t~e

4~de.

B.fo~ • • ~.diu~ ca" be u.ed fo~ file-'to~aoe, a ba.ic d4,ecto~v .t~ucture cO~li.tf"o.of the f4~.t two b'oc~. of the ~F~

mu.t ~ • • stablf.hed UcO" 4t.
the followi"O wayl.
1•

Thil

~aY

be .ffected 4"

o~e

of

~"

the IY.te~ d.vice, 0' 0" U",t 0 ~f the IVlte~
d.vic., 4f thtl has leve,a' U"tt., t~e bl.4c df~ec­
~O'Y i. luto~attc."v let uo II ca~t of the 10Ad4"Q
of the .y.t.~ bv the 9Y9LOO O~OQ'a~ Clee ,ectic"
~.2.2).

~the~

deyice. o~ othe~ u~it. of the

.v.te~

dev4ce

~u.t be t"4tf.,ii.d by mea"' of the IZ~ Iwiteh D~O­

vfd.d by PIP-II a.
CDEC-l1-PIDA-D)

de.c~4bed

f" the

~e'.v."t ~a"ual

"C"

I" ••••
th. di~.cto~t •• a~ ~oth leve', ar. the~I.'ves
It"k.d ftl •• f~ that the i"divtdua' d.vic. b,ock. al'ocated
to th.~ .~. ch.i"ed throuoh the fi,.t word of .ach block a"d
f~~th.~
~1ock. ~ay b. add.d ~. a~d whe" th,i, dat.-.oace ••
fi".d C.xceot 0" nECtaoe for ~ee.o"s gtve" 4" .ect40"
•• 2.2> •
•• 1.2~1

~FO

Th. M~D alwaYI .ta~t. at a block (MF01) w~teh fs o"set fo~
.ach devtce.
Th. d.vte. addr ••• fOr thf. ~1~ek i • • to~ed
w.tht~ the ~el.va"t device ~r4ve~ t"terfaee tab'e ~t.cu.sed
4" ."ctio" 3.3.1. It i. the o"'y d~ta "ot ~tored uoo~ the
m.dtu~ it.elf a"d il the Itart-ooi"t fro~ w~tch all f418 eo.~atfo". a,e b.au". Howev.~ ~y d'ltQ~ ~FDI fal'. w.thi~ the
a~., ~'I.~ved fo~ ~o"4to~ u.aae 0" a ~edtu~ ulerl _al 'Ylte~
devic., it could therefore be write-o~oteeted f~ futu~e ~o"4tor ~.viI4o".. 41 a ~e.ult, the data ft eo"ta."1 i. let uo
d~~."a ~ed.u~-f"1t4altlatto" a"d thereafter fl o"'y read.
Ftou~e 4-3 .how. th.t t~tl eur~e"tlv i"cludes
ae"eral eo"t~ol ~.ta .uch a, t~e fixed I"terl.av' Factor fo~ the d.vtc'
,"a oof~t'~1 to blockl r ••• ~ved for btt ~ao. (~escrtberl t~
the ~ •• t .'cttO">. It al.o of eou"e atve. the 1i"K to the
.eeo"d ~FO block (MFD" whtch .tarts the di~.et~ry nrooer.
MFD2, t" ae"."" is e"oeat.d loace at the h.g~-add~ess e"d
of the ~~d.u~ CDECteoe e.cluded), allo durt"a th~ f"ft4alilat40" ~e"t.o~.~ crevfou.'v. It, for~at a"ri that of subseQu."t blockl which ~av he added later Ca featur@ howeve~ "ot
cu~r'"t'v f~o'e~e"ted> orov1de. for I
series of fou~·word
a"triel I . show" f" fioure A.A. The sfo"ifica"ee of each of
th •• e wo,dl 4s as followi.
1.

User Ide"tif4cetfo" Code CtlIC) • is a two-byte value fde"ttfvt"Q the 4"dfvtdual use~ ~"d the o~ouo
with whom he ~av be workt"o, 8S delerfbed 4" the

-PAGE ~8

Progr.~~.r.

~."dnook

UFD start bleck - Dofnt. to the .tart ~f the
tieul.r u.er l • UFD ch.fn einiti."v
to 0)

,.t

'.

Dar-

~u.b,r of word. o.r UFD .ntrv - •• o~ov.d.d aoe.~.t
eoa.ible future c~.na •• in the f.'e·st~ueture ~~ie~
.ioht '.ad te ex~.~.40" of •• ch entrv eeurre~tlv
s.t at

g,

4.

CAe.erv.d for future

.r.

.xoan'fo~.)

Aft.r ."itialfz.tion, the o~ly .~tr ••• fn the MFO o~ the
.y.t •• ·~ev.ee
the SY.t.~ .t •• lf eU •• r 1,1) e~d • "Qe~.r •
• , u.er" C2~0,20a" on I ~on •• Y.te~.deviee or U".t there .s
Ju.t one ~ t~at for the u •• r w~o reQue.ted the .nftfalizattO". All ~ther ."tri •• • r. I.roed. Before .ny ot~er u •• r
c,n .tor •. fil •• 0" the •• ~. M.diu~, he ~u.t.reQu.,t t~ • • at·
tfno-uD of hi. entrY by ~ •• ~. of the I!N .wfte~ .n PI~.ll.
Unt41 the u.,r aetu."y er •• t •• his fir.t f.!e, howev.r, no
UFO f. e.t.bl •• hed and h.s MFD 'ink wOrd re~.fn. at I •
•• 1.2.2 UFO
The for.at ef each UF~ block •• deoicted .t f.Our •.•• !. Th •
• fO"ifte."ce of the ft.~ • • et UC ~ithtn .ec~ ~·word File Entry is as fe"owli
Fi'en.m. - .•• the 8.ch.ract.r n ••• fer the ffl • • s
~e.crf~ed fn .,ctton .,1,1, .t~red .er~ •• two words
in l.ft-Ju.tffied ~.df •• !0 form.t e.ee s.etto"
~.J).

~xte".fo" f. the J·ch.r.cter sufft. to the
f.'e-na~e a',o de.crfbed f" •• ctfo~ '.1.1 ."~ .i~4-

'.rly .tored i"

~.dix.!0

i" One

word~

~.te -

fs 'xtrlct.d from the ,ow-order 1~ bUs of
the v.'ue currently .tored f" the Monitor SVT by a
keybo.rd OlTF co.~a~d C.ee .ectio" ~.'.1' at the
tfme whe~ the f.'e wa. crelted,
4,

Tyoe - f. ore.en~lY u •• d to ~ •• cr •• i".te betw •• "
'."ked a"~ CO"t.OUOUI f.'e. (~ , t ~eIDectiva'yl th~ r •• ain."o thr.e bftl of the •••• werd .r. r •• •
erv.da~a4"st
the CO.lib'e future .ntroduct.e~ of
~t~er f.'e tvo •••

~,

count • coveri"Q 8 bft., 4. set to 77 when
the ff,e is oD'"'~ for creation a"d oreve"ts the
ooeni"Q of the .a~e fi', for .ny other Duroose until it ~a. bee" eo.o'ete~. T~~ eoy"t •• the" res.t
to 0, T~e re~.4"f"o cao.city of t~e ••• bits
~.ag.

PAGE 4-7

D08~.~N"

Cl-1e) 4s p~ovtd.~ to .".~1e th@ ulaOe
ffle·lt~uctu~e f~ a"v futu~. ooe~atf~g

t~8" a sf"01e ule~.
that t~e Mo"4to~ fo~ the Ivlte~ I~ould
k"ow ho~ ma"v use~s we~e cu~~e"tlv wo~kf"Q ueo" a
file f" o~d.~ to p~.ve"t ftl deletio" o~ mOdfffca·
tie" w"fle .t.,l f" u.a. CTh41 fe.tu~e f. "ot fmeleme"t.d u"d.~ DOS because it fmc'fel thet eye~v
,C~OSE ueo~ a ffle (@ye" thoUO" t~.1 wei ooe~ed e~­
faf""lv fo~ f"cut
o~lv)
~'Quf~.s
df~ecte~v
cl'I"-UO ICttO". T~is obv40ullv takes time ea~t1cw
ula~1v 0" DECt,o,.
It fs "ot th.~efO~e d.emed we,w
thw~fle
If"c.~ it
m.~.1v p~ot.ct. the sf"01. UI'~
aoaf".t ~fm.elf).

lowi"O

mo~.

of t~e lame
Ivsta", al·
It would the" be

"eC'SII~V

Lock • usf"o 2 bit., f • • et to 1 w".".ve~ the ffl.
is ope" fo~ exte"sio" o~ uodlte to o~~ye"t fu~the~
ope"i"a for the •• me DU~Dose u~tfl t"e f4~.t eDe~lw
tfo" h.s bee" comoleted.
The ff1e ~av Iti', b.
ope"ed for f~put o"'v du~4"O t~t. oe~fod, how.v.~.
7.

The ~emlf"i"e bits f" thf. word of t"e e"t,v w.~.
ori o 4"allv
rel.,v.d
fo,
the Ito~age of the
delc,ibed ul'lde,.
rl.t.·~ode of the ftle co"te"t Ca.
.RE.O/.~~ITE
4" .ectto" 3.2.2). Thts ~IS l'Iot tift·
Dleme"tad f" o~d.~ to a"ow ffles of m4.ed ",od~ d.ta. The •• bft. a~e ~ow loe~e.

~.

St~rt

9.

- shows t~e device add~e'l, fO~ the ff~lt
block .llocated to the file ."d for e If"ked f1,.
thu. fo~ms the sta~t of the fil. block-Chaf".

Le"oth w, is the ~u"'be, of Dhvl4cI' blockl cove~ed
the file e"d balic.llv e"eble. co~t,01 of ,,"dom
'cc.s. of co"t4ouou. fil •••

bv

1~.

E"d - ShOw8 device add, ••• of the last ff,.-block,
4 ".cesl'rv ,eQui~eme"t fo~ Jof"4"Q 'f~ked ft'es.

It.

P~otectio~ code • il the efqht bft yalue bv which
file Icces, CII'I be de"ie~ to u"autho~ized ule~a ,"d
~hich fs de.c~fbed more fu"v
4" ,ectfol'l ~.1.~.
(The re"'ltn4nQ byte of the aame wo~d fs cu~,.e"t'v

so,,.e.)
.s l'Iote d ,e~lfe" the ff,st UfO block f. al~oeated to • uae~
,"d 4. It"ked to t~ • • Dp~oo~4.t. w~~~ of hf. MFD el'lt~v w"e"
~e cr~.t.s hf. ff,st ifle~
The block ftself ~a cle.,.ad, a"d
fts ff~st ent,v slot 4a th~1'I ~e.e~ved fo~ the new ffle.
5ub.eouA"t fil •• a~~ aS80cfated ~fth the fi~st ay.fl.ble
."'otv s'ot wfthf~ the UFO u~tfl no ~o'e ,emaf~. At this DO.
fl'lt • fu~the,. blOCk f8 ad~ed end linked to the UFD "~f'e"

DOS4."Nn
,~d •• clelred for •• m.'ar ,ct.o~.
It .~oulrl h. "oted t~,t
w~e~ a ~.w If"ked.ffle •• to be c~eAted, a~ i~.t.al .~t~y of

F.'.

",h."

Ffle",mft,. f.t'~lfo", O.te a"d
Itl~t block ts ~.~.
the f.'e f. o~."ed. Thf. bot~ rll.~vel t~. ~.~.etory "ot
,~d ereve"tl the oee"."~ of ,"ot~er ffle ~y t~. lame ".me.
T~' r •• t ~f the ."try fl comel.t.d whe" the fil~ ~._ clo,ed.
If ,ffl. f. deleted,
the ffr.t t~ree w~r~' of ft. d.r.eto~v .,o~, •••• tt. "I~e I"d •• te"'io",
,~. removed I'
thf, ., ,ufficte~t to fr •• the .10t for further U". No Itte"'ot f' ~Id., "o""ve,., to retu,." co~o'et,., v .mety IJFO
blockl to the fr •• Icece o~ t~. m.dfu m•

O"'V

4.1·~ ~H

"'ID,

Th. ",ec~I".lm by wh.ch the ~O".to~ co"t~ol. the "'ocet.o"
of the 4"dfvfdual bloc~. 0" e med.u~ t, I b4t maP ." which
'Ich bft ,..cr •• e"t. o~. bloc~. T~e bft f • • et to 0 u"tfl
the eo~re,oO"d."Q block ~I' b.e" 1 •• fQ~ed to 'o"'e ffl. whe"
tt t, r~ •• t to 1. A. ",4th di,..cto,. ••• , a ",a.te~ co~v of the
bft mle repr ••• "t."O the w~ole IVI.'lble ",~dfu. f. Ito~.d
uco~ the m.dium ftself.
T~' •• ze of the com~lete miD fo~ a"y ~art.cul.r med4um f. of
cour.e.' fu"ct.~" of the overll' '.'e of the medium ft.elf
I~d vI~f.s bet",e." d.vfce ••
It follo"'., however, t~lt 0"
III but the ''''lll-cl~.cfty ",edfl ",ore t~l" o~e devfce bloc~
., ".eded to 'te~e the full ",IC. Mo,.eove,. it would obvfou.,y b, u"~.~lf.tfc for the ~O".to~ to have .11 of f! ." cor.
f~r f.,.·~roc •• 'f"g It o~. ~.",.,
Th. ",ac f. th.~e~or. d ••
vfded f"to ',Q",e"t., .Ich of whfch occu~.@. o~e devfce hlock
,"d o"'v o"e •• ame"t ".ed be IVI.,.hl. f" Co"e et I"y f".t.~ce.
Thf, multf-,eg~e"t .t,.ucture wa' selected, ~.t~e~
th." a"oth.r .chem. i~ ",h4c" th@ ov.,.al' meo •• z. it co~­
.tl~t
fo~ III dev.ce. I"d ."divfdull bit. c~ver a a~ouc of
b'ock~, "ot Ju.t 0"', becau.e ft offer. the fo"owi~Q edv.~­
tlge.'

t.

Wistage of the m.dfum ~. keot to a mf"fmum (hl'f
0" .ve~lo, per ffle)

a

bloc~

2.

~v

,.e.trtctf"g file oo~rAt.o~. to a compact .~el o~
cove,.!d by the .f~Ql • • eg~e"t 11'owed f"
core, oreate,. efffc.e"cy fl obtlf"ed, eeoec •• l1v 0"
mov."g-h.ad dfl~.
~

3.

medfu~

Co"t,.ol of I~lec.tfo" a"~ of block f"t~rle.vf~~
~ellt.velv .f~Dl ••

.s

Fo,. t~e .ake of devfCA-f"deDe"d@"ce, ~h@ .fze of • • a~ .eo",e"t •• co"'ta~t fo~ III ~evfce, a~rl f. ba.ed UOO" the cao.cftv of t"e ."'ellest blec~-.fle, "a.e'y 84 wo~ds.
FfQu,..

....

• -6 .~ews t~at t~e fo~~at of t~e ~e,ulti~q seg~e"t 4"clude,
• fou~-wo~d o~ea~ble, t~1 OU~COII of w~ic~ il 4~dic.ted belowl

1.

Link to

block • 4~clie, t~at a eo~clete ~ediu~
~it-~ac is loai" I fo~~ of lin~ed file and.~ig~t a,
~ ~elult be Ito~ed
a"vw~e~e
0" the ~ediu~.
In
oractic., ~oweV8r, t~e indi v idull bl"ekl .~e CO"ti~uoul a"d are ol"erallv set uo dur4n~ .~4tia'4Ia.
tio" at the ~ioh.addres, e"d for rea.o~1 to be Qive" i" 'Ictio" 4.2.
Cu~~."tlv
a'.o t~e ~ao-f4le
CI"not bl evten~ld to cover a" 4"creale 4~ the ca·
oacity of the ~ed4um a. it hal bee" ~.Iu~.d that
8"V
IUC~
i"C~181.
wf', ~or~~l'y be followed bv a
co~~1ete.rei"itializatfo" w~ic~ wi"
rebuild thl
w~01e
bit.~a~
8f~esh.
It should be "oted, too,
t~at becaus. ra"do~·ecce,s
caoability il "eeded,
carticularlY for f41e deletio", a" .ndew ~f bleck'
used for the bit ~8D il Itored 4" t~e f.~lt ~FO
block al i~d.cated i" the orevioul lectie". Th4s
'~de., rather t~a" the links, ~ay be u.ed
4" ,o~e
inlta"ce' for .e~ue"tial accell a. we".

2.

~ac

~e.t

"u~ber - il "eeded to allow co~~ytatio" of
t~e
ra"Oe of t~e b'ocks reorese"ted by t~e ~aD leq~e"t,
usi"o alQorit~~1 ,.ke t~e o"e fol'ow4no (ba.ed 0"
"u~beri"Q fre~ 1)'
~tG~E~T

BLOCK •

(~A~

SIZE X

1~

y

MA~

.) • 1

~aD lizl • gives "umber of wordl actuallv

u.ed bv
the ~aC s4"ce 10~1 dev~ces (oe~t4cu'ar'y OFCtaoe at
cre.e"t) may not "ee~ t~e w~ole of t~e 'I~~e"t of
eo".ta"t .izl for t~e.r cemolete ~ac. Thi. i"fo~·
~a~io" is t~~~efore ~Iou~~ed for the above co~euta·
tion.
It i. CO"ltant fe~ a oive" device - if all
wo~dS f" the lest ~aD
seg~ent
.~e
not ~eoufred,
they a~1 all let to 177777.
4.

T~I

Li~k to
~0"4tor

block - i. crovided to eneb'e t~e
to aooly t~e o~il0'o~~y m,nt4on~d 4n t~a
oravious section - that of keeoinQ '.n~ed file~ as
fa~
as oOlsible at the fro"t e"d of the ~e~ium.
Thil 4~olies t~at whenever t~e maD seg~e"t eu~~e"t·
lv ~"core I~OW' t~et "0 ~ore block. ar~ evaf'able
~4th4n its e~ea, the sea~ch fo~ another free
block
for a li"ked file ~Ult alwavs revert to the start
of t~e mao in ca.e lome ea~lier blocks ~ave bee"
relealed by .o~e rece"t f41e-delet.o~. This link
facilitates t~e orocels.

r,~ai"4ng

coverine

960

60

fi~st

wo~dS

Block.

of
on

t~e

the

segment
~edium.

for~

T~e

t~e

~.D

nu~~eri"g

itself,
of the

bit. within eac~ wo~d •• f~om ~iQ~t to ,.ft. T~u. t~e fol.
lowino simele alQo~~t~m .uffit.~ ~o~ t~e eo~v,~sion .o~ a ~e.
lat4ve ~loe~ numbe~ 4"to the mao oo.4t.on of 4ts ~e~~e.enta.
tive h4tl (a.suminq Bloek 0 • Wo~rl ~, Bft 0)
1.

As

~ac

~.ntio~ed

wo~d

• Bloek/1e

abov., the

~it-mao

.t~uctu~.

f • • • tablt.h.d

du~.n~ ~.diu~·4"itialfzAtfo".
At this t.~. t~. w~o'. mac 4.
cl •• ~ed to 0 wit~ the e.e~DttO" of the bit. w~.eh ~.o~elent

bloeks

al~eady

a"ocat.d

fo~

t~.

MFO,

t~.

-.D 4tlelf .nd

D'~~'O' t~e SYlt.~ and fts UFO.
tn the lalt ~ae •• ament 'ny
bit. fo~ wh.c~ t~.~. a~. no CO~~.'Do"dfnQ blockl .~ • • 1.0
e.t to 1. In gene~el, th~~.aite~, a. a n@w f~le ~. c~.~t.d,

the Mo"ito~ r.ad. a" aDo~oe~4.t. e.Qm.nt into cor., un'."
on. is alre.dY t~.~. fo~ som. other Du~ooee.
The ~e18yant
htte fe~ blocks •••• an.d to the file are •• t to 1 .n the
eo~e •• oment whil. th8 fil.
fs b.fno buflt. wh.n .t 4.
cloe.d, the cor ••• am.nt fl ~ew~ftt.n tnto the ma.t.~ CODY
o~ t~e ~.diu~.
If the ftl. i. late~ d.lete~. it • • • • tgn.d
b4te a~8 ~e •• t to 0.
File

4.1.4

P~ot.etion

Curfn~ the ~ntroductien to thfl e~act.~, it wa • • tat.d

that
any file·own.~ •• ceete to be c~otected agatn.t the co~rUD·
tio" of hie f11el •• t~.~ by hfm •• lf or ot~.r u •• r. e~artnQ
the 'ame mediu~. In fact ~. D~obablY a'so wantl te eont~ol
the for~ of aece •• thOle eth.~ ule~1 ~ave to h4s ffle ••
~o~.ov.r ~. may natural'y wf.h to Q;ye o~,at.r ~~ivfl.Q~1 to
those w4t~ whom ~e i. cl0 •• ly a.lociat.d in hie usao. of the
IYlte~ then .11 othe~ ••
Ffgu~A 4·1 f"ustr.tes .n .fQht-bit code by w~4ch
the u •• ~
ea" indieate his ~eauire~ents for .ach of ~is ftl ••• The
eureo.e of each of th~ thr.e ~iA'dl Ihown f. A' follow ••

'.

~wn.~1 the u.e~ ~im.elf can. in oenera', alw.ys aee.ss his f41e. in anv m.nner he eh~o.e~ (e.~.
Qead, w~ite, D@lete, etc.). How~ver he t. affo~ded
two lafequards r.ere •• nted ~y the bfts 4n th4.
fi@ld. qy .etti~g bit e to 1, t~e Ue4~ ea~ denY
~im.elf
~rite
an~ O.'ete cacabflit4e. fn o~der to
nrevent aceidental cerrunt~on of ~is data.
wit~
hit 1 at 1. he can D~ot.et t~e fi18 aga4~.t ~ute·
~atie deletion bv the sy.tem when ~e log.
eff the
eO~Duter ( • f@.tu~. not yet 4~D'e~e~t~d in OO~).

r,rouOI this

f;el~

e.n b• • et to • three-bit code by

whfe~
t~e user ind4eat.8 the 'eve' ~f .ec@ss ~e is
oreca~ed to al'ow h4s "friende",
i.e.
those who

PlGr: 1'-11

DOS4.~Nn

lame

~ave

t~e

codes

o~esentlY

.,

5
3

1

'"

UIe

~~OUD

a,sfcned

• no AcceSI at
• run accel.
• ~ead acce.s
• w~fte accels
• d@lete aceeSI

~u~b@~

as

~fmle'f,

T~e

a~e'

8"

.ne'uI4o~ of
~.g~e~
fl
fmolied.
Fo~
e.emDle,
w1t~
D~otectfon
'eve'l
set at code 1, t~e Monitor w4" allow a "fr1e~~" to
w~he, read and ~un t~e f4'e, hut "ot ~e'ete ft,

At

3.

a~v

leyel~ of.cou~le, t~e

Ot~erll

t~41 f4eld can be sfmi'a~'y coded
to .how
'evel of acce.s allowed to Ulers outlfde the
ow"er" Q~Ouo •
t~e

• e .ndtcated tn sectton 4.1.2. the resu'ta"t byte fs Itore~
i" t~e. ~ile e"try f" the UFO w~8n the f11e il estab'tshed.
The Mon4tor alwavs ch~cks eye~v recuelt for accea' aoef"lt
the stored code Clee lectton 4.4.2). T~e ijler cen c~.~ge
the code at anv time ~1ther directlY from a Dro~ram using a
.RENAM o~ ,~EEP re~u@.t d.ler1b~d 4n ~eetio~ 4.8.4 or
throuoh t~e IRE o~ IPq .witchel available in DID_tl.
It Ihould acatn be noted that t~e Drotect40n offered by t~fa
ca~ be valtd on'y when e~e~y user shar1nQ the me~1um f'
perform4n~ all his I/~ oDerat1on, wfth1~ the
fi'e-structurl
f~amewo~~,
f.e.
by .REA~, .WRtT£ or ,8L~e~. T~e Mo"ttor
can"o! end wi" not deny acee.1 of any lort to a u,e~ reQueat4"" .T~~N Ceve" to ftl own fi'el).
cod~

P4G~

4.2

--~-~.

..

i/-t2

.

Acolicatio" By Dev4ce

The ov.~a~l ~hilo,oohY fo~ the ~O, file-structu~e, ~esc~ibed
4n the oreviou. section_ orovides fo~ ooe~ati~n. which ca~
be deviee-i"d.cen~e"t to some con!iderable de~ree and this
concect. ha. been ho"ou~ed al fa~ as cossibl~ in its imclementatio" on a" disks an~ DECtace. ~eve~theless, thA~e a~e
obv~oul_~~ob'ems ~n rto~d adhe~~"ce to it at 8v~rv ooint becau.e_of the natu~e of the device. themselves, Th4s section
therefore
illust~atel
the detailed acelication of the
ffle·lt~ucture and in ea~ticular in~icate. var4atien.
f~o.
tha no,.,.,..

4,2.1
.'thouah the ~Ftl di.k 4. ba.ically wo,.d-o~ie"ted, nns 41'11~Ol~'
a block st,.ucture ba.ed 0" ~4 wo,.ds t~ ~ bloc~, with
the d~iyer erQvid4"o the "ecel.e~v add,.e,,·cO"V4~lfen.
The
RC11 dilk drive,. alwav. a"u""es a .imilar blOCk .ire a"d 4"
,. •• ~o".e to e.ch IYltem reQu •• t fo,. a bloek, tran.f.~1 the
a~c~oD,.iat. double 32-word .ector accord4nolv. Fu~the~more
the additio" of .xt~a ~1atterl to e4t h er co"t,.o11e,. merely
•• tend. the continuous .urface available to the .y.te~ tcrov'ded of cour~e that the u.e,. h.s chy.ical'y AI.fQned all
hi. cl.tter. in a .t~ict alce"d4"~ •• oue"ce fro~ 0). To All
fnte"t. a"d ourcOle., the~efo~e, RF t1 a"d ~C11 Sylteml
diff.,. o"'v 4n t"ef~ ove,.all caoacity a"d "AnCe the "umba"
of bit-""ao bloeks needed to eo"t r 01 this.
The followi"o
table .how. the co,.,.escon1.nce,
PL.TTER~

1 X RClt
2 X RClt
J l( RC11
4 X Rt 11 or
1 )( RFt!
2 )( RF11
., )( RF11
4 )( RFlt

QLnCI(S
1~2'

2P14-'
3~72

.096
8192
1288
1~384

BYT

MAPS

2
3

•
5
9

13
18

The balie fermat for eith4r d4lk, whe" "ot i" use AS the
.y.tem d~v4ce, is 4l1ust~ate~ at fiourA 4-~. Th~s shows i"
ca,.ticular that the ,.eQuisfte bit-mac blocks ArA 4" a contfguous Ar~e at the ~ioh e"d I' ~es "oteri in s~et.o" 4.1.3.
Thev a,.e stored here for two reeson"
t.

qy thei" nature, they ~u,t be
ued~t~d
a"d .~ould
not be i" a"v Dote"tfll1v wrfte-loek~d Irea - the
toe of the d4sk .s the lelst likely oa,.t to be e~o­
tect~d.

PAGE~13

The tOD of t~e di.k 0" t~e othe~ ~e"~ f. t~e "o~~e'
Dl.ce fo~ the .to~aoe of CO"t.ouou. file. • the bit
~IO block. I~e thu. cO~D.cted to keeD theM
out of
the WIY,
The Que.t4o" of w~ite·D~otect.o" ."t~oducPS I"ot.he~ rl •••• ~.­
'l~ftY
bet wee"
the two ty~es of dis~ w~e" ute1 II
M
Iy.te -dev4ce. The hl~dw.~e flc.'.ty 0" ~oth D~ov.de. A set
of .w.tc~e. with elch .w.tch cove~i"Q a D.~ticu'l~ .~ea of
the dilk .u~face. The .~e. howev.~ •• ·"ot t~e •• ~e.
Fo~
~e'IO"' stlted i" .ectto" 2.1.2, DOS doe. "ot cu~~e"tlY .,'ow the use~ to 'DDly I"V of the.. ,witc~es,
~.ve~thelell
to me,t t~e. futu~e eO".b~l.t~ that the Me"~to~ f~.e'f ~iQht
be w~fte-o~etected, t~e t9D of the a~el .~e.e~ve~ for ft. use
h,l bee" .et to .cei"c.de with I" aDD~oD~iat~ .witch. 0"
ffou~e .-9, whiCh give. the
layout of a .v.t.~ df.k, a
HI~dwa~e P~otectio" ~.n~ hI. bee" .how" co~~e'Do"di"~ tOI

t.

~"d of block
"'777)

2.

~nd of block '.31
block '1077)

'717

0"

0"

RFtl
Rctt

to

Ce~u.Yalent

C,Qu4vlla"t

to

wo~d

Ictual

F.'e.D~ece"i"o oee~ltfo"s 0" both RFll a"d RClt fol'ow the
oe"e~,'
outl~"e qtve" ~"the D~ev.ous sect.o~, Lf"ked f.'e

delet.on .e~ft. fu~the~ cOM~ent h.~ ••• "ce th •••• o"e ODe~­
et.o" h,"dled d.ffe~e"tlv 0" O~Ctaee I"d di.k, A ol~t of
the D~oee.s •• the IdJu.t~e"t of the .I.t.~ b4t.mao to ~e­
fleet the bloeks ~elea.ed bv the ~elete~ file~ Thfs ea" 0"lv be eccomDlf.hed bv I •• e~ch of t~. file .t.elf to dete~­
mf"e the ~elevl~t blocks, .4"ce the ge"e~.' .t~uctu~e D~O­
vfde. for no othe~ ~eco~d of thi •• Such .el~eh
fMo'.e.
thlt the 14"k-wo~d. on the blocks the~.elvet ~ust be ~e~oved
to 'lfeQu.~~ Ig •• ".t Dote"tta~ disk-co~~uot'O" l~te~r fo~,
.ho~l~ • o~~Q~a. o~ .• v.te. flilure occur, fi' ••. mfght rema4"
i"comelete 0" the d4.k a"d the ~e.u't. of de'eti"Q them ."
thi. wav could ~e u"D~.diet.ble. This s.erch I"d '4"k.e'ea~
obv40u.'v tlke • • Ome ti.e but it i. not dP.e~erl un~el.onab'e,
beclute of the relat~velv fl.t d.,k Icce •• ~~t __ enrl ft IVO·
fd. oth~r comnlicatfon' to be d •• eu •• ed i" .ectio" •• 2,J,

"'0

The f"te~lelve factor for linked f4'e' 0" both ~Ftl ."d RCtt
fl 5~ . rh~. ha. b.~n baaed u~o" the oDtf~a' t.me tA~en bv
the Mo"fto~ to eO~D'ete the D~oees.i"Q invo'v~d f" load4"Q a
D~o~ram fro. these df.~ ••

The O"'V mov4"O-hearl di.k.D~e.e~tlv ,uDoo~ted bv OO~., the
R~11, thOUQh thi. occur. 4" two v.~lfo"1 • O"P. ~iQh de"sitv,

DOS4."NI'l

PAGE 1·14

.t~uctu~e~ into 480~ ,eeto~, of 2~6-wo~d. "eh.
the ot~e~
low de~'.tv with ,eeto~' ~,duced to 128 wo~d •• '0' 'i~oli­

city, bot~ v,~,40n • • ~e hlnrlled bv the ~on4to~ in 25e·wo~d
block., t~, Rklt d~4v.~ .Q.4n o~ovidina .dd~e ••• conve~ •• on
whe~e

~.alJi~,d,

unl •• e the fixed-head d4,~ •• the eddition of e.tr. "K-lt
c~~t,4dee. _cennot be t~eat,d ., .i~o1e ext.nsion, of • cont4nuoul Iu,f.ce, 'inc' the U"~ cannot be exo,cted to r,tei"
the ,.~e " t of ind4v4duallv c~enQ,.ble e.~t,4~g •• t008t~.~
., en,entitv, In'te.d 'aeh MUtt ~e~ •• n_e" i"~e~end.nt u~it
w4th ft' o~n 't~uctu,e - and, in f.et, i • • d4ffe,ent madfUM
4" the ,,".e of the deffn4tton of • ft'e oive" i" the int,oduction to thf, ch'oter,
A,. ,e'ult, th, "umb.r of btt
m.PI to cont~ol the c.o.citv of .n RKlt dfl. i. ,'w.V' con.t.nt. _t~ough of cou~.e the~. 4• • dffie,e"c. between the
two ve,..40n,.
HIGH DENSITY (4810 ALOCKS) •
~OW

DfNSITY

(241~

e~OCKS)

~

• ,

MAPS
~APS

The lavout of .n "Kit dilk, w~ethe~ u.ed •• t~e .v.te~ d!vice O~ not, 4. otherwi,e the •••• " th.t i"ult,.ted fo~
the fix.d-he.d dil •• at figure. 4-8 .nd 4-9. In D.~t.eul.',
th1. mean. that the bit m.~ ~loek. r.m •• " toaethe, .t the
top of ~he di~k, be~'IJ.e th ••• e.in .110w. th, u•• r the .o,t
conttauou. ,D.ce fo,. la~Qe ~.ndom-.ccel' fil... Thi. t.
con,fd.red to be more fMDort.nt th.n the ,eductton of
he.d·~ovement,
w~.ch mtaht follow tf the meo ,eame"t, we~e
d.'De~'@d ee~e" the di' • • u,f.ee .0 thet .ach ~e.4d. Me~e
clolelv to 4t' .r.a of centrol.
(Thi, WI' 0,404n.',v
pl.nned • h'nee t~, linked-f.'e .tructu~e o~ t~e m.D., It
.heuld ,1.0 b. noted that ·~.rdw.~e.D~o~e~tfo" 'in." ••• ueh
•• me'n~"Qle •• fo~ ,,~tt, .,nee thf. offer. "0 •• 1eettve
w'ite~l~ck
fe.tu~e •
ft , • • 11 or no~hfnQ. Neve~the'e."
the bound.,v it ,eo,e"nt, f. the ."d of bloc. *277 whfeh
give, the Mon4to,. ,ufffctent r ••• ,ved .re. fO~ ft, o~e.ent
need. and lOme ~oom for expan.4on,
F41e-D,.oc.,.4"g fo~ RKlt ~Gat" follow~ the outl.ne. o.ve~ i"
I,etion 4.1 •• au,'4fted at the e"d of the D~.V.OU' .ectton.
The Interleeve facto~ i. al,o 5 on the .e~e ~lli. a. th.t
u,ed for "Ftl ."d RClt,

.'thouQ~' i" ~."v ways, DECt.D. ea" be eau.t.d to
dia.s in
mode of us.a. to the extent t~at most f41e-orOc.,.inQ ooe'a.
tiona cen b. t~ulv deviee-inde08nde"t, 4t ~.. on. .e~fous
d~.w-~Iekl 4t .s .1"Q'e-t~.eked I"d it ., 'f"e.~.
It i. ~b.
vioullv "ow.~ t~.~.fo~e ~nd tloe-Dolft40ni"G .,.um., • ~uc~

PAGE -st-I!5

OOS4.~Nn

g~e.t.~

0".

.1a",fic'"c,.

m."o~ .ff'ct of t~is •• t~.t

~ecto~y ."d bit ~.o blocks, w~ic~ .~e ae"e~"1Y .cce.,.rl

04-

4"
•• ~e ,eQue"ce • • ~oul~ be keot ~e •• o"ebly c10se tog~th.~
~.th.~ thA" .t oDoo.ite e"dl •• 0" dt'k.
T~4' i. ~.adi'y
fe •• ibl~ whe" the ove~."
.t~uctu~e .l'owl .lloc.tio" of
t~ •• e block. i" ,"y eositi9n ."d Dotentia'
w~ite-'oek."Q
does "ot ~eou4~e co".ide~.tio", .ince thi. i, not ,,'ective.

the

A .eco"d co".eQue"ce i •• modification i" the fo~m.t of •
link.~ file.
If •• e.~ch fo~ t~. ne.t f~.e ~,eckf~'8Ch.,
the '"d of the m.o .eament cu~~e"t'Y i" u ••• 4t i. ~ •• ,on.ble t~.t th4. le.~c~ b. ~e,umed f~om the st.~~ of the .e~­
m.nt on di.k • but "ot '0 0" OECt.o.. ~ee.u •• of the o~y.i·
c., t.c. cositiO", .t m.k •• mo~. s.".e to UI' t~. h.~dw.~e
f.c4l4tv fo~ t~."sfe~~i"g i" ~ey.~.e. Howev.~, t~i. f.etl.ty onlv .ffect. the .cce •• of the t'De, .t the eo~e .nd,
t~.".fe~ i •• lw.ys fo~w.~~s.
Tht. ~e'n' that b'ocks w~itt."
b.ckw.~d. mu.t ,'10 be ~eAd b.ckw.~d..
Me"ce tt b.eomes "ec •••• ~y to ~em.mb.~ t~e taoe t~."sf.~ d.~.ctton wh.n the
file i. c~e.ted. s;"ee one OECt.De cont.4". on'y !57e bloek.
of 2!5~-~0~dS e.c~. it is conyenient to u.e the li"k fo~ th4s
OU~OO •• I
Po.itive li"k • ~e.d "e.t bloek fo~w.~d.
N'Q.t1ye 'ink • ~ •• d "e.t b'ock b.ckw.~~.
The ••• ~ch "Qo~ith~ .ctu~lly .oolied to OECt.De u •• s the
f.ct t~.t when the teoe i. stoooed by t~e d~tve~ efte~
t~.",fe~~.nQ e b'oc~ fo~we~d, it t •• oo~oo~ •• telY Do.ttio"ed
fo~
4~~e~iate ecce ••
the o~eced4"Q b'ec~ tvic. ve~.e fo~
• b.ckwerd t~e"sfe~). Thu. this i. the ooi"t f~om whic~ the
••• ~c~ i. ~e.umed.
He"c. t~e fo~met of • DECteDe li"ked
fil. ~ioht 'oo.lr •• fllust~.ted i" ftou~e 4-10.

to

84"ee the drive~ .lw.v. stoc. the tao. bet Wee" t~a".fe~.,
t.De ~o.itte" t. allo t~e b •••• fo~ the interleAve f.cto~ on
OECt.ce, c~e.ent'v set It 4. Owi"Q to the ttme .ctu."y
tlke" to bri"Q the teo. to I .tend.ti" I"d late~ to b~.na
it b.ek ue to "o~~ll soee~ for I tr.nsfe~ in the .eme di~ec­
tio", th~ee b'oc~, usuI"Y 0'" ae~o •• t~e ~eed·w~.te ~ •• d.
oec •• ~o"."y • fourth ~.v
e'IO,
e.oeci."y
if
the
brlki"Q·mech."i.~
of the t~I".OO~t is i"eo~rectlY IdJusted,
."d tlOI reoOlitio"1"o i. the" "ec,s'~ry •. ~owev.~, the f~.­
QU'"CV
of .uc~ oceu~re"c. i. "ot lu f ficie"tly htoh that tt
cu~~e"t'y WArrlnts An i"c~ ••• e 4" the IF when this ~.Qht u""ece.llri'y. 4~~ose some 5~ Mil'4seco"d. of e_tra .ce ••• t4me
for .~c~ ~'oek in ,'~ost ." OErtloe 'i"ked-fi'@ oDer.tionl.
L4"ke~.fi'e de'etio" w.s s~ec.ficll'y Me"tio"ed in 'eetio"
4.2!1 b.c.u.e t~1. 1. one major .~e' ." w~4e" DECt.oe ••

d1ffere"t. Thed1.~ ~e~Mod w•• S~Ow" to be • m.tte~ of
••• rchi"o t~e fill for its Iisoeieted blocks ~nd at t~e same

t1~. ele.~1~o the '.~~.wo~d ••
"" OECt.o. t~4. i. out of the
aUI.t~o~.
the 'I.~eh '~O". ~~a~t b• • ll~othv ~De~~t10", to

lee ••••• ch bloek • • eco~d t1 •• to el •• ~ it. 'i~k.wo~d, w1th
t'OI ~lo~.~t~o"1~Q .Iae~ ~1m. ~.k •• 1t .~eo,.~b'.. T~. o"'y
l't.r"lt1v. 1. t~e Drovt.fo~ of I "D.~.te r.cord to .how
thl bleek. f~ •• eh ftl • • ~d the .ho~t •• t fo~~ of thf. t.
I"oth.~ btt ~ID.
How.v.~, tht. th." ~If ••• t~e DPo~1em. of
hlv."a .Iv.rll .10' 4" e~~. It 0"' t.~e (t~. m•• t.p fop
tl~mf"lt1o~ of block ev.tl.b111ty .~d 0"' for •• eh f1', cu~·
'I"tlv u"d'r e, •• t1e~) ."d of th~1p 'to~.a. UDO~ the O!C·
tiD'. 80t~ Qu •• t.o~. hlv, b •• " .olv.d by t~DO'~~O the fol'OW;~Q _~ t~tet10~, o~ OECtID. u•• o., w~teh.I~' ~'I.o".bl.
t" ft. el •• but could not b. eo".1d,r'd for dt.k ••

d.·

••

8y ."~wt"Q e~ly 0"' f11, u~der e~ •• tto" I t . t1 ••
("et w1t~out .," •• for o~lette.' oeeP.tt"O eo~.t·
d.rltto",) t~. " •• d fo~ I"V but the ~.,t.r btt •• D
t~ eor. d1 ••
r.,
The f;le e~Dv e.~ b. eo~·
.t~uet.d fro. the b.for • • "d .fter
.tat.. of the
~I.t.~.
Ao.~t fro~ •• vt"O eo~., t~1. al,o ~.au1~ ••
, ••• d.O.rtu~. f~om the •• thod of Qe"'~I' opoe ••••
t"O • ~,~.,v o~
t~a oo.~.t.o~ whil, th8 ftl. t.
ele,.d.

co ••

•••

Ay t~oost"Q • ~a.1mum of 58 ftl •• o~ I •• ~e'. t.o.,
the tndtvtdu.' ftl. miD' e." be oAeked into. CO"t1aueu. I~" of 8 bloek. c.i"c. e.eh bloek of
25~.word.
c.~ .ccommodlt. 7 .10, elch u.1"o J8
wo~d').
Mor.ovlr, thi. ftaur. of 56 •• 1"0 the
eaDleity of 2 UFO blocks e" the b •••• of 28 9·wc~d
.nt~t., o.~ bleek.
The
for I"V f1'. 1• • • • 1ly
.ce •••• d by eQult1nQ ttl rel.ttv. oosttt~~ t" the
eonttouou • • ~ •• to t~. pel.ttv. Dostt1en of the
,... f11.' • • "t~v t" the UFO. For •••• 01., the
lath ftl. in the d.~.cto~y hi. ttl ~'D .top.d ••
the "co"d e~t~v in t~. f1fth block of the m.o
~..
(It .hould b. "eted of cour •• th.t the fo~.ao.
1na " •• d "ot '091v to co"t10uou. ftl". If ."y of
the ••• ~ ••• t.blfsh.d on the t.ee, t~.tr eo~r,.·
oondi"Q ftle mao. are 1.ft bl."k.)

m.c

.r-

Th. leyeut of I OECt.oe, allowt"Q for the 't~ttlttO"S d •• •
crib.d, fs ."u.trated at f'oure 4-11. It will be see" that
the full MF"/UFO .truct~re f. orovtd.d. ~astcal1y, tht. ~a·
4"t.t". e~mD.tibtlttv with dtsk oo.ratto" •• Tt .1.0 e"sbla'
the oarhlo, dub10u. factlitv of .eve~a, u.ar • • h.r1"q the
•• ma teoe. The UF~, of cour.e, c.""ot be e.te"ded, t" view
oi the ~.str1etto" 0" t~e numbe~ of ftle..
(S~~ee ~ECt.ee
•• ~ot ~u~~,ntlY a oote~t •• , Ivstem deyfce, t~ere is "0 cerr •• co"di"Q illust~.tio".)

DOS'.~N'"

.

DOS fi'e ~.".o.~e~t is ce~for~ed by • • et of ~o~ito~ ~o~ules
w~ic~
a~e
.1' celled bv EMT, eec~ k.vi~Q 4tl Own u~ioue
code. ~oweve~ ell of tke~ ~ave c~a~acter4.t4es w~ick ~ake
the~ ~4if8~e~t f~om t~e gene~al 1/0 ~odu'es di'cu!sed du~i"o
c~.cter 3.
T~e curoo.e of t~t. sectio" 4s to exe~4"e
t~e.e
c~.r,et~r4.tic.
,~d
tke~ to discuss tkeir CO~MO~ tnte~face
ch."""s. T~e 4~dfv4~ual modul~1 will he delcrtbed fP'l fol10wfno ~ectioP'l' •
• ,, tke module. conce~ned .~e l4.terl w4th t~e4r EMT code. iP'l
~~O~re '-12.
T~ey e~e I~own to ~el1 4nto oP'le of fou~ c~te00,.4.sl
1.

~odule.

fo~m

celled directly

ff'e-~ou.ekeec.P'lo

.DLETE, etc.

e use~
funct40".,

f~o~

o~oo~e~

e.o.

~odules called bv otke~ Mo"4to~ ~out4n~.,
4"e oe~eral 1/0 ocer.tio"s suc~ e! .OPE~,
to p~ovide f4'e-~e~dlf"q.

'.

to cere
.ALLOe,
cerfo~m.
4n o~~e~

~odules
~odules

celled oeP'le~ally bv otker fi'e-~8n~QemeP'lt
to cerrv out eommoP'l 0~e~et4ens such .s ~f.

reetory

le.rc~iP'lo.

Module • • cecf.llv .Isocfated with ot~e~ ~odu'es
the fi'e-menaoement .et.

in

Th4. orouofP'lO fllu.trete. one obvio~. df1f,re n e' from t~e
oe n er,1 tlO module.. o~'v tho.e fn t~e f,,.st cateaO~Y are
immedf.tely eccessfble by • u.er. The.. of cour.e, beinQ
1/0 ~o~u'e. tke~se'ves ~eve EMT codes iP'l the r'"oe 0.27 es
the li.t .h~w •• T~ev keve orelcrtbe~ c"l;no .seQueP'lcesl
de.e,.ibed i~ the P~oer~m~e~'s ~,"dbook, whfc~ inelude the
p •••• "O of f"for~etion OP'l the crocesSor .tack e"d tkis must
be removed befo~e t~e u.er crOQ~e~ fs ~ee"'ed. On entry
f~o~ t~e EMT ~."dle~, the steck too cOnt.i"s t~e eo"tents of
the o~Og~.~ Req.lte~. as described 4" eectfoP'l 2.2' tkese
mu.t be restored o~ e.ft •. Actuel Regf.te~ conte"ts oessed
by the ~~T h.ndler a~e esoeciallv ~elev8nt to t~ese Modules,
in o.~ticula"l
R0 • add,.ess of. the O~B for t~e
dataset nei"Q serviced
R1 • add~e.s, 0" t~e stack, of the eal'
c.ramete~s casse~ by t~e c~O~"em
The ~odu'e. iP'l cateQo~tes 2. t~rouah • 0" the ~t~er ~aP'ld are
iP'lvi.4ble to t~e u.~,.. as indicateri "'v t~eir E~T codes. I"
the PrOe,.a~Me~'s Ya"dnook t~e.e are Show" a. reserved fo~
'Yltem use.
T~ey
a~e
not iP'l the 1/0 ra~Qe .ince t~e ~o-

DOS4.RNO

PAG~

1l-18

dule., t~ouc~ sti1l oe~fo~m4"c I/~, a~a cI"e~ at I leco"d
o~ even t~i~d level w.t~." t~e ~o"ito~ and t~~ ~e~u ••• te f"fo~mlt4o" ~al Il~eady bee"
luoe1ied It t~e ff~lt 'eve'.
Thi. flct e110 cause. oth~r cha~Qe. 4" t~e ce"
terfaee a. fo"ow ••

I"d e.ft f"-

1.

Ca"fnG 'eQuences need fo"ow"O 1eif"fte fo~m8t.
T~e"sie"t
i~fo~~etto" mey thu. be t~A"sm.tted efther th~OUQh t~e Itack o~ the ReQi.te~I' whfoheve~
i. more co"ve"4e"t to t~. ~odu'e. be4no ea"ed.

2.

If t~e ~egi.te~. a~e u.ed, the ca"e~ ~out~"e .tf"
~eceives t~e deta 0" t~e .taek, A• • eved by the !MT
~andle~.
(A tyoice' .tack fo"owf~Q a CI" i • • ,'ust~ated et ffQu~e 4-13.)

3.

Un'e" the interflce ~eQui~e. ~t, t~e .eved Reot.ter conte"ts mu.t be re.to~ed 4"tlct te the cI"i"Q
~outines.
Th4s aoDl ••• i" oe~ticule~ to ceteQo~te.
3 , 4.
Modu'e. in ceteoo~y_2, i".fsct, e.it dt~ect'Y to t~e u.e~1 they th.r.fo~e actuI"Y
~emove
the ReQi.te~ co"te"t. I"d the .eved elll PC I"d
st~tu. i" ord.r to o~orluce the .tlck .tlte fo~ .uch
exit.

4.

Contents of qeai.te~, o"_.nt~y f~o~ the F-MT hlnd'e~
i" g.ne~81 hive "0 .ionificl"ce.

A les. eoce~e"t diffe~ence bet wee" the file-mlnlQement module. en~ the othe~. I~ile. f~om the feet thAt they sti',
~~ovi~e o~oo~em .e~vice..
The u.e~ ee" th~~efore ,.'ect
between mekinQ them ~es.dent, efth.~ Oe~me"e"t'y o~ Ju.t fo~
a o~oo~em ~u", o~ leevinQ them to be .waeoed 4" when ~.­
au4~erl.
Fo~ thi. ou~eo.e, he i •• "fo~med of the e.i.te"ce
of e" ef them - even ff they a~e .hown only a • • ub.tdil~y
~outi"e.
4~ Aoeend •• C Of the P~OO~lmmerls H8n~book.
If he
choo.e. residency, there i. "0 e~obl.~. The sweoef"; .ituatio" .~eweve~ ia e"othe~ ~atte~. In ~ellitv, m~dule. fn eeteQo~fe. 3 , 4 .e~ye el .ub~outt"el o~ov.dt"Q loectll
fU"CtiO"1 !o~ the othe~. but they C~""ot ~e b~ou9ht into the
Swec Buffe~ fo~ this fs stfl' occucied by th, c,',f"Q
dules ." ~Iteoo~ie. 1 a"d~.
The ,o'utfo" f. thet the
'ette~ ebtl4" Inot~e~ 256-wo~d ~uffe~ f~o~
f~ee ce~e,
vie
t~e ~o"ito~ S.GTB ~outi"e described 1" sect4o" 2,.,2.
end
~ove themselve. f"to it.
T~i. then 'elves the
SWle 8uffe~
free for the celled r~uti"es to use in the "o~me' wey whe"
reQuf~ed, es desc~ibed fn Section 2.3.

.0-

The ectuel ~ee~e"4c. "Y w~ieh this eeerst4o" •• meneQed des~u~the~ excle"etion.
I" the f4~lt ellce, the ~ove.out
must only occu~ if t~e eeteao~y 1 o~ 2 modu1e is ectusl1v 4"
the Sw.~ ~uffer a"d "ot a'~eady ~e.4de"t cut.ide 4t, fo~ obvious ~eISO"S. T~e mOdule ~ust itself resolve this 8"rl 4t

e~ve

OOS4.RN"

0"-

use. t~e fact t~at the UIAge-Count i" ftl f~~~t byte ca"
1v ~e a if 4t ~al not ~@ee1verl co"t~Ol throug~ Swae A~ea
Ma"Ager Ci" much t~e lAme wev that the other module. de.crfbe~ '" cheeter 3 d~ter~1"e t~eir exft leQU4"Ce). If the
COU"t fl "0"-0, the extra buffer i. obtai"ed a"~ the .ove fl
eccomol~.~erl, aa ~lluatrated~" ~4~u~e 4-t4~
nurf"o the
move, due ~~Q.r~ 41 tak." of the oOlft4o"-f~de~e"de"t "sture
of both buffe~s. I" adrl4tio"~ the ffr.t word of the ~outf"e
w~e"
.tored i" the "e~ buffer is u.ed as A eOU"te~1 t~4.
must stert at 111401 Cor -1,1) sf"ce, al ~" ove~1ev, the
routi"e ce""ot be re-e"tre"t e"d h@"Ce 41 o"'y once called,
ft e"ria at 1 8fter the move and thul Itf'l f"dicetel
"o"-rel.de"~y.
Th~ routf~e the" cleerl the f1rlt wo~d of
the Swe~ ~uffer to free it for. furth@r ~ae a~d_ co"ti"ue'
f~om
ftl "eW locetio". 0" evft, the extra buffer must be
~etur"ed to f~ee eore. however, the routf"e C4""ot
do thi.
whfle it fl itaelf st4" in the buffer. T~erefore whe" the
UleQe COU"t Cal "oted above), I~OW' .ueh ect1o" to be neee.·
lerv, the routi"e simulates a call te the ~o"fto~ S.RLB
.ub-reuti~e bv olac4"o the system exft eddre.s Cwithout
UI·
aQe-Cou"t deereme"t)
too of the ateck a"d nv the" u.f"Q
JMP rat~er the" JSR.

0"

The followi"g paraQreehs descrf~e the date 4rees eaoecfallY
esteb'ished for the tre" •• 1slfo" of ffle ~e~eoeme"t deta.

A', user o~oorems callf"g. for ffle-ma"aQe~e"t o~e,atfo"s, or
for Qe~ere~ I/O w~feh might 'ea~ to .uch oDe~8t40". ff the
device is right, are reoufred to suoely ff~e. f"fo~metfo"
throuel'l e User File Block (IIFP). Thfs i. deserfbed f~ dete •
• , 4" chaoter 2 of tl'le ~rogrammer'l Ha"dbook.
Brfefly, el
show" 1" fiQure 4-1~, t~fs e"owa the user to f"d1cate ~fs
~uroose e"d fde"tifY the ffle reQuired, f"c'u~f"g fts ow"er,
(ff "ot himself), A"d to esteblfsh ft. oroteet40". It e'lo
~rovfrles ~oom for the Mo"ftor to
retur" error 4"formatfo"
a"d a" ~v.t should such error oecur.
The a~dre~s of this F4'e-block 1. oasserl ~s o~e of t~e oro·
are. cell ~arameters a"d the Monitor routf~e uses it to ac.
cess itR eo"tents as reoufred.
~oweVe~,
al 4"dfceted f"
section 3.1.2.2, the user can suoolv diff.~e"t f1'e f"fo~ma­
tfo" v;e • keyboard A~SIG~ commenrl. If he h.. do~. th4s,
t~e .tN!T routine seves the add~e~8 of the ~e'eva~t e~t~y 1"
the OAT ooi"ter i~ the d8tAset ~O~ as "ot~d i" seet40~
3.2.1.1~
The fi'.-~aneqe~e"t routi"e th@ref~r@ eheeks .uc~
e"t~y a"d u.e~ its eo~tents 4f ve1frl
(se~
L'II( 4n !lactio"
4.4. U

It

el~e.dY heen ~entfoned t~.t t~e
file-~.neQe~e~t
~e­
e.n UI. t~e .teck or R~Qf.t@r. fer tr.na~itt.n~ tran.ient det. between one enot~er. ~o~e Der~ene"t dete w~fch
~u.t ee ~eld ac~osa .ever.l r~oue.t. r.ouire. d.ff@~ent .tore;e. ~uc~ datA, betng IODlice~le on'y to the dete.et ~einQ
.ervteed, •• i~oure and 4. t~e~efore 14~4lar to that .to~ed
fn t~e no~ fer oener.l I/~ orecessfno. AI shown 4n Seetion
3.1.2, t~e size of t~@ ~DR 4tse'f ts aet to cater only for
t~e ;eneral need, ffl~.~.neQe~ent r80uires ad~ittone'
IDec.
e~d thf •• 1 provt~ed in • Ftle-tnfo~~et.en qloCk (Frs,.
~

••

d~l..

F'gure '-\6 shows t~e FIB for~et.
Ba.fc.lly th4. t. de.f;~.~ to folloW e 180uence cerrelPondfnc te t~. file entry
4~ th! UFD.
It will b. not.d, however, thet t~. f41e ne~e
ft.e1f t. not fncluded.
Thi. •• unn.c •••• ~y fer a ffle
whfc~ .1r8ady exi.t., for e n.w ff,., e.
noted 4n Section
•• 1, t~e need f. re~ov.d beceu.e t~e entry f • • tored 0" the
~ed.u~ ,a .oon e. the f41e f. ooened.
Ot~er .te~. doeooear
te .yofd unnece ••• rv acce •• te the ~edtum. The ouroole of
.ec~ ft8~
described below.

.a

1.

~ext Block - 1. orovided ~afn,v for th~ creatton or
exten.40n of e lfnked ffle, .tnce the a"ocetion of
the next block mu.t occur before t~e current one
(or the UFD f~ t~e ca •• of .OPEN~) c_n be wrftten.
~ow Ooen COde - f. uled to tr.nl~it the apcroorfAt@
content of t~e IJFA ~etwe.n Oroo~a~ ~e~ueltl' st"ce
the 1.tter is only .ccelsihle durfno .OPEN.
(.ee
Section 3.2.2.1).

*-

Extenlion start block
saVe' the ~eoin~'nQ block
follow4no .OPE~E. T~ orotect t~~ u.er .olinlt feflure .nd .'le allow Alte~nat4ve ule for .ncut at
th~ ~a~e t4me, I ff'e beino extended i. left 4n fta
original .tl~e u~til t~e .xtens4~n f. ee~olete1 by
.CLOSE.
T~is
item t~erefore fl needed to enlbl.
the ".PPE~O" o~eretion w~fc~ occurs .t t~et tf~ ••

••

Tyoe - corre.oon~1 te the .f~fllr entry fn the
fi'e entry Ind is d1scuI.ed in Section •• 1.2.

bleck M - .lwavs contafn. actual ffl.
block @ven dur4no extenafon (~enee 3 a~eve'

~tArt

* of

UFO

stlrt

block. - fl used •• I counter durino ffle creation or e_tensfon (Ita~tfno f~e. the erfefnal
Jenoth fn t~e letter e.se) Ind eventyal1v 4s stored
tn the UFO es "Lenot~".

P 1 GF..y- 21

DOS4.RNt'I

~nd bloc~

*•

~tore. the
Dre.ent e~d of a fi'e
extension - othe~wise is ~0~m8"Y u~u!ed u~­
til a new file is el0.ed.

u~de~

t"de~ into D~rectory BloCk.
.~o~.
the r~18t4ve
~o'ition of
th8 iile e"'t~y ~~ the 8coroD~iate UF~
~'oek

C.ee next).

*-

Oirectory bloek
e~ebles immediate aeeess to the
actual device block o~ which the IJFn entf'lY fo~ a
file undef'l creat.on ~r exte".ion aODAar. a"d thus
~emove.
the ~eed fo~ a f~e.h di~eetorv search o~
.CLOSE.
p~oteetio~

11.

Pretection Code - .hows the f41e"
el.

'ev-

12.

l",terleave faetor - .aves the co~tent of the corre.pO"df~o
entf'lY i~ MFO block *1 a. described f~

~ect.o~ 4.1.

Ai~ meD oofnter
-. co~tai~. the e~d~e.. of the
buffer in core in which the aODroer4ete medium
bit-mec .eoment ~. loeded Co~ .s eur~e~tly he'd see ",e~t).

84t meD Q l4",k - e",eble. the eee",f~g of several "'ew
file. Co", different ~ate.et.l) o~ the sa~e med4um
at the .ame time, For rea.on. .tated i", 'eetio",
~.1,
0",1y o~e bit map .eome"'t fro~ a medium c~~ be
in core at a"'y o"e i",.te",ce.
Thus .everel file.
mu.t ahare t~e .a~e .eome"'t. To a"o~ t.,i" the
ePDroP~iete FlA. ere chai"ed Cas shew~ i", figure
4-17) .te~tinQ f~om e~ a,lotted wor~ i~ the device
~~4ver
stenderd 4",terfece teble
C.ee
Sectio'"
3.3.1).
When the f4rst fi'e r.Qvi~1",g a map.f.
opened, the meD .eQment f. loeded into e buffe~
cleimed fro~ f~e, co~e end the driver Doi~te~ to
t~e co~eer"'ed FIR 4. aet.
Sub.eQue~t1y
FI~s
are
li~ked a",d u"'.n~ed a. thef~ esaocieted fi'e. a~e
opened e",d c'o.e~. Whp", the la.t fi1e is fi~ished,
the d~iver word beco~es ~ .gai~ and this is used to
.4o~a' the ~e'ease of the meD.bu~fer~
1~.

Temporary wo~kspaee cr.atio~ o~ exte~sio"

is used ma4",ly du~i"o file
by .w~ITE Caee Seet4o", 4~5.2)

T~e F~B is set UD i", A buffer e1aimed f~o~ fr~. co~e via the
Mo"4tor S.GTB rout1~e o~'y if fi'e-~.n.Qe~e~t oee~et.e"s a~e
ce".~.
Fo~ ~orma' fi'e.o~oeess4~o this .a dO~A by the Qe~­
era' .OPE~ routf"e Csee Section 3.2.2.1). ~ou.ekeeDi"o ~ou-

P4GI!¥-22

ti"e. c~ei~ t~.i~ OW".

(I" f.ct, .~"ce t~. 'atte~, i" ga"~eQui~ed fu"ct40". i" o"e u.e~ o~o­
FIB t. ~ot ~."'y "ece ••• ~y. Howeve~ fo~
como.ti~f'iv of D~oce •• i"o •• peci."y by t~e co~.o" su~~ou·
ti"e • • "d to D~ovfde eddftto"el we~k'Dece tt fl .tt', .et
UD.' W~i'. t~. FIB •• e.t.b'i.~.d, it ••• cc~.s.d th~OUg~ •
pof"te~ i" t~. , •• t wo~d of t~. one
C.e. ft~u~. ..18 ."d
.ectio" 3.1.2.3).
It.s ~.'ee.ed •• SOO" .~ it he ••• ~ved
tt. purOOle, e.Q. ~" .CLOSE.
ttl ODB e04"t.~ tke" ••
e1e.red ."d it. buff.~ i. ~etu~".~ to f~.e eo~. v •• S.RlB.
e~e', como1ete e1'
a~'~ ~eou~.t, t~e

th.i~

4.4

Ge~e~a'

T~e

ou~oo.e

of

fi'.·~a~a~e~e~t

.e~vie ••

.

~out4~e •

Pu~oose

t~i.

.ection

1.

to

de.c~ibe

tho.e

~orlu'e. wh1c~ act e • • ub.~outi~e. o~ovfdi"a

bv the othe~ ~edu'e., .ue~ a.
co"ection of a bit.~eo .eO~ent o~ a''ocetio" of a new b'oc~. (Cateoo~v J i" 8ection
When
non.~8.4dent, theY ooe~ete f~o~ the oe"e~a' Swao euffe~.
Qene~a"v

~eeui~ed

d.~~cto~v·.~a~ching,

'.3.'

CLUK)
The funct.on of t~is routine i._ to ~e~fo~~ a
.ea~ch
for e fi'ena~e to dete~m1"e the ore.Anee
of a ~a~t.cula~ fi'e on d4.k o~ DECtaoe.

d.~eetorv
o~

ab.ence

.tac~

oointe~

Ca"1"Q Seauencel
MOV
MOV
SUB

~OV

*FILBLK,-CSP)
*LNKBLK,.CSP)
SP,R1
*14,SP

EMT

4~

~0

•

Add~ess

~1

•

(~OO~-~)

T~e

cel'e~

for

th~

of_the.on8
of Pointe~ to UF8

Must

.ubt~act

~out1"e'.

14

f~oM

the

~etu~n .~gument..

Note, that
t~i' ~out1~e do,1 not ~8Move the ~rQu.ent.
DUlhed
onto the stac- 4n t~e above ca"ino 'eauence.

(~6).~

JX DECOOED AELOW

2(~6).FILE
'(R6).~A"'E

6(R6).EXT
1"'(~6).UIC

12(P6).PCODF
~ •• t

w4"

x•• ?

,PROTfCTI~~

COO~

If the UTC wa. not e~tered i"to the MFO
eonta1~ ~ ze~o UOo" ~etu~".

nos+.

If t~e f"8 d1rl not ex1lt 1n t~e UFD, nDB+'
Wi', contai" a 0r nOR+2 wil' b. ~ if ~o emotv
slots in th~ UFO ~~ will be the UFO b'oek numbe~
w~4e"
~as 8n e~oty s'ot, ODR+22 w41' be the 4ndex to the emotv slot. If the n8med ff'e wa.
0"'.~'
• -2 wi" he ,.etu~"ed also. 4n w~4ch ce.e
ODB+4 wil' ~e u"cha"oed.

PlGE~-24

X•• 3 Tf t" .... ~". "0 IJFn .tt.eh.d to the MFO ."t .. y.
lJoon ... tu"" 0"8+4 ~.,' ee"tei" the "'oclc
"u~b ... ce"t •• "i"Q the MFO .~t .. y.
O~B+2_w."
be
.et te the .d~ .. e'l of the U~O oo."t~ .. wit"." the
MFO.
X.eth ... th." .bev. - th." .t •• the ee... .dd .....
ef t~. UFO .nt,.y. one+4 w." cent"." the "'eck
"u~b ... ef the UFO .• "t .. y,
the ~l"e~ ce"t.i"."a
the uFD ."t .. y •• 4" eo,.e.
O•• e .. 4ot.o"1
Thi ... eut.n. e.ecut ••• ~t .... ,v ." th. Sw.e ~uffe .. (~S~), un·
,... it
m.d. ce .. e ..... d."t. When th .... euttn. i • • nt .... d, the .t.t. ef the .t.ek tl '1 fcl'ew.i R.g •• t .... A
th .. ouah e .... "v.d e~ ~h. tee ef the .t.cle, th.n the pe .nd
PS, .nd th." • 6-we .. d we ........ flO.. the ... tu"" .,.gu~~nt ••
R0 .nd ~1 .,.. ,. •• te ... d f,.em thei,. •• ved v.'ue~ ~n the .t.ek.
Rl ~. th." •• t te Dei"t tc th~ U.e .. File ~'oelc, .nd R2 ••
•• t te ee4nt te t". 6-wo,.d we,.k .,. •• en the .t.ek. Th. u ....
ftle ",oclc •• th." ~ev.d entc the .t.ck
f.'e ~"me, e ••
t.n.ton, utc, ."d e,.Ot.ct.C" cede. tf the". w••• " •••• ~"­
m.nt ~.d., the •••• Q"ed n.me •• moved .". If th.,.. w.. "10
ute 1" the ffl. n.m~ bleck, the utc fs tak." f .. em .blclute
lec.tie~ 4.0, whieh f. tha 'eaged t" Ute.
If ,.t th4. eetnt
the ttl. ".m. •• 0~.~, • -2 •• cut 10" the e,.ev.eu. teo ef
the .t.ek .nd the ,.eutt~. ,..tu .. ~. te the c.lle .. th,.euah the
cemme" e.tt .. lOut."., S.EXtT, .t .bselut. lec.tt~" 42.

.1

.1'

New.th ... euttn. g.t. the block nu~b." cf the M~D f .. em the
d,vtce d .. tv.... The ff,..t ~F~ ~loclc i. th." ,.eAd f"te ce,.e.
t~ the d.viee •• DECt~De ~h.
ft ... t ~FO bleck f. skioced
.inc. this de •• "lOt cent.f" UTe' •• nd weuld ,.eQu .... a" u"".c ...... v t4me •• c.n... Th. ,.cutine then .c.". the MF~ bleck
lecldnQ flO" the ~.s .... d utc. ".ed4"a i" MFO b'eclc. centf"u•• unt41 nO" ..... 1.ft 10 .. the Ute 4. feund. If the UtC fs
net feund,. -1 f. cut 10" the c,.evtcu. too ef the steck ."d
the com~en •• it fl t.k." b.ck tc the c.l'e ... Wh.n t". de.t,.ed ute t. feu.,d f" the MFD • te.t f. mede te .e. 1f e UFO
•• tsts flO" the UIC. If no UF~ a -3 •• eut 0" the c".v.eu'
teD of the It.ck ."d the com~e" e.ft ts take" bacle to the
c."e,..
I~ a IIFI'I doe • • xi.t flO,. tht. IIIC the Ite"ti"a
bleck nu~be ..
cf t~. IIFP i. ~ut i"tc the DDS a"d the fi .. st UFO b'eek is
... ad .nte ce .. ,. ~ew the ,.cuti"e ~.o.nl Ica"nfno the UFO flO"
the dest"ed f.l~ na~. a"d .xten.ton. UFO bleek. ee"tinue tc
be ,..ad in and scanned until th~ en~ ef the UFO chafn 1.... .ch.d 10" until t~. f;l. and .xt~"s.cn .... feu"d. If t"e e"d
cf the UFO 4. ~eac~ed wft~out • ~atch, • -2 .s out 0" o".vfCUI ~ce cf the stack an~ the ,.cutf"~ exit. ~s D~ev.ou.'v
de.c~.bed.
If t~e scan fs successful end a ~8te~ i. ~.~e,

PAGF ¥- 25

t~e co~. edd~ ••• of t~. UFO e~t~y is out 0" t~e c~.viou' too
of the .tle~ I"d t~. eo~~o" •• it •• tlke".

Note. t~. d4~ecto~y LOOKUP ~out4"e
~a~
A"
4~b.dded
READ/WRtTE routi"e I"d el.o use' a eo~~o" exit ~out4".
t~rouah eblolute loeltio" ~2 whic~ ~e'tore. t~e .teek to 4tl
.tete hefore t~e E~T reQue.t. T~4' doe. "ot ~od.fv the retu~" l~au~l"t. 0" the ,tIck.

Thi. rout."e •• I three csrt uti,ity oroqrl~ ~h.c~
the fot'o~i"; fu"et40",i

cerfo~~.

1 ~ CHECK ACCES~ PRtvrLEGF
2 • SFT UP ~ILE INF~~~~TION BLOC~
3 - R~L~A9E FILf INFO~MATrO~ ~L~CK

The E~T code, for the thr.e fu"etto". Ir. t~e 'I~e, E~T !2,
b\lt to elt, the t"dfvfduel fu"ctto" e 0, +1, 0" -I re'oect4velv i. cu.hed O"to t~e .tack. The rout."e wi" t~e" dt,ceteh to the Drooe~ .eo~e"t, ~tth4" the f41e .trueture module •. The three 'eome"t, I~e 4"d4v4dual'v described 4" the
followt"; d •• eu.,40"_

~_~.2.1

Check Acce •• privileae

T~e fu"etfo" of t~i. rout'"e 4. to deter~4"e the ~er~4tt.rl
READ/WRITE Icces. or4vflege of the ce"er. T~e eel'e,. mu.t
reQue.t the 'eve' of ~cce., h~.de'4re._ The" this reQue,ted
eece.s is eO~Clred w4th the f41e oroteet40" 'evel. Th@ reQue.ted lece., 4s the" eith.r O~I"t~d o~ de"ted.

MOV

UIC,-C~6'

~OV

PCODE,-C~6)

MeV

*ACCESS,-CQ6)
-(~6)
.ZERn INOICATES

CLR
EMT

52

ACCESS LEVELS.
~

• De'ete

1 - write
:5 - qea.-J

~

-

~u"

CH~CK

ACCESS CALL

DOS4.~NO

.

PAGE: ¥-26

de.fred aeceas De~m.tted
de.f~ed aeee •• de"fed
"

De.e~4pt.ol'll

Whel'l t~e .eetiol'l of t~e routfl'le fs e"te~ed, t~e ataek state
f. a, f~"ow.1 Saved ~e~i.te~s R0 t~rouQ~ R~, pe a"d PS,
FUl'lctfo~ .l'Idieato~ al'ld eal1fl'l0 8rQUMe~ts.
Rl fR let to the
de.ired acee •• , a"d R~ i. aet to the eroteetfol'l eode, f~om
the value. easaed o~ the .tack.
T~e 'evel of acees. to anv ffle i. dete~m."ed bv the oWl'ler
when he aet. ft. er~teet.ol'l e. de.cribed il'l Sectf~1'I 4.1.4.
The c~eck ace e •• routine determine. whether t~e deaf red acce •• bv a"v u.er .hal' be cermitted Or l'Iot i~ the followil'lc
mal'll'le~.
The rout."e fi~.t check. to .ee 4f the cal'e~ i.
the f41e's OW""', by eomparfl'lo the 'oooed-i" 'JIC aoef".t the
Ule ca"iI'lQ ergument 0" the .tack. If he fs t~e OWl'le~ the"
bit 6 of the Drotectio" code i. teated, if it is aet he ce"l'Iot write 01'1 o~ delete the file, he p~oteeted h •• f.'e a~a­
fl'lat h4m.elf. Sit 6 befl'lO "ot .et ofvea the ow"er comc1ete
aece.s.
W~el'l the eel,er il l'Iot the oWl'ler a .eeol'ld teat
fs made to
determfl'le 4f the ealler f. 41'1 the oWl'ler l • orOUP. TheY are
in t~e same group ff th~fr croJee~ "umber f. t~e aame, th4 •
• a the hfoh order byte of ute. If they are f" t~e aame orou~ the .cee~. de •• red. fa eomparedeQafl'l~t bit. ~, 4,
el'ld !
of the ffle'. protect401'1 code. If ~ot il'l the .Rme QrOUD the
aece •• de.fred t. comeared wft~ the low order t~ree bft. of
the ~rotectfon code. If the p~oteet4o" code 4s h4Qher thal'l
the de •• red ecce •• recue.ted the" aceea ••• del'lied, a!'ld a -1
will be returl'led 01'1 toP of the .taek. If t~e protectton
code i. eoual to or ,ower thal'l the reQueated acee •• the~ ac·
ee •• i. ora"ted, al'ld a 0 wf" he retur"ed
top of the
.taek. T~.n the rout.l'le ~eturn. to the ce"e~ throuoh the
eOmMOI'I exit routine, al'ld the top of the .tac~ ~o'd. the returl'lerl value, 0 or -1.

0"

Accel. level.
~H

~

Set

-

"w!"Ier eal'llt write

Code greeter the" 1 , other. ca!'llt "'rU.
Code g~eeter thal'l J, others ean't reed
Protect Cod. greAte~ t~a~ 5, others ca!'llt ~u"
Pr~tect

Pr~tect

P 4;F. f- 27

OOS4. IHH"

w~.~ t~41 ~outi"e il called. FJ8 ~.y o~ ~av ~ot be attac~.rl
to t~e O~B. Th.r.for. t~. routi"e ~al a t~o feld fu"ction.
0". fu"et~o" ~I to o.t a OATA BUFFEq ANO A FI~ 8UFFEQ fro~
free core, ~h.~ ~ece'l.rv. Thil funct40~ •• d •• ired when
cal'e~ ~y ~outi" •• oth.r th.".FCP (FILE. OPEN) a~d_FCR
(FIL£
CREATF.).
Th. '.Co"~ function t~4s routt~. cerforM. i. to
•• t u" the FI~ and ~i"k it to th._OOB.
Thf. routine
.et. t~ • • ddr ••• of t~e d.t. buffer, i" the ~Oq. It t. " ••
c •••• ry t9 •• t uo t~. FIB wh.n called bv ~"v ii'e .• tructur ••
rout in. 1"clud4no FOP .nd FCP. The FIe i ••• t uo DriM.r41v
by trA".ferring date to it from t~e fil •• UFO entry.

.'.0

"40'1

*1,·(~6'

E"4T

S2

R2 • Po~nt.r to the F~l."
UFO ."tf'Y fn
cora.
T~i.
il n.c •••• ~y, w~." the
routi~e t. c.l'.d, to •• t uo
the
.~d '4nk it to t~. OO~.

'1"

OOB+2~ contei~. a n~n·zero v.lue if t~e FI8 w••• ucc.I.fully
.,tuc • . The v.lu. i. t~. cor • • ddre •• of the FIB ••• ociat.d
wtt~ th4. ODB.
00B+26 cont.in • • zero when t~. FIB w.. not
,ucc.s.fullv •• t uc.

.

,

0•• cr4gHon.
Wh.n th!1 section of the rout.ne i. ini~tally ent.red, the
.t.te of the .tac~ i. t~. I.Me •• d •• cribed under the "Check
ACCAIS" •• ctton, with the e.cection of the c.l' .rgum.nt ••
Thil .ectio~ .et. uo qs wfth the FIR Link Wor~ frOM t~. OOB.
Then, t~ there i • • FIB a'r •• dy, q2 f. r •• tored •• t~e 00.
t~ter to the F1'e's UFO entf'y.
w~en

'ETUPFIB 11 entered the FIB 11~k word of t~e 'O~ 41
to deter~1ne if t~.re 1• • FIB .tt.c~ed to this OOP
or 4f it will be nece.slrv to get e bUffe~ for I FYB Ind
1f~k
it to the ODd. A zero FIB link 1nd4cates ~o FI'" w~en
thi. oceur. the following crocedure i. followed. The driver
.ddress 4. deter~.n.d fro~ DDR
the St.nd.rd, Driver
Buffe~ ~1!e is Qotte" f~o~ t~e dr4ver, a. the ~uMbe~ of
Ie
word un4ts nee •••• rv. Th1. value is .aved and then this va.
1ue i~ u.ed to calculate a word count, ~h.c~ •• cut in the
OOB.
The "umbe~ of 16 ~ord units t. increMented by one to
telte~

.2,

~

f"e'ude e buff.~ fo~ the FIB. A eell i. the" ~ed. to the
",o"he,., buff.,. e' locate ,.cuti"'e (GETBIIF), ~eQue.ti"t'l the
"umbe, of Ie wo~d u",its de.i~e~.
T~e
GE~BUF
,.out1"e f.
ce"ed th,.ouoh ab.olute loe.tio" e4. The ff,.t Ie wo,.d. of
the ,.,tu,."ed buffe,. e,.. '."ked to the DDB •• the ~Ie buffe,.,
.~d
the 18 wo~d. a,.e ele.~ed~
The ~.t. Buff." is the"
'4"ked to the DDS et DDA+e, t~.",.fe~ buffe~ .dd,. ••• wo,.d.
Now t~e ~out4"e 1000' baek to the 4"ftial t •• t UPO" e~t,.y to
thf. ,.out."e ."d wt" "OW fi"d • FIR ett.ch,d to th4. D~8.
Whe" • 'IB i •• ttaehed to the DDB the fo"owf"O Oecu,.s.
J"fer~.tfe" eo"ce,.",t"'o t~e f41. 4. t,..".ie,.,..d f~o~ t~. UFD
e"t,.v t~ the '18. The t,.a".fe~"ed ~"fo,.mat.o", ~"clude.· the
Next Bloek NUmbe,. whfeh •• e'se the Ff,.t ~,ee., t~e F1'e
Type, the F4,e'a St,,.t ~loek NUmbe,., the Fi,. Le"Qth 1'"
bloek., . • "d the'fle" L •• t B'ock Numbe,.. The" th,.ee "'0,.'
4te"'. e'e .et uo i" the FIBI the f"~ex f"to the df,eeto,.y
block • . t~e df,.,cto,.y bloek "u~b',. '"d the o,.oteetio", eode.
Th4. ,outf"e the" exft. back to t~e ca",~ th,oygh the eo",.
1110" e.4t rout4""
~.FXIT. The f"fo,.~etfo" uaed to let uo
the ,IB f. f" eo,.e whe" t~fa "'odu', •• e.' led.

The fu"etio" of thta ,.out.", •• to u""4"k t~e FIB f,.e~ the
'18 ch.t" e"d ,.e'ea.e the FIB 8uff,,., the Det. Buffe,. ."d
.1.e the ~4t M.o ~uff'" 1f "0 IIIo,.e FI~" e,., ,tt.chpd to the
DDB,
The 'IB ehet~ must ,.,,,,et" eo"tf"uou. afte~ the FIB 4.
u"'f"ked. So the"efo~. a FIB ooi",te,. ",u.t be ,.e.et.

MOV
EMT

'PC,.CR6)

e2

The i",.t,.uet10" M~V ,PC,-(Re) ouah,. a "'e~l·
tty, "umbe,. O"to the stack.
~ Ne~attva
"umbe~ 4",dfeltes a e."
fo~ ,.el.l.e FIB •

• 'thoua~ the FIB LINK t" the DDB fa.eleared, e"d the a.soef.t.~ . bit
"'aD 1. ,.elel.ed, 4f th4. fs the o"'y FIe f'" the
ehet".

- -'. .
D•• c .. iDt10"1
UDO" ~nt .. Y, the .tet. of the .tack..
"S.tUD FI~" cal'.

the

.a~e

a.

fo..

8

Wh." th' Ae'ea •• FIe ~out4" •••• ~.tf8"v e~te~ed the .tatus
bvt.
the OOB f. t •• ted to .ee 4f the Data.et f. eu .. ~."tlv
bu.y, b~t 1 .et. I. the Oata.et ~. bu.v the .. out."e .. atu~"s
4~~.d4.t.Jv to the ca"'" th .. oUQh the com~o~ •• it ~outf".,
I.EXIT, wfth "0 .cttO" takan. If the Oat ••• t w.. "ot cu .. ... "tlY bu.v an i"d.x into the device d~fve .. t. calcul.t.d to
pof"t .t th' ffr.t 'I~ 'ink, of the FIB cha." 10" t~tl d.v·
tee unit.
If the ff ... t FIB link 1. 2 ... 0, there •• no FIR
eha~nfo .. thtl unit,
I" thf. c •• e 4t 1. onlv nece ••• ~y to
... 1•••• the O.ta Buffe .. a~d the FIB, Wh.ch t. do"e th"ouah •
e." to the mo"4tor, ~uff8" rete •• e rout.~..
Then el.a~
th.i .. D04nte... f .. om tha 008. The ~out4ne the" ~.tu~~. to
the cal) ... ~h .. oUQh S.EXIT. If the it~.t FJB link in the
d".v,,, 4. non-z ... o the FIB lfnk f~ the 008 •• th." t •• ted to
'" if th~ .. e f •• FIB attaeh.d to the DOB. If ~o.FtB fs .ttlch.~
to the ooa ~.'e"e the Oat. Buff ... , u~lf"k it f .. om
the OOB.~d exft b.ck to !he eal' ... th .. ouoh S~EXIT. If the
DDB h • • • FIB attaeh.d, .t •• t"ted to .ee ff it ha • • bit
m'D .ttach.d. If the FIB ha • • bit m'D .tt.cheri to it and
4·t fa .th. , •• t 'IB 4n the ch.f~, the bit ~ • .; buff ....... e" ••• d th .. ouoh • e.ll to the ~onttor buffer "e'e •• e .. outt~ ••
If tha 'I~ ha • • bit m.D but f. "ot the la.t FI~ in the ch ••
t", the FIB il m.... lv u"'f"ked f .. om the ch.i" .~d tha ch.t~
,f"k.Q. ~a •• t. The O.t. BUffe ... nd tha FIe ~uffe .. a .. e th.n
both ",' ••• ed throuah the ~onftor .~d the4 .. '.n~aQ'1 .~e ~e.
mov.d f .. om the DO~. The commo" .wit •• the~ t.k." b.ck to
the C""'"

of

4.4.3.1

GET MAP

Thi. routf"e Da .. fo~~. t~o functfonls it c.~ be c"'e~ to
O.t • buff.r for a btt ~.~, re.~ the bit ~a'; fnto core ."d
'~nk th~' FIB to the end of the FIB chaf"~ The .eeond fu"c.
tion of the rout ina tl to write the bit m.p f~o~ co .. e to the
device. The f1 ... t fu"ction il c4"ad GfT~.~, thp •• co"d
WRITMAP.
Both .ra cal'e~ with the I'me E~T, w4th th8 v"ua
of R3 determfnfn~ the leeeffie fu"ctfOn.

R~-Dof"tl~ to DDB
R3aD04"tl~ to DDB

Et04T

b.

To

w~.te

out a bit

153

~IO

R~.DOf~~I~ to D~B
R3a0
EMT
,50

'IB+I centI4", )(

x-a

.

Xa.l
X.-t

ff miD ,etuD ,uce"fu"V

~f"9 buijl' IVI~'lbll_

ff tf'l 1"lldy Ooe" 0.,

~ECtaDe.

.'

DlaC,.1Dtfonl
Th4a ~out."e 1.'CUtl, l~ti'I'Y wfthi" thl SwaD euff,~ (MSB)
u"'.'. ft f' mlde co,. ,e.fdl"t. 0" I"t,y 'Iof.tl~' RQJ
th,eueh A5, thl PC I"d PS 1'1 ,e.elcttYlly .Ivld 0" the tOD
of the 'tack. UDO., l"t,V, AI t, 'l,to,ld f'OM ft • • IVld VIlUI 0" the 'tick, te D04"~ to thl DDB. R2 •• 'et to ooi"t
to thl. FIB If"ked te thf. DDB, the" Rt f' 'It to thl VI1uI
of the co~e bft miD oei"ta, t" the F18. The wo~d count t"
the ~DR i, .aved, e"d a
dlciMI', thl b4t maD wo~d eou"t
., DUt j"to the 008. Thin th, 'Ivld vilul. ef ~3 0" the
.tack 4, tatted to dltl,mt"1 whet hi' thf, f. I eETMAP o~
WRInup cal'.

-e.

fo~, t~1 DDB t~I."fle bleck "UMbl~ ."d
a,e 'Iv.d. The" the buffe, add~e" i. 'It
eeual te the core bit mIDlddr •• " the t~a".fe" b10ck "uMbe,.
.' _,.t UD a"d the bit mac ~, w~.tt.". out, Thl ori04.,a'
buff.~ addr',., the block "umbe~ a"d the 0~1a1"al wo~~ count
a~1 the"
~I'tored. e"d a" a.it ., takl" th~oueh thl COmMO"
~outi"e. S.EXIT.

If

~RITMAP

buffl~

i, callld

add~I"

I~ GETMAP is eall~d, a tl.t fa ftr,t mad' to ,e@ ~f th'~1 i,

a bit mlc attachld to tht, FIB. If the FI~ bft maD
D04"t.r is "O"-Z,,.o th,,.e t. a mao attached, io the ~outi.,e
~e'to~l.
the o,toi"al wo,d cou.,t a"d ,.ltU'", to the ca"e~
threu~h t~e COMMon ex4t routf"e with a ze,.o t" FIB+~ to
t"dfcate ,uccI.,ful comelltio".
If no bit maC Ittac~ld th@
~outt", clea~. the FIR 'i"k of this FIB to ."~tcate e"d of
cha1" a"o the" Qet' the ~O."tl~ to thl beoi""i"g of the FIB
chain fnr t~4' unit frOM the d~ive~. If the OO."tl~ to the
beoi""1,,g of the FrB cha." f' "o"-Ze"o the,.. i. a,,.lady a
b4t maD 4" CO"I fo,. thf' unit. 'te,t i, t~I" Made to determi"e 41 th4. i. DECtaDe. If it t. nECtaDe the" YOU ca"a'~,ady

~

PA GF- ,e-J t

DOS~.qNrI

"ot

oe.~

a .eco~d outeut fil. Or'l the 'aMe u~ft. !f not D!Cand_ a ~4'e 1. ~pe" on th~. unit then l~"k t~j. FtB at
t~e .nd of the FI8 chai" ~"d 4n •• ~t co~. bit ~ae cof"t.~ a"d
fnte~'eave facto~
i~t~ th4. Ft8. a"d the" e.it back to the
ca',inQ module, .fte~ ~e.to~i~g the o~.oi"al wo~d COU"t f~

t"'.

0"8.

ta~e

-

al~eady i~ co~e it f.
~ece •• a~y
to
oet a 6~ wo~d buff.~ fo~ the mao. Thf. f. do"e by a cal' te
the m~n4t~~ GETaUF ~outin. th~~uOh ab.olut. 'ocatfo" ~4.
Th. GETBUF ~out.ne a"ocate. buffe~. f~o~ f~e. eor •• The
buffe~ ~dd~e •• ~. the~ ~.t ~".the F!B a' th, e~~e bft ~ac
Doi"te~.
The MFO coi"t.~ 4" t~. d'fve~ f. moved f"to the
ODB a"d.MFO *1 i. ,ead i". The" the ~out4"e •• t,act. f~om
it th, inte~1eave f.cto, a"d the bit ~aO blOCk "umbe~. Then
the bit mac f. ~ead i~ and it ~. If"k.d to the dev4ce
d~fv.~.
Resto~e the o~.o."al DDB a"d clea, FIB+e to f"df.
eate a .ucce.,ful call. The" leave th~cuah eemMO" ex4t ~ou·
ti"e.
The bft maD tra"sfer ~out1". al.e ~a. a" 1mbedd.d
,e.d/w~.te ~out4"e 4" ft.
Whe~

t~e

bit mac is not

The.fu"ctio" of thf. ~out'"e i. to elloeate o~. ble~k of a
device.,
Thi. ,outi". i. calle~ u"d.~ the follow4"o thr ••
co"cH t i
1.

0"'1'

~ALLOC (C,eate a C~ntf~uou.
bl~ck fo~ the UFO O~ to add

F~le)
to allocate
a block to t~. UFO •

a

• OPENO (Ooe"4",o • F1'. Fe~ Outeut) to al'ecate a
block for the ,.a.o". U"de~ .~LLOC A",d a',o to .,locate the f.~.t block of t~e ff'e •

• OPENE (ODe",4nn • Ffle Fo~ Extenlfon)
the fi~lt b'~ck of the e.te"'lton.

to

a"ocat.

T"'. REAn/~RtTE o,ocessor u.e. a d.ffe,e",t ~out1"'e to do
block a"oeations while a REAO/WRITE •• 1~ er~o~e'l (,ee
Sectio" 4.5.2).

~""

PC,~J

E"1T

41

E~T

5~

~0.cointe,

rGETto'AP
'LrN~

to ODA

qLnc~

ALLOCATE

Set R3 eQual to ",on-zero value, t~e"
~.~e .u~e the~e fs • bit mao in co,e, bv

an

P'G~~-J2

E~T
R.tu~~

c."

to .GETM'P.

A~QU~."tl.

a.t. '18+0 to t~. block "umb.~ of the .1lecat.d
FIB+0 wal •• t to 0 t~." the dev.ce •• full.

bleck.

If

D'IC~.Dtio"i

Thf. ~Oyt.". i. ~ ••• "t~."' ."d e •• cute • • "t.~ely wfthf" t~e
aW'D Buff., (MSB) u"'e., it t. ~.d. co,. , ••• ~.~t. UCO" ."t~v, the Reat.te,. R0 th~euQh R5, the PC e"d
the -,oc~ •• o~
atitul .,. ..v.d ~'IP.ctiv.ly 0" the tOD of the .t.ck. R0
•• , •• t~~'d f,om ita •• v.rl v.lu! 0" the .t.ck. to eo."t to
the DDS. The B10ck Numb.~, Suff.~ Add~'11 ."~ wo,d COU"t t"
the DDS .~e th." •• v.d e" t~ • • t.ck, Th. DDB wo~d COU"t f'
th." •• t to ~6. decfm.l, fo~ t~.".f.~~."O of bit m,D., The
co~. bft M.O ooi"t., •• t,k." f~om the FIe ."d eut i"to the
DDS •• the Buff., Add~... fo~ t~.".f.~., ."d the elock
Numb., ef tht. bft MIC •• cllcullted e"d .1.0 out 4"to the
DDS. Th. ~outt". th." comput •• the lowe.t blOCk "u.b.~ d •• c~.b.d by the cu"."t cepe b.t m.D.
The bft ~.o t. th."
lel""'d 0". we,d by wo,d b •••• 100kf"Q fo~ • wo,d th.t hI.
I f~ •• bit.
If "0 f, •• block' .,e fou"d i" t~e cy,~."t mao,
tt •• w,ttt." out .~d the block "umb., of the f.~.t mID f"
the c h•• " i. Gott.". The f4~lt mao f. ~eld .~ I"d. .el,ch
•• beau" ef the ."tf,. bft ~IO cha." fo, • wo,d co"tli"f"O
." U" •• t ~it, If "~". ~" iou"d the d.v.ce i~ iull. '0' I
devfce the fo"owi"Q occu, •• The Data ~uffe, 4, ~.fu"
J •••• ~ by.th. MO"4to~, euff.~ Relea •• Routt"e, .S,~~U"
."d
ttl It"k f •. cl.a,.d f'o~ the ODe. Th. ~De" I~d4c.te~ 4" the
DDB •• cl •• ,e~. Th, FIR ch.f" f ••• e'ched fo' the o~eDe'
FIB a"d wh." fou"d .t •• '., •••• d by I oal1 to ~.RBUF .~d ft
.'.o_u",;"k.d f,om the FIB chlf". Th. M~".to, D4.~"0.tfc
P,.~t
,outi". th." D~t"t,." e'~o~ code f"dtc.tt"O • full
d.v.ce,

.1

f. fou"d wtth • f~,e ~it a malk ., let uo to dewhtch bit of the wo,d t"d1c.te. the ff~.t f,e' block
.v.i,ab'e. Th. fi,.t f~.a bit of the wo~d i. ..t whe~
fou"d, I"d the block "umbe, of the allOc.ted bleck •••• t .~
DDB+28. Thi. block "umhe, w.' bei~~ keet a"d Undlted dU'i"Q
beth the wepd a~d b4t .e.,c h••• Tha wo,d ceu"t buffe, add"" .~d block "umbe, 4".ti."v seved Ire "OW ~e.to,.d 4"
the DOB, a"d the com~e" •• it ,outi"e S.EXIT
tlke" b.ek to
the ea"e,.
Wh." •

wo'~

t.'mi~.

.5

'-~

PAGE¥-33

,.ctio" 3.2.2.1 show.d that III .OP~N ell1s a~e e~oeess.d
4"itilllv bv a Q."I~ll ~out."e ~.al~dl.ss of t~. deviel 1"
U.I. Hew.ve~, hlvi"G .x.cut.d .ome CO~~o" oC'~ltio". .uch
•• c~.ck."o t~. vllfd4tv of t~. call a"d obtli"i"o the "ec."'~v ~.tl_ buife~,
this
~out."e
t~4"
ch.eks
t~e
d.vtc.. 4f 1t t • • e." to be f1,.-.t~uctu~.d, • 'Ie t- Ittlch.d
t~. 008, ~.o1.te~ • • ~e •• t t~ D~ov.d. rel.vl"t d.t • • "d e"e of two ffle~m'"'Qeme"t ~eut4"e. f. call.d to COMDl.t •. t~. D~oC"'."9. rhe DU~DO'. of this .'ctio" f. to
d •• c~fbe the.e ~outf"e ••

'0

1.

~OP· ~D'" I" l.iltf"G ftle, cll1.d t~.~.fo~. fo~
.OPENU .OPENf, .OPENJ 8"~ .OPENC - Sectfo" 4.5.1.1

2.

'CR. C~elt. I "ew f41. (-.OPENO) • ~ect40" 4.5.t.2

Bot~ ~out."e. u •• the tech"~Qu, de.c~fbed .~ ~eet~o" 4.3 fo~
the m•• 'v.. out of the SW'D Buff.~ 4f th.v I~'
"o"-resfd."t. 0" comDletio", th.v ~.tu~" df~eet'y to the
u•• ~ D~OO~lm 8"d .t thf. t.~e, they a~e ~esDo".ib'. fo~
~ovf"e

'-/

' •• vf"G • ~ac~f".·.t.t •. ••• ~tlv as that e.tab' ishld
""eral D~oeel'O~ for "o"-file d.viee., f ••••

t.
2.

OPEN Iwitch s.t

4"

by

the

t~e O~B St.tu. (bft 7, byte 12)

~.t.-Buff.~ ele.~.d fo~ eXDected .~RtTE

followi"o,

01"

3.

o.t •• euffe~ filled fOl" .xDeeted .REA~ followf"Q

4.

~uffe~ Pof"te~ •• t
o~

a.
b.

3 effeeteda

f" ~OA O~fve~ Wo~~ eOU"t,

4f

2

Li"k.d ftlel' START+2
Co"tfguous files' START

!" 'Qdftio", t~e f4~st file 8lock ~u.t be eo~~eetlv

set if .REAO

a.
b.

o~

.WRITE m.v fOllow,

4~e ••

L1"~.d fil.s, 1" "~ •• t Block" 1" the.FIB
Co"tfguous f41el' f" "Device Sloek" f" t~e DOB

PAGE ¥- 34

The funeticn cf t~e Fi'e Open Modu'e (F~P' i. to oDe~ a fi'e
.t~uetu~ed device fo~ '4nked f41e e.te~ston (OP£NE), eontfo.
uou, f41e 4nDut (OPENI), O~ conti~uou. fi'e cut cut (OPENC'.
The ~cutine De~fo~~. the fcl'cw4nQ cDe~atic". to aecomolt.h
4~. f~"et~cn. It f~~.t make. a d.~ectcry_.ea~e~ to dete~.
m4~e 4f t~e_ftla a.i.t., .inc, a aa"
to fi'e Oae~ (,OP, ~e.
Qui~e. the f4'e to al~eady ex4.t.
The ,outi"a the" cheeks
.i the ce"a~ ha. the_acce •• a~~Y~leoe he d •• ~~e.~ 'o~ a"
OPENE it "'ocate. the fi,.t b'oc~ of the e.tenston. Fo, a"
OPENI t~e f4~.t block cf the f41 ••• ~ead 4"to cc~.~
Ca"1"Q Sequence.

A.o •• ~e~.

a~e exaected to b••• t a. fol'ow, w~."
tine 4. ee' ,.d.

th4.

~ou.

~0 • Pointe~ tc Data.et Data Bloc~ (DOB)

At •

Pointe~

to

.n.e~t

ea"

a~ou~e"t.

F.'.

The
ODe" Mcdula •• ca".d by the Com~on ~Dan P~oc ••• c,
(OPN) t~~oua~ e.ecuticn of acde 4n the DD~. ~at UP and ca"
.eQue"c@ •• a. fo"owl.
MOV
C~P

BNE
INC
MOV

EX2,

T!T~

BEQ
M"V
DECB
MOV

EX31

.lB4043,·(SP)
(R2),*2
EX2
(SP)
(SP)+,·(R3)
(RS)
EX3
(PC)+,·(R3)
(AS)
A3,PC

'E~T 43 PUT ON STAt:1<
,SEE IF AN OPENO
'BRANCH IF OPENE, 'J, C, OR I
.E~T PUT INTO DD~
.TEST IF ROUTINE A!SIDENT
'BRANCH IF RESIDENT
,MUST FR!E SWAP ~UFFER
,THIS INSTRUCTIO~ PUT IN DDB
,BEGIN EXECUTING C~DE IN DDB

EMT 43 Ca"1 F1'e Ooen
EMT 44 ea'" F.'a C~aat@

.

Desc~4gt1onl

When thp F41e Ooe~ (FOP' Modu'e i. initia"y ente,ed it
teata to .ea if ;t •• i" the SwaD Buffe, O~ is a.~~.nent'y
core ~e.ident.
If 1" the Swac ~uffer it cal'.
the
Mon4to~'" Get Buffe~ rout4ne (GETBUF), to a"ceate e buffar
4n free core. It then ~ove. it.e'f into the alloeated
buffe,.
The ,e~ •• te', R~ and Rl a~e tha" ~este,ed f'o~ the
.taek. Thi. 'eava. si. we~d. R2.QS, pe end P~ on the .tac~

~

'-- .

which w411 b. us.d

fo~

EMf .LOOKUP

CDi~.cto~v

S.a~ch)

,.tu~"

.~;u",e"t.

Th. F4l~ Ope" ~odul. th." is.u •• the EMT .L~OKU~, to ••• 4f
the 1ile e ••• t..
1f the f.,. do •• "ot •••• t, t~e ODe"
Switc~ 4" th. Dna st.tUI wo~d 4. el.a~.d ."d a" EMT .~LS'IB
(R.'e •• e ~IB) 41 i •• ue1 to ~.le •• e t~. FIB Buff" e"1 the
Oat. 8u~f.~~ The ~outi"e i~e.. the Oate.et by e'e.,t"a
DDB+0 a~d t"." 4t mu.t ~.'.e.e tha f~.e eo'. buffe~ ft oceu~1... The me""e~ 1~ which this i. done •• de,c,tbed f" the
'e.t o.~aa'eDh of thi ••• ction, but the CO",,,,e" •• 4t ~outf"'
;0 •• to the uI.r .r'o~ ,.tu~n. If"o ,~,or ~etu'" wa. ..t,
the ~o~ito' Di.o"o.tic ~r."t ,outf"e •• call.d to D~i"t ."
.op,oe,4ete .~'o~ ced ••
Wh." th~ f." exi.t., the ".xt ch.ek i. of the U.ea, COU"t
4" the fil.'. UFO e"t~v' ;f U.a~e. COU"t 41 76 o~ 77 the" the
D~ev4ou. er'O~ e~oc.du~. 4. follow.d,
the f11. 4. 00.".
S,ve~.'w ",or.
te.t. oe,. "ow.made •. If a" ~P~NC, •• ft to •
'i"ked f41. , this i. fll.aa' 4f ft f •• Th." 10' OP!Ne, OPE.
NU a"d OPENE ,.au •• t. the UFO e"t~v .s look.d et to •• , f1
th. f4,e i. locked. If locked th' ffl, ce" net b. oD."ed,
e~'o~ ha"dled •• b.fo,e.
If not. locked, t~. f~l! j. locked
th." •. The" f~~ a" ~PENF , chec~ 4. ",ed. to .ee 4f it 4. to
e eo"t4euous fflel 'r~o' if ft f ••
All 00." reeu •• ts that u •• the File 00," Module ('OP), ••••
cut. thi. ~e.t .'Qu."ce. A" EMT .SETu~Fta is ••• u.d to oet
a FIB a"d a Date Buffer. Th. utc, the D~ot.etio" cede, e"d
the eec... 'ev.' "ece •• ary fo~ the ODe" ,~que.t .~e .et UP
a"d a" f~T .CKACSP 4. i •• ued to det'~"'4"e i1 the c.l,., i.
p.rm4tt~d the acce •• to the file that he 1e.1,e., (~ead o~
W,it.). If acce •••• denied the e,'O~ Drocedure prevfou.'v
de.cribed 1s e.rfor"'ed.
If a" OPENC or OPENU t"'. dir.cto~y entrY •• wrttte" out. If
a" OPENE a" ~~T .GET~AP .s is.ued to make .ure a bit ",ep f.
~" core, the" e" EMT ~BALLOC ~. i •• ued to .,lec.t, the i~,.t
block of the file extension. The block "umber i ••• v.d 4"
FIB+4. T~e" the dfreeto~y bloek is w~1tt." out. Now fo~ a"
OPENI it 4. ".c •••• rY to ~ead the ffrlt bloek of t~. file
~~to ~~~ ~ata Buff.r.
Th. CEOF)."d of_f~le ,witch f • • • t,
if t~i. f. also the lA.t block of the f11e.
All t~. O~EN ,.auest. now leave 1" the sa~. "'a"".r. The Oa.
ta Bufi., eo~"t.r 4. set i" the ~DAr the o~e~ .w~tc~ f. set
4" the stetu. word of the OOB a"d the oata.et fs •• t to the
f~ee
.tat. by elea~f~g 00B+0. T~. ~outi~e t~.~ t •• ts if it
4s e.~ma"e"tlY eO'e , ••• dentr if it 41 4t le.v •• di~.ctlv
th~ouoh
t~p. com~on e_it ~outf"e, S.EXIT.
If 4~ a f~ee core
buffer t~e ,outi"e ~u.t ~elea.e t~. bUff.~ it oecuof.. befo~e
retu~"4~; to th~ u.e~.
T~41.s do"e ~y .1~ul8t."Q a
JSR to the ~0"1t~r" Buffe~ Relea •• routi"e by the f"struc-

PAG~ ~-

J8

tto"" MPV '*S.R8~~,PC. T~i. fo~ee • • JU~D to t~e Buffe~ R., •••• ~put."'e do,. "ot DUt a ~etu~'" .dd~e •• 0" thl .tIC~' .0
~~40~ t~ ex,cut1"Q t~e co~~a",d the .dd~! •• of the eom~o" extt ~out4"' i. ~ut 0'" th@ .tack. T~e 8uffe~ Rel.a.. ~out4",e
wt", wh,,,, dOl'll, t.ke th.t ~etu~", ,l'Id 00 d4~,ct'y to the
eommo" extt ~oUt11'11, to ~etu~" to thl U'I~.

4.5.1.1 C~e.t • • New ffl'
Th. fu",ctfo'" of t~. Ffl. C~ •• tl ~odu'l (FCR) ~. to e~e.t. I
'4"'''1«1 f.,e 'l'Id .oel" .ft fo~ outeut, thf. ~outi"e f. eanld
f~om the Com~o", ODI'" Proel"o~ •• thl ~e.ult of .", OP!~O (0~." L41'1ked F411 for OutDut) ~Iaue.t. Th4. rout4"1 Derforml
the f~110w4"O o~I~.tf~"" to .eeomD'4.~ ~t. fUl'lct~o".. It
t •• t. 4f the ftl1 I-t.t., .i",c. fe~ .", OP~N~ rloul.t tt t •
fo~ the f4'1 to ,'~e.dy •• i.t.
If "ot, thl rout4"'1
cr •• t,. . , Ufl'O ."t~y fer tht. ff'e. T~e. fir,t block of the
ftl1 4• • 11oe.t@d ."d the .v.ilab11 fi'e 4"fo,.mat40", 4. Dut
4",te it. UFO e"t,.y. Th4. routf"1 "'0 ee~for~ • • oml .ltUD
of the FIB.

•"'0"

C.,l1"'g SIQUI"ce.
R,of.!.~. '''1 IXDletld to bl .et a. fo,'ow, whl"

this

rou-

tf". f. CI' 'Id.
RI - Po1"tl" to Oat •• et Oat. Block (OOB)
Rt • .o4"tl~ to U'I~ C.ll A~gump."t.

Th. F4'1 C~I.tl ~odule i. cal lId by thl Ccm~ol'l ~DII'I

.or th~o~o~ eXlcutio" of code f" thl OD~.
,laUI"ee •••• fo"ow ••

MOV
CMP
BNE
INC
MOV

EXJI

*U"~4J,.(SP)

(R2),*2
ElC2

T9T~

eSP)
(SP)+,-CA3)
(R5)

BFQ

EXJ

~OV

(PC)+,-CA3)
(R5)

DEC!!
MI"IV

RJ,PC

Emt 43 • ell'. Ff'e Ooe"
[MT •• - e.lls File C~e.tl

PrecesSet u~ ."d el"

.E~T 4J PUT ON STACK
.SEE IF AN OPENO

.IF OPENO, E~T 43 qECO~ES !~T '4
.E~T P~T INTO ~De
.TFST IF ROUTINE R[StD!NT
.BRANCH If R~SrO~NT
,MUST FREE SWAP BUFF~R
.THIS INSTRUCTrO~ PUT INTO DOB
.BEGIN EXECUTING C~C~ IN 008·

PAGE~3'

NtH'.

.

.,

O•• e"ictiol'll
Whe" the ,il. e~.~t. routi". i • • "t."ed t~e .t.ek f. adJust.d te e" •• te a .i. wo"d wo"k a~'1 fo" t"'"Sfer~i"o f"for-matio" b.tw.e" ~odul •• , (4.e. Oir.eto"y S.arch to '.'e Cr ••
,te). Th." the routil'l'. t •• t. ff it f. f" the Sw.o Buffe" 0"
•• Derm."."tly eo'" r •• fde"t. If f" the SW'c Buff.~ ft mu.t
move ft •• ,f out.
Thf. i. do"e by ftr.t ea',f"Q the
M~"~t~ri •. Get Buffer- "outj"., (GETBUF) to a"Dclte. t.~~o.
"~"Y buffe~
i" fr.e eore.
T~. ,41e e"eat. routtl'le thal'l
m~v •• ft •• "
to the t.mDorary buffe" Ju.t ,"oe.t.d, a"d
co"tf"ue. e •• cutfo".
N~w the Ffle e"e.t. R~utf"e fs.u •• I" EMT .LO~~UP (Ofrecto~y
a.erch) to d.ter~."e if the ffl. to b. o~.".d "".ady •• f.t.. Th. Dir.etory S.a"ch r~ut1"e (LU~) r.tu""' ,r-~u~."t.
f" the st.ck work .".a. If t~is waS a" 1".01' file ".~.,
ff th.r. w•• "0 ute or ff t~. file •• i,t.ri I" e~ro" h8, occurred ."d f.,e cr •• tie" ca" "ot co"tf"ue. rf a" erro~ oceu"r.d the ope" .witc~ f" the OnB .t.tu. wo~d fs cle.red a"d
e" EMT_ .RLS'IB f. i"u,~ to.rele.,. the FtB Buff.r I"d the
D.t. ~uff.r, a"d thel'l t~efr If"ws are cl.er.d f~om the O~B.
Th. nc." Sw4tch 4" the .t.tu. byte of the ODe fs al.o
ele.red~ I~ '" '''ro" retur" w•• let uD.ft i, t,kel'l .fter
~ele.'fl'lg to free core the t.mcorary buffer occupfed by Ffl.
ere.t.. The ~,I'I"er f" which the free core buffer oecuc4ed
by th, ~odule
re'ea.,d f. describ.d i" the ll.t Da"aQr'Dh
of thi •• ectfo". But .f"ce t~is f • • " .rro~ e.it the r.tur"
t. to the u.er. erro~ retur" .ddr.... Whe" there
ror ".tur" .et the Mo"ftor'. Of'Ql'lO.tfc Prf"t routi". f.
c,"ed to crf"t the aDProor4ate error code.

.1

.1 "0

.r-

If "o"e of the 'bove co"ditto"', occurred Ff'e Cre.te co"tf"ue. by .ett4"Q ue • UFO ff there wa. "o"e wh." the 01reetorY
Se.rch was attemet.d. Thi •• s do"e by f •• uf"~ I" EMT .GETMAP to ~et • bit m.c buff.r ff l'Iec •••• ry. the bft ~.o ~.v
.1" •• dy be f" eo",. A" E~T .eAlL~C (Lf"k Bloele A"oc.te) f.
UII" f •• ued to a' l~c.t. a blocle fo" t~e 'JFn, The bH ""0
buffe" •• th." w,,;ttel'l out by i •• ufl'lo ." fMT .WqITE~AP. The
allocated UFO b'ock fs 'fl'lleed to the MFO ."d the MFO is
w"itt~1'I out.
Th. UFO b'ock fs cle.r.d a"d the" wrftte" out.
Th. "out."e the" eOl'ltf",u •••• if the f41e w.s ~ot fOU"~ ."d
ther. wa • • UFD b'ocle which ee"t.1I'1ed a" emotv direetorY e"trv s1~t.
The rout4"e "OW h.s the UFO b1oc~ I"d 8 oo4·"ter
to the free ,'ot.
-

~

If the f11. did "~t eKist i" the 'JFD the reut'",e 'ooks et
008+2 to see
if the Dfr.ctorv Sea,.ch ,.etur"ed • liFO "'ock
"u~b.~, ce"t.i"~"o a" emety directory ,lot.
If ther. w•• ~'t
a" .~ety .'ot i~ the UFO the" it fs "eces.srv to ,"ocate a
block ."d ,."~ it to the UFO. Th ••• ~e proe.~ur. 4s used to

PAGE 4'-38
do thi ••• whe" .1loc.t4"a the f4~.t UFO bloc~, If." e~otv
.lot existea o~ w~e" a UF~ bl~ck~. alloc.te~ e"d li"ked,
th' follow4"O .eau,"c, occu~.. Th. d4~.cto~v block co"t.4"4"Q t~. e~ptv "ot i. ~e.d 4"to core, The 4"d •• to t~e f~ee
.lot w., cut i" 00B+22, bv the Dir.cto~v S•• ~ch rout4".,
p~.v4ou.'v.
A" E~T .GETM~P (Get. B4t M.p) 4s t •• ued to
m.ke .ure t~e~e 1. , bit m.c f" co~e. A te.t t. the" ~Ide
to .ee 4f t"41 i. I •• co"d ope" o~ OECt.e"
w"tch •• "ot
p.~mitted.
A" ~MT .BALLOe (L4"k,a Block 4110clto~) t. i ••
• ued to g.t t". f4r.t b'ock of the f41.. The dir.ctorv e"t~v •• "OW .et up w4th F.'e N.~., E.tl".io", O.t" F11.
TYD., U,.ae Cou~t of 77 t"aic'tf"q 00'" for Outeut, ."d fil'
p~ot.ct40".
'41, '."oth I"a L•• t BlOck ~umb'r .~, cl •• ~.d.
A" EMT ~S!TUPFIB ~. t~.~ •• ,u.d to •• t UP ft"
4"iormat40"
4" the F18. The UFO block i. t~'" wr4tt." out, ."a t~. 00,"
,w4tc~ i ••• t t" th., DOB St.tu. Byte. If o.~m."."t'Y cor.
re.4d."t t~. routi". r.tur". to th' u•• r a.~,ct'Y th~ouoh
t". com~o~ •• it rout4~e. .h.~ t~4. rout4", ;. e.,cut."O
f~o~
I t,mpor'~Y buff'~ 4" f~e. co~" w~tch will o,".r.llv
be the e.sl,' th, r.tu~" t • • '.o~tly mo~e co~o,.x, b,c.u.e
th, buff4~ tt 4. , •• cutt"O t" mu.t b. ~Il ••• ,d. Th. ret UP"
to t~e u.e~ 11 o,~fopm.d ~. fol10w.i t" •• d~re •• ef th. com~O" ~.~t ~out4", 4. eut 0" t~' .• t'~k, th." th., .ad" •• of
the MO"'to~" Buffe~ -.~ •••• ro~t." ••• ~ov'd, t"to the ~C.
Th4. .4~ul't'. I JSR to the Buffe~ Rele •• e routt". but wh,"
4t aoe. to th' .t.ck foP ft. ~.tur" .ddr ••• tt wtl1 f."~ the
,dd~, ••
9f th, Co~mo" e.it • • "a w4"
petu'" d4r.ctlv to th.
com~o" ex4t ~outi"e w~tC" the" ~etur"s to the use"

!.t.P.2

Proce.~.

F41e

"orm.'

i"Dut or ,o~tout ,.
O"ce , f4le.h •• be," ope"ea fo~
d •• e~4bed 4" .ectio" 4.5.1. the u.er t. ,ble to OPoc" •• t.
dlta 4" Ju.~ the
W'v •• for ,"y othe~ "0~.f4'. a.vtce.,
by me.". of .RE4~ o~ ,WRtTE. Wh41. the ~o"itor c." ODer.te
UDO" the d.!. w.t~i" 4t. OW" buffe~, it
_"ee~ take "0
'D.c4,' •• ct~0". Mowever, w~." , d.v4ce.tr.".fe~ 1. "eee ••••
~v to f4"
o~ emotv the buff,~, t~, Mo"4to~ mu.t "OW
deter~4".
whiCh 'ctu"
device bloek •• to b, u.ed .cco,d4~a to
the tVD8 of f41e ooe"ed. T~e ou~co.e of thi. 'ect40" 4s to
,x'~1"' the orocedu~e by wh.c~ th4. 4s do",.

.,m.

".0

As "ot,~ 4" .,ction 3~2.2.2. the o~."c.D" rout."e co"ee~",d
., emb@d~e9 wit"1" the .~EAO/.WRITE Droce •• or 8"d thi. 4.
di.culsed f1~.t i~ .,etio" 4.~.2.t.
It i. '~Ow" t~.t dur4~g the C~elt1o" a"d Ewt~"14o" of •
,4"k.d file, this rout4". can make Ute of t~e b4t.m.~ .'Q~ent b~oua~t ."to me~o~v ~u~4"O the
.nPFN e~eeet., u"ti,
th4. 4"d4e,te. that "0 furthe~ b10ekl r8~.4" u"a •• 4o"ed. I"

DOSA,~NO

this ea.a,
4.5.2.2
f~om

the

t~e co~e leo~e~t

~esc~ibe.
t~e
sy.te~-device,

~Ult

be

eh~"~ed

.ubl.dia~y

to effect

~out4ne
the I~ttc~,

a"d 'act40"
ca"ed, u.ua"y

Thil .ectto" 4n fact cova~1
two
.eQue~ce.
4~
the
,READ/.WRITE ~roces.~r whfc~ .~e executed w~en eXam4"8t40"
of the 'acilitfes Ind.c8to~ f" the d~fve~ I~terface Table
.how. that the devfce le~vict"g a datalet is ffle.lt~uetu~ed
(.ee !eetion 3,3.1)~ T~e f.~st leoue"ce i. ~ •• eon.4b'e fo~
en.u~4ne t~at the DDS Device ~lock i. set u~ co~~ect'y fo~
a" enluino t~an.fer, It ~ust a110 ft"d out t~ adva"ce the
"ext bloc~ to be uled i" the out~ut of a 'f~ked ff'e f" o~d­
e~ to c~a4n it to t~e o~e now befng w~ttten,
T~e .eco~d IeQue"ce fermI ~a~t of the ~et"itf.'.z.tio~ fo"ewfn~ the
t~a".fer, i" ee~t4culer checkinQ for the en~
e ft'e e"d
.t the se~e ti~e beai"nf"Q the set-ue for t~e "ext tranlfer,

ef

AI an integ~.l cart at the .READ/.WRITE ~roeelIO~, the~e 41
"0 Ineeffie ca" or extt e"d the Reafste~ .tete fe"o~. 0"
natu~elly withfn the Oe"e~Al
oee~atfo",
Howeve~
the
cre-t~.".fe~ .eQue"ce eSlumel thet
for a lt~ked ftle the
device block
needed ts held tn "Next ~loek *" fn the ~I8
where.1 it 41 eXDeeted to be elreedy cor~ect'v Itered f" the
DDB when the file
41
centf~ueul.
The
a~Dro~rfate
f.'e-~anaQe~e"t
~outfne
fo~
.O~EN letl ue the neeel'.~y
.tate i" ~eAd.nels for the f1~lt t~anlfe~ C.ee .ect4o"
4.5.1), the cleen-ue seQuence meintafnl 4t Clee below). A
~rocerlY eltabl41hed FIB i, e'lo elsentia', t~ough euto~atfc
14"ce ~READ or .wRITE mUlt be D~eceded by .~P~N or the reQuest i. ~eJeeted (lee sectio" 3.2.2.2)

*

It fo"ows fro~ t~e crevfous ce~eo~ee~ that "0 fu~ther eet4o" •• reQuired befe~e a tr8"8fe~ ff "Tyee" 4" the FIB
,hOWl t~e f.'. to be eo"tiouous. Otherwise, the eo"te"t of
"Newt Rleck *" is ~oved fnto t~e Dns. ~ewftver for DECtaoe,
this coul~ be "eQative, lig"ifyi"Q thet the bloek fl to be
tra"8fe~red wtth
the tape ~ovi"Q bec~war~. (se. 'ectio"
4.3.2). ~e"ce the ~ece8serv chec~ 41 made and the Block
a~d Tae~ Oi~eetion sw4teh i" the ~OR StatuI a~e adJulte~ acco~d;~g'y.
Onee do~e, oreDa~et.O" for 4"cut it a'io eo~.
"lete.

*

Fo~ outeut, 0" the
.eg~e~t
attaehed

ot~e~

~.~d,

a

se8~e~

to the FIB by .OPEN

of the
~u.t

b~

eo~e
~ede

b4t

in

~.o
ord.~

to aaca~ta.~ thft "ext block to ba w~itte" a"d l4"k 4t to the
~l~ck.
T~u.
t~. ~eo .fto~."t 0~iQ4" 8"d ~e"Qe a,e
comout.d f~om deta f" t~. ..cme"t p~.·e~b'. C.e. lectfo"
The .ta,t block ior the lee~c~ fs ~ete~m~"ed 0" the
b,.f. of the cu,re"t ~lock "u~ber f"c'e~ented by the IF
fi.'d f" the FIR (dec, ••• "ted ff t~e cur,ent ~l~ck •• a OfCt.pe r.v.,.e WRITE). The r •• ult f. co"ve,ted to a v.lue ra'at~ve to the •• om."t or~o~" a"d ff ftf. lee" to ~e eft~er
above 0' below the 'eome"t ra"08, it 4. reset to ~ to co,"'oo"d to the 0,1gi". At the .a~a tfme, • • wft.c~ •• let to
, •• t,4et the ,.a,ch, .f"ce o"'y t~o p ••••• ove' the s.o~a"t
.,. "aed.d, 0"' from t~. ootimal block to t~e e"d a"~ the
oth., fro~ the oooo.it. e"d uo to the oot.~al b'ock~
cu~~e"t

•• 1.3'._

Th. valu. of the optf~al block f. u •• d to fo,~u'at. the .dd,... ef ft. reo, ••• "t.t1v. bft i" the ~.o a • • how" f" •• eti0" 4.1.3. If thi. bft •• 0, 4t •• re •• t to 1 to clai~ the
blo~k_ (1'.
The block "u~ber, ab.olut.'y.reco"lt4tuted by
additio" of the oriQf", ts 'tored a' the fil.·,tnk 4n the
fir.t wo,d of the d.te buffer ("eoated fo, e ,eve,.ed curr."t bleck 0" nECtap.) end out out preoaratto" •• don ••
Otherwt.. the mao is ,.a~fned fo~ the ft,.t evaflable block
from the ooti~um, with the eur,e"t OECtape block df~ectfo"
d't'r~t"t"o that fo, the .aarch, 0" the fol'owf"o ba.i,.
1.

Th' ,dJacent b4t. i" a.ce"dtnQ (or de'ee"d.n~' o,der wfthfn the .a~a bvte are Checked wh4le tha block
value ., fnc, •• e"t.d 0' decre~e"ted.
Sucee •• fv. bvte. f" the aooroo,fat, d.rectto" e,.
telted, wtth the block "u~be, adJu.ted by 8, u"tfl
0"' "ot co"tet"f"o 37' f. fou"d.
The i"divtdu.' bits of this byte a,e aa •• " checked
f" Iteo 1 with cor,e.oo"dfnQ ~o~tiic.tton of the
block "u~ber.
'1.

The ••• ,c k i. te,~tn.ted •• ,00" .1 , 0 bit f • • ee" a"d the
r •• ult is p •••• d 0" ,. Ihown f" the 'a.t 08,aoraoh. If
however, t~e releva"t.e"d of the seQ~ent •• reached wtthout
.uece."
t~a o.ss .wttch. t. ,ever.ed ,"d the •• co"d oe •• of
the •• erch fs let uo •• follow,.
1.

~"df,ks, th~ s'arch
seOme"t o~fQt" •

....• ----- .......-

.

b'ock value i.

r~let

to

the

1. Becaus. of the oote"ttal ~e·e"trancv of t~e .QEAO/.WRITE
proees'9r, the ectual btt-checki"Q seeue"ce (,co~ox 30
~~ec.) 4s ca~~fed out at lavel 1 o~iorftv to ~~~ve"t eo~~uo­
tic" t~rouQ~ ."te'~uDt.

'o~ DECtIDe, t~. d.~eet1e" eo"t~ol 1t .w1te~.d to
~eve~.e .11
the .el~e~ oce~.t1c"s a"~ the eu~re"t
block beco~e. the 'ea~c~ bloCk (fo~ ~~.IO~' ofve"

4"

"ctfo" 4.2.3.)

The ••• ~e~ •• eo~o'et.'v ~esta~te~ wfth t~e t~a".latio" of
the "eW eote"ti.' block i"to b4t-oo,ft40", Should t~e leco"d 01,1 11'0 flfl to p~oduce • vaca"t block, the cu~~a"t
~.p
.ea~e"t ~Ult be ~e~lacld f" ~e~o~v bv ."ot~e~,
Thf. it
effected bv • cal' to the .oeefal rout4"e de.er.bed f" th@
",xt .• ect4Q".
0" ~etu~", the .earch f. co~o1etelv ref"ttt.,tled - f" this cele .'wavs ~ef"~ ~elu~e~ at t~e o~fQf"
I"d the D~oce •• is ~eceated u"tfl efthe~ a bleck f. fou"d o~
the dev4c, i. lee" to be ful,. (Th4. c~.e fl h8"dled bv the
IDecfll ~outf"e,)

'-J

O"oe tha .oD~ooriate actfo" ~a. bea" .atflfaet"~41v Iceo~­
Dl1.had, the ,.t-uo .eauence ~eJ~4"1 the ~Af~ ~out1"e fo~
III devfce., to e.~~v out the t~I"lfe~. 0" ~etu~", t~e ele·
I"-UO seOue"ce il ente~ed Ifte~ th~ "eee"8~y ~o."te~1 heve
bel" ~elet. Thfl li~Dlv f"cr~~~"tl "Devfce Bloek *" i" the
DDa 4f the f41e •• cc"tfQueu., ~oweve~, the "ew value i.
checked aQ.~"'t "E"d ~lcck" f" the FIBI"d if. o~eeta~,. tha
[PD ~~~ke~ fl let.f~ th, DOe. Fo~ If"ked fflel, t~e ff~'t
wo~d of t~e d.tl.buffer, f,a.
the If"k-wo~d ,ust read f" o~
the C"' w~ftte" out Ifte~ th, 11.~ch, ., ~~ved f"to "Next
alock' f" the FIB, a. reQuf~ed fo~ the lub,eQue"t t~I".f.~,
Thl EOD ~I~ke~ ft aOlf" ,et 4f luch lf~k-wor~ 4. 0 .fO"ffVt"O the e"d of a" i"out file e~ o"e forced UeO" I" out~ut
f41e wh," "0 ~o~e blocks Ire Iva11lbl"
~o~~~l ,READ/,WRITE
p~ocellf"o thl" followl I' de.e~fbed f" •• et10" 3.2.2.2.

Thl D~o.cel'. fo~ .'.loc.ltf"o t~e "elet outeut bloek de.e~fb.d
Ibove of COU~I. De~forMI f~ ~uch t~e lame wav a. t~e ~odul.
LBA d.l~ulled f" tectio" 4,4.4. The two ~out."el dfffe~ 0"lv, f" fact, ove~ t~ef~ ha"dlf~o of DECtaoe, LBA f. "ot CO"cer"ed with the D~oblem of block, w~ftte" f" ~~verse If"ce
dfrectorv a.te"I.,O"1 C~ t~e f1~lt fne-bleclel a~e .'WIV.
fO~WI~dl,
The aoo~oo~fate code could be adde~ I"d t~e embedde~
I.oue"ce woul~ the" be u""eeellarv. Howeve~ t~f. t.
"ot do"e o~ele"tlv for two re.IO"11
AlthoUQh the .READ/.WRITE o~ocello~ ~u.t b~ ~e­
Ifde"t fc~ the tf~e be4"o, thfl "eed "ot a'wavI
be t~a ca.e. The ~WIO BUffe~ ~f~ht "ot t~e" be
ayaflable fo~ LBA's ule.
r.ye" ff the SWIO Buffe~ f, f~ee, the coe~atfo"
to fetch LRA ~ust oote"t1a"v Oecu~ for each
ffle-block w~ftte", f.e. two devfce t~'"lfe~,

DOS~.~N~

fo~ o"e Calt~ough the ch.~eel .re that o"ce 10eded, LBA .~ ~.nv 1"st.nc •• cou'~ ~e u •• d .everal t4mes ov.~). Mo~eov.~ the,e •• "waYI the
eossib1l.tv th.t LRA m40ht be "eeded .t.~ i~­
ter~uDt
level whfl. the Droo~.~ 1. bef"Q •• rviced D.~h'DS by a Utflttfe. ~out.ne.
T~4.
would be u~.ble to comDlete .~d ~el.ase the ~SB
and LBA coul~ "ot b. b~ouoht in untf' ft dfd,
thul ~.noinQ t~e .v.t.m.

."oc.tio" ~eut.~e of the
.~EAD/.WPITE D~eael'O~ d'lc~.b.d 1~ the 'a.t •• ct40" •• , •• pon.fbl. for ,avi"Q the lat •• t .tat. of the f".eo~. ..~mant
fn the ma.te~ bft map .to~.d en t~e dev4ce a~~ fo~ ~e~'acfno
Th. modul' called bv the block

fn acco~da"ce wft~ the .vewed ~o"fto~
fer_ keeoinQ lf~ked ff'.s
far •• eo •• ible at the
f,ont end of the ~edfum. (See .ectfon 4.1.3.) It mu.t al.o
o~ovfde fo~ the e~ebab.'itv that nO fu~t~e; b'ocks ~ama1n
~~ee io~ a •• fQnment.
Hewev.~, the Modul' do.. "ot ft.e'.
Ittemot to •• aM4ne the .eQ~ent ft ~IY 10.d, thf. f. 'eft to
the CAllinG ~outf"e.
it by

pol.c~

anothe~ .eg~ent

,S

Call4"0 SeQuences
Th. Moeu1e deoend. u~on the ~'Qf.t.~
.tat.
of
the
.READ/.WRITE D~oce •• o~ at the c.'1, a • • av.d en the .taek by
the EMT handl'~1
~0 • Add~'11 of the ODe et "Ruffe~ Add~el'· CDOB+8)
ql • 10 (let ready fo~ .ece.s to the d~fv.~ t~lnlfe~
reutfne - .ee S.etton 3.1.2.~, al.o uled IS block
value f"ere~ent durfnG m.D •••• reh)
~2 • Add~elS of the FIB at the
f4~lt
temeo~I~Y
wo~k­
'~Ice (FI8+32)
q~ • Device switch ("on-0 fo~ nECtlo.)

In Id~ftfen, it exoeetl ·~e.t Block." fn the ~IB to b.
nen-0 when ffrst cel1e~ (1) Ind 0 ff ~ee.l1ed du~f~o the
•• me s,Areh o~e~.tion (f.e. beeaule the new seoment is allo
ful1)~
Allo two u"wented ftem. are on toe of t~e It.ek •

.. -._--.-.-.-.-.

1. Thfa fo"ows from the fact that ft. norm., content cannot be 0. sfnee ~h4. aa a block il never av.ilabl. fo~ D~O.
o~am eeees. (I.e f1aures 4-8 & 4-11).

DOSA. 'hit')

T~. p~o~l.~
"'.~t." . i~

Of

co~f'iet ov.~ MSB u•• o. d4.eu ••• d u~d.~ ·Co~.
th. , •• t .,ct40~ ".0 ,p~lie~ to tId ... out4~e •
h.~e. ~oau'. GMA C., • • ect40~ •••• 3) 4. ~ot
u.ed.
~ow.ye ..
th4 •. p~o~1e~ ce""ot be .~'ved ~" the .e"'e w.y, wh." the op •
• ,.tio" of e~."a4"q ",ac. i ... ,aui~e~ ~uc~ too 'eldo""YI the
4~e'u.ie" ef the ,outi". 4" ~WN i. t"'u, u~, •• l.lt.c.
N.ve .. the'e •• th4. i"f ... aue"cy "',ke. 4t fe,.4b'. to ,4.k the
.,"'e e~"il~ct fo~ the ~ub.~d4 ... y ~SB, .4"C, ~h~. c'~ o~lY
occu .. if the ope ... to .. h.po.". to u.e the keybo.,d .t the
""'e t4",e o~ .o~e p .... ll.' dey4c. t,.".f.~ p,oduc •••
h... dw ... e f •• ,u .... H."ce GNM •• c.".d by E~T 34, .~ •• , u ••
4"q 8 coae fo .. ci"Q SA~ to 'o.a 4t 4"to K!B e.ee •• ct40~
2.3.3).

AI "ot.d f" th. 4"t .. oduetio", th4. "OUt.", ~u.t h."dle "Dev.
4ce Ful'it will be ,how" h.low th.t ft ",e~.'y .etl the
EOD ", ... ke~ 4" t~. D~B ."d •• it. df,eetly to •• eeut. the d.vfc. t .. a".fe,.
To e".b'e 4t t~us to o",4t • fu~th ........ eh,
4t exe.etl the i".t .. uet40" befo ... the c." to be • b","ch to
the .DD~oo .. i.t. Doi"t. H."ee th. ful' e." 'eaUe"ee 4.1

."d

8~
E~T

RW.TFX ,CALL TFR I~ DEVIC! FULL
,CALL GNM
,RFTURN IF NF.W SEG~ENT LOAOED

34

Wh." e"te ... d, GNM u.e, the .ctua, R~of.t .... t.te •• t by
EMT h."dl ... (.ee 'ectio" 2.2.1) .s fo"ow ••
~1 •

St.ck ,dd .. e •• of the f4 ... t wo .. d .fter the c."
tu," o .... lftete ...
~5 • • dd~e •• of the ol'oce •• op St.tu. Rea4.t ...

th.
....

Exit St.tel

c.

0" eo"'c'etio", G~~ .. ee.", the .R~AO/.W~ITE
Oce •• o .. wfth
the 0 .. i04"8' e"tPy .t.te pe.to .. ed, exceot fop the fol1ow4"q
.dJult",e"tl to e".ble ,e·.".t~"iz.tio" of the ..... ch ••
~oted i" the '.It .eet1c"i

'.

~0

~2

•
•

Add~e.s

Add~el'

the
of the

o~

OD~

FI~

.t ·Wol'd COU"t" CD~B+l~)
at "Next 8loek" (FI8+0)

"Next Sloek" itself 4. cleered to .. e~eMber the
t,y C.ee opev;oul e.... ~ ... c"')
e.

e~.

The u"w."ted 1t.~. 0" the st.ck , .. e ~~Mov.d ,"d ....
~ecl.eed
bv • • 4"Qle ~"tpy of 1~0~0 (uled ,. ~ "0.
tatio" COU"t@ .. 1" the eo",put~t40" of the seQ",e"t
o ..

4,d",.

PlGF -¥-A4

P"oe •••• Mell
T~

,..due •. t~. ~"obab4l.tv of keyho.,.d f~ter~uct.o", G~~
f.p',t ,. ••••• t~. o~to,.itv
to 4 (cleared "V RTI
.xtt) .~d t~." .xt"act • • "d .dJu.t. t~e •• ved Rep •• ter data .s
Mot!d ,bov'.
4t t~ • • • ~. t.~e the 't"k.wor~ 4" t~. date
buff.,. •• cl.a,.ed .0 th.t 4f "Device 'ull" t • • ee", t~e lalt
out~u~ t,.e".fe,. co,.r.ctlv te,.~t".t •• t~e f.',.c~'~M~

'.V.'

0"

If GNM i. c.'led a"d the devie. t. OECt.o., t~e 10.dt"0 of a
M,W •• om.Mt f. tmoo •• ibl. wh.~ the"e •• 0~1v 0". C.e ••• C·
ttO" 4.3.2). Howeve,. t~. c." •• ~ed., b.cause t~e two-o.'S
••• ,.c~ d •• e,,~b.d ." •• et.o" 4.S.2.1 could, ~M f.ct,mt ••
ch.ek4"eI th, block • • k.ooed by the .'~D'.c.tf~" of the IF
(uM".c •••• rfly D.r~.D' • but ft obvf.t ••• oect.' ~."d't"Q f"
RWN fe,. a ·OMC. f~ a blue moo"" exe,.c4.el).
We"ce fo,. •
f4".t ."t,.y, GNM Ju.t •• tt •• ~medt.t.'y wfth "~ext Block" t"
the FIB ,cl"red, thu. fo"ci~o • • eco"d comolete .e."c~ of
the ~.e .eom."t .'"eedy f" co,.e ."d c.u.f"eI • " ••• ~t,.y to
" •• ult •• "D.vic. Ful'· C•• e be'ow).
Fo" d4.k oo.,.at40"., ,..th.,. t~." •• ve t~. exi.tf"g co"te"t
of the D"OO"'~" DDB, GNM u ••• ~t. OW" f"t'''"8l v.,..tO", al·
" •• dy •• t to t"a"'fe,. .'way. e. wo"d. (see •• ctio" '.t.3).
Thf. i. o".a.r.d to .~ow the .a~. Orfve" Add" ••• , Oevfce U"·
ft ,"d 9u.y Flaq co"te"t ( f~ c... of .,.,.or a. u"de,.,.
"Suffe,. Add,. ••• • f. e"te~.d f,.om "Bit M.c St'''t" t" t~e FIB
."d "D.yie. alock" f. comout.d f,.o~ the d.ta 1" t~. m.o •• g~."t .o,..amble.
"Co~ol.tio"
~.turM"
t. .et to eaU,8 the
d"fv.,. to call a .4~fla,. •• aue"c. to that u,e~ by SA~ fO,.
d'Qu.ut"O the d"ive,., eheck4"0 fo" t"a"li.,. i •• 'u"e, c'ea,.4"0 t~. bu.y flag a~d tak4"Q the Sy.t.m Exit t.ee .ectto"
2.3.4'.

If thi. t. the fir.t ca" to GNM fo,. th4. oa"tt~ul.,. ,.e"ch,
the cu,.,.."t m.o .eome"t mu.t b. wrttt." out befo"e • "eW o"e
4' lo.d.d. He"c. 4f "Next Block" 4" the 'I~ •• "0".0, the
d,.1v.,. t. c.,'.d fo,. out cut vta s.coe, w.t~ qeQt.te,. • • "d
Bu.y ".0 co"te"ts .av.d C.e • • ectto" 2.4.2). .wAIT fo"ow,
• w4t~ a It"k-block •• mulated 0" the stack. 0" .at4.facto"y
comaletio", t~. ODa BUlY ,'ao fe ,. ••• t a"d the "'ock "u~be"
fo" ~.e •• om."t *1, a • • to,.ed 1" the meo c~e.mble, is e"te,.ed • t~us alwaY. ,.e.um."~ the lea"ch f~om t~e fro"t of
the co~o'ete ma~ •• "'elu1"ed. W~e" th11 ha. bee" ~rou~~t
4", "N.xt Block" 1" t~. FIB t. clea,.ed to .~ow the GN~ e"t"y
,Md RWN is recalled. F~" .ub.eoue"t c.1l. to G~M w~t~1" t~e
.ame .earc~ oc.~at10", the w~fte.out.. u"~.ce"8ry a. 1t
ca" b• • • • u•• d t~at t~ • • egme"t lo.d.d wa • • lreadv ful,.
T~.~.fo", t~ •• o~ttt'd a"d ,.e.d.~a of luec ••• tve ~ae .eameMt. o~'v occu~ ••
Th. fo"m of the exit dtffe,.1 f~o~ that ~~ev10u.'y de.cr1bed.
Becau.e of the use ~f the KS8. GNM, 11k. t~e othe,. ,.OU·

ti"el,

Cou~t',
t~il

c~eck.

it.

~e.ide"cy

~oweve~ it ca""ot ee"

f~o~

t~e

~4~lt

byte

(Ulage

t~e "o~mll 'Vlte~.E •• t, w~e~

dec~e~e"t the MS8 COU"t II
delc~ibed
fn leetio"
Inlteld t~eref~~".w~en GNM f~ 1~ 'he ~S~ ~t usel I
lim1'Ir for~ of e.it I~ecfficel'y 0~ov1ded fo~ the keybo.~d
'I"aulae ~~du'el' (lee S,etion 6.2.~.3.). It ~eou.rel t~et
GNM Ito~e "RTt" i" the thf~d word below the KgB e"d e'lo
thlt i~ ~elto~e itlelf ~he ,ayed ~eofste~. fO~ the ea"i~Q
~~oarlm,
The .eme .ituation arilel, 1f a device t~an.fer
fli'., f" thia ca.e, GNM freel the KSB wh4'e executi"o "InT"
f" 'ieu 01 "RTI" (fata' error F~l.) (lee ehaote~ 7l.

wf"

2,3,.~

Co"'me"tll
-

aeelu.e of the inter"ll 008, GNM eu~rent'y el""ot bl
re.e"trl"t. AI show" for .INtT i" .eetio~ 3.2.'.1., t~f. fs
"0 orOblem al 'O"~ a. SAM cln orovfde t~e orotectfo" affo~d·
ed bv t~e re·e"trl"cY .witeh i~ the 'eeo"d byte of G~M (.ee
,eetfo".2.3.1). In the. u"'fkely eve"t that a use~ ~eQ~i~e.
ftl ~e.ide"cy, there could be orob'eml (eve" thouOh t~t. is
4molied bv t~e ehec~ me"t40~ed 4" the lelt olraoraoh).

AI Ihow" i" Seetio" 3.2.2.3, a" .CLOSE cells, 'ike those
f~~
.OPEN, are i"itielly orecelaed by a Qeneral routf"e.
T~41 e"IU~el that t~e lalt hlock of I"y file eoen fer out out
.1
diloltched
to
the
deviee.
tt
the"
csl'l a
f4'e.mlnl~ement routi"e to oerfopm directory o~e~ltfon.
if
the device 4n ule il lee" to be f4'e •• truetured. The ourOOle ef this section .1 te e.em."e the routt"e 10 cI"ed.
It. o~.~e fu"et40"1 ere.
1.

Uodate the m.ltlr bit mlO on the mediu~ ior. file
under ereation or e.tensfon, usi"Q the 'at •• t state
of the leQment f" eore
lJodete a file Ph
OECtaoe

~IO

for e new or'

e~tended

141e

0"

Comolete the UFO entry for the file to skow fts 1.telt .tate
Re'ea.e the FI~ ~nrl Deta Buffers to fr'~e Core, e'so
~he Bft Mao Buffe~ if "0 other f1'e • • re sti', us·
fna ft.

CI"i~Q

A ca"

SeQUe"eel
to FCL reQuires reof.ters set a. fo"ow.i
R~

• Pof"ter to DDB
R2 • Pof"ter to FIB
R3 • Drfv~r Addre ••
Rd • ~o~ff'ed How Ooe" Code (Code -'-,
T~I e~1'f"Q

.eaue"ce

fro~

the

CO~~o"

ODe"

Poreelaor

f.

al

fol'owi.
MOV
TSTB
BEQ
MOV
OECB
MCIV

.hl~"'5,

,QS

'IU

.+6

(PC)+,·CRt)
'R5
IU,PC

A" EMT 45 il out f"to the.DDB. A test •• made to •• e if the
Co~mo" Cl0.e Proee •• or t. f" the SWID Bufferl ff tt f' the
~o"tter SWID euffer mu.t be free Drior to ell,i", the 'fle
Clole routf"e. Th1lt. do"e by Dutti"o e .eeo"~ .".truet~o"
wh4ch freel the buffer f"to t~e OOB I"d t~e" outt4"~ f"to
the PC "
the'DOB addresl"where
th~ "e~t f"ltruct4o" to be e~e.
.
cuted tl stored.

.

.'

Delc ... 4otto"1
Whe" th~1 r~utt"e ts e"te~ed ~t f~rlt calli t~e M~"~tor
routt"e whfeh tlke. the slved co~t'"tl of
oe",r,1 reg4Ite~. fro~ ~he It.C~ e"d reltore' ~hem.
modif4ed How ODe" Code for the Ffle to be eloled fl t~e"
coded a"d eoorooriate cre"chel are tlke".

of.te~ ~e.tore

~e­

the
The
de-

A ,."~,d ff'e oDe"ed for outDut (OPEN"), oreeee~1 to clol'
I' f~llowI~ t~e block "Umbel" of the 'aat bloek wrftte" .s
DUt t~t~ the FIA at FIB + 16, LAST RLOC~ WOqO. A Dot"ter to
t~e
drtv,... loeatio" w~fch ee"tli"1 the de.frerl bft ~IO addre •• t. ea l culated a~d .,ved. The". telt.fs "'Ide. to. de.
te ... mt~e 4f the device tl OFCtaDer ff ft tl OfCtlce, it t.
",eel'lry t~ uDdlte b~th the cel"~a"e"t bft ~IO a"d ftle b4t
maD.
For OECtloe the Del"ma"e"t b~t maD ts read t"to core.
The core btt ~ID, which delcr4bea the old Del"~l"e"t btt ~ID
Dlul the block bet"a uled by th~ "ew ftle, i. wrttte" out.
The" th~ eore bit maD 4s btt clelred with t~e D~rml"e"t bft
mID, so thlt the I"emaf"t"o set bits delcr4be the ffle btt
mID. The f.'e bit ~ee ~s reed 4", 8"d btt set w4t~ the modified core c.t mao I"d the" it fs wrttte" out. For Otsk tt

OOS4.RIIj'"

4.

to .ea~c~ the b4t ~ao ehai" to Qet t~e eo~~eet
b4t ~ap bloek. T~e ee~e bft ~ae i._t~e" w~.tte"
out. If there a~e "0 FIBs laft on the FIe e~a4" the" t~e
Co~e B4t Mao Auffe~ t. releal8d, by t~e Mo"ito~ Buffe~ ~e­
'e.se Routi"e. ~ow t~e fi18's ~4~eeto~v F"t~v 4s ~earl 4"
a"d t~e F.,e fnfo~~.t.O" i. uodated wit~ a le"oth and a 'a.t
bloek of file. T~e bloek co"ta."1"~ the d4~ecto~v e"t~y i.
the" w~itte" out.
The FIe a"d Oata Buffe~. a~e t~e" ~e.
le.sed 8n~ the co~mo" e.1t ~outi"a il take", fo~ ~etu~"4"Q
to th8 u.e~ •
"eees.e~v

~e~~a"e~t

• contiouou. f41e ooe"ed fo~ update o~ out~ut, (OP!IIjU
OPENC) o~eceed. to clo.e 4n a co~~on ma"ne~ •• follow ••

o~

F~~.t t~e block co"tai"~"a t~e ftle. UF~ ent~v ~. ,ead f"to
co~e.
T~e file Lock b4t i. claa~ed a"d t~e u.aQe eeu"t i.

dee~eMe"ted.

T~e "eW fil, le"ot~ a"d t~e ftle'. lalt

block

"umbe~ a~e out into t~e d4~ecto~y e"t~y.
T~e block eo"taf"i"O t~e f41.'. di~ecto~y e"t~v f. t~e" w~.tte" out, the "ece ••• ~v bu~fe~s .re rele~.ed a"d the ,outi"e ~etu,". to the
u.e~

th~ouc~

the

co~~on

ex4t

~out1ne.

A linked O~ co"tiQUOUS file o~e"ed fo~ i"put COPENI) t.
elo.e~
1" t~e followi"O ~el~t.velY .i~ple ~a""e~. T~. 'I~
•• ~ele".d bv t~e ~o"ito~ buff.~ ~elease routine. The" the
O.ta Buffe~ ts rel@a.ed bv the sa~e ~out1~e. Co"t~ol 4.
the" ~etu~"ed to t~e u.e~ t~rouah a ~etu~" v4a the eo~~o"
eleit ~out."e.
A linked File ooe"ed fo~ •• te"s40" COPENE) •• closed t" the
followi"o ~a""e~.
The last bloek numbe~ ef the o~i~f"al
f1'e, w~1e~ is .tered 1" the FIB, t, tested to .e •• f ft f'
neoative.
• ne~at.ve ~'oek "u~be~ mea"' t~e lalt bloek wa.
w~ftten backwards, w~4c~ ca" on'v happe" 0" D~Ct.oe.
If ft
t. neaat4v@ the ~eve~.e bft 1s set tn the DDA and the block
numre~ •• "eoated. T~e" the c~fgt"el ,ast bl~ck
~ea~ fn,
end the block "u~ber of the beQf"nt"Q of the e.te"sfo" ••
put f"to t~e l4"k wo~d of the block.
T~e" t~e blOck i.
w~1tte" out, and the ~eve~.e bft 4" the Doe fs elea~ed.
The
elosing p~oc.du~e now p~oeeed. t~e .a~e as elel1nQ a" OP~NO
file, e.ceot when the dt~eeto~v e"trv i. u~dated the lock
bft ~u.t be clea~ed fer a" OPfNE.

.1

OOS4 ... Nl.I

4.6

Hou,eke.c4"g_Oce~et10"s

A p~oa~.m "eed, fact'4t~e~ ot~e~ t~e" t~e ma~e oDe"4"~, D~O·
ee'li"o. e"d Clos4"O of ffle,. ~u4te eo~mo"'y, t~e.a ff'es
mev be ~~'v te~DO~A~Y - e. _ Wly of ut~'fzfn~
t~e
bulk •• te~loe mediu~ IS I" e.t@"sio" of avai'I~'e co~e. At
leta~ .tl~ea, these ft'ea mu.t ~e d@leted o~ ~e made oe~~."·
e~t u"de~ •
new n.~e o~ dfff@~e"~ o~otecti~". Co"tf~uous
ftlea, also, ee~ on'y be o~oceale~ 4f they e~e e'~eldy 1"
e.ilte"ce, the ~ea". o~ e~eetf"g t~e~ f"4t4e"y ~Ult be ac.
e.alible. Futhe~mo~e, ft hea bee" ahown t~et oee"f"o a ffl.
4a o",y ce~m4asfb'e i" Iceefffed e.ses, ~.~. O~E~U fl '.~a'
o"'y fo~ co"tiououl fflea. e • • nPENO f~"'.es t~at theft'e
d~el "~t
e.ia~ el~eady.
Th, D~OQ~e~ ~.y th~~efe~e ~ilh to
e.emi"e the device di~ecto~y i" edvanee to orotect ftse,f
eOli"lt er~o~.
He"c. the e~D~oorfate DrOO~lm ~eQuests Ire
D~ov1rlerl for these ope~.t4o"1 e"d t~e obJeet
t~4s .ectto"
.a to d.scribe t~e ~."ne~ i" w~ic~ they .~e D~oce.aad. I"
Ge"e~.', thea. reQuesta a~e v.,4d O"'y whe" a
ffle is "ot
elreedy. ope"ed on the detalet ce"ce~"ed e"d .'thOUQ~ the
p~oce.s'"~ ~odu'e f~ elweYI ce"e~, it to"o~es the
cel' if
the devfce i. "ot fil@·structu~ed.

ef

4.e.l.l . '1 'ocete Set-uD

The fu"ct4o" of t~e module is to e~eete a contiouous file by
.eerc~i"o I deviee's Derml"e"t hit ~ID f~o~ the e"d, 'ookf"~
for the .• cD~oori.te number of U"occuDfe rl eo"t~gUOUS blocka.
Whe" fou"d the co~r~.oo"dfno hit. e~e set f" the ce~~a"e"t
b.t mao. I~d ." ."t~y ts ~ede f" the UFD io~ th@ ff'e.

MOV

.~uM,-(qe)

MeV
Mnv

_LN~BlK.-CR~)

F.MT

15

.FIlBLK.-CR~)

• value of -1 retur"erl 0" too of th@
cltea a successful .llocation.

steck

f"df.

A, v.,u. of X, not .cu., to -I, ..... tu,.n.d on
the
top of t~e Itac~ wh@n a"ocat40~ ~ •• un.uee ••• ful.
Th. yalue ,.etu,.~.d, X, f~dfe.t •• th@ s1z. of the
la,.Q •• t elloe.t.bl~ s.q~ent aY8il.~le, i~ e4-wo,.d

unU ••

O•• e,.4Dt1onl
Th. mOdule ff,..t e~eek. to .ee 4f it i. f~ the SW'D ~uffe,..
If it 1. it "'Quelt • • buffe,. f"o~ f,.ee co'" th"ouQ~ the
Honfto,.i. G.t Buffe,. ,.outin. (GET~UF) .~d th.~ ~ovel ft.elf
fnto ft. If. f,..e eo,.. buffe,. •• not .v.f'~b' • • nd .~ e,.,.etu,.~ w•• not .,t u~, the
Monfto,.·. ~iag~o.t.e P,.1nt
,.outin, is e.ll.d to e,.4nt .n .~~,.oe"i.t. e~ro,. code. If.n
,.etu,.n ~ •••• t up it •• tak'" by th~ eo~mon ,x1t rout.n • • ft.,. ,.., ••• t"o the ".e •••• ,.y buffe,. ••

,.0,.
.,.,.0,.

Th. ,.outi". t •• t. to •• e 4f t~1. i. a file .t,.uetu,..~ d.v·
fe., .nd ~1 not, the ,.outine e.tt. th,.ouoh the eO~mon exit
,.outf" • • fta,. 1,. •• f"0 the O.telet .nd ~'e."fng u~.th • • t.ek.
Th. ,.outi"e .1'0 ",'ee.el the 1"ee eo ... buff ... it occuD1 ••
th,.ouah the Mon4to,.'. Buff.,. ~.1.... ,.outi". ~.RBUF whieh
,..tu,.". d1r.etly to ~he eom~on @xft ,.outi~e S.ExIT. The
.uce ••• 1"dicato,. C-l) il ,..tur".d on the .t.ck.
Th._EMT .SETUPFIB 1. i •• u.d at th4. ~ofnt t~ oet 8 O.t.
Buff.,. .nd • ~IB. If no buffe,. i. eva.,.ble, us. the D"'VtOUI
it fO,. no buff.,.. ~ow an EMT .LO~KUP fl fssued.
T,lt. a,.e m.d.10,. .n 4ll.Q.' file name, no UIC, and ff the
ffl • • ,,. •• dV e ••• t.. If anv of th •••• ,.,.c,.~
e det.eted,
the e,.~o" ,.etu,.n tn the f.'e block i. taken, 4f th.,.. fs
on., Oth.,.w4.e, the Monito,. "'Qu.st. E,.,.o,. ~fao"ost.e p,.tnt.

,,,,.0,. ••

...

If the,.. 1. no UFO it get. thp. f1,..t UFO block by o.tt1~q •
bft m'D into eo,.., al10e.tf"g '. link.d ~1oek and w,.ftinq the
bft m'D o~t. T~e UFO i. then 14nk.d to t~e MFO.
Then the
HFO f. ~,.itt.n out.
If th.,.p. ~ ••• UFO see f1 the E~T .LOOKUP fou"d a" emety
.lot f~ .. the 111e ent,.v. If no e~Pty slot .dd • block to
the U~D. A n.w UFO block 0,. the Hr,t IJFO block is gotten
1n the fol1owino ~."ne". A" EMT .GET~AP •• fl.ued to make
.u,.e • bit m.c •• 1" eo,... A" EMT .BALlOe t. t •• ued to a'loc.t. • block fo" th, IJFO a"d the" ." FI'4T ·.W~IT"'AP 1s t.·
.u.d to w"it. out the bit mac. The block to ~hfch thi. o"e
w411 be link.d tl ,..ad 1~, .nd the ,.".i"O takes claee. 11
the. devjce w.s • ~ECtace and the,.e w.,.. no .e~~ty slots .n
.,.,.0,. t. det.cted ."d h8nd1ed t" t~e ~,.@viou' m."".~. T~e
new block is 'i,,~.d to the '.st a"d t~e lalt •• w,.4tte" out.
Now move the file "a~e and e~t.nsio" whie~ ~e~e cut 0" t~e
.taek bv tl'te EMT .LOOIC'UP, t"to the LJFr) 8nt,.v. Clea,. the u.·
'0' COU"t, t"'. ftl • • t.~t, 'en9th, and end. Al,o eut D"O·

t.ctio" code fro~
out the UFO block.

t~e

.t~ck

i"to the UFO

.nt~y.

T~."

w~it.

T~. rout1"e "OW set. UP to c.,l the COntiauou. ~lock Alloca·
tor eCAA'. The .ddr ••••• of the R.ad routi". and t~. Writ.
routi". 1" the ALO ~odu~e ar. D••• ed to the Cont.au~us ~'ock
Alloc.tor throuQh r.gi.t.rs R' .nd R~. Th. E~T .G!TCONT!Q
(!MT ~1" 1. i •• ued, Thi. "'ocat •• the r.aue.t.d "u~b.~ of
contiQuou. block. if .va.,.bl.. If the r.Que.t.d "u~b.r of
blocks we~. a',ocat.d the aucc.s. f"d4c.t~r (-t) 4. ~oved
4"to t~e return .rau~ent P~ •• t.on. If the reQu •• ted nu~b.r
of bl~cks i' not avai'abl. the '.ra •• t nu~b.r ~f .v.i'.bl.
cont1euoUI blocks i. mov.d fnto the r.tur" .reu~.nt~ A" !MT
.RLSFtB fs i.sued to rel •••• the FIB 'nd the Buff.~.
Th.n
the rout4ne return. to the c.,l.r throuoh the eO~mO" •• 4t
rout1".~
B.fore ~eturn."o to the c.ller ~t i. n.ee •• arv to
r., •••• the f~ •• cor. buff.r occuDf.d bv the A"oc.t. Rou·
t~"' ~ALO).
Thf. ~. do". by ,4~ulati"a a JSR to the
Monftor'., Buff.r R.'ea.. rout1"., S.RBUF but •• ttin~ the
.tack .~ S.RBUF r.tur"._d~r.ctlv to the c~m~o" ex4t rout.ne
which f~.e. the SwaD Buffer a"d r.turn. t~ the u.er •

•• 8.1.2

CO"~UOUs Block A"ocator

T~i. ~odu'e i. call.d onlv by Al'ocat. (ALO) and
it. func·
4~
to a',ocat. the r.aue.t.d nu~b.r of eont.~uou. 6.
~ord un~t..
The function 1. Derfo~m.d by ••• ~Ch1"O the dev·

tion

ic.. bit maD. from the h4g he.t number bit ~aol. lest word
and worki"o t~ward. the beginning oi the devi~.~. bit m~D'.

R0-'ODRESS OF ODS
~4-AonR~SS OF WRITE ROUTINE I~ 'LO
~5-AOORESS OF REAn ROUTINF IN ALO
FIB+0-0RIGINAL Al, POINTER TO CALL
FtB+2-0IRECTORy BLOCK
FtB+ •• OtR~CTORY I~OEX
E~T

51

Rl.~u~ber

~2.Largest

reQue.ted
"u~ber avaf,able

ARGU~E~TS

PAG!~51

.

-

.

De.c~iptio".

W~e" th~. ~outi"e_ il ~"it~lllv @"te~ed the ~o~ito~"
te~

~e.to~e ~outi"e 1, cAlled to
Idd~es,e, t~I"lfe~~ed th~ouch

~e.et the
~egi,te~,

Rea~.·

~e01.te~,.
R4 e"d ~5

T~e"

the
I~e
,et UP fo~ u,e of the R£AD/~RrT£ ~outf"e, bele"o4"c to the
CI',i"g mOdule C4LO). po4"te~. I~e let to the ~~.ve~ I"d to
the FIB, I"d the dr~ve~s .tl"dl~d bUffe~ lize 4, cieked uo
fo~ t~e "ext comoutltio".
The" t~e "umbe~ of 64 wo~d u"4ta
de.4~ed
4, co"ve~ted i"to hlockl. R~ will be the "u~be~ of
block ••
Reid 4" t~e M'D bloCk, The" dete~m."e if the~e is I bit ~ID
4" ce~e fo~ thil device I"d u"ft "umbe~. If the~e il A miD
4" co~e, look dow" the li.t of miC' to fi"d the cu~~e"t o"e,
,Ive it' co~e Idd~e" I"d block "umbe~ the" w~1te it out.
Th1, •• do"e 10 it CI" be ~e'to~ed befo~e ~.tu~"i"g to Alloc.te (ALO). we "OW D~oce.d ., if the~e w•• "0 mlC 4" co~e.
Reid ." the , •• t, high.'t "umbe~ed m.c. The" 'et u~ I. follow" fe~ bft m.D le.~ch.
• Cle.~ed, h1ahe.t eou"t to dlte
2CR8) • Numbe~ of bloCk. "e.ded
CR6) • (Add~e'l -2) Of l •• t ~'D wo~d.

~CRe)

of f1~.t wo~d of miD
of 11.t wo~d of ~Ie
R3 • Mioh block "umbe~ f" mlC
R4 • Clel~ed, fo~ eou"te~
R~ • M.,k

Rt •
R2 •

Add~e.,
Add~e.,

Th11 seetio" of the eo"tiauous bloek Al l oeetie" module Ce~A)
.e.rche. the bit ~eDS to f4"d the "umbe~ of eo"tigyou. f~.e
bloeks ~eoue.ted. ~h1ft e me.k t~~oUQh elc~ wo~d of the ~eD
100k4"c fo~ the ~eoui~ed "umbe~ of .ucce'live ·off" bit ••
If e" He"" bit is ~e.ehed befo~@ the ~eQuf~ed eou"t 4. • ••
tf.f1ed, uDdete 4(~6) w4th the h1ohe't COU"t to d.te. T~e"
eo"t1"ue ~llk ,ee~c". If the bottom of • maD •• ~eac~ed
~e.d
1" the "ext map ."d co"t1"ue. If"o ~o~e mepa to be
~eed, Qet the di~eeto~y e"t~v bloek, cle.r
this e"t~v ."d
w~1te
the d1reeto~y e"try bloek out. Reltore 0~io4"1' ~'D
i" eo~e if there WI. o"e I"d th~" e~4t blek to thft ,"oeate
Rout4~e, through the commo" exit ~out4"e, S.E~IT.
UDO" ex4t
R0 will be ~esto~ed, ~1 w11' eo"ta1" t~e "u~be~ of u"it.
"eede~ e"d R2 will co"tAi" the hiohelt "u.be~ fnu"d.
If the reou1red "umber of b'ts hive bee" fOU"ri beei" .ett4"o
suceels1velv 1" the bit map. If the e"~ of the maD 4s
~e.eh.d before .etti"o III the "eee"I~v bit.,
w~.t@ th41
miD out I"d ~e.d i" the "ext. T~e" eo"t4~ue •• tti"o t~e "e.
ce ••• ~v b4t., U~O" eo~p'eti~" w~1te out t~i. bloc~.
If
t~e~e
WI' cri~1"lllv I bit maD i" core, the" read it back
the~

~

PAGF-.y- 52

DOS~.RNO

4".

R•• d

t~e

d4~ecto~v e~t~v,

•• t ' •• t b'ock,

'~"eth,

and

.t.~t. block, the~ w~fte the d1~.cto~y entry out and exit a.

d •• cribea abov ••

If Rl-R2 a"oc.tio" wa • • ucce •• fu'.

Th. fu"et40n of t~e module i. to ~.'ete. 14'. on • fi'e
.tructu~.d device.
~e'et. det~~m1n •• 4f t~. ca"er ~a. the
".c •••• ry ace ••• or1v41ege to d.lete the f418.
De'ete ••
dfvtd.d. functional'y 4"to d.'.tio" of th~ee tyoe. of ft'e
de'et •••
t•

OECta~e delete~·
~~t c'.art~g of the

f41. b4t maD

UOo~

the

De~manent

bit "'ao.
~t'k '1n~.d f41e delete •
Ca'" t~e de'et. li"k.~ ff'e ",odu1e (OLN) to fo"ow
the f11e'. cha." of 'i"ks to deter~f". whtch btt.
4" t~. oer"'a"."t bit mao to c'ea~.

contiQuou, ft,. de' ate •
the de'ete conti~uou. ft'e ~odu'. eDeN) to
z.~o the
words from .t.~t t~r~ueh the 'en~th
of the fi'e. The" re.d. the b.t "'ao, and c'ea~.
'e"gth consecutive bfts beot""1no at .ta~t.
~t.k

Ca'"

'."K

ST.RT
LE~GT~

- FIqST ~LQCK O~ T~E FILE
- ~U~8ER OF ~LOC~ TN T~E FILE

~ov

.FIL8LK,-(R~)

~OV

.LNK8LK,.CRe)

EMT 21

.

.

O•• c~fot1o"1

'S

Th.de,ete ~odu'e ffr,t determf"e~ if it
i" the Swao
Buffe~.
If it 11!t gets ~ ~uff.r from f~ee core th~ouah
the Monito~'. Get auffe~ routf"~ eGETBUF) a~d move. ttle,f
4~to
ttl
If a buffe~ 1. ~ot Ava1'ab,e the morlu'e re'e ••••

the

"eee'.a~y

-

buffe~.,

-

f~ee.

t~e

~ateset

~n~

leave.

t~~ough

t~e c~~~o~ ,x~t ~ou~1~e, ~.EXrT w~1ch take. t~e e~~~~ ~etu~~
add~e...

If

the~e

is no

er~o~

~etu~"

edd~e •• ,

8

~e •• e~e

i.

~~1"ted by t~e ~o~~t~r D~a~noltie P~int ~out~"~ ~de~tiiyi"~
the e~~ol'.

The ~out4~e te.ts to .ee if t~e dataset i. busy, a"" 1f it
4. the .a~e e~l'o~ o~oeedu~e a. above f. u.e~. The" t~e dey •
• ce i. checked fo!' bei"g f1'e st~uctu~ed.
If "on fOe
.tl'uctu!'e~ a"
i~~ed •• te exit
1, t.ke~ baC~ to t~e call
th~ouoh t~e co~~on ex4t routine.
De'ete ~ow i •• ue, a~ EMT .SETUPFI~, to oet ~ ~at. Buffe~ .~~
.et uq a FJ~. T~e"_en ~MY .L~OKUP i, is.ued to dete~~f"e 4f
the f1'e ex4.t.. If t~e fi~e doe' "ot e.i,t ft .s 8" e~~o~
."d 4. handled i" the o~eyiou. ~8n~.~. The el"e~'. aece.s
p~iv4!eoe i, the" c~eck,d (v41 fMT .CKA~SP) to dete~mi"e
4f
de'et40~
of the file i. oe"mitted. If eeee •• o~iv11e~e i.
de"4eri the Dl'ev40u, e""ol' ha"dlino ol'oce~u~e i, fo"~wed.
The 'out~"e the~ te.ts. if. t~e file ~. oDe~ I"d if ,0 the
p~ev40u. erro~ D~ocedure 4. fo110wed.

If "0 e~l'ors to t~is ooi"t t~e rout."e eall' t~e ~o"ito~'s
Get 'uffer routine CGF.T~UF) to ."ocate e 2~6_word ~uffe~.
The" ft. add~e.s i, .to"e" i" R2. The R2 Buffe~ w4"
be
used fer "ead4~q i~ the device's.MFD b10e~$ 8nd bit ~aDs.
T~e De'ete ~out4". t~e" dete"mine. if t~e dev4ee 4. disk
01'
D!Cta';e~

If OECtaoe, the I'outi"e detel'~i~es t~e block ~u~be~ a~d inde. 01 the di~eetory e~try, end t~e" c'e~~s the rli~eeto~y
e"tl'y f~om t~e UFO and w~ite. the UFO b'ock out.
Note t~e
block eo~tai"i~q the di~eetory e"trY i •• ti', 1" cO!'e fl'o~
the EMT .LOOKUP call. Now calculate the ~loCk ~u~be~ of t~e
ffle bit maD.
Read t~e oe~~enent bit ~eo into t~e R2
b~fie~., t~ t~e f41 •.•• contiouous a" E~T .OELC"NTIG Cdelete
co"tfouou. f4'e)
4, i •• ued wh4c~ uodate. the oe"ma"e"t bit
~aot YOO" r,tul'~ t~e De~mane"t bft mID f. wl'itt~" out.
If
the f."e 4, .linked, "eali i" the FAM a~d bit clear t~e Del'~enent bit mao wfth the f41e bit meo,
a"d 11'0 clea~ the
111e bit ~Ie. T"en write t~e file hit~ao .n~ the eel'~~"ent
bit m4e out. Fo~ both 'inked e~d co"t4quou. OECteoe files
the .ame actiO" fl "OW tlken. T~e 256 wO~d R2 ~uffe~ is re'e •• ed ,nrl t~e ~outi"e e.fts .s described f" t~e lest ~a~a·
G~IDh of th4s Section.

If

the device 11 disk an EMT .OF-LCO~TtG Cdelete contfouous
er an E~T .OE~~~ (delete. linked f41~) is fssu.d.
Re.to~e t~e use~ file dfl'ecto~v
nuff.~
adrlre •• a~d ~'ock
"umbel', clear t~e ffle entrv ann write the JFn out.

f41.)

Now 101'
teke".

b~th

An

disk and O~Ctao. 141., the fo11owinQ exit
.QLSFIB f •• ,.ued to re'ea •• t~e Flq and

E~T

i.
t~e

DOS. , IitNf"I

Oete ~uff~~. If t~i. ~edule •• ~ot pe~~e~e~tly co~e ~esi­
de~t
it 4 •. "ecessery to ~elea.e the free cor~ ~uffe~ it occueie.. Thi. 11 ~o~e by .ett.~Q the ed~~e •• ~f the c~~~o~.
exit reut.~e e. the ~etu~~ edd~es. fo~ the MO".to~'. 8uffe~
Relee.e rout1"e, the" .f~uletf~a e JSIit to t~e ~o"1to~"
8ufie~ ~e'ee.e rout.~e, S.ABUF,
The Commo" e~it ~out."e ~e·
tur~1 to the uler.

(DeN'
The fu~~t.o" ~f t~11 ~o~ule •• to e,.1It i" ~e'et.o~ of e
co"t1~uoul
f11e from dtl. or DECteee. Thi. mo~ule performs
the F41~ Me"eQeme"t oeeretio". ~hic~ ."c'u~e upd.ti"O the
devtce t • perme"e"t bit meDII e"d clee~i"g t~e F.'e'l hlock
,i"kl f~OM 'tart throuo~ 'e~Qth. T~t. module f. celled o"'y
f~om the file It~ucture. module delete (DEL),

R0 •

Po'"te~

to 008

R2 - Pof"ter to 255 wo~d eUMtlfe~y buffe~

STAeK

~etu~" i"formetfo"
.eerch (EMT .LnOKUP).

.~o'd.
E~T

fro~

~frectorY

5.

w~e"

the ~e1ete Co~tieuou, File. Mo~ule (DC~) •• f"it4al1Y
e"tered e te.t f. mede to deter~f~e if the deviee 1, dis. o~
DECtaee. Oi,k Fi'.e deletel _"d DECtepe Ff'e delfte. ere
he~d'ed i~ two .eoa~ete .ect10~. of tht. Mo~ule.
F1~.t Of.k
delete. will be d •• cu •• ed e~d the~ ~ECtepe delet •••

For a co~tiQuou. ffle delete fro~ df.~ t~e ~odul. ffr.t
cle.r. th~ bit MaO 11"k worrl e"d set. t~e bft mac buffe~ addrels 1" ~DB+6 C8UFAD~,' ,eve. the ~,fOf"Al wer~ COU"t 8~d
lets the ODB word COU"t so t~et o"'y o"e we~d, t~e 1t"k
word, w411 he t~e".ferred. The Tre".fe~ ~loc~ ~uMber f" the
DDB 4s the" set to the .tert bloCk of the i11e. The" the
~out4"e
'oops throuoh the fil. cle.r1"~ t~e 11"ks by
tra".fe~r."o out
o~e word,
the cleared 11~k word u"t11
le"et~ (f.,e 'e~qt"' he. bee" letf,ffed.
The", ft restores
the orief"_' word COU"t.

PAGE;t-55

Now t~e f1~~t ~FO oloek 1s ~eed 1~to eo~e. I~ 8 bit ~an is
4n eo~@, 4ts add~e,. a~d b10ck "u~b.~ a~e saved and it 1a
w~itt~" out~
w~en t~~. is co~ol.te, o~ no bit
ma~
was i"
core, t~@ fo,low4"o oecu~ •• T~e bit ~a~ numbe~ co~~esoo"d·
4no to t~e start1"Q block of t~@ f11e is eo~outed. T~e bit
mao 4. now reed i~. T~e atart4"Q bloc~ nu~be~ i. co"ve~ted
to 8 oa~t1culer bit ooa4t40" 4" t~e mao. T~e bita co~~es·
pondinQ to t~is ft! • • ~e t~e" cleered. If t~e e"d o~ the
bit "'80 is ~eec~ed befo~e comoletto", t~i. mAO i. w~ttten
out e"d t~e next ~a~ .s read ~n, end the btt el.e~i"g CO"tinues. Uoon co~ol.tio" 01 the bit cleart";, the cu~rent
mep ., w~itt.n out. T~e ".cesse~y buff.~a a~e releese1 a"d
the routi"e eMits t~rouoh t~e com~on e •• t ~outi"e.
Co"t~ol
4. r.tu~"ed to the Delete Module (DEL), frem which Oelete
co"ttnuous File. (OCN) wes called.
For a conticuous f11. del.te f~om DFCteoe, a much si~ol.r
file" starting block e",d lenqth
T~e" t~e ste~ti"g block of the
f41e i' cenve~ted to t~. ce~~esoo"d.no b4t 4~ the ~Eeteoe
~e~~ene"'t b4t meo which is in co~e when t~4'
~outine
••
celle~.
The bits i" t~. ~er~e"e~t bit "'eo cerresoen~t~Q to
the f41e blocka are cleared begf""ino at start end ooi"O
th~ouoh
le"gth bits.
The co~mon e.tt ~out4"e (S.EXIT) i.
the" used to ~eturn to the Delete Module CDE~', f~om w~1ch
Delete Co~ti9uous Files (~CN) w~1 cal'ed.

~~ocedu~e is ~eoui~ed.
The
er. ato~ed in two reQtat.~..

COLN)
T~e function of this ~o~ule is to assist fn
~e'et1o" of
a
l~nked .f11e f~o~ disk.
This ~01u'. acco mo11sh •• ita fU"C-

tio'" th!,0'J9 h p@~fo~m~nce of Fne !o4a"aae~e"t ~f)eret.o"'s'
which tnclvde uodatino the d@vice, oer",a"ent bit maos and
clear t~e link word of the file" blOCks.
T~t.
module 4s
eal'e~ O"'V from t~e 1t'e st~uctu~es module delete CDEL).

Desertot4ol"ll
For a lil"lked fi'e delete from disk the ~elete L1~ked ~4'e,
CDLN) ~01u'e first ~eadl t" ~Fn tl. T~e f)rese~t we~d count
i_ saved 81"1~ t~e wo~d eou~t 4s ~et for 6~ w~r~ tra~sfe~s.
If a bit mao t. il"l eo~e it 4s w~itte" out e"d it. buffe~ ad-

d~ ••• _.~d

nu~be~ .~e
•• ved.
Set uo for o"~ word
deterMine the bloc~ ~u~b.r of th. f4rst bit
~.~, ."d r •• d it in.
The routi"e re.d. i" the 'i"k wo~~ of
the fi~.t 6 block. of the file, th~n write. out • re~o 14nk
into the fir.t .ix block., un'ess the file occu~ie. le ••
t~.n e block. the , •• t link ts slve~.
See 4f t~. b4t ~~~ in
co~e cov.r. t~e ~od.fted ftl. b'ocks.
If not write it ~ut
.nd ~,.~ 4" t~e orooe~ b4t M.O, Now clea~ the eorre.oo"d4~o
bftl 4n the b4t m.o. Th. ~outi". conti~ues t~ thts 1000
ttll the ffle en~. The .Ived link 4. now the "e.t block of
the f.'e to b. re.d tn. The Module cont.nu.s throuQh the
ftle tn the .bove M."n.~ .av.n~ 'tnk., cl.ar4"0 link word
Ind clee~."o btts tn th. aoo~oort~te bit ~.o. ~h." .rere
1tnk i, d~tected, the .nd of the f41e ~.s been ~e.ehed,
Then w~tte out the current btt MIO. If I bit ~eO w•• ortofnl"Y in core re.d it b.ek tn, re'.~sa th~ n.ees •• ry buffers
end e.it blck to the delet. (DEL) Module, th~ouoh the CO~Mon
e.ft ,"outine,

t~.".f.r.

block
.~d

CAPP)
The functfon of thi. Module ts to aeoend two 'tnk~d file.
tog.t~er,
Apoendino involve. '.nki"Q FILEA t~ 'ILE~ and adJu.ti~o the file ~ntry fo~ FILE~.
If ft haooen. that the
d.v1c~
"
OECtaoe Module AP2 is .'so celle~ to mod1fv the
OECt.oe btt m.o ••.. FILEA e ••••• to e.t.t •• e 'eo.~.te file
.nd 1. now c.rt of FILER.

~ov
~OV
~OV

.FILEA,-(R6)

E~T

22

*FILE~,-Cq6)
*LN~8LK,.CR~)

FILEA - Addresl of the UFe for File A
FtLEB - A~dress of the UFR for Fi'e ~

-

.'

Oescrioti",,'
Th;s ~odu~e first c"eeks to aea 4f it is ." t~e Sw.o Auffe~
.nd if tt ta it gets a buff~~ frOM free core throuq~ th~

Mo~4te~i. Get Buff.~ ~out4n • • nd t~e" ~ove. it •• lf 4"to it.
It t~." teete to •••. if .n .s.io"m.~t ~al ba." ~ad. o~ if

the d.te.at •• bu.v. If a.the~ co"ditio~ occu~s .~ e~~o~ ••
detect." .e"d ~a"died a. follows. The st.c~ ••• dJu.t.~ fo~
e" exit. if ." e~~o~ ~etu~" was .et uo t~e "eees •• ~v buff.~.
e~.
~,'ea.ed ."d the e~~~~ ~.tu~" ~. take" t~r~uQ~ t~e comm~~ •• 4t ~Out.~e.
If e" .r~or ~.turn wa. "ot .~t uc a" 10o~oo~ •• t. .r~o~ cod. is c~."t.~ bv the MO".to~ D.a~no.t.e
P~.~t ~~uti" ••
If the above .~~or. we~e not detacted." E'n.S!'TlIPI'lq il
••• u.d to get a Data guffer a"d • FIB. T~. ~outi"e .'.0
~ake. a cal' to the Mo"1to~'s, ~et Puffer
rout."e (GETBUF)
to .l,ocete i" free co~e a" .ux.,f.rv buffe~ of 256 wo~~.,
4t • • ddr ••• i. k.ot 0" t~. stac~. A test i. ~arl. fo~ • file
.tr~cture~ device, ."d if "ot fi'e .tructure~ t~e "eeeSSI~V
buffe~ • • ~. ~.1e.le" a"d the co~mo" exit..
ta~."
b.c~
to
the ca",~,

If fil •• t~yctu~.d

a" EMT .LOOKlIP is 1.sued .t~ •• e 4f FILE!!!
f1'. do •• "'t e.1.t or if it •• OOe", the
0~ev40u. er~o~ ha"dli"Q fo~ • bu.v d.t.set (S f~le b10c~) 4.
o~~fo~m!d.
• tes~ i. n~w mad. to .ee 4f t~. ftl. 4. co"tfguou., 4f it is thi. t. a" e~~or ."d t~e error o~ocedu~~ ts
fol'ow.d. If no .~ro~. d.tected .n EMT .CK4C~P 4••• sued to
ch.ck fo~ o~ot.ct.O" v101atio", 1 ••• do •• t~e cal'.~ ~av.
w~.te .ee....
If a D~ot.ctio" v1oletto" occu~. the or.v4ous
e~~or h,ndl."Q orocedu~e ., ~.ed.
Th • • a~e oroe.du~. a •
• bov. •• us.d fo~ FILEA. If FILE. i. t~e .ame •• FILEA ~.­
, •••• t~. ".c •••• ~v buffer, ."d .xit baek to t~e e."e~. If
~ot the •• m., the f4'e n.m • • nd e.ten,.on are el.ared from
the directo~y .ntry f~r FILEA, a"~ thi. di~ecto~v bloe~ ••
w~itte" out.
The ~outi" • • ave. i" t~e FIB the fOllow4"0 i"fo~mat1en f~r FILFAI ~lock number,
d1recto~v edd~es"
the
,tart, 'e~ath ."~ end of the ffle. The d1~.eto~v e"trv fo~
FILES is "OW ~ead 1". The ".w file le"at~ is eomouted ."d
,et i" the di~.ctorv e"t~y
with the n.w fi'e end. T~e
uod.ted d.~ectorY e"t~y fo~ FTLFS is then w~4tte~ out.
eMi.t~..

if

t~.

.'0"0

Now t~. device i, checked a. to w~ethe~ it i. di.k o~ O~C­
t.oe.
If the device is OECtaoe 8"d the bloc~ "umbe~ of the
.t.~t blOCk of FILEA .s ".gative, make it co,.t.ve a"" set
the DECtane ~eve~sa b.t f" t~@ status word of o~e. T~e ~ea­
.o~ fo~ t~e anova ;s t~at t~e f.rst b'ock of ~ 'ECtaoe
file
4• • 'way! wrftte" in t~e forwa~d di~eetfo". If t~e If"k to
• bloek ;s "ea.tfve t~i~ indicates it W81 w~ftte" 4" t~a ~e­
ver •• d1~ectio".
T~u.
t~e link to a block writte" i~ the
forw.~d d.~ectio~ mu.t ~. oos4tive.
."d OFCt.ce ~OV8 the sta~t ~l~ck of 'ILEA
The" re.d the e"~ ~'OCk of FtLEB i"to core.
Move th, ';~k to FILEA st.rt b'ock f"to FtL~B e"d bloek.
The" w~4te t~;, block out. T~fs '.~ks FILE_ to FtLFB.
Now

f~to

f~~ bot~ d;~~
t~e

FI8.

DOS •• A~n

Now if the device i' ~ECteDe en EMT .AP~DP2 (lPaend Pa~t 2),
•• ~.sued t~ set t~e ~ft. 4n the ~IlE8 bft ~a~ thet we~e .et
4n th8 FILEA bit ~ec, Ind elel~ t~e let bft. 1" t~e ~ILEA
bit ~I~' the" w~it~ out the ~tLEB b~t meDS. UD~n ,~tu,"
f~o~ t~e ADDend PI~t ~ ~o~ule o~ 4f the deviee wa. d4.k
the
fo"owi"Q "~ocedu~e 1. followed. DOB+0 i. clel,ed to f,ee
the D~te.et, In EMT .AL!FIB i. i •• ued to ,e'e~.e the ~I~ end
the Oete Buff.~. The ~58 wo~d au •• 'ie~y buffe~ i. ~elel.ed
th~cuah I CIll to the Mo"fto". Buffe~ ~e'.e.e ,outf~e.
Finally the add,e •• of the eo~~on e.ft ,out.~e, !.!xtT t.
put o~ the .teck. The" a J!R •••• ~ul.ted to the Mo"fto~'1
Buffe, ~el ••• e ,outfne to ,e1e •• e t~e f,ee co~e buffe' occuDien by the Aapend Module. UDon comDlet4on t~e Auffe, A.,e •• e ~outf"e ,etu,". d.~ect'Y to the co~mo" extt ~out4"e
which ~etu~". to the u.e~.

CAP2)
The fu"ct4o" of t~1. ~odule f. to modifY the fi'e bH "'8D'
when FILE' ~. ,cDended to fILFB. Thi. ,outi"e ~. eened On1y by ,t"'e module ApDend (APP), e"d ""'y whe" the devfce i.
DECtsoe.

Regflte,. a~e .et •• follows whe" th •• 'outine f. CAlled, a'lo FI~+0 en~ FIg+~ eont.fn
the followino De,t4"ent 1"fo,~.t.O"~
R2-FILE B Block Nu~be'
RJ_FIlE B O~~ecto~y Add~e'l
A Plock ~u~be~
FIB+2-FtLE A D1,ecto,y 'dd~els

FIB+0-FIL~

De'c~fDt1o"1

Thi. ,outfn, fi~.t ~eed~ i" the fi,e bit ~sa fo~ FILEA enrl
then the f1,e bit ~IO fo~ FILER. The ~outf"~ then .ets the
cor,esD~"~i"g bit. 4" FrL~B b4t ~8D thet e~e ,et ~"the ~I­
LEA bit mep and clee~. the .et bit in FtLEA bit ~eD. ~ow it
w,fte, out FILEA I"d FIlE~ f1le b.t ~eD"
~ow e.~t blck to
the leDe"d CAPP) ~odu'e t~rouah t"'e COm~on e.it ~outi~e.

(B.fo~. ~e.d4~o i~ the fi'. b4t ~aD. a .ub~out.~e i. ca"ed
to celeulat. t~e bloc~ co~ta4".~o the de.4red file b4t ~aD
a"d t~. i"de. 4"to the ~.'e bit ~eD.)

2C~6)-04rectory Block
4(R6).I"de. f"te Of~.cto~y

8ubrout4..,e

Out~ut'l

2CR6).File B4t·~a~ Block
4CRft)-I"de. 4"to Fi'e e.t.~.D

CRfN)
The f~"et401'1 of this ~odule 4s to cha"'g, the ~e~e e..,d D~O.
tect401'1 code of a" e.f.t4..,; f41e. Thi. is do~e by ~ead4~o
f.., t~e OLDNA~ UFO e"try, checki..,q the c."e~'8 Acce •• , the..,
~ov4"'Q t~e ~EWNA~ a"d Droteet40" f~to the OLONAM UFD e"t~y
a"d wr4ti"Q out t~e UFO block. T~is ~out.~e •• cel'ed di·
rectly ~y t~e user.
Cal1i"Q

SeQUe~cel

~"v

*~EWNAM,

1140'1

*OL!)NAM,
*LNf

I

r
I
I

I

,
I

I

I

I

BEFORE MOVE

I

L ______

-1

I

~------,

..,

J

I

I
I
IL

___

SWAP
BUFFER
FREED
FOR
SUBROUTINE

)~

1

_____________ _

MODULE
PROCESSES
FROM
E}Cl'RA
BUFFER

'----------_-4-- ---AFTER MOVE

'"t

I
I
~

EXIT

thru
RLSBUF
Fig. 4-14 a

Use of , Swap Buffer in File-handling Operations
(First-level Routine)

ERROR RETURN ADDRESS
___ ._~OR

FILBLKI

~~TATU~~=-r~

HOW OPEN CODE

FILE-NAME
(in Radix-S_>

~-----

-.- . - - - - - - - - - - - - - - -

---------1

EXTENSION (in Radix-S_>
._-._-----_._------------_.. _------------USER IDENTIFICATION CODE
(spare >T-PlU)'l'ECTIONCoDE -Fig.4-1SI

User File Block

-DDB + 24
26

OAT ENTRY ADDRESS
POINTER 'f0 FIB

~----------------------------------~

-""1
I

I
I

r-----------------~

FIB +

-

2
4
6
1_

..,,

•

NEXT BLOCK
_
HOW OPEN CODIt
- - - -----EXTENSION START BLOCK
- .. ---- .. - - --

1 - - - - - - ---~-·----I---_---------~~

._-

.

_.

- - ..-TYPE

]--

I-----------~~~.

12

•

-------------~.---

(spar~)

--------------~--.

(spare>
----------START BLOCK #

------~-

•

t----~--~---------~--------

14
16
2_

.. -...

-.---

~--.--

of BLOCKS
_._-- ".-- .---- ---- -.-- ---.....

..

..

•
~

LAST BLOCK
..-----

--

IIIDBX II1TO DIRBCTOBY 8LOOK
t--------- -_._.----------_._--_._--_ _----_. _..--_._---.DiRBOTORY ~LOCK #
.•..

22
24
26
3_

f- - - ..• - . - - - - - - - -

•

32
34
36

·-r----o-----.-------

(spare>
PROTECTION CODE
._--------INTERLEAVE FACTOR
- - - - - - - - - - - - - - - - -BIT-MAP POINTER
__"_' _ _

.-r---~

__

~

-. - ----. -..
t--------

Fig.4-161

BIT-MAP Q LINK
-------TEMP~Y

WORK-SPACE

File Information Block

.74211

(Values shown are
Addresses in Core)

BI'l'-MAP
SEGME!fl'

'CURRENrLYIN CORE

DEVICE DRIVER.
3241.

\...........-

DRIVER
INTERFACE' ,
TABLE

~------~-----~------~------;
I
I
I

11136111

11111611.

73611.

--..,

741

I

I
I

j

I
I

OTHER

I

UNIT _
I
I

Q

LINKS

-

FIB FCR
FILE -

FIB FCR
FILE
-A-

't
I
I

DRIVER
ROUTINES

-

-

-

I
I

I-

FIB FORFILE
-C- -

I-

-

-}

-B-

I
I
I

-

-

-

I

)..

I

I

I

__ .J

I
I
~--

Fig.4-17 1

__ .JI

I

---'

742ft

"FIB Linkage to Bit-maps

W
..-

CHAPTER

o

THE R

5

PROGRAM

SERVICES

., well I. Ils~st.~o t~e u •• ~ ~~ ~1~dl.~Q 1/0 as dese~.bed
4~
t~._ , •• t two e~.ct.~,. t~e DOS Mo~.to~ off.~. I ~~~o. of
ot~.~

c~o~~.m.e~vieel

p~oo~.m

it.elf

'ue~..

.~d .o~. ;.".~.,

'eld~"'Q
8,..d
u",'e8d.~~
t~e
uti'.t~e ••
As w4t" 1/0 .e~·

v.c.,. 'Ie~ o~'~lt40" i~ ~."'dled bv • ~1~t~eu'l~ ~odu'"
., "'o~m."v b~ouo~t f~em t~e ,v'tem-d.v4ee w~e" ~.­
Qu1~.d e~.e.'" be ~.~4de"t_4~ ~.mo~v. The Du~~e •• of thi,
e~IDt.~ ., to d.,o~4be e.e~ of th •• e medu'el.
w~4e~

'.ctio" S.l 4"u.t~ltl' t~1 c~oe ••• bv wh4e~ I c~og~lm 4,
b~ouo~t
~,..to eO~1
~O"ow~"a I eo~.o', ~U~ ~~ G~T eem~.~d.
,.ct4e" 8.2 I"'d S.l d~.eu •• t~. utility c.e~.oes "'ow.~o
t .... u •• r to, obt.4", ~VT .~fo~m.t10r"l 8,..d fa~ lo",e.eem",o'" ~ld4.
co"v'e.40,..,. Th. Cem"'l"d St~4"'o I"t.~c~.t.~ wh4e~ o~ovid ••
I fu~t~.~ mel"" fo~ d.v4c.· ••• 1~,..me,..t w~.'. t~. P~oO~'M i.
l~tUI"y u,..d.~ e •• eut!o,.., 4. !~e .ubJ.~t of .•• ctior"l 5,4,
~4"ll'v th •. o~oe ••• of u"'0.d4"'Q the o~og~.'" uOOr"l eomo'et4o,..
4' eov'~ld 4" "ctio" 5.5.
11"cl III the modul •• 1,.. the elt.~o~v .~e pote"ti., u"~' 01
t~. ~W'D euffe~,
t~.y u •• the teeh"4ou,. "oted 4" seet4o"
2.3.5, U"".s th'" tle~"iou •• '~I cI~t4eu',~'v ~el.v.,..t,
"0 fu~th.~ ~efe~.~e. to t~'M w4', be mlde.

Dose."N"

PAGE:)-~

A" p~o~ra~s w~.e~
g~I~1
t~e~ •• 1vel'

~u" U"1t~ OOS, 1"cludi"g t~e SYlt'~1 ~~o­
.~t Ito~ed, ~eQI~d1els of tke dev.ee, 1~

the 1~arl fo~m't .~to W~~c" t~ev a~e
11 do~e fo~ two
~eIIO"lt

mi."

T~il

I.

eo~ve~terl

by

LINK-t1.

It fol10wl.t"t eo"etet of deY4~e-4"de~e"dt~ee
disCUI.td 4" e~lete~ 3 i" t~at 'oad4"g f~o~ a~v
lou~el 11 oO"~b'e. ~~1'e i" ~Olt ca.e. u.e~s
!re ex~eet.d to ~old t~.4r ~~ee~a~. ~" lo~e
fo~~
of bu'k-.to~le. ~.d1um, fo~ w~1e"
a
eO~I-1maQI
would oroduet I faste~ 'oed, 1t is
Itil' ooslible that oleer-tloe o~ elrd. m1Q~t
be uled~ U~l~ke t~t ot~trl' ~e~t~er ~eade~ o~
t~tlt 'Itte~ med41 o~ov1de. a"v for~ of OUlre"tee 0" the Iccuraev of t~e data, a oa~t1eula~lv
imeo~ta"t reou1reme~t w~e" t~.t data 11 8~ executeble p~oora~.
t"steld, ehecw4"G must bt
do"e bv loftwlre I"d tht fo~mltted b4"I~v mode
uled fo~ t~t 'otd_ 4~aGe amoly a"ab'es thil.
For 11~o~1e1tv the~tfo~t 11' dev4cftl are "a"dlea .4m418~'V.
Eve" o~ t~e bulk-.toraat mtdia, the~e a~e advI"t,ge. 1~ bt1"o eble to mli"tl," t~t oroorlml
al 11"ked f11es ~.t~e~ t~l" eo~t4guou. as 1m011.d bv eore-imlge format. T~ey el" bt sto~ed
0" I"V oe~t of ,th, medium ret~e~. t~." r101d]v
at Q"I e"o (eloteill1v 11a"1f1ea~t if t~e medium is OfCtAoe)t t~ev ea" bt extt"dtd w1t~out
t~e
oroblbil1tv of wI.taQe of t~e mediu~ beelult the 01~ area is ~o lo"ger 'Irge t"OUO~
I"d a "e~ o"e, must be erov~aed, lelvi"Q t~e
othe~ 00 •• 1blv locked ou~ of fu~t~er
effeetive
use, Allo of cour.e, I further steo 1" orogra m
oreoaratio" 1s tvoided, Id~1tted'v et t~e exoenlt of I Il1ahtlv 10"ger lold-time.

Loader itself 1. ~i.eussed. it is wort~whi'e
to eXlm1~e t~e 'oad-format as it 1s eurre"tlv def!"ed~
The 1"u.trat~o" It figure e-1 S"OW! t~e It~ueture
o~ a ~v~1el'.exeeyt~b'e O~OO~8m ~odu'e, eas1ea"v it eo"I~.t. of a 'er1el of fo~m8tted bi~arv block., eae~
Itart1"Q
wit" t~e two words of header ~"formltio" - ~o~e a~d s4ze •
and e~d4no w4t" the e~eeksum t~e fo~~at 4~~'1es.(see stet40n
3.2.2.1'.
The first data wo~d of eae~ block •• a loed sddress for t~e wo~dl w~ie~ fo"ow, T~e first block of t~e
~odu'e
., I Com~u~1elt1o" O~~ecto~v CCO~O'. T~4. eonte1nl
ge"era' 1~for~at10n i~elu~i"g t~e ~~ocra~ "ame, 1ts 'oad e~d
start addrelse. e"d 11ze, t~1s infor~8tio~ ~av be fol'owed
bv a 'ist of E~T code. take" fro~ t~e MO"~tor L1b~a~v 0" t~e
Befor!

t~e
t~erefo~.

PAG~

OOS!5.~NO

05- 3

.y.tem.d.~fe. by LINK11 beeeUle t~eY eo~, •• Do~d to Mo~4to'
~odule. fo, w~fe~ t~e D~o~'em h.. .pec4f4ed _co~.·~ •• 'deney

by global ,efe,."c. ( ••••• ct40~ 2.1.'). (tf t~'1 "It ••
too len~ fo~ t~. 128.hyt. me.4mum buffe' .fl. of LINK-tl e
•• cond block may b. u •• d). Th. D,o~,eM it •• ,f u.e. the lub.
"Qu.nt bloekl e"d finallY a .i~a' •• wo,d T~ensfer Bloek p~o·
vfde. a DO"fble automatfe .ta,t Iddr'ls (ff .ncluded in the
.END .tet.me~t 4" the p,oa,.m .ou,ce • or 1 by default) et)

Loadina aetuallY beatn. f~ t~. t~anl •• nt M~"4to, •• et'on
wh'eh. ee~ucf"
me~o~y 4" the Ib •• ne. of Iny ule~ e'O~~lm
C•• e •• et40r" 8.!5).
Thfs ,.out4ne C~~c'lle. t.he . eo"sole RUN
I"d GET command. ,..aue,tfno the load and oe .. form. the followfno 4"ft4el oD.,atfo",i
V.,ffy t~e e!fstenee of the 'eee4fi.d p"oa~am mo·
dule I"~ ff D,. ••• ~t, r.ad ft. ff,..t Da,.t .~to I
~u'fe, of .tende .. d .tre for
the d.v4ce, ele~m.d
fre~ f,..e eo,. ••
Trl"lfe, eop,.oo,.iat. dltl from the cn~~ oe"'~ll in.
fo~~at10" •• etfo" f"to t~. SVT C.e. ,eet40n 2.1.1)
~ov.

onto the .tlekl

e

a.

Proo,.am .tart add, ••• or
GET

b.

The It.t of th, Mo"itor ~odul ••
(4f a"y ofve" f" tha CnMD)

e.

Count of the .te~.

t"

to

.4anffy
to

the If.t • o~

~U~

be

0"

101d.d

0

.

A.

Set reof.ter ••• follow ••

Q0 •• dd,. ••• of I DDB e.tabl.ah.ri i" f~e.
to .e,.v4ee the 10ld ~odul. ~atllet
~1 • 0 io~ 1~"k.~ ffl •• 1 io~ conl'auou~
o~

1."o"~f4le.,t~u~tured d~vfce,

afo~

neaet've 4f dev'ce 41 DECtaoe
q2 • Sta~t Iddr •• a of the a"oeated buffe,.

•••••••••••••••

eo,.
ff~e

bft

4" fact ~s '.Ictly the aa~e a. that
for the Abaelute LOld., 4" the Pece,.-tlce SYltem
on PDP.l1 (Ie. DEC.tl-GGPC.D). ~ence, LINK.il OUtDUt ca"
alao be uaed outafde t~e DOS environment 1 •• um4"a of cou~.e
that ~e Mo"iter module. a,. aeecif4ed. In t~f~ cele, the
COHO fi al.o ,,.,.'evant, howeve,., becau.e thi. fs o4ven the
.ame load poi"t I' the the p,.ooram it •• 4mmedi~telY
ov.,wl".tte" a"d i" 1" but very few 'nstances i! no p,.oblem.
1.

T~, format d'la~fbe~

presc~4b.~

oose.RNO

PAGE ~--.

~3 • E~d .dd~ •••
~ •• Add,...
~f

of t~e bUffe,
",.xt byte to ~e ~~oce'le~
('ft.~ COMO blocks)
R! • (Cu're"'tlv .""ev'~t - ••• S.ct4o" 6.6)
c~oD~r to co"'t4"ue the
4t •• ,f ."to ~'~O'v ••• ~OW" be'ow 4"
•• ct.o", e~l~l. T~f. ~'" it. tu,,,, cell. e iu~thep module
wh4c~ teke. c.r. of the 10.df~Q of the • .,.c4ff.~ Mo~.to~ ~O.
d~l •• ~~d
e",v ~.".~e' ~l.e~.uo i", ~~ed.""'1 f~~ o~o~,.~
••• eutte~. Tht. f. d •• crfb.d f~ •• etio'" e.t.2.

Th. ,Out.",. th." e,'"
tP.".f.~

of the

.,~ooP'~

t~. Lo,d,r

of

Th. p~oar.m Lo.d.~ rout4",e t. r •• oo",.fbl. fo~ t~.".f."f",a
the , .. oa~'111 bloc •• f~o", the. 10ed. mOdul. ,~~ .torf",o th.f~
d.t. i'" the coP~.~t III'IIIO~Y 'oe.tfo", u",tf' the t.r",f"",
tre",.f.e block i. d.t.ct.d.
To .votd ." .xtr. buff.rf~o
.t.a •.• ~d th .... by •• v. t'~" the tre"lfep • • P. c.rrt.d out
by us. of .TRA~ ~.th., the", .REAO. Th. Le.~.~ it.elf oe~­
for"" it. ow", ch.ek. UDO" t~. fO~III.tt'd
bi",.ry ,lIIode
,
.
. , of . the
d.t, b.to~e it t •• to,~.d. 0", celllol.tto~, t"'., Mo,dto,-",odule
Lo.d ..... c",.d to COlllol.t. the loed oo.r.tto",.
.

...

J'" IIIO,t c •••• , ~h. ~o.d ... f • • xo.et.d to b. ~~", ... el~de~t .",d
f'" thf. ,c ••• ,_HIe. ot~., Mo"'ttor "'odul.l, tt f. b'ouoht 4"to
t~. '~'D
~uff.r
wh.", r~Qutr.d.
T~ • • • "' • • 1'0
.oolt ••
~~wev'r_ to
th • • TAAN ~poc ••• o~ ~hfeh the Lo.d., cel1~ ••
",ot,d •• ", th, '.It .,.reor.oh •. T~. Loeder lolve. the DO.lib,.
eo"f,fct
.'"
•
III'~~'~
.t~f'.r
to th.t uled bv the
m.",.a,III."'t .odul •• f'" e lfke Ittu.tfe", tie. S.ct.o~
•• 3'.a',)i .. 11, b.for •. 4t_ b.et",. t~. Droc'lli",~, 4t d.t.ctl
t~.t 4t.i' f'" U".Sw • ., Buff ... (~y ,x'lIIt",e~fo", of
t~e
IJ •• oe
COU"t f'" ftl ff~lt byt.), ft "'OV.I it",f f",to ."oth.r
~uff.~ e,.tm.~ frolll f .... eo .... "d '., ••••• the sw.~ Ruffer
fO" th. U" of .TRA~.

f.' •.

c.'1t"'0 S.ou."c ••
Th. L~.d.~ •• o.ctl the AAoilt.~ .",d
,bov •• Oth.pwtl. ttl cell fl lIIerelv.

Steclc-stete

detefl.d

Proc"14",oi

.1

Th. o,oe •• I."'o I.au.",c. follow.d by th. Prog~.~ Lo.d.r
.'lultr,tld .t ~tou~. S.2. Bel~ce"v t~. f~llowf",g 001'.tio"'l .,. Derfo~",edi

DOSS.RNn

"AGE .5- S
R••• t R.a •• t.~. to the v.'u •• o•••• d bv t~e t~'"I.­
."t MO"4to~~R.~ov. the ,.tu~" pe ~n~ St.tu. f'OM
the .t •• k.
'
Li"k the •• t.blt.h.d Dna, ••• ~o~n bv the add~ •••
4" Re, to." ."t.~".l L.""-b'oek t~ e~de~ to P'oe ••• the D~oar.m l0.d ~odu" ., e data.et 4" the
"o'm.' ~."".~ Ct~. Link-bloek u•• d by the t,a".t."t
MO"tto' m.y of eeu, •• dt •• DP'" und.~n •• th the ~~oa"m .1 it t • • to~.d'
',om the d.t. in R2,~3 ."d R' bu.'~ an aDD~oD~1't.
TR~N.bloek •
t"elurl. a" EOO fllg 1f tht. 1.
Il, •• dy •• t 4" the Doe ( ••••• ctto" 3.'.1.3)

".0

'.

The cu~,."t .t.e_
,e'd.d ~,oa"M,.
t""'1."t Mo~ttor
b.low the P,oO"~
mov.' .t"c' th.,.
, ".w ., ••• Mt~ht

M.V also b. ove'-w~ttt." by t~.
~o ~ov. the dlta ~ ••• ed by the
onto • "eW o"e .,t. ~~M.dt.tel~
~o.d A~d~.'"
(Th, •. ~,aut~ •• two
i • • ,w.y. t~e ~0114b4'4ty the old
ev.".D 0"' ,"eth.~)~

e, •• ,

the whol. of memo,v b.tw •• " the P'oo~,~ Lo.d
,."d the .t.,t of the are. '8'e,v.rl fo, the
~ID.'-t'D' Sy.t,M Lo.d.'I.
Ad~~'"

8.

P,oc ••• the data t" the, buffer, • byte at I
time. It"ee th.,. t. "0 eo".t~.4"t th.t bi"lrY
block. mu.t b. com~,.t. wo,d. - •• follow.i

••

Look for the f;,.t. ,,0"-11 byt~. If th1., •• not
1 I"d the ".xt not 0 the fo,~.t •• 4nco".et,
'0 ,.J.et the 'o.d wtth I
fat,l Fo,m.t .,~o,
m•••• o. CFPJ22)
~,o~

the " •• t tw~ byt •• , bu1ld the Byte Cou"t
fo, the "u~b.r of d.t, byt.1 to be , •• d '"~ t"ftt.'1 •• I ch.ck.u~ .eeu~u'lto,.

e.

Fo,m the LOlrl Pofnt fo~ the d.t. f~oM the " •• t
two byt ••• "d •• t • m.mo~y Dot"te~ .ceo~d1"gly.
Adjust t~e Bvt. Count for the .1x bytes Ju.t
r,ld.
If th1. ts "OW 0, the eloek Just D'O·
e •••• d mu.t h. the te,M."I' T~.nlfe, Bloek,
h.nc. 'e' •••• the d.t •• et l1nk.oe I"d c", the
"0"ito,.modu1. Lo.d., C••• ".xt leet40").
Ot~l~wi ••• te~.
•• t 4" .t.~ Ce)

••

byt •• i" memorv v1e the Dof"t.'
u"til t~e 8yt. Count go •• to I.

Ou,1"a .t.c. Ce) ,"d Cd) .dd •• ch byte i"to the
ch.ek.um .• eeymulltO,. Th." add the data ch.eklum byt.. If the ~'Iult •• e, retu," to It.e

PAGE

c.)

~o
Oth.~wi.e,

e,.,.o,.
7.

s-e

look
for
the ".xt date bloek.
.too the 'oed w.t~ • iete' C~.ek.um

eF~2t)

If, efte" any byte h•• bee" ~,.oee •• ed f" t~e orev4out oDe,atfo~, the d.~, buffe,. t! 'e," to be e~Dty,
c.ll the device to reftl' 4t •• fo"ow.,
e.

Cheek for ." EOD 'ee" .t the , •• t devfee
tr.",.fe, by ,111.",t".tio" Of t"'., TQA~-bleclc flao.
Si"o • • t.rmt"el
Tra".fer Bloek .hould eo",.
fir.t, t~f. ~u.t be e" .rror,
r.J.ct the lQe
.d on the OrOu"d. of f"correet fe,.~.t •• 4"
.teo eee) .bev ••

.0

U.4"Q the fl10 .et 4"to Rl when el"ed, eheek
ff the 10ld Modu1e 4e a li"ked f4'.r I' d•• eribed f~ .eet.~" 4.1.1.t. If ~ot, 4"cre"'."t
the devtc. bloek "u~ber 4" the T~AN-bloek.
Ot"'erw4 •• extrlct I"d .tore the ft~.t word 9f
the dat.-buff.r ae the devtee bloek. If tht •
•• ""oat f 'Ie ~"d the dev' ee , 4. _D!Ct aee, (.ee
.eetto" 4.3.2), turn tt Do.tttve but •• t the
TRA~-b'oek flaa to forc. rev.,..e tIDe ~ot4o".

e.

C.l1 .TRAN, fo1lowed by .wAIT. "" eo~o'etfon,
.too the l~.d •• t" .teo eee, .beve, tf .",y
d.vfee ~.rfty f.41ure ha' be.~ detectad ••
• hown by t~. TRA~·bloek fll0. Otherwi.e .rlJu.t
the buffer a~d Dot~ter for ." f"eo~Dlet. bleek
tr.",.f.,.
4f
th4.
t.
.fQ"a"ed
f" the
TRA~-b'oek.
Re.et the byte-extr.etfe", ~ef"t.r,
'kioD4"O the ffr.t word tf a~ •• " the f"out 4••
'f"ked f.'e, ."d co"t4"u ••

EIilU St.t ••

Wh." the ~odul. D.rfo~",f"Q the ft~al 1o~d ~h ••• i. c,"ed,
the co~te"t. of Reof.t.,. • • ,.e of no eo",eaue"ce, the ,t.ck
r.m.4" •.••. 0" e"try e~ceDt ~or the Proora~ Leld Addr ••• 1"try w~fch 48 ".~ov.d durt"o the oroee •• t"a •

.
Co",me"t.,
It w~'t b. noted, D~rh.p •• th.t the Lo.d.r ~odu'e d~'1 not,
at .t'D ecc), .tt.~Dt to ,el ••• e the buffer ft ~.y ftself b.
oCCUDv1"0~ At th1. tim. ,"'1 buff., .',oeetto" e ••••• to b.
",e."f~Qiu'.
,. w•• 'h~w~ 4"_.eet~0" 2.4~2, the ~.~ory .,.,e
eo"tro11.d by t"'e Mo"ftor Buff.,. A,'oeatto" T.bl. fl 0,.4Of",d .'w.y., et the eurr."t end o~ th~ ,.e~4d.nt ~o"ito,..
Durf"e the "e.t lo.d oh ••• , th4. e"d f. lfk.,v to ",0'1. UO

PAGE 5"-7

~.mo~Y
t~
.~c'ud. fu~~h.~ ~odu' •• ~.au.lted by the e~oq~.~
."d. t ..... f~.e cor •• ~ •• i •.. t .... " di ffere"t •. ~.",e., the Buff.~
Allocatio" Tab'. i. cl •• ~.d by the ".xt ~o~u'. I~d t ...... U.
tom.t.eal'y ,..c,.im. outlt'"d4"e buff'~"
In fact, the e."
to ~., •••• t .... i"out dlt ••• t •• m.d. DU~e'y •• I .4~D'. WlY
of cl •• ~1"'0 the ~o"4tor DDS e~.4" C••••• et.o~ 3,1.2.3) I"d
the DOL .~t~y fo~ t .... i"~ut dev~c. C•••• ectiO" 2.1~3'.

T"'., me~u', C~""ot b. ~e •• "~~~"t, b.c.u" o~ the L~"~. I"d
TRAN.block • • t. mu.t .,t UD ."t.~"."y. How,va, by .t, "'I~
tu~e, .• ~ch ~.Qu.~,m."t ••.• ~r.,.v.~~.
~.k.w ••• , the~. ~. "0
~ •• t~.ct1o". 0"
.t~
~ •• ~d."~y,
fo~
.t. curr."t Duroo •• ,
Ct ...·c,uel'l .t ••. ~.~ . . IO •. f",co"c.1v.b'e thlt ,hal'" •• ''''Y Do4nt
4" ita h.4"e i" 001". ot .... ~ th." w~a" ~.au.~.d',

e.l.2

Mo".tor Modul. Le.~.r

. CL02)

Th. le.d Drec ••• D.~fo,.m. two m.1" fu"ctio",'
a.

It .xt."d. t .... ~ ••• d~"t.~''''.to~ to 4"c)ud. the
.dd.t.o".' modul ••• o.c4ft.d by the D~OOI".m ."d
cu~~."t'v ide"tif1.d by the.r EMT cod., i" the
l1.t 0" the .t.ck D•••• d bv the t~I".t."t Mo"f·
tor.
~t .~.u~ ••. t~.t

the MO".~o~ •• c(,~fIl.ctly ofll11ft.d
the orOgr.~ ,.acut.o" ru~ a"d if ~.au4r.d
.utom.t4c."Y bee.". the run.
fo~

J" ~h1._oa,.t.cu'.r c •• e, ."v ~p,"'.fe~. f"O~ the iy.te~.dev.e.
4n o~d.fIl to lOld • ~.ou1r.d Monttor ~out1"e i. CO"tpo"ed by
t~. L~ld.r M~du'.' u.~"~ ~t. OW" ~"tep""
OD~,
S~"C, the
,old.e rout.". would ov.r',y a"Y buff.r "'oeat.d ffllom the
th.~ fre. eo~"
the medul~ c.""ot ~.D.at t.... t.ch"1ou •
• dODt,d by it. Dr,d,c, •• OI" to u" ,TR~N, a •• hoW" 1" the
, •• t ,.ctfo". T~e whole OD,~.t~O" MU.t b• • ff.ct.d wit .... "
cou", •• m•• ". th.t ~ ••• "~ra"cy i •
t.... SW'~ Ruff.r. Th ••
• o.i" oyt of ~h. Qu •• t4e". Th. p.~a~k. 0" t~. , •• t 0.....
O~.Dh of •• ctio" 5.1.1 .t."
IDoly.

of

Ca1'i"'Q S.cu."Cel

.s

"ot.ri 1" t .... or.vioul .ectfo", th4~ Mod~l~ .x~.et~ a
.t.ck,.t.t. •• D.I.ed ~y the t~." ••• "t Mo"1ter •• ct.O",
.t'rt,"O w.~h_th. C~u"t.of ~o"4to~ module. to be 'oeded. No
.ddUio".' 1",fol"",etfo" •• "e.d,d. He"ce 4t. c," •••
EMT

62

PAGr:: 5-"

.

P,.oc •••• PI~1

Th. ~~oc ••• t"~ •• au.Plce tPl thfs ca •• 4. ,.eletfvelv 't~~l ••
N~ .tllult,.atioPl t. th.,.efore i"cludad. Sal4csllv t~. 101·
10w4"~ .teo. a,.e ta~ePlI
R.~ove

the data Du.~ed bv t~e E~T cal' fl'"o~ the
Itack, 4.e • • avad "eai,tel'" CO"t.Pltl end retu~PI PC
a"d Statu ••
Cleal'" t~e MOPltto~ Buffe~ Allocet40Pl Table co~~lete·
lv C.ee .eettoPl 2.4.2) aPld , •• et t~e TOB .ntl'"V tPl
the SVT a"d eorl'".IDOnd4P1Q .tack-.to~ (Lowe.t allowabl, add".s for. stec~ eXDan.tO"' to "~mova aPlV
buffe,. • • tfll allocated C.ee .ect40Pl 2.1.1 and
·cem~ePlt.· fPl the Droev40u, .ectto",.
Co"ect fl'"o~ the .tack t~e count ~f MOPltto, rou·
tfne. to be 'oade~ a"e if le,o, ~~ocead to steo 9.
Ot~el'"w4le . d.t.~~t"e
~he
add~es.
Of.
t~e
.v.tem-dev4ce dl'"tve, vta the DOL stal'"t stol'"ed t"
the IVT aPld DUt it t"to a" t"terPlal oo~ (sea Sec~~o" 3.1.2.3). A'.o •• t the DDS Co~p'et4on Retul'""
to u.e the .ame .eauence a' SAM foro deaueut~g the
d,.4ve,. vt, I~CDQ. ch.ck~PlQ the tl'"l"lf.,. val~d'tv
a"d cl.ll'"tPlo the OD~ bu.v .tate C.ee Sect40"
2.3.4).
4.

UliPlG the EMT code oa.,e~ 0" the I~a~k, ~.t,..et the
cOl'"r,'Do"d1"o ~RT ,"tl'"V fol'" a I'"e~uf"ed ,.out4"e ('e.
'ectto" 2.1.2). If the value col,ected. t. eve",
the ,.outt"e tl alre.dY I'"e •• dePlt, .0 1o"o,e t~e I'"e·
aue.t aPld 00 fo,. the "axt.

5.

Ot~el'"wtle COMDute the .tle of the rout!"e f,.o~

dltl IPld adJult the SVT e"tries fol'" EOM ,
ra"d tt. Itlck-.toD) Icco,.df"o1v.

~RT

the
TO~

ProepIl'"e t~e DD~ fol'" the troa"lfa,., settf"~ its BUIV
',ao a"d Ulf"Q the M~T data to ato,e Dev4ce Block a"d WOl'"d COUPlt aPld the old EOM for Buffe~ Addroe'l.
Al.o mIke the MqT 'Pltrov .how the ,outt"el~ Ital'"t
Idd,e •• PlOW thlt it wil' be 'eI4de"t~ (Secau"
of
the U.loe COUPlt , ReePltl'"IPlcY Switches t" the fi~.t
wOl'"d of the ,out4P1e, this mu.t be old EOM+2.
(se.
,eet40Pl 2.3.2»
•

'.

.

.

SIVI CUI'"I'"e"t Regt.ter. a"d ea,' t~e system-device
d,.4ve,. to effect the tl'"l".fel'", yia S.CDB C••••• ct4o" 3.1.2 •• '. ~eQu •• t .WAIT uPlttl rlO~'(I' iPldi·
cat.d by t~e DOe becomi"o idle because of steo 3).

PAGF S-9

DOS5.RNn

8.

R•• tor. the s.vad Reoi.t.rs .~d if t~e eou~t shows
th.t ~e~. Ma~fta~ ~aut.~e. ~em84~ to be 'oeded, ~e­
turn to .t.e 4.
.dJu.tme"t to EOM, TOe ."~ .t.ek-.tae
two word. fo~ Oevtee A8'.~~~P."t T.bl.
'.~k.o.
eet4o~s 3.2.1.2
.~d
8.4.11).
Al.a
."'ur. th.t the SVT e~trv for ~RA ~o4"t' to the
Sylt.m w.ft LOOD (lea ,.et4o~ 2.1.1)~
M.k • • 1f""
to r ••• ry.

C••••

simu,.t • • ~orm.' Sy.tem Exft fa~. rout4". u.i~o
the aw,D 8uff.~ ('a, seetio" 2.3 •• ) ."d ellawi"o
fo~ the u •• ~i • • D.etffe.t4o" for RUN Or GET •• fol'ow.i
'

••

A.tur" St.tu. - ~ova tha RUN/GET .witeh D•••• d
by the tr.~.i."t Mo"4tar u~ the st.ek ."d 4"•• rt I te fore. "0 ~rfer4tv 'ey.'.
R.tur" pe - ~f the RUN-GET .wfte~ ~. "0"-0, the
y.1u. t. the .utom.tic Itart .dd~.s., he"ee the
eo,.~aet ••• t ,~o."t (1). otherwi., ~.~l.ee t., •
• witeh by the .ddr •• s of the Sv.ta~ W.ft LoaD
to fore. th. ".e •••• ry GET .t.ta~

e.
It.

Say.d q,o',t.r. - cl,.~ the "ext 8 wor~. o~ the
.taek to r.D,. ••• "t R8 throuGh RS~

S.t the Mo"fto,./U •• r .w4teh CMUS) f" the
'how eorr.ct .tat. ( ••• S,cttO" 2.1.1)i
••
b.

SVT

to

ProQr.m;" ."d Ru"~f"o (1,1) f~r_RUN
ProQr.m i" but w.ftf", (-t,l) fo~ GET

of

A,.o fo,. G~T, forc • • ee.ot."e,
~e;bo.rd comm."d
4"Dut by .att4"o t.,. Lfst,".r 4"Dut u"d.rw.v Iwftch
C.,a "etia" 8.3.1) ."d outDut '1' to f"form the
eD.r.tor th.t lueh f"put tl •• D.et.d~

T••• the Sv.ta~ Ex4t to rel •••• the aweD Buff.r ."d
co"tf"u.
t f" .t.D 1m with qaofst.r, el •• ,..d
~"~ the st.ek .t.rtf"Q fm~.dfete'y b .. lew the loaded
DroOr.m •

I' ••

.

1.----~----.~.-.
If the .f~D .t.t,m'~t f" th~ eroar.m ,auree did not, i"
f.et,. ,uD~1y • • t.rt-pof~t! this is set to 1, he"ee the .~­
~am.t1e ~t.,.t ~,.ult •• " A f.t., e,.,.ar ('342)
~ec.u.e
th"
4• • " ",.,., .dd,. •••• The u •• r c." reeou~ ~v ~e."s of •
k.ybo.,.d 8EGIN wfth the ear~eet .dd~esl lupo14ed.

PAGE

~--1'"

tGUT)
•• not.d in .ectfon 2.1.1. the Mon4to~ ~.tI4n. .v.t.~ •• t.te
t"fe~~.tfe" ." the SYT. In Idd4t40n, the T~A~ fn.t~uct40n
~ •• bee" ..... ~ved. fo,., the u,. ... , ft,. v.cto~
w4thin
the ~ •• td."t Mo"tto~, I~ o~de .. to ",ow the u .... to .cc •••
thfl .,.,., •
Ut4l~t~e. D.Ck.o ••• ~,.ev~d.d~
Whil.
thf •.• 1 c ... h.c. unn.c ...... v u"de" the c,. •• ent DOS b.c.u ••
the us.r c.nnot b. d.~ted,.uch .cc ••• ~~ h._ cheo ••• to 00
dt,..etlv, ,.t ... 'ylt,/II. d.v.1.D.d fo~ • PDP.ll with
_ /II~'"
( ~o"fb'e h ... dw .... c"ot.etton mfoht c,.'v.nt thfl,
MO,..ov.,.
tt c.n~ot b •. ou.,..nt •• q ~h.t tho ••.• y.t. m• wi" nee •••• ,.t1v
.t~uctue. th.t,. info"M.tfon t.b' •• tn the •• me way,
Thu. tn
the int.,. •• t of UDw.,.d eO~D.t4b4lity,
th .. ouQh the
Ut~'~t~ •• D.ck.o. f' .t,.ono'v .. ecom~.nd.d~

.,.e

ts

G." .... ,

.ee •••

C.',fnG S'Qu."c ••
Th.

D.ek.~.

f. c.ll.d by • Itnol. EMT (41), to ident4fy I
~.,.tfcu1." fu"ct40" ." id.ntiffa .. cod. i. D•••• ~ • • • c.l'
.,.ou~."~ •. B"fc."v ,h. iunetfon. c.n b. d~v~d.d ~nto two
M.f~.g,.ouo • • nd the cod •• ,..fl.et tht.,
E.ch o,.OU~ .1.e ~ ••
• d4ff.,.."t c."inQ "Qu.ne ••
I,

~UT ~unctton, U!77) • ,4rt w~.eh the U'e,. 4. 'uocly-

fo,. '~C~oD~t.t • • te,..a. by the MonFo .. th •••• the u •• ,. cu.h •• both the fnfo"~,·
t~en .nd the cod •••
,,"ou~.n~.~ th, Monf~o,"
... tu~n. eont,.ol to the D"OQ,.a~ on ee~c,.tfon with
the .t.ek cl .... , ••
fn~

fnfo~m.tfon

fto,..

e_"

g.'

MOV
MOV
Ep.1T

*DATA,-CSP)
*COOE,-CSP)
41

,PASS INFO FOq ~TORAGE •••
, •• ~ & ID~NTIFI~R
,CALL GUT

~~T functfon. (1~I-l'7) • hy which the u•• ~ •• k.
fo .. 4nfo .. m.t40~ .'~ •• dY .• to"~d, I~ th.i .. c"a, the

u.e .. c,"ovfd •• only the fd.ntffie .. tn, the c~'"
the
Montto,. ... tu,.n. the ,.e~ut"ed tnform.tton on the
It.ck wfth the u •• ,. then ,. •• Don.1b',
tt. ..e~o­
v.l.

fe ..

MOV
EMT

*CODE,-(SP)
'1

,PASS IDfNTIFIER
,CALL GUT

Th. eU"l"ently ••• tgn.d code. Ind thet .. c,"4no •• ouenc ......
• hown fn the ~ .. Og ... mm.,." Handbook.

DOS!5.ItNn

Proe.aai"o.

.r•••

Th. oroe ••• f"9 I.au~"ee f~r GUT ~I ~"Ult~.te~
!5-3. T~. besic at.CI
fo"ews.

.t

ffau~.

For cod. 1. (s.t tr.o v.ctor, • mOVe t~ • • ucc14.d
PC ."d St.tu. 4nto t~. v.etor .n loeat40"a 34 & 36,
cle.r thr.e e,.au~."ts fro. the It.ck ."d take •
"orm.' Sy.t.~ Ex4t t~ ir •• the Sw.~ ~uif~" fj ".e •••• ry a"d r.ster. u.er R.oi.t.~ ••
~or cod. 2.
(S.~ RESTART .ddr~'s) .• ~ov. the 'UDcl •• d .ddr ••• fnto t~. SVT for co.,fbl. lat.,. u ••
hy the CO".o,. R~ST.RT co~m."d ( ••••• etto" e.4.5),
e' •• r two .roum.nt. fro~ t~ •• t.ck ."~ t.k. a "orm.' ~y.t.m !wft.

~er

."

!.,

GET ~od •• •
a ~o~"t.r to the SYT st.rt
from the CO"t."t of ft. v.ct~r f" ,oe.tfo" 4a a"d
r.due. the t~."t~f4.r ~od. to ." f"d.x~ Cheek 4t.
"."0' ."d if it r.cr ••• "t • • " un ••• fon.d v.'u.,
iat.' .rrOr ("12).

e." •

nth.rw ••• u.e the i"d.k to co".et f~om • t.b1. of
the 0"' r.l.v."t to the SVT ."try r.aufr.d
by the u•• r. R.el.ce the c.l, cod. 0" the .t.ek by
the tnfor~.tie" to b. r.tur"ed .~d .a •• n t.k • •
"or",., SYlt.~ !.tt.

Off •• t.

5.

p,. •• ~"t'y tw~

GET fu"ctio". r.au.r. aoecta,

tr.at-

r.-r.-

a.

Cod. 104 (TOO reauest) • twO word. must b.
tur".d, he"c. move the •• ved R.~f~t,ra .n~
tur" o~r.met.ra uo t~e .t.ek to orovfde ".ce.s.ry .o.e ••

~.

Cod. 1~6 (~y.t."'.dev4c. "1m.)· thf' 1"f~,.m ••
tfo" •• f" the DOL, h'"ce u •• the SYT oo."te,.
to eol'ect it from t~e firat DOL wor~ tae ••• ctto" 2.1.3).

Com"'e"ts.
Th. G."er.' utilftf •• oeek.ae 4s eo mc'ete1y
m.y b. r •• ident w4thout r •• tr4ctfo".

~e·e"tr."t

."d

PAGF:r-12

e.3

.
Co"y.~sio"
"

uti'itie. Plckeae

Com~o~'~-Uled .ub·~outi"e.

fo~

fCVT'
eo"ve~ti"o

8"

8~c~ec~i.te

.t~i"e of ASCII c~e~lete~. o~ .fmf'IP "e"-bf"ary vllue. t"to
• b4"apy Gu."t4tv • o~ vice ve~sa - a~. ~~ovi~ed ••• c.ck-

w4th1" o"e Mo"fto~ ~odu'e. Cu~ra"t'v t~fa ~.ckAqe .,'OWl fo~ .f"0'e-DPec4.to" bf".rv co"v'rlio",
T~i. IU.
tomlt4cf"Y D~.-deta~~.".1 t~e '."Qt~ of •• e~ .tpt"G, .1
.~OW" by t~e fO"ow4"e li.t of the ~out."e. IVI411blei

10.

e",v.

'.

Rldf •• e0 pick & u"olck - 3 byt ••

b.

Deef~I' ASClt dieit. to/from bf"ary •

e.

Oetl' ASCII d4Git. to/fpom b4"arv - 6 ~vt ••

e

byte.

Hewey.~ 0" ."Dut t~;. 'e"at~ •• O"'V deem.d.

~.xf~um. the
fopmlt .of the .t~."a e." c.u.e the co"y.r.te" to .tOD w.t~
the.pe,u't .t thlt cof"t ~ee"f"ofu' to t~e uI!r~ A" outou~
.tr4"a "eyerthe'e.. ,'w.v. croduc.. the ~fxed ~uMbep of
bvte.~ .1" oe".rl', epp~p eo"d.t~ol'l' d.te~t.d ~UPf"o.a
cq"ve~.io"
.pe.report.d to t~. u~er. i~ t~e p~ocelsor co"dttio~ eode ••• t t. the u •• ~,. ~.~Do".t~.,ttv to
eh.~k
t~ea.
Cu.f"G BCS,BVC .tc) whe" the CPoa~.m fa r.ca"ed, '.0.

C bft,t"y., td byte ,."te~ed ••• "cut, o~ c.. c,ducad ••
outout
V bft.4"DUt too "~Q~ for .f"o1e-word ator.ae
" with.the.;."e,.' U~flttf,a D.ck'ge dtacu.aad t" the Dr ••
viou. a.etto", t~. co"y.r.tol'l .. out1"'a ere cA"ed ~v • a1"ole EMT code (42) wtth ." tde"tff4e" c.aaed la 0"' of the
el"
.rauml"t..
Stmfl ... 1v the .. e e~. two b •• te Q~OUD' .Ich
w1th hi OW" cll,."a .eQu.~c' I"d DreQ~'''''. r~c."
st.te.
T~e ...... de.c,4bed 1" aeetto"a !.3.1 ."d 5.3.2.
Th._who'e p.ck.a. ta re'"tPI"t u"de" a,' eel'ldlt~o". e"d
be free'v u.ed ~e.fd."ce-wf •• ~

MIV

C."1"Q S.aue"ce.
Th. thp,e .. outf"e' ~~.ch eo"vert i .. eM A8CII stP4"e to b4"lrv
wopd, .~ • . ," .slfo".d eye" cod •• ! T~ev pe~uf~e ~"'y t~lt
the ul'r a~6>p'y t"" ste .. t .• ddre,s of th~ .trf"e .4"ce the
',,,at'" 1. f •• ed fop the.co"ve,.iol'l I. "oted i" t"'~ 4"troductto". ~."ce t~e.r e,"f"e •• eue"ce 1••• fol,ow.'

PAGES-13

MOV
MnV
EMT
Exft

*ADD~,.(~P'

*CODE,-(8P,
'2

'PASS STRING START •••
, ••• & YDENTIFIER
,CALL CVT

~tlt.1

Whl'" ,th. PI-OOtl'" fl ,.eel',.d, the eO"'ve"'4e"" ~eo'_e.. the
cod_ 0", tOD of the .t.ek a",d th • • dd~eas 4. uod.ted to Doi",t
to the byte followi"'c t~1 'I.t 0", •• ",clYded f~ the COP'lve~­
lio",.
Thl ~.tu~",ed VI'U. 4s b.sed ueo", .,, t~e bytes aeeP'l
UD to If'! f",v.'id o",e O~ u",t41 ove~flow, .ubJ.ct to t~. ~lx4~um fo~ the D.'t.cul'~ co",v.~.40f'!.
It i • • 'w.y. eo,.,.ect UD
to the Dof",t of .toDDlo..
'o~ e.,~~'e,
.f the .t,..",~
'el,e~,~m,l!1 ( •••• 10~cCA»
4, COP'lve,ted f~om,dec4mAl ,'CII,
the b4",.,.y , •• ult f, 0m~1'4 with t~ • • dd~.s. ~.~u~"'@d 0" the
I~.ek
b.4",a th.t ~o~ the CCR>.bvte. ,. ~."'~f9",ed •• ~1fe~,
~ow.v,~, the C bit 1. ".0 .et 4", t~4a c ••• to f"'~4c.t.
the
f"vI,4d i"'DUt.

P.. oc •••• "'ai
c.,t.i", oDe~.~io",. ,~, commo", to .'"
th,.ee co",ve'a10f'!s,
th .... fo~ • • CO-,.outt"f",a t.ch",iau. 4. u •• d. Th4. 4s s1",t'a,.
to ~h~t, d •• e~fbed fo~ tha .REAO/.WRtT! D,oce.so~.", ~ect10f'!
3.2.2.2.
The '.Que",ee fo"owed by the m.4",.t,.e •• t. de.c,.ib.d,b.'ow,.th. uP'l4aue •• ctjo"'. io,. e.ch cc",ve,..40", a~e
.how" .'" •• ct4o"'. 5.3.1.1 th .. ouah 5.3.1.3. Th. who'e module
•• fu;th.~ 4llu.t~.t.d at f4cu". ~.'.
1.

d1Ie.teh.'.Qu.",ee commo", to .11
'10" .. out4",.' 4", o,.de .. tOI

u,~.

I.
b.

Cle., the co"'dftfc'" cOde.
etltu. 4'" ."'ticfeatio", of "'0

f,.~m

the
the

COP'lve,.~etu,'"

e~'e"8

!.t,..at two e.ll a,.gume",t. _",d leave _
to th.f,. .tlck Do.4tio",

ooi",te"

Bufld the .dd~e.s of t~e f4,..t ,.~tu"~ Do.",t
t~e "'.4"'st .... m 0'" tOD Of the ataek.

to

Ch.ek the vl14dtty of the fd.",tiff@, cOde "'ot a •• toned ca" fatal e,.,.o,. (FQl3.t,
e.

~.

U.4P'1o the code I. a", f"'aex t"to • J~P.tlble, GO
to the u",4aue poutf",. to .et • byte counte" fo~
the eDo .. oo .. tete m•• f.u", .t~t"o-le"oth.

""'. ,.etu~"', clea,. ,the code wo"d 0" t"e steclt a.
eto,.. fo~ t"e .ccumul.ted ~esult.

the

DOS!5."N"

3.

Collect a byta f~o~ the .t~1"a, ~amoye pa~4ty (b.t
7) a"d ~ad~ce to ~u~e~tc d4o't ~.~ae. ~etu~" to
the u"'Qua ~out1"e fo~ fu~t~e~ check'"~ a"d oa~hao.
adlult"'a"t.

4.

V""Q

a Co~~~" '.Qu."ce w't~ va~4able ~etu~" 00~ult'oly
the p~eSe"t ~e.ult bY • facto~ a~.
D~ep~.at. to •• ch COPlya~s'on (f.e. ~0 (oct."
fo~
~.d' •• D.ck4"e, 1~ fo~ d.c'''',' aPld 4 fO~ octa' (1)).
Add i" the "~w byt ••
,"t"

t,f • c~.~k, 0" tha count.how. fu~t~.~ bvt.1 ~.",a'"
to ~. D~oce ••• d, ~etu~" to .teD 3. nth.~w ••• uodate the .t~~"e DO~"t.~ 0" the .t.ck to ~how the
",Kt byte to b. D~ec •••• d. ".~ova the co-~out4~e
""Ie f~om the .tacle a"d t.le. a "e~~.' SY.t.~ E•• t
t,o, f~e. tha SWAD Buffa~ 4f ".c •••• ~v 'flld ~ec.' 1 the

~.

o"oa~."'.

!5.3~1~1

".d' •• !50 Pack (code ~)

Th1. fo~~ of co"va""on allow. the ~a't~tct.d •• t of eh.~­
.ct'~1 "o~~.,ly u•• d fo~ .vmbolfe ".~ •• to ba .to,.ed ." o"a
wo~d, th,.a. at • tf~., u.4"Q the .'oo~'thllli
!50(!5A •• B).e

1. oetally ba •• d ."d A, e ~ e .peth. thp,e
cod.d 'n .ecopd."c. w'th the follow'"Q t.b'et

wh.~._!5~
aete~.

1-32
33
34
3!5

• SP~C!
• .·z
•• t
•
fu"u •• d)

3e.~7

• ",.g

I,

chap.

Th1. eo"ye~ •• o" i. Itepe.d the,.efop. afte~ thpe' byte' OP
UPon peceo"ft.o" of a chapacte~ not includad ." this .et.
IIIU"
ba
I" 'h •. latt.~
how.v.p,
th., ~,.u't
'eft-'Ult1f'ad, •••• 'A", eQu'v.le"t to 'A '. ~."ce 'he

e""

.- ....•.•......

1. Th. oetal conv.~ •• o" U"~Qu, pout'". a'~.adv hal
to DP"'n' ~,.u't C.e • • aet,On !5.3.1.3)~

doubl.d

PIGF. $-1 ~

.

.

u"teU8 ~outt"e ealled by the ~a4".t~ea~
fO~~' t~e followtno oce~lt4o".1
1.

n"

e"t~y

set

t~e

list~d

COU"t fer three bytA'
the f4r.t byte.

t~e ~a4".t~elm fe~

De~-

Ibeve
I"d

~ecll1

'-I

Co"vert' valid byte 1" 'ceo~d,nee w4tk t~e table
and retur" to the ~14".t~ea~ fo~ ~u't.Dl1eat4on of
the current re.ult by octal ~0 I"d Iddft40" of the
new vIlue. ReDeat 4f ~ecll1ed wft~ Inothe~ byte.

].

~o'd t~I .• t~~"O ~o~n~er .t In ~nvlltd ~yte I"d

Sit
C bit in the Drog~l~ Statu • • aved 0" the stIck
to .4gn.' the e~ro~. ~eD'aee tke byte w4th 0 a"d
eontjnye t~om steD 2 to fo~ee the reau.red left
Just4fiesltion.
t~e

5.3.1.2

~ee4~ll

ASCI! To Binary (cede 2)

The e~nve~.4on of deeim~l ,dig4t. u.e. ,he .ta~dlrd elQortth~
tn whieh I D~ev40u.'y comouted re.ult •• ~ult4D'ted by deei.
ma1, 1~ end 4. th,~ lu~mented by I "~w d.a~t, elwlY. le.vina
a eor~eet valua tf stoDDed at I"y time, e.O.1
RI.u1t *1 • A
~e.ult *2 • 10A.8
qesult *3 • 1P(10A.9).C
etc.
The m•• imu~ d~cfmll value that ea" ~e stered 4n • .tnQ1e
wo~d .s of cou~.e 65535.
He"ce the u"fQue rout4"e must e".ure t~.t this •• not e.eeeded •• fol10w.i
t.

~

-

Set the counter tor ftve byte. a"d r8cI"
.trel~ for the f4~st bvte.

the

~14n·

Ve~tfy thlt the byte t • • vlltd dect~ll dtott.
If
not, hold the 'trfne coi"ter It t~e t"eor~ect byte
Ind stan,' tke error by settino the C bit tn the
Droora m StltU' ."ved 0" the .taek~ Ex4t th~ouoh
_teD 5 tn the ~14n't~elm.

Check 1f the currently aecumu,ated v8lue i. e553.
If 'e'"
or ff, eoul' with I new dtc4t not, arelter
than 5, return to the mI4".tre.m for multtDltclt4o"
01 the ,Dre.e"t re.ult .n~ addit4en of the new diett. QeDllt fro~ _teD 2 4f recalled w4th ,nother
byte.

%f the
the

overflo~ eond4t1o"

.trtnG

1•• ee" in .tee 3, hold
Dotnter It the eurrp.nt ~yte, .et the V

b4t .~ t~e .ayed.p~oo~~~ Status
step 5 4" t~e ~e4".t~ee~.

8"d

@xit

th~OUQh

The Ce"Ve~ •• O" of oote' y,'~e. u.e. t~e .a~~ alQo~.t~m a. 4"
the D~eY40u • • ect4o~ e.eegt thet the mu't4g'.e.t.o~ faeto~
•• ecta' 10 r.the~ the" ~eef~al.
If t~e eo~out.tfo" 4•
• tooped at e~y tf~e, the la.t ~e,u't f • • oaf~ vel4d. A"
~Ya~~lew Dr~bleM al.o e~t.t'l the u"10ue ~out."e 1" t~1s
c •• e therefo~e e~eek. t~at t~e ~e.ult dees "ot beco~e Q~e­
ater the" oete'
follow ••

1"'" ••

Set the ~ou"ter for ••• ~.04t. e~d ~8eA"
• t~eeM for the f4rst byte.

the ~.f~ •

Ve~f1y

that the byte f. e va'td oetal dinit.
If
"ot, e.;t throuoh .tep 2 of t~e dee4m~' rout4~e i"
the Drev.ou • • ectio" to .fo".' t~e e~rer.

3.

Check if the eurre"t re.ult 4. ore.ter th.~ oct.'
1"'~.
If .e, e.4t th~ou~h .teo 4 of the daciMal
~out1"e to f'ea the
ove~flow.
Oth~rwfse,
double
the ~esult a~d retu~" to the m.t"st~e.~ fo~ its
further mu1t.plieat4o" by 4 e"d .d~4t4~~ of t~e "ew
d4oit.
If ~ee."ed w4th ."Othe~ byte, ~eoeat f~o~
.tep 2.

C."4"0 Seoue"ce.
The c~r~e,oO"d4"Q reutt~e, to e~~ve~t f~o~ bt~.~y to 'SCII
.tr4"o u.e Odd tde"t4f4er cod.l. I" the4~ c •• e ~ot o"'y
mu.t the u.e~ ,uDD1Y the .tart of a bUffer fo; t~e ItoraQe
of t~e eo"Yerted byte. but
the b4"8ry wo~d to ne eo"yerted. The e.,,4"o 'eOUe"ee the~efore p ••• e. three 8~au.
me"t ••• fo"ow ••

.'10

MDV
MOV
MDV

EMT

*WO~O,-(Sp)

_'OOR,-eSP)
-CODE,-eSp)
42

,pASq nATA FOR C~NVE~sro~ •••
, ••• BUFFER START •••
'. '•• '

rO!NTI'IER

,CAI.L CVT

DOS5.RNO

.

,

0" ~.tu~n te the e~o~~a~, the ~eQu.~ed .t~t~o 4~ .to~e~ a.
'-bit. ASCII eha~acte~. 1~ th~ ~uffe~ .uPP, •• ~. It. If Ie f.
the ffxed nu~be~ of bvt •• a •• ociated wtt~ eac~ eo"ve~sio" as
"oted .n the int~0~uet40~, w.t~ 800roP~fate I'~O paddino.
Henc. t~.~. ts "0 "e.d to uDdate the buffer pot"ter ~etur~ed
to t~e u.e~ - ~. ~a" ~o~pute its new co~ition 1f reQu1~ed.
I".t.ad. the .taok ta comeletely e'.ar.d on rec.",
Pl"oc •••• nl!tl
Th.,. conv.~.to". do "ot have t~e 'am. cO~P8tib.'itv a.
th.tr count'I"pa~t. d1Icu ••• d 4" .ectien 5~3.1. T~ev are
th.~.fo~ • • ff.cted 4n .epar.te lub~outi".s d4scu'le~ 1" .ect.on._ 5.3.2.1 throuoh 5.3.2.3. Howeve~ theY u.e t~e .ame
COMmo" ei.patch .eQue"ce a. t~at n~ev4ouI'v de.cr4bed u"de~
,t.e 1 4" ,.ctio" 5.3.\ ~"d .hare • co~me" e.ft to remove
the t~~ •• c'" aroum."tl f,.om t~e Itack a"d ~8c81' the D~O­
g,.am th~oua~ the "orm81 sv.t.~ Exit.
5.3.2~1

Radtx-50 U"pack Ccode 1)

To recroduce the o,.1oi"al cha~acta~s cacked into one wo~d i"
.e.cord,~ce w.th the .'aorithm aive" 4" ,ectio" 5.J~1.1, two
oe.r.tten • • ,.e ".ed.dl
a.

Succe •• iv. dfv.,40" of the b4"ary value by octal 51 t" order to e.tract t~8 th~ee coded
byt •••
eo"y.~.ie" of the byt •• t"to their

4"0

co,,.eloo~d.

ASCII eQuiv,'e"ts.

Th •. a1ao,.;thm u •• d to .ffect the ffr.t of t~e8e "~ed. exo'a".tfo" .4nce it 1. not • ae"e,.al'y .ta"d8r~ one. It i,
b,'ed UDO" the fact t~at 3/16 of , aua"tfty 1, almo.t eau.'
to byt .. i' alwav •. 'e.1 tha".l/e of that aue"tftv, Tht. follow, frem t~. be,tc ,'oebra4c t~"etl
(.~1) Cx+O ••• ;'

Thi, i~act1e" the,.ei~~. prov4de~ ~ ~ ••• o"~b'e f~~lt aooro.4m.tfo" fo,. divtlion bv 5, ~e·iter.tto" of t~e ,a~e oroee ••
witb ~he r.ma~nd.~ (1/18 of t~e o~ev~oul v.'u,l th." e"ab'"
a fai,.,v .,..oid. accymu,.t40~ of the co,,'.ct re,ult. The
"umb.r of ite,..tto"1 4, c.rtai"'y leIS the" the.e r~l!tut'.~
f~" th, mer. "orma' d1vi.10" t.c~"4aue
d4v4,or o~ ~iv4de"d ~ot.t.e" w4th t,.4a' lubtract10" a"d, of course, t~4s
"uMb.r r.due •• wtth the 0,1e1"a' auant4ty u"'fke in t~e oth-

of

PAGE 5"-18

,

,

t~e
eo~.
useae 4" both ~ethod. i,
the lame. Sueh u,.ae i'.~bv4ou.'V ~~~at.~ th8" f"
t~e V.~V be.fe 'uccessfve ,ubt~actfon tach"fQua but t~e t4me
taken ,jo~ th~' method doe' n~t ,t."d co~~a~f.o". ~e"ce the
~.duetfon e'oo~fthm outlined f' .dected beeau.e tt 4, f.'te~
end eu~~e"t'v the ove~e" size of t~e CVT module 4. "0 o~ob­
'em.

e~

'v,t.~.

~ouah'y_

Mo~eove~

The "o~~jthm .bove ca" b. a~~lied ~n ~.et ~o e"v nu",be~
whfeh.f. 0"' g~.ete~ the" • bf",~y.~owe~, e.Q., 3,9.17, ete.
."d "atu~e"Y become. ~o~e a~D~oc~1ete t~. '.~oe~ the
"umbe~.

The .ecend oce~.tio" me~e'v t"volv •• cOm~e~f.e" of eeeh byte
w4th the co~~e,~o"df"g ~enae' of t~e teb', Qive" f" 'ectto"
e.3.1~1. to.dete'~ine the A~CI1 eQutv"e"t~
Twe Dof"t'
howev.~ ,hould b. "otedl
e.

The Me.f"'u~ 8c~ect~b'. velue f~~ • v.,4d ~"u't
fa thlt ~o~~e'Do"dinQ to ;gg, f.e. 17~777 Coc~.,).
I! I ~uantf~v a, •• te, t~'n thil f'
c •••• d fo, conve~.fo", the ff~.t byte w4th e
coded v,'ue of 50 become. (I) by the t,.n,letio" mat~od u.ed.
Any of the byte. ce" ,e.ult t" t~. u"u,.d
3e whtch i' t~e""eted into C/)

code

II!' eft.h,~ ce., the 4"vI.l td cha~lcte .. f., ~etu,,,ed to the ea',ina c,oa~.! 4n o~d, .. to complete the eonve'.io". The e"o ..
f. howeve' fl.oaed in the C bft.
The bvt,. D'odueed by the d4vf,4o" .,e in the ~eve~,. o,de"
to thet ~~eQuf~ed by the ff".l .t~."a, Thu. the .tack 1.
u"d to.effect tn_ "eee •• ~,y .w;tch •• 4ndtc.te~ in the fol1owf"o 'eouenee fo, t~e co"ve~.fo"i
1.

Set e steck ma,k., .t its ~~e.e"t
ttve velue)

2.

St~,e

the v.~u. on the steck e"d compute 3/18
(.C.·.I,)/').
T" the la",e D~oce •• , ~educe the VI'u. 0" the .tack to 1/18. (.(x-(.~.,.).((.-w/')')'
~u'" the Quot4e"ta el this ,teo 4. ~epeete~ unti'
the ~.mafnd ... 0" the 'teok fe". to .7 o~ be'ow.

3.

2 Dr-oduce. ~fvfaion by e._.e divide the Quotfent obteined by octel 10 e"d ff the seoo"d byte 'e"'li"1 to be D~~celled, ~.Deet steD 2 w.t~ t~e 'elu't.
Othe,wf,. cheek the ~e.ult • "OW t~e ff~'t
byte • ,"d .et the C bit i" t~. C,eg .. e", StatuI
leved 0" t~. Itlck 4f a~eet.~ thl" '7,
Ste~,

DO'ftio"

("e~a­

PAGEf-19

Chec.
4f t~e . byte •• the u"u •• d
'..
.

ced8 35.
If.o
by the retUr" C bit.
Co"vert the byte reoardle •• Of a"y e~re~ 4"to it.
AS~II eaujYalent a"d .t~re ~n t~e user-.Dec4f.ed
buffe~.
Col'ect the ne.t byte f~o~ the .t.ck and
re~e.t
th4 • • teo unti' the ~.~k.r .et i" .teD 1 ••
r •• ched.
'4~ile~lY

!.

.4~"e'

t~e

e~~o~.

Take the cO~~O" ••• t to el •• n-uD the .t.ek a"d
c.l, the Droa~a",.

~e­

.1.

T.he. con"e .. ,; 0" to dec.1 mIl ,ASe I I. u.e. a .t.nd ... d ,i~Dle
which need. no exelanat40". ~o~e~ve~ no ineut v.lue
Cln D.. orluce e .. ~oneou. ~e.ult.. T~u. the 'eaUe"ce fo~ the
conver.40" •• ~e .. e'y e. fol'ow.i
Gorit~m

1.

~et
• Do.nte~
U 0001-1"')

2.

$~.rtfng f~o~ oct., ~I •• the "ece •• ~~y ASCII b ••• ,
count t~e "u~bar of ttme. e.eh 10-eowe .. v.lue e.n
be .ucce •• fu"Y subt,.eted fro~ the 4nDut au.ntftv
.nd D'"
the re.ult to the u.e," hu~fe~~ ReDa.t
until 10 it.elf ~ •• been u •• d.

.1

Th .... ~ •• nd.r
to the u.er.
st.ck and .. ec."

to

a

t.ble

of

l~-eowe,

v.lue.

the dfGft. byte - .dd 6~ ,nd D'"
Take t~e COmmo" •• it to el .... the
the D.. o~,am.

e•3 .-=2:...:.-=3:--..~~-:.4";,,;",,,,:::'~"...I..v--"'t-=0_('}....:::c..;;t-='c...;.'_A-=S..;.C-=I..;.J_--,,(...::::c..;.o....::::d;.;;;e_5-.)
conve ... ion to oct.' ASCII i. effected by .4~D'e ~ot.tion of
the inDut Y"ue to e.t,.ct • ,.oui.it. nu~b.r of bit. (t fo ..
the f.~.t byte, 3 fo .. the ~e.t)' to these oct.l 60 fs then
.dded •• the nece ••• ~v ASCII b •• e for e.ch of the .f. d4·
o~t •• A081" ~o erro~. ~~. ~os.fble •. The •• 'ifcul ... ,'oorith," y.e. C-bit detect40n of ~.rker bit • • et 4nto the rot.ted ~es~'t-.to~e in orne' to cou~t t~e. "umber, of ~it. for
e.ch ~io4t .nd a',o the "u~be~ of diG4t. a. fellow"
Set e ,".~ke, b4t .nd ASClI-b •• e eQuiva'ent fo.. one
rot.tion fn the Junior byte of • ~ •• u't-.tore. In
th. ~4oh-bYte .et a ~a~ke, fOr e ~otat.on ••
2.

-ot.te. b4t f~o~ the 4nDut wo~d into the Jun40r
byte of the re.ult unt4l ~h. ~.'ke' bit movel to
the C-bit. ~to~e the ,e.u'tino byte 4" the user'.

bUff ....
3.

R.~.t the JU"'o .. byte ••• " .t.c 1 fe..
tt~n..Rot.te

f .. om .t.c 2 uftt"

C.~4t.

T~."

t~e
t~e

fou..

~ot ••

w~ole
.. e.ult wo~d .~d .. eoe.t
~'o~.byte ~ ... k..... e.c~es
the

t~k. t~e eo~~On

••• t to cl •• n·uo the

.t.ck .ftd ... c.ll the D.. oa ... m.

5 •• _~j:J~~!,,_d c~.t_!"J "9..."..l~!!!_~_,.... t~ ~I".

I"

eh.~t ....

3 & 4, 4t w••• how"

t~.t

t~.

u •• 1" h•• two

"0 .. ~.1

m.t~od. o~ ~"dic.ttftQ the d.y~c ••• nd ~i ".e.' .... y the ~"e.
~, w•• ~ •• to 1 •• oc'lte w't~ the dat ••• ta DI"oY4dfftQ 1/0
fo ..
I'd. lCI~oa"'ft!' I

'.

M. C," DI".· •• t the neces .... v iftfo .. m.t4o~ i"to
L."k·b,ock • • "d
block. w'th.n e.ch o .. ogl".m
.ou .. e •.•

b.

H. c." ,uPDly thi. ,"fo .. mltion 01" C'" oV'''l''ide
th.t .' .... dv 'n the DPOQ ... m It le.d tf~. by m.I"' of the con.ol. ASSIGN comm.n~.

F., •.

. .

.

.... um. thlt O"c. th, o .. Oal".m ~ •• b.au" ••• eutt,n, .tt. wt" ft •• d the •• ~. a.vice • • "a fil •• fo ..... e h I"U"
whil •. it ... ~.1ft. 10.d,d ." memo .. v. N•• th ... m.thod i • .... "v
'~~~Ibl.,
how.y.r, ~f t~,_pI"Oo"8m n•• d. t~. Ibility to u••
diff .... "t 1/0 m.d'i. fo ... d.ff'I"."t "Uft., p'l"t4cu~ ...
4f the
".w d.t ••• t 'D.effic.tto" . . . . . . t the d4.c~.t4o" of the 00 •
• rlto" ,t the eo".o1. k.v~o~l"d. '0" t~e .4mc~e ~.,e, th~.
m40ht b. m.n.o.a by the o"OQI".m settina ." ,0P"oDl"i.t. RESTART 'd~I"". C, •• ,.~t4o"_5.2)' D~'"t4"~ .O~. oe .... to.. ,4Q"., Ind th.n wltt'"O fol" the 4nDut of conlol. ASSIGN .nd
RESTART cemml"d, to ,tll"t I n.w .. un.
the Oe" .... , CI •• ,
how.y .... t~4' i. c l um.V .nd wI,t.fu'l elch sDeciffeetio"
ft •• d • • • • c .... t. _SSIGN ."a u.es I" i"d.yiduI' te.wo .. ~ f .. ee
eo ... buff ... C••• a.ct4o" 3.2.1.2)
89t~

~.thod.D

'y

Fo"

Th. Mc"itc .. t~.I".fop. cCfttlin' • Comml"d ~t~1"o Ifttel"o~.t.1"
(CSI) •• • me."' w~e ... by d.tl •• t sD'cff4cltio"" peou.sted
Ind e"te ... d., • stl"'"O, CI" b. tp'nslet.d e"d Ictu.lly
.tored w'th4" the D.. oa ... m Link-block • • "a Fi'e-block •• " "eIdt" ••• fol" •• ch I"un.
FUl"th'l"mol"', mo.t System P1"0~1"8mS
tyojcl"Y ~e.a ~hi •. i,c"itv to chlnoe dev~ce • • "d f"ea.
T~.41"_u'._of CSI Dl"ov'd,. t~e Idd.d b.nef't
th.t th.y ."
nOW c~ ••• "t • • t.ndlpd int.l"f.c. to the ooe",.tol" 8t t~e kevbOI .. d.
Th4. 4"t.~f.e • • ftd the m.thod bv which u'el" c .. OOI"8mS ~.y 11e," fCI" t~ ..... y.c~. cf CSt Il"e b~th fullV. d"~l"ibed ."
the p .. oa ... m~.I"" MI"dbock. Th41 •• et4c" thu. CO"tl'n. onlv

.0

DOS!."NrI

P1GF.s-21

luff4ei."t _outline fo~ i~med4It. ~efere"ce.
~~oarlm D.rfo~m. the fo"ow4"a OD'~ltfon'l
1•

B~i~f'v, t~.

-eauelt commlnd .t~i~o 4nDut bv·crintinQ '*' It t~.
conlo', tVDew~iter, el"
.R!AD II'I~ .WAIT fo~ t~e

~Derltortl r.~'v.

e."

,"C-

I o'"lrll 8v"t.~ '".'vllr, ~ilc~'led i"
ttO" !.4.t, to e~.ck t~. ov.r." Iccur'ev of
4"Dut .tri"; I"d •• t UD t~. d.eodi"o D~I".
3.

t~.

CI" .n i"dividuI' ~.tll.t •• o.c4f~c.t40" D.e~d.r,
d.'crib.d
i" S.cttO" 5 ••• 2, te ,.t UD t~.
~.~k-b'ock I"d
b,ock for e.ch dlt •• et COI'le'~I'I.d.

F., •.

(CSX)

-'

T~e f~rT.t 'D,c~f~ed for • co~ml"d .trfl'lQ to he Droe •••• d by
ell., 411u.tret.d .t fioure e.s. In o.rticu'.r, t~il Ihowl
th.t the .oecff4c.tio" for .aeh deta •• t 41'1 t~. .trf"o can
C9"'.lt
"umbe~ of elem.nt., ~o~eve~ ~ot 1'1 need be
oive", but thol' that are mUlt eo~c'y wft~ a ,et of ~u'e.,
tllu1ltld. at ftQU~', see. It fs the Dr.l'lc4~1' fu"ct4on of
the Iv"tl. A"llvI.r to 'I'IIU~' thlt the.e ~ulll Ire not brakl" ,"d to f"for~ the croarlm of .nf~il'lam'"ts if detected.
l~ .ddt~to"f thl A"I'vI.r C'II"I.ue the Itrf"~ _bY ~.mov4"a
l-trln.oU' chlrlot.r.C.clce., TA8S, etc.) I"d f4 ••• the coIft.o~ of cot"te,., "e.dld t" the dlcodt"O ooeratton. which
fO"ow.

of •

ell'4"a Seaue"ce.
In ord.~ to COllect t~e eom~e"d str1l'1Q, t~e oroar.m ~.aue.t •
• READ f~o~ the dlt •• et Drovfd4"a t~e 4"Dut - ululllv on __ I ••
Ii 0"'9 to t ~e COI'I~o,. k.yboard., A., I ~t 1"I'je ~d ~eau ... em'l'It
of th41 1/0 fu"ctto" Cae • • eetfo" 3.2.2.2), t~e c~oeram IUO~'t'l I li"e buffe~ for the d.ta, "o~~el'v D~eeeded
fm~edi •
• te'y by_. 3.wo~d '1".-bl~ek of CO"t~o' 4"fo~m.t4o". Fo~
the u.e of Cst, the 11". buffer w1t~ fts ~eadft~ fo~ t~e in~~t o~_. commll'ld .t~i"O .s fu~the~ ~~ea.~.d by I 1-word
~~r'k.lclce II, .how" 41'1 f1Qu~e 5-1 •. CCSI , •• u",el . t .... t
t"'i.
formlti. follow.d ex.ctlv, I"d 4" olrt4eul.r doe. 1'I0t e.~eet the Dumc mode d.se~4b.d 41'1 leetio" 3.2.2~2~)
~el'le. tt
r.aut ... 1 ol'llv t~.t the eroor.m DI'I t~e .te .. t I~d,. ••• of the
worklDle, CC~D8UF) I' CI~t of 1tl cI" 41'1 order to lece.1
both the worklDlee Il'Id t~e dlta 41'1 t~e li"8. ~oreoy.~ at
th4. itla'
t. l'Iot eo"e.rl'led w4th t~e c~oa~lm dltl.et
,f~klae •• ThUI t~e el"4n; .eaue"ee •• ,imo'vl

.1

Dose.RN~

,PASS W/SPACE ADDRESS
,CALL CSX

Gen.,I' De.epfDt1on'
~8X f~f'fl!!Y D,.DIP •• the wo~k,ole. fe~ 'It.~ u•• I' d.ofet.d 4" f4our. S-S. Th •• to"4ffel"o. of the e"t~ ••••• e.

fe11ow.i

I~9ut/Ou~out. Code - en~b'.~ t~. o~oa~l. to fde"tifY
wh4eh .1d. of t~e .t~f"Q 1. to b. u•• rl .t t~e "ext
~.au •• t ~op the ~.eod1"Q of • d.t ••• t .oeefffe.tto"
- ••• ".xt •• etto".

Cu~r."t

Inout Addp ••• - .hew. t~e .taPt .dd~e.. cf
the " •• t t"Dut d.t ••• t .D.effte.tfe" to b. o~c­
e •••• d .t ."y tf~ •• It 1. 1nttfa"y .et at the .dd~... of the byte fe' 'owf~o_ Ie'. f f ;et.et~d, e~ I.
It 1. uod.t.d •••• ch .D.e1ffe.tfo" •• deccded.
Cur~e"t Out out Add, ••• • oe,f",M. the •• ~. fu"ctfon

•• 2 fop OUtDut.
.tapt .ddp ••••

It. f"ftf., .ettf"s •• the .tPi"o

4.

Current InDut D.f.ult D.vfe. - orevtde. ~ device
~.~. wh.n "0". fl ent.~ed ,. Da,t ef •• oec4ffcI·
tfo". Th •• tl,t 1"uMotfo" f. the ,Y.te~.devfee,
."v new devfee .nt~Y ov.,rfd •• t~. o~evteu. def.ult
(O~ the 1nout .f1e c"'v - def.ult. do not epo •• the
'e' bounOI"'Y)

~.

Cupr."t OutDut Def'u't D.vfee - i. t~e
fo~ outout.

8.

Curr."t Inou! D.f.ult U"ft • oive. t .. e unh "ulflbe,
•f
the dev4c. c." ecnt,01 .eve,.'. It • t"hf .1
fl'l 4.
eont."t i. e I"d t. uDd.ted

'.

.

•• ~e

••

4

-,

••

~uppe"t

out.

OutDut Def.ult u",tt - .aulte. to 6 fo, out-

H.v4"c coll.~ •• d t~ •• t~4"g to .~ow o"'v ~.coe".I.bl. c~.~·
.ct.~.,
cax e."fo~", •. tt. ".c_ ..... v eh.clu 0". t". ba.i. of a
•• t of at.ta. co,~ •• ~o"df~Q to the .l.",."t. b.f"c .c."".d.
Th •••• ~ ••• follow, tw4th th.i, 4".tf.tf~o c~.~.cte")1
I

2
4

6
I

• So.c.f4catio" St.,t t,)
• D.vfc. (,.tte,)
,.,.".~. (J.tte,)
• E.t.".4o"
(.)
•
• Ut~ C[)

11 • Swf.tch (I)
12 • I"Dut Sfd. at.~t (e)
St~f"o E"d (LF"',VT)
l'

.

•

w~.~.~.,
~u"etu.t.o" ch.,.ct., 1". the .~~."~ d."ot.1 ~~.~ •
• 4t40" .b.,w.," .t.te., • t.b'. ~0~~"Do"d4"O to the 0,40'
.t.t. f' ••• ",4".d. Thf. t.b"
Gtv • • • '4.t of eu .. ,."t
.t.t'~ ~hic~ c.""ot be ,cc'9ted 1" acco~d~"e. w4th ,~ •. ~u, ••
~~.vtou.'v tl'ult,.t.d 4" ffou~. s.e.
UDO" d.t.ct40" of ."
~"v.'id •• t.t.
~f • eh.,.cte .. w~~ch fl ~lt.c.'
,'v
0 .. with4" •• t.t., eax ~.c.". the D"Oa~'''' wfth the .dd~e ••
of the byte t.~",.".t1"c the IC." 0" tOD of the .t.ek.
Othe .. ~.,. 0 •• ~.tu .. ".d. I~ •• th." the .... ~0".;b.~4tv of
the o,oo~.", to ch.c~ the f"dfe.to~ (."d ,.",ove 4t f .. o", the
.t.ek) _"d to t.k • • ctfo" .cce,d."Q'Y'

0"

Q." ....

D.t.4l.d ~ .. oc •• sf"QI
Th. D.. oe •••• "c oo.~.t.O". of rax .~. 4,'u.t~.t'd .t ft,u~.
The ,.cu'"C' of th ••• OD .... t.O" ••• b •• fe."v •• fo'.
low'l

5.9.

t.

C~",et the .t.,~ of the wo,k.D.e. C~DAUF ."d f"~.
tt.'.,. ft al "oted .bov. • usf"o t~. DD~ ."tIlY f"
the SVT to det.,,,,f". the .v.t.", d.vte. e•• e •• et40"
2.1.t ."d 2.1.3)~ S.t ~ot"t'rl
iwiteh ••

."d

2.

Se." the It,f"a ."d ... ",ov •• C.C •• , !A~I. ."d
bout. u"tf' • v.,td ,.". t ... "'4".to .. 41 ••• ".

3.

la"o~. I,' ."d ~e~.f" .t .t.t. 0 u"ti,
.o~. oth.,
eh .... ct... fl det.cted. A•• u"" .t.t • • • "d tf the
eh .... et ... i •• '.tt ... , .c." the .• t~."Q fe.. the
f .... t
"O" •• '~h."u",.~ie ch .... ct ... , eou"tf"q the
"u"'b.~ of , •• d4"o l.tte ... 8"d •• tt1"o • ileo 4f df·
cit. oceu" betw •• " 1.tte.... If the ".w eh .... et ...
•• "ot 'I' ce to .t.o e to ch.ek the 8cc.ot.b4lftv
of 'f'.".",. .t thf. tim.. Othe,wf •••• t .t.t. 2,
~,ov4d.d th.t uo to three letter. o.,hftOI
fo"owed
O"'y b~ d~a4t. h.ve be." ••• ". AQ'~" oe to .t.o e
fo~ .f",.'." check for Devte ••

ru·

Dose.RNt'l

4.

F' AGF-S- 24

If the

fi~.t chl~lete~

"ot

',I

4~ Ite~

3

.1

'.',

~cc.~t it ~~_l~eu ~f F~le"ame, I' 'o~o .1 jt is ~ot

followed by lette~1 o~ dicitl.
qelet
Ictt9" ICCC~d4"Q1V ~i ~". ~f t~e fol.
1ow4~o e~e~let"1 •• detected.
Go to Iteo ! o~
completion fop the ,eleve"t chec~.

D~eceded

t~e Itlte

e.

o~

."d

'.' Cltlte 6' • move pe.t
(O~ I 1."01e '.').

'~tte~1

I"rl

diQitl

~[' Cltete 8) • Ica" beyo"d the ~n'v va,id IeQu,"~e 'rCd.~tt.),(d.o.t')l' Co~ '.' 4" lteu of

(dtQit.)

t~

e4the, el.e).

'I'

Cltlte 1~) • io"ope lette~s ~r dio.t. followed by ~epet.t.ve 'eQue"ce, ef Ii (1ette'"
dia1tl, ~.~ 0' ""'.

'c' C.tlte 12) • Iccept thfl che,eeter o"'v if
"ot D,evtou.'v 'ee" I"d ~e •• t 'Cu,~e~t t"Dut
Add, •• " i" CMDBU'~
e.

C~ •

tono,e e. le"o I' it i. followed by I t . , .

"'f~lto'

LF, FF, VT •

leee~t

Al' othe~1 (i~eludi"Q dfaftl) • ,.Ject

I" the ,elevent .tet,

tl~1e check
thlt the stet.
IUlt te,mi"lted CI" fo"ow the o~e D~eviou81Y see".
Remembe, the new .tlte e"d if "ot 14, 'etu,~ to
.tep 3.
Otherwi.e te~e a ~o~me' Syltem Exit (see
,.cti0" 2.3.4) with 0 e~ tOD ~f the stack.

Fo, 4"VI'td che'lcterl o~ state" ,ee18ce the A o~
the .tlck with the lete,t vIlue of the oot"te, u.ed
to Icce,1 the .t~t"O before tekt"O t~e SY.te~ £xit.
Co",me"tl'

CSX 4. ful'Y 'ee"t'l"t It 11' timel e"d CI" be Uled f~.ely
wheth". ".~de"t o~ "ott . It ~'v ,1so. be ~eea"ed to
,e-t"4t41'.'e the WO,klolce fo~ t~e .t~f"e 4f reQufred.
CCSM)
T~e ou'po'e

Lt"k-bloCk

ef t~. Oeceder rout."e t. to let UD the
."d F1le-hleck fo~ I detl'et e"d tr8".fe, d.~ec·

t40~

.Dec4f.ed by the p~oe~e~, ~y e.t~lct4~Q the ~ewt IDec4iiclt40" f~om t~. ~.lev8~t .ide 'f I cem~l~d .t~.~o el~eedv
ch.ck.d by the Sy~tl • • ~Ily •• ~ dt.cu •• ed f" t~e D~eyfous
.,cttO" I"d by th." t~a""lt4"a its co"te~t 4"to tke fo~met
~.Qu4~.d.
Th. D~OO~lm CI" the~ •• fte~ De~fo~m tta 1/0 oce~et4o", VDO" th.t d.tll.t t" t~e "O~~81 w~y dese~4bed f"
Ch'Dt.~. 3 & ., I' Qua,4f4ed by the
~.ouf~eme"t. of 8"Y
.w4tch.~ e"te~ed w4th the specff1c.tfo~. Th~ o~o9~a~ 4t~
•• 'f, how.v.~ t. ~.'Do".fble fo~ det.~mt"f~o th@ vllidity of
tho ••• wftc h•• fo~ ft. Du~po.e.
C,"f"Q S.aue"c.,
Th. Decede~ .xpeet. the wo~kaclce CMDBUF 8.socfet~d.w~t~ the
_buff.~ co~t,f"f"g the .t~'"Q to be al~e.dv f"4tf"fsed
co~~.etly I"d pe~fo~m. "0 'V"t.x check • • • eal1 to the SV"tl. A"I'YI.~ mUlt the~efo~e D~.cede tke e.l'l to the dee~d.~~ If the A".'vle~ t, ~ecll1ed, the wo~kaoac ••• ~e4"4tf'l.'.~ a"d, deco~f"o C~" thus be .t8~ted If~.lh 4f ~eeut~ed
C.ff.ctf"e both .fd •• how.ve~' •

1.".

•• "ot.d 4" the D~.vteul s.cttO", the ff~lt werd of CMoeuF
•• r •• e~v.d fo~ the D~eo~.m to t"d4C8te whiek loecif;cetfo"
4, to be u.,d "ext. Th! D~oo~.m •• t. thf. ~ord to ~ to 140"tfv ,t~. f",ut Itde of the stP't"o' 2 the outout side. The
,pp~oDrt.t, Lf"k-block I"d 'f',-b'ock mUlt .1.0 be eo~~eet'Y
e'~.b'f'h.d~
T~' fo~~.t of ~he '.tte~ fs exec~ly •• de ••
c~fb.d f" lectto" 4.3.2.
Th. Lt"~.bloc~, 0" the ot~e~ h8"d,
~u.t
.~e'ud. 'D.e. iop' the dev4ce "eme ••• how" t~ lectfo"
3.1.2~1 ."d m.y b. furth'~ '.t,"ded to ."ow e buffe~ 4"
which. the Oecoder e'" ~etu~" Switch t"fo~~atfe". The OP'oor. m U,,~,fc~. 11'o~. Iufftefe"t p'oem fe~ a" ,the t"fo~m.­
ttO" exp.cted a"d f"dtc.t.s th@ .tz, f" the Lf"k-bloek byte
.howt"D_."~umbe~ of wo~dl to iol'ow·~
,i"al1v, the, decode~
the th~ •• ~,'.va"t .ddrelse~, The.a .~e sUDol fed by
the p~oe~.~
t" • t.ble a. Ihow" .t ftau~e 5-1~ 8"d the ed, ,"
d~ ••• _ of
thts t.ble f' D•••• d a. the O"'V e~eu~e"t f" the
0.,1f"0 •• au."ce,

""d •.

~

'.0.

Mnv

*CSI8LK,-CSD)

EMT 57

,P.SS TA~L~
.CALL CSM

AO~RES~

Exit Stet.i
-

Wh." the

"umbe~

,

D~Og~.'"

il

re~.l"d., t~e

device

.,.~e

e"d

u"H

f~o~ the IDaefficatfo" o~ f~om the ~.f.ult ~t~~ad f"
CMDBU' I~a .et i"to the L4"k-bloCk, u",a •• "o spac4fieetfo"
.t
W.I e"te~ad fer the dat.,et.
th41 CA.e, t~e dey~~, "'me f" t~. Lf"k-bloCk f. .et to PI
Dete fop' t~e
Ffl.-bloek t. ao~~.etly 'to~ed o~ .s ~apl.e.~ by 0 i., the

.1,

I"

PAGE5- 26

.1e~e~t. ~~t ,ucD'ied~
'*' e~t~i8' e~e 4~dic~t~d by octa'
52 4~ F4'e~e~. o~ E.te~,io~.o~ ~v.octa' 377 .~ ~1t~e~bvte
of the lllC. Swhch deta 4. 1 f.ted i~ the Lhllc-.,'ock exte~­
,~o'" e •. de~~cted et i~au~e S-,l, I'" addit4on, 8 Itatul code
4. ~etu~~ed 0'" the .tlclc to ~otffy the ~~OQ~~m al fo"owl
Cbh-n I

No mope l~ecff.Cltfo",. to eo~e 0", thf • • 4de
Too much Iw1tch dltl f~p the lelce e"owed
It i. t~e ~~OO~I~'I re'Do~'.b.'4tv to cheek th41 CI~d eleap
4t f~o~ th, It,elc) I"d let Iccerdi"'G 1v. Int.rnll,v ~he rl,eVlnt e~t~fe. in t~e C~DAU' - cu~rent addrel. and, ff a~v
entered, cu~pe"t dev4ce an~ unft - Ire u~dlt.d 1~ ~ead.ne ••
fo~ the next ee"
fo~ decodinG ~n the .Ime .ide.
Proces.inftl
The p~oeei.4~a oDe~~t40n. to ICCOmp'.,'" the Dec~de~ fUnction
Ire i',u.trlted It f4ftupe S-12 Ind bl'fcll1v follow the outline e4ve'" belowl
t.

~o"ect

the ell'.p~rlmete~ ~nd u.e 4t to clel' devInd unft i~ the Link-block, the F41'-"'lme
bl~ck Ind 41 Switch IPlee
provided, I Iw1teh
.top in itl ff~.t wcpd. .,~o ccl1e~t the pelevlnt
't~.nG DQ.nter~fro~ CMDBUF 10~ t~e Ifde ~eGuelted 41 I, e.ft I' for 'e' or CR below.
ice

2.

~I~e

.1

ehec~ the ~ext .tr4"8 byte Ind
I. fo11ow ••

a.
b.

Iccord1nQly

',' - ao to eM.t It 'tep , with ~ flaG to
mope to eo"'e.

'e'

OP

.how no
c.

Ictien

.how

CR • ao to exit et .tep , with t flea to
~o'e.

t., - Dlck.1n ~ed4.-~0 UD to the f1~st th'ee
I1Dhlnumeric cherlcterl e",d .tor ••• rxte",.40n
in the F41e-bloc k • D4.clrd III lu~ •• aue"t a'~h8",ume~4c •• Reeeet the check.
(If '*', store
oct.1 ~2 1~lteed).
'[' - eo~ve~t octl' ASCII dicit. ue to t~e dfvidinQ ',' Ind then those fol,ow1"0 f",to two
b1l"'1e~v byte' Ind .tor. 1~ thl IJIC ,lot
.'" t~e
Ff1e-b'ock~
ReD~et the check.

e.

Litter- .ce'" fo~ the fi~.t ",ol"'l·alDh.",ume~1e.
It ~hf. •• 'I', ~Ick leadi",o 'ette,s i~to
rldix-~I end co"vert the diaft., if e~y,
f~om

'--....

octal ,ASCYI 11'1to a b1l'1a"y bYta. 4tto"e both fl'l
the Ltl'l~.~lock, as Oev1ce "a~,. a"d
u~1t.
Ot"'e"w1Ie
o."for~
.fnOle-o"ec4Ifo~
".d1.·S~
elck4"o of uo to t~e f.r.t
Il~ha~u~.,,4c
ch."acte"l
Il'Id
store I. Fi'e"a.e f" the
F1l.-block. 101'l0re fu"ther .ubleOue"t alDh.~u­
mertci. Recelt the eheek.

.t.

f.

Oia1t - trelt II Itart of Fi1.·"A~8 I' .how" i"
Cel above.

a.

'.' - .tore oCtl' ~2 11'1 Fi'e"l.e Il'Id receat the
cheek.

If It th~ ehec~ 4" .teD 2, "0"8 of the lilted ch.".
i. .ee", ,the "ext ,leMe"t el" O"'y be I
Switeh, 10 Ito"e uo to the f4rlt ,wo chl'leterl
f01lowi"Q II byt.1 0" toc
the steck Il'Id di.ee"d
111 IUbleQu."t 11chl"UM.,fcl.
le~.r.

of

If the ".xt
'. 0".
m.r1cI, IS'

It.Ck the I~d'ell of the
.1' .ubl.au.~t .lchll'luor '.'.
Recelt th11 It.D for I"y
further VI'uel fl'lcluded il'l the Switeh, coul'lti"~ the
"u.ber of .ddre •••• It.cke~.
byte il

fol10wf~o

1~.

'Ii,

~flclrd

Otherw11. check if luff1cfe!"lt room 8X41tl 41'1 the
Lf"k-b10ek SW4teh a"el for the "ew datl~ If 10,
mOVe th. it.ml It.eked duri!"lG Iteps 3 , • i"to the
L4I'1k-b'oek ereeed.d by I eOul'lt of the wordl moved
a!"ld fo'lowed by ~ Ctf Iti" rOOM) II I Iwtteh-Ito~.
QeDelt from IteD 2.

If th. Lf"k-bloek Irel el""ot tlke the whol1 of thl
dltl for the Olrtfcullr Iwttch, remoye lueh dltl
freM the Itlck I"d let. Iw4teh overflow 1l'1dieator.
ReDe.t from Itep ~ to ~OYI to the 8oec4fieat101'1
e"d.
Store the Mlrker relultl from st.D 2 C. & d) el'ld
steD 6 0" ~he Itack 10r re,url'l to the uler. elY.
the st,1"Q co1l'1ter, "OW .howf"e the It.rt of the
".xt IDee1f4cetiol'l, 11'1 the re'.vI"t ·Curre"t Addrell" ,lot 11'1 C~DAUF. If a"y e'e~el'lt. "'eve beel'l
orocel.ed It e", .~ye a"y ".w, deflult d.vie. "I ••
a"d unit i" eMD8U'r ot~.rwtle Move the cre'e"t ~e­
fault v~lue. fl'lto the li"k-block. T.ke. "or •• '
~Ylt.'" Exit.

0055.RNr"

PAGF'S-2A

CO"''''.'''tl'
L'k. ft. eOUl'lt'~08~t 41'1 the CS~, th4s ~o~u"
il fu'1y
,. ••• "'t~.l'It . el'ld HI ~eI4d.",e. il w4t .. out "est,..et4~u~. It
Ihould be l'Ioted of eours. t"et CS~ eo"t.1"1 its own routi"es
fo,. ~ed4~.e0 ~eek4"'o I",d octAl A~CII to b4"e~y co"ve,..iol'l
rout4", ••• 4t ee",,,,ot .~oect to be Ibl. to us. t~~ Co"v.,..iol'l
ut4l~ti" de.er4b.d 41'1 s.et~o" ~.~ 8i"'ce th ••• M'V el10 ", •• d
t~. 5"'10 Buff'''.

T~. Me",it~,. off~r' two M.thodl ry whiCh • o~o~re~ CA" be u"loed.d fro", ",.",o~y whe", 4t hes •• ryed ttl ouroosel

".

I.

The cOl'l101e k'Yboe~d ~rLL co~",and

b.

Th. o,.oo,.e'" s.,.y4ee reau •• t

.E~IT

(E~T

6~'

4" feet eff.et4v.'v ~e.ult 4" I ce" to the
la"'. MD"itor ",odul. d4IcuI •• d 41'1 t~1s •• ctfo". Tts ou~oose
•• ",.r.'y to ect al • lo.d.~ fo,. • t"l",s1e"t ~o",ito,. sect4o"
whieh occuD4 •• ~.~o~v wh,"'eve~ there ts "0 l~e~ed user ~"o­
,,..'" • ,1,.,edY "'.~tio".d in .ectio" e.l I"d to~. ~ese"ib.d
4'" d.tei, 4'" l.ct40n 8.~.
lot~ ~.t~od'

C,"4"'Q Seau.",c ••
Th. ca,l11'10 I.au.",ce for ~he WIT Modu'e reau1~es 1'10
t.,.., the EMT 6~ i"st~uction elo"e .uff4cp ••

ol~a~e­

'."e,.I' D•• c~.pt40nl

of

U.4",g it. ow", 4"'t.r"'ll 008 a"e en .,.e.
o",ce-o"'v cod. 4",
4t •• ,f e • • buffer, th! rout.",e reeds the fi".t two ent"ies
frOlll the d1~eetorY of the
Mo"4tor
L1b"a~v
0"
the
IY.t.~-dey.ce. A. shOW'" i" •• ctio", 8.2, t~. fi"st P"t"y ~.­
,et •• to t~e o'''~I"."tlY " ••• de"t ~o"itor 4tsel f e",~ •• used
for ~ •• ,0Id11'10. T..... eeo"d ~l'It~v r.cOrds th~ Iystem-rlAv4ce
,oc.tio" of t~. tre"lie"t Monitor sectio". Th. for~ of t~e
.ntrv WA, Ihow" 'Ir'.e~ 4", f1ou". 1***
Th. XIT ",edu,e ,. ••• t. itl 1",te,."e' 008 fro~ the data 4" th4s
."t~v f" e~~.~ to r.ad 4", the t"l",s.ent spcti~l'I.
The MAmory
.r.a t~41 us., i. r.lec.tabl. to the uooer '"d of evai'lb.
eo", ,. Ihow" by CSA 4" the SYT (lee s~ct40", 2.1.1) o"ov4ded
thlt 4t 41 correctly '4"ked t~ a to~ Of 174~e Clee sect4o",
8.1). ~IT II'U~" thi. e",d comout •• both t"e 10ld ooi",t 8"d

oose.~Nn

~.auelt1"Q the ~eed, how@ve~, th~ ~0~t4"e
weit. fo~
a"v cu~~e"t 110 to come1ete .1"ee t~e~@ 4s no ~est~4ct40"
th.t the ule~ mUlt close And ~e'e4se all det •• ets b@fo~e the
.XIT.
The, weit 1~ ac~0~~~1Ihed by a ~ece.t8d I.e,.ch "0"0
the DDS chei" . f~om 1tl 0,101" at Den 1" t~e SVT (lee lection
3.1.2.3' until "0 ~UIV It.tes a~e lee n • . T~e ~,at"l 1, th."
c,"ed. A"v f.11u~e in th11 o~ 1" the ee~14e~ '1b~a"V directo,v ~ •• d ~elults 4" t~e ultimate e~~e~ - the SYltem
B.fo~8

.

M.'t.

E.h St.te.
O~ l.t1,fact~~v comclet.o", XIT ~.ceI4t.O"I.t~e Itack immedi.t.'v be'ow the load.d t~a"s1ent ~onitor .e~t40" a"d
t'."lfeel control to th41 .ectto" with ~he 'w.~ Ruffe,. "e' •••• d fo~ 4tl ule. The tr'"lte"t sect40n 1. t~.n ~e.cons4b1. fe~ cleenina-uo .ft.~ the D,.oo~am, in Da~t1eu"~ enlU,.4"0 th!t anv dat'letl Itill Ooe" ~re co,.reetlv ele.ed with
.11 buffe~1 ~ele •• ed .nd th.t the norm.l ~o"1to,. states are
relto~.~.
To "Itlt t" thel. ece~.t.O"I, XIT tr.nsm1ts the
fo,'owi n o vel.d ~.Q.lt.,. co"tentl'

RB • • ddr.s. 01 cree"lo~ ~t.tUI Reot.ter (o~ -2)
• 'dd~e'l of DCO 1n t~e SVT (lee Sect40n 2.1.1)

~5

Pfloc.i,ina.
Th. f~~,oo."Q_dflcull.O" aive. luff1c1e"t out,ine of the ODe~.t.onl
Derfo,.~ed bv XIT.
F1au~e 5-13 .howl thea. 1n more
d.tl.'.
Comm.ntl.
B~ itl, ~ature, thfl mOdula "~ed not be _r~.e"tr.nt.
It is
not. of COU"le, beceuse of.the use of 4"te,.na'.wo~ksoaee.
In th,o~v, it ce" be m.d. "11de"t, though 11"C8 it t. uled
rel.t1vr-1Y leldomlv, there seems 'ttt'e poi"t in .ts be1nQ
",.de 10.

'-.-

.

lito.,..,..

x"'......

t.o"l>
ZS
S&S\oeHCl! 01' ~ at.HAC1

....OCQ ....

-ou.ews :-

-----._._-.,.

OJ

T

T,

(6%rUUtV m~~

(Ii.)
8"fT'£ COUNT"
St..Oc.,< L.O~ll- POJ:NT

•

. I
~ WO«t6To~a7r
P~Am ' t...C>f\l> rOINT

----,

14

b

I

f;

ItJ

,

2'/

----~
I

S"Tf\R\ f\'bJ)R ~if.II4I~ q
I
AQSow.nE:. lQ.f!J..OCA~ -t
.-0IJr-11~

I

') 'l.

----,•

1~

I
I

I

I '\

PR~F\ri)

NfltmE:. (eact;",~ - ,
~6To~1

~ lilt
~~ moj)O\..£~
.1'b SE R£s.1>&rr.'
W,'TH p~~

') 0

,I

._ I
\

(emT CA~ COl)E.~-----

i

Y

~

I

I
I

CHEC"'50("f"\

I
~

-----i

..-----

~

....\,)"E.

as

c-.

on\~

I,

a.dm,e&;lMa Q)CkrlAA.'t' I'I'I~)

&"f'TE.. couNT" (NQ\&L.OC.K I-O~];)-PO:r:N\
-~---

--'.---~-

c.ot.(seco"T'X.VE
I

•I

~ ko.d.po;~

I

I

s,ven

~

I
I

_____ .... JI

------I

,

-'-~.~.

[ftWc~ Ci>~ wanS~ --.~-~"-

.-

,.--"
S·"

---~

DA~-~

....-,,

~.,..,...

-.-~

PC2o~

I

-

~1'W'C'1 '5r2lii: (.n ~~
f'ROGRAnl STAR:i" PI»J)R.
'-" 7

If::

y

- --

-

./

as

(~\( tl)oJ)E.1

"

8"ITE couNT
PR~ACY)

..

cb

srRRT

r

~~.

CHE,CKSUI'I)

MotUtNtn a...oA~ Xft)~£
oa.,..~ ~ ";bt (L%.M\(.,~

,

"I

Pa"
P'to~

(.f..'-r

r-31

Lo~J> ope~AT'ONS

.I"'~IQ.'

Act-.on ."

T~ r.......Je&tJ)

~'D
'-'.;..JI._~
Gott. ~CI(

'~s."6iS
p~

orCCf\~

"J>..,,:;;___

~

COl'" Pl....£1E.

Wof'l.l)

r~

... o~

"T".

Po ..

c.to\EC.IG~

J

PItOClAAm &....aF6> O"~T~

SoC.T" &'I c.o<
IlE:Gt$~
~~a

""--___ j£ ( ..... ~ ..,o~ ~~

P~EX

16C'lo«.c::
'l

1\J~r{

S~~
~

jl£1\.lC!:7."nl
Fo~

~e

'Ni)£,)(

uT.6-'V
~\~
~G4T

O(.FsE\

,"'1"0

:s.<'.

~OUTINE.

C.&Sty
~'i~
TO~~

0"- IIZ>-

PClV'(~

c.crfs,ilI~·

c .S.zDC

C.RPK

SG..T
COu~"

FoR '3
S'f1€5

5~,

~I£T"

c.oN~L...

~~

c.ov!'o,(7

l>1G-Ir
SR~

C.RP.a=:.

c.It.uP;q
s~~~
y~1-J..lE.

(S~
s.-ACl<

~\ 3/11.

o!'" !fA

t--r-. ~e;~

~'(s1f4Ai-.
"-0 III <0

CLEAR.
~I-.I­

I4R6v"l ~~
"'RocY)
~
~~~--~)

HOG>
Po •..nER

....-+1

~T

Ir4V~l...i:>

e.YlE

•

.,C>,;)~

PclfoCli!R
~-~ 0('(

:5t'I'Ic..Kt----i..

~ UitJI('o(
\"C)

~R

t~~~

w~ e,~er sre-,nS

It";t

(.\.

Sepo.(Q.Y"~ b~ cofYlt1lo.s

Item Wnich
Last Appeared

blank

1

,
DEV:
FILNAM
• EXT
UIC
/SWITCH

<

5etl~

'-'nd

ofl o'le. of"

rno('e,. daraSeY' ~pec~"'cn.r,c~

0" t'he. ~~';CL'

"C)("r{)'-

Item Immediately Following

,

DEV:

FILNAM

• EXT

UIC

/SWITCH

<

Terminator

*
*
*
*
*
*
*
*

*
*
E
E
E
E
E

*
*
*

E
E
E

E
E
E
E

*

*
*
*
*
*

*

*
*
*
*
*
*
*

*
*
*
*
*
*
*

*

*
*
*
*
*
*
*
*

E
E
E
E

E
E

*

Legend: E indicates error. * indicates legal.
Note:

1 The next item encountered is the first item in the command string.

-

F.j":""Q. S -«0' Locnrna.od Sn··'()3 S~"ro..)l
R'-.j\e.co _

E

E

c.t;.l:
wo~"'sPAcE.

I

I

I

I I I

I='tcaure. 5"-7:

,

I

I

Uf(E. ~A!A

I

.______ _

I

eommArQ> ~~ 'l:ftPUT
S04=FER

L.. _ _ _ _ _ _ ,

'II ,

.l:HP\.f\ / O~dT" co.i>E

CoAREC"lr

~pu, AJ>~e95

Cu~

OU"t11Jr" A»l>~

CU~~ENr
cu~

Ir4PUT l>€FAO\...' 3>E.~

o.>1'PaJr

~T

ȣ-a:cs:.

cuRAeNT :rrtPUT l>EF'AU~ \JrQ:.'
C \J ~e.rrr olJli) UT l>E.~ ....T lJrtt\
lYl~xl:mOC(\

STFrruS

I

"-XNe srze
mol>€..

-

.

I

I

I

I

I

I

CotOroFltoJ:i>

S1'RING-

S"'N~X ~f1L..'fSI~5-3'"

(,()A I"'~E.A«') :

GLSIM
, ..PuT"
&wl'1eH.
acr~

~·9

e~

sw:r ot<.
$W~"

W"," ~'M

...

'It)

""'Ilk.

cHAIt

Po«

~~

SU6SIl>\A~'1

ROUT\NES:

C6J)
c.,"£I'l~

>-r---.----{V

~

1»1&1'"
eoU..cT

--]

c:.oU"""

j)1&1~

-~-(:~\S~)
~t+e:c~
~-~

y

,--:ser'..

1

&C!eN

~Wln:.~

--~~

A»])e6ee.

Ot:

~c:~~

Al>M£s:s ot= USeA

A»*tb&

or:

ERR~

a..1,(lC·6~

*

oF

w0RJ:6

TO

~E:\URN

A»:)Q.€SS

... ____ J

t-06-ICAL r(AmE

S=Ou...ow
c)(

1>Evrc:e..
,

1

))£-l.Lc.E: "NJ.'

I

NA1Ut9S

-

----,

USM ~\.£~

¢
»A~

I-

J- 'at

./

C""'R~: "01.,..

-

-

M

~

T
y

1
.

C::'S.ar& 5-": SWXTC.M '»1\_ Xtf TtI£ \)s&a
U"IC - &.,ocK

J>E.CODING.

CIn~~L-_
O~i>
F'u~
L..~

/i>IGrI~

COcf'lP~

~~eu£

~CZI"~

v.qs c

$~

I"'~~
8u~

~S

I'" ~~e.
St'\-ce

'-....,

S~,

S'l'
~.r(~

CHECK

I'" ,:).)6

5,",,11'0\

S€I
S'tS~
~IVt:R

~
IN~

SE,\O

><.G£i"

x.~

~I~
4'Q,IC~I~

~--!..

a. f;~
vP;:$~

8~

- - - -.........

'To

CHAPTER 6
KEY BOA. R D

SERVICES

•• its 8eeo~d ~eJo~ funetion, t~e DOS ~on1tor ewi.tl to e~.
ab'e t~e ule~ to eont~o' t~e 0~erat40"a of t~e 'Ylt.~
t~~ouo~ t~e console K@yboard.
T~u. C~e~ter J
of t~p. P~o­
gra~~e~.
Handbook deaeribel va~ioul eo~~anda w~1e~ can be
."ter8d.w~e~eve~ t~e Monitor is
'.ate~1ng Itete,
be.
ceu •• _e4t~e~ ~o p~oora~ is un~e~ execut10n or aue~ atate ~el
bee~ fo~eed bv • orior entry of CTRL/C,
T~e eo~~~nd. per~it
t~e
'oadine, .t.rti~g, Itop~4n9 and unloe~ing of oroQra~.,
t~e a"ocation 01 re.eu~caa and t~e e.c~enge of
4nio~m8t10"
between t~e o~e~eto~ end t~e aYlte~. T~. object of t~ia
c~apter 4. to i"ultrate t~e ~roeel'"
by w~ie~ t~e.e com~and. b.eo~e effeetive,

i".

Section 6.1 reviews t~e general p~f'o.oc~v of t~e eo~mand
~aneuaae
a~d
Saetion ~,2 de8e~4be. t~e oraanization of t~.
modu'e.w~1e~ go to fer~ it.
It wi"
be I~ewn t~at ~o,t
com~and,p~11
initially t~r~ue~ a eOm~on In~e~~reter w~1e~
ia ~ade u~ of t~ree modulea di,culaed 1n Sect10~ e,3, t~e,.
com~and.
a~e t~en ind1vidua"y proee"ed bv ~outinea eonlidered in lome detai' fn Section e.4. Section 6,5 covers t~e
remaining co~manda w~ic~ e~e ~andled by • speCie' transient
Monitor lection w~ie~ oceu~1e. co~e w~enever no progra~ 11
actua"y 'oaded.
T~e e~terna' operator i~t~rfece il a'r.ad~

fu"Y. exela4ned
Handbook. I~ t~ia c~aPter t~.refore, t~ia informa·
t~on apoeara again on1Y.to t~, extent t~at 4t
~a
~.ee.~arY
for t~e und.r.tandin~ of t~e interna' work1n~l. In part1eu'e~ t~e convent40nl fer com~a~d f~r~ata are
,isted at t~e
Itart of e~apter 3~
T~ey
are used ~era wit~out furt~er
reference. It il .1so al.ume~ t~.t t~e reed.~ 11 famil1ar
w4t~
t~e I~ec~a'
.1gnif1cance afforded certein keyboard
c~ar.eters w1t~1n t~e laneuage.
1n

t~e

DOS6.~N"

PAGE

T~e ~u~eo.e of t~i.
a~d
UI8Q~
of t"e
uoo~ t"~ u~de~'vi"Q

I~ctio~
~eybo~~d

er

4s to

.um~arize
CO~~8~d La~gua~e
4"cioles i~vo'v~d,

.

b-2

t~e
Itrueture
a"d to eo~~e"t

.

A. ~oted iM t"e i~t~oductio", a co~~a"d ca" be .~~ut w"e"aver. t"e .~OM.to~ fl in a oOlitio" to aec~~t sue~ i"~ut.
T~il 41 indicated to t"e o~e~eto~ by t"e out~ut
of on~ of
t~e fo"owinQ c"a~acterl at t~e conso'e tv~ew~4terl
t,

, - t"is siQnifiel t~at t~e ~o~ito~ _a'~eadv ~al
~vera"
~O"t~o~ of t~e .v.te~ a"d ~eou4~e. ooe~ato~
fnltruetio~1 for ftl Me.t action,
T~is f~o'ie. o~e
of t~e fo"owi~g .ituationsl

c,

• runnfno ~rog~a~ ~a. bee~ .u.oe~ded! e4the~
beeaule o~ .ome ooerator reouest o~ fo"ow4no
t~e detection of
lome er~o~ co"rl1t10~ w~ic~
needl o~erator i~tervent40n. Clee C~eote~ "

~
• t~41 ~otif4el t~e ooe~eto~ of t~e aeceot.~ce
of ~11 e"t~v of CTRl/C .1 t~e mee~1 of fo~e4~o t~e
Monitor to '4ste~, eve" thoUQ~ t~e .ys~em il u~der
orog~am

eo~t~o',

COM~AND

[Aroume"t Strino]CR

w~ere."COM~A~O"

is a sing'e word ide"t414er of w"4ek o~lv
be e"tar~d and "AroUment St~i~c",
4f
or ~ore .~Qu~e~tl seoa~ated by
.~eces lor eomma.' deoe"di~~ u~o~ t"e nature of tke oart4eu'ar com~and, Ao.~t f~o~ t~e ohvioUI advantage t~at t"4s
format
i'lt.ndard, it was .1so d~emed ~ore .~v4Iab'e t~.n
one Ulf"Q loee4.1 CTRL e~aracterl for lo~e eo~m.ndl, for t~e
followi~Q relsonss
t~e

f4~lt two letta~s_~ee~
a~v, ~av consist of o"e

III,

b,

T"e unioue 4rle~tifie8t10n of a co~~and on t"e
b.s;s of two 'etters offers.a wider ran~e of
variations I"d ~enee is ~ore likely to be mneI t ; . envisaoed t~at device. under dave'oome~t
•• eonsole tarmina's fo~ P~P-lt m.v not a"
kave t~e full CT~L e~a~aeter fac.'.tv.

!,aGE b- 3

DOS6.RNn

e.

It i. ~eed.1Y co •• ib'e to f~cut 8 84"0"
eha~·
8ct.r i~co~~.ct'v with c.~~.c, d •••• t~ous 'e·
sU'tl (de.cite t~e "eed to decresl the CTRL
keY, '4~ce th4. C.~ be do~e mi.t.ke~'y fo~
SHIFT).

On the eth., h."d, of COU~le, tke com~.~d bei"Q ,o~a.~ t.kel
Mo~e tim. to key i".
rt i. u"r •• ,4.tfe that • ~un~f~p D'O·
.~.~ Iheuld b. 'ulcen~ed 1u~f~g the who'e of thi' ce~fo~_ ••
wel' ., th.t "eeded to eff.ct the deli~ed relult. The~efe~.
no eomm.nd 4, •• a~1".d until the t.r~.".' c~~~ •• ~e ,.tu~"
(~R) .i' det,eted • . P~.~r t~ thi., the ope~.tor c." ch'"Qe
hi. mind ., often •••• n.ce ••• ~y o~ c.~ eer~eet h4. ~ •••
t.k... ."d f" the me."tfme, ,"y Droor.m e.~ eo~ti~u. it.
norm.' e •• eut.o~. How.ver, o~ce the eo~m.nd ~ •• bee" ful'y
ent.red. "0 fu~th.r f~put i. eec.cted u~t41 it ~ •• be.n eem.
Dl.t.ly c,oe ••• ed.
,f"."y it 4. the 1~tent10n th.t a"v com~e~d, whfeh doe. "et
.t •• ,~ im~1Y .om. r,.trjctfQn u~o" ft. u••• e t'uch •• KILL.
~~oar.m w~~" ~he,e f. non, in eo~. to be ki',.d"
.hou1d ••
f.r a. co •• ib'. be av.ilab'e to the u •• r at a" t4~ •• ~ ••
•• rdle •• ef the Q.".r., .• t.tu. of th • • Y.te~ •. Thf. raf.e.
two p'0~1,m., the ,olution to whiCh wi" b. d4'eu.,ed f" the
ne.t ,.ctfo~1
Th. ~onftor ~u.t h.ve aee." to. d~iv"
for the
eon,ol. ter~i"., .ve~ thou~h the e~e.~.~ 4" eor.
do" not •• D.et tlO from th4 • • , • d.yic.,
Th. c~oee •• f". of a eo~m.~d e.""ot be ca~r.ed out
4" the "or M,' Swap Buffe' wh.n this Mie~t be alrea·
dy f~ u,~ by ,o~. otker Mo~.tOr rout4ne .erviefno a
ru~~ine croQ~'~ ~.au •• t.
Mo~.ove~, .u!"l.,s the eo",m.and h"'f_eh.~g'l tke .t'fu"

~~~~i~Q
noth4~Q

mUlt
had heDo."ed.
crogr.~

conti~ue

afte~

8~y

it. exeeut40" ., 4f

eefo~e t~, command e~oce •• o~. t~a~.elve' are
•• ami~ad,
ove~a"
f~te~~al .t~uctura bv whfe~ they are cont~o11ed
Qui~,. exola~lt.o".
A. noted 4~ t~e last .ectio~, t~.

the
ra-

MO"._

tor mu.t, .4" effact, be able to lece~t a command at a"y tfm.
I~d the oeerat4o" ~eQue.t.d mu.t ba clrried out tra"~arent'y
to ,t~1 oroQ~am currently occuey.n~ m,mory. Sectfo". 8,2.1
throueh 6,2 ••.• how how thi. f • • ceo~~1f.h.d u"d~~ the four
ma.~

~.ad.na.1

lact4o" 6.2~S t~a" d~.cu •• a. co"vantfon. u.ed t~pouahout the
norma' ~~eca •• i"Q of the 'a"Quaaa.
It .hould b. "oted, hewev'~, that t~. oroc ••••• de.crfbed 4"
thil Seet40n do "ot a~Dlv to command. whfeh by thafr natura
do "ot ~ave t~e oroblem of a runnfna ~roorlm to eO"lfd.r,
baelu.. "o"a ca" be loadad whan thay ar. us.d, f.a., RUN,
GET, a~d FINISH. Th •• a eomm.~d, are handl.d by the tr.",f.~t M9n4tor ,actf~" ."d •• m.~t.oned ." the f"troduetfo" are
de'cr4bed f" Seet4o" 8.5.

6.2.1

Command

~

Ace'D~~.~

ee.4cllly, to t~a ~on.tor e.oectf"o e eomme"d • . t~e eo",01e
tarm4"a' f. an i"out device wfth • ~urely .ublfdfery OUtDut
flcfl.tv a. I melnl of ec~o4~a the eh'racte~. ,"tered. To I
r~"n4no o~oorlm,
how'v'~, t~, eon.ole .ter~f"e~
dev4ce
wfth mutUllly fndeoe~de~t f~out ,nd out out flc414t4,., but
w.t~
the
echo
reauireme~t
a~
added
comp,4catfo".
Furthtr~o~e, if t~, oarticuler co".ole device
41 the currentlv
standerd
ASR-ll
Teletyee, there •• el.o the
~ao.r~teoe eauiement wh~ch agei" ~." ft. u.a~e n@ed hive "0
re'at40~.hfo
to t~e keyboard/tyoewrfter. A, a relu't, t~e
norma' driver wh4eh cater. for the full rA"ae of the eO"lo',
term.na" feci'ft.e •• , nece •• lr4ly .omewhat 'a~Qe a~d 4t .,
e,pec4lllv 4moortant that no erooram 'hould pay t~e oe"a'ty
for ft. o~e.e"ce in co~e un'", ft ., aetuI"v reau1red. I"
othe~. we~~., th4, d~fver .hculd be ~o differe"t
from tho.,
fo~
other d,vfca' wh4c~ a~e loaded f" re.~onse to .J~IT and
un'oad,d by .RLSE I . d"crfbed 4" Sect4o~ l.2~1.

;'.1

'-~

PAGE' b-~

Neve~t~@1e •• ,

t~e Mc"itor ~u.t ~Ive Ieee •• to
8
dr.ve~
of
It III t~~el' ~elc~te the Dr~O~'~1 "eedl, Sueh
dr1ve~ ~I" be ~o~e 11~1ted 1" 1t. leODe ."d "eed
be f"t.r~u~t-rlrive"
O"'y.
However, If"ee '"V kevb~'rd 4"Dut mUlt
4"1t1."y be eo",idered I oote"till e~~~I~d, thfl drfve~
~u.t e"I"'f"e every ehe~leter ."te~ed f" else it Ih~uld hiDpe" to he t~e CT~L/C "eeded to "'Ike the Me".t~r 'flte",
Moreoyer, I"y e~.rleter out~ut ~fo~t be t~. eeho of_I e~m.
",I"d 1"out. T~e f1~st Ol~t of t~f. d~fver fl th.refor. I
mcdul. w.t~f" the oe~me"e"tly resfd."t ~o"fta~, II "oted f"
t~e f~troduet~o" to Chlot.r 2. Th4. module ~"te~e.ptl 11'
cO"lole_ t.r~i"e' i"terrupt. I"d the" co""ect. these locrop~1Ite'y either to the re~11"der of the Soeef,' Drfv.r or to
t~e f~l' dr~ver if th~1 fl ~" e~~e It the ',~vfce of the ,~­
Ided o~oQre""
T~lt t~f. IIIodule "eed be resfde"t r.e"v 00 ••
wit~out 'Iv1"o 1" v •• w of t~e •• ce •• tve ov.rheld eth.~w4Ie
~"curred et eleh eo"~ole ~"t.rruDt,

Ic~e

I~rt

0" the ether he"o, the re.t of the Mo"4tor. dr4ver o"'V
"eed. to be 1" eo~e for the tfllle tlke" bv the ~perltor t~
e"te~ I ee"'~I"d, U"fortu"ltely, thouOh, ft ee""ot b. lOlded
bv the u.ull IIIethod fo~ drfverl for the fotlowf"o rel'O"I'
I,

The "O~~lt'y "o"-relide"t ,INIT 11 ~eeded I"d
thf. 1. "ot "eee"lrilv Ivefll~'e .f"ee the
Swao Buffer ",faht a'reldv b. oeeuc4ed by lome
ot~er module lervfef"o I DrOarl~ recu'lt, II
"oted It the e"d of Seet~o" e,l,
The dr.ve~ itle,f would oceuov I buffer c'lf~ed
f~om free core th~oua~ the ~o"fto~ .ub-rout4"e
!,GTB whfch WI. Ihow" 4" Seetfo" 2,',3 to be
"ot re-e"tre"t I"d whiCh 11.0 ~feht be f" u.e
0" the proerlm. ~e~llf,

A" e'tlr"et~ve "'ethod hi. b.e" edopted t~e~.fore, the ~o"f.
tor dr4ver •• 1" flet I module ell'ed by its OW" fMT (31),
~e"ce it •• lOlded by the "or~ll or~ee •• e. of Sl~ f"to the
.ub.1d1erv Swep buffer re.erved for the keyboerd eO"''''I"d u.loe I. eut,4"ed f" Seet~o" 2,3,1.

I" orde~ to I"ow I ru"~f"o Dro~ra", to D~oeee~ 8' .tioullted
f" Seet40~ e,l, the eC"''''I"d it.elf ",u.t be buffered u"t1' ft
f' eO lll o'etely f"cut I"d e~h~e~. The "ee •••• ry Ir.1 for t~;.
CI""ot be provided withi" the KSB fo~, el wit' be Ihow" f"
the fotlowi"a .eetfo"., this i. uled by the other eO~"'I"d
moaute.~
~oreover for the .eme ree.o" es that otve" Ibov.,
the us. oi ire~ eo~e ~. out oi the aue.ti~", ~e"ee the eo~­
ml"d
.tored by the d~ive~ with." the aree I"oelted to
.tlpe~"'e"e"tlv ~elide"t 4"tereeotor oo~t40~ d4seuised ee~,4er, The reau't4no u.e ef ~emery dur4"o eO"''''I~d aeeecta"ee
4l1ultrlted at fioure 8-1(e). It .hould be "oted t~.t i"
the 4"tere.t of ~eec4"a the resfde"t buffer arel to e ~f"i-

.8

'-~

.1

PAGE b-&

DOS6.RNr'I

.

MUM, 4t f. "ot Do •• ib" to .110w m~~e t~.~ o"e eO~M."d i"DUt
.t • tim.. Me"c'.1 '00" ••• comD,.t •. com~.~d h•• bee" ."te~.d, the keyboa~d i~te~~UDt f.cility f. di.abled u"til the
••• cutio" of th.t com~."d h•• b.e" co mDlet.,v effeet.d.

Me 2

CO"'M."itJ2.codJ~L

O"e. ~h. SD'C~"

O~~ye~ ,h, ••• ~v.d ~t. DU~Dole of coll.ct."~

." 'DD~oD~ •• te ~outi~. mUlt b. ce".d to Ie,.
Thi. routi"e ~u.t .1.0 u.. the .ub •• di.~y KSB.
How.Y.~,
i" MO.t c ••••• e.ch of the cu~~."t'v 4mDl.me"t.d
com"""dl ~.ouf~ ••• M".U~' of o~oc •• ~f"Q fO~ .which the
whol. of the 128-wo~d .D.C • • 110c.ted to the K8~ tl t.k." UD
••• ",4"f"'um. Thu ••• ch comm."d "eed. ttl ow~ f"dfyidu.l
P~oc ••••
MOdul., a"d which modul. t~t. t. Mult b. deter.
Mt".d f~o'" the comma"d cod. .~t!r.d.
Me~c.,
~he
drty.,
c." • • " l"t'~D~.t.~ whfc~ .att.ft •• thi. fu"ctto" a"d
th." D~oYfde. fo~ the ".c •••• ~y c.,1 to t~. Module ~.out~ed.
t~.

~o"'me"d,

ytc •• t.

"O

".0

Th. ff,.t of the •• ~De~.t.O"1 f. ,.,.ttv.'V 1.",01e to aeco",pltlh ."d ".tu~.11Y 4"clud ••• ch.ck 0" the y.,idity of the
cod •• Mow.ve~, the .ubl.ou."t c'" ~.f ••• a p~ob'.",.
The
%"t.~D~.t.~
tt •• lf, fo~ .tmDltctty, c." b• • "d t • • ,10c.t.d
ttl O~",E~T cod. and the d~fye~ u, •• this ... ,ft. m•• ", of
t""lf.~~f"a
co"t~01.
How.v.r, ft t. "ot f •••• bl. th.t ev.ry 1."01. co",,,,."d ~out." • • hould .b.o~b fu~t~e~ U"tou. !MT
cod •• , D.~ttcu1.~ly wh." .ddft~o".' cOm",."d. mey b.co",e " ••
e •••• ~v •• the Mo"1to~ •• d.v.'oD.d fu,th.,.
The .~lut.o"
•• the u •• of t~ • • D.cf., ."t~y f"to SAM d'lc~fb.d t" S.c.
t40" 2.3.2. Thi. w••• how" to ."ow the c.,lf"Q ef •• v.,al
mOdule. bv • • f"Ql. cod. th~ouQh the fol'ewf"a •• ou."c.,
Set R0 to .how t~ • • v.t.m-d.vte. add~... a"d .fr.
of the f"dfv4du.' modul. f" ~RT format c••• a.cttO"
2.1.2).
e.l, EMT 30 (fer KSB u•• o.,.
Thf. ~.e"., of cour •• , th.t the l"t.rD~.t.r "'ult b• • bl. to
IUPDlv the "ece ••• ~v f"fo,,,,.tio" for Ra 0" t~. b •••• ot the
com~."d code.
Fo, th4. DU~DO.', • dfr.ctly Icc ••• tbl. t"d ••
to the ,oeltio". of the modu' •• wttht" t~ • • y.t.~ lf~~.~v
MUlt b• • v.fl.ble, for. co",pl.t •••• rc h of the whole lib~.·
~y .t •• ch co"'",.nd •• out of the ou •• ttO".
Hewev.~, the •• t.blilh",,"t of .uch 1"de. i • • fu~th.' erobl."" w~." t" the
"orm.] w.y, Monito~ ~odule. c." b• • to,.d ."vwh',e with4"
the Lib~.'y I"d i" additto" t~. v.~Yf"a block Ifl.1 ~f the
pot."ti., .y.te",-dav4c,. "ottd f" S.ctfo"
mu.t b. t.k."
t"to 'CCOU"t. Mo~eover, •• imD'fed .bOv., I'Y.~ll of the
CO~MI~d erece •• o~. th.~ •• lv •• ~.v. the le~. D~ob'e~ beeeul.
th.v " •• d te ~v,~,.v th.m,,'vel t" o~d.~ to .ece~~l •• h thet,

4.'

PAGE ~-,

D086.RNn

fu"ct~o~..

Cu".~tlv,. t~.,.fo,., the ind.~ I"d the co~,e.­

~o"di"a_module .to~'Ge on t~ • • v.t.~ d.vice is
p'e~a~.~
~.~t
ot the •••• mblv ."d '."kinQ of the r~te~p~ete, I"rl
IU~Do~t."O commlnd modul •••• fellow ••

t•

,.
the

E.ch medul. t. co"dftie"llly •••• mbled wit~, .eco"d.,v D.~,m.t.~ 4"Dut whfc~ i. bl'ld UCO" the .nt.nded sv.t.m-d.vfc. ( •• e S.ct40" ~.t.t).
.~e l4~k.d teQet~e~ 4nto 0"' , eed
~ ,"Que"c. f4~.d bv th.t ef the i"d,x.

All the modu'"

mo~ul.

i"

Thf. th." D~ov4de. the co".ct d.t •• , of t~. ~"I.
tty. Do.itto" of •• ch comm.nd P'oc.s,o~ wit ... " the
cOmpl.t. block ( •• e S.ctio" 8.t.~).
Th. tnde. ft •• ,f c." Dot."tf.'1y b. too l~~oe f9~ f"clusfon
the t"t.,D,.t., modul.. To ov.~come thi., the 4"de.
b. ,.om.nt.ri .c~o •••• v.~., rlevtce block' immedtately
followinG the Inte~D,ete~ in the L.b~.~y, The oene,.1 OD'~ •
• t~o"i e.'~ d out bv the I~te,~~et" c.n b, 'u mm .,4z.d ••
fo"ow. (, •• S.ctio" 6.3.3 fo, fu'th., det.i".

wfth.~

c."

••

Ch'ck

wh.th.~

the ,.eu@.t.d commend ., o"e whtCh t,

c~oce.'.d by .n emb.dded ~out4"e • becau, • • fl4~ly
imm.dt.t. , •• oon,. 4. ".,ded (4 •• , CO~TINUE, WAIT,

STOP),

If

,0 eo te 4t.

Oth.'wf,. u,' the .~ •• occu~i.d by the,e embedded
~o~tfn.' •• ,
buff.~
into whfch the 'PD~eD~4.t.
block of the tnd •• c." be ~"d, then f~om the e"t~y
eo~,e'De"d.ne to the ~eeu4'ed co~m.n~, .et ~~ .nd
c'" the ~.'ev.nt ~outi"e by EMT 3~,
Th • • ffect of th ••• oc.~.t4on. 0" KSB u.eee
at ,tou" 6-1(b'.

1,

il1u.t~.t.d

0.2.3 . CO"'l".~_d P ~ec.,. t.!"L

It w•• ,hew" in t'" c,.viou. ,.etio" thlt, ,o.~t f,om the
th~.. comm."d,
~.v4"O
~outfne • • "'bedded within t~. t"te~.
~,.t.~
tho.e "D.ctlllv hendled bv the t~e~ •• ent ~e"4.
to"
.1,_ othe, co~m,"~' hIve co~~e'Dondj"O u"~eu •. module ••
It ., t~.i~ ~e.co",ibil.tv ft"tlv to ve~tfv Ind D,eeea~ t~e
'~Gument at,4"; within the co"'ma"~ .nd then to ee"y out the
oc.~.to'. ~eeui~.~.nt' e"rl D~ev4d. the .pc,eD~iat' ~etu~n to
the 'Unni"o C~OQ~.m if ".,d be.

."ri

I" e.".~.', the I,gume"t • • ~e ."te~ed in .o~e fo~",.t u"de,.
Ita"dlbl. to the OD.,.tO~. Thi, me.". that co~ve, •• o" f"to
m.ch4n, cede i. "ee •••• 'y i" ,,1 ca.e..
~"e.
Ige4", the
D,oc.s.4ne rout in, mu.t e, •• ume th.t t~e nor"," Swac Buffe,

PAGE

b,-a

fl r"ot avaneb'e fol" ecee •• f"to the MO"itOI" IJt4Htv 'ae1Htfes deler4bed 1" C~aote~ 5 u"'e,. th1 • • • • eeefffeel'v allowed bv t~e ,vst,m-.tete et whfeh the eo~ma"~ ear" be Qfve".
~e"ee. ~ost
I"outf"e. co"taf" thef~ Ow" embedd~d ce"ve~ •• o"
fu"ctio"s.
T~e e~ount of ol"oe ••• 4no ".aded to .xecute the eomme"d obvfou.'v rletel"m1"e. the fe!"m of .eeh medule. I" .ome ea.e.,
the w~01e o~e~et1o" ean b. eomoleterl wft~f" e If"01. ~SB
fre~e, .f" .otherl howeve,. th~' ., ~moo~'~bJe~
A'e ,.e,ult,
oveI"1-v~no f' nece,.e"v e"d t~e.o~oe ••• f"o f. "etul"al1v
dered te a"ow a sf~o1e ,e~ue"e1n~ of the ove~18v', •• Show"
4n F1ou~e 6-1(c), I"eth.~ then pAl"tfel ,ub.tftutfo".
~."ce
each .ove~1av ce" be ca"ed ~Y the lame soeeiel ~A~ entl"Y
techn1Que u.ed to fetch the medul. f"ftfel1v, T" eeeh ee.e,
the .vate~-rlevfe. 10cet40" of the "ext eve,.'ev •• detel"~f"ed
on the ~.sumpt1on thlt th~ ~omo1ete ,et oecuo~e. ~ume~feel1v
cont1ououl .bloeks I. ~I"ovtded.bv the e •• e~b'vl'1nieoe o~o­
ce •• "oted 1n the ol"evfou ••• ctto".

0,.-

hi."

Co"'me~c1~

leaf'l'WP-

The fol"~ of the e_tt tlke" by the com"'e"d o~oeel.el" dec.nd.
UDOr" the, f!o"',"."~ U.e1 f, SOllIe ee",me"d., of, eOUI"", flll"'Y
thet eny Drog"e'" co •• tblv I"un~fng when the ODel"e~O~ t"te,.vened 4. "ot to be I",ce"ed fn the nOI"",el Wly, e.o. B£GtN,
RESTA~T, ~ILL, OOT.
In th.tl" c ••• , the ol"oees'ol'" 'I"e I"e ••
pon,1h1e fol" e,t.b, •• hfno the cOI"I".et ",.chf"e-.tete befOl"e
they '.ave. In "'ll"ttcull", the DI"Cee •• el"-.tlek end Reof.tel'" "'uat be eOl"l"ectlv .et fol" the cp.retio", te follow.

I" .11 ethel" c •••• , howevel", the 01"404"al .t.te mu.t be I"e.tor.~.
MOl"eovel", fol" .nv co~mend e"tel"ed thel"e 4•• 1w.v'

the DOlafbf'ftv that, due to .o"'e el"l"ol" 1" Sy"t •• , tf/lle of
.ntl"v 01" el"~u/llent 4nvel1dtty, the eoel"etel"s I"eeueat IIIUst be
l"eJ~ete~.
To orovtde e comlllon r.tUl"n to "0I"m81, the Soec.al
Dl"1ve" ",odule out14"ed ~n Sectfo" 6.2.1 fs ~eeelled to the
kSe with aODroo,.fete Iwitehe. aet, e • • hown f" the "ext aect40n.
Th1I •• th." I"eloon.fb'. fol" cl"fntf"o I"V '1"1"01" "'e ••
• ege. I"~Qu4red and, ff "eee •• aI"V, the S neerled to .how thlt
the IVlte'" eo"tf"ue, 4r" I Monitol" , •• te"f"Q .tlte.
The d~fyel" ",odu1e oerforlll' the te~"'4nal Dl"f"t4no 0" f"tel"I"Upt. J" the IIIeant.",. 4t exftl t~I"OUQh ft. I"~.ide"t seetio"
e~d 1~ t~e c~ocess the steek
e~d
Reof.ter. e~e ~e •• t to
the.r Itate Dl"fo~ to 8ntl"Y 4"to t~e cOIII"'a~d pl"oees'."Q ODel"etior"'. Afte~ the Dr4"ti~g ha. bee" completed, the rea4de"t
L1ste~e~ carl"f@. out t~e fi"81 clea"-uc ef it. own 4"t~!"na'
.witehea. It the" reltol"e •. the kevboal"d fo~ eee.cte~c. of •
"ew eo",~a"d a"d the tvcewr1ter to e"v Drog~8~ out~ut i"terruotert.

-~------

"'--;

T~11 c,.ocedur~ also leav •• the
~SB at .~ow~ i~ F1Qure ~.tC~).
4~med4ate'Y

fu,.t"er

_~5

avail.b"

.v.te~.d.v1c.

-~

!.,ac4al O,.4va,. IIIedu' •• ~

the
it ••
without

I~ ~.~.,.a', t~.,.fo".,

for t~e e"t,.y of a
aece •••

~.w eo~ma~d

eo~m.r'I~~~~_~_tJ 0"1_

The ge"~,.al. ~,.oce •• 1"Q .c~.me outl~~.d ~" t~. o ... v40ul ,.ctio", obv1ou.'v ",ea"1 that e.,.ta1~ eo"v.~tte~, .~ • •
bl1lhed_to ee,.",1t_t he .ta~d.,.~ .~t.~fa~a r'leed$d.The • • • ,.
lum",.,.42ed foro ,..fa".~ce 1~ the follow1"G p~ ... a .. aDh"

,t.-

6.2.5~1

C."."~ p.,.."'at.,..

1'."

%~ o,.d.,. to
d.t. betw •• " t~. va ... oul ",oaule', the ~a­
ot.t.,.s e,.a u,.d ."d it. 1. t~e " •• pO",4bnUY.Of th~ ea'''~o
IIIodul. to .at t~.~ aeeo,.dt"Gly (th. ...e.tvi"o Modul. of
cou,. •• co',ect. t~ai,. co~t.~t f,.o~ the stack ., ,.v.d by the
"o,.",a' "~T ~rocel' de,e~tb.d ~" Seetfo~ 2.2.1). I" o,,.tteula,., t~e eo~mo" 1"te,f.c •• to a"d f,.o", the 1r'1d4vfdu.' eo",",a"d e,.eee.lO' • • ,.a •• 10l10w.'

t.

E"t,.y f,.om the I"t.,.crete,..
R1 • A~d"e •• of the la.t byte (1.e.C-) t~ the
eO!lll"'a"d t"out
R2 • Com",."d cod. C1 c~a,..et.,. 1"" bYt.)
~3 • Add,. ••• of the Ste,.t of the SVT
~4 • Add,. ••• of the tyc.w,.4t.,. h.rdware buff.,
R5 • Add,. ••• of the .ta,.t of the cOIII",.~d a"Gu",e~t
.t,.1"Q (0,. 41 "o"e • R1)

2.

Exit vi.

t~e

Sc.et., D,.tv.,.,

Rl • Er,.o,. fl.Q (a ".oat.ve eode t~e"t.ff'l .~
ar,.o,. deteet.d • co.4ttve C.r'lV v.'ua) 4f "0 e"~

0,. )

R4 • Add,. ••• of tha ty.,.w,.4te,. he"1w_"~ buffe,.
R~ • 0 to 1"dfceta ~,.oe'I.4"Q eo",.,lat.d

Th. re",e1"i"0 t~te,.faee • • ,.e d.t.iled w4t~4" the apo,oo,.4.te
IIIodul. rlelc,.4Dtio"1 4~ the fol10w."~ .eet4o".~

A't~ouQ~

",uet

t~e

.tack 41 "ot ue.d to t,.a".",1t

~at.,

•• eh ",odu'.

.~.ure that the co,.,..et .tate 11 cal.ad t~ ftl .uee •• •

-OOS6,RNf"I

PAGE

b1'"

lor. I~ ee"erl', t~is ~ean. that t~e eonte~ts ef ~e04ster.
lived at each i"ter~.' EMT el" ~Ult be re~oved. I~ addttion, t~e ~"'Y rltur" takan 4" the ~or~.l wav fs thlt to reel"
the reside"t List~"er 0" eO~D'etfon. He~ee t~e return
PC .n~ statuI .eved bv the EMT ~ust al.o be e'eared in III
other eale. ('ee Fieure 6-2)

Sinee

e.e~

~odule

eel'l the next steae bv

~el~'

of

8"

EMT,

t~e ner~I' !A~ reouirement. d~.er4bed in !eet40n 2.3 ~ust be

~blerved.

I" other w~rd., the cI"fne routi"e ~u.t e~lure
thlt the SWlP Buffe~ it i. eurrentlv ~ccuov.n" is re'ee.ed
for t~e followtng u.er by decre~e~tetion of ft. U.loe COU"t,
Aal.n, t~ere ert.e. the or~b'e~ of doing t~iR fro~ w.t~1n
the buffer wh.'e the rout.ne .1 .til' orese"t. Ot~.r ~on.­
tor ~odu'es, ft we. shown in Section 2.3.4, ~o've the erob'em bV eell;no e eo~~on SVlte~ Fxft in the re.4dent ~en.tor,
However thi. seOuence 1s of no use to t~e CO~~lnd 'In~ulae
modu'e., since t~ey d~ not restore Aeg •• ter. or return,
Inlteed therefore I leeetal outlet 1. crovi~ed immediatelv
fo"owinQ t~e ~S8 wh.c~ t~ev ean acee~1 hy "droopinQ
throueh",
The firlt i"ltruetton 4n th41 leQuence eerfor~s t~e neC.I'IPV PAduct40n in the UI.ge Count byte. T~e lecone is let by
the poutine to clu.e the peeui.fte "ext Iction, Thul 4n the
oenerl' eale follow4nc.
OECS

I20~(.)

PAGE b-21

Move t~. lAlt ch8~~cter fro~ the Co~~.~d Buffer 4"
the Ec~o euffe~, if .~v r@m'in (1), .~d ~ec'.ce .t
bv 200 .1 • fl.a thet a ~U~OUT leQue~ce 4. und ....
w.v. Gete It@P 8 to ~ •• t.
4·

•

".0

For .nv othe~ ~n~ut,
pe~f~~~ the check o~ .the
~ext
huffer byte ."d if "ea.tive •• set ~v .te~ 3
at the l~.t inout, mov~ • te~~.n.t4ne 0 into the
Echo Buffer Chence producin~ r.Qui~ed DPint .e.
euence'
(d~leted cher.cter.)O)

°

Check for C~. When detected, .t~r., 4~ the Co~~.nd
~uff.r •• a .to~ .nd the" .c." the ~uffe~ from the
beoi"nino for the ~4r.t occurr."ce oi , a. the DOl.
sibl. st.rt ~f co~ment. R'ol.ce this with the CR
ent.red to ~~~ov. the co~~e"t. If"~ v.,id input
re~.in.
afte~
thi., b.c.u.e efther the Whole li"e
w•• comm."t ~r th.re w•• "0 l4"e .t al', c, .... the
Com~.nd
Buffer p~int... and henc. the unde .. w.v
state. ~oain di,.~le keybO.rd i~t ... ruDt. to ,void
Echo Buffe .. ove .. flow (."d ~ .. event • new comm."d 4"cut 4f 0" • • • ~ow 1"). Go to .tep 7~

e.

Io"o~e .nv other input
if
wfthi" the Comm.nd Buff ....

"0
mo~e
SD.ce e.i.t.
Otherwi ••• tore t"'e n.w

c"'.~.ct.r.

#

~.-

7.

Cl •• r t~. ne.t buffer byte .s the ·N~ ~UBCUT· 4nd ••
c.to.. .~d m~ve the inout byte f"to the !cho Ruffe ..
Cor itl reo'acement • •••• tec 2)

".

'hould "0 furt~er room .. em,f" 4" the Echo Buffe .. ,
step keyboard interruDts to .llew the Dr4nt oo.r,.
t4~n to c.teh uc.
If the" the ,,~i"te~ i. curre"tly
busy , rec," the Li.tener to retu~~ to t"' •• nt ....
ruot.d O~OQ~.m. (the new ec~o will ~e h,ndled .ub.
'eou."tly to the " •• t crfnter ."ter .. uPt) (2)

..Bec.use_the
--.......- input

Byt. Ste~e im~ed4'telv ereced.. t"'e
see Fioure e-3, it fo"ow. from th. p ... viout notA th.t if .n 'ttemot t~ collect the '.st Ch .... ct ...
e"t ... ed show • • neg.tive v.'ue, it ~ •. in ~,ct the new RUBOUT
4~ the store.
H.nce no further d.'etfon. c." be ~.d. on
t.,i. b •••••
1.

comm.~d

~uff.~.

.......
--- ... -2~
Ii th~ command

f. Just be4no .t ... t.d! the D~inter .s
wo .. ki"Q ~n_ the croo ... ml behalf i~ th4s ca.e. Si"ce the
underw.v .w4tch fs now set, the Li.tener wi" pa •• the 4".
terruet ~.pected by the ful' drive .. 1"te th •• routin ••
Mence the echo-o ... nt wi" the~ b. initi.ted and " .. oar.m output w." be .u.oe"ded u"t.' the comm.~d h•• bee~ executed.

OOS6.~Nn

PlGF.: .22

W~.~ t~. l.at e~a,.et.~ ~4.0.tehed
i'e~
t~. Eeho
~uff"
ia ~ot CR. e~~ck ~het~.~ fu~t~.~ ee~o D~f~t·

~eeded (~af~lv fo~ ~1p.et
.~t'v
f,o~
ateD
If 10, a.~~ the ~ •• t ehapaet.~ te the e~f~tep
w1t~ ttl t~t.rpu~t .~.~l'd.
nthepwil. ~.a.t the
feho Buffe, o04~t.~a A~d 4f ~.e"'a~Y r ••• ~.bl.
k.Ybea~d but ~et D~i"t~~ f~te,~uDt. (I.. ItlO e).
I" eith.r e •••• r.tur~ to t~ •• ~t'~'UDtld e~OO~.M
vta the Lf.t~~er to aw.tt a f,.lh cal'.
f~a

1).

fa

Follow. CR D,i"t w1th t"e a'leateh ef LF to the
eo~.ol"
I f . val4d eO~Ma~d lf~. ~ew •• flt., c."
the !~t.~o~.t.~ to o~oe... it. (I) Fop a eO~Ma~d
Juat .ta~t.d o~ ,e.t.~t~d ~y CTAl/U
eeo~d
CTRL/C .to~.. 1" t~. Echo Buffe~, ev.rwrft.~Q the
ate~ed CR to e"~u~. fta b.4~O wfth4~ the .v.fl.b'.
ao.ce. E.ft throuqh .t.o ~ wfth t~. o~f~ter f~t.r.
puet e".bl.d, how.ye" w.4t fer n •• t tfMe to re.~ •
• bl. the keyboard •

o' .•.•

........... ---.

1. It ahould be noted that t~e LF orf"t •• 8t."
f~ oro.
O,e,a du~t~g the oDe'.t.o~a ea,~.ed out bv t~e l"t,~oP.t.,
."d oerh.ea ey." .fte~ t~. cO~Ma"d h•• bee" fu"y oroe •••• d.
He"c. fn .teo 11, S 4- ~ot tM~.dt.t.,v ~r4"ted
eeMD'etfo~
rec." • it ta atored fop outout at the "ext f~t'P,uot.

en

11.

co~~."d mu.t "OW b. 4"itiatAa b.cause
the
o"e eithe~ Co",i,ted ef co~~e"t o"'v (bv
,t.p ~) O~ hI' be." o~oc •• sed (bv ste~ 12), cheek
t~e p~O~~lm exit.
If this t. to the Sv.te~ WI.t
Loop t" tha SVT, ."d.catt"~ thAt the .v.te~ is t"
f.ct "o~m."v u"d.~ the co"t~ol of the Me".to~ 4" •
' •• t."i"Q ,t.t., t"it481.z. the CO~ml"~ euffe~ DO."t.~ ."d exit a. 4" .t.o 10 w1t~ t ~eelac4"Q.
t"
the EchO Buffa~.
Otha~wt'e clea~
the Co~~a"d
suifar Doi"te~ to io~ce "eW CT~L/C ."d e~tt th~ouah
.t.P 9 to ~.s.t the Echo Buffer o01"t.~s ."d
~e •• ".bl. 4"out k.vbo.~d ."ter~u~t. (1'.

If • "ew

D~e,."t

At the COmmO" e.it recIl', ~amove the ~etu~" ~A~lm •
• t.~ • • to~.d 0" the .tIC~ ."d check ~1. If this 4.
Do.tt4v., "0 .~~or. wa~a detected ~u~."O the .~.cu·
tiO" of the cO~ma"d Ju.t fi"1.hed,
collect the
.t.rt add~e •• for the Fcho BUffe~ fr9~ the KS9 Dr.·
.mbl. (,.a oreviou, .ect40"' ."d •• it th~ou~" steD

.e

11.
'or ".a.ttv. R1 .io"ifvi"O th.t erro~ ori"t i.

~e·

~u.r'd, •• t up ." EMT 30 c.,l to I" oV8rl.v Ilsu~ed

to .t.~t .t the ".xt .dJlce"t Iv.t.~·~evice
i" the .y.ta~ Lib~ary a"d e •• t te .t~ (2)

block

the ov.rlav 4. c.l'ed, ~e.to~. ~eQiste~.
bv the d~4ve~ ."d cl.ar the retu~" D.r.~e·
t.~. f~om the .tack.
U.e the v.lue 4" At ~atu~"ad
bv the aom~."d Drece.,or to .cce •• 8 t.ble of me,~.a •• , e.ch
which.e"ds i" • ch.~eeter wft~ fts
D.~itv
btt .et (bit 7).
Output ch.r.cte~s (t"
"o".f"ter~uot ~ode), u"ti, tht. cha~.cter t. de.
tected a"d fellow w.th CA/LF. qee'" the d~ive~
D~oper by EMT 31 to cO~D'ete the clea" UD.. .how"
fre~ .teo 12.
(~1 "OW oo.4ti v e) •
~h'"

o •••• d

of

.................

.s

1. ,. Ihow" 4" the p~evtous lect40", the ."ter~uot i. ~ee"·
,bled to ~esume. nrog~.~ pri"tf"o
p.~t
o~ the ~f".,
c1 •• "·uo by the Lf.te"e~. otherwi.. the p~f"ter ~.~.f".
di,.bled u"til D~."ed 4"to ,o~e "ew 'erv4ce •

......
a.

---.~--

..

K8L mUtt "10 th.~efore be •• ,embled with a ra'ev."t
p.r.meter t.o • • , "oted 4" Sectio" 6.2.2 fer the other com.
~."d modu' •••
How.ver, it mUlt be li"ked alo"e a. ft h ••
tt. OW" EMT.

DOS6.RN("I

T~e I~t~roreter

•• iat., •• d •• cu ••• d i" Sect40" 6~2.2, f"
th.t t~. two-'.tter code entered .a • com~."d •• v~14d .nd the~ to ~ ••• eo~tro' to t~ • • ~oroort.t.
routine to orec.a. t~e eomm."rl, tf ".e •••• ry .r~."g."~ for
tt. '~.~.ng from t~8 avatem-devfce. If the corle, how~v.r,
41 curre~t'v u"alafon.d or eerr.l~o"da to • eo~m."d ha"d'e~
o",y by t~e tra"I~."t Mo"ftor C•• e S.etfo" e.8), the Int.r~ret.r ~uat 10 4"fo~m t~. oD.rato~.

ordpr

c., 1

to

e"au~.

!.~ue"eel

Th. I"tp.ro~~t.r f~ Dr4"cfD.~'v c.l,ed bv the ~~ect.' Drtv.~
."d thflr.fore •• D.ct. Reof.te .. eo"te"t • • s Htted, for t~.t
~~du' •• e.f~ .t.t. f" the ~~.vfoua •• ctio".
It .'.e •• au~ ••
that thp. d .. fver ~ay be ".c."ed for the e~~~o~ .~4t •• QU."C •
• hence the at.e~-.t.te mu.t b. a.t .ce~rdf"g1v Cae. ,4our.
6-2).
NQ ~ther arQu~e"tl .~e "e.ded, he"e. t~e .fmDl. c.,l
•• que~ce fl.
EMT 33
G."er~'

Oelc .. f~tfe"t

T~. I~t,roreter •• tr.cts the ffrat two bytes from
the comm."d 'f"e. p •••• d ~v the e."f"o rout4"e .nd the" move. the
pof"t.r bevo"d t~. ff ... t .~.ce (or com~a) to t~e at ... t of
t~e .rou~."t .trf"o or to the te .. m4"., CR if "one.
Fo .. the
WAIT, C~~TINUE a"d eTOP comm."d. C•• e .eetio". 6.3.3.1
throuah 6.3.3.3), the eu ..... "t sv.tem .t.t. is eh.cked a"d
wher.cor .. eet, t~e I"ter~ret ... mo~fff". the ~roo .. ,m •• tt on
the .teck to .. efl.ct the chAna. of .t.te r.ouf ... d by the
eomm.nd e"d tak ••• uc~ e.4t t~rOuQh • K8L r.eal,.

Al' other c9~m."d cod~ • • re ~overed bv a" ind,. ,"owi~o the
av.tem device locetfo". of the corr~l~ond~"o .. outi"e •••
df.cus.ed 4" Sectfo" ~.2.2. Sfnce t~e i"dex oro~er fS a',o
.to ... ~ e" t~e .y.t.m-devfc. f" .eom."t., the t"ter~ .. ete .. e ••
• mf" •• a" e~bedd.d 'eome"t table to deter~ine t~e block reQufre~.
It the" u.ea ft. OW" Doe to .... d th.t block 0" tOD
of t~e WAIT, eONTt~UE .~d STOP proee •• o.... If the eo~mand
t. va14d, the aDorop ... at. entry i" t~e .~de. is uled to bu41d t~. sYste~ device det. fOl" the p"oeessi"o .. outf"e .nd
this f. t~en ce"ed by EMT 30.
For a comm."d code not {"eluded f" 4t. eXDected inde. .eome"t Cby .~o'feat40~ thfs a'.o e'fmf~.t.s 8 sf"o1 •• 'ett.I"
commend), or for a" f~correct ~ac"f"e .tate fer the e~bedderl
com~.nds,
the S~ec •• l ~r.ve~ is ree.l,ed to ori"t t~e ~e'e·
va~t e~rc~ ~e •• a~e - se@ below.

PAGE b-25

E-it

~t"tel

D,tl e,~.ed f" AeQi.te~. f~om the I"te~~~.t.~ to t~. 1"ofv ••
du.' com~."d e~ece •• o~ o~ o~ ~~ive~ ,ece" •• I. '1.t.d 4"
Section 6.2.5.1. I" t~e ~eeell eese, Rt f" ee~tfcu'.p M,Y
hive the f0110w4"0 eo"tentl
.1 • eo~me"d doe. "et e-f.t e"d •• thepefe,e

T"eo,'

t. I"v.'1d It th •• ti.e
+X • An 1"~ut WAIT, STOP e~ CnNTINU~
been executeli

-2 • Comm~nd

I"

1"

~,.

e"ee, the ,teck 1, 1eft e. at t~e ~o1"t of ce"

fpo~

t~. Seecfe' O~.ve~ C.ee Figu~e 6-2).

Detef1ed P~ece"f"91
The ~~oee •• i"Q oDe~et.o~. of the Inte~D,ete, ap.
below e~d e~e fu~ther ."u.tpeted et Ffoupe 6.6.
t.

out'f"ed

Re~to~e ~eof.ter conte~t. c •••• d bv the
~cecf.,
D~4v'~
and cl •• , ft. ~etu," CI~e~ete" f'o~ the
stec~.
Extrect the f1~.t two c~I~,cte~. irom the
eommenn fnout and .eve them fo~ 'Ite~. If th.,e ••

on1y one eveilable befo,e the t,'M4"a1 CR,
.teD 9 to .et up ,"d ea" fop e~,o' e,i"t,

;0

to

2.

SCI" the .t~.no fo, the ff~lt eccu~."e. of ,Dlee o~
comml e"d 1eeve t~e buffer ~o."t.~ at the ~ext
eha~acte~.
If t~e t.~m.n,' CR 1, •• en befe~e thf ••
ho'd the ~oi"te, 0" it.

3.

If t~e 4nDut c~de P.~, ••• "t. a com~."d o~oee ••• d
wfthin the ."te~~~ete~, "I~.'Y W4IT, CONTINUF- end
STOP, 00 to the eDD~OD~ •• te ~out.ne. •• de.cpfbed
f" .ection, 6.3.3.1 th~ou;h 6.3.3.1.

PAGEb- 26

A.

Set

oOi"te~8

3.1.2.3
8eo~e"tl

8" i"te~"8' OOB - aee ~eetio"
to 8 ~8ble 4de"ti.yi", the ~iffe~e"t
of t~e i"dew fo~ the ~~oce.'4~o ~outi"ea
to

-_8~d

.tn~ed 0" t~~ 8v.te~ d~vic@.Cl)

~ete~~i"e th~ ."gex 'eo~e"t fo~ the ~8~ae

the

4"

wh4c~

f"~ut cod@ f.". a"~ eo~~ute the ee~~eloo~di"o
syate~-dev4c@ ~'ock ~U~b4~ fo~ t~e leg •• "t
0"
the

b •• f, of itl ~e~etiv. Do.it.o~ f~om the .te~t of
~Br it •• lf, es i"d4c.ted by the ~RT ~et. Ito~.~
i"
f~o"t of the K~B by SA~ Clee Sectio" 2.3.1'.
~.

Pr~~a~e t~e 4"t.~"el

O~B fo~ the
~e~d4"Q of
thil
block i"to the e~ •• 4" the KSB D~'le"t'Y occu04ed
by thfl I.t-U~ ~outi"e, the i"d.x-s.em~"t tab'e a"d
the embedd.d co~m."~ o~ocea.o~s (~2 wordl cu~~."t­
'v'. Uae th~ ~O~ e"t~y i" the _SVT Cle. ~.etio"
2.J.l) to ~btei" t~e .dd~e', of the svstem-dev4ce
~~~y.~ e"d fo~e. the comDtetio" r.tu~" to e.tl
the
d~iv.r
d.oueue, veti~itv Ch.c~
~OB c'ea~ Ieoue"c. I.t u~ fo~ SA~ Clee Sectio" 2.3.~'. Set the
nOB busy fleo.

."rl

7.

$Ive the cu~~."t Reo.st.~ co"te"ta 0" the It.C~ UI4"0 the Mo"4to~ S.RSAV ~out."e tae. S@ctio" 2.4.1)
I"d ~.ll the ,y.t.~-dev4ee d~4ve~ viI S.CDS (I.e
S.ctio"
3.1,2.4'.
Ca"
.wAIT
u"tfl
the
~"d-t~e"lfe~ 41 cO~Dl@te.
(Thia r.ou.r., • ule~
Lf"k-btock s4~u'etfo", •••• , the o~e edd~.ss is
Itor.d 0" the Itack fol'owed by a ~o."te~ to it.
steck oOIUfo"'.

8.

Whe" ~eC8".d, ~elto~e the ReQ.lte~ eo"te"tl us4"Q
S.RPES.
Sea~ch
the ."de. leO~e"t fo~ the cO.~8"d
code I"d et t~e 'I~. t~me, bu4ld the svstem-device
dete fo~ t~. eo~~e,oo~di"o ~~oc"14"o routf"e,
Stl~t."O f~o~ the ~RT e"t~y fo~ the r"te~c~.te~ a"d
aceu~u'at."g t~. 14zes of ~"t.~ve"i"~ ~out."el.
If
the cod •• a fou"rl, eell its ~outi"e bv EMT 3~.
If the 1"Dut com~l"d code i, "ot 4" th~ 4~dex ,eo'oaded, ~ecel 1 the S"ecial O~4ve~ to c~i"t a"
"I',ega, Com~l"d" meslftge 8"d ~etu~" t~ the i"te~-

~e"t

•...•.... -.---.

1. Cu~~.~tlv o"e leg~e"t o"'v 11 "eeded to c~ve~ the whote
rl"o, ef the eSI.o"ed eo~e~. ~oweve~, f~r eXP8"sie", th~ee
legme"tl er. cOlsible e"d if ".eded the table 4~. '41t of
the '.It cedes eove~ed ~y e leQ~e"t f" .Ie~ Cal. - asee"di~Q
o~der •• Iumed - followed bv -, •• e Itoo v.tue.

PAGF b 27

~u~ted

o~o~~e~,

thus

iQ"o~ino

the

ooe~eto~1

~e­

nue.t.

The WAIT

co~mand

eneb'el the

ooe~8tor

to

susoen~

a

o~o~~a~

temDo~e~ily w~ile .t4ll .'lowino any lIn OD.~8t40n. cu~~ent·
1y unde~wey to comolete. It •• obv 40u.ly valfd only if •
~~oa~em f.
loaded And ~un"4"Q' hence 4t Can onlv be uled
efte~ the inout of CTRL/C end it. fo~~.t 4. t~U~1

.~

When civen control by the.Inte,orete~, the W~IT orocessina
~out4~e
check. th, ~u~ in the SVT Clee Sectio" 2.~.t). If
tht. 1. n~t 1,1 i"dtcatinc e oroQ~am i" a"d ~un"4nQ, the
eomme"d 4. rejected by a reea" of the !o@c.a' Dr4v~r to
p~.nt an "Invalid Command" messaae and ex4t.
Otherwise the
UDoe~
byte of the MUS 4s complemented t~ aive a content o.
-1,1 .4an4fv4nQ that the 'oaded p~oaram i. "OW ,u'De"ded.
In o~der.to D~oduce the ~el.re~ wait .tete, the D~oo~a~ ~e·
tu~n edd~e'l .aved on the .tack is switched wit~ th~ eontent
of WFU in t~e SVT whicl'l is alwav. 4nUiaHzed t,., the add~e.s
of the System Weit Loco. Thu. it is tc this 'OOD that the
~eturn
•• made, when the Soecial O~4ve~ •• recelled to take
the ~~o~~em exit, a"d the o~Oa~e~ ~esumDt4en add~e.s is
.eved in ca.e the oDe~eto~ late~ enters a ~O~TINVE COmmand,
By the "o~~al D~oeellel of tl'le ~~ive~ delc~4bed 4n ~ectio"
6.3.2, the fact that the ~on4to~ is now 4" a 'iste"in~ state
••• icna"ed to the ODe~ator by out out of S. DurinG the w.·
tt, the Reo •• ter. are reltored to their D~oa~am content pr ••
o~ to the inter~uot4o" cau.ed bv the eommend,

§.3.3.2

The

CONT~~~f__~om~end

The CONTI~UE command.1 tl'le nature' complement of WAtT,
~oweve~ it mav 8110 follow. lusDension forced ~y the detec·
tion ef .ome "OD.~a~o~ Act40n" e~~or to be ~ilculled fn
ChaDte~ 1.
Sfnee it can onlv ~e meeni"gful 41 • prOQ~am i.
'oade~ 8nd IUIPe"ded, the Monito~ mU.t
be f" a '.lteninQ
.tete. HenCe the nO~~8l u.aoe of the ccm~8"d fsl
scorNTINue:]
A'thoua'" a d4f1e~ent ma.k .s used to enlure t"'at the ~US f"
the SVT 4Icu~~e"tly set to Ihow the co~~eet Ivste~ stete
noted above, f.e, -1,1, the rnte~Dreter eal's the lame ~oU.
tine to D~ocelS the CO~TINUE al wal de.c~ibe~ for WArT 4n

PAGE: '=»-28

DOS6,RNrJ

The

~U! co~pl.~.~t

~.~u1~ed
~u~"4"CI.

~ew v.lu~

ooe~atio"

of 1,1 •

aotlv

p~oduc.,

p~oe~.m ,o.d.~

the
."d

T"e .dd~e •• switch ~.1"1t4.'fl" W~~ to the .dd~e'l of the Sv.tem W.4t Loop .~d the .v."tual

exft t~~ouClh the Soec •• l d~4ve~ rt.u~e. the
O~OQ~.~ fpcm the p01~t .t wh4ch
~
'Uloe"ded with ReCl1.te~. ao.1" .cDrepr4.tAly r •• tor.d.

tt ••

6.3.3.3

The STOP C~II!III.",d

aTOP 4. Drovid.d ••• " e~e~Q'"CY com~."d to h.lt tv.rythi"Q
• 4"e'ud.~o curr.~t 1/0. It. u •• o • • • • 4mt'.r to the WAIT
co",m.~d outl1".d f" .ectio" 6.3.3.1, f,e,,1
AC
,ST[OP]CC~>

It 1• • 1.0 Droc •••• d bv
thata

••

rout.~e

••

w~rT,

exctct

The ~US ~o~t,"t ~. fu~ther ce~o'.m."ted to o.ve
-1,-1 to .40"tfv that the ~~oO,.~ •• "ot o"'v
'u.ce"d.d, it i •• ,.e .to~Ded, (He"ce tt c."~ot
be fol10w.~ by • CONTI~U~ to ~ •• ~me the
crogr.m. ocer.tto", - • ".c •••• ~y ' •• trfctto",
r. AU' • 0~ ~ ~ ~ t': 0t e r ~. ~ ~ ,.~. ~. 0 III eI el " I l 0;' •
I

l •

t~ ••• me

,.

J,

:

•

t"-

~wpr."t 1,0 • • • il' •• u • • ~. u•• oi • ~ESET
.truct10~
(the r.al-time clock al.o if th4. i.
o~e.e"t 4" t~e co"f1our.tte""

I" S.et40" 6,2 1t was .how" that ~ost ef the eo~ml"ds .v.i,ab18 te the ooe~ator.t the co".ol. keybo.rd c." be Q4ve~
tve" theuQh • us.~ oroor.~ i. le.~ed.
They t~er.for. .re
proee •• ed bv 4"dtvtdu.' routf"e. op.ret1"CI f~om the KSB.
Th. pur~ole of this .ect10" t. to eo".fde~ each ef th •• e
comllle"d. I"d the co~r.IP~"d4"0 o~oee •• ~"o ep.r.t~o". ~rom
the p01~t at which co"t~01 1. ~ecetv.d throuo~ tht co.",e"d
I"t.r~~~te~ dt.cu ••• ~~" aectio" 6~3,3. It should .Q.4" be
"otpd however, th.t .ome cOlllma"d • • ~e "ot t"c1uded h.re be·
cau.e th'y er. il'eo.' u"'e •• the .v.tem •• eceuD1.d bv the
MO"4tor elo".. Th •• e ere d•• cr4bed u"der the tr." ••• "t Mo"-

~

4to~

4"

S~etio"

6.5.

T~e ~out4"ea a~~ dt.cu.se~

4"

t~e o~de~ 1" wh.c~ they aODe8~

w4t~4~ .t~e co~b4"ed keyboe~d 18"Qu.~e

108d module ~e"t40"ed
4" Seet4o" 6.2.3. It will be es.u~ed that the ~eede~ 4. "OW
f.m4'.e~ w4t~ tne eo~~o" ca"i"Q 8"d e.ft ~e~ue"ce, e"rl tne
co~~e.oo"df"g Itate of tne Rec48te~. 8"d .t8e~, al det84'ed
f" leetto", 6.2.4 8"d 6.2.5.
The ~em8~k' 0" 4"te~"al
co~ve~ •• o"a 8'10 aoolv.

I~ o~de~ thet th. cu~~e~t.dat~ ce" be evailable fo~
f"clu •
• 40" w4t~i" th. 4de"tff4cltfc" of file. held 0" bulk ~ed.a
(see en8Dte~ 4) I"d oe~hao. fo~ out~ut 0" ~~Oo~.m lflt4"OI,
a wo~d fl ~"8~ved w4tk4" the 'VT Clee Sectfo" 2.1.1) fo~
4ta Ito~l~e. The DATF co~~a"d 1s D~ovfded a. the mee"1
w~.~ebv the _oDerlto~ el" i"~t~el'v e"te~ 8"1 later e.8m."e
the co"te"t of tnf. wo~d, w1t~ 8" e.te~"8' fo~m 4" 01a4"
'e"culae. !t ca" be uI~d at I"V t4me.

DA[TE'

~D.MMM·VVCC~>

"he~e D~ el" be uo to two decima' dioits fo~ "dIY"' ~~M

p~e •• "t~

the f1~.~
lalt two dioitl of

t"~ee

,.tte~~

"yee~",

e.a.

~e·

of ·~O"tk· I"d Vv ,hOWl the
I.SEP.71.

Bv omttti"o the I~gume"t, the oDe~eto~ ~eoue.tl D~4"tf"Q of
the cu~~e"t'Y .to~ed dete 1" the 'I~e "OD.M~M.VV· fe~mat.

.

-

The ba.ic ooe~at10" of th8 ~ATE e~oce.,o~ merelv reou1~e.
the
eeo~oo~fat.
co"ye~,10"
~etwee" _the
~lai"
la"Quege
"DD-M~M-YY" e"d the .4"ole.wo~d Jul.a" fo~m8t f"
whfch th.
dat~ 4, sto~ed 4" the SVT.
I.e.1
1~~0(Ve8r·'~)+Dev

of the

Yea~

DOS6.RNO

Fer e~t~e~ ."out or outDut, t~e ce~~utet4e" of day of the
yeer 4"volve. a .aa~ch t~rOUQ~ a tah1. of ~~"t~., 4~e~t4ff.d
bv thA4~ t~ree 'etter code, 8"d t~e co~re'Do~df"Q day. f"
eac~ • • Vea~ a"o actual dev are IfMD1e dec.m~1 A~CTr/b1"a~y
c~"ver.fo". - by e~bedd.d routf"e. for
rea.o". ofYe" ea,-

"e .

(1).

Howeva .. both fo .. ~. of ooe,.ato~ ",oU.lt ca~"~t be ~a"dled
wft~t~ a
moou l e. Therefo~e 0" e"trv fro~ the I"te,Dreter, a~ 4~.edfate check •• med. for the Dras.~ce of a"
argume"t a"~ if no". ~a. bee" e"ter.d, ."dfcatt~o out out re·
Qu.~e9, a~ ove"'ay f. ce"ed to Droce"
tt u.f"e F.MT 30 as
de.c,.fbed 4" Seetto" 8.2.

.4"0'.

The cem.a"d f. rejected 0" the around. of -I"eoe' Sy"tax·
.~ a date bet"o e"te,.ed h •• t"correct io,.at. '" a~D.re"t'y
."va14d date e' .. eedy Itered f. o,.4"ted e ••
3QJ.icx.-CVea,.)
Exit State.

80th the in~ut a"d outDut .ectto", of t~e OAT! eroc •• sor race1' the Soecta' Drfver de.c,fbed f" Sectton 6.3.2 a. tha ...
mean •. of ,.etu .. n to the ;nte,.,.uDted ~roG,aM. ~e~ce Reqt.te,
a"d 'tack are a. detaf1ed f" sect to" e.2,s. '" Dartteu1a ..
Rl, t •• et to .3 if error. 4" the .y"ta~ of the a,oume"t er.
detected •

...... ......
~.-

1. Dye a"owe"ce t. made for Februa~y '9t~
f"
e"y
four-vearly 'eaD y.ar.
The ce~tu,v adJu.t.e~t 4. howeve ..
tgnored (21~0 ts stt" a 'ittle way off)1

PAG~ ~.31

DOS6.QNCI
'-~.

Det.iled

P~oce'li~QI

The f~~~ of t~eO.T£ c~eC'llo~ •• tllu.t~lt.d It '4cu~e e-7.
The m•• ~ steos f" the .eaue~c~ ef oce~etfo"s ~o"owi
'.

q •• to~. qe~fst@~ ce"te"ts Dls.ed bv the r"te~o~ete~
I"d ~emov@ ttl ~etu~" ol~lmete~s f~e~ t~e .tlck.
Yf t~e~e ts ~o d,ta (" the COm~a"d Buffe~ fo~ o~o­
ee •• f"~ o~ the ff~.t eh'~lcte~ of .uc~ dltl i. "ot
a dec.~.' dfctt, cemcute the dev4ce ad~~e'l of the
Ita~t
oi th8 "e~t m~dul. t" the Iv.tem Ltb~l~v (~"
~RT fo~mlt) ,"d el"
ft bv E~T J~.
Co"tt"ue f~om
Ite" 6.

~.

Slve the cu~~e"t c~"te~t of t~e SVT nlte I!o~e I"d
c'el~
it I ' I buffe~ fo~ the eo"ve~st~" of the t~­
Dut e~~ume"t. Co~ve~t va,4d decfmll dio4t. 4"to
b.~I~Y bv the .t8"dl~d "multiolv bv 1e I~d add" .1co~fthm.
tft~e co"ve~lfo" t •• toooed bv
~ecoQ"4t4~~ ~f ~ I"d the ~e,u't f. "at o~.ate~ thl" 31,
~to~e ft i" the SVT.
Othe~wfle ~o te ste" ~ to ~e­
oo~t the e~~o~.
Set I ooi"te~ to I , •• t of mo"thl I~d thei~ co~~el­
Dc~df"c dav ••
Sel~ch the 'fst fe~ t~e th~ee-lette~
ccmbf"ltio~

eaufyele"t to th.~ f" the l~aU~e"t, It
time butldf"O "deY Of the yel~· t" the SVT
It~~..
.Qlf~ eo to Iteo e if th. ~eou.~ed eomb.~e.
ttO" el""ot be toU"~ O~ the .ub.e~ue"t .~~ut cha~­
Icte~ i. "ot -.

the

'I~e

~etu~" to Ite" 2 to co"ve~t the de~iml' dfcft.

fo~

bv the fact t~lt the SVT
e"~~v !I "0 lo"ge~ 0 whA" the co"ve~.40" e"dl),
'ook fo~ a Leeo Yal~. tf fou"d a"d the day of the
vel~ tl bevo"d Feb~uI~v ~8th, i"c~eme"t ft.
Reduce
the yea~ vllue to 70, a"cwf"~ that 0~ e"te~e~ "OW
become. 30, a"d .et the ~elult i"to th .. hfah e~de~
'-bft. of the SVT .to~e. Howeve~ ~eJect the COmml"d th~oU~h Iteo 5 fo~ 8"V vel~ .ee~f"oly below
1971 o~ above 20e9. 0" comoletfc", ~eCI" t~e SoeCtl' D~ive~.
"yel~".

!5.

~o~

fo~

dete
8.

0"

~.tu~"

(fo~ced

I"Y A~~O~ ~oted f" the o~evfou. e~ecels, .et ~t
"Il'eQll . SV"tIX" I~d ~elto~e the o~fof"al SVT
befo~e

O~4ve~

~ecell.

Whe" the outeut ove~llv hI' bee" loaded 4"to the
~elto~e
Regi.te~1
.Ived 0" the .tlck bv the
clll I"d ~em~ve the ~etu~~ D'~8met'~I. Set I 004"te~ to I
lflt of mo"th tde"tfffA~' ."~ co~~el­
~O"df"q dlv ••
~S8,

7.

Cellect

the SVT and '.trlct
lucc'l,fu' lubtrlctien. ef 100~, .ta~ttno f~em 69. If the r,.u1t rae~e.e"tl
a Leae Vaar IrlJUlt the ~av vI'ue fo~ ,,h~ulrv i" the It.t.
t~~ vaa~

t~e

bv

cu~~ent

Data

f~e~

ceunt4"O.luc~e •• tva

t~e r@mai"4"o dav ef the
V'lr bv the dav
eou"t • • tored 4n the If.t I' fIr I' ~oI14bl, ,nd
ho'd the ooint@r It tha ~a'evlnt ~o~th fd,"ttff"
(1).
If the 'fit end 41 reach'd b,fer, the reduetion i. eemo1ete. re.et the Doi"ter fer I _onth XXX
and the ~,~a.n.no dav to I.

~.duce

Convert the dlv 4"to 2 dec4mal d4ott. by thl .fmD,e
"Subtraot -to" alaor4thm Ind .,"d to the eon.el1
cof"tlr fo"owed bv -.
10.

Print the Icoroor.at, month fdentfiter from thl
'fIt termfn.ted bv -. ~eturn t~ IteP , to eo"v,rt
the veer value, eaafn orovfdtnG for the outeut of
100 ~. 00, etc. On completton, rl~t,re the erfnter
ea~rfaoe bv CR/L' and r,el"
the 101efl' Drfver.

The SAV! eommand t. provfded to ena~" the Uler to e'~duce
e.ter"a' mOdule. from a curr,"t corl fmlal upon Iny le~r~­
prilte device a"d in I form Icceptab'e to the P~oora_ LOlder
for ,.ter reentrv (.ee Sectton e.l). In orde~ thlt the SAV!
OrOCeller mav have fu" ICCe •• to a"
Mon4tor .Ief,ftf,.,
especiallv the File-management routt",., the "erml' IWIP
B~f~er ~u,t be re,dflv avaflable.
HenCI to Ivefd D~ob'lm.
ef conflfct eVlr ~S~ Ulaae, a. Qenera"v ~flcu'led f" Sect~e" 8.2, the SAVE ce~mand may onlV be Given ~t . ti.e. when
the. loaded Droo~a~ .1 unlble to oerfer~,
e4thlr bef~r'
it t • • tarted after a GET com~and or after it 41 oerml"a"t'v
.ulo."ded bv a STOP command or le~e fata' e~rer •

f.,.

............. -.

1. Aftar IteD 7, the remai"d,r fl neQatiye, The ,edu~~.~"
f' t" fact therefora accomolflhed bv addition until I eOlftive value •• detacted startfnG with 'n fncrement to make
December 31st • dey J8e ,nd t~en werkfno blckwardl throUQh
the V'lr.

t~e

B•• 4ca"v,
follow.i

eo~ma"d

SAVE

-

W~e~e n~at.set loecif4e~" mu.t
t~e Com~.~d St~i"~ T"te~o~ete~

~av

~.v.

o"~

.~;ume"t

eomo'v w.t~ t~e fo~m.t
C.ae Sact4e" e~~,,4,e.

••

fo,

ro@v4cell [FPa"e",e[.Fxte".40"]l [Ule] r/DAiLOWIHtGH]
(RA b~i"g a .witc~ ide"tifvi"c the ~a"ae ef t~e
bet wee" t~e octal Idd~e'.al LOW ."d HIGH)

i~laa

SAVE

A, 4"dielterl, ele~e"tl of t~e .cec4f4e, mev be em.ttee 4"
which eale t~e follow4"c eefeult a,'u~otie"s e~e D~ev4dedl

~/

a.

~evice

b.

Fila".~e

C.

UIC • the ~d."tific.t4e" cede fe~ t~. 'e~oed·4"
ule~ I I stored fn the SVT (lee Sect4e" 2.1.1)

~.

LOW • the P~o;rem Load Add~ell 4" the SVT (PLA)

e.

HIGH • the hi;helt .dd~ell i" evai,.b',
f~o~ t~. SVT (GSA)

fi~lt

• the IVltem-device e. ,te~ad 4"
e"trv of the DOL (lee Sectio" 2,t,3)

t~e

.nd Exte"lio" • SAVE.LOA (.'10 ceUI.I
luto-dal@tfo" 41 IUC~ fi'e .'~e.~v e.4sts)

meme,y

Ge"ere' Delcr4otio"1
aeCluse t~e _ctuel SAVE o~er.tio" ce" be e le"ot~v o~ocell
."-d i' 'i~e'v to oroduce "o~mAl .~rorl for wh4ch the KSA ~.y
b. "eed@d bv the Oieg"0lt4c Pri"t reut4"e C.ee Cheoter 7)
the SAVF. orecel.or •• d4v4ded i"to two ~.f"- I~Ct.O"I'

t.

~"i"iti.'izetfn" rout4"e,

~reter

cel'ed ~v the I"teri"to th~ KSB to check e"d decode the co"'me"d

er"'u~e"t.

'-I

T~~ SAVE routi"e.o~o~@r, brought
4"to e 2~6·word
buff,r clAi~erl fro~ free core bv the 4"-4te'izet40"
~outi"e to orodu~e the reauired 'oad i~eQe bv
"o~·
m.l 1/0 ooeretiO"I, with the ~SB the" free~ for
"'ther usage.

.

.

The i"itializat4o" croce •• i" fect ule. the ee~me"d Stri"o
I"te~"~~ter
Clee Seetio" 5 •• ) for it' ooer8tfe~l. T~4s me-

P4GEb-34

I"' t~lt
~~oy.d.~.

the

~.c ••• a~v buffe~s 8~d co~t~o'
Owi~g
to t~. 14m4ted c.oacitv

b'ocks ~u.t b.
of t~e ~SA I~d to
.void t~e u'. of co~. out.ide it u"t4' the 4"eut .eeetf.ea~
tio" 4. comolet.lv ve~.f4.d, the ~out."e 4. o'oa"4Ied IS
.t~11oht-'i". code Wh.C~ suece.eive'v ove,ley. tt.elf wtth
the eM~BUF I"d Lt"e buffe~ eo~ta4~t~o t~. t~~ut I~oume~t
"eeded by mOdule CSX 8"d t~e" the Co~ml~~~, L4~k- 8~d
~41.-bleck. e.De~ted by CSM. F4"llly I" f"t'~"81 D08 ee ••
aectio" 3.1.2 •• ' ••• ~m411"Y o~eol~ed for the t'I" •• e~ oi
the SAVE D~oee •• o~ i"to it. f~ee.eo~e buffe~ f~om the
.y.t.m-devie •• ~ow.ve~ if I"V .r~or i. det.eted, the comml"d .fS ~.J.eted.bv 8 r.ell1 to the So.c41' Or4v.r wit~ 10prODr41te dflo"o.t. ( •• e be' ow)
The SlVE oroee •• or ft •• 'f mu.t of eour.e move t~. dltl .,tl·
b] i.hed, by ~SI out of the KS! i"to U. ew" L4"1e- I"d
~fl.-block. with deflult v"ue, ,uoolied •• ~"evI"t.
O~e.
do"., hOw.v", the ~SP •• rele.l.d I"d the Ltlt,"e,. ~o."t.~
atore 4. ~.t"it4.l1zed t.e. S.etto" 6.J.l).
~4th
kevbolrd
."ter~uDt. the" ~.e"lb'ed a"d ~~ece,.o, o'to~ftv ,educed to
I, th, ~ctull SA~E routi". b.co~ •• Ju,t I"oth.r ,u""4"O u.er
proarlm~
It
u.e.
the
.tl"d.,d _ ~1~IT,
.~P!~,
.WRITf,.CLOSE,.RLSE •• qu."ce to out out the ~o~matted b4".rv
dltl I' 411u.trlted u~der Sectto" 5.1 •. Durt"~ the ,~~IT!, I
doub1 •• huff'rt"Q scheme i. edoptedl thi' lo.i" ut4'ile • •
o"ce-o"'y cod! .r.I.~;thi" ~h. SAVE proe ••• or.te obv41te the
po •• 4b4lity of 4".ufftc."t fr.e eore out,fd. tt.
The SlV! D,oc.,.or .49"11. 4t. eomp,.t4o" bV rl,torlttO" of
the 4mp't.d Mo"tto~ 1t'te~t"g .tlte f~om wh4e~ 4t WII or4Q4"Illv ."t.r.d (S out out ."d fore.d 4"~ut leeectl"e.).
It
mu.t t~e" '., •••• the buff.~ it oeeupfe •• To leeomD1i.h
thi., tt u •• , the ,Ime t.eh"4ou. a. the F41e-ml"lo.m."t modul ••. '". the laml Dred4clme"t ( •• e Sectio" '-.3),. f" which
the Ho"itor S.AlB routt"e t. cll1.d I"d ,etur"' th,oUQh the
"orml' Sy.tem E~1t deleribed i" Seeti~" 2~J... T~fs reItore. the R.otst.r. whtCh were o~to."I"Y 'Iv.d 0" the
.tlele by the It.tl"e, blfo~. the eOMma"d WI, croe •••• ~ a"d
wh4ch Ir • • ~4'1 there. Th. ff"ll •• it r.tur~. to the Sy.·
tem IUU Loop.
A"v errers 1~4.i"Q durf"o t~. eet~e' SAVE e."~ot of cour.e
be ~."d'.d th~ouo~ the Speefe' O~ive~ o"ee thf' •• "0 lo"o.~
et the D~oee •• or. d •• ~o.el. ~e"ee the .oo~~o~ •• t. ~ •• s.~e.
ere ~~i"t.d by the crec ••• or ft •• lf before it ~etu~". to the
aY.t.~ w.4t loo~ e. de.e~4bed i" the p~ev.ous Deraoreoh.
I.e.
e.

File e~~or XXX • w~.r. XXX i.
~etu~"ed 4" the File-b'ock
Q~lm~er. He"dbook)

the e~~o~ eode
Stitul t.ee Pro·

~.

b.
[Jlh

"eviee Ful'

~tlte.

Du~f"o t~e i"4t41'izltion p~oees., t~e Spec41' ~~4ve~ ~.y be
~Iell'ed to he"dle e~~o~ ~elSloes, ~ence t~. Reo4lte~ end
,taek Irate ~ult be a~ o~ele~ibed in S.et~on ~.2.~ wft~ ~t

4n

Da~t4eu',~

let •• fo1lowl •
•2 • A

ule~

D~OO~'~

is not loeded
the

o~ 1. not It~p~ed ~e~ee
eo~ma"d il I"valid

.3 • F.ulty SYntax
.6 • Ille~I' 'iMit edd~el.e., 1.e. LOW
>HIG~, o~ outlide co~e
.1 • ~o buffe~ SP8ce evaflable fo~ t~e
ectu.' proeeslor.
AI

aboye, t~e aetua' SAVE routine ~081 "ot ~eturn
t~e eOMmO" keyboerd 'anQueoe .xtt.
Thu. 1t e"su~ ••
it.elf th.t t~e ~egi.te~1 .~d It.ek .~e ~.tu~ned to the1~
.tate D~1er to t~e eo~~an1 1nter~upt.
~oted

th~ouo~

'-~

Oet.f'ed P~ocel.1"ql
A. f"~~~.ted 4nd.~ "Gen,~al Deler1etio"w Ibev" the SAV£ ope
two P~~~I, The ••• re de.e~ib.d in
The i"iti"1zlt10" D~oeell' beinG
~,f~lY ~t~ajght·'~n. code "e.dl nO 4l'ult~atfen. It 1. out~
,4"ed below.

e~lt4~"
f. D.~forme~ f"
the f~"owf~g D.r'Q~.eh ••

t.

Relto~e

qeG1.te~

and ~emove
COMpute the

co"te~t.

o •••• d by the

I~tererete~

~.tu~n Da~'mete~s f~o~ the .t.ek.
Iy.te~.deviee blOck fo~ the SAY! D~O·
ee'lo~ D~oee~ en t~. ba.f. th.t .t fe' lows the tn ••

ftl

tf,'.z1"0 ~out~"e .". the .y.te~ L~b~.~y . • "d .ave
for llte~. Set I D01"ter to the start of the ~outine e. the beoi"ninc of a CSI CMO~U' with 8 L.".
buffer fo"owt";. C.ee Secti o" e.4)

2.

Check the ~U~ in the SVT Csee Seetio" 2.1.1).
If
"ot let to e1the~ I,~ COroore~ 'oaded but "ot
started) o~ -1,-1 CD~ooram .u.~.~ded a"d .toeeed),
~eel"
the SDeef,1 Driver to D~i~t I" "I"v.'fd Co~.
~a~d" me.sage & fonore the eom~a~d.
E~lu~e the ~SB
•• f~ee bv elea~.no a"y eu~re"t UII~e COU"t C.ee
Seetfon 2.3.1)
~ove

eO~Ma~d arQume"t
.t~.na
unto the wLi"e
.eet40" re'at1ve te the ~of~te~ set f~ Itec
1 and e"sure thlt a eor~ect 'ine te~~inltor fo'.

the

~uffe~n

low..
C", C8X (S.ctfo~ ~ ••• t) to ch.ck the ov.,.
all sy"tax. R,ca" the SD!ct" O,4v., to D,f"t '"
"1".g,' 3v"t,x· ~ ••• ,o. ff f" "'0' ,"d '.J.ct the
co",,,,."d.
4.

Pr.p". du~"'v Lf"k-, F41 •• '"d CSI Co~",."d.b'oek ••
CE'ror r.tur"
& Statu, word. for t~1
iir.t two a,e U"".c •••• 'v .t th48 st,o. • how.vl'
the L4"k-bloCk ~u.t "low ,00'" for, four.word
,w;tCh.- •• e Sect40" e ••• 2). '"dicit. oUtDut .eecfffe,tfo" r.aui,.d f" the Cal cMoayf ,"d .1" eaM
to,d.cod. the a,oume"t, wfth
'cttO" ,. de ••
c,fb.d 1" .t'D 2.

.ddr.....

."e,

e.

If the RA Iwitch i. or ••• "t f" the CoM",,"d .tr."g,
elll the Co"verlfo" Utilitie. ,oU~f"' ( ••• S.ct.O"
e.3) to co"vert the 'f",tt. gfv." to bf",ry v,'u.,
a"d .to'. the~ i" the Lf"k-block i".t"d of th,.r
st.rt DO."tl'. 'I rltu'"ld by es~. If LOW t. "ot
11 •• the" HIGH or HIGH f. above ,v,."b', CO'I, ,,c,ll the 3D,cf,' Drfv,r to t", the oDlr,tor ,"d
aoat" r,Ject the com",,"d.

e.

Vta the Mo"fto' I,GTe ,out.", (.e, S.ctfo"
cl't'" a 2se.word buff.r fro",
cor,.
.v.il,bl., i"fOr", the u.'r throuoh Speet"
r.e,ll

i,.,

2,.,2),

If

"0"'

Drfvlr

7.

P,ep.r, '" f"te,",' DOB C•• , S,ct~O" 3,1~2,3) to
re,d thl 2ee.word SAVE Droc,.,or 4"to the "IW
buffer fro", the ,t,rt block COMoutld",'.,r,
£.tr'ct the .y.tlm-devic, drtvI' ,dd"., fro'" thl
OOL C.el S'etto" 2.1.3) v., ft. DOt"t" f" the SVT
,"d fo,el thl comollt40" rltu'" to u•• thl SA~ '1aue"CI de,c'~bed f" S,ct~O" 2,3,~, U"
ID". DO!
loe,tio"1 to .av. rel,v,"t R.ot.t.,. (,"d I.t the
"OP bUlY fl,~)

8.

C.,1 the .y.te"'-dev~ce dr~v'r t~ .if.ct
the
t'."lf., vf. the Mo"ftor S.CDa ,outf", C.ee S,cttO"
3.1.2.4) ,"d e," ,WAIT ttll do", (lik, .tIP.' f"
the I~t"or,te, '" Sectfo" e.3.3, tht. "aut, •• ,
Lf"k-b1oek .4mulatfo"). Wh." "c,,1.d, '1Ito,. " .
Qi.ters saved f" the 0"v40u •• t,D a"d JU"'D to the
'oaded routf",.

The SAVE rout.", orODer f. fllu.trat,d ,t ffOu'l
bl.4e .tID. are a. follOWS'
t.

e.e.

It.

~fv, thl.SAVE routf"e "OW thl ,pola'a"~e of ,"'oaded ,u""f"o proaram bv , •• ettf"o ~us t" the IVT to
1,1 to allow "or~.' u.aoe of the k.v~o.'d '."~u.ge
duri"Q the out~ut oh •• , (.ft.~ •• vt"O the o't~f".1

PAGE c,.-37

OOS6.RNt"!

~U5

ce",te",t)

'.

~eve

;"'to an i"'tar"'al ful1 Li"k-bleck t~e device
a",d u"'it .t~red i'" t~e KS8 ~u~~v by e8M e~, ff
"'e"e. the "a~e of the svste~·devfce f~em the DOL
wft~ u"'ft let to eel)

~.

F41e-b'ec~
cOl'lta.I'I'
a
move the ~e'eva"t data .I'Ite al'l
te overwr4t. the default a.sum~tfel'l SAVF.LOA alreadv fl'lcluded a",d •• t a swftch
te preve"t automatic de'etfel'l 4f t~. f41e f. .eel'l
to exist later e.e. It.~ 6). Al.o .tere a",v UIe

"'a~e

!f

theKSB

dum~y

f.'e-.~ecfffcatfel'l,
i",ternal full ~'eck

s~ec.f.catfel'l.

4.

Set ~O;I'It.r. to u.e ~h. ar,a oecu~4.d ~y tha er~­
c ••• or u~ to ~I'Id 41'1cludfno the cel' fer .OPEN .1'1
.tep 7 al a doubla-buffer. I", the fir.t of the ••
buffers, oraeare a .tal'ld.r~ eOHO block for tha load
1maOe as da.cr1bed .'" ~.ctfo", 5.1, u.f",O the ~.",oa
limft •• ff a"'y ~av. b.e", .ueDl •• ~, or the Prooram
Load Pef"t a"d the to~ of avaflable ~emory 4f "'ot.
F1'l i", the rem.f"t"'Q ftem., e.a. 'rooram a",d OOT
start addr •••• s .",d ~roQ~em "'ame, from the a.fst4",o
.",tri •• i", the SVT.

!5.

~.mov. the k.yboard Lf.te",er recall .ddr •••••
from
the .tack .",d us. it ••• v.d poi"t.r to r ••• t it.
'o4",ter Store c••• a.ctfo", 6.3.1). Sf~u'at • • ", 4,,terrupt r.turl'l 0'" the stack wfth I prfor1ty '.v.l
a"d u.e the ~SB r.l.a.e •• au.",c. stOr.d below tt
C.ee S.ct1o" 8.5.3) w4t~ RTI a. the ff",al t"structie",. 0" reca". r.enable keyboar~ f",t.rrupt ••

Reau •• t .INI! uP~'" the out~ut datal.~ a",d if t~e
sp.cified f41e i. the default S.VE.LOA, try to d.l.t. ft. (Th. F~le-bloc~ error retur'" j. s.t to
ceme bac~ at the .am. eoi",t ff it do •• I'Iot .xfst).
Re.et the Fi'.-block .rror r.turl'l te ea"
a s.ouel'lC. whfch ~rint. a "F1'. Error" ~.s.aoe a",d .M4ts throuQh steD 11. ea" .OPEN. Am."d the buff.r

.---......-.-.
1. Th. err~r ret~rn

4"th. Link-block f. set to ~, thus ff
the r.aui.ite buffer .oac. for "orma' tlO operat10". 1. "ot
ava.,ab'.' a SAVE comma"'d ean result 1", a .tal'ldard fata' error (Fe~7) - s.e S.ct101'1 3.2.1.1.

DOS8."Nn
eo4"te~. fo~ 1."t"Q the lece"d buffe~ a"d 4"ftfate
a foemattad bi"a~v .WRtT! fe~ the CO~D b'oek "OW t"

the

ff~.t.

Dot"t ~'D~e •• "ted bv the
Ita~t of the dat~ a~ea "OW b'f"o outeut followed bv
t~e actual deta wo~dl U"tt' the buffe~ f. ftlled e~
u"til the hfoh 'f~tt •• ~each.d~
CO~DUt. the
"u~b.~ of bvt •• ~overl a"d ItO~' in the 'PD,oD~.ate
thf~d wo~d
the L4"@ h•• de~ C.ee "etto" 3.2.2).
~a"
.WRITE to out out the buffer new ffl,.d Cfn
fo~matt.d bf".,v)
Sto~e

t~.

cu~~e"t

load

ef

When ~ecal'.d, check whethe~ EOD occu,~ed at the
'alt .WRITE. If 10, ~'f"t a wDev4c, 'ull~ ~allaaa
a"d 00 to .teD 11 to •• tt.
Othe,wf,e Iwttch the
buffe~ Dof"te,. - the ot~.~ buffer mUlt "OW be '~D.
~v. Go back to .teD 8 ff ~o~e deta ~ •• af"1 to be
oUtDUt.
When the hfoh lt~tt tl ~eaeh'd, D'.Da'e a"d OUtDUt
a te~.f"a' T,a",fe, B'ock Ul4no t~e .dd~'11 Ito,ed
at PSA t" the SVT Clee Sectto" 2~1.1'.
T~e"
cal'
~CLOSE a"d .RLSE on the data.et.
11.

.

.

.

R•• to,. tha o~'otnal IVltem-'tate .aved at IteD g
to the ~US fn the SVT a"d e"lu,. that the Sv.te~
watt LooD •• ,eca"ed on e.tt. Outeut S a"d force
comma"d f"Dut acceeta"ce bv ,e •• ttt"g t~. keyboard
~e·~.-d ~uf'~~ .• a'M.e, ,-_- - ••••• n e.~.l;.
S.o,e
.~~
·v~te~
•••• .~d~- •• ~~ the .tack ."d JU~D to
the ~o"f~o~ S.RLe routt"e Ca' "oted un~.' wG.ne~al
D•• c~fDtfonw abov •• )

Tht. S.etfo" eov.~. th~e. com~a"d. whtch a,e e~t~'~flv fnt.nded to .nable the u.e~ to co"t~o1 the co~.ol' te~~tnal.
OD.~atten. en behalf of a ~unnf"Q D,OQ~am.
aecau •• thet,
D~oee •• 4nQ ••• imi'a" they a,e f"cludad within the .a~e ~o­
dule, t" D.'t4cula, thev a~e al' fnvalid un'e •• a u.e' erogram ~. leaded and the full d'tve~ f. f" co~e~ The cOmma"dl
a,e.
a.

ECHO • whfch a"owl i,te-floD ce"t~o' of the
echo D~f"t."Q ••• octated with k.yboe~d but doel
"ot affect no~ma' oUtDUt.

b.

PRI~T. which D~ov.de. the .a~e
"o,~al outDUt but "ot echO-D~f"t~

iacf'ttv

for

PAGE ~39

Dose.IINt"

C.

EN~ - wh4ch ~"ebles the u.e~ to ,'0"11 the
of I .et of i"out dati.

e~d

Co",,,,."'d For"'ltl
The b •• ic
•• ",el

fo~~.t

th~ee

Iccactable for all

cOM"'a"d.

'a

the

EC[HOl [DeviceJee~>
"R [INT) [Dev. eel eCR>
E~[D

[Oev,celeC~>

~he .. e "eev'~e" i. the ce"ve"t.o~ll two/thr •• cha~lcte" code
for the devfce co"ce~"ed Cwithout .) In~ •• by daflult KB

However the device i" the CI.a of EeHO I"d PRtNT MU.t b. I
te'",."'e". the o"'y o"e ~u,.re"tlY ,~p'e~.~t.d bef"'Q K~ he"ee it f. olll.tt.d f~ th8 e,..'p"t de'e~fotio~ f" the P~o­
.,.",,,,er. HI"dbook.
Neverthele.8 ft ce" b~ ,o.efffed fo,.
other ter",t"ll devieea, provfded thlt the I"ectated d~ive~
f • • et UP te u•• the re.ult. of the Droce •• i"o ~e.c~fbe~ be·
"~We
O~ the other he"d, END doe. "et heve th, el"'e ,.e.t,.fctio" but 10.t", the O"'y d,.tv.~ which "acoQ"tree ft. oeerettO"' te thlt fo,. the .tl"dlrd ASIt.33 Tal.tyoe.
~e"ee K8
."d '" Ire the O"'y "'.I"'t"Ofu' .pec4ftc.t.o~.~
;e"e ... ' De.c,4pttO"1
'rovfded thlt ell t~e_,eQutre"'e"t~ "oted f" t~e pravtou.
D.' •• "lehe Ire Iltt.f'.d. the proce"f"o fer the th~.e ee",~."~ •. reQufrle ee~e •• te the byte in th~ device drtvar t",te,flel 'eb'e whteh co"taf". the Drfortty leve' u.ed te aet
th •.• "t,rr~Pt v.cto~ C.ee Sectfo" 3,3.1). Sf",c. th4. f~fo,.­
",.ttO" t. only reQuired when the drfy.r fl fi,..t 10lded, the
byte ce'" "'ow be u.ed a. e •• t of Iw4tche ••• follow. CIS.U"'·
4"0 I" 4"ft41' velue of 2~0, 4••• PRL.).

.-,

B~t 7-0 • EOe
e,t
• SUDO~P'"
Bit 3-' • SUDo~e ••
Bit I-I • SUDe~.'8
Bft 0-1 • Supore.,

echo (ope~.tcr.co"t"ol)
echo (O,.oq,.aM·co~t,.o')
orfnt (ooe~ato"-co"tro')
o,.i"t (proor.",·co"t,.ol)

T~e EeH~

and P~INT eO"''''I"~' ",.,.ely cO"'D'aMe~t the ~.'ev."t
(' e"d I) r •• pectively. FND clee~. b4t 7. It fs then
t~e r •• co"'.~bilfty Of. the d"ive~ to check
t~e aDoreprilte
bft I' reQuired and to ICt .ccordf"Qly.
bft.

It .hould be "'oted thet becluse no att.",pt •• "'ade to call
the d,4v.,., the cOM"'I"d can on'y be effect4ve whe'" the
d~fvI' 101'" hi. contro'.
If in flct, thp. DroO"I'" hi' alr ••

edy ~eQuested .~E4D e~d the d~ive~ hal then ~etu~~ed to aw.~
it 8n 4~te~~uct, ~" END.~~Quelt D.~tieul.~1y ~u.t be fol10w,d bv • new D~og~aM incut to fo~ee .ue~ inte~~uDt. ~e"ee
it i. ~~eommended thet a doub'e cq be usee to terMi~ete the
comMend~
!he use~ i. el.o we~ned thet ence the fOO .w4tch
41 let, it 4. clea~ed onlv bv en OPEN ca" to t~e d~ive~ .o~
by a ~eload on .1~IT efte~ .RLSF. Thue 4f ~o~e the" one de.
taset is she~.nQ the ~~4ve~, the fOD eDDlfe. to ell ~ e DO.
tent4Al D~oblem if sav both comMend .tr4~a. end data a~e be.
1ng entered f~oM the seMe keyboard.
Eldt Statel
" , t~ree co~mends ~IIU't in Specie' D~.ve~ ~ecal' o~ completion O~ error.
Hence ReD1.te~1 e~d .taek e~e .et el
.hown 4" Seetio~ 8.2,e. ~l 4~ Dert.cule~ may 4nd4ceta the
followi"g e~ro~ cond1tionsl
10eded, Ie the eo~me~~
f. Inyelid
.3 • Feulty Svntex (i.e. no"-alehabetic
cherecter. 4n rlev4ee neme)
.4 • Il'eael Oev1ce (wh4ch doel "~t e.4It,
•• net fn MemOry, or i. not e termi"e'
for !CHO or PRINT)
.2 •

~o proQ~,m

Detaf'ed Processingl
The leQuenee of oce~lt4e". needed to D~oees. the th~el COmmands
eutlined below,
It i •• t~a4~htforwe~d a~d thus
need. no SUDDe~ting fl1ult~etfonl

.1

t•

2.

~esto~e qeQf.te~.

De •• ed bv the InterDreter & ele.~
Daremeterl from the .tack.
If the
'ow~o~der byte of ~us fn the SVT 1. ~ot .et to 1 to
show a D~Og~eM •• i" eore (lee Section 2,t.t), re.
Ject t~e com~e~d bv ~eeelli"Q the SDecia' ~~.ve~ to
Dr4~t an "Inveltd Command" melsa~e.
fts

~etu~"

Conve~t UD to the fir.t three letters of any ar~u.
Me"t Itri"o ."te~ed into left~Ju.tff4ed radf.-ea
for~at
(.ee Seetto" .5.3).
(Anv non~elDhabat4e
ehe~ectlr

Sy"ta.").

other than .Dece, eom~a o~ cq i. "Illeall
If ~o ergument •• o4ven, luk.titute KB.

Ul4no ft. SVT ~o.nter, aeee •• the OOL Clee Section
and look for the dev4ce tK~ acting al.o for
PT .inee bot~ devicel share the .ame driver • .ee
ADDendi. A). Reject the eommend on t~e ground. of
"I1110a, oevtee" t~rouQh the Seeef.' O~4ver ff Iithe~
the deviee il unknown or fta d~fver il not f"

2.1.~)

DOS6.RNCI

PAGE fD41

cO"e.
4.

Fo,. ECHO .~d PRI~T, ch~ck the ~.tu,.e of the deyice
ey. exa~4".t!0" of the F.ci14t4e. I~d4~ate, 4" the
d,4v., I"te,f.ce T.bl. C.ee Sect.o~ 3,3,1).
the d.v4ce 4. 4".a.' u~'e •• 4t •• a te'~4~.1.

'0.4"

~.

~et .~ '~DP'oer4.t. M•• k foP'
the co.~.~d ,.aufr.d
8"d pe,fop'~ the ,.e'ev."t bft OD.,..t.e~ •• ~et.d
u"d.,. "Ge"erel ne.c,.iDtio~" .beve (coM~'eM."t ECHO/PRINTr e'eap' - EN~). Retu,.~ to the t"t.,,.uoted p,.oOP'.~ th,eu~h the Soec." O'4v.~,

LINK-il 04v ••• u'e' the CPDo'tu~fty te td."tffy OOT-tl~ ••
• ~orlu'. w4th.~ a pptoa'a~ lo.d-t~aa. by ft. 100 .~.teh.
( •• e OEC-l1-ZLDC-O). The .t.,.t .dd,. ••• of the .edul. ••
the" .to,..d ~.tht" the COMO block t~ f,e"t of the load ~o­
dule (se. Sect.o~ 5.1) .~d du,.t"Q the 10ed
4t ••
t,.".i.,.,ed to the SVT ( ••• Sect to" 2.1.1). Th. OOT ee~Ma~d
th." ~4v,s the u •• ,. the m•• ~._wh.,..ey the d.buOai~o ,.out4~e
c." be c.l'.d or recel'ed ,.ea.,d'." of wheth.r a 'U"~.~O
~,o~rem_t, 4" co"t,ol opt h•• lost tt " • ,e.ult ef
4"h.,e~t ".4lu,e.

D,oe...

.e ••

, • • how~ i" the ,eleya"t ~."ual (~EC-l1.0~Ol-~), th,.e. e"try
4"to OOT-llR .,.. pe •• ible. He~ce the ce •• a"d h •• the

~oi"t.
fO'~1

00 [T]

Whe,.. "eode 'ette'"
a.

Ge~e,.'

~av

[Code lett.,.]CCR>
be •• follow.'

("u",. cOMoletelY 4"itfeltze O~T.l1R (OOTta)

Oe.e,4pt40",

By iMol.cat;o~,

• p"oa,.~ mu.t be loe ded (.ye~ if it 4. •
,4"k.rl y.pt.io~ of O~T·ltR "o"e) ."d ODT-flR ~u,t be i~e,,,,d •
• d wtth4" ttl T~e eOMma~d i. ,eJect.d •• i~v.l.d by !oee4al
O,.4v.,. ,..ee" oth.,.wi.e.

PAGE

b-~2

.1 uSld to det@~m.ne t~e O~T-l~q e"t~v,
I recoQnizerl vIlue. ~oweve~ befo~e Co"t~@ nOT co~~~"d Orocel.or
must Issu~e
t~lt
t~e ocerltor wfl, expect eo"ditfo"1 IOD~oor4lte to ~il
~~ocram I"d ~IV later relume t~@ oroarlm directlv
f~om
the
debugoi"o routi"e. T~erefore, t~e syltem is fi~lt ~18ced f"
e proaram-ru" mode, al' evide"ce of a com~."d bei"O u"der~lv
.1 remeved I"d t~e e.4t 41 tlke" w4t~ t~~ ~e~ilter. I"d
Itlck reltored to t~e.r Itet. prior to t~e co~ml"d fnterrupt.
T~e eom~l"d I~Qu~e"t
~~ov.ded t~lt.t is
trol •• t~enlflrred,

t•

T~e Mo"itor do,1 not Itte~ot to 4nftil111e ~OT-ll~
eit~er 0" 10ldino o~ eft@r en nOT eomm~"d.
Thfl 4.
left to OOT-l1~ itl.,f, if 10 cll'ed by t~. uler.

In. plrticullr, t~e debuaei"~ trle 10elt40" It 10cetiO" l ' mUlt be correctly li"ked. T~u, t~e ffrlt
OOT co~~e"d .hould ~ave "0 I~gument 4nd Ihould be
ent.red II 100" II pOlsibl@ after 10ad4"Q.
ODT-l1A IlwlYI ~eltore. break~oi"t locations temoorarily w~ile it .1 in co"trol, to allow t~e user to
e.emfne I"d ~Odify the.e lik@ any ot~er' it onlv
reollces th@m w~en the ule~ cll11 for p~oarlm conti"ultion bv ita own comml"dl for th~ eurpole.
If
t~e
USe~ i"lteed enterl CTqL/C to reCI"
thl ~on4tor, Itl~tl t~e ~roa~l~ bv I ~o".tor com~l"d a"d
t~en
llte~
Ules the OOT command ~.t~ I" erQume"t,
~OT-lIA attemptl itl relto~et40" w4t~ 4ts
f"it411izino vllue P00003 thul destroYi"~ t~e o~fQinal
content. The uler fl t~e~efore adv.se~ to e.ereile
some clutio" (see wGetti"a O~S 0" t~e Air"DEC-l1-SYOD-")
EICU StAtel

If the Soeciel ~river i. recal1@d t~~ouoh er~or, Peafsterl
I"d stack Ire .It I • • ~own i~ Slctio" 5.2.~. Tn ~1~ticu'lr
Rl co"tli"1 o"e of the followf"c vlluelt
-2 • OOT-l1R fl n~t f" corl,
-3 • Code letter i. u"k"ow",
AI noted ~boye, co~mlnds acceota"ce
ell1 wfth p~OQram .tlte rl.tored.

10 t~e com~l"d
~e"ce

fs Tnvllfd
Flultv Iyntlx

~e.ult.

i"

an

~DT·l1R

PAGE b-43
~,--

Detef'ed '~ece'li"gl
T~e ,4mele 'eaue"ee is II fellowl I"d ~eoui~el ~o
tio",
t•

~elto~e

move

Reoiste~8
~etu~"

ttl

~h, co~ml"d bv

ell led by
cI~I~te~s

.'lult~l­

I"d ~e­
R8Ject
Dr.ve~ to

t~e I"te~c~etar
f~o~ t~e Itlck.

~ecal1i"~ the Spac~a,
"Y"vllid COm~l"d" ~eslaoe 4f eit~e~ t~a
~US ." t~e SVT doe. "ot co"tI4" a low.o~de~ byte of
1, .io"ifyi"g t~.t a P~OQ~'~ hll bee~ 'olded (see
Sectio" 2.1.1), e~ DSA i" t~e SVT i~ let to 0
(ODT-llR "ot c~ele"t).
c~."t

I"

~edifv t~e ee"te"t of OSA bv 2 fop ." 8~QUme"t R O~
S4m4,.~ly ~eJ.ct t~e eomml"d fo, I"V ot~­

4 fo~ K.

e~

i"put 0" t~e o~ou"dl of "ll1eOll ~V"tIX·. ~to~e
,e,ult4"Q Idd~ell 0" t~. stick 4" pllce of the
~etu~" to the 4"te~~upted C~OO"~.

the

Clea, t~e 'etu~" to the Seecial O~.ve' i,om tha
Itlck.
UI4"O itl .Ived add~ell' ~ai"itillize the
Lilte"e,. Poi"ta, Ste~a (lee Seetie" 6.3.1).
Wlit
u"t41 t~e cO"lola e~."ta' ~al co~pleted the comml"d
LF te~m."lto' Claa Sect40" 6.3.2).
~et

the ~US ;" t~a SVT to t,l to si~"ffy .·c~o9'am
i" a"d ,u",,4no" I"d a"lu~e thet WRA i, 4"itflliled
to t~a Idd~e.' of tha System wait Loep (f" cale t~e
commlnd fol1ewed I fltll e"O~ - ,aa C~'Dte~ 7)
t~e RaQ4.te~ • • Ived It t~e
eomma"d
- I"d thul elel"-uD the st.c~ I"d
ODT-llR at the ,aquf,en e"t~y o04nt.
~e~to~e

~uot

6.4.5

The

~EGIN

4"te~­

e~.t

to

and RESTART COmma"dl
--~~---

------~

The BfGJN cemml"d il c~ov.dad IS the ~ea". whe'ebv the use'
Cl" 4"iti.'lv ,tl,t the eiecutfo" of a D~eg,am el~eldv 101ded bv I GfT eomml"d 0' CI" lata, sta,t ove~ wit~ a elel"
Illte. ee'hlPI afta~ I fltll e~,o,. RfST~RT all0wI t~e usa~
to t~I"lfe, eo"t~ol te I ~fffe~e"t eofnt in I ~U""."Q 0'0O'I~,. ~o'l.blv I' D,eyioullV establfl~ad by the D~Og,am it,alf ul4nQ ~h~ "Sat Reltl~t Add,als" flcilitv withi" the
Ge"a~a'
Ut4'it4el Dack.oe (lea Sectio" 5.2). I" thil el.e.
cu~,e"t 1/0 i. stoDDad but all 1i"klgel ~em.f".Beth
eomme"dl I~a~e I co"sida'lble Imou"t of co~men cede, t~ey e,e
the~e~o;e f"itiallv p~oeeSled by the 'Ime module.

e•• ic."v~

the
the •• "'~ i.e.'

co~me"d fo~m.t

fo~ bot~ BE~I~ .~d ~ESTART

f.

BE[GI~']
["ct.l .dd._e •• ]~C~> (1)
RE [START] [Oct.' .dd .. e •• ] ~CR>

.

.

A" .dd._e.~ ... ~u"'.~t .uoo14.d f" eithe .. c ••• b.Com •• the
.t.~t
oof"t fo .. 0 .. 00"."' executfo". If omftted, the followf"Q default v.lu ..... e u •• dl
••

BEGIN - the .uto",.tfc at ... t add"e •• 4"e1uded f"
the o .. oo .. am .ou .. ce .fND at.t.me"t .~d . . . . . . .
ault of ••• emblv, 'f"kt"Q a"d 10ad4"o, ~ow
.to~ed f" PSA f" the SVT C••• Saetfe"1 2,1,1
."d 5.1). (~.vbe 1 - .n fl'eg.' .dd ..... • 4f

.-----._----.-.
1. A
• .-

h•• the , •• tfno of the WBI,BE modu"
noticed th.t • v..... tio" ." the BEGIN fo .. ~at .a
._~a~

w~o

have
bla, 4.e.i

BE[GIN] [Oct.l .dd ..... ]

May

.0..•.

[S]~C">

wh .... t~. oDt~on.l ... ou"'."t S, m.an4"Q SAVE, ~,.v."t. the
1v .utom.t.c de,.t.o" of ffl •• cu .... entlv 00." fo .. output. ' Thfa w•• o .. ovided 0,fafn.'1v fo .. the b.n.fft 8f • u ....
who h.d ., .... dv .m •••• d • '.nothv ffl., De .. h.o. of ...... eov •
.... ble d.tal by the t.me • 0 .. 00"."' i.flu... oceu .... ed a"d
would th .... fo ... not went to 10.e ft. How.v ... , th ........ two
m.lo .. o.-oblem. fnh .... "t in the u.e of thi .... ou",.nti
"0 .. m.

a.

."0.

Th. SAVE ooe .. atfon U"S "o,,",a, Fil.-",.n.O.M."t
eedu.-el to el0.e the f11el fn D... ticul ... thfa ", •• ".
~r.tinQ out d.ta eu .... ently.4n ~."'o .. y to the device,
~tnce,
in oener.l, ~EGIN 4" t~i. e . . . . . . . . eue.t.d
only bec.u.e of
oo ... ", f.41u ... , the ... i • • htoh
orob.b1'.tv th.t tht. f. eO"l"uot.d d.t., thu.
sO",8dfnQ the eff.ct of the f •• 'u .. ~ to the devie ••
~1th the o .. oo .. em th." b.Qun .o.fn, the eventua' ....
lu1t miQht be • df •• ate ...

c..

(e ..

~fnee the f1', would "OW exflt
ff'e., .inee the
o .. oc •• s 1. no~ •• el.ctfv.), the oroo ... ~ ",u.t be •• t
uo to u.e • diff ... e"t Fil.-n."", fo .. t~ ...... un 0 . . .
seeond faflu ... occu ....

Th .... fo ... this ootio" h•• not be." adv ... t4zed, in.t •• d .ueh
iA edvi •• d to KILL the oroo,.", fo", .'t~ough thf • •
p ... fo._m • • "o .. m.' .CL~SE, he il t"." i". DOlftio" to u ••
PIP-It _to ~fek uc the cfecel befo,. it i. too '.te.
R.f.~."e.s to thi. f.atu .... ~e omttt.d i" 1at ... d4.eu •• fo"l.

U....

'.0

DOS6. 'Hm

~o .eu~ce edd~e ••

i •• uDD,4ed)

RESTART - thA 'atest add~e •• sto~ed at RSA
the SVT by a c~oe~am ~eaUe.t t~~ouoh GUT.

b.

4"

Both co!ma"ds ~eQui~e 0~1y that a o~oQ~am be loaded, it. 'U"
Itete .1 immate~.el. ~oweve~ becau.e REST.RT ~Ult be Q4ve"
e~ edd~ess and De~fo~m. le •• fnit4elilaticn, its ule befo~e
the c~o"~em hel bee" .te~ted leem. c04ntlels.

o

0

_

A. "oted Above, the D~oces.4na fo~ both ~EGI~ e"d ~ESTART
comme~cel at the .Ime modu'e, fi~.t'Y to ve~ify the c'elence
of e 'oaded C'OQ,am a~d lecondlY to check the veliditv of
the Itl~t edd~ess whethe~ this be I COnve'I.O~ 1'011'1 an a,oume~t sUDcl1ed o~ the ~e'evant defeult.
Fe.'u~e
1" e4the'
ca.e ~e,ult. in ~eJect1on of the co~mand by Scec4a' D~4ver
~ece".
ocom~a~ds ello .• h a,e
cle.n~u~
such a. k41'4~O

The two

a

com~on
eu,~en~

leQue~ce
fo, Qe~e~I'
1/0 by ha~dwa'e RESET,

,e-4n1t'e'411no the .tlck, the keyboe~d L1,te"e'l D04"te'l
and ve~.ous SVT ent~.es a"d e"lu,4nQ theveee"cy of the MSB,
ADa,t from re~ov4"Q e~y 1/0 Busy "eOI, RE3TART p,oee.14"Q
4. the~ comclete. A d4,ect exit is therefore teke" to the
u.e, D'OQ~lm at the .tert poi"t scec4ffed, with ReQiste'l
re.to'ed to the.r cOnte"t pric, to the eo~mend 4nte"uDt,
BEGIN heweve~ ~eQu1res fu'the~ act40n and this i. effected
i" two ove~1lYs called consecutively intc the ~se by E~T 3A
'.ee Seet4o". 6.2.J a"d 6.2 •• '. In the f~,st over'aY, a"
the tIn 14nk.ge cu~~ent'y estab141hed il e.a~4"ed 4" dete1'
vja the Mcn4t~' OOB c~aj"~ Aae1" a"y ~USy ~lag. are ~e­
moved, but in eddit40" eac~ dataset 48 cheeked fe~ a f4le
~ e me 1" 4"g f u 1 1 y 0 oe ~ e d (. e e Ch a e t e ~ .).
I .; • u e '" f4 1e f •
CO"t."UOU~ or 1• . '.nke~ a"d 1" ule o"'y fo, 1"put, it i.
merelYeloled • • linked file beinG c~elted 0" the other
hend mu.t be deleted to allow the DrOQ,a~ to 'eODe~ tt by
the .,lI'Ie "eme without eo "~ne E~1sts" er~o,. 0" a DECtaee,
t~41 41 effected by ,emov4"o the "ame f,om its ~4~actorY' 0"
dilk. it a,so mea", that the ~1oc~1 already .lloceted mu.t
be u~1."ked • a" operetto" ca~~1ed out 4"t~,"ellY u •• "~
.TRAN~
Thi, evo1d. the "ece.s1ty 10' closi"O the fi'e
f4~lt, a cotenti.' cau.e 01 df.k co,~uot4e" Csee 'oet"ote to
"Commend Fo~met"). A" F.xtenlio" to e" e.i.tino disk f11e is
.1m.'arly removed.
~/

The .ecen~ overlay •• called when the 1/0 c~eck4"o is como1ete.
Th;. then u",i"k' any buffe,. stil' a"ocated from
f,ee core, i.e. nevice A•• 1on~e~t Table e~te".4e"s mede
afte, tke ~~OQram Itert Csee Seetio" 3.1.2.2), t~e ~DB che."

Dose.RNO

Ind dev4ce d~fve~s "o~~8"Y "o"-~.sidl~t, 8"d effectively
~etu~"' •. t~o,e
buffe~.
to f~ee co~e by c'ee~i"Q t~e Buffe~
Al1ecet~o'" Table Clee Sectio" 2.4.2).
tt ~llo ~e.et. t~e
4nte~~uot
vecto~
tied to t~e d~ive~. thus ~e~oved e",d a",.u~e. th.t the ~aside"t d~ive~1 I~e unlf"k.~
f~o~
I"'Y FI~
C~I~n
Clee Sactio", 4~1.J). Fi~ll'Y it ce". t~e ~~o~~a~ II
.~ecified w1t~ III Reoilta~. clel~ed.
ElCit Stetel
Ii the S~ec~.' n~~ve~ i, reca,'ed 0'" I~~er, the Re~i8te~.
Ind Itlck .tate a~e I. shown f" Saction 6.2.5 w4th P1 .et a.
fel'ow.i
.2 • P~eorl~ ~ot 1" co~a, ~e"ce the co~~a",d
4. I~ve'id •
• 3 • Add~elS a~cu~ent.co"tain, ot~e~ the",
octal dioit. o~ i. too bfo, thul Faulty
Sy",tax •
• e • Add~a •• to be u.ed Cinclud4",c a default)
f. Il'eoel beeaule it doe. not fall 0'"
e wo~d~bou"da~y e~ i. oU~lida the
oote"tial ~~o~ra~ area. f.e. ahove t~e
~el.rllnt Mo"ito~ I",d be1ew t~e too
of Iva.'lb'e co~e.
AI ",oted unde~ wGene~al P~ocell."c", an acce~te~ co~~.n~ ~e­
Ito~e. the .yste~ to ",o~m.l D~ocram ~u"'-Itate w.t~ the steck
clel~ed to p~oo~a~ Load Poi"'t a~d ReQi.te~. ~e.at
to thei~
conte",t ~~io~ to a RESTART o~ 0 fo~ BEGIN.
Detailed

P~oce ••

ingl

The commo" orocessino fo~ B~GTN I~d RESTART i, .t~a.~htfor­
wlrd end neadS "0 41lultration. Its ba.ic staD' I,e a. fol'OW.I

1.

Reltore

by the I~t.rorete~ e",d
the .tac~. ReJect the comthe Soecia' ~~ive~ if the
MUS i" SVT co"'taf~. a low-byte of 0 CDreO~am "'ot
'oaded - ,ee Section 2.1.1)
Re~f.te~.

ol •• ed

clea~
i~'
~etur" from
~a"'d as invalid throuQh

If any aroument i •• uo",ie~, convert va14d octal
d;oU. into t~e;r b.n.~y eQu.~lle"'t. u",til .hhe~ a
~ecoo"fzed delimite~ (.Dace, comma, o~ CR) o~
.fnQle-word overflow.
(AQlin reject tha co~mln~ fo~
~a~lty Sy"ta~ +o~ i"eoel eha~.ete~1 o~ such overflow). 'ubatitute the loo~oDriate defAult fro~ the
SVT fo~ "'0 arQument.

Ve~ifv

the ,.ga'ftv of the .t.~t .~d~e •• , wfth •• ~­
i'.r. ~eJ.etfo" ff it f. "ot e" • wor~-hou"d.~v 0'
wft~f" the c~ooram a~eA a. deff"ed bv
the too of
t~. r •• id."t Mo"itor a~d thlt of avai'ab'e cor ••

li.

W~." the eo".o'e ~,f"ter ha. eomo'.ted the
eo~ml"d
LF outout CI.e •• ctiorl 6.!5.2), 1,.11 I" 1/0 bv RESET, but r •• tlrt the 14"e-eloek ff c~ele~t C,.
'how" bv it. v.etor o01"ti"g .1.8wher. thl~ t~.
Trac .~~or routi~. C.a@ chActe~ 7)

Pr'c.re a ~.w .tac~ fmMedfate,y ~eJow ~rOGra~ Lo,d
poi"t ,. .aved f~ the 8VT, wtt~ ft. ffr.t e~triel
b.i"G 0 for crogrl~-e.@eut.o~ crfer4tv 'ev.' a"d
t~e I~.e.fied .tlrt DO."t Cl)
~e~ov.

from the Dre.e"t Itack the ,.ea" ~Iramet.rl
for the Se.ei,l Driv.~ a"d u.e the ed~re'l for the
Lflt."erl P04"t.r Store saved below t~em to r.store
"orma'
ru"-t4me key~oArd co"t~ol t.e. 8.etio"
6.3.1).
7.

R.l •••• the MSe bV clearf"o I"V outst8"dfrlCi IJ.eQ.
COU"t ,"d ftl OCCUcI"t-tde"tffier t.e. 'eetto"
2.3.1).
e"lure thlt WRA
the 'VT CO"tl."1
t~e
Idd,e'l of the System weit Looc Clee ~.et.o~

.'.0

4"

2.1.1).

Clll the ffrlt ov.rllv frOM the "e.t iVltem-devfe.
block ff the eO~ma"d t. BEGI~. Fer R~STA.T, trle.
the Mo"ftor DD8 ehlf" f~om ft. Itert f" the ~VT
C.ee S.ctfo~ 3,1.2~J) .I"d r.mev, Au,v "IQI from
the DD~I e"d th.fr I,.ocflted devfee d~fve', tooeth.r with e"v ~ 'f"kage Clee Sectfo" J.l~2.4)
Set t~e ~US t" the SVT to Ihow ·DrOQ~a~ leeded I"d
ru"ni"Q" 1,t. ~ •• tore t~e o~fg."al C~OQrlm regtl.
t.~., relet SP to the ".w stac~ ereCAred It .teD
~
a"tI ex it bv RTI.
The ov"'lv croe.'lt"o "OW oerfnrMerl for ~EGI~ 4. fllultrat.d at Ffoure 6-9. AOI4" the fe110wf"O are the bl.4c ODerat40".i
R•• tore the Reoilter. to th.tr Itat.
ove~'lv ea"
Ind c'ea" uD the Itlck.

..... -....... -.

~rio~

~et

to the
the start

1. If ~~~ _tack w., .~ctv. before t~e eom.l~d fnter,uDt
the.. 4t8ml overwrite the f"t.~ruct r.turn a"d ~e"ee ee"~ot
eerruet I"V other veluable dltl Clee F40ure 6-2,.

the ~o"ito~ DOe cha." f~o~ the SVT .~d 41 there
fl. "0 'f"k~oe cu~~e"t'Y 00 to ,tee' te c'" the
"ext ove~lay.
~f

Re~ove

the SVT DOe-,fnk. Fo~ e.ch ODS f~ the ehef~
(aaain lee Sectfon 3.1.2,3), c,ear ftl SUIY '''0'
that of ftl a •• oefated devfce drtver ,"d 'e~ove '"Y
~ ,f"kaQe. Go to t~e "ext DOe i" the Chlf" tf a ••
th.~ the D~tver
I"te~face
T.ble).
(leI Sect ton
3.3.1) IhoWI the devfce to be "on-f4'e •• ,te"ted or
t~OUQh the device i. f4'e •• tructured, there t. our.
~ent'v no f4"
open, (f.e. 9~,".fl~0 •• ele.r ,nd
"0 FIB f. attached • .ee Seetton '.3.2)
~the~wf.e

'nlure buffe~ avet'tbf,tty hv .reDer.~o
0"' 0" the Iteck of a •• ,e .et " the It'"d,re fer
the device (a. .how" t" the Dr4ve, ,"te,fl.e
Tab'e). ~.nk thf. buffe~ to the OD8~

'.

~.i"o • du~mY

!.

Fo~ a 'inked f4'e aDen for ereetto"

~i"k.block overl'vf"a the ~".t~"
code.of thfl routt~e~ eall .eLOI~ tf data
in the FIB indtcate. that the ft'e fl eontt.uou. or
i,_ ope~ on'y for tnput .~~ '."k.d~ L~.e the 'tIck
buffer and retur" to .teD 2 whe~ do"e.

~"ce·o"'y

or !~t.",fo",
a. dum~y TRAN-block (lee .ec~f~" 3,2.1.1' •
,oat" 0" too of the .t,rt of the rout tn, • a~d u,'
it to read fn the a~proDrfate d4rectery bloek froM
the device. (The FtA contatnl ftl .~e"t~fic,t~o" if no"' the ~OPEN ea"not be complete • • 0 .etu'~ t~
.te~ 2'.
C'ea~ the File-name frem the re'ey,"t entry for a new ft'e o~ un'oek ,n o'd ene het"o e ••
tended a"d wrfte the block b,ok.
(The eld .4le
'ttll ret,t", ft. former 4dent4tv." the ',tter
ea'e • ,ee FIB d'ieriotton',
~r.oare

NO

fu~t~e~

e~.ek

let40~

41

~eQu4~ed

~etu~n t~ .t'~

fo~

~EetIDe,

~e~ce

2 if the d~~v.'.'.e4'~ty
t~d.c.to'
'~OWI
th4. .1 t~. dev.ce
4n
UI ••
~t~e~w ••• '
.g •• ~ by .TRAN, t~.ce the block. of the
fi1., .t~~tf~g f~o~ the FIB .nt~v io~ "Ff~.t aloek"
.nd ff~4.~f"g w~en • ~ link •• eneou"t.~ed, el ••,.
i"o III '."k~wo~dl 4" t~. ~,oce ••• ~n eO~Dlet4en,
~etu~n
to steD 2, aoei~ w.th the .tlek.buff.~ ,e·
"'ov.d C1) •
Ind

C.~l the .econd eve~l.v
~loek
."d when 1n, ,

D.I.ed.

from the "Ixt .y.t.m.devfee
•• tor. A.gf.te~ eo"t.nt •••

8.

Collect t~e .te~t Idd~ ••• fo~ .nv Devte. "'.onme"t
f~o'" BAT
in the SVT. If nOn.l, t,.e. the
t.bl. lfnkage C••• S.etion 3.1.2.2) A"d un'tnk .,,
.eo~ent.
Ibove t~. to~ of the ~e.t~e"t Monitor ••
'~Ow" .t EDM in the !VT • .4nee the.. mu.t OCeUDY
i~ee co~e buife~. C.ee Seetton 6.4.9 I"O)~

Q.

ele.~ all wo~dl
in the Buffe~ Al'oe.t4o" T.bl.
betw •• " the lfmftl Ito~ed .t BFS I"d !FE tn the
SVT. Re.et TO~ .nd _it. .tlek·.toD C.e. ,.et40n
'-.'.~)
f~o", fOM w.th the .tlndl~d 4~.byt ••• f.tv

T.b,.

,".~gfn.

10.

Se.~eh the ODL (.e. S.ct,O"
~"fd."t d~4ve~1 (Itan.ffed

2.1.3). io~ De,,,,anently
by no .yste",·deviee da.
t., w~.c~ are ft, ••• t~uctu~.d, c1e.r btt m'D DO •
• nter., fo~ non.r •• 4dent d,fver., e'e.r th.tr core
.ddr ••••• in the DOL a~d re.et the dev4c. i"t.~ruDt
veeto~. to t~ • ., to the e~ror routtne~

•••••••••••••••
1, It .~ould be

"oted that no atte~~t •• ",.de to mOdtfv the
bft.m~D .ea~e"ts .to~ed on the d.vte., agafn to av04d DO ••• •

bl.

ce~~uDtfon.

AI

.~own

f" S.ct.O" 4.1.3, the block

al'o-

c.t40~
.ehe~e u.e. I" .n.eo~e •• g~ent du~tnQ f~'e·c~elt10n.
~enc. tt follOW' that 4f th1. i. not wr4t~en to the d.vte.,

.t.,1

the bloek. ofven to t~e d.l.ted ff'. wfthfn ft. r."oe ~e"'.fn
f~ee fo~ fu~t~e~ U•••
How.ve~,
there ",ay
be .ome
b'oek.- whie~ were Illoe.ted f~om I ma~ .eg",e"t wh.eh beeeme
ful' ,nd w•• t~er,fo~e ~e~l.ced t" ~e"'o~y.
Thele ar. ~ot
recl.4med.
It f. Do •• 4ble, •• • re.ult, t~.t I "Oevtce
Fu"" .~~o~ C," oecu~ 'ater eve" thOUQh othe~ evtde"c. eo"tr.dtctl thfl. Thu. th._u.e~ 4• • dv1.,d to .vetd e.e •••• v.
u'. of BEGIN •• a ""1"1 of ~e.u"'~t40" Ifte~ Droer.m f.tlu~.,
~a~tfeul.~,v
4f 10"o •• h file • • ~e involved. Clee "Gett4ng
DOS 0" t~e A.~" • OEC·l1·~YOO·O,.

1t.

ele.~

all Qeoiste~. at'ld exit te the o~oora~ with
MlJS f" t~e SVT, .a.f",.et to t,t at'ld the stlCIe
~e~ov.d to Droa~4~ 10.d oo."t.

the

e"able. the oDe~8te~ to reeu •• t the U"'o.dDroor.m ~re.e"tlv f" core, If ".e •••• ry ft .toc,
the ~~oor'm' oce~'tfo"'. f"eJudi"o eurr.",t I/O~
~ow.v.~
ft
•• t.bli.he. eOt'ldftio". whfc~ Der~ft the trl",4."t ~o"'fto~
"OW brought '"to core to ~10" a"y ffle. left Ooe'" ."'d 'e, ••••• 11 data.ets .tf"
."ftf.'ized.

The KILL

4"'0 ef

CO,"",I"d
No

eo~m."rl

•

Fo~",.tl

.~eume"t • • ~e

"eeded,

.0

the eo",m."d i,

.i~e'vi

KI[LL1
G."er.'

De.e~iDt'o"1

If • a~eo'.m i. lee" to be loaded,
h.~dw.~e RESET ."d,
hy • • • • rch

.1'

.,1 the

t/~', ki"ed
~e".ter DDB
At the •• ~. t.",e,

ef

~y

•

ch.t",

.f

110 bu.y .t.t ••• re re",oyed.
."y
""lced ff'e f • • ttll oee" for outnut, • ff"ll block with. e
,ink •• D~eD.red fo~ ,.t.~ df.e.teh wh.", the era"I""' ~O"'­
to, e.", CLOSE. e.ee Seet40" •• 1)

The .etu.l KII.L ,. effeetea by •.• ~)CIT. eal'. t ••• S.etio"
."d,. of eou~.e, the Seeef., D,fve" i. "ot r.c.n.d,
H."e. the eom~."'d D'oee •• o, .".u~e. th.t the ~S~ "ead.d by
XIT •• free a"d ~ef"'ft'a'iz~. the Iceybolrd Lf.ta"I'. DO."te~s.
F,".lly to a"9w XIT ."'e" ,oe'" ."d o"v."t eo ••••
ble f.ilure, the .t.e k f • • et .t the too of Iv.fl.ble ",e",ory
b.fOre the ~MT ea e." •• ",ade.

e.lS)

Exh State.
If the KILL com"'a",d f. aeceDted, cur,e"t ~eQt.t., I"d .t.cle
.t.te. e.a •• to be ~"ey."t. Howeve, tf "0 proer.m f. 'oaded, the Soeetal Driver f. reca".d to ~.J.ct the co",,,,."d.
I" this ea.e, the 'eeufre"'e"t. "oted f" e.et4ol'\ e.2.! 'D~'y
."a f" ~a't.eula, Rt ••• et to -2 to ~.oue.t ." -r"v.'td
Co",m."d" ~e •• age.

'-~

Detailed

P~ocelli~gl

KJLL 9~ocelli~g te~el t~e f01lowi~g leQue"ce,
tio" tl "eeded.
1.

"a

."ust~a­

qelto~e Reoi.ter. Da'l@d bv tke 4"te~pete~ e"d
~e­
MOVe its retu~" peremetl~' f~om t~1 Itaek. Reject
tk. eom~and as t"valid t~rouQ~ tke !pecial Dr.ve~
4f the MUS in t~e SVT C•• e Seet.o" 2.1.1) eo"tat"a
a ,~w byte oi 0 - ~r~q~eM "at 1oedld~

Wa4t fo~ the co",o1e o~f~te~ to eo~o'ete ita outeut
of t~e eomMa"d LF C.ee Seetfo,., e.J.~). Ki', all
1/0 bv RESET, hu~ ~e.tl~t t~1 It"e-cloek 4f D~'le"t
Cal I~OW" ~v ita f"te~~uDt vecto~ oo~"ti"o el.ew~l~e the" t~. t~a~ ~r~o~ ~outf"e ea.1 CkaDtl~ ,,).
Set t~e .tl~t of the Me".to~ DOB c~a.,., from thl SVT
e.ee sectto" 3.1,2.3). Go to atep e 4f "0 0081 a~e
eu~~e"tlv .ltablf.heQ, othe~wfle fo~
eech OD~ f"
t~.
c~ai",
clea~
ft. SUIV Flag a~d that fo~ a"v
d~4ve~ astoned to 4t e"d ~emovl e"v Q It"kage (lee
Seetto'" 3.1.2.')
A.

of ftl Faef1ftv r"dtcato~
elee Sectfo" 3.3.1), e"v 9~tve~ ts .~e" to.be
ftle-It~uctu~ed, check fo~ a ftle Ittl'
OPI" fo~
outout. If luch file f. '4"ked e"d .oea~e"tlv co~­
~ect'v u~dl~wav, c1ee~ t~e li"k·wo~d ." the deta
buffe~ attac~ed to t~e ~A'eVe"t OD~ a"d aet a va~f.
ab'e pof"te~ t" th, ~D8 O~fve~_wo~rl COU"t to fl'ldtca~e
that dete sti" re~af"l fo~ outout w~e" 1ate~
c,o.ed.

If,

efte~ e.amf"atfo"

Afte~ e"
the OD~I have bel" D~oce"ld, ~emove the
UleOe.Count a"d Occuoant-tde,.,tffia~ f~o~ the Ita~t
ef. the "" S8 t 0 ~e , e a I e it f 0 ~ f u "t kI ~ use C. e e Sec •
tfO" 2.,l.U

qemove t~e BCleta' O~ive~ ~Ac.'1 pe~emete~. f"om
the Itaek a"d use tke leved L.lte"e~ ~o.,.,te~ StO~1
edd~'11 "OW en t~p (SI. leetto" 6.3.1'
to ~.t"t­
tia,ize the Lilte"I".
7.

Move the Itack pot"t@" to the to~ of CO". (balow
t~e
possible Pepe,,-tepe Sv.te~ ~o.de".) a"d ee"
.EXIT to feteh the t~.nsi."t ~onttor to oerfo~m

DOlt·p~OQram c'ean-u~.

Dose.RNI"I

I~ Se~t.o~ 2.1. A , it w.a ahow~ th.t if • 1t~e.e'ock ta D~e·
.,"t .~ • DOS co"iiQu~.ttO", the ~~~ito~ ~"~t~11flltt." rou.

.eta it into oDe~.ttO" by e".b1t"O tta
Sectfo" 2,5 the" outlf"ed the ,eaida"t
u.ea •• c~ tnte,~uDt to t"c,.~e"t I double·D~eef.f~" COU"t., ato,ed •• TOO i" the IVT.
The TIM[
co~m'"d e.fatl 10 th.t the oDe,.to, ca" e"ter. d •• ,y 4"ftt., aettf"o fo~ Ton I"d c." ,.te, ."te'r~o.te ftt eo~te"t.
tt"e

.u~o~.!tc,"y

4nt,rru~t
f.ci'fty,
~o"iter ~edule Which

CO~"""d

For",.ta

Th. ge"e'I' for", for the co~ml"d fl .a fo"owi.
TI[MEJ

."d

rHHI~MiSS]CCR~

~~
59 .ach ,eDreae"t UD to two ~eef •• ,
f~r heu~a, ~fnutea
aeconda •

Where HH,

."d

• a wfth the D.TE command, d.aeue.ed tn

dfQtt.

Sectto"

8.'.1,

a.~e

for.lt.

the

~reaene' of the .rQume"~ identifte. the entry of I "eV tfme,

itl .baence • reoueat for

~rtnt-out

fn the

'."e,.' Deaerf~tfo"1
Provided thlt the f.,at chl'lcte, of I"y ~,~ume"t f" the
ia • vlltd deei"'I' dictt, the TIME DrOCetaor ItIU~e.
TOO i"Dut ."d co"ve~tl e.eh decima' ASCII e1eme"t. t"t~ ft.
bf"arY eautv.Je"t. If e.~h vllue ~I the" wit~t~ ft, e.oeeted 'f~tt, ft ia reduced to elock-tfck. afte~ effective MU'.
tfelfc.tfo" by I" 'DD~oo,.te f.ctor. Th. IU. Of the three
re.ultl ta atored fn the SVT Time alot f" the detf"ed
dOubl'-9reciaio" for~.t, f... with e.ch.word eo"t •• tf"O
I DOlftfve ee) aiQ" fol'owed by 15 "umerfc bftt.
If ."y
ele~e"t
ia omftted, • def.ult v.lue ~f I t. aub.tftuted
(I.a. "TI 12" fa .eceDt.ble f" '.eu of ·TI 12 •••• ·'.
however ,"y other deDartu~e from the aDee4fied for.I' .IUI ••
reJectf~n of the eomml"d 0" the orou"d. of "Il'eOI' Sy"t ••••
CO~"'I~d

ef

TOO Drf~t·out fa aUDD!fed •• e ~ •• ult o~ the,. beinQ "0 comml"d .rgume"t or of one begin"f"Q wfth a ~o"-dtoft. The
curre"t co"tent of the ~VT Tf~e counter ta lucce •• tv.'y dtvided hy e" IDDroDrflte vllue to D,oduc. the reaui,.d 'sell
diaits ~h4ch I,e then diae.tched to the c~"lole Drt",., with
leD.rAt."" eolo", a"d I ter~.~.t.~a CR/LF.

PAGE b-S3

Regl~dlels

tu~n.

of

t~.

o~oeellin~

~e~fo~M.d,

eeta.'.d

t~e inte~~u~t.~ o~Oq~IM

t~e

TtM~

~out4ne

~e­

by Soec4al D~ive~ ~eeall.
Mence t~e Regi.t.~ and stack .tate a~e a. data4led 4n Sect~on 6~2.5,
if in i.~t t~e cOM~and ~I ~.Je~ted b.caus. of
Faulty SyntAx, PI conta.n. -3.
to

~~oce •• inQI

Bot~ t~e 4n~ut and out out funct40n. u'e .4~t"~ 'uce •• ,tv.
a~d't~on Ind lubt~lct.on alco~it~M' fO~ ~ulttel.clt.o" ,nd

d4vi.ion.
t~at.d It
1.

T~e ~~oce,.tng
F4gu~e 6-10 and

qesto~e R.oi'te~8

tllu.-

the Inte~D~ete~ Ind
the ,tack.. If t~.
fi~'t c~a~act.~ of a~y a~ou~ent ., "ot
I decfMa'
dicft, a'au~e outout i, ~.aut~.d and 00 to .teD ' •.
clea~

2.

,eQuence the~efo~e i. a.
4, ba.ically a. fol'o~.i

~.tu~n

Da •• ed

~a~a~ete~s

by

f~OM

on the atlek and .et a
alt.~nlt. "'Ment l4Mtt'
Ci.e. 24 ~ou~., 6~ ~fnute., 6' seconds) ,nd eo~·
~e.~ondfng multfolfcation facto~ ••

Clea~

Idoubl.-wo~d

o04nte~

to

I

sto~e

tlbl.

of

u.inG the .ta"da~d "Multfoly o~.vfous ~e,u't by l~
Ind Iddnew diaft- techniQu" eonve~t con.eeutive
decf~ll dfoft.
to· bfnl~y C•• nole.D~ect.ion on'y
needed), .tooDinG at the ff~.t non-dfo4t. If tha
~"ultfna vI'ue ,xceed. the eXDeeted l4~~t~
~ecall
t~e
S~ecfal
D~tve~
to ~eJ.et the eo~mlnd with
"Faulty Syntax" o~1nt.
U.e a non-0 4nDut value I. I count,~ whf'e I~dt~o
t~. cu~~ent ~u)t~olt~ltfon flcto~ fnto the .to~e on
t~e .tlck Ca"owinc fo~ the 0 stan tn the 'ow-o~de~

wo~d).
~.

If the. "Second.- facto~ hI' JUlt bee" u.ed o~ the
end of t~e a~aum.nt hal been ~eech.d, 00 to .teo 8
to .to~e the ~e.u't. Othe~wt.e chec~ the cha~acte~
which .tO~Ded the conve~ •• on fn steo 3. T~eat
s~ace a. the. end of inDut and aQatn 00 to .tee 6.
Fo~
colon ~oye to next tlble ent~y and ~eDeat f~om
steD 3. In a" othe~ eases, ~.Ject the co~~anrl fo~
"Flulty Syntax".

6.

~ove the f4nal ~e,ult 1~0~ the .tack
4nto
the SVT and ~ecll1 the Soectal D~tve~.

Fo~ D~fnt.out,

adJult

it to

TO~

fn

collect the cu~~ent T~O content and
Set a 00-

~'Move the low-o~de~ •• on.

4"t.~ to a tabl, of ~.duet40~ facto"

e4~al

d404t of

t~,

for each

de-

outcut.

f~o~ the ASCII d4Qit b'I.(6~),
eou~t
t~e
of suec.ssful su~t'aetio"s of the eu',e"t
tabl. factor. Reltor. the ,e~a4~d.' w~e~ ~'Q~t.ve
a"d ~ov, to "ext factor.
~tart4"Q

"u~b.r

S,"d the re.u1ti~G charaet'~ t~. the
eo".ol,
er4"ter. If the fi,st dio4t of • ea." reD.at fro~
Iteo 8. If the seeo"d but ~ot that fO~ the ·Seeo"d." ,le~.~t, o'f~t eo'o~ e~d t~,~ reD,at fre~
.teo 8.
Otherwfs. 'estore the eri"t" earr.e~,
a"d r,cal' the SD,c4a1 Dr4v".

with

e~/LF

Th, MnDIFv eo~~e"d eermfts kevboard ,f~u1't.o~ of the ~.am4",
CeDosit oa"e1. swftc~,. fo~ makt"G Mi"or cha~a.' to
locatio", f" "or~al ~emory at a"y tim'.
At 'ac h reaue't,
the co"te"t of a sDeefffed addr, •••• outDut .t the eo~.ol'
orf~ter~ The u.,r ~.v the" mer.1v elo" the 'oeatte~ bv '"try of CR alo"e or he e," tv~, f~ 10m, "ew CO"te"t firat,
R'ol,cf~g the CR by ~F r'lult. 4" the
Auto~.tfe
outDUt of
the co"te"t of the ",.t locatfo" for 14mt'er ectto" a"o thus
Drovfd,s for s,aue"tfa' ,.amf"etfo" a"d modff4catfo~.

,"d

~

Thi. of

cou~..

f.

t~.

aDT.ltR~ ~ow've~ ft ••
b • • • u~.titut. fo~ th.t

..m.
t.ch"fQua
"~t f"t~"de~ thAt
D~OO~'~

.1

t~.t

u•• ~

4"

t~. M~OJFV CO~MI"d

4" "o~~.' d.~uea4"o, 4t f.
Ju.t • M.,", fo~ M.kf"o k"ow" Ditch •• to a" .'~ •• dV ta.t.d
~~oe~'M ••• t'~DO~'~V M"'U~', u"ti,
the o~i~f"., .ou~c.
c." b. co~~.ct.d I"d ~'I.'.~b'.~. Th. CO~M~"~' D~ovi.4o"1
do "ot the~.fo~e a.t."d to oDe~lttO"' UDO" the CO"t."t. of
R,o~.t.~. or the •• ~.~"., D.ge.
Fo~ the 'Itt., c ••• elDecf."v, the COMM."d. Droee •• o~ h•• "0 wlV of ch.ek4"0 .d.
dr •••• '.o.,~tv' it could O"'V t~v t~ lece~. " ~aou4,.d 'oc.tfo" ."d t~u.t th.t "0 ~.,dw.~. t~.e follow.d, A. ,how" i"
Ch.Dt." l, .uch t~'D would re.ult 4" • e." fo~ E~ro, Of.o"o.tte e~f"tf"o which .1.0 ".edl the ~S~t .f"ce th4. 4. "ot
f,.. .~d the MODI'Y D~OC"'."O c.""ot be Co"t."~ed to ",.ke
tt '0' the 'v.t.", would ha"Q. M'"ce the cO~M."d ••. ~.Jeet.d
U""" .th • • dd~"1 el" b. v.~fffed ., be4"e ~ftht" "o~M.l
bou"d. (1'.
CO"'M."d For",.tl
Th. ~ODIFV cO"''''I"d MU.t 4"clud • • " .,ou",."t. thu. ft.
4"Uf."v t'l
~~[DI'Yl

Oet.l .ddre ••

CCQ~

wh.~. t~ • • ddr ••• It •• ~" • w~'d.bou"d.'v
M'Morv (l •• dt"O ,.,0. "ot ,eaut~.d'.

.

fO'~lt

wfth."

avafl.bl.

,

;.".,., O,.crfpt4o"1
P,ov4d.d th.t the .dd~'I' f. v.ltd •• "oted .bov., the ~ODI.
'Y D,eea •• o, 4"t"",,lv CO"v.~t. ft. oct., ASCII dte.t •• "to
• b4".~v v,'u. whfeh f. th." uI.d to .et • DOt"t.,.
Th., •• ft.~ the oD.~.tfo"_f. , dialogu. CO"I.,t!"Q of 0"' o~
•• v.,., 14" •• , fo~ elch of wh4c~ the Droce'lo~ fi,.t D~4"t.
the fellow4"Q, IQ.4" u.4"e ft. OW" oetll trl".l.tori
.dd~'.I/Co"t."ti

....... ----_._.
~/

1. Th. ha"o.up C'" "eve~thele.! occur if, ev the LF D~O.
C""
the u.e~ ,tec, above the Iv.t,.ble ~emory l1m4t.
Owf"O to the limited ~IDlcftv of the KSB, the 'eo,,4tv ch.ck
f' M.d. O"'V 0" the f4~.t .dd~.!, oDa"ed. ~."c. 4" the p~o­
o~.mMe,. M."dbook, the u.e~ f. adv4 •• d to be c.reful.

DOS6.~N~

I"d weft. f~~ t~e u•• ~ ~.o'v tl). ~h' chl~,ct.~ •. e"te~ed_by
the oDe~,to~ ,~e .to~.~ 0" teo o~ the co~m~n1 fn the Lf.~
te"e~. buff,~, .~d du~fng tht! oe~fod, RUB OUT o~ CTAL/U
.re
I •• umed to fnd4e.t. e~ •• u~. of ~revfou. f~Dut I. f~ the o~f­
g4"al cem~l"d. The f"out .toD • • t the ft~.t CA o~ LF whe~
v.,4d ect.' fnDut, 4f ."y, •• u •• d to ~e •• t the eont."t of
the .dd~e •• u"de~ the pof"t.~. A L' ent~y co"tfnue. the dt'looue,.C~ e.u.e • • " e.it to the ."t,~~uDt.~ ereO~'M by Soa·
ctl1 ~~fvar ~.c.'1.
An 4nv.,fd 'dd~ ••• t" the co.m.~d or 4"'0"
Ch.~.ete~. fn
the oet" co"te"t ."tered .tOD furth.r .ctton 0" the comma"d
with .n .ep~oDrflt. m•••• ~. b.fnQ Dr4"t.d IQ.~n th~eu~h the
SD.eta' D~tve~.
E.it St.te.
A•• hew" ,bove, the .v."tu.' r.turn to the ereO~'M f. IlwaYI
th~ou~h the SD.cf" Drfv.r, hence A'af.t.~ Ind .tlck .tlt •
• rl cove~.d bv S.ctfon 6.2.5. 0" .rror •• it, At m.v cont •• n
one of the fo',ew4"QI
~3

• 111.011 ch.rlct.~. durfno 4nDut, .e
'.ulty Svnt.ic
.6 • 111.0.1 Iddr ••• - not 0" word-bound
4n ,vltlabl. cor.
Det,f"" Proce •• fngl
Th •• eoue"c, of oDe~.tfen. fn MODIFY Droee •• ino t.
t~lted at Ffgur. S.11 I"d ft. out'.n ••• I. fol'ow.i
t•

tllu ••

A,ltore R.ot.t.r. D•••• d by the I"te~D~eter
e'e.~ ft. r.tu~" pa~lmet.~. f~em the .tlek.

,"d

Conve~t 'nv v,'td oct.l ASCII fnDut f"to bf"lrv Ind
.tore •• a m.mory •• cce •• Dof"t.~. ~.J.ct the com~I"d th~ouoh the Se.efll Drfv'r ~or -Faultv Sy"t •• -

"0 .~gu~ent, for 0"' co"t.tnfno ehlrlct'~1 othth." oct., ASCII dtqft. or for If"o'.·werd ove ...
flow.
"'0 e.ft, tf the converte~ v"u. 4• • n
"Il1eo.' Add~"'· , •• c.cfit'd Ibove~
fo~

~r.

.......-._.- ...

1. The f~t4~~uot facilftv c.n"ot of cOu ... e ~. u.ed .tnce
thf. ~e~u4~e. the ~e,e.df"g of the So'c4., ~r4ve .. • I" fmOel.fble ooer.tton whi'e the MODIFY mOdul. t. Itt"
~.ouf~ed.
The i""ut f. t"e~efor. cent~el'.d by f'.o te.t4"o '"1 the
ch.~.eter-ha"d'."o croce ••••• re •• bedded.

PlGE ~-61

DOS6. lh"O

3.

to it. eo~~e.eo"d4"o
to the cO~lo'e o~(P'!te~
L4kewf.e, o~oce •• the eOP'!te"t of
the ooiP'!te~, te~~i"lted by I I

eOP'!ve~t t~e eo4P'!te~
~seII
digiti 'P'!d

fo'lowed by
the 'dd~ell

,I.

uP'!~e~

co~teP'!t
~.ID.tch

U14"'o the oOlitio" of the eO~~'P'!d te~~."lto~ f" the
L•• te".~. CO~m8"~ buffe~, •• t Do."te~1 for the u.er
~eD'v,
(T~ere •• It."
amo'e room .iP'!ee t~e buff.r
c," 'eeeDt I fu" 'f"'l • • ee Seet.o" 6.3.1).
Wlit fo~ the i"'Dut II ",oted u"de~ "G8"8rl' De.e~.D.
t~O"" 8",d whe" .vI~'8b'e .tor. the e~a~aete" w~th.
out Darity (bft 1), f" the byte at the .tlrt of thw
"'eW .tr."~ (to uti'4ze the .e~e teeh"4aue' ,. 4"
the o~.q.",' d~4ve, (.ee seetio" 6.3~2»
If the

e"'t~y

i. CTRL/U, eeho ~U, ,,,,d
i" thf. e,.el)

.te~ • ("ote P'!O CA/LF

'.

~elt.rt

~heck whether. RU80UT t. ~.rt oi e .e~u,"ee ("ext
("Dut hyt e •. 2~1 • .ee .t eO !5 .bove). If "'ot, eeho
,. 0 before Drf"tf"o the ehar.ete, de'.ted (ff I"V
~e~.i"."Q).
Set the Iw4teh far thl "'e.t 4"_ut a"d

reD,.t

fro~

,teD !5.

~to~e a~y ot~a~ cha~acte~ 41"1 the 1~put buffe~ (f01.
10wed hy ~ •• (I -"0 RUPOIIT" fl!tg). Tf the c~eviou.

~e. PU~OUT, ec~o o. if t~. ne~ o~. is not
a t.~~.n.to~ (-ba.4ce,1y CR o~ LF) C,), ~e~.'y .cho
it "10 end ~e~.at f~o~ .tec 5.

cha~act.~

~.

~o~ any t.~m.neto~, ~~int CR/L'.
If I~y othe~ 41"1·
out h•• occu~~ed (.nc'ud4~e 0), CO~Ye~t v"td oct.,
ASCII diettl into a bi~a~y va,ue (2) .~d .to~. t~i •
• 1"1 the .~d~.'1 un~.~ t~e coi"t.~ i" o'ace of th.

o~fQ.nal co~te"t.

If LF w•• ente~.d, f"c~e~.nt the ~eme~y·acee.. DO •
• "t.~ .nd ~.ce.t f~om Iteo 3.
Othe~wfl • • wft
th~ouO~ the SDect., D~.v.~.
The m~thod u•• d to cont~ol the oetal co~ve~.fonl de.e~v ••
m.nt40n ~.~..
Th. leeu.nc. fo~ ."y d.,'oeue c." be •• ~c'v
cO"14~e~.d '1.
1.

eonv.~t oct., incut to bi".~y • ."iti."y the
"II.~d

co~·

.,.qu~.nt

2.

Conv.~t bf".~v

.dd" •• 1 to oct.' en~ Dr.nt

3.

Conve"t btn.~v cont."t to oct.' and er4nt

•••••••••••••••

1, Th. ch.ck ~ethod uled in f.ct ,"ow' .ny CTqL eh.,.eete,.
with .'" ASCII v.1u. '.sl.th." CR (01~) to ect a • • t.,.~f"a­
to~ with .,1 but ~F Itocp4ne
the MOOI'Y .eeuenc..
Hence
CTRL/C .~t.~ed.t th41 t.~e ~.s no other effectl to i.sue •
"ew com~.~d with • o"oo".~ "u"nine, • lecond eTqL/C 41 thul
n.c •••• ~y •

. -.--_._._.-.-.
2.

m.v

A .ub"out4n. u.ed in ~t.c 2 f. "10 cel'.~
heve two co".eQuence.,

h.~e.

Th4.

e.

The e~ror conditio". 'e.dina to com"'lnd ~eJ.ctton
by Sc.cta, O"iv." "eca1, aeat" heve th41 effect.

b.

Sc.c. ts .ccect.ble .1"1 lfeu of CR at the .nd of the
command .~gument to ."ow .•• ca~.t40" of co~~ent
o~.ced.d by I .
Since ~ecoanitio" of SDece the"e.
fo~. Itops the con~e~.io" v.'idly, it .1 Do.sibl.
to ente~ co~me"t .fte~ ~.ol.cemen~ co"te"t, 0"
i".te.d of ft. Howeve~, a' 1~plfed .t stec 4, the
UI.,. ~ust t.~e ca •• el t~. bUffe~ •• now le.s the"
and "0 checkfnQ occu"s.

,.".·.4z.

4.

R.tu~"

to 1 to

CO"v.~t

"ew octal CO"t."t ."d 1000.

•• y. 0" t~. ~.!t~iet.d c~oec~tY of th •. KSB, the t~o 'U.
b~out4"e • • r. 4" f.ct .et uo e • • co-~outi"e of the ~ •• " IeQu."ce - ul4"a • sf~.'.~ t.eh"fau. to t~.t delc~ib.d fo~ the
,AEAD/.WRITE C~OC.I'O~ 4" Sectio" 3.2.2.2.
T~

J~ eh'ot.~ 3, it w.~ .how" th.t t~e.M~"fte~ .llow. ~he

use~

' •• ve u"ti1 o~oo~.~ ~U"·t.~. hi. fi".l .eleet.o" cf the
1/0 d.vice • • "d ftle. to h• • • ,oc •• ted ~fth the data •• ts
•• ~v.ei"o the o~OQ~.~. S.ctio" 3.1.2.2, i" oa~t.eul.~, de ••
c~.b.d the t.ble ~h.ch e." b • • ~t UD Wfth." the M~"4to~ .~ ••
to ee"t.i" t~. "ec •••• ~V •••• o"m."t t"fo~m.t40" uled by the
,JNIT
o~oe"lo~
C.e,
Sect4o"
3.2.1.1)
a"d
the
'., •• ~.".a.~."t .Ub~outi"e LUK Cle. Sectio" •••• 1) ~he" o~.­
o.~4"9 fo~ 1/0 ooe~.t.o"l.
The A~SIGN eomm."~ •• ~~ov4d.d
o~t"eh)" 1y .•• t~. me.". wh.~.by thfl t.bl. f ••• teb14shed.
I" th •• ~e.o.et, 4t c." b. e"t.~ed .t ."y tim., thouah w4th
diff.~."t eff.ct d.oe"d4"o UOO" the IYltem .t.te, Mo~eov.~
a, "ot.d ~" S.ctio" 3.1.2.2, ~t 1. of v.lue o~lv 'f.the ~U"·
"t"Q o~oc~.m h•• "ot vet comcleted .t. data-let 4"ft •• lfl.·
t;O", The eomma"d ~.~ .'.0 b. u •• d to. el •• ~ out.t."df"a •••
• fo"m.ntl, but o"'y .f "0 o~oo~am f. loaded.
to

Cemm."d Fe~",.tl
Th. o."e~.' fo~~ of the com",."d •••• fol1o~.i
AS[SIGNl [Oet •• et

So.eff.e~,

Loate.'

~.~e]ceR>

wh.~. "Loafe.' N.~." •• the th~e •• ch.~.et.~
4de"t.ffe~
fo~
the ~~lev."t d.t.l.t ••• how" ." the o~oo~.~ Lf"k-b10ck (Ie.
8.ct.o" 3.1.2.1) ."d "O.t •• et Sc.eff.e~" ~ev eO"'.lt of C.v·
fc. ".m • • "d u"ft *, Ffle".",e ."d exte"140" a"~ UIe (but "0
.witch •• ), 'x.etlv a. defi"ed fo~ C~I C.ee S.ct40" e.4) a"d
ob,v1"Q the •• me ~ul •• fo~ el.",e"t-omf.s40". Ct)

Th.
the

P~ ••• "ce

of the .~gum."t .t~f"o f~o'1e. e "~w ."t~y 4"to
A•• fQ"~."t T.b'e cnAT) ."d a •• "d4c.ted .~ch
.t~f"Q mu.t ."clud • • t
le •• t o"e .ccept.ble ele~."t fo~
d.t •••• t .cec~ff.~ e"d t~. 'oofeal "a~e. No defeult al'u~o­
t.O"'_.~' ~Id., th •••• ~I .xc.ct.d to come f~om the o~oO~''''
ttl.,f •
~.vfc.

.....-.•.......

1. B.clu,. of ft. d.'.~1t."o fu"et40" f" the eo",,,,a"d
'."QUIoe, "'olce" ts of cou~.e "ot •• ~fl.~lv 40"0~ed.

is Q4v~", the eomma"d .f~"ffi., t~.t ."y ex.
tabl. 1.
b@ ~e~ov.d. T~f. fo~~ i. me.~1"gful a"d
4. t~e~'f~~e .cc.~t.b'. o"'v w~." "0 p~OQ~lm 41 'oaded.
( •• e S.etio" 3.1.2.2)

If

"0 .~oume"t

1.t~"O

Ge"e~ll

'0

De.e~1pt1o" •

•• "ot.d abeve, t~. ASStG~ eomm."d ".~m.t. d.t.s.t .o.c1ff.
e.tio" t" eSI fo~mat. H9weve~ 4t. p~oce,.o~ Ca""ot u.e est
.1"c._t~.~e.m.y b. a ~u""1"a c~~o~.m .'~ •• dy 4'~"Q the
~se.
Th'~'fo~.
ft ~u.t, •• me"t1o"ed '.~'1e~, ~~ov~d, fts OW"
ch.ck~"a ."d d.codf"O .s w.l' •• ~.kf"o the .oc~o~rt.t.
OAT
."t~y.
T~1' ope~.tfo" ".eds th~.e ov.~'.y ••
t.

Sy"t •• A~.'y,e~ • .ce", the .~Qu •• "t .t~~"O .o~ accur.cy f" .ecord."ee with CSI ~u' ••• "d p~.o.~e • •
t.ble 0" tOe of the .tack wh4c h ' •• t. the .tri"o
.t.~t .dd~e.se. for .ech of the cote"ti.' el.me"t ••
At the •• me tim., v.l1d ch.~.ct.r. fer .'.m."t. to
b. o.ck.d 1" ~.df •• sa form.t .~. ~.ol.C.d f" the
.tr1"O by t~e1~ corre,oo"dt"Q co"ve~ •• o" code. (.ee
S.ct.O" !5.3).

~.

Decod.r • tr.",'.t ••• ach .trf"o .,.~."t 4"to the
OAT fo~m.t u.f"O tt. OW" rad1x.!50 a"d oct., ASCII
eO"Y'~'1o" routt" •• ,
The ~.~u't • • ~. stored t" the
t.bl. 0" the .t.ek f".t •• d of the stert .ddr ••••••
OAT •• "trv Routt"e - r.due •• the t.b'. 0" the et.ck
to ft. OAT ."t~y fo~m ••• 'lu.t~.t.d f" Ffou~e 3.3
."d .dds_it to ."y .~i't4"Q OAT (~emQv;"o ."y othe~
e"t~y
of the s.m. 100fc.' "1m') o~ f"fti.t ••• ".w
t.bl. if "0"' ~r •• e"tly.

e.....

If "0 I~oume"t t. e"tered, the f.~.t oy.~l.y
CO"t~o'
4mmed4.t.'Y to the th1~d ."d provid.d th.t "0 D~OO~'~ ex·
•• t!, ."y. cur~."t OAT fs ~.moved by the ~etu~" of ~t. .~e.
to free core,

I" .11 ~'Ie.,.co"trol t. ~.tu~"ed to the t"ter~u~ted .tate
by Spect.l Drtye~ ~.e.l1, thus eoaf" Re~t.ter. a"d .tae~ a~e
•• d.scribed i" Sect to" 6.2.!5. E~ro~. f" the i"Dut a~~ume"t
•• u.u.l c.u •• r.J.etto" of the comm."d wfth the ,pcrocr.ate
m•••• o., fo~ which ~1 1••• t •• follow ••
-2 •

Proo~.m 4. lo.d.d .0 "Y"-.roum."t
comma"d trw. ltd,
.3 • F.ulty SV"t •• (il1.0.1 ch.~.cte,. or
e'em."t.,

PAGEb61

OOS~,ItN~

.7 • NO buffe~ IC'C' fo~ • ~e~ a •• fon~e"t
~h41e • ~~oO~'~ t. U"d.~~.y,

Oet.i'ed

~~oce •• i~91

The oye~.ll .eQue~ee of ooe~.ttonl ~e~fo~.ed ev the ASSIGN
eo~~."d i.
."u,t~.ted.t Ftou~e 8-12. As indtc.ted unde~
"Gene~.' ~e.e~tot~o~", this i. eove~ed bv th~ee ove~l.v.
e~e

tndividu.llv ~ileu'le~ bel~~, In e.eh e •• e, the
the ~e.to~.tton of Re~i.te~ eontent ••• ved bv
the e.t1 ."d the ~e~ov.' of the e." ~etu~" c.~.~ete~1 f~OM
the .t.ck.

whieh

f.~.t t •• k

t.

The SYnt •• An,'y.e~ Ove~l.v i. lo.ded
e.l', rt t.ke. the follo~tno .teo.i
t,

bv

the

Inte~D~ete~

~le.~ I

t.ble on toc of the .t.c~ fo~ u.e •• deo·
in Ffau~e 6-13, If the com~a"d h•• no .~ou­
~e"t, e.4t to e.,l ove~l.v *3,
ieted

2,

Sc.n the .~ouMent fo~ i wh4ch e." ~n'v ~e.n dev4ce
Iceeif4e.t40n in tht. c •• e (~o .~ttche" hence no
ve l ue,', If none 4, found, 90 to .tec ~ to look
fo~ Filen.~e o~ UIC.
Othe~w •• e the ff~'t ch'~8ete,
Of the .~OuMent ~u.t be • lette~, 84"c. dev4ee
".~e,
by definitfon, i •• lch.betfc e",V. P~ovfded
th.t .ue h i. the c •• e, 'to~e the 't.~t add~e.s of
the .~ou~.nt in the ,t.ck-teble .'et fo~ "Oevfce"
and t~a~,'ete uc to th~e. lette~. into thef~
~edtx-Sa eode wfth." the co~m.nd buffe~~
AI,ume
th.t the next ch.~.cte~ not beino the I 'i~n.ft ••
the 't.~t of e unft nu~be~ end 'to~e ft. edd~es, in
the It.ck-tebl. "Unft," if the che~.et.~ efte~ the
I i, ,o.ee o~ COM~e co to atec 5 to eheek fo~ 1004e.l n.~e,
'o~

• no"-,'eh8bltfe next eh.~.ete~ • e~ ft~.t ff
deviee - 00 to .tac 4. Sto~e the edd~el' of I
lette~
•• the .te~t of
'Ft'e~nA~e"
i"
the
st.ck-t.ele .nd 80ai" t~en".te tt and uc to ftve
sub.eauI"t lette~1 o~ dfott, f"to ~.dt.-~e eode fn
the buffe~, If the next che~eete~ t. then ,I ~eoe­
at the c~oce8' fe~ uc to th~ee 'ette~, o~ dioit.
~o~e,
.to~.ng
thef~ .t.~t •• "Exten,.on",
0" ~e·
eocnft4on of .D.ee o~ eo~m. at 8ny cetnt, 00 to
stee 5 to h.nd'e 1004c81 n8me,

"0

.,

S.ve the .dd~el' of • r •• the .t.~t of 8 UIC and
sc." fo~ ] when found 00 to .tec 5, ~~oy.ded that
the next che~.etl~ t • • cace o~ com~.~

!.

Sto~e t~e Idd~e ••

of

t~e ff~.t

ch8~lcte~

ao~c'
o~
com~. 1" the Itlck_t.~l~
~Logicil Nlm@" .~d t~I""ate the uo

8'

efte~

e

t~e Ita~t of
3 Chl~lcte~.

to
1"to th@.~ ~ldfM-5e fO~~lt I. p~evteu,'y, p~ov1ded
thlt they Ir@ 'ettera or dio1ts. CI"
overllv .2
~rom the ~ewt block 0" the 'vatem-devfce whe" com.,'ete.

e.

If o"e oi the ~o"ow~"ft co"d~t~o". ~. e"cou"tered
the oroce.11"Q 10 far de8c~th.~, reJeet the
comm,"d for "Flultv !y"tl." t~~euQh I" 4mmedtlte
Soect., Drtver ~eClll (with the pet"te~ t.b'e
acr.CpecH.
du~f"g

I.

'" .rgument b.at"nt"" wtth a c~.~.eter othe~
thl" I lette~ o~ [ (t"clud1"o • .,.ee or eomml
11"ee there mUlt be .t le.at o"e e.t.aet e'e",'"t).
~" .~gum@nt te~m."att"Q b.fore a ae.~e o~ comma

followed by at
10!:lte.' "a"'e.

d.

r

le.at

one

lette~ o~

dfQ.t of

not followed bv '.

At the exft to ove~lav .2, the table On t~e .taek "OW Co"tat". the .ddr"ae. t" the buffer .tori"g the el."'e"t. ,pee4ffed .~ the i"put. ~mittad elem.nta a~e td,nttfted by a
.'ot It1ll .,t at the ortQfnal P from .te~ 1 t" the p~evfou.
parag~a~h.
The overlev 1. "OW reIPo" •• ble fer eodf"o t~e
elema"t ••• follow ••
1•

s.t Do4"ter. to the .tart of the tab,e 0" the .tack
Ind
to
a
corre.po"dt"g tlb'. of ee"verlfo"
lub-routt"e d.loltch .ddr ••••• (actual'v r.'.tive
off-a.t. to .'low for PIC), At the •• ~e tim., .IV.
the end .ddreae of the vlltd t"out .trfne to
.t 10g1cll ".me - .ee b.low, ".xt IteP.

d.'.m-

Coll.ct the element .tart .ddr •••• If I, bu"'o the
t.ble o01"ter. a"d try .g.i". Ot~e~wt.e 'e." UD
the at.ck table for the ~e.t "on-e e"t~y to ftx a"
e"d pof"t for the curre"t co"ver.40" Clllowf"Q fo~
." .Mpect.d t.rminltf"o chlrlct.r, •• e.
• .fte~
~.vic., ., Ifter f4'e"lme ete.'

-,

p'

cO''lVe~·
~.t e .tend.~d count fo~ • t"~ee-c~a~act8~
8ion .nd co.to t~e epo~oc~iete .ub·~outine •• fo'low., ~etu~n.no w.. en e.t~.~ t .. e en~ point i. ~e·
.c ... d O~ the count ~un! out (1"

Oev.c. na~e • edJUlt t"e en~ co4"t ~eoend.nQ
upon t~P. next inc'u~ed e'e~P.nt C.(ne. no "unc~
tuetion ~.~k oceur. between ~.v4ee ne~e .n~ un·
~t w~.~.e. t ... re a~e two between dp.v~ce an~ UIC
Clr) o~ 1004c.l ne~e CI,).
Pec~
th~ee
e ... ~·
.ct.~.
Cor .etual nu~ba~ w4t~ t~a4'ina .o.e ••
to fo~ee left Justif.cat.on 4f need be' into •
R.di.·~0 wo~d and I.t 4nto t"e .t.ck tebl ••
D.vic. unit • el.o a"ow doub'e cunctuation 4f
no f.'e-ent~v. eonve~t UP to t~~.p. v.'i~ octal
dioite 4nto a .ingl. byte And .to~e.
If any
oth.~
c~.~acte~ occu~s befo~. t~. end-point 4.
~.ach.d o~ 4f the byte oy.~flow"
clea~
the
,uh-~out.ne
addres. table pointe~ a • • n A~~O'
flag.
e.

File

na~P. CWQrrl 1, -_redix·~0 ~e~k th~ee
c ... ~.
acte~.
Ceo.in w4t~ forced t~ai'ino IP8ce.' 8nd
.tor. in the .teck tab'e. Save the .t.~t .d-

d~el' of the next th~ee cha~acta~1 in the .ec.
ond '11.na~ • • 'ot 4n t"e t.b'e.

4.

d.

'41e na~e Cwe~d 2) - .i~fla~'y parfo~~ ~edi.-ea
".cle a"d ItO~ ••

8.

Ext.n,40n. l1lcewi.e.

f.

UIe· edJult the end point for dOUble "unctue·
tion (l,) and conve~t u" to three v.,td oct.,
d.04t. 4nto • sino1e byte al ~~oue Identif •• ~
C.ee Sect40n 4~1.4).
P~ovi~ed t~at t~e ne.t
cha~act.~ ••• comm •• ~ePeat fo~ User
Identif.
4.r. In_addition to e~~O~' note1 unde~ "U,,4t,"
•• t the fl.g fo~ a non.COm~' leo.~ator or if
eithe~ conv.r.ion c~Oduce. 0 or 177 (the 'atte'
bei"Q re.e~ved fo~ * unde~ CSI).

If the .Ub~out.n. add~e.s t.b,. po4"tp.~
.et upon ~etu~n f~o~ a conve~.40", ~P.P8at

i • • tf"
f~om

.tep

.... -....... ---.

1, E.c~ 'uh~out1n. in fact cel's one of two co~mon eonve~·
.4on~eutin •• ,
one to o.clc ch.~aete~. in ~adi •• e~ fo,~.t,

the oth'~ to to~~ a b.ne~v wo~d f~om octa' .A,CII dioit ••
Th... in th.4~ turn a~e co·routi"e. wit~ a s4nole byte "~O.
e ••• or 4n ~uch t .. e .e~e way al th.t de,c~.~ed for the
Conv.,.40n Ut~lftie. Paeleage • see ~eet~on ~.,.

PlGE ~ 64

~the~w41. sc~ub
!~.C.I'
O~fve~
to

2.

~vl'ltax".

~.

the ,tlck-tlble a"d
~eJ.ct the CO~m8"rl

~eca"
the
fo~ "Faultv

0", cem~let.o'" of all the ~out1l'1es 11'1 ,teo 3,
~ad1x.50
DICk the logic.l ",ame CI'.e left Ju.ttff.d) al'ld cel, ove~lev *3.

Thul 0", e~it to ove~lev *3, the Itlck table "OW cO"'t.t"'l the
ectual el'lt~fe. fo~ the DlT ~~o~e~. Heweve~ there mev stfll
be lome 0~10fl'll' ~·"ot. fo~ items u"l~ecif.erl. A• • how" i"
the OAT fl'ult~lt4ol'1 It Ffau~e 3-3, the ff"a' fe~m may b.
CO"t~.cte~._ This .s do",e 0" the stIck befo~e the meve
t"to
the OAT I. follow ••
t.

Set uo ~eleval'lt Do."te~.. If the stack-toD (Loaf.
e.l ~Ime .lot) f. 0 • 4m~0'lfble u"'." the~e •• "0
.~aumel'lt It a"
• 00 to .te~ 10 to remeve the DAT.

2.

Set e full ceul'lt (4) 41'1 the ". of wo~dl to follow.
byte of th, "UI'I1t" wo~d. Dee~eme"t the COU"t I"d
move the Logfca' Name e"t~v dowl'I the .tlck u"t1l
the ff~.t "0"-0 table el'lt~v t • • ee", .tOODt"'O .t
"Ul'lft".

3.

eol'ect the co"te"t of elT 1" the SVT (t~e OAT 00 •
• l'Ite~ - lee S,cttO" 2.1.1) •. tf it f. "o"'-I~ a
tlble al~e'dv ext.t., he"ce ao to .te~ 5 to ffl'ld
it. e",d.
Oth.~w •• a chack the MU! i" the SVT. If
4t. htch byte •• 1 (Drog~lm 'Olded Il'Id ru""fl'lg) o~
-I (p~oo~.m ,el~ed a"d .ta~ted but "OW .u.~e"ded),
00 to .tec 8 I. a buffe~ mu.t be claimed f~om f~ee
co~e ('ee cI.e 3 t" Seetfo" 3.1.2.2)~

4.

Wtth "0 D~OQ~lm U"derWAV, co"ect EOM from the SVT
8"d IdJ~lt fer the two ~e •• ~ved OAT If"k wo~d. see Seetiol'l, 2.1.4 a",d 5.1. L.ave ol'le I. a .wttch
howev.r if a p~OQram t. loaded without Iddftfo"'I'
~o"'ftor ~out."el (.ee cese 2 41'1 Sectfo" 3.1.".2).
~tere the ~e.ult~" BAT Il'Id GO to .te~ g to .et UD
the e"'t~v.

S.

Search fo~ t~e el'ld of al'l ex1'tf"o
elee "so F.au~e 3-2).
A,

OAT

a.

fol'ows

.1

If the ff~st wo~d of I" '"trv
-t, 4del'ltffy.
i"Q the el'ld of a OAT 'eamel'lt, ce11ect the ",e.t
word as the start of I "ew I.g~el'lt. T~v loaf",
U",... hi. "ext wo~d t. 0 meal'ltl'lQ the el'ld ••
1'I0W ,.eached,
Check wh.the~ the dlt ••• t I'IA~e~ ~I'I the eomma",d
t. the .ame •• that fo~ the el'ltPlv. If 10, ~e-

P4GE' ee

olae. t~. ~~tpy by a 14~~ to t~e ~ext (I-I, add,e •• " secu.~c.' - t~u' e,a.4~~ the e~tpy, f~
e.'.,the ~ew .~.eifieet4o~ 4. la~ger tha" the
0,4Q4"a1.
e.

Reo.at f~o~ ~a) fo~ the "ext e~t~v if thf. does
"ot .t.rt wfth P, whfe~ .1ao ste"4f4 •• the DAT
enti.

~.

If the OAT e"'d i. a -l,e .ecue"ce (caused ~v e 8EGIN u",,4"w4"g a ••• a"~."t • • '" free cor. ~uffep. see Seet40" 8.~.e) re~ove the -I.

1.

eheek t~e ~U~ fo~ a erog'a~ u"depway a. ~~ .teo 3.
If "o~., QO to .tep 9 to tre",f.r t~e ~ew ."try,
Drevid."Q 8 't",k to the eurr.~t EO~ ff this do ••
~ot
eOi"cidP. with t~. DAT .~d (ow1~~ to the feet
t~at t~e orevtou. e~t~i.s were ~ade befop.
e DPOapam wa. 'oe~ed a"~ "'ow adtiitio"al MO"4top pouti"e'
hev. be." ~ade pe.ide"t).
Wh~" e
orogra~
i. underwev, peQue.t e Ie-word
buff.r unit from free cor. thpough the ~o"ftop
8.GT8 ~outi~. C••• Seetfo" 2.~.2). 'or e if,.t e.sfc"m.~t,
.tor. the buff., start addr ••• et BAT.
foP e"v other, ,."~ th, buff., to the eurr."t DAT
e",d.
(ff no buffer f. eveflebl., how.v." reee"
the SDecie' Dr4v.r to t." the oeerato,.)

Tre"'fer the Logfee' Name fro~ t~e "ew .Deeffie.tfc~
tnto the ~AT fol'owed by the ot~.r fte~. e~d
twe r •• e,ved L.~k.word. of e. AdJu.t the !O~, TOe
.~d
it • • teek-.too C.e. S.etio~ 2.4~1), ff "0 Dro.
cra. f. u"d.rway. Extt t~rouah the SDeefal Dr4ve,.
Aec.Dt • com~e~d w.t~out a,gu.e"t on,y wh." no D'Ois loaded. In thi. ee.e, •• ve the DAT start
a. t~. "eW EOM, eleer RAT a"d exit t~'oUQh steD ,
to ' ••• ~ve the ~ If,,,k. a"d edJust the end of MO~.­
tor Dof"ter •• ,ReJee~ t~e eomma"rl e.
inve'fd
t~~oug~ t~e ~oeeie' O,ivep otherwi •••

c,e~

(I(SI.OU)
.

. .

Th. DUMP ~oMma"d wa. orig4nelly intended to D~ovfd. a ~ea"s
for t~e""fe'ri~a eore iMeaa. to o~ from anv eeDPoor4ete DepfDhe,el dev4ce at a"v time, regardle •• of t~e D~e.e"t .v.teM
.tat. - a. oDDo.ed to the load fMac •• obteined threuoh SAY!
wfth the ~v.tem "ece.~e'ily idle. Howeve, for the fo',ow."Q
,.e,o~., its eu~r."t 4~ole~e"tatio", f. liMite~1

PAGE

t•

'6e

Pac.~.tloe ~@Qui~ ••• o~. fo~~ of for~ltt.~a to ."IU~'. dlta·aceU~ACY.
T~u~ a.nUMP i" t~~. case ef~.ctfv@lY

~UN or GET
wo~t~w~i'.

o~eg~a~

i.

eoote. t~. SAV~ facility .upol.~ent.rl by
and i. ~ot th.~efo~e eo~ •• de~.d ."ti~.,y
m@rely to allow ocea.io~al u.age whi'e a
~unni"g.

~o~~al u'aQ@ of bulk-.torao@ deviee.
~.Qui~ •• the
h.lp of the Fil •• ~a~aQeme~t ~out."e. Which ean o~lY
be ouarlnte.d if no oroo~am i. underway to "ee~ the
~S8
• ~.nc. t~. r •• t~iction 0" SAVE C.e. S.ct.o~
~ ••• 2).
T~. o~ly .afe alter"atiy.
i. to. hav. a

ar.a ~ ••• ~y.d 0" each d.vie. whteh
be eeee •• ed by si~ulatfe~.Of .TRAN. Thi ••
thouoh, raf •• , two orobl.m. ~hie~ are ore.e~t'y
deemed to b. too re.trietiY' for the m.Jority of
u.e,.,.

or.-d.t.~mined

ca~ th.~

a.

The area ,.e •• ,.ved 4. lost to the
thoUQh h. ~.v.r reaue.t. a OllMP,

b.

Any dump d •• troy. the c~'vfou. conte"t_ of the
r ••• ~ved
area a"d t~e u •• ~ ~u,t t~.r.fore .ave
th4 • • aeh time i1 it ••• ttll of value.

us.r

.v."

~."c. fer the •• d.viee •• SAVE remat~. the.o"'~ ~e"e"a~

Dro·

O~ the oth.r hInd, SAVE to a L4ne-ori"ter f' both
m.a~i"ol.'. a~d 1"'oal .4"e. binary operatio~. a~. "ot D.rmitt.d. Dump i, therefore orcvfd.d i~ ft. ease O"'Y,

v4.40".

Th. full format a"owed by the ~U~P eOmma"d il a. fellow.'
OU [~P] rOey. ee]

r,

rr o~

1')1

r, [L"W1 [, HrGIof]1

J

Wh.r ••
deviee •

~ame eod. a"d unit
u"neee.,aryl
I or n • OumD direetion ( •• su~.d 0)
LO~
• OU~D a,..a .tart ad~r@.s (as.umed 0)
HIGH
• End eddre.s (toD of cor. a.,umed)
Stan~.rd

(I

(LOW and IofICH being oet., a~d on word bou"d.
able "'emory).

w.thi~

.va.'-

It follow. i,.om the 4"troduetio~. oi eour ••• ~hat dayice ca"
o"'y b. LP a"d dir.ctton 0, Howey.~ i" ea •• ft 1, lat.r i"eluded, t~e default dev4ee f. that for the sy~tem.

Ge"e~el

Delc~ictio"'

Delette t~e cu~~e"t ~elt~.ctio", t~e nu~p com~e"d o~ocel'O~
4. de.4a"ea for Qe"e~e14tv of devicft. T" o~de~ to ellow u..Qe et e"v ti~e, it cennot I •• u~e thlt s necet.e~y ~~ivep 4,
4" CD~A to .epvfce the ~eviee. Eve" if 4t •• , ft "ee~ ~ot
b' ~,ad.'v ava4lable foP the OU~P 0~epet40". He"ce the ~eu­
ti", m~.t ~eve it. own d~ivep. fo~ t~e cu~eole, In the t"te~,.t of ce •• ible exea",io", the CUMP ~odule
4. ~he~'fope
OPoe"ized a. a commo" a~au~'nt decede~ w~.eh cep~o'm. any
~heck4"a ~eau.ped e"d conv,r.fon of the va~ioultt'~. i" the
4"cut and then c.l,. An .ccroor.ate overllY co"ta4"f"c the
p'Qu4.tte drtv,p.
Cu~pe"tly

two oveplay. !re DPov.d~d. The ff~tt 4. e"tt~e'v
by e dPfvep ~o~ the Lf"e-cp4"ter e"d co"tat"~ the
~'oc".i"a "eeded to cpoduce e crint-out a • • ~OW" et
~tauP'
e-l., T~4' Qtve. both t~e ce"tent of elch word 4" the DUMP
.P.e in oetel ASCII Ind t~at of eec~ byte •• 8" ASCII chep.et,r, W~'" modified ,. nece •• apy to cp~duce , ep4"tl~le
chl~.et'p tn the e-bit rl"g,.
It 11'0 eccect. 8 CTRL/C 4"cut at t~e keyboepd a. I .ion,' thet e DUMP undepw,y .~ould
be tepm4"etea at the end of , curp'"t CIQ'~
The .eeond
ov'~l.y Drovidel t~e hOOkl fo~ t~e late~ 4nClusion of ot~,~
dpfve'l.but p,e.e"tly ,ecell1 t~e S~,e411 Dpfv'p .~~edfet"y
to pel,ct the eom~lnd fo~ wIll'Qel Cevtce."
tek,"

yc

Exit Stete.
Th,. DUMP ~~~ce.,or alweya ,etu,", to th, 4"t,ppuoted o,og,em
th~ou~h
the Scecte' D,tve" '0 t~e R,otltep end 'teck atete
e~' e •. ~,.cP4b,d und,p ~'~tion e,'-.~.
Co~mend pe}ectto"
e.
uluel followl '~'OPI, f"dicated f" ~1 ,. follow, •
• 3 • Feulty SYntax

.4 • nevice C,""ot be u.ed fop ~U~P, '0

., Il1eoel
.e • ~n Il'eOI' arld~e'l Seecfiied t. ~ot
on a wopd-hounda'd wtt~i~ evetlabl.
cope op lo~ ., not 'esl t.~.n h 4oh,

Deteiled

P~ocealf~QI

F40ure ~.t5 tl1ult,ate, t~, ,eQuence Of oce~.tfo", tn the
DUMP Opoe'I'o~. •• "ot,d un~e~ "Gftner.' P~oee •• f"aw, ove,·
llYfn~ occu p,.
T~e ,egm,"t. co~ee~"ed .~e out14ned
4" the
followi~o cePIOPloh ••
The leg~e"t celled by the I"te~o~etep decede, the ergument
I"d t~e~ cell' the .per~p~fete rl,iver overlsy el unde~1

PAGE b-68

DOS6."NO

qestore ReQister co"te~ts oassed bv the Inte,o .. ete,
P,eoa~e
a
and
clea~
it. retu~" oaramete, ••
four-word table 0" the stack for use a. elf!",ent
sterage after co"versfe"1
aSPa

lDORESS
ADnRESS
I')EVICE NAME
DEVICE UNIT/TRAN~FER DIRECTInN (0-0,'-1)

E~~
STA~T

qadfx-50 ~ack leadinG letter, fro", the a"gu",e"t
st~i"g u"tfl ~topoed efthe, bv a defi~ed deli~tte'
C,eeee, eo"'",a 0' CR) or by a no"-alp~abet4c value.
'tere t~e result t" t~e ,teck.table "Dev4ee" "ot.
:5.

If the ... d •• eenvers40" ends wit~ a "en-alohabettc
ellow for a ,t"Ole octal A~CII dfaft e,
un4t (OU~Pi"~ i, never e.pect,d to b, 8 facility 0"
~evfces
havino more tha" eiGht u"fts to a ,4"01e
eo~troller).
Stere en t~e 'tack if fOu"d.
Iq"ore
i but "eject the comma"d fer ·Faulty Svnta." bv
Soecial Oriver recall fo,. e"v oth.~ c~aracte~C,)
before the first de14m.te~.
eha~acte .. ,

'cee~t o~e

che ... eter before the ,ecend del4mite,.
If ft f, 1, i~cre~ent the 0 "T"a"sfer D1rect40""
byte i" the stack-table. (Ne ~"creme"t ~ccu'"
fe ..
a"v other input, thus fercino 0). AOaf" ,.J.ct a,
"Faultv Sy"tex" for ~or. tha" en. cheract.r.
Convert valid octa' JSCII dioit, UP to the "e.t
delimiter a"d 'tor. a, LOW limft, provided that no
overflow of • si"ole bf"erY werd occurs. The" reeeet fo .. HrG~ li"'tt. (I" thi, case "Faultv 'y"tax·
mea", 4"valfd 4"~ut er ov.rflow).
t\.

Check t~at beth limfts are on word-boundari., within eveil.ble memo .. y a~d that the LOW valUe t, le"
then HIGH (r~placed by too of core if_ "one e"tered).
Thf, time reject the com"'e"d for addre"
4l1eaality.

'.

qe~lace the ~IGH lfmit bv the a~o"oDriate "umbe .. of
wo"ds to b~ DUMPed (Dosit.ve. velue) ~"d Check
whether e device ha. bee" sDecified. If "one, re.
~lece wft~ t~e "e",e of the .v'te~-devfce •• show"
i" the DO~ (Sectio" ~.t.J).

8.

Sea~ch.
~"d call

tab'e of Dotentiel devices f~r the DUMP
.overley. *2 ff.~~ fe.reo~f"ed e~ *3 for
other Dossibly velid soecfffeetio",.
qeJect the
commend for "Illegal Device· otherwf,e.

~

If e1th~~ of th~ ove~l.Y. is c.l'ed the DecodAP e.its with
the .t,c~.t.bl' cle.~ed en~ 4ts content ,et 4" Reo4'te~, .,
follow ••
~t

~2
~3
~5

of t~e DUMP ere ••
wopd. to ee du~eed,
• Positive code for e v"i~ ~ev1ce.
~.,.d on t.bl.~po.it.o" ~LP.~)
• "n4t ."d T~.",fe .. O.peet40".

•

•

~ta~t

* of

Thu" the .DP~ocl"1.te pe~.m.te .. s fo .. a ~UMP .~e .. ecefv.d by
the overl.Y 0" the ,t.ck •• ,.ved by t~e E~T ~."dl ... (.ee
Section 2.2,0,
The Line.D~."te .. du~e he, • b •• fc fer~.t 4" w~ich •• ch D.O'
eev.r, lA0~(octal) locat.on, d~v~d'd inte ~ _blocks of
110(oet.,) 'oc.t.on., E.ch b'ock ., DP.nt.~ •• four 1i"e'
of 8 wo~d' in oct.' ASCII follow.d by 1e ASCIY byt ••• The
overley 1. 'et uo to eo"t~ol thi. fOI"~at a. fel'ow.i
1,

R.stere Reai.tep co"t.nte D•••• d by the d.cod'l" Ind
~.~ov.
4t. retUI"" P.~.~.t'r' from the .t.ck. If
Output •• "ot the di~.etto" 'eec'fi.d, r.el"
the
Seec.,' Dr.v... .~m.d •• t.'y to reJect the co~m.nd
for "Il,eoa' oevtc •• "
S.v. the cu ..... "t va'u, of the .t.c~ cOi"t ... in the
'VT word .. eserv.d fOI" the DUreel. CSVT+S2 • I ••
S.etfo" 2.1.1) 10 th.t it
m.y .PD.... e" the
~UMP

.f

"'Qu.~ed.

(1)

"'0

3.

S.v. the DUMP ...... t.~t ID.c.ii,d !"d '~JUlt In
ecc ••• Doi"t ... to co~m.nee p"i"t4nQ from the tOD of
• ful' DeQe, •••• fpo. the ppevtou. lec.t40" ,"dina in ••• A00. Pr4nt FF to .t.pt • "eW D.a ••

4.

P ..

~.

~tert • d.t •• , 14n. with t~e '.It twe ~ie4ts of the
fi ... t .dd"ee. 0" the 14"e (e.o. ~0, 20. 41. 80)

4"t the .ddrel. of the loc.tfo" st ... t4no.
(.lwaye end ••••• 10) followed by LF.

block

Dreceded by .pece ."d fo',owed by I.
~

....-...-.....

1. S.n~e the proaram Regi.te, • • re .• eV.d 0" t~e .teck .t
thi. Doi"t. t~e'. ee" e',o he e •• m4"ed on ." .pe .. oD .... t.
DUMP. The •• v.d SP po.nts .t t~e .ddresl of the eo",ol. ty.
pew ... t.~ buff... ( •• ved R4 fe .. t~e Sceci., O~.ve~ Recel')
which is the" followed by the retu~n o .... ~ete~. fer the rec.,l - ,.e F1Qu", 6-2 fer furthe .. dete.'.

PAGJ: b10

DOS6.~Nr:'I

If t~e aeee.~ c04nte~ ~as ~ot Yet ~e8e~ed the saved
,etual sta~t, D~4nt seve~ scaee.. Oth~~~.~e OutDut
i~ oetal "CTI the eonte~t of
the 'oeetfon unde~
the Dointe~. t6 ~ioit.) D~eeeded by one leeee.
~eDeet f~~ eight 10eetio~1 i" .,1 ~n,ess
the Wo~d
Count .ce~ified ~unlout. In this c~le eqai" o.d
the ~est of the line wit~ ~paeel.

'.

te~minAl • • ~d se.ee.
Relet the .eee.s DOto the be~fnnfn~ of t~e 14ne ~n~ .et anot~e~
to t~e le.t va'id byte to be c~.nt'rl.
,. w4t~
wo~d'
in .tep 6, D~.nt .oeee. fo~ e8e~ byte in the
'tne D~io~ to the ICtUA' DUMP e~ee. Othepwt.e eonv.~t eee~ byte It~4ece~ of bit' into. a-bit ASCII
velue Dn t~e followtno b •• i •• nd oP4nt u"ti' the
,tne-end.
P~int
fnte~

a

1
6
8.

ait v.lue. 0~~-e3' 040-13' lAe-l"
eit v.lue. lP0-13' 040-13' e40.e"

If the end of

t~e

LF.

to

DUMp i. not yet ~e.e~ed, D~4nt
.tee ~ unl •• 1 t~e leeel. cointe~
e"91 i" •••• ~0.fndie.t.nQ the end ~f. block.
In
th~.
e •• e, o~fnt • seeond LF to oive e Q'O between
blockl and ~etupn to Itee 4 if the block doe. not
e~d
a DaOe (poi"te~ ••••• e~). Fop the lattep
.ituatfon, pep' ace the .eeond LF bv FF .nd petupn
to .teo 4 o~ov.ded that no CTRL/C ha. been .t~uek
at the ~eyboepd.
Retu~n

."0

Tep~1nate the DU~P 1i.tina with FF
end ~etupn to
the inteppucted oPoo~am th~ouo~ the ~ceei., O~.vep.

It Ihou'd be noted t~.t .ny h.~dw.~e f.ilu~e at the ep4ntep
which e.u.e • • n ep~o~ peeopt w41' .toe t~e DUMP wit~ .n
"Il'eo.' ~eviee" ~e.lege. If the cpintep i. "ot a ve'id
dev.ee 0" the sy.tem, by "o~ma' hepdwape t~eDo;no • f.te'
eppo~ me.seQe w1ll be demanded enrl wi"
~esult
1n' ~an~4nQ
the system owino to the eonflict in KSq uSAge, noted .n
Ch.cte~ 7.
(Montto~ ~eboot 1s "eees.epy if t~is heecens.'
•• Ihow~ unde~
c~e.e"t ~4~e'y

"Gene~el Dele~ictt~~", t~e .eco~d ovepley
.t
eleans u~ the stee~ end ~eDoPts the deviee as
tll,g,,~
Howeve~, should e~t~e devices be .d~erl to the DUMP
fecility, tt is e"vise~ed th8t t~e fo"o~ing c~ovts4o"s ~.v
be usefull
8.

T~e d~.ve~ ~equ4~ed ca" be
4dentified
eode in ~3 on e~t~y cefte~ qeoi~te~
tion' and the validity of d4PAction
c"'eeked t" R5.

by

the

ean

be

~e.topa­

PAGF.:

~

C. 11

.t

b.

BV •• vi"Q ~p 4~ t~e ~VT e" outDut, ."d, ~ •• te~·
4"Q
0" 4"aut • c~oo~.~ ~io~t ~e .ute~8ticel­
'V ~e.umed f~e~ e ~oi~t of dumei"o by the "e~­
m.' ~.y"oe~d Comme"rl ~.4t D~OC'.' (e~ov4ded of
cou,. •• th.t e"ouoh co~e i. OIJM".d.l

c.

The d,.4ve~ it.elf must e,.ovfd.
fo~m.tti"g of t~e OU~p.

'"V ".c •••• ~y

Th. D~.v4eu ••• ctiO~' of th4. Chect.~ ~.v. d •• cr4bed the
m.thod._ u.ed to ••• cut. K.yboe~1 Co~m."d. Wh4ch m.y be e"t.~.d bv the ope~.to~ .t t4m •• w~e".
u.e~
a~egr.m
.4the~
c." O~ mu.t b. ,o.ded. It h•• b.e" .how" th.t 4" o~de~ to
~"D'Ct th.t D~o~~am. pete"t4al usaae of
the Iy.t.m, the
comma"d D~~ce •• e~. a~. oblioed te ~"t~iet t~e.r oDe"atfe"1
to th, co~ff" •• of tha KSB, .y." e~evfd4"~ thef~ ew" utf14ty
fu"ct40". ~ath.~ tha" u.~ tho •• al,..edv co"tef".d ell.whe,.
f" the ~o~fto". How.v.~ it ••• ml u"~e.so"ab'e thet the .am.
,tm4tat40"1 .heu'd al.o b. e.t.~ded to the h."~14"o ef comma"d. w~fch by thaf~ "atu,.. fmply that th.~a ca" be"e D'O.
o,.am _4" m,me~y w",." they a~e g4ve" a~d he"e' the whole of
the .v.t.m 4• • elelv at the Mo"4te~1 diIPe.al~ Fo,. thf • • ftUltie" th.~efo~. a IPac4a' t~a".4."t Mo~fto, .eetfe" b.com •• the "u •• ,. o~oq,.am" - abl. to u.e a" the "o~ma' faef'4t4 •• ava.'abl. but 1'.0 a,.4v41eged 4" it • • cc ••••
Th4. t,.e"I •• "t Mo"4to~ ;. the .ubJect of thf. ~.ct40~.
I"
th. f4~.t plac., S.ct40" 6.e.l rlfscu •••• it. , •• ce".fbf'4tte. to the .y.t.m e"d de.c,.ibel ft. ae"e~.' It~uctu,.e to
.Itf.fy_ the.e.
S.ct10" 6.~.~ the" e.lmf"e. the cOmm8"dl
wh4ch e~. oroc •••• d u"der 4tl eeqfl.

(T~O~)

•• "oted ." 8ectio~. '.t.4 e"d 5.~, the t"a~.4e"t_ ~o~fto'
•• ct40" is b~ouoht i"to co~
mm.~.ete,y efte,. the i"4tie1iIitio" c~ec,.' follew4"o a ~o"ito~ boot o~.s e ~e.ult of
th., u"'oedi"Q of a D"o~~am th~ou~h a .~XIT O~ CO"lole ~ILL.
It i. the" ,. •• po~.ible fo,. .atisfvi"q the fel'owi"O fu"ctior-.i

••

2.

,

"~ep.~etio"

-

fo" the 10adf"o of the "ext

O~OQ~.m

PAGE

3.

4cceota"ce of 8~V ooe~8to~

i~.t~uctio~.

f~om

~12

the

co~sole

4.

Actuel Droce ••• ~~ of
'oaded-~e~orv

co~~a~d.
.4tuat.o~
a~d

eovered bv t~e ~or~e'
QUN/GET, FtNIS~)

'a~guaQe

~e.tr.eted to
~ot th~refore

Ccur~e~tlvi

th~

u~.

already
L~GIN,

.EXIT

AC

KIl.L

8ect4e~ 5.5 .~owerl t~at T~ON 4. read ."to t~e teD of ave.'able ~.mory by the .EXIT DreCe •• or, d4rectlv .cc •••• ~~ the
Mo"ftor L.~rarv o~ the IVltem-deyice, .~d i, .tarted aut~­

mat1cal1y 0'" succe •• ful load.",o. At tht. time, the .tack t.
clearad to ~t. load D01~t a~d the O~'y ~eleYa"'t raot.ter
CO"t'l"It .sl
~~

Ge~er8'

• Addre.s of the .ta~t of the Mo",tter
009 ~hatl"l COCO 4", the SYT - .ee
Sectto", 2.1.t)

De.cr.Dt10~1

•• i~d~~at.d i~ the P~oarammer. ~al"l~book,. ~a.the~ .EXIT ",or
a co"'sole KILL reQu4re that a ru",~4~Q o~oora~ should be de.
tached from a~v ext.t4",~ tlO commitme"'t.
tt •• therefore
the ~O"'.tor. ta.~ to e"'.ure that, i", ae~e~al, e"'v out.ta",d4"0 out cut .ttll remaf",.~~ 4" it. tl"lte~",.' huffer. 4s d.spatched to ~he 'DDro~r~ate device e"d, t~ Dart~cula~, a"v
f"es .ttll oDe" are ~lo.ed. Th.s ca~"ot be do",e_ by XIT
'.l"Ice thel"l the ~S8 •• ~ot avat'ab'e for t~e u.e of the tlO
D~oeel.e~s, hel"lce t~.s i. the fi~.t oOeratto" c.~~.ed out by
TMON, u.il"lQ. its ow~ Li"k-block associated .ucce ••• yelv with
a"'V DnA. ~t4" e.ta"t 11"1 the ~Ol"l.to~ chI4",.
T~e u~loaded Dro~rl~'

of course, dt.eDDe.~s ul"lder T~ON.
However it may lelve te~oore~.'v re •• del"lt ~o~.to~ ~odule.
behi",d or Der~aD. dev.ce 1 • • 4a"me~tl made .trictlv 0" tts
beha,i C.ee CI.e. 2 I",d 3 1" Sect401"1 3.1.~.2). Al.o the eve
1del"lce of tt. Dre.e~ce ee~t.i"'y still •••• t. w.th.", the
SYT. TMO~ the~efore ~emoves the.e ~el.c. e.cecially.
a.

The OAT •• cleared of .,1 but
tr4e., tf a"v

th~ ~re-load

e"-

'-~

PAGE b-73

DOS6."NO
\ .........-

The MRT •• ~e.to~ed to it. Der~a~e~t .tate bv a
.T"A~ of t~e CODY .te~ed 0" the sYstem-deyiee.
Re'eve~t e~t~4e. i" the SVT e"~
Itered tc thei~ D~8.'oed .tete

e.

th~

OOL are re-

fOM ."~ TOe i" t~e SVT (."d t~e ,teek-'teo •
sea SaetiO" 2.4.1) a~e let to ~ef'ect t"e ~ew
situat4o".

ODerat~O" _DO',.
a o~obleM.
It w~"
he ,how"
that T~O~ oe~for~. 4tl 1/0 Ju.t '4~e a"y other u.e~
Droara~ •• ~D'y4"a the u.e of free eore .1 buffera.
Av the
"er~e'
o~oe ••• , the.e a~e a"oeeted .oaee 4M~erl4.te'y above
EOM, H"wev,r the oOI,e,o, ~aY at th41 eo4"t e"ter lo~e "ew
dev4ee eSlio"~e"t. which e.~ cha"Qe EnM (a"ri overwrfte the
f4rlt buffe~l) • 'e, Seetio" 6,4,9. TMnN, 41 a ~e.u't, ma"iDulat.1 EO~,
Wh4'e it. datalet. ara "OW I.t-UD or 'Ite~
c'ee~ed, 4" 1~la ef f'e. eo'e i. added to t"e
true Mo"4to~
tOD .1 e Dcte"t4al OAT EMte"140". EOM the" be1"o .et .boye
th41 e~.e, the buffe~. ere allocated or rele •• ed out of
he~~. wey. Fo~ "or~a' ru""1"a, EnM r'v.~t. te the t~ue tOD,
thul fo~e."~ I"y ala4a"~'~t ,"tr4a. i"to the eo~r,et o1eee.
CI,e F4~u'e 6-15)

Th11 'alt
.ho~tly

The 1/0 Q~"e~al'Y De~fo~~ed by T~ON 41 of eourse eo~ee~"ed
aoai" with the aeceota"ce of ~~y~oa~d eO~~~"~1 a"d oossible
p~i"ter resoo"ses (i" o8rticu'a~ , si"ce ~o~ the MO".to~
11
always i" a '.ste"i~g state). 's a U!e~ O~~g~aM, T~O~ ea"
take adva~t8ge of the fac4lit4es of the full eo~.ole d~1yer
a"d ule .READ o~ .wQITE • a oart.eu'a~ly si~".f.ea"t orac·
t4ce li~ce 4t the" a',owl "or Mal devfee-i"deoe~de"ce a"d
~e"ee Qivel DOS i"it4al Batch-prOcess4"Q c.oa~1'4t1el (1) •

... ..-...-....
~

1.

fo~

T~ON 8'~e.dY

eo"t81"1 Odd. refere"ces to

~o~~s

D~ovided

~hP o~fgi"al'Y f"te"ded fmD'e~e"tatfo" of a" OTHER co~.

ma"d for a
abeya~ce

14~D'e

fO~M

of Batch

•

but

cu~re~t'y

he'~

4"

oe"~i"Q the possible o~ovfs.o" of a ful~e~ Iystem.
N.ve~t".'e.1 TMO~ ca" st1"
be uled 1" a ve~y basic way (0"
a "o"-fi'e It~uctur.d device at 'east1 merelV bv e cO"lole

ASSIGN of

C~D.

~owever

two oof"ts should

the~

~e

"otedl

~y t~e sta~da~d bufferi"Q .che~e, afte~
e RUN o~
GET from_t~e "ew dev.ce, valid.data could re~ai" f"
T~ONs huffe~ a"d be 'ost with it
u"'e~1
aoo~oorf­
~telY soaced.

CTRL/C ~ust O"'V be uled whe" T~~N f~ "ot
trol (fo~ the realO"S oive" above).
e.

Qe-alsi~"me"t ef K~ to C~D mUlt o~eeede the load4"Q
of the lalt ~atched D~OQ~aM to forca T~ON to retur"
eorr~ctlY let-up - it 41 too 'ate whe"
already 1"
a"d i"itfalized.

PAGF. C,7!5

DOS8."N"

Aaat"

t~ouQ~

th~ou~h.

t~acped.

TM~N

t~e~e

T~4.

10

i. a
that

~~oblam.

~ts

auto~atieallv

"1

OW"
oceu~.

eo~~a~d

must

~o~

eo~e

ca~tteula~ ~~t~tes C~" be

as 10"0

a~

the

ooe~.to~

me~e1v tyoes ." the command its .. lf 4" ~@.co~s~ to the S out~ut.
Hew.ve~ fo~ co~eat1~"1ty with the ~.~ai"i"~ co~~."d.,
he .hou1d bea~le to enter CTqL/r., e.the~ 4"iti.,lv o~ to

c."eel eu~re"t 4"cut, a. show" 4" Sect40" 6.3.', th4' ~ould
4" t~e "orma1 w.v be i"tercected bv the L~ste"e~ 8"~ t~e
who'e cnm~a"d would be ~a"d1ed by the I"te~c~ete~, c.uI4"Q
~eJect.e" of t~e TMON eom~a"ds s1"ce they a~e u"k"ow" exceot
.~ t"~. time. To oreve"t th", the~efo~.r TM~N ~.~.t
4"4t4a11~e,
the .~c~oc~4ate dataset. to ~r4"~ the full d~fv.r
4"to core. It the" u~l."k. the Lf,te"e~ from t~e keybo.rd
."ter~uot vector, ,ubstitutf"~ 4ts OW" ver.fo" erov.d'"1 ~.­
~eet ~cee~, to t~e full d~fve~s 4"ter~uot servici"g ~out'"e
a"d .oee4f.eallY ha"dl'"O CTRL/C ," 4t, OW" waY Cl),
Thu, all eo~ma"ds '"ttt.llv COma to TMO~.
Bv a table
10ok-uo. t~ose whteh are e,cectally ae~~oori.te .~e c •• sed
to e" embedded DrOce.so~ fo~ executfo"., ~eta4led i" the
"e.t .eetto",
The ~e~a4"der are ca.sed t~~ou~h the "o~~a'
oDe~.t~e"s described ." Sect40n 6.4.
F~r t~4. eur~~.e, T~ON
atmulat.. an 4nterface to the I"terDreter .s show" i" Sect4o~ e.~.2, hav'"Q 'ave~ its ~W" Qea4'ters a"d raised the
p~io~4tv level to 4 •• 4" t~e oe"e~al ca.e.
Thi. mea". thet
t~e C~mTa"d is acce,.ed from the TMON buffe~ ~"d that
0"
eomo1etion, co"trol is retu~"ed throUQh the Soec4e1 D~4ve,
with the pr4nter .tfU"ruDt enabled.
Caoa4". lee Sectton
8.3.2). To allow the Lilte"e~ to ~e~fo~m 4t. nor~a' oofnte~
,~-i".t~a14Iat40", TMON .imulates the Lflte"e,. ~~4"te~ .ave
oDe~at4o" Cle. Seet~on 6.3,t) e"d let' the f"te~~u~t th~oUQ~
(Ii"ce the D~4nte~ f, .t.,l ""ke~). When cle.~ed, T~ON reaue.tl a"1 awaft. tt. "ext eomma"d.
The ha"dlt"o ~f e~~~r. detected by the s~ecf.' o~oc •• sor. 4•
• tmi1a~1y aceom~"'hed bv • 14~u1ated ~eeall to the S~ecfal
D~fve~ .1 deseribed i" Sect ton ~.'-.4 wtth the i"te~face set
UD
.1 .~OW"." Sect40" 8.2.5. Thi, De~mft' utilizat.o" of
the drfve~. erro~ me ••• oes. F01low-uD act'o" 4. e •• ctly the
a.m, •• ." the la.t ~a~8;~ach - ~e"c. t~e 0~.e4".' co~~."d
4. fa"o~.d •• usual. T~O~ eve"tuallv leeve. after .cceDt."ee of a yalid RUN a"d GET C.ee "ext section) or is ~elo­
aded afresh afte~ FINrS~ •
• • • • a __ • • _ • • • • •

1.

CTRL/C •• 1" ~.et Co"v.~ted to VT, .i"ce th1 • • , • • ta",d"imiter forcel 1"cut ter~i"at1o" but .tavs o~ the
•• me o~1"te~ ""e. T~ON e." th@" ,imulate th~ norma' echo
a ••
d.~d

AC

PAGJ: '-76

Ex4t

~tate:

~~e~ TM~~

the

calses CO"t~o' to o"e of itl embe1d~d
~.aiste~ conte"ts a~8 a, fol'o~11

D~oc.sso~a,

~ __ '~va"t

~~ • eo~manrl outcut Lin~-bl~c~ edrl~e'l
Rl • Fnd add~e.s of t~e com~a"d incut
~~ • ~ta~t edd~ess of the P~Oee5'o~ ee"ed
~3 • eo~mend incut link-block add~ •••
qA • Add~ __ I' of OSw in the SVT
taee Section 2.1.1)
R~ • ~ta~t add~e,s of t~e com~a"d a~oumant

In

ed~it.o~

t~e

.SPI

stack-.tate iSI
CSc~atc~ oad)
Sta~t edd~els of the commend 4neut
Li.tene~ keYboa~d yecto~ 'i"k
o C1)
Cu~~e"t buffe~ hate • dum~y eom •

• , note" u"de~ "Gene~al De.c~'ctinn", t~e Reoi.te~ and Itack
.tete when. the tnte~c~ete~ il ca".d co mclie. with the ~e­
Qui~eme"tl of t~at ~out.ne al dete.'ed in Section 6~3.2.
Detai'.d

p~oce.si"or

Figu~e ~-t6 i"ust~ate. t~e gene~el

TMON.

p~ocelli"e ee~fo~med

by

It. outline 4. al follow ••

t.

uli",o tne MOl'dto,. DDB ehain, lucce •• ively 'f.,k .ac~
extent ODa to an i"te~a' L4nk-block end exemfne ftl
content. C.e~ Section 3.1.'-.3). If th~ eSlocteted
d~.ve~
il file •• t~uctu~ed O~ i. magnetic teoe ••
thown by itl Facilities Ind4catop' C,.e Sectton
3.3.1), e~d an eoca~entlY v.lid fi,e ,ametn. oeen
fo" outout, ea" .CLnSF a"d .RLSE.
In ."
ot~e,
ee •• s, ea"
.RLSE only.
CAs ~how" tn Section
3.2.1.3, thi. fo~eel 'est buffer eutput on e
non-fi'. (but no deyiee clole actton, f.e. Dunch
trail.r.
~owev.~
to fo~ce
acc.~t8"Ce
on
a
ff1e-dev4ce without the .CLOSE, the DD~ "Buffe~ Add~els" ~ust he c'ea~ed fi~st).

2.

When a" DOBs ~eve been actio"ed, fo~ .afety, c'ea~
anv inte~ruet fleQs .til' en.bled - t~ough ~.sta~t
the clock if cre.ent Cveeto~ "ot DOi"tfnQ to e~~o~

...
_-- .. ------1. T~f. could
.READ/.wRITE

be

MRT info~metion
S•• "Comments".

e~oce •• o~

fo~

a

Dose, "Nt"
t~ap

- •••

C~a~t.~

7)

T~ae. the nAT, if ."v, a"d u",4"k a"v ~"t~ies ~ade
.fte~ t". 'ast D~OQr.~ wa, 'Oad.~ C~e.et '4"~ wo~d.

,," etu",,'.tio,,)i

4.

a.

table 4f 4t doe. "ot Ita~t 4m~.~ •• t.'v
t~. 8uffe~ Allocatio" T8b'. ( •• e S.et10"
3,1.2.2) - c'.a~ SVT "oi"te~ 1" th4. ca ••

b.

'~e~

w~ole

aft.~

4dJu.t
t~e

th • • "d of the

EO~

&

T~8

.taek-.to~,

"G."e~.'

~.

elea~

~,

P~~Da~.

f1~.t

,.ome"t

oth.~w1'A,

1" the SVT (.e. S.et1o" 2,1,1) a"d
'.avi"o OAT ,~ac. a~ "ot.d U"~.~

0 •• e~iDt10"",

the Ruff.~ A"oeatio" Table eomclet.lv ( •••
S.etiof'" 2.4.~). R.move ~U!, PLA, PSA, OSA a"d P~o­
Q~am Name f~em t~e SVT a"d a"
CO~. co"".etio,,.
to
"o"·r.'i~."t driver.
fro~ th. ~OL C••• S.etfo".
2.1,1 a"d 2.1,3).
I TRAN-block to ~ead t~. ~RT CODY from
*5 0" t~ • • v.t,M-d.vte. 1"to the MRT Ir.a 1"
eo~., u.t"Q t"e SVT ad~r ••• el for the ~RT a"d OOL
to d.t'~~i". 1ts .tlrt addr.",a"d .iz., ell' .t~.
tT a"d ,T~A~ 0" a dltl •• t Drovided to eff.et the
bloek

t~a".fftr.

y"it11'1z. a data •• t to t~e eo"'ole pri"te~ I"d
C~/LF to ,".ure elrria~.·re.to~at1o".
Say,
t~e cu~r."t eo"tl"t of t~. CO"'o"
k,y~olrd vector
,"d '4"k to a. i"t'~f"'I' m4"1ml' Li.te".~, a. f"'ot,d
u"d.r "G."er.' OI.er4Dt1of"'."
~utcut

".

ea" ,I~tT I"d .nPEN 0" datl •• t CMD, ~o~ml"v I'.io".d to t~. klybolrd. Re.to~e £Ow i" the SVT to
true Me,,4tor top 1" ea •• a" AS~I~N ee~~I"d il .,,t .... d.
C•• e .teo 4)
-ri"t S I"d recue.t .READ for t~e eOmml"d i"cut.
Thi. ca" ~etu~" with a VT t ... m4f"'ater rec ..... "ti"Q
CTRl/C (lee "Ge"eral O•• er4ctiof"'"). ReD .. oduee "orml' eeho if 10 I"d try a~a1".
•• remove I"V Com~ef"'t Dreee~ed by , from the
i""ut, I"d move CR uo 8ceo .. d1"olv. Re~ •• t f~om
.tep 9 w"e" "0 1"Dut ~em.1"1,
~therw1

11,

Complre th~ f1 ... t two eh.~Aete .. ' of t~~ aetuI' com~a~d 1"eut
w.t~. table of thOle f~r t". e~b~dd.d
~rocI180r. a"d d4.Date" to t"e IDP .. oeriate ~out1".
1f fou"d. (see ~.ct40" 6.~.2)

12.

Fo~ eo~~a"d. "o~~a"y ~a"dled
si~u'ete~
e~t~y
"ote~ u"de~

•• followSI
~.

(Bt

~Ge"~~~l

De~fo~~
the
Oe.e~iDtio""

seved keyboe~d veeto~ eo"te"t, ~et
of t~e ~i.te"e~I P~i"te~ Sto~e (lee
Seet1o" ~.J.t) a"d 1"d.eate "Com~e"d U"rla~wey"
.tete 1" t~ • • ta~t byte of t~e Ee~o euffe~, fo~
eve"tual ~f.ta"e~ exit.
T~~ouq~
t~e

13.

by

t~e

ad~~@Is

b.

Seve sfo"fffce"t
a"d
~eset
a.

0" the stee.
the ~D~e4al
O~fve~/I"t.~o~et~~
i"te~faee
(sae
~ectfo"
6.3.2).
~f~ulete t~e "eee.le~v steek.stete by
eush4"o 8 level A o~fo~ftv Statu~ fel'owe~ by
the TMO~ ~eeal' ad~~e'l (do"e bV JSA i" feet'
to eouete to t~e "o~me' ~f.te"e~ ~ece"
(see
Ff~u~e 6-2).

e.

Set the o~.o~ity level "ow to 4
I"ta~D~ete~ (Sectio" 6.3.3'

Reg1.te~ eo"t~"t.
~~ouf~ed
bv

a"d

eel'

t~e

~etu~" th~ough the ~Dec1e' n~ive~, seve ~~e
~e­
'eva"t eof"te~s f" the ~f.te"e~. Pof"te~ Sto~e,
d~o~ the D~fo~fty to level a
a"d WAft u"tfl the
eo"so'e o~f"te~1 f"te~~uDt fl rifsebled • f"dfe.tf"~
t~.t all com~a"d ela~"-UD f. "OW como'ete.
~etu~"
to IteD Q fo~ a "ew 1"Dut.

0"

Doubt'e,s the ~eade~ wf"."ote that two featu~es a~a f"e'uded i" TMn~, el S~Ow" by fts sou~ee If.tf"Q, ~ut e~e "ot eovered ~,~!. The if~st of these. the OTHE~ ~o~ks, we. me"t ••
o"ed ~~i.flY f" a "Ge"e~e' Oe,c~1ot1o"" foot"~t~ e"d, es 1"d4ceted, is D~e8a"t'y t~~elev."t. The seeo"d tl e" a~bedded
.READ/.WRTTF D~oeeISO~. _ Thf. also .e~ve. "0 Du~oose eu~·
re"tly heeeuse, al show" i" Sectfo" 3.2.2.2, thf. ~outi"e
~u.t be rel1de"t at a"
times. However, thil ~av "ot a'weys
be t~e sttuetfo". Si"ce TMON fs "ot loaded a~ 8 u.e~ D~O·
gre~,
.'thouoh ft o~erates ' •• 8 o"e, ft ~oes "ot heve the
.eme ODoo~tu"ity to heve a relfde"t RWN SO ft erov4del fts
DW" e"d ff ~eceS.ery ~orlffte. t~e M~T to us .. 4t. Mo~eove~
the Loe~e~., ~esc~ibe~ f" Sectfo" 5.1 0~faf"al1y el.o used
.READ ~.t~er that .TRAN - he"ce T~ON, f" the ~U~/GET D~oee.­
.or, ~ove. fts CODy i"to e buffer for thefr aeC •• 1 whe" ~a­
aut~e~ 8"d f" feet DaIse. 0" dete f" R5 (t~. ~RT 4"fO~~~tfo"
0" R~N ~Y'te~-device loeat40" - o~ ~) to .f~"al t~...
T~4s
dete t~ouoh fs "OW fa"o~ed bv the 'atest L~ade~ v.~ •• o~s.
The D~oc •• ses re~ai~ ~" ee •• they .hould be "e.~ed io~ '.te~
devel~o"'e"ts.

DOS6.RNt"I

.~.5.2_ T~~_TM~~_C:~.",~a_"'~s

Thi. seetio'" discusses co~~a",rls ~a"~led o"'v ~y t~e t~a~ •••
e"t ~0~1to~ 1~ o~de~_to allo~ t~e", to ~ave full ecce.1 to
al' t~a."o~~al ~o~ito~ facilitie. because ~o yle~ o~oo~a",
can exi.t .'" co~e w~e'" they a~e e"'te~ed. T~ev a~e 1~ fact
;"eaa' at anv ot~e~ time. T~e co~mands eove~ed ~e~e a~el
LOGIN
~UN/G£T

FINIS~

.1 s~own i" t~e o~evious sectto"" t~ev a11 ~eeeive eo"'t~01
f~om .t~e
T~ON ge",era'. routi"'e w1t~ qe~i8ters A~d .tAC~ ao~rooriatelv let fo~ t~ei~ aeecess to t~e
eo",~e",d
bv wh1e~
they ere ~al1ed.
Li~e
the ot~er eo~ma"d oroeelso~s dese~4bed ee~11e~, t~ev a~e t~e" resoo"'11ble for
~ecodi"O
anv
araume"t ente~ed e"~ for e~ecki"'G ftl va,id.tv before Der~or~inG t~e funct~o'" ~eouired bv t~e ODerator~
0" eom~le­
tio", they PIIust e"IUre ,~at t~e co~re~t mae~f~e·stete is
~alled to t~e "ext rout.~e i", eo"trol.
If i" fact t~ts tl
aoa4" the T~ON gene~e' proeessor, t~e eo",te"tl of qa, q],
a"d R~ ~eme." as on e~t~v' the stack il clea~ed of the ff~st
two wo~ds, but t"e ot~ers It and.
The ,.f,,,,t f ~e, mUlt a110 take eare of anv e~ro~s ~eteeted efther in oroeessi~g.the a~gument o~ i" exeeutio", of t~e eo",mand. 'o~ eOPllpetibilty w4t~ the ot~e~ oroeeISO~S, t~ev use
the ~pec.al Or4ve~s faeilitv for printinG e~~o~ ~eslaoel al
deleribed. t", Seetio", ~.3.2. Thev do thia bv sfPllulati"Q t~e
,.eea"
diseusled i" Seetton 6.2.~ wit~ • svste~-Itate eonfo~mi"'Q to the deteil, Qive" 4", Sactio" 8.2.5~
0" retu~n,
they oas, eo"t~ol ~aek to the aenerel o~oeeSso~ to f~"ore
the eo~~ands. .Qai~ qeoiste,.. e~d 'tec~ a~e .1 Iho~" ehove •

.~S·.l

The LOGI~~Oll'lman~

In Ch8pte~ 4, it wa' 'how~ thet eec~ DOS ule~ ca" effectivelv ~el~~ve ere •• 0'" bu1~-~ed1. within t~e 'Vlte", fo~ the
Itoreoe of ~is ow'" ffles of o~oaraPIII o~ ~eta, w.t~ some
mealu~e of Droteetfon a~af".t ot~e~ userl.
T~e LnGTN eo",mand fl p~ovtded to enabl. ~ill'l to ide"'tifv hi"'self to t~e
IVlte'" i'" o~de~ to aceels t~ose files. Cu~re"t'v this ;s
it. onlv ~ur~osel it ~. i", ~act u"eeeesserv ii "0 u"'4~ue
fi'e-struetured ooeratio",. are to be ~erfo~m~d Cs."'ce a"v
ule~ ca" call ~rOQrams stored in th~
.vste'" Librerv (user
1.1) or 1! t~euse~. i~e"'t~f~eatio" i. e~tered a. oa~t of
the aetuel f1'e-soecification for e8e~ tas~.
However its
u.e t. reeom~ended as a st.",da~~ or~ctfee fo~ eele of ooe~e.
tio" now 8"" i" case i" later O~S "eYe'oo~ents it beeoPlles
neCe.sary to 1P11oose ~ore restrictions upon u",aut~0~1zerl 8C-

PlGE b· 80

DOS6,~N("t

cell to

t~e

'Ylte~

ae~e~a"y,

The o~'v 8~aUme"t cu~~antlv ~eaui~erl fl t~e irlent4fication
code f9~ the uSa~ ente~ino t~e IVltem. ~ence the eom~and
fo~mat ist

W~e~e "7~~uc".and "U.e~" each consist of UP to

ASCII dfoftl in

t~e

~Inee

1-376.

t~ree

~cte'

Not onlY fs tha LOGI~ .command f,'eoa' ff a croaram f.
1oaderl, it i. invalid ff any othe~ u.ar i • • ~a~ to be stil'
occucvf~O t~e Ivstem.

P~ovirlarl that t~e IVltem i. f~ee to acceDt a new
Ule~,
the
LOGIN ~~oce.so~ cellI ~~e Conver.fon Utiliti •• cackaQe d •••
cribari i" Section 5.3 to conve~t the two arauma"t_ 4nto
the1~
-,ou1valent bina~v byte., The ~esu'ts Ire .tored at
UIC 1~ the !VT Cse. S@ct4on 2.1.1l. In .orde~ to ~e~n tha
naw uler that Date and TOO ~av need uodatine, o~ fo~ 'ate~
~efe~enc •• it then outcuts the cur~ent co~tent of the aacro.
criate SVT .to~e. at tha consola c~fnter, T~f ••• aeco~.
p'ilhed bv a norma' ,WRITE to t~e full d~fver to p~fnt the
acc~oe'Ate headino "OAT~I" or "TIMEi W, this fs followed bv a
limulated.ca" to the kevboa~d rnterc~eter ~4th a .uPDoled
command f"cut without aroume"ts, the~ebv ut4,izino tha cor~e.cond.no e~ocelso~, conve~.fon faci1ttfes
to obtain the
reQuf~ed
format,
In each ca.e, t~e .econd cell f. ~ade
th~oU~h the TMON Qene~al orocessor • • Ub~outine fo~ the pu~.
co.e, IS discussed f~ the 'est section, 0" completion, the
oener., Droe.s.o~ is recalled for e new f"DUt.

Exh Stltel

As noterl in the int~oduet'on to Seetfo" 6.5~2, the LOGIN
commend cellS the Speeta' O~4ver to hl"d1e ft. e~~or me..aoe., Reo4ste~s a"d Iteck .tate fo~ thi. comply with the
~eQufreme"ts of Sectien 6.2.5.
In ne~t4cu'A~. Ql mav conta1~1

-2 •

A"othe~ ~.er on the system, "'e"ce the
command 4. Invaltd •
• 3 • No ergument o~ one eontaf"4n~ il,ea.'
cha~.cter. o~ cod •• outsfde th~ IPee4fierl
~e"qe 1-376, henea Feu'tv !vnte.,

T~e

•• ~y

.4mulated cell to t~e
.tate a. det.i'ed

gene~Al .p~oeeslo~ ~ee8l'

I~te~c~ete~ e8t.blis~e. t~e

t~oduct40~

to Section 6.2.5 a"plv.

The

seQuence followed bv t~e LOGIN
It is ~utl.ned b~'owl

.4~~le

i"u.t~atio".

1.

neeel-

T~e ~em.~~. o~
on e~m~letio~ eo~tai~ed ~n t~e 4n-

4n Seetion 6.3.2.

p~oees.o~

nee~1

no

If

the cu~~e"t. e~nte"t of Ule ~n t~e SVT.s non-0,
8nothe~
use~
on t~e 'vlte m, ca" the
,pecial O~1ye~ to D~.nt a" "Inva'1~ Co~ma"d" me.saQe' o~ ~etu~", e'ean-u~ the .tae~ and ~etu~~ to
4"dicat4~g

t~e

T~O~

Qene~al

~out1~e.

'-.

ea" the Octe' ASCII eonve~te~ i" the
utilitie. package to eo"ve~t "G~OUD CodeR
and sto~e i" the SVT. Rep,et fo~ wUle~ Code", io~0~1~O
the com~e .epe~etion. If the a~oume"t end
i. ~eae"ed bef~re the two co"verl1~ns have bee"
eompleted o~ if either byte 4. 0 o~ ~11 (o~ above),
elea~ a"Y va'ue stored 1" the SVT an~ ea"
t~e Soe.
ei., O~4ve~ to output "Faultv Svnta.". Exit a. i"
Ite" 1.

3.

e'ea"-U" the .tack a"d c." .WqITE t~ the co~ma"d
output dataset to p~i"t -DATE,-. On eompletion,
move t~e f4~st two 'ette~. of the ~as •• oe followed
bv CR into the commann fnout buffe~ a"d eal' the
DATE co~me"d proeel.~r (lee Seet40n ~.~.1) through
the Inte~,,~eter.

4.

Othe~w1se
~o"ito~

~1~i'a~lY or4nt "TIMEI" an~ e."

o~oee'lo~
Qe"e~a'

6.~.2.2

The ..

C,ee Seet40~ ~.A.7).
routine when done.

the

TI~E

Retu~"

command
to the T~ON

FINtS!4._~o,,!~~nd

The FINtS~ eommA"d "atu~a"Y eomp'e~entl LOGI~ 1n that it
removes t~e use~ .dent1fieat1~" f~om t~e system, thereby allow1n~ a "eW u.e~ acce.s.
It also enlu~el that the memo~v
.ide of t~e system il c, •• " •• possib,e fo~ th~ new use~ bv
reboot1~~. the
~o"ito~
af~elh
f~om
the
.v.tem-~eviee.
How,ver. it d~es not o~ese"t'Y attempt to pe~form anv re.t4tut1o~ of periphera' deviee., eve~ thouQh t~1s •• implied bv
the orovi.ion of the .KEEP Yin ~eQuelt fo~ f11.-.truetu~ed
dev4cel,(see Section A.6) .• nd the ~eleva"t b4t 4n the File
P~otect40~ Code (see ~eet.on 4.1.A).

PAGF.bS2

T~e

FtNIS~

~o~mand

needs

~o

arQume~t.

tts

1s

fO~~8t

the~.

fOl"e Si""C'yl
FI [III I SI-O cC!b

Aoal"t 1rom t~e "vel"al' l"est~ict40~ that no oro~l"a~
10aderl, t~t, co""mand can" be given .t anY ti~e.

T~e

FtNtS~

DI"OceSSO~

ule. a

.i~41al"

tac~ntaue

t~

ean

that

be

da ••

cribe~
f~1"
LOG1~ 'n t~e ,.,t .ection in o~d~1" to c~fnt the
time "# ftnal loa-off fol" user referenee.
It then determinel the IYlte",,·device f~om t~e fi~st entrY .n the ODL Csee
Sectten 2.1.3) t~l"oua~ 4ts SVT ~ointel'"
by table look-uo,
thfl i, eo~vel"tej to the addl"e •• of the aCPl"oo",iate hardwal"e
",egilte'" a. ,uccl.ed to t~e RO~ boot.tl"ac (I~e "Sta~t.n~
Procedure" in the Pl"eal"a~~el"s HandbOOk). The ~oot is actu-

ally .cco~olfshed
Quence.

t~l"ouah

an embedded val"110n of the

qO~

se-

A. noted above, thi' cO""ele~ely l"~fl"eShe. the ""emory load·
inG, i" o'l"tfculal" l"emQvtnc any eUI"I"~ntly 10~gad·in ule",'
ident~f~catton. Howeve'" it a~.o clear. OAT! and TOO.
So
that every Uler is not obliged to "'eset th~le, the FJ~tSH
ol"oce •• ol" doe, not call fel" t~e boot u~til it has .eved the
e!"elent entl"fel out of hal"~' way.above t~e t~c of TM~N Ca ••
lumed X~'40A if cOl"l"eetly lfnkerl for XIT lo.dtna - .ae Section, 5,5 a~d 8.1.2). They al"e the" I"eltol"ed bv the ~onitol"
initialization routine discu •• en in Seetio~ 2.1.4.

Oetailerl Pl"ocessinQ'
The croce,s.n~ of a FJNJS~ co~m8n~ t. a~a.n Quite
fo!"wal"d a, shown balow • hence no i"ustl"ation'

stl"atght-

t.

Call .WRITE to cl"int "T1~f'" uoon th~ eo""""and outcut dataset. Move "T1 cCR>" into the eo""~end incut
huffel" a~d t~l"ouoh tke tntel"ol"ete", call the TI~~
cO""m8nd OI"OC.I.OI" Clee SectiOn 6.4." to out aut the
TO~ stored in the SVT.

2.

Sava the eUl"l"ent SVT entl"iel fol" DATE end TOO
stal"tinQ at locatio" XX'40~, usina t~e content of

CSA (toD of ~e~o~v) 4n
Ceee S@ction 2.1.

'.

t~e

SVT

to

c~~~ute

t~.a.

Get t~e ~a~e of t~e svste~~dev.ce fr~~ t~e O~L a~d
by table leok·u~ det.~~ine t~e ~d~~ees of its
~ardware wo~d count reoister.
qESET to clear a" t~.· ~ardwar. re~4ste~.
d.vic., s.t its word·cou~t to ·6~ and ita
Statu. to 5 CRead ~ Go fo~ a" d.I~.'. t~i. t~en
read. 64 wo~d. fro~ block ~ to ~e~orv ~.
~eoue.t

fo~

t~.

Wa4t on t~e ".vica done f'a~ and re~eat frc~ stee 4
4f ~ardware errors a~e reDo~ted. If .at.sfacto~v,
00 to 'ocaticn 0 to execute t~e
routi~e
loaded a.sumed the ~onitor Loader (see Sectio~ 8.2.2,4'

~e.J _~! __ ~_lJ_~~ET _~om",a"rJs

T~e RUN a~d GET co"'~and. ~e~fo~~ t~ • • ame basic
function •
t~at oi
tnitiatfna the 'oadi~a of user ~~Cgram.~ It wae
.~own in S.ction 5.1 that the 'oarJ orO~8r i~ ef1ect.d bv two

non-re.ident modul.. LOq an" L02 ooe~at."~ fr~~ w.thi~ t~.
re.t~.ct.~ environment of t~. ~SB.
To sim~l.fv t~e4~ task,
all t~. orelimt~arv wo~k is carried out bv the TMO~ routine
w~4ch oroce •••• the two co~mand. 1n4t4a"y a~d whic~ thus
ha. ",o~e facilitv. Thie qU~/GET orece •• o~ i. t~e~efo~e ~ •••
oonlibl. fo~ decodf"O t~. in~ut I~ecif.cation a~d for .~Iur.
ino that th. ~~oara,:" ii, availab~e as eo.cifi.~. Furt"'er, it
undertake. the readina of the f4~st oa~t of t~e ~roor8m ~o·
dul. and the .xtraction and .tor.a. of the oe~e~a' contro'
information at its front. Hence the actual Load.r need t~en
b. coneerned_mer.'v with the ~rocelsin~ of the data for the
o~Ooram U.elf,

~tJ

['4]

GE [T]

Dataset Snecifier 
Oata.et Soeefffer 

Where "Oata •• t So.cif4e~" co~ol.es with the reau.re~e~ts and
rule. fo~ Comma~d ~tri~g Interorete~ fn~ut • but wtthout
.wftch.~ ~nd wft~ soace, bei~c 8 va'id
k@vbo~r~
de'imiter,
not 4onored (see Section 5.4), na~e'vl
[Oev f een rFi 1 ename [.Exten. 4on' rUIC]]

OOS6.QN"

PAGE "-- 84

"F;'e~a~e" ~ust,

of cou~.e, be o~e.e"t 4f t~e d~vfce •• a"y
~e~iu~
Ci"C1Ud4"g ~ae"et4c taoe).
Ot~erw4se t~e followi~o default co"rlitfo"1 .oolv, al fu~t~er
ex~'a."ed i" t~~ "e.t para;rao~i
for~

of

bulk

a.

.to~aoe

Device.

t~e

'Ylte~-devfce

AI "oted .bove, o~e oroce'IO~ ha"~1e. both ~U~ I"d GET. ttl
two @"t~v p04"tl ~e~ely let e Iwftc~ apo~ooriAtely to I~OW
t~e Load.~ late~ whet~e~ or "ot to start t~e
proora~
automat~c~lly •. Cst ~I f~rlt called t~ perjor~ t~e f~put decod4"0 ooeratio". (The i"out buffer uled by TM~~ fl alreldy
let uo t~ ~"clude t~e re~u~red workloece, CM~BUF • .ee Sectfo~ 5.').
Provfded t~.t lome Ir~ume"t ~'I bee" e"ter.d,
t~e RIJN/GFT.procellor firlt c~eclc. thet the loecfffed devfee
e-flts w4t~i" the IYlte~ el I~OW" by the ODL. tt the" ule'
the T/~ call .LOOK to verffy the .-flte"ce of the ffle 0"
tru~ fi'e-Itructured devfcel e~ the eb14ftv ~f • "0"-1ile
device to provfde f"out.
For t~e for~er Clse, the fOllowi"Q .e.rch elQer4thm fsu,ed
(1) I

1.

If "0 "utC" ., ;4ve",
f;~d

the file

.1

fou~ ettemot. ~ev be mlde

to

fol1ow,i

I.

"F41e"lme.Fxte",4o"" for the logoed-." u.er

b.

"File"ame. F xte",4o"" u"der the SVlte~ rl,11

c.

"File"ame" reellced by
Ca) I"d Cb)

"F41e"lme.LOA"

II

for

~o lubstitut4o" of "~Ylte~" OCCU~I ff "Ule" i, e.0'4c4tlY aticulated - ~e"ce o"'y two tril" oeeur,

.-._.-.-._.-.-.-.

1. T~i. ~oolie. O"'V f~r full ff'e-.tructu~e~ deviee •• ft
doel "et curre"tlv i"c1ude meo"etfc teee. I" ft. ca'e, the
correct comelete apecfffc.tto" ~u.t be e"tered .1 "0 orel4mf"arv ae'rc~ fs carr4ed out - li"ce thf. mlY f"vo1ve a" e"t4r. oaal ae~ol' the taoe Cse. Seetfo" 4.7).

PAGE ~. 8~

~.

"F41~n~me.lOA"

sDecifierl

~e~lac4"~

"F.le~a~e"

fo~

the

use~.

f4le cannot be found or the device C8n~ot IUDDo~t ineom~end
•• ~eJected bv en eoo~oo~.ete ~es.age
throu~h t~e 50ecie' O~.ve~, es ~oted 4" t~e int~oduction
to
Se:tion 6.5.2, a"~ t~e T~~N Qe"e~al routi"e is ~ecel'ed.

If

t~-

out,

t~e

otherwile the RU~/GET Drocesse~ cl0.e. and ~elea.el el' the
TMON ~ete.et. currently lfnked (E~M being let to ensu~e eo~.
~ect ~uffer-rele.se - see .ee Section 6.~.1'.
With the svste~
then restored to no~~.' .tete, f.e. t~u .. ~O~ t.ince nO
more ore-loed OAT e~trtel cen be medel, keybo.~d L •• tene~
re·'t~ked to the kevboard .nterruot vector (also see gection
6.~.1) .n~ the Mo"itor/Use~ .witc h te~Dora~i'v set
to o~o·
g~a~ ru~·.t~te (to .llow stand.~d keyboa~d ~e.Dense. to lead
failure - new ~eDo~ted th~oUQh EOP- see Cha~ter 7), QUN/GET
re·fn~t~al~~es one d~ta'8t for the DrOo~e~ modV'e.
It el.im. an aooroD~i.te buffer fo~ the device by • d4~ect eel' to
the
Mon4tor
S.GTB
lubrout4n~,
if
the
device
ta
file-structured o~ vi •• OPEN ot~e~w.se

.t

UlinQ .TPAN, it then reads data f~om the ~~1Q~e~.~odule into
this buffe~, until
has heen ab'e to ext~ect the co~n
block (see Sectfon ~.1) and store ~elev.nt data f~om i~ fn
the SVT or on the stack. (f" the case of code, fdentffvfno
edd.tio"al Monitor module, e'so to be loaded) Fina"y it es.
tabli.hel the interface reou4~ed bv the Lo.de~ end cell. it
bv EMT ~1. .s noted in the orevious Derao~aoh, er~ors detected du~i~g this oroceas e~e ~eoo~ted •• fetel (F~22 • mo.
dule format incorrect - ~O CO~D' F023. orogra~ too le~Qe
fo~ th __ available core'.
The ooerator mUlt then KILL t~e
load to continue.

Regiaterl and steck Itate ~eouired ~y the lo.der were
iled in the intro~uet40~ to Sectio" 5.1.
com~and!s
reJeeted through the
.a~d
TM~~ Drooer ia rec~lled, condfti~ns e~e
f" th~ Qeneral 1nt~oduction to Section 6.~.2~

Similarly .f the
Drfve~

crihe~

The RIJN/GET processor
baste out1f"e follo~si
1.

1~

11

lust~aterl

at

F4~u,.e

~ete·

'oee •• l
es d •••

~-t6.

ttl

Set 8 switch te ~ndic.te ~U~/GET (~.the l8tte,.,.
qeset EO~ to t~e b~tto~ of buffe~s end relf~~ the

to the ~evboe~d i~terruet vecto~ Clee Section 6.5.1). ~e-."a~le ~evboard 4"t~rruetl 8"~ ~e­
set ~U~ 1" t~e SVT t~ sh~w O~O~rAm 4~ a~d ru"".~~
rl,l1 i~ cAa~ A~rorl occur f~r E~P r~portf"~ (see
~ectfo~ 2.1.1 a"rl Ch~Dter 7).

L4stene~

q.s~uffle

the co~~a"rl str4"~ to 'e4ve on'y the er~ume"t,
at the s.~e t4~e co"ve~t4"Q ,".ee to cO~ma
to tree av~tax erro~l. Call CSX to 8~Alvle the
~u~e"t
Iv"tax Clee S~etio" S.4.1). The" let UP a
eSI-elock on the st.ek ."d c." es~ to oraeare e
L4nk-b'oc~
and 'f'e-b'oek based UPo" the .rQu~e"t.
If er~orl ara detected at ~ft~er ca" o~ ~e arQu·
~ent
fs e~tered, go to stee 7 to ewft th~ouq~ the
Soec •• ' nriver for "Faultv SV"t •• ••

.r-

Through ftl o04nter in the SVT, leareh the onL for
t~e
dev1ee
soeefffed
Cautomatfea"v
~eeome •
If
• vlte~-devfee throUQh cst 1f no"e 1s Q.v.~).
"O"-e •• lte"t, s~~i'Arly e~1t for "I114ge' Device".
~therw1ae eell ,INIT o~ the oreoared dateset ct).
.LO~K to
v.lf~fty
of

ea"

4.6,6).

test t~e exfltenee of the ffle or the
the dev~ee for 4~out~ (aee 'eetfon
Go to ste~ A if satfaf.etorv,

cheek whet~er a UIe seee4f4eat40" w••
stored i" the 'f1e-bloek bv CS~ Cbec4us. leee4ffe.llventered). If so, te mporar4lv eh8nQe t~e eo"t.~t
of the UI~ fn t~e SVT to t~e ~a~e seeeff4c.tion ."d call .Lno~ aQai" Cf" c.se t~e Uler fl attempt1"q to acce.1 10meone elael f.'~ ."d the reQuelt is ~aJeeted beeaula ~ead or4vfleQ.a are "ot
"'owed - .ee Saction ~.1.4). If t~e s,cen~ ehec~
fl .uccessful, deter~f". t~. rel.t40"sh40 of the
'oaged-4", user to t~. Hles ow"er from the 'lIel.
Prov.de~ that the f41e orot.etfo" retu~"ed bv .LOO~
i~dfe.tes
releva"t _run ~r4vflpges, 00 to steo 8.
~t~erwfse Check the ffle •• te"140", 4f nul"
reoaat
both c~eek. from Itee 4 wfth LnA as 4 ~ef.u't.
~therwfle

e.

Whe" "0 UIe fs actuAlly soecif4e~, ree."
.LOOK
with the Svste~ UIe substituted. Go to steD 8 4f

....
--.---_ ....
1. ,tNtT, of eourse,

.'ao Derfor~1 the deviee check (lee
SecttO" 3.2.1.1>. However t~ts mfcht the~ r~sult in a IVSte~ error (A003) - ao~ewh4tconfus4nq to th~ yler .sDecie1ly
whe~
~e ~ •• "0 ~~owledQe o~ t~e i"terna' ooe~.ttons 8t t~is
ti~e.
~e"ce ~UN/GET forces its OW" df.o"ostie.

PAGE b

suecelsful. Reoeat bot~ e~eeks
"ul, Extenlion reolaeed ~v LOA

'.

S~ould a11

f~om

.teo 4

~it~

8'
•

let uo fO~ "NO Ff1e"
the aetio"1 of .t~o 1 to I'"esto ...
t~e .yste~-.tate as reeufred bv TMQN ."d
ea"
tl'le
90eef., O~1ve~ to aet10~ the meSI.ge. ~eve~t to
t~e qener.' ~out.ne 0" eomolet40".

er4nt.

t~e c~ecks fail.

~eve~le

8.

tf the f"out is thul now aceeeteble, ... le.se a"
d.t ••• ts cu~rent'v set uo Ca,so .CL~S~ .. eeuired on
eOm~.nd inout • .inee 0~1e1n.llv ooe"ed).
~ •• et
EOM to ft. t .. u. oosition end .,.e TOe and ft •
• tack-stoo. cay the ml"fculatfo" "ote~ 4n Sectfo"
8.e.l. the ff~lt two are helrl ebove the du~mv OAT
Ind buffe~ .~ •• ).(1)

9.

Re.n.tfalf~e a detal~t fo .. tl'le

'oad.
C."
.STAT
C.ee Sectfo" 3,2.4.2) to_dete~mf"e t~e e~.ociaterl
device cl'la .. acte .. f.tfe •• If the drive .. Factlftv Indicatol'" .~owl a ft"-It~uetu .. ed devfca, determine
it • • tenda .. d buffe~ Itze Csee Sectfon 3.3.1) and
cal' the Menfte .. S.GTB routf"e to
ov4de t~e "ece •• arv buffe.. C.ee Seet~o" 2.4.2).
P~eoa... a
TRAN-bloCk loc ..
tate'v CSee Sectfon 3.2.1.2).
~emember t~. ff'e tyoe as
.. etu .. "ed bv .LOO~ end
w~et~e~ the devfce f- DECtace f~om t~e dl"fver fndfc.to~.
Set eo(nt .... to fo .. ce I buffer-ff" ~nd qo
to .teo 11.

o..

oo ..

10.

W~e"

th, d.vfee is "ot ff,.-.t~uctul"ed, ca"
.0main'y to ut4'.ze anv ~ .. fve .. flef'ftv fo~
c~eekfnQ device-reedfne •• C.ee S.etton 3.3) and a'so to Qet 8uto~.tic buffe ... 1'ocat40" and I ffl"st
buff ... fil' C.ee Seetton 3.2.2.1).
From t~e Doe
data fo .. t~e data.et, o ... oa .. e A TRAN-block a. above
C.ee Section 3.1.2.3). ~~en t~e .QPEN tl comc'ete.
set oof"te~. to the buffe ... c~eek fol" maonette taoe
Ca',o fl"om t~e d~tve~ i"otcator). S4nce no buff ...
if"
auto~atfe.'lv occur. tn ft. ea,e (see Seetton
4.') ~e.et oofnte~. to fo .. ee t~f ••
PEN,

11.

~~oeess

data frOm the buffer, e wo .. d at a tf~e, a.
follOW. - sep. ~eetfo" e.t for detai,. of ~o .. ~at fo ..
t~e COMO exoecterll

......... -... -.

1. T~4. steo fs followed 0" tl'le ltstf"~ bv a
~ove - se. "Comment" 1n Sectfon 6.5.1.

oos.4ble

RWN

~.

c~~c~

Qui~ed

t~e

~v

f4~st

ca" "~.ad"
C"'a"te,. 7'

3.~.2.2),

CI~e

e.

~o~~~

fo~matte~

Sto~e t~e
Add~e ••

If ~ot t, as ~.­
b4nary ~o~e Cs.e ~eet.on
error (F~2t) th~oUQh EOP
wo~d.

If"e Byte Count

an~

fg~o~e

du~~v

Load

Chec~ t~e "ewt wor~.
If ft .s "~t 34~t
(COMO
code t w4t~ 7 w"rdl fo"ow4"Ol, call "For~et
e:r~or"

CF022'

Slve the Prooram LOld-"ofnt a"~ eh4c- ~4le. If
t~e u't.mate e"d 1. aboye avaf'lble memory,
call "Toe La~Qe Error" CF~2J'. ntherw4.e .tere
t~e
10ad-,,01"~ It PL' 4" the SVT Clee Section
2.1.1) and Ifmf,arlv the Procr~m Stert I"d OOT
Start I~d~es.el at PSA Ind DS4. If RUN 4. reouested, Itore PSA fn the qU~/GET switch Csee
ste" 1>.
If the ,.elocet~o" ~lag i. let Ccur r e"tly "ot
Do.sible',
cI"
"Formlt E~ro~" II aboye.
Othe~wf.e store "Pro~ram Nam@" f" the SVT.
Pre"are to store I 'fit of the I~ditfo~al ~o"f­
tor rout.nel to be lelded on t"'e Itlck. If the
"ewt word eo"ta4~1 I byte ef 2 with I ~on-0
hio"'-byte, store the 'Itter II I counter and
moye the follow4ng wordl onto the stIck unti'
the cou~ter ru"s out.

1'.

h.

If the newt word 4s ~, the end at the cnM~ 4.
~eached.
So save the tota' ~umber of word.
~oved on the steck for 10lder
use and go to
ste" 13.

i•

At eac'" of the a~ove .te"s C~) th~OUQh (h" ace bvte chec~.um end dec~ement the byte
COU"t for the li~e, slved at Cc). If thfs goes
~,
verify the checklu~ and eell "~ •• d Errer"
CF~21) 0" fe.'ure.
ntherwfs. reoeet steol "a"
throuQh "c" and resu~e from "g".
cu~u'ate

the data f" the buffer ~un out, ca"
.TRAN
.WAIT fo~ a refi" Cor ff11 if f~rced above',
orovided that "0 EOD wal seen at t~e '~st tra"sfer
(this should "ever haD"e" • if it ~oes call "F~r~at
Error" (F022). 0" comolet40n, adlust the buffe,.
end
4f "ot c~mD'etelY filled (EO~ "Ow ~et).
PreDare t~e nevice Bloek # 4" the TRA~·b'ock for
S~ou'd

8~d

DOSS.ANO

a.

tnc~eme"t
curre"t ~lock if t~e device
.s
fi'e-structured a"rl the file itsel4 is ce"t4ouout Csee Sectio" 4.1.1.2)
t~@ device
is
"ot file-structured, th4s a"~ occu~. b~t is
ir"e'eva"t.

-.f

If the i"put is a li"ked fi'e Cs •• Sectio~
4.1.1.3), .xtreet the next '."k-we~d - I.t fOO
for "e.t t4me if it i. 0.
e.

.

.

If the li"k is_"@Qative and the ~ev1ce i. DECtace, adjust fo~ "everse tace-met.o~ Csee Sectio., 4.2.3)

that th~ finel COMO checksum .s correct
CFA21 e~re~ if "ot). The" co~p'ete Aeo •• t.~."d
.tack state creparatio" reQu4red bv the Loader.
CMovinc a~y ~O, marker i"to t~e !')Da fo~ , ate~
refere~ce) a"d call ~MT ~1.

E".u~e

C""T__
,....."....~ 1.c/w4.)
c.o"-'O..&

,~~uPT

~

I'll,., ,- fI'~
~~~

(;0) ~"o(J>a

(:) ....,..... c.naV

. ---------.

.~

iol.Dn'3 .. &"!l

TIM'"

!:U'&,:

1t'I."'."",...
)ctl~~

r

-.,..

.

ItGC1( ~l)

U'l&CACj)

=-etw.as.

t..OC"·U P
I

,

- - - -I- - - -

~

I~

0-,.~~

.w(

5'1.'III!rO.
DC\(,c:e:

""8IU+«'/

(1IOfY'I'"

ftT1

~).-------.J

(I&tn' ~)- - ,

.s,)

( ....T

~) Cen\~

,a-.cC......

,

VI•
I

r------------------------~--------------------------~
I
(rIftff' .1M)
, . - - - - - - - - - -~ - - - - - - - 'tIII\T Jlo)
r---

,

->---1

I

~v
""'l ~

,

1

~I

.. loo

",...,. tn4It ...

-

>4Ibl~1t

It\t"',~

(~~)

(,-"T X)

~N'EA

A

-u.~
M~e.

.....rr

y

y

,
(,IItIn"

at) - - - -> - - - - (cntr a.) - - - c.) c~,.~ "~&,,·olQ.

?- - - - - ..

(~T .:a\)-

(..-a)

-9 Cet'f\MAJO

uec o. 'T..c KCVaottG
,...

c:cMf'ft_O

~p

~ - \)9'

~A.

rAoce&&,"'.

-> . ~

..

it£Gf5i~S

---

~vO

"T'

-----,.P'lOC1!SSo~
c:.Au...
---

~9~~

~"'l)

~G

"'T

1-'----

,~seR

-

Pc~PS

f---._-

.-----.-----

_c,_

c.~,",-

PC. PS Poa
,"1CY-_~

-

~o-.

k

M.N""",-

"0

(o~ ".....

~~ ~

PoIC'C1ER. TO Coc'rlJ)

AII\!A

S/It~

.

ACII!A

---

~uPtO

~

'COGeAM

tteG1~~

A.EG-ts.~

-------

--. - 'C'--

Pc a ~

~
~\)CPI£~

I"~"~

Ptt~

-.~--

......

~~

Pc. Ie P& PO«

----- ~

"'oA

"",,,,,.mAL-

---~.-

----

f---._-

.....

C..CA~

0't"'ER RecAL.\..
'o,rnc~

-.---

.E.eAu..

-

.AcHiUI!~ a£cA~

---f-----

-

pc.e..,,'l6tAuPT"
S~

-----'---

- ----

---------

~e:-

~
---~

-~----

(.-~:

~K

---

-~---

-~---

F"~r'e..

-~--

~

;:~nAfe:s. 1)oQ"",. . co4W1\ftC"G)

()4ZoCESSo.....

-----

0'"
0'"

~.C.t)l

A~

~

.vrc

kt'\O

STO&C

-~.-~-----

OF

fIGlII)4t~

,""'~ .""1\E

"&".T
~T

~

EcHO

o\lTPuT

~~---

..e..
3:/0 oSw 'TC-.:\':I*~ &..;~ .5"I"'OIte.

~~&

,.,~

~

~

c:..ort)ff)A .....1)

----K.oeF:

.

('70 .~r

-

~

"""::::::-

-

./'
...,/

-

.y

-

PAX"'11!.It ''''~R't~
ST'A"Ntt &,,~& 6

e.c ... O

-

&\lFFe.A.

&\JfIFeA

(-, ~",..y
~~ E~~~~
6~~eFt

ECMo

KeiL. :

~

..:r

,,~

ocx...a.... .n-· X1>S.... T.~'e!A

tC&e.

-

t<.CV6cMIl A:D

SWAP

- -

-

-

,/

&JP,:e~
,

(.2.~ c.JonI~

.-

-

-----~.

-~-----

-~Ec.6

--tCS&.
--

- .. --

:!)WtTCt4

.'~

~

"ClC!A

'''PU''
&\)F'FE~

-

-

-

-~----

1~'1'ft~cr'()N

--

--

PSI'"

,.,~

OPE:R~T10NS

~M~~
.5fWE.
eH~

')-.._ _~ C • &,T

(SMOW5

:t orO)
I(:TVGo
c.\..~

I"'PuT
SioctE:. qs
OIJW&J1"'

FLAG

OPER.A'lONS

-f~,a '-'+'.

K6t,. •• a
~i'OQ.E

",8."'"
USIfolQ. «.IJ

u:&s
IH~
~-~~--~~~~~
~........

~

Xf: FtG'
TetnE ''',
".:l'iE,

troq ":5EiR

K6.\.l>
ftEPLIKIiI

'i1' ' I.IT' a...,
kg ,HT.

J>lli:Ml-~

5f.~
'Tbe£lrll...
~.

~~--->~~~

f~~--~~~ t<8.~

~l~~

~o.r.

.swn:."

>

(~)

ac&."

~uP
U~~~~

It~ .. t.....

b-5

____- r__~~

Ke:"1BOAe:D
IN-re:.RPReER
OPE RAT IOC'lS
1C.6&:.tAY
ri£'\"of"
5PE.c: .1W'R
Iae.Au...
~~"'c

FLA&(lt5

Ge;-&s •

.....

>~8

"~ClEs3 I---~
o~svs.

'>~."ca:l

C~$VS

l>Q,~

To ~",j)
""~~.SEG

~o"'oJW

fWlE.*,
A~~Q.ES'S
Im&~

.NJ1D6

1(e,t.CO

I"I'IO"~

s.rT

ro,~

T"O MU&

.,e:r up

........_ . 7

'IN\( CMi)
EA.~oR

K~~
~«T
~1oA&

~e

'it> ......_ _

~..,

':>.~'

O"'I..A'I

ic:.AI.)o..~

~~RDP

~-

DR.x:i>L

§.~
&"fT'e; SI.
IlEmo'iE.

~~~

""6&:.1>)(.

"U, LTI PI..'t

QL~\b4lte.

6'R£VlOL}5

~lEliG

AC!.SUL'

g.

~tO.N)~

, Grft<:I«.E.

~Q."

"£W)lGi

....

5£. uP
:5P1ioc.d''1''-

J)'t.v~

RecALL..
~£.~~
Tb~e.1.£.

-

~.OG.y

S£. VeAIt

C:~
s;a~e.

~.

G£;MlE.

Pel!:

eore

~C'I')S"'"

~~

[!AVe

~R.EIoCi'"

ErA

DM£

~\J~
Y

....

>III.OGf't}

S~

--~

r;~

a'1l
'1t)

i1

,~

PAy

aett)A"" .

11I'WI..mi
"M8I-1t

~

+ Ate..

J)ft'l~

...

"1'f\&a..e:

;MJ.'1C

11111.0'1>

&c.' 'lJA'I

- 9SS'

So
l'IloNT\i
TO XX)(

Pa\,,,,,~LS

$e.~

"eCa

&fI\...s.s.

~R.:'l
~IGtTS

.UIJ-t) 'lIT

'DU.-,T &'1
I~. XF'
~'¢.~

M..ae.

~

.oPrt)

--1

bo
I_I

OoJ~'"

~.:t'"
~Tu'>

Cou....e:-cr

'r~.sv..'

1V)o..."...

ER~R.

L.£\\'ER

I=W\Gr
-~

<

Co

TO

«£cALL.

-./

l='5U~

fo-7

c~~

SAvE.

(e.)(Qc:.UtQd PortH"') C\. bL>~\leC" dQ,~ed
P-t'OC\'\ p.~Q.. Core. du('",~ Pt\a.se. I)

.Ji)

PQ,. ,-,~

_----.~ a€~r{ c.~

Pn:i!.
To t4ePrb

~A -.1!

6'11£

c...rr.

~~ewA
PcliHT' ~!>

Is!_~~'!1'

""

STbl' K6v

,..r.-••
,e..

p~

T'O$\{'!".

Sq·$u\.
~,..

~l!l>

'TO &.INti!.

~A£a9

IW\O'I"

'n)

>A'M M6A
IN L

I

~'LE
l~~CT"
'FcQ.

S\I"AeI!SS

~'"~
2.~&

T"_

(""ltT
u ... ..it

t=AIL..

.M
MCW~

a"'~vTO

FI1.E·e...oc
e~~

IIU'n)'>Eui,:Tlor(

,0
,'" REScflc.s

BEG\N

/RES""A~\

PRoC€.SSING-

fa,«

"-'t.

c.o("()cn~:i:>

PROCE5S'NG

'I:.rGO

_......i!!..

CL.e.AR
~"J't)«£

FoR

se.r

Asc.r;:

.i>,a,..,r

8Ase:..
''''c~.

pa,...
Mo"J>''::-'"

c.ornmAN»

PROc:£SSING-

.....~--+

Mo.-.cr

c ...~
»otIE
%~o~

~~

Or( SMel<

'-/110

·

f'a , c

6 -/ (J I

"ROc.E.SS IN&-

Ae~
It~S1ERS
~tOv

cA"L.~

AE.'tUAt'(

A4iL~r

co"...,..
"oq,

•. 6"lC~
~~
~'tbQ6

J

c.oo>A.
t"''''l> .. exr
ftOrl-til
l'IEtn TO

t::1)1

.re»

~

.~AtCr

'" eac

f:.y.

+ EIT'Ot"'...

".IZ(")

In~ Encl Seer').

A-e-s.'GN
(o"aR.l.'4'1

CON1M~1> PROcE.S5""'G-~~ '-/0£
/13 a ~\JB"~CnJTlH£S, OV6RLJ'¥IIII;i)

r-

~\flO\,)$

I---~,f'('ur

&V

1---....1

... " ft~])

·tEn a-m;

__------.~F_--~N

:1~.lER1

AT' __AU

6'11£

t-

c"'~
CC·QQtJt\Ne ~_~
l..of'CIo(
~,..,

~'tAc.\<.

0)

(6I~•.....n~i
none.

.. ..
.. ..

---~---

(R.ct:".SO)

-~--

----~-------

f--~--------------------.---

,

Fa

C)oC't-

___t:"%~~_:. __. ___

ro(AMC!.

!_ ~._ ..)
<... ..)

I-W-~--~-'o--c"lt>£";-;-c~-;J ... -;-'f".~

.".
~~~\~_~ft'\e: (QtUI ,;".502
~OL.LDyo/

-

.,

( - ~)I

Pc. Sl.

----

~

110..

.., .... 'MA...

-~

o~.~

't~\.J....

-----

~ec.~L1-

"o'~ 't"O ~ ~\1!. AItEA

-----

---.-._--

~~~--,~

-~-~

MoG«.~

----

~E&S.'tE!R."S

---.--

Pc. Jc

f;)~

p~

-=

-

Pc.

---

-.,,~
C'Q~ f!Cc.au..

~

PSt FoQ

J--~-~ ,f'(~~

r~M'\

i

--+-----------~~-----------~1-----

PQ.E.:v.~~
~K

~----.

Q&:Au-

ME--~--

-

f------

ST'fIIC.K.

5~~

O~.

fCQ.

• A~&.~' PQoCe~tNS-

P~'fl '-loY
r/HUII'" I

.1.

-..;

t

21.

1111'2"'4 11112113 111014"'2 12111'21 tlJ~"'1!"51
61' 18,"'127 1"'lPJ1' "'111157.3 Bille'" 0101421
4e~

"'UIII

1111 "11I2l 1311115111'

~III14~4

1"1"'3~
1!5211~

•

","'151"" 12.4211 oXCUeCWI.,.[B'JWI
"'lIIll1l'l 1111511111. w'l8'K.YQe~U 'HK

11121111 111615 1122341 I'IQl6JII' '''21141 seD1TCHPMSIIDLDI

201 17"'474 1114I/J' "'lute 1/J16"'U 103432 112617 121'1427 ,11111161

clDSNQDLZGGUWI~'

41, 1117154 1IJ1I216 01"3.6 lelPlI' 115.",. ell 112 1111"'1111 105122. 4CNP&PD'DKBRAARK
611 112625 IA!51.1 01"'1"'1 1"62"" 11"""'7 1"340\ t11225~e 11411"'1 UUIK,POLG1AO'IHX

1II'1,1IJ""
II, IU241
21, 1111151
41~ 1111(11141
61' tIIlUlU

1111541
112""
lllJI1J1lJ2
115714

I.uee.
'1, 182"1121
21, 110223
"" "'lC11.t23
ell ,,"81

1128115
112'IS
114'13
11111221

IIUI"
II, ,.57el
21, 1115361
"I, fllI~'1!I1II
61111JllUI

II I lUI 12 1I"'e6111 111"'16 01'7e, 1"1218
1180"'4111 ~1.!e7 10107' OJ Ii"" ""2 1111111)111111
l"'I1l!U Iln's 1113'" t77601 IB,III04
1'11131' 1774"111 lUlU 1'112281 1II""1IJ02

11162816 11111111182 fIIltU8 I3IS18. ~U11L1J'18"!Nt
121227 ''''1111113''' \I34eS 1212211 (CDU0CCUW")('[Ow"
1151715 11214~ 11111 .... • 216241 ,e'DUIGMUTIU.
11111138 11/11522' "'1'118 1'1116. JeLMe'LKA'TJN~NC

1I/J'!567
11111'81
IU7U
11111""2

11131'
11112413
en782
185'1'

elP14'"

U!5'I' "'llB28 '1184. DJUU8 .U311. Q MUGQLKYSIS&P,P

""'2fJ1I 1111231111 IU4U ... 2'13 t4e0"1 .e8Ull

SP~U"ATKUK~A'SL

0115.38 IAUI2.

'KJ"ANP7r~BAJBA

U211l 11131'77 "01018 1 1.8213 ".1113 13 11015' 13. SQKYK!77A8KJK'KK
1126.11 111"26 "'11401 111.151111" "'lU' 8"15 ""'51461 1tPB'UVPACHJE'&J

,/IJ 1ClIIII I

III,

,"!5u,
leU'3
1"'15836
1'7774

'1817111
"'131'8
21, 182'11122
'111, 1111'536
ell "/lJlllllel

I III III!CIJ
1II1eU6
118157.2
I 164111!

l1li,

LoIN:Z

5iRRi"'

I

°

1!l1U35~'

1111'0 1111631~ 1111111028 IIII!IU32. -BBXRSCW 'CtP'ZC
111124"1 1"1418 "'18""3 122411. DJD.~'D AUNACQ'I
11115128 1311143 "'11118 11IJ5"', CCALcFNAVK,IN88J
122411 111413 !182111 11337•• .,HJ1·ZA'ICCALc,

"~ "lll'!5 IlAIII12 122922 113'1113
21, 'le0U 156314 "'1111111116 16.3111'
".~ 11114"'3 116211 113374 lel'le
81' IIIIlIIIIIlII2 .1/181/111 1111111181 le"l2

"1,11.
IIIIU01
2111, 1112U
41, 114136
eel "28.84

1J "leBe,,"'(H
1lI01l7e IIII11I/JA00. ',H.I,eG"D •• e,.
"'14142 02111118. conn"'B'· lCF
III,"QHI"

181.51 I AAIJDPAU~'D YV)C
IIIJII!lS21 '~'AD 1tN"P&W.'
nl'11. AtAJEJ9ALUI5B'OC
111246. 4.c'D'WF&'BQ&R&~

el81U
16'" 1GI,
lGJellll!5
erUJIP4

112'11
1111478'
IIle'l
1CII3"'13

C11011111111
10111118
"'12614
1IJ1111111'8

00'136
10(111P16
111112"'1
(1)01111111116

18 16e0'"
1IIIIJ!5"'.e
162'01
111211126'

1"""'01 (1112836 IIJUIIl02 I &w('A!,JD'AHAU8X
"'0
III III "'.
116216 ""'III.,e~ "'137'e 1!!!IIS81 RS&O"&JNOB'&W.'
elll"'118 .1371113 1/1""1 1163184. A!·KAPAIN'CW 'DO
1/11"11102 1(1]141'
I, (.El FU B'KC

Oc.~ .....

NO~

1116111'
111UIII
1113274.
luel2

"1"'26
11113148
"'110B2
"'11 .. e

co '" 'lE"r.("r

~~l\.J ~P.~,)IOL4-01'7'il)

~sc~

U iVt:l L..ENT

-./

]>UrI)P

r.r.a

---

'-~

-- --

- - -...-cANS,EN"ft"\OC"C

,ToR.

-.J..~'

-

.-~--

:,- -----==::,..;-

~

~

&&W~Cl5

..

c:u::.,rnQ
~

....

Ttno"
J)thl'ltnY'

.....wc~"Ca
~.,,:r.

CftTRt£S

!,

"

ae5\J>&rr
N)O... 'Tb~

.....

....,-------'

-..

e .o.n').

F~

~ "~"T'\Or(

----

TRuE: Er(PoF ~,~(€.().~

tOON'T'O~ - G€.NER~'-

"'rlaAto.lS,E,NT

C>RO~55'NG­

P~,e

c~

:t ...... )C.
w~
~LAlQ

\1se

IS4ILT

~rt)

A"
~
~

'Ift),ltw'l

'-./

ies't1llta

T4tUa. ~
B .-.oLJ>
'-~

U!A~acot1

~
~

IiOt'O

. ,.
......
~

~ct

"

•.,.

Get~
LMUc·~

Roa. f'(f!."./

~\~.

H.o-"'~
EOI"/),ioe.~
~SiDP

~.

L

MC'I1O....
~-

~-j

&u~
~cATIOtl
~

~~.
~~

,,~

flee ofOol
JI&'''~

~:.>

'-10' .

...

~~,

E..nciZ1f!S

~:n SvT

.sflll"e

~

!~'~A

l'lWrl.CO
I f'I\AAl~

~~

"tt> ..t<:> aZ»
COt...U!a
:IIoJ~·c.rrc
~.

6l.Ocl<.~

.",

CIU..PTER 7

(]I

ERR 0 R

It ~"

HANDLING

bee~ ~oteo et v'~4eu. eleee. i" t~4. M8~u.' t~8t

of

~e.

eog"4t4o~
.o~e e~~o~ co"rl4t40" e8" ~e.ult i" • call fo~
t~e ~;.~ti"e of • di,o"0.t1e mel •• oe at t~~ eO"lole tv·
oew~1te;.
T~e D~4"t4"g .e~v4ee 4. ~~ev4ded e~"t~81'v by a
ID.e4" MO".te~ modu'e ,"d •• uled bv t~e ~0"1to~ a"d t~e

SYltem P~oa~am,.
ud. ie~v.ee.

T~e ~u~~o.e 01 t~4. e~.~te~ 4. to d.,e~1be

s.at.O" 1.1 ex~'a4"' t~e cod4"Q .e~eme Uled t~ ide"t4fy

t~e
,~~o~"
$.ct~O"
.~ows ~ow t~e ~oeeia' ~odu'e_fl b~ou~~t
i"to memo~y ,"d t~e module itself is outl."~d 4M 'eetio"

'.2

7.3.
•

7.1

I

,-..

Tyoe, of

E~~or

T~. P~oar.mm.~"
~,"dbook .~ow, t~.t a"
e~~o~. ~.~d'ed by
t~ •. o1.a"e't.e P~.~t ~out.~e aODe.~ I' 1"_ fd."t!fv1"Q "umb.~

o~.f

•• ,~ bv I code
•• a.

fo~m.t401''''

'.tte~

fol'owed hy ."

4te~

of IUDoert 1"-

2311162
~'I"f"Q t~.~

I" 1/0 r~au'!t wa, made from loeltio" 23~62 fo~
• 1.~v4e. fo~ w~1e" ~o buffe~ ~oo~ eould b, fou"d.

T~' pV~~O" of t~e code "tt,~ 11 to i"fo~m t~e uae~ of
t~e
•• r~oy.", •• oi t"e ~~ro~ ,"d to ~"d1c~te t~e follow-uo actiO" take" by t~e Mo"4to~. I"te~"a"y 4t •• ~ee~'.e"t,d by
• "u~b~r w~ie~ f9~~' t~, ~ia~-o~de~ byte of , wo~d of w~4e~
t~, ,~~o~ "umb,~ 4. t~e 'ow-orde~ byte.
T~' cod, "umber
••
eV'" fe~ .r~or. w~.c~ .r. ~o~e Idvisery t~l" dr •• tie o~
wl'de~ ,t"" O~OQ~'~ CI" ~ll"Idl! its,l f.
For t~ese, t~e"e~ore,
t~.
o~OC".~
4, ",~,"ed .fte,. t~e me,sloe ~I' bee" ori"ted
I"d ~"oee.,i"Q eo"t1"uel. T~e od~ "umber eede. are ~e.erved
for 'rror, w~ieh at beat ."eed .ome e~t.~~a' ,..~ed •• ' aetiol"1
,1"10 . , wor.t m.," "or~.' orog~l~ eo"ti"ult40" 41 out of
t~e
aue.tio".

T~. eod., cur~e"t'v •••• 0".0 I~'I

".

!"formatiO"" (I' - t"41 dO., "ot sio"ify I" e~ror
cOl"ld4t40" i" t", .t~4et"t Se",e. It a"ow. u •• ~e
of t~. ori"t ~ou!1"e by a D~oo"em wish4"o to "ot1fv
th, oD,r.to~ of it, eu~re"t state, e.g. • StOD
"umb.~ 11 oril"1t.d il"l t~ie wav bv a rul"l"4"o
FOQTQAN
~reor,m b.fo~. 4t ,.ite to t~e Mo"1to~.

II

PAGE 1-2

OOSi'.~Nn

Aet4c~ CA) • t~.s i"die.tel t~8t t~e coe~.tc~

1•

ee~fc~~

~Ult

Ic~e ~eet4fYi~Q e~ceell befe~e t~e O~OO~I~

el~ o~oeeed, IUC~ la co~~.etly .ett4~g ue 8
nev4ce
~eeded
by t~e ~~oe~I~. If t~e oce~8to~ ~eou.~el

~elum~t10", ~e CI" Iffect t~il by e"te~1~Q
8 eo~·
101. CO~TI~UE ec~ml"d. T~e o~ogram ia t~e~ eo~t4"­
uen ~m~.d48telY io"ow~"o t~e e~~~t reouelt.

w.~"."O Cw' • t~ •• is m•• ~ly c~ov4de~ fo~ t~a use
e~o~~I~' w~.e~ ".ed tc i~fO~~ t~. u.e~ t~.t ~41

ef

~elu'tl

IUleeet but 4" t~. meA~t1me c~oeell·
.~O ee"ti~ue.,
fer 4"ltl"Ce, WMe~ LTN~·11 I"te~.
t~e leeo"d ~ell of • 11"k oce~.t40" witM ae~e Qloba' rafere"ce. atil, u~defiMed.
.
mlY

~e

'ata' C" - tM4a '~OWI t~.t t~e errc~ 41 tco aerioua to a"ow reaumet.o~. !t uau.l'y ~e.~a t~lt t~e
Mc"itor ~aa deteete~ .o~e ~a~dw.r~ or loft wire
e~eb'e~
w~ieM
e.~"ct
be cer~ecterl 4mm ed4ate1y,
Fo"ow~~e luen .~ e~~or, t~e ~~ocre~ ~uat be atarted a1rel~ bv I cOMlole ~EGI~ e~ RESTA~T er it muat
be ~e~cved fro~ ~emcry wit~ a ~ILL.
SYlte~ Proor8~ Er~or (S) • t~4s ~I u,en by a SYltem
p~eo~.~ w~4e~ C'M~ct croeeed w4t~ it. eu~~e~t t'lk

4.

but ~av be .b1, to,leceet a MeW o"e After sc~e fo~~
of re-1M1tia'4zet10~, e.a, beeaUle ef .~ 1Mva11d
eo~meMd st~1~g 1"cut.

T~e cemQlete ra"oe ef t~e errorl w~t~.~ t~ese cateoo~.e.

'ilted

4~

w~e~ever

ouelt

t~e

Prear8~me~'1

~'Mdbock.

Mo~4tor rcut4Me or.SY.te~ ~rogr.m
d1.a~olt1e
~riMt4MQ se~vice, it

I

the

e~de 8"~ Mu~ber

i.

Meedl to reluoolY the

~ust

for t~e error e~d 8'10 the luo~Orti~for~e.
i~ t~e measaea.
T~eae ita~1 .~e c.lled
OM t~e ~t.ek. T~e ee"
itle'f is ~Ade by e~ YOT i~struet1o~
iM1t1al'Y, e.o. t~e fu"
aeaue~ce mioMt ~e .s fo"owi.
tio~

to be

i~e'uded

MOV

.~.O5'"

'J~ U "

\;

S(i;.

"

_. 'f

~ClV

~

.~YTE

lOT

(PC)+,-(S'"
'OT'
CPC)+,-(SP'
2d

'PASS OEVICE NAME
'SHOW 'Of VICE ~OT REAOY'
,I.E. ACTION *~
,CALL !:R~O~ PRTNT

.

"

OOS7.QNr'I

Th. ~8'IO~ fo~ th4. u.e of lOT 4. that 4t o~ov4rle. 4m~ed1ate
acce.. to a leecia' check1~g ~out4~e w~4ch 41 10,d,d with
the De~~a"."t'y ~e.ident ~on1to~, a. o.~t of the 1"4t4.'izet40~ medul' d •• c~.b.d 4n •• etien 2.1.'.
In e.~t.cu'8~, the
ultimate .~~o~ m•••• g. - cod.d e,e • w~1ch .40".f1el
hl~dwa~p fa.'u~. of the .vste~-~eviee, ~u.t be .nte~e'Dted
•• nc.t~.~. f. t~en ne o04nt in t~y4"o to b~1~g the O.e~"o.­
tfc. P~i~t m~du'e i~~m th.t •• ~e sVlte~-dev~c •• Thue 4f th4s
.~~o~ 1. det.cted, the mo"ito~i~a ~out.~e h.lt. the 'Vlte m•
Th11 loec.a' ~outf" ••• a1.0 ente~ed d.~.ctlY .s a result of
1".gal t~IDDfnQ th~oueh u"u.ed vecto~s fn the meme~v 'ocatfo~. belew .~e.
It wa. 8110 noted f~ l.etfOn 2.1.4 th.t
th •. ~o~1t~~ 1n1t1~1~ZAt~0" ~eut~~ • • ter •• a va1u. 1" the
~od~tfo~ cod. DO.'t.O~'. 1" "ch v.cto~~t~tu. we~d And
this
l' of cou~.e eomb4"e~ with the t~'D DP40~4tv '.v.' .et at 7.
T~' ~out1n. move. thf. It.tul
to the .t.ck al ." ep~o~
"umb.~ ~1th .• h4Qh byte •• t It 3, thu. Droducina e v.l11'j fe·
t., e~~e~ cOd.. Th. 'I.t ."t~y on the .t.ek at thf. tfme 1the ~C; c~""t • .,t •• v.~. bv th. ~~.o, thi •. auto':!'etic."y .e~ve.
II u •• ful ,UDOOpt 1"formltfon. 'o~ cOmoet1bf1ity with the
no~ml'e~pop ce"
thpouah tOT, w~ich 4t •• lf e'u •• 1 • PC e"d
.tltU, .IV., two wopd. ere then 'Dush'd' onto the Iteck i"
the d4rect entpy c.... el •• 'iaup. 7-1'

..

.

The 011~no.!4c Print module 41 ~IJ'ed ~v the 'D~c41' ~out1"e
by ~'I~' of !MT 32. Seceul. of fts code it f. bpoUQht i"to
the ,ub •• dt.~y K.Vbo.~d sWID Puffe~. T~u", not.d 4" .ectton 2~3.1, tt 1. DOI.ib'. fe~ d1.ono.tic orint e."s to be
~Id. f~em ~th.r ~outfn •• t.mDo~.~i'y ~ •• fde"t
.n the ~ein
SWIC Buff.~, t~oUQh not by tk. groce •• Or. withfn the KeybOI~d LlnGulg. C••• hew" fn •• et40n 6.4,
tkese the~efope
hlndle th.fp own .p~or.)el)

... _- .........•

1. A Deobl'm ce" .~4s., howev.~, 4f an !~~oP .04eanoltic
p~fnt i. c",.d f~o~ ~" int.~~uct,_(b.c.u.e' ~op inlt."ce, e

d~4v.~ hI. d.t.ct.d .o~e ha~dwI~' f.4'u~. i~ ft. dev4ee), .t
the II~' t4~. thlt I k.ybo.~d comm.nd •• being D~oce •• ed.
The ~~su'ti"o eon~l~ct io~ the use of the ~S~ c.nnot cu~·
~.ntlv be ~ •• o'v.d. Henc. the u •• ~ i • • dvf.ed to te~e e.~e
4" h4s k.vbel~d u.aa. wh41. oth.~ 1/0 t~I~.f.~. .~e u~de~­
w.y. D8~t4eu,.~lv on the mo~. cemDlex bulk-8toregp devices
C.ee "Gett.~a DOS on the ~i~" OEC-l1-SyOO-0).

I,

b,

fOP il

.i~D1y

To 'O"VI~t the "'0' cede I~e tt. ,uDDe~t .~­
f~'~ltfo" ."to the ,DD'OD, •• t. ASCII •• ,t"O ,"d
di •• lteh it to the cO",01. tYD.w~4t.,.
To eo"t,ol, fel1ow-u. Ie'.," •• diet.tld by
e"o, cod.,

the

el".d bye

Howev."tt '.D.et, •• t.ck .t.t. "
out 'Ictio",

D~'V.­

d •• eu ••• d t" the

.

.
P,oce •• 4ruu
Th. 'laUI"CI of ODI'lt40". t. ouf', .t,.tohtfo,wl'd ."d
thl~.fo'l ,Iaut,., "0 .'Ju.t'lt40", Thl b.,te ,t.D. '~Ie
t,

SIV' the Co"t,ol .t.tu. 0', the CO".o.. tyeaw,Ue"
to .".bl. ft •• '.,~o,.tte" .ft., the M•••• O. h••
b,l" D,f"t.d, w.ft fo, I"Y chl'.ete, eur'."t1y b.4"0 outDut to ~. fi"i."'.d Cl'
OutDut C~/L' fol'owld by the .,ro, e~d. ,.tter der·
4vld ~y .tMD"
tlbl1 100k.uD bl •• d 0" the cede
"u"'blr.
Co"v.rt both thl I"or "u",bl' I"d ,uoDert f"fer~.·
t~~" ~"to ~Ctl~ ASCII, u'."O I" ."'bedd.d ,outi"e,
C.i",a thl "0'''''' SW'D Buff., MIY "ot b. avafl,b'l
fOr u•• by the CO"v.,.tO" Utt'tt ••• ,0uti"1 da,·
erfbed t" •• etfo~ ~'~" • • ,t"t the .re,ult."~ VI·
'ue. with I d4vtdi"0 .elCI I"d fi~al1y I .ece"d
CR/LF,

"

Ch.ck thl error eode~ II ft ~,avI" C.ea .aetto"
7.1), r.'tora thl ty •• writa, .tltU' I"d tha orog'l~

......... -_ .....

1. If th4 a,'o, i. cI"ed ~" the ",fdd'e
Dut, the ~1"lgl wf" 1" flet f"t.'VI"I,

of

I 'f"e

of

out-

PAG~

1-fJ

~e~ove bot~

t~.

DOS1.~Nn

~eaiate~a

.aved bV t~e EMT ca" e"d
a~d atatul a"d t~e ca"
the Itac~. Fre. the KSB a"d reca"
~.tu~"

15.

PC

a~Qu~~"ts f~OM

t~e

Drog~a~.

For odd eodes, ori"t '5' to Wa~" the oee~ator thet
co~ma .. d 4nout ja .xpected CI.e aectio .. 6.1) and s.t
th@ Keyboard Liate .. er i .. out underway Iwitch (lee
section 6.3) to f~rce acceota"ce of that .~Dut
without CT~L/C. A'ao tr8"lfer the lav~d typew~ite~
.tatUI to the Kevboard Ltste"er (u,,'e,1 the 'atter
.'ready hal a slved va'u. - ' .. dicati~g that the er~o~ mellaQe has
'"terruoted the orocel.f"Q of a
co"'",a"d (1))
Save the p~oaram retur" addrels 4.. the SVT (WRA)
and ~e~lace ft o~ the stack w4th the add~ ••• of the
~y't.m ~ait Looo i" the ~VT(lee .ect.o ..
~.t.t)
th4 ••• actua"v a switch of the co .. te"ts of W~A IS
4.. the conso'e ~AJT eom"'l .. d (lee lect'e~ ~.3).
'110 c,ear the orior.tv ,ayad on the steek to erovide fo~ low-'eve' waitt"o.

1.

,..

~et

the ~onitor/Uler Iw1tch i .. t~e SVT to ahow

the

~roora~ to be 1" a weit Itate (4.e. -1,1). For
fata' er~o~ (cod. 3) ahow 4t a'ao to be ItocDad to
oreve .. t acceptance of a keyboard C~NTINU! (i.e.
-1,-1) • Ie. Seetto .. 6.3.3.

free tha
~eturn to Itep 4. to c'ean-uo the steck,
KSe a"d •• it to the Svste", Wa4t LOOD w4th ~eett.ter.
...
~eset to th.ir co .. te .. t prtor to the er~or ca"
~.ad.ne..
for ~roQra~ resumption s~ou'd a co"so'e
CONTINUE be acceotab'e ('A' errora)

Com",_"tll
The O.ao"ol~.e Prf~t ~out.ne i" 'tl Drele"t fO~'" 4. ..ot
re-entra .. t 4.. any se"se. Because of thia, it "'uat alwavi be
b~ought fro'" t~e Iystem-dev.ce so that it ca" be Droteeted
bv SAM as show" in lectio" 2.3. ~oreove~ a"v device i"terrupt Mu.t~be ~ee~.d a pote"tial soure, of another e~ro~ "'ea·
aage.
If thil oeeur~.d whi'e a orevioua "'easaoe were bet"Q
croc.'sed. the sYlte'" wou'd ha .. et whi,. SAM waited for the
KSB
~e freed. a" .",~oll.b~e eve"t.whe~ th~ or1 .. t ~out ... e
could .. ot regai .. co~tro' to comelete tts firat task.
~e"ce
prese"t1y, the ert~t rout'"e a'so locks the sv.te", by ma'~·
ta1"'"Q t~e pri9r1ty 'eve' of 1 se~ .by t~e origi .. a, ~OT
ca11. Th4s obviously mav mea" 8ooro.i",ately a seeo"d durt .. Q

to

.-----------.-1. A"v eomMA"d.cur~e~tly

be'"Q '"DUt at t~ia t.~e w4ll i~
feet be.'oat, •• ~ce t~e letti .. o of the 4.. cut U"~e~W8Y Iw4teh
al noted w4" e f feettvelv de'ete t~e .t~.~O se f.~ e"te~ed.

DOS'.~Nn

PAGE'

,-fj

~~ic~ "e ."t"~UDt C." ~'w.eceDt.d •. T~~ u.e~ '~ou'~
t~e~e­
fO~' b. D.~tteul.~lY c.e.fu' to .votd fo~ele.,b"
.~~o~ co"dit.o"l. ~f he e.""et .ffe~d to hIve d.vfce .eCe •• ~~eve"t.d

th4. ee"fod.

fo~

It .~eu'd "10 b. "ot.d t~.t the eu~~."t ~.thod i. 'f.b" to
ch."oe.
Th. eodt"Q IV.t.~ W.I o~.ai""'v d~'.O"'d to D~o.
v4de • fo~~ of .ee •••
ft" of ~"~o~ ~"'IO.I .to~e~ a"
th •. ,v.t'~.d.v4e., ~ith ~o .... t .. 4etfo" uao" the '~OU"t of
.ddftto"., .UDDo,t ."fo .. ~.tto" ".eded f" e.ch
It t.
o"'v •• t .t 0"' tt.~ fo .. the tt~. bet"e fo, t~ ••• ke of .t~·
Dltet~v .• " the •• ~1 •• , .t.o •• of no! d.v"eD~."t.
IJ.e~.
th.~.fo ...
who wi.h to D~oduce D~OO"'~' which .110 e." the
D4.a"c,.tte "~4f1t "out4"e ",.v ria 10 ~ut t"'.v. "'I)'~ the" be
D~'D .... d
to ,M."d the •• D~oa".~ •• hou1d the o~.Qi"., f"te"tfo" e•• ~D,.~."t.d ,.t.~.

te •

1-\'\ a
o

\.. .

e....

C.OI'1

'1 '1\ ~or IV'~ ~0'1

"-c. i-~....
u...'o t

t\

t

~ v"f~

IY--'

F~1iP1

er to,

orefotof"

.t~ U ~ t

-toicl ~ftot~

t~))
r ' "'-'-~ 0

/'

€

•

~,~

OOtC'TI!HTS
~1We» 6"(

IIfI1r

THe.

"'''rO~

rc.

UT~

--p

~U!'TU.fC

5TAT"~

A~"

PC.

sm:rnJS

Il£1'UCr(

..-.oR CO,£'

-------

S~PPQcn'

1

EUOC ".

)
~

--,

'MFbftm*,TaON

- - - ---

1a)('&T'~
~

~TAC:.tc

~ IE

oN

~

'l>, ....f(esn'\c

~,""'T

'1"t)

1tt£

Eacoll

AO~T""Et.

CHAPTER 8
MONITOR

G ENE RAT ION
and

MOD I F I CAT ION
T~e

'.~'1.~

C~'Ct8~'

~eve.l~o~"

t~at

t~e

DOS

~0"4to~

ee"~

~f I" 4"-eo~e eo"t~o~ leetfo" .uc~o~terl by i"dfvidua1

141tl

~odu'as Ito~ed wft~i" a
L.b~e~v
0"
t~e
IVlte~
It il t~e ohJect of t~11 e~l~te~ to d8le~4be ~ow
t~e IYlte~ 41 built o~1ai".11v 4"to t~41 ~o~~ I"d t~e~ to
d.leusl t~e croeedu~el by w~.c~ it ~.v be e_te~ded o~ ~od4f4ed.
~~oee~14"~

d.vic..

Mo"4tor ~e"eratio~ beei"1 w1t~ t~e '1Ie~b'y ~f t~e ~edu'e
10U~C'1
I"d .t~ei~ lubl.eU8"t 11"k4"0. Seet40" e,1 fde"t1f1el t~, ~.~ufr.~."tl fo~ t~e.e two Itece..
Seet1o" ~.2
t~."
.-0'14"1 t~. letul1 build1"o of the IYlt.~-devfee L4b~.~v.
Sectfo" 8,3 .1 co"eer"ed w.t~ t~e e~ob'e~1 of e~e­
Olr~"e .e"d c~eek."= out ~ew or ~ee'.c.~e"t ~~du'el c~.o~ to
t~e4~ f4"11 f"clulio" i" t~. IYlte~.

1, it WI' "ot.d t~lt I ~aJo~ feature of ~~. ~0"4t~.
fact t~lt eac~ rout."e 11 I comclete'v
Itl"d-elo"e module at t~e lou~ce-leve'. T~e tYee of disk
be1"Q uI.d IS 8 IYltem-device a"d the exte~t o~ t~e c.~~a"­
."tly ~elid."t Mo"ito~ Sect1o", ~oweve~, reauiee that the
~odu'e.
,re correctly el.e~bled I"d.'i"ked befo~e_t~ev a~e
4"c'uded 1" t~. IV.t.~. T~ ••• oO'~ltio"1 I~' t~e~.fo~. 41,ultreted 1" the fo"ow."c C'~IC~le~l.
I"

to~

e~.cte~

4~

8.1.1

~odu"

•••• mb'v

T~e i~d4v.dUll ~o"itor morlu'es cu~re"t'v

IVI.'.bl. t~rouo~
DEC P~ocram L1b~l~y I~' 11.te~ .t F4Qu~, A-I. CR.fe~ to
"A'le~b'4"= t~e 008 sou~c. P~oa~I~'"'
OEC-l1-SXOA.n.) T~ev
.~e
.,1 cr.c.re~ for D~oce •• 1"a by the DOS.A ••• ~bler,
PAL-1tR, '1 delc~1b.d i~ t~e relevl"t ProQr.~~1no ManUI'
(DEc-tl-ASDC-D) • . I" oe~e~.1, elc~ •• 14~c'y al.e~bled
110"el thul ellu~i"c e DECt.~e sou~ce, b1"a~v outout o~ t~e
Iv.te~-d.vfce I"d '1sti"cl 0" a 1i"e-cr4"te~. the "ee'l.a~v
eom~a~d st~1"o to t~e ASI.~ble~ m1e~t hel
t~e

T~ere

ere "eve~t~elel! two tvees of e.cectio";
1.

Sv.te~-device D~.ve~ - t~fs
I.~ue"ees

w~1eh

must e~eeute Icecfal
do "ot Icclv ff t~e lame dev4ee 41

PAGE 8-2

Dose.~NO

u.ed

8~

IS

d.~fe~e~tlv-~ased

o~di~a~v

.vste~.

oe~.~~e~~'

As .~oted

i~

i~

8

Seet.o~

3.3.4, t~e d~.ve~ .ou~ee •• eo~d4t~o~a'fled fo~ t"e
two ve~sio~sl t~e eo~~eet o~e 48 ide~t.fied bv t"e
e~e.e~ee o~ ab"nce of I def.~4tio~ 10~ t~e ol~a~.­
te~
SVSDV It 8s.e~blv. If t~ •• is n~~t~ed, a ~o~­
~.1 d~iv'~ •• obtli"ed.
T~e
sv.tem-deviee d~ive~
~eeu4~es t~e followi~g o~oeedu~ei

SVSDV·0cCQ>
AC
.END cCR>
cCR>
2.

,ENTER

~EFI~ITI"N

VIA IKe l

,SIr.NAL END OF INPUT

,CSFE

SECTI~N

6.4.3)

~~vbe.~d Cemm.~d LI~auaQe - al ~e"t.o~ed
in Seetfe~,
6.2.3 I~d 6.2.4, 1"dew4~g a~d ove~"vi~~ oc-

"ecel.4tlte leeei.l •••• ~b'V to ~.fl.et
tvo' of d1 •• 1" use I' a Iv.te~-deviee beeause
of VI~ving bloek.lize. T~4. lal4n meln' tke ent~v
of t~. IOD~OO~.lt. D.~amete~s, t~ev 8~e orovided on
S.De~lt. lou~ce ~odulesl KBIPAR.PAL
fo~
~Fll
a~d
~Cl1
disk"
KBIPAR.4DK for RK11. Fo~ tke ~o~ules
~.rk.d '*' 4" Fiou~. 8-1, t"e ec~m.~d strf~g for~lt
~fQ~t t~er.fore be •
e~lt.o~1

t~.

• ~8L,LPi,/PAI2(DT3.KBIpA~.PAL/PAll,KBLcCR>

8.1.2

Modu'e

Li~ki~g

T"e b.,ic ~o~fto~ It~uetu~e fo~ .~ 4~st81lation is 4~ faet
d.t.r~in.d w~." t~. a.,embled module. I~e cenve~ted into
.d fc~mlt bv t~e nos Li~ker, LINK-1t (Ie. t"e ~el.va~t p~o­
grlmm.ne ~lnuIl, DEC-tl-ZLDC-D).
At
t~i. time 81so, t~e
I<.vbo.~d ,CoPl'lPl'l,nd LI~guI~' 1.
eo molet,1v, I.t-U".
T~e
s.Quence .for linking indic~ted in t~e followino ope~8t.o~1 is
r,com~.nded Dart.~u'l~lv if t~e
outout i. to ~aee~ taoe
Cf.e. D.v1ee 'Ppl) - Ie. ~ext .eetio~1

'0-

T"e.m~dulel w~fe~ toget~.~

for"" t~e oerm8nentlv ~el.de~t
in,ta,lation are li~~.~ into one load
1mla. 1~ orde~ to comelete d1~eet ~efe~enees Ind in.t4allv
D~ee.re, t~, ~o~.to~ tahlel (Ie~ Seetio~ 2.1)~
Bec8u •• t~.s
fmaa. ee~tli"1 t~e eo~~eet settinos for t~e fixed veeto~ 10cltfo". 40-~7, 4t ~u.t be oricined It lOCltion~. ~e~ee t~e
eomml"d st~inQ to LIN~-11 fo~ t~. e'le~t1.l1v re.1de~t ~eMonito~_.eet1o~

fo~

I~

Ii

dule,. di'eu.led in

C~actAr

2,

~io~t

be a.

fo"~wsl

*R~ON,LPic~MO~lF,~~ON2,~~nN3,R~O~5,~F,~~~,r.l~CK/~I~CC~>
.R~ON6/ECC~.

t•

RMONt, eont.4nino tha. Mo"ito~ tab'e! ~ult co~e
f4r.t (.e. seet1~n 2.1.1). ~o~eever, t~.1 curre~t­
lv 11 IVltem-deviee d.ce~de"t, 1" or~e~ to o~ovide
t~e croc.r
f4rst entry 4n tke DoL Csee 'eet40"
2.1.3). (~.~ee] ver.io~1 ar8 .va.'ab1et R~ON1F
for ~Ftl, ~MON1C fer RCtl, R~ON1~ fo~ ~Kl1)
OF (or DC or OK) .s t~e svstem-deviee dr1~e~ must
he .s.embled .s not.d 4n the Drev4ou8 !eetio~.
RWN (th •• qEAO/.~RITE croeeseer) 1s ere'e"t1v a "ee •••• rv inc'usion fo~ re •• o"' Qive~ i~ Section
3.2.2.2.

A.

~LOC~ e." be omitted 4f the co"f4ourAtfon doe!
i"elude • l~"e-elock~

~.

-~ON6,.s stated 1" Seetio" 2.1. 4 , mUlt .come

.1"e.

it eo"tain'

t~e

not

lest
o"e@-o",y 1n1t4.l4zat40" se-

., iMD1j.d.by th.,. "ote., ~he order Of t~e i"termediete ~o~
dU'"
4, 1mm.t.r1.,. Mor.over, the l1.t ean b8 extended to
1"elud. other Module. which a Dart4eular user w.I~el to be
I'wey, 1" eore.
That user "ee~ merelv inlert the ~odu'es
eO"elr"ed, for the accrocr1ate glebal link. ~.ve alreadv
bee" estab11.hed 1" the MRT Cor OOL fer deviee dr4ve~l) , •• S.et1o", 2.1.2 e"d 2.1.3. However, he 1i referre~ te
the ~o~m,"t. en re.4d."cv i" th, accrocr4,te deser10tiva
,.ctio", 1" ee •• there ara r •• tr1etie". e" ,ueh u.aoe (Keyboerd Co~~e"d Module. a"d Oiaono.tie Pri"t, e~~eeia"v).

.

. ,

It w••• how~ that t~e proor.m .xit ~odule e.ceet. the tran•• e"t ~o"4tor .ect4e" to be correetlv l4"ke~ with a toe .t
17.01 e~d reloeate. it to t~e ucce~ e"d of avai'able Memo~v
0" thi, b •••• ( •• e S.etio" 5.5). Seet1o" 6.5 a'so 4"d4eaterl
thet I" .~bedded ver.40~ of the .qEAD/.WPIT~ ~roce.sor 48 a
r'Qu1~.~."t!
Th. relulti"Q eo~ma"d strinG 4nout 4" this
ee •• 4. es follow ••

PAGE

8.1.2.3

8-.

I(eybo ... d ~_~"ft~~q~_

Th • • s.~mb'Y D~OC'" fo .. thl K.ybe ... d l,,,ouIOe moduli' "otld
4" SI~t40" ~.1.1 .... ye. to D~e~a .. e •• c~ ov''''Ay4"a ~odu" f"
the .. 4Q~t fo .. m
to .t~uctu ... the I"te .. e .. et.r I"de • • eD .. O~"i.tel;. HOwlv ..... pcf"tld out f" Slct40" e.~.3, thfs 1"de. f. dIDI"d."t UDO" thl f.et th.t the modul.. eo"c.~".d
.",e. 1 • .,kld t~o.t~ .... " " ft.,d ,.ou.~ce. ~I~e,. the eo"'",eru':t
.t .. f"o ••• , follow. C." o,fof" .t , f • • dvf.ed, mOdule KBL
b.i"O, u,,40~.'v c.,l.d by ft. OW" EMT code f. exeludld - •••
S.ctio" 6.2.01

."rl

jKBI~LPICKBI,KBI.DA,KBt.SA,K~I.K8,KBr.oD/B~0cCR>
*KAI.Bf,KBI.KI,K~I,Tt,KB!,~O,I(AI.AS,KBt.~U/EcCR>

8.1.2.4

Othl" Modul.'

Th. l"e",.f"f"O modul •• which w4" "Ol"m.,lv .... fd~ e,,'v w.th4"
t~. sv.tem-dev4ce Libl"'I"Y "'Ult be ."dfvfduI"v If"ked .4"ce
t~el" •• ft... t~.~ .. o"lv fd."t~~'c.tf~"
4.
thef..
Tft'e
(tl".",mitted by LINI(~lt ., ·~~~Ol".m N.~."
see Seetfo" ~.t
."d Ffau",e t.~). Ao.f"." o,.of" .t ~ 4. I"ecemme"ded a.1

-

*INq,LP,cIN~/el~/EcCR~
*~LS,lP,c~LS/el~/!cCR~

.tc.

O"e~ all t~~ "'odul •• h.v. b •• " If"ked •• de'e",ibed f" the
'lIt .,ctfe", t~. actu.' D"OC." of .ettt"e uD the .v.te'"

The f4".1 objective 4• • Dro~el"1Y e.t.b'.sh.d
the .y.tem·~ev.c. f" the fo~",.t illu.tl"ated et
t" ~e".~.', the If"ked mOdule. C'" be stol"erl
t~i. Lfb",.",y 4" '"Y ol"d@ .. , with thl followi"Q eXceD-

e," beaf".
Lfb ..... y

FiQu",e
wfthi"
t4o".'

0"

'-2.

e.

The ~o"4to", R"M ~oet.tl"eD ' •• um •• , th.t the
ffl"'~ medull.' thl D~I""""I"tlv ~ •• 4de"t ~o"4tOI" 4",.oe. C.el 'ectto" 8.2.2)
The Pl"ea .. a~ E.it module, XIT, e.elet. the tl"l".f."t Mc"~to~ Sectto" to co",e .~co"d Cs@e Sect4o" 5.5).

·

L4b~e~v.bu11d

11

-

8 IOee1.1 ~V8te~ L08de~,
8VSLOD, w~4c~ is desc~1berl 1~ Sect10~ 8.2.2. T~11 o~oo~e~
ee~ acceot oeoe~-taDe 1~out f~o~ dev1ee
'pq' e"d 0~ov1ded
that the suogelterl aeaue"ce fo~ 11~k1"g "ot~d 1" Sect10"
8.1.2 •• followed, the ~elult."o outout 1, fm~erl1atelv ~eady
for ~V~LOO.
~oweve~
OECteoe 11 ello ecceote~le. Seet1o"
8.2.1 d.leusaes methodl of or~oa~.nn th4s.
T~e

~ffeeted_bv

.1

It
Ihow" 4" Seetfo" 8.2,2 t~at t~e SVlte~ LOAde~ ~eau1~el
only e luecels1ve Itrf"Q of the modulel to be 1nco~oo~ated
4nto th~ IVltem-device L1brerv, ~"OECteoe, t~.1 strinn 11
a f4le, MONLIB.SY!, CO~14It4"a of a co~catenat4on of the indfv~dua' ~odu~el •. BasicallY th~1 ca" be o~eoared using t~e
OOS Fi'e Utilitiel Paekaoe, PIP-It Clee P~o~rA~~1"g M.~ual
OEC-11 .. PIOB-0'.
If t~A '1nked mod~le. a~e the o"ly 0"1. w1t~ t~e exte"I1on
.LOA currentlv 1~ tn~ u.er'a d1rectorv, the eo"catenation
can be effected 1~ One commend 't~fna. Howeve~ it should be
"eted t~et t~e OECtAoe ~U.t be ide"tff1ed with t~e Syste~ a.
user. ~ence LOG-IN es r1,t, i. "aceSSa~y. T~e leauence
com~a"ds to pIp-1t ~1oht t~e" bel

of

,OTI/ZEecq>

.Z~~~

THE OECTAPF FOD rt,t'
own eodeleeR>

*OTIM"NLI~.SVS/FBc*.LOA[U.e~'s

The UI. of fo~matt.d bf"arv mode 1s reco~~ended 1" o~der to
t,ke edve"teae of it' v~l.dity-c~eckf"O fac~l~tv C.e. S.ct1o" 3.2.2.2). ~or.over it .vo1dl exc ••• 1v. oaOI bet wee"
mOdule. 4n t~e relult1"; ff'e, s1"c. u"formatted binarY
~erelY eoo4.1 eve~vth4"o lee", 4neludi"o EOF oadd1"o.
method is to oreoare e leriel of lub.frl1e~y
f1rlt, oerheos 81so 0" the IYltem-device,
e.t~n.fo".
T~f. ~ethod fl uleful whe~ ot~er f1'es wft~ .LO'
exilt within t~e uler'l directory Ce"d ce""ot be de'ete~).
An

.lte~na~~ve

eo"cete"e~io"1

"10, w~4'. it ~IY tlk •. le"o.~ te @"te~ t~. .~~4v4duel ~o­
dvle "8~"
i"ttally, it does .11o~ ~et~fe. ~f .~."e~ sectiO"I, ~Ithe~ t~." ~eoe.t4"Q the w~ole e~oee.s ,~ou'rl
trl"lfe~ fl4lu~ls o~cu~. T~u. 8 seoue"ee ef "IP-l1 eoe~a­
tie"1 I' h.lew •• loo •• 4bi'ityi
'~MONA[1,1]/FP.
'RMON~[t,l]/Fe
'RMONC[l,l]/F~<.tC.

4~

Thtl

IFINI~H',

t~e"

fe"ew.d

'LOt':IN U.11'

by

."a

cO"lele ce~m8"~1
,olf" 'PUN PIP'.

to

'~TLL',

'OTI/7E 
'RMONA,RMONB,RM~~e.~ ••• /OF

The ~'lu't1"O OFCt,D, CI" ~ow be used by ~Y~LnOf c~ov4~.d
thlt t~. l.tt.~ c." be leld.d f~em seme .1te~"Ative device.
,. , ~ule! of cou~.e, tt ~u.t be e.su~erl t~~t. t~e~e is "0
Me"4te~
4~
ee~. te ~e'o.
A oeDer-tece v.~sio" CI" ut4141'
the PIDe~ TIDe SYltem Abl~lut~ Leld.r C.ee ~Er..~1.GGPC.n).
Howev,~, It"ce a a."e~.' curoole bulk·.t~r.oe d~vfce ~O~ 10.d.r t'_1 ".c •••• ~y .l.~."t i" a OO~ co"fiouratto", fo~ boott~o the Mo~4te~ f'o~ the SY.t.~~d.vice, tt leems ~ea.on­
.bl. thet th4. I~ould 1'.0 ~. u •• d te 'o.d t~ •. SYS~OO DroOPa'!' f~e~ the DfCtloe, epefepably t~e e"e ee"t.t"t~o th.
Mo"ite~ modul.
ftl..
'Mo"tte~
OECt.oe ~et.uD c~oqra~
(MOOS' •• th.~.fe~. o'evt~ed.
I

Th. ulao •. ef MODS tl delc~thed i" t~. doc~ment "Gettt"Q ~OS
the Ai~· (O!C·l1.~YDD.D'. ~ •• ic.l1y 4t It~uetu~e. I new
D!Ctae. to eo"tlt" th~ fe11ew4"o 1tems, u.i"O .4t~er I" eld
DECt.e. ve~'4en e~ ~.c.~-tloe er beth
4ts i"outl

0"

.s

A.

Ce~.·t~.o. ef the SYltem LO.de~ el • co"tieuou.

ft', SYSLon.sys f" bleekl 1-37.

Soec •• ' 'eeder fo~ thtl 4~80e in bleck 0 Cw"e~e
it el" be ecc •• ,ed bv the ROM ~eotstra").
MONLIS.SVS •• a 't"ked-fi'e, wfth fo~eed steraoe at the front end of t~. teo~ fe~ 14~D'.r
h."d'i"a.
~OOS elso ~@I 8~ uodat. f,ct14tv fer
MONLIB.SYS fi1. CI.e Sectto" P..3).

~odifyi"o

8"

ewtstino

J

PAGF: 8

DOS8.~N('I

'1

•• ~oted ,a~'fe~, t~e SY.ta~ loeder, SV~L~D, i. ~es~oMa4bl@
for the bu4ldinQ of the ay.te~-devfce librA~v '.t~e~ f~o~
DECtae, o~ cece~ tace. wheM reouired, ft al.~ oe~fo~~. QeMe~al
1"t4a142at40M of the ayate~-devic. ea out'4Med fM S~c·
t40" 4.t. nn co~o1et.o", the Uler mlY reQuest 4mme~4at.
~on4t~~. Itert.uc~
Thfl aectio" de.e~ib~. t~ese oce~atio"a
4~ dete4l a"d al.o .~ow. how !YSL~O it.elf i. built 4~4till.
1y.
p ~e~~~!io~_ ef SVSLOr.

8.2.2.1

ce~form'.t.
tlO
by
~or~e'. ~oMitor
however ~y imolfcetion tke "orm~' Mo"ito~ doel
"~t effectively e~4lt u"t~l SVSLon ca~ be ~un.
Tke c~ob'em
•• lolved by 'oadine a" iM-core MOMitor ver~ion co"taiM1"~
11' the mOdulel called ~y SVSLon. Th •• fo~~1 tke f.rst cart
of the load module fo~ SYSLOD OM nECtece or cA~er·t8oe 8Md
•• el'"d to 4~4tilli~e 4tlelf .~merliltelY .fte~ ."trY i"to
Memcr~
d.ler4bed 1" ~eet.o" 2.t.4 •. At th4~ time, thouoh,
the ,vlte~.dev4ee eln"ot be lecel •• rl for ~~T \ n~L set-uc.
He"ce module RMON6 i. mod4fi.d at lource 'eve' to remove
t~.1 fe~t~re wh4ch ~I co"t'i"ed i~ I lubreuti~e 8G.~DI - see
the Iccroc'4lte l4ltiMa.
It is reclaced by 1M auto~atie
~ll1
SVS~DO, 4f ~hfl hll alrpady cOme f~o~ .OECtece,
or
for 4t. 10ldiMQ if 4t follows the l~ec4ll reS4de"t ~o"ito~
on t~. 'I~e pape~tlce - ,., bplew. The IODro~r.ete code seaue"CI 41.
8YSLO~

aetua~lY

D~oeellel'

.1

'0

BG.MOJI MOV CSA,R0
BtC i111276,R0
JMP '~0
BG.MOII J~P .tPC).
.WO~O

8(;.~DJ

.END RG.8GN

.SET ABS.LOR START
.(ASSUMED AT TnP OF ~E~OQY)
.Gt) TO AAS LIlR
'ENT~V POINT - A SWITC~ •••
,OVERWRITTfN BY tSVSLO~' START
•••• IF ON ~T T~RU ~ons

The w~o'e 4~lae • reaide"t ~o"4to~ 8"d SYSLt)O - 4s Matura1'y
It e"e time if I ~ECtlce 41 ~~eclred ~y '~o~st.

e"te~ed

~odule
fl '."ked IS dftleribed fM Sectio"
.laumf"Q t~lt the ~od1ffedR~ON6 4s ~a~ed q~I'INII5X,
the ~eleva"t LINK-tt co~~."d ~t~i~OI fe~ cID~r-te~e out out
C~eeo~m."ded for MOOS use 1110) I~e

The

~e~1t~~

'.1~2~1~

*PPI'LPICR~0~lF,RMCN2,RMON3,RM~N5,OF.RWN/8i~
*INR,RlS,TRA,OPN,ClS.DT,PR,FOP,LUK,C~X.FCL

*A~O~eX/EcCq>

.1 Ih~w~, the .~D~o~rjlte
verlfe" a~e "ece.II~Y.

-~

IY8t~m.dev~ce

d~.ve~

aMd

RMI'IN1

"AGE 8·8

8VSLOD ~t'.'f i. ,1.0 dev~ee-d.~e"de"t~ it • • ou~ee 4. t~e~e­
fo~.
eo~dftfo"elfzed
~.oui~e. the .~t~v of a Da~a~ete~
.t •••• ~blv, f.e. DC-0 o~ OK-0 (OF i. a •• u~e~ bv rl.fault).
Thu. t~. ".L-ll~ eemM."d .t~4"~ fo~ ~Y~LOD ."d .ub •• ~ue"t
p.rem.te~ ."t~v ~iQ~t bel

."d

OC.AcCR>

,OEFINE

SYSTE~

OEVICE 'DC'

AC

.ENDcCR>

.

cC~>

,SIr.NAL END 0' TNPUT
,(SEE SECTION 6~ •• 3)

Th. 14"~i"a oi SYSLOD f. It~.~o~tio~wl~dr ~owev.~ .0 t~at
e~~or ."~ eOme,.tio" halt. M.V b. fde"tffied by thef~ Idd~ ••• e., ." o~fof" at 3~0~9 i. ~.eOMm."ded.
Advis.dly, the
,4"k.d module .hould be outDut to the •• m. oao.~ tace a. the
~ •• jda"t ~o"fto~ Modu'. but't .bove (o~h.~wi.e ~he .uto~etfe
Ab.olut. Load.r .tlrt ea""ot b • • ffeetiv •• the oD.~ato~ mu.t
halt the eOMputer I"d ,e,tlrt It ~X150e). Thu. t~. LINK-It
eomma"d .tr4"Q i.i

e.2~2.2

SYSLOD_J!.lae_

Th. dYI,.~odul. thu. Droduc.d 0" PIP.r-tao. ee" b. used dfr.etlv o~ be o~oe •••• d.f"to. nECtac. e~~ •• f.aQ' by ~OOS.
I" .ithe~ ea •• the ooeratt"o c~oeedur. t. ful'v detefl.~ f"
"G.ttf"o DOS 0" the At~" (DEC-t1-SYDO-~). 0" eo~p'etio",
the ~e"4te~ •• boot.d f"to ~emorv •• d •• eribed •

.8. 2-,-.2 ~_~_l!LJlD~ft~'-.tr,-",-

••• how" i" 'eetio" 8.2.2.1, the 'oedi"Q of SVSLOO fs c~.·
e.ded ~y that of the .Dee4., 4"-eore ~o~4to~ w~4e~ eal',
IVSLOO al .00" a. it ~a •• ".t4.'ize~ its.'f. The fu"etfo"1
D.rfo~med bv SYSLOD I~e th." a. follow.:
Buffer poi"t~r I"itia'4zat4o" - ~YSL"D oerfo~ms fts
~"eut oi the ~O"ttor ~odule f~1. or~o8red as show"
'" t~e o~.viou, •• eti~" •. bY "or~al .DEAD whe~ea.
ft. out out w~il. but'di"~ the .ysteM Libra~v uses
.T~AN.
The 'atte~ f" flet reauir.s two forMS, the
Modul.. th •••• lv •• a"d t~e Librarv Y"dew e.e. Ffo·
ure t-2), Mor!Ov.r.I"
1/0 i. ~ouble buff.red.
~."ee
.f. buffer. f" a" a~~ r.cuf~ed a~d c04"ter.
are set leeord4"alv, i" oartieular, t~e fir.t b'oe~

PAGf

ee~~aea

~o"ito~

w~itt~"
41 ~lock 0 - let t~
Loader (see Sect40" 8.2.2.4).

eo~t84~

I"eut Oete~~~n~t~on - t~8 fi~st SY~LnO ~a't
t~e o~e~ator to ,et twe conlole .w.tch~sl
~it
0 - 0 to indicate
oaoe~-t.ee,
1 for • first
CMONLIR.~YS unde~ us.r [l,t]

b.

8

9

t~e

a"ows

I"
in~ut
f~om
inout fro~ OECtaoe
on un4t

0'.

eit JS -,0 t~ shew initi.' svste~-dev.ee
tialization 41 to bl omitted.

in4-

T~e
inout. ~at.set L.nk-bloe~ (lee
Seet40"
3.1.2.1) il adlusted to ref'ect .witc~ 0.
CI"S to .INtT a"d .OPENI fo~ fi'e "~O~L!R.SYS"
fo"ow and an out cut dat.l~t • • Isociet.d w4t~
the svste~-dey4ce, .1 lim1'a~'v init'alized.
If Iwitch IS i. P, t~e ne.t eee~8t40n i. L1b~a­
~v-bui'd (aee 6 ~elow).

3.

Q4~k

Clear - if fhe uaer i. sta~t4"o come'ete'v
lerltc h , ••••
Switc~
1~
- 1. SYSLOO mu.t
f4~.t
deter~."e
the
cleacitv
of
avai'able
IVltem-davic~
.urfael.
On
~K11,
this
i.
ere-determl"ed (aee SeetiO" 4.2.2)~
However I.
'hew" i" Sectio" '.2.1. RF11 and RC11 are treated
a. I continuous lu~f.ce, ~eQ.~~le.s of t~e "umblr
ohv.ical olatterl '"volved. SVSLOO therefore
u.e. the hardware faci,itv w~ich ca". a" ~rror for
~on-e.i.tent
~4.k bv Itte~oti"Q to eddr.ls the be~i~".no of e~ch eotent~al e'atte~.
T~e
relult'"c
information .1 Ito red fo~ 'ater ule (lee next eara~ra~h) Ind ia alao let as a co"tr01 wh(le t~e who'e
di.k surface i. cleared. Thi. i • • eeo~~li.h.d bv
an .",tial t~anlfe~ at block 0 II ~ent.onerl in (1)
io~lowed by that of an e~~tv buffer to eYerv third
block CJ,6,11,etc) ue the surfece.
T~il
's then
re~eated over two ~ore oalse. to c'eer the intermed'ate bloclcl.
from

of

4.

B4t-~ee In'tial'2ation - as

ind,eeted in Seet'on
the available Ivstem-deviee surface i. eontrol'ed by a" aoeroo~iate "u~ber ~f b't.~.e lea~e~tl
end these ere .to~ed at t~e too end. SYSLOD
wr.te. out the neceSlary oreamble to each seoment
a"d lets bits to 1 a. followsl
4.~.3,

e.

0" the f4rst ~ao. the bit. for a"
t~e

bloekl uo to
Hardware Protect L4"e, 41'ust~ated at Fic-

ure 4.Q.

b.

0" the lalt

~.p,

~o"-exilte"t

bloek.

a"

bits

eo~reloo~di"e

to

~.reeto~v ~t~uetu~e

8"d SVlt.~
lowi.

I.

MF~'l -

MFDI2,

- ~yqlnD p~eo.~e~ t~e ~.sie MFO
UFO de.er.b~d 4" Seetfo~ ~.t., a. fol-

f"

~lock

rnte~leave

bft-~ao blocks.

II, co~t84~i~g 8 li"1c to
Factor ."~ "04"ters to the

MFD.2 - 4" t~e ~lock p~ecedi"g the b1t-~8Ds
Clea Ffftu~a 4-0', c~"taf~."c UFn T"de. e"tr4es
for the ~v.te~ CUler (t,l,' ~4t~ a d1rectorv
Itart1"a .t block .2 8"d for. oe"erel u.er
[200,208' ~1th "0 eu~r@"t UFD ~o~~ter.

e.

SVlta~

UFO.! - f~ ~loclc .2, wit~ • '4"k to
block .3.1 UFO'2 a"d with onlV o"e file est.b141had - 8 co"tiouoUI o"e, 'MONLI~I, st.rt4"Q
at block'4 a"d e"di"c at t~e HArdw.re Protect
L1na -

~.

library Bu41d - ~YSl~O ewop-ct. to .tart the SVlte~
Librarv I"dex 4" block .~ and t~e firlt ~odule 1"
block '11 C."ter~adiate blockl bei"o r •• erved for
t~e
cer~a".~t
~RT CODY - .ee Sectio" 2.1.2'.
The
COMO for the ffr.t module i. re.d ."d itl 4~for~.­
t4o" .1 tr8".fer~ed as recuired 1"to t~e Libr.rv
I"~ex buffer (.ee Se~t~o" 5.1 .nd Ffcu~e 1~2'.
At
t~11
t1~e I~MT Code! fl."ot k"ow" ."d i. filled 1"
latar bv Monftor 4"ftfal1z.tfo"
Csee
Sect10"
2.1.4).
The ralt of the ~odule •• co"verted 1"to
itl cora i~aoe, due .1low.nce be4nc 04ve" to t~e
Pr~ora~ Load Addra.1 ,t the .t.~t_of @,ch text
block to a"lur@ the recu1sfte C'PI. After co"ver.10" t~a f~aoe fl wrftte" out to luccelsive
.Vltem-davfce blockl u~t11 the ter~f"ll Tra".fer
~lock
at t~e a"d of the If"ked .~8~e is sep.". At
th41 pof"t, the lalt block fOr t~e ~odule •• out out
and the Index buffer i. e~eclced to ver1fv further
e"trv Icace. If ,"V, the next module 4. oroces.e~
4" the 18me W8V, .t.rtf"o fro~ the "ext
.v.te~-deyicp. block.
Whp." the I~de. block fl full,
t~e "ext
block 1. li"ked to it (4n t~a first word
as f" a "0~~8l lfnked fi'e' a"rl it is writte" out.
The next medule fl the~ indexed i" the ~ew bloek
a"d .tart. fro~ the follow4nq block, t~u. ~roduc."c
the for~at fllu.trated .t FiQu~e 1-2~

'.

End of I"cut • if At a"v time t~e ~r4gi"8l inout
terminatel, ~YSLOD.h.'ts the eo~oute~ ~fte~ clos4no
and re'aa.1"c the 1"~ut dataset. • • • kow" i" "Get-

'-~

"O! 0" t J" eA. 1"", t '" e us. ,. t ~ e" e 81"1 f" d. cat e
e.eer-t.e. il"lDVt - eVe" efte~ "ECtaDe, i"
ol"d.r to ,l"Ite,. mo~ifieltiol"ls 0,. exte",fo", - by
•• ~ti"~ 'witch 0 t9 ~ .• "d Dl"e,s4"g. the C~NTr~UE
,w1tch. SVSlon ,..i"1tfllfz.s the i""ut d.tlset fo,.
ipR' a"d eroees,4"e ., ,.e.u~ed I' show" u"ne" (6).
w~e" SVSlon ~ow.v.,. d.teet' • 1 4" ,witch ~, 4t I'su~.' "0 fUl"thel".i"Dut.
The l~st L4b,..,.y T"dex
block ., the" w,.ftt.1"I out el"ld the outDut d.te,et i'
r.' •••• d. A clll to th. f"t.,."., eo"v of thA Mo"fto,. Loada,. fo110w, - see "~xt sectio",

! f 1"10

fu,.t~er

It will be l"Iotad thlt SVSlOD ~oes l"Iot attemot t~ cheek t~e
o~ the modul •• i" ~he 4"DUt f1'e.
Hel"lc. the us.,.
~u.t ~4~'!Jf 'l"I'u,.. t~.t the fi~'t two ere ~MON ."d
TM~N
., ,o.ciff.d f" the i"t,.oduct40" to Sectio" 8.2, Mo,.eove"
th.,.. f. "0 ,. •• t,.4etiol"l 0" there b.fl"la O"'V o"e eo~y of e
p.,.tfcu'a" mOdul..
T~e,..fore I' stated 4" Sect4o" 2.1 •• ,
,.ep1ac.m."t mOdul •• CI" ma,.elv b. addad at the e"d of the
4"put, 'I"I~ th •••. wf" b~ u,ed rether t~," tJ,e 0,.ia11"1.'s du,.4"0 Mo"ftol" t"tt1ll1zltfol"l, The u.er of cou,. •• must t,.ka
ca,.. "ot to ao b.Yo"d the IVltlabl. ar •• deff"ed by the
Ha,.dw.,., Prot.et L1"e~ At the ."d of 4"put ~8lt, R~ show.
t~.
".xt block tQ b. u •• ? - al"ld thu, thfs 4. the ve'ue d4sp1.ved •• "~.t." 1" • v8l1d hIlt. E,.,.or. 4" SVSlon ooe,..t40" .,.e e. d •• er4bed 1" "Gettf"Q DOS 0" the Af,." •
.aau."~e

.t.d __ 2 '.. ~o~UQ.e..tho.
J~ th~ o,.~v.ou, .•• cttOI"l' ft_wI' sJ,OWI"I th.t 'V~L"D sto,..s e
Mo"fto,. Lo.d.,. il"l 8loek 0 of the ,vstem-devfee, The ~o~ eo·
ot.t"'D ,. •• d. th1. bleck c••• out'."' 4" '.et401"1 6.5.2,2)
."d ,ta,.t • • utomatic.llv .t locetio" p. Th~ fl"l.tta' ,eaue~c. ,Keeuted bY the LOlder t. o"e Wh4ch moves the lectto"
pe"fo"m'l"I~ the Mo"fto,. loed 11"1to the memol"V .,.ee ~terti"Q .t
37001, J" orde,. to '.ave a" lowe" cO"e for the module to be
e"te"ld.

Th. l~.d s.aue"e. fl the" ."tered. Thi, first reeuelt. e
di,.ect .hAl"dwI,.e read from. block •• CLib,.e,.y Il"Ide~ *1 - see
, •• t ,.ct40"). p,.ovfded thi. t,.I",fe" is let4,fletO,.y, the
.t.,.tfl"lo block fo,. the f11"'t module
e.t,.lcted f,.om ~he
J~d.x (.ee F4our. 1-2), ."d tht, combfl"led with the el"lt,.y fo"
.41e ,ts .et fl"lto t~. hl,.dwe,.e Reai.t.,.. fo,. ~ tre"sf.,. of
the ~~dule - ••• u~ed ~MnN •• "o~.~ earlie,. - i"to memo,.y
.t.,.tfl"le .t locetio"~, If ael.", this is co~pleted without
epror, th~ I"de~-.t~red .• ta,.ti"e add,.e., ~ • • et i"to the PC
."d Me"4tor i"itia1 4zltio" co~me"e •••

.1

•• 4l"1dfeated, the 10arle" ~ust d~1ve t~e deviee bee.use "0
MOl"l4tep theor.tieallyexi.t •• He"ce t~e ,.outi"e, lfke SYS-

Dose.lhlf"

LCD fs d.vfee-d.o.nd.~ti ft ~ust ee~fo~m ~ts ~w~ eo~ve~sions
f~o~
·Sy.te~·bloek"
to aetua, device ~10e~ fse. Sections
•• 2.1 a~d '.2.2), Ind it rio.s net us. f"te~~uets but deoend.
o~ f1Io-t.stino .bot~ to determine eo~Dlet.o" And to ~ecog·
"fze .~~o~·d.t.etion. In the 'Itte~ el." the eo~cut.~ .s
ha't.~ And the u.e~ ~u.t t~Y the ~o~ito~ Poet af~e.h.

By no ~eln. ha. the DOS Montto~.o fl~ dese~i~.d 4" t~f.
ml"uI' ~eaehed fts f4n81 .taee. of deyelo~~."t, ~o~eoye~ it
.~ •• D.~ted t~lt 'o~e u~e~. w411 wish t~ ~da~~ .it. faef'.,fe, to th.4~ own ,~ee.fic n.ed.. Mon.ter ~ed~f'eetio", ••
fndic.ted el~'fe~, t. r.,.ttv.'y St~D" owfng to ft. ~o~ull~
.t~uetu~..
Th. a~~ of th~ ••• ct~~n th.~.io~e f. to ••••• t
tho •• ~ •• oon.fb'e for D~odue.nQ the new o~ ~eD'.ee~.nt ~o­
dul.. ~.ou4red, by .u~~.~izfnQ the.~ ~e~e .ion4f1cent ehe~·
.eter4.tie. and bY ."u.t~ltfno .e~e Of the D~.et4ee. found
u •• ~u~ . dU~~"Q the D~.~er.t~o~ end check-out of the e~i.t.nQ
Monfto~.

B••• ce,'y the ~odule. fa"
fnto on. of iou~ eat.Qo~te.,
wh1eh a~. fndfv4dua"y dt.cu •• ed in '.ctton. ~.~.1 to 8.l."

b.

P~oe~~~

•• ~vfce.

c.

Dev4ce d~4ve~.

d.

K~Y"08~d co~~and.

Howev.~ it ."'ou'd ao.4" b. noted that beCluse

811 the "'0e.eect40n of the.e in categorY 1, ~ay be
.y.~e~-dev.~e o~ co~e·~ •• 4den~, t~.Y ~u.t ob.e~ve the fo',owfno eo~mon ~ul'"

du'.,.

t.

with

the

DO'ftfon-indeDendence •• e •• entfal.
The ileflitfe. of the ~e.fd.nt Mon4tor ~ay be acee ••• d but on'V th~ouoh the fi •• d v.cto~ ,oeation.
'0-~6 • ••• Sect40n 2.1.
Reo1.t.~. or .taek ~ay be f~ee'y u •• d .nte~nal'y to
8 ~odu'a o~ betwean ~odu'"
a. 10no a. they e~e ~e·

.tered te the ortotnal Dreo~'~ .tate et eny tf~e e~
~or whlt.v.~
rea.o~ control
•• ~~tu~ned to that
oroOra~.

PAGE S"1 3

t~cu~e code, i~c'udi~g ffxed Ito~l~e I~eel, il oe~­
mfll~b'e o~ly
if lome form. ~f D~oteet~o~ eQAf~lt

••

fs ectuellv provided, suc~ e. t~e
.WAIT ~~ f~eemc'ete r/~ Clee S~ctio~ 2.2.1)
or drfver-ou~uf~e Clee S.etfo~ 3.1.2~.) er f. im~lied bv t~e f~DO.it.o~ of lome relt~fet.o~, e.g.
~o~.relide~t ule o~lv.
~e-e~t~I~CV

fo~eed

It
of

uSer DrOQrem t.~el e.~e
i~ oerticuler preve~ti~e
eo~,uDtion of c~elcr.bed dete-bl~ckl, ~,sl~d to t~e
Me~itor for eccesl o~ ~torege, u~til I~me reQuested
service ~II been letilf1ed.

!.

m~y

ft.

be Alsumed
ow~

t~et

t~e

re-entr.~ev

-

T~e ~8W mOdulel .~ould .11 be p~eo.red fo~ c~eck-eut II delc'i~ed
i~ !ect.o~ A.t.
AI fer es eos.fble, 4~.t.ll testino
.~-eore fs edviled - the follow.nQ seet.o~ • • ~ow
how.
For

the
f4~el
IteQ,1
wh4ch
~eou1re
eceesl
from
the
.vltem.dev4ee, t~. ~.w modulel s~~u'd be edded At t~e e~d of
t~e
~4brerY
throuah.SVSLOQ CR~ON ~ TMnN e~cePted), ~f ~eed
be without de.t~uctio~ of the ot~er conte~t
of
t~e
eVltem-device - lee Sect40~ 8,2. T~ey cen remefn 80 Itored
for ~ermel ulege Cun'els MOOS fl uled to updete In eooroorfete IVltem ~ECtaoe) u~til e c~molete monftor re~ufld becomel
necel.e~v.

8. J .1

(1)

Res i dent MOn it 0 r

M~dYL~.

Modulel wh4c~ Ire k~own to be alweYI core-rel4dnet ere ~ot,
of COU~le, so obl1oed to be cosit~o~-1nd~p~~de"t, since
'.nki~a ISlurel correct Iddrell
evelulticn, D~ovfded thet
env ~eceSllrv alobll referencel are 4nd4cete~, Furthermore
t~ev are ra~her
ellfer to cheek out.
T~.ir
rea4dency,
howev~r,
doe' ~ake re-e~trl~cv a mltter of ~re.ter co~cer~
Ind ff •• ternel eccels to them fl reQuired, the ~ecesa.ry
lf~kl~' mUlt be Drovided - oerh8os through the ~v.t~m Vector
Teble - lee Section 2.1.3.

.

There .1 ello the oroblem
. of loedi~Q the rel4de~t ~o~ftor,
Ifter it hi' been relfnked to fnc'ude t~e ~.w module. For
initial c~eck-out, t~41 cen be temporerilv Iccomplilhed ff
the li~ked imege 48 on Decer-teoe t~rouQh t~e P,oe~-tece
8Yltem Absolute ~o.de~ Clee OfC-l1-GGPC-O). In t~fl ceae,
re'eldf~Q
~y
the s.~e mel~1 must follow .~y ce~lole FINtS~
commlnd • aee Section 6.~.2.2.
Fer ~orml' oDeratton,

.... -- ........ .

1. Bef~r. ~enerel
relee!e, uDdet1~Q t~e verlfon ~umbe~
Drfnted .• ~ Mo~fto~ ident4ffca~.o~ after booti~g ••• uaaftlted
II I ~eeesiarv orectice to reflect anv ~ev •• fon. 4~t~oduced
C"'odu1e ~~ON6).

Dose.qNO
hOWlv.~~ the ~el.dl~t Mo"4to~ i~aoe 4" the

L.b~ary 0" the
reolaced by the ~ew ve~lio~ t~~ouo~
SYSLOO. AI "oted i" ~ect.o" 8.2, it ~ust be th@ f4~.t ~o.
dule.
T~u'
US'~I
who ~ake DECt8C' t~P. 9Y~L~O f"out ~ust
~~eoa~e a "ew f4'. t~~ouo~ ~ors i" ucdat. ~od~.1
show" i"
-G.tt1"o nos 01'1 t~ •• 4~" (l'~
Pa~e~.tace ule~1 Ihould chYlfcelly e •• mf"p. t~~ ff~lt
MnNLIA
tace to f4~d t~. te~~i~al T~a".fe~ Block fo~ t~e o~f~il'l.'
RMON modu'e (Ie. aactto" 5.1) a"d tea~ the taee fmmedi.talv
aft ,~, it. . SYSI,..OO ; I the" e.ecu,t ed '" it h t ~e "eW .. el f dl"t
Mo"fto~al 4tl fi~.t i"out, the leeo"d ~a'f of thl
o~tof~al
tacI I"te~ed l'Ie-t a~d the~.aftel" 81 1'I0~~a"v. whf'e t~e l'Iew
ve~lfa" is be."o te.ted, OOT.ll~ Clee OEC·lt."O~A.O' cal'l be
Uled 4" t~e ulua' ",ay •
'Ylte~.device.

~ust

be

P~oo~am gew~-,_!

.e.3.• 2

AI Ihew~
by E~T'

Seetto" 1~3.1. al' o~oo~am le!"vicel 8"~ c8"ed
d.t. ~ay be c.lled 0" t~e Itack e"d t~ts
~u.t be_~lmayad blfol"~ the c .. oo~am tl !"ece"ed.
The Itaek
~ay .'eo be uled fo~ deta !"etu!"l'I.
Fo!" "ew o~ ~eviled mo·
du'a~ c~ovtdi"O thele.le~vteell
the fel'o"'f~O eof"tl a~e

4"

~e'eva"t

~a~tfeu'a~'y

~ellva"tl

, "eW module mUlt be al'oc8ted a" EMT call code, fl'l
acco~da"ee wfth
the co~v.~t~e"1 ~fve" il'l Seettol'll
,.2 ,"d 2.3 Clca~e l'Otl befl'la al~eedy c~ovfrled',
f.el
Code 0.27. 110 ReQue.t
Codel Ja-37 • ~me!"Qel'lev 'e!"vfee ~eoufl"f"O
Cedel A~-77 • Gel'le~el le~v.ee UI."O MSq.
~.

Th~1 "e",. module ~u,t al.o comelY
eel'lvel'ltfol'l at Secttol'l 1.3.2.1.

",tth

the

Ca" Itate i • • 1 delc~.bed fo .. t~e~.fe~ of
il"om the EMT He"dle .. • lee Seetto" 2~2.1 •

................

~SA

u.aoe
"amf"Q

co~t~ol

1. T~t~ facf'fty tl ~ot avaflable howeve~ fo~ u.e~. w~o
heve DECtece but "0 cece .. ·tace ~eade~ othp.r t~a" thet 0" th~
ASR-33 Teletyee. T~e d~ive~ fo~ th41 alvfel doel "at Der~ft
bt"e~v
data.
Thul e't~oUQh MOOS il elcecf8l'Y wl"ittel'l to
oet ,~ou"d th411 LIN~·ll or PIP·l1 ca""ot bl uled to cl"oduce
ftl "'~!Isa~v fl'lcut. HO"'lve~, thfl. "lltr4cti~".ee~1t'l ol'l1y
to ~odtfieatfO"1 to RMON a"d TM~N' othe~ revflfol'll cal'l be
effectee al foot~oted fl'l the "ext I.ctfel'l.

DOS8."NCI

'.

AI Dot."ti., UI'~I Of ~w.o euffe~., th~ rul.1 ~et.­
i,ed i" S.etio~ 2.3.5 ~ust be obse~vAd.

5.

'o~

tIn

'.

D~fve~

I.~v.ee.i

M'''''Qe~

Seetiof'l
b.

eell. MU.t be

s.coe

.",d

~.de

th~ough

I ••

3.1.2. 41 •

If eo"'t~e' i. "'ot ~etu~"ed to th~ u.e~

the File-m."'ageme",t mo~u'ei C.e.

"'W

~ulue

o~OQ~.m

du~i"'a the
tre~.fe~,
.wAIT .hould be ce'led,
D.~heo. wit~ ,.",k-bleek 'imu'atio"" II ule~
if'l
the .INtT Drocello~ C'e@ S.ct4of'l 3.2.1.1) o~
th~ouah

8.

the

o~.y it. eo~ve"tiof'l' -

4.6).

~eet.o"'l

'.'

Modulel whieh c.",,,,ot .etflfy the~r DUreOle withi'" •
I."'al. SweD Buffer f~eme ~.y ~o.lib'y bef'lefit f~om
o",e of the ove~l.yf",a t.eh",iou.1 d4.euSled i", .fther the Fi'.-m.",.aem.",t ooe~ltio"1 Csee !eetio'"
'.3) or th. k.ybo.~d LI",oulae C,e. Sectio", e.2).
How.ve~
the limft.tfo",. f'" both casel s~ould be
fIIot.d.

• ••• mb'ed a. .how'" i" ~.ct1e'"
the ''''.t~., Itagel of cheek-out, it .hould b.
If,,,k.d ,flld l0.ded with itl t •• t D~ocreM. B.fe~. t.ltf",c
af"'l, ho~.yer, the releva",t ~~T Ilot C.ee S@ctio" 2.1.2'
MUlt b. mOdffied to .how the ~odu"" i"'-co~, .tl~t Iddr •••
(AChl.', Stl~t+2 - I.e Sectfen 2.3.0.
j.lu",i~g ODT-UR i.
lold'd wfth the t.lt orocrlM, a limOle WaY of aecesli",a
th._.,o~ ~eau.red •• by m'I"'1 of the !VT el.e Seetio", 2.1.1'
I' fol1owl,

Th.,

Me~u', Ihould, ~.

.,1.1. _ 'o~

b.-

".0

ODT-UR V002A

.ODT

'0/11J00'00
SRUN PIPCCR)
PIP.U VIii"
*MONLIA.SYS/FBeDTIMONLIB.SVS'D'I~ODULE~LOArutc]eCR>
*OTIMONLIB.8VS/PRleeC~)

*OTIMONLIB.SVS/D!CCR>

*DTI/FBeMO~LTB.SV8eCR>

PAGF.S-17

Ch.ek4~e the modu'. now that
4tl p~e.e~ce 4~ me~O~V il
ephe~.~al i_ of cou~.e 'omewhet mo~e di~ficUlt.
The teeh~i­

QU.

mOlt let4lfaeto~y i, to b~eekc04nt t~e telt D~O.
JUlt c~40~ to t~e E~T ce" e~d the" t~e S'~ ~eut.~e .t
the i~.~~uctio" w~ieh .et~e"~ ce'sel co~t~o' to t~p modu'e
whe~
lel~ed
4" the SWle euffe~ Ceu~~ent'v Q~nN2+30~) e.a.
the 0~T-11R seau.~ee miaht bei
a~em

fou~d

301000,lR
.0/0001""'0CCR~

"~4/0P06"6CCR~
6~2/0t'1076~CCR~

766'2~

1,XXX,B

2,300,B

1,0,&
80,1,X)(X

,p

81,2,t'l0(113"'0
,ts

,p

88,2,001.'1462
2,460,3R
~pt2/0(111001ceR~

l,-2/D10t0'!lCCR~

,S
l,yyY,B
••••

.~.RK pROGRAM ST.~T
,SVT START - IO~ ~0
,DOL START - AO~ e
,~OL EN~ • EMT ~TAPT
,9ET RELOCATInN FACTOQ
,~RFA~POINT T~E TEST PRnG.
, ..... SAM
,START TME TE~T
,TEST eREAK
,CONTINUE TO ~A~ ~RFA~

,SINGLE STEP TO •••
, ••• MOCtJLF START
,M.PK MSB. START
,PERHApS CHEC~ ~P.T
, ••• AG.INST MOOULE IN M~B
, ••• CSEE SECTTO~ '.3.1)
,~REAKpOI~T T~E MOCULE
,... .. CONTI~U~

AOI4" t~e mOdu'e el" ~e tested u"de~ OOT-l1R co"tro,.
One
of wa~ni"q howeverl e" ~relkDo.ntl within t~. ~odu'e
mUlt he removed b,fere 4t retu~nl co"tro' to the test D~O­
O~lm
if the~. il Iny DOI,tbt'ttv thlt e different ~outtne
may be brouaht 4nto t~. sWID Buffe~ to ~e~1,c4 4t.
wo~d

PAGE818

~~_~~_L_ I!~v! ce_ p_l"_iy_~ I" ~
T~e f~l"~et ,nd ooeI"8tio". e.o~cted of I
~ev4ce-d"4vI"
we"e
d4Icu •• wd 4" Sect40" 3.3, end this l"ef.l" .. e~ to t~e ~ol"e detef'ed desc"iot40" o1ve" I' Aooen~fx G of th-. Pl"ool"am~el"'.
H8"dboo~.
O"ce D.. eOel"ed, the ~ew dl"4v~1" C~" b~ 8.!e~~led
e"d 14"ked fo" "o"mal u.loe II Ihow" 4" Sect4~" 8.t.

A. with D"OQl"lm .. eQuest Module. covel"ed 4~ th-. 11.t lectio",
the dl"4vel" thou'd f4 .. 't b. '4"ked 8"d 1olde~ with it. t~lt
.. ou~4~e fo .. , 4"-co"e checkout. I" t~41 cI,e the DOL ~u.t ~e
~odif4ed
t~
I"eflect 4t. D"e'e"ce C.ee Sect4o" 2.1.3). Fo ..
th4., the ule of I" ex414t"Q e"tl"v fol" I dev4ce "ot IctuI11y
4~ the CO"ffgu .. at40" •• I"ecom~e"~ed, e.o. t~~ nOT-1tR acttO" "'foht ~el
.ClJ/",UJ."QJCCR>
.5i1/i1~06.6ceR>
6661"6l32~
'X P~ cCR>
616/06329 ~'x PP 
10e/0~6e0~r~
LP OV clF>
11i10000~0CIJ

X~XXXXceR>

,SVT START - ADD 50
,DOL START - ADD 2~
,AD" 10
,AOn to
,REPLACE
,E~TER COPE ADDRESS

The ule" "'u.t eDDl"ool"iltely .et the t"tel"l"uot veetol"s It
tht • . t.~e, It"ee .INIT o"'v doel th41 fol" ~I".vel'" bl"ou~ht
fl"o~ the L4~l"e,.y elee Sectio" 3.2.1.1).

FO" 14"el cheekout when b~OUght fl"o'" the IYlt.",-device, t~e
new ~ .. 4v,1" "'IV ,1 110 be edded to the e"d of t"'e L;b .. I"Y by
I"te .. f"o ft fro'" OIDel"teDe thl"ough SYSLOO (sea Sect10" ~.2',
At the II"'e tt~e, the onL i" RM~Nt ~Ult be uD~lted if ".eel~
II,.y, 4~ "'ueh the la",e WIY a. the MRT, al 4"diclted 4" tha
'lit _sect~~".
No mOd~1ieat.o" Of R~ONe how-.Yel" i. ",.ded.
OOT-l\R eontl"ol fo!" the check-out 41 a little si~D'el'"
the
drtve"'. eOl"e 10eltio" el" be I"eldi'y dete .. ",4"ed i~~edi.telY
Ifte .. t~e datllet Uli"o it hi. bee" .I~tTEO bv ~.Imi"i"o the
IDDI"ODl"ilte DOL .10t. ~ .. 4va .. b"l.k D04"tl ca" of cou" •• "e~Ii" u"ti' the dlta.et ••• RLSEd.
~~ 3 ,,--~ __ ~~Vb~I .._~_C_om~I~~~_

The.imo)e"'e"tetio" of e "ew Key~o ... d Co",,,,_"d. ~e~e"d. UOO"
thet.. ~"tended ulaOe. AI Ihow" i" ChaDtel" ~, tf a eo"'ma"d
ce" o"'v ~e g4ve" w~e" "0 DI"OGl"lm 11 'oaded, it 41 el"ocel.ed
by a I"outi"e eM~edded 1~ the t .. a"s1ent Mo"ito~. 0" t~e other ha"d, if it CI" ee giva".at a"Y t4me, it. " .. ~celli"~ .. eu.
tine mu.t ~e 4"col"ool"lted into the Keyboal"~ t"tel"Dl"etel" "'0·
dule fo~ IwaDo."~ i" a. I"eauil"ed. I" "eithe .. ea.e .s the
D.. oeedu~e 1."'Dl., a. t~e f01'ow4"O De"IQI"~D~1
show.
Mon4tol" e.te"'40" i" th.1 Il"e. by the Qe"el"a1 ule" il "ot
the .. efo~e Idvflad.

w."

The i"c l u.io" of "ew eo~ma"d. wh.c~ ee" o"'v be effected
whe" TMON he. co"t~ol of the mac h 4"e a~e f~f~'Y If~Dle to
D~eDI~e.f"ee they ce" assume al, "o~mal
MO".t~~ fae4l4tel
I"d ea" u.e the crovisio". of the T~C~ Qe"e~al ~~oc@ •• o~
dlle~4bed t" Sectio" 6.5. Mo~eove~ 4t 4s O"'Y TMON ftself
t~lt "eed be .modified • . . H~weye~ eheck-out.s e o~ob'em,
~'"~e.the u.e.of 00T-l1- imo14el 8 loaded, oroor~~ a"d by deff"ttio", this do,s "ot exist~
Va~4ou. teeh"foues we~e
the~efore trted durf"o the develoom@"t of t~e
eu~~~"t
ve~­
lio" of TMON - oerha~. t~e simDlest i. to lf~k COT-11R to a
TMON module which co"ta4"s HALT a. its fi~.t .",truetio" (1)
I"d .to~e the relult4"o If".ed 1maae f" th~ svstem-devfee
Ltb~lry I. delc~fbed 4" aectto"s 8.1 e"d 8.2 (2). The H4LT
the" allewl the ule~ to r.sta~t the ~aeh1"e u"de~ OOT-llR
e~"tr~l.thr~UQh the cO"101 • • wftches
(start4"o at OnT-11.
10Id.D04"t + t1~). Cheek-out oeeratfo"s .ay the" c~oeeed as
"orma1'~ e.eeat thet a 10 •• of debuQQi"Q co"t~o1 ea" O"'y be
reotfi.ed ma"ue"v, f.e~. The cO"101e onT.com~a"d 4s "ot
IYlf'able • • "ew SVSLOD w1thout 00T.l1- l4"ked mu.t of
cour •• fol,ow .uccessful te'tf"c.

lLl. "._~~O t ~,~~ o"'m ~!'~._ .
•• "oted t" the f"t~oduct40" to Sectfo" 8.3.4, "ew co","'a"d.
whieh CI" be e"tered by the o~erator at a"V time "'Ult be
proce •• ed ~.th." the Kevboerd l"teroreter tsee Seetio"
8.2.3).
Not o"'v therefore, must theV f" oe"erel obserye
the cof"tl If.ted at the start of Sect~o" 8.3~2. sf"ee thev
1'10 effectfvelv ~elu1t i" a" EMT cal" they .hould also
comoly wfth the eo"ve"tfo". d •• cussed 4" ~eet40" 6.2.5.
Mo~eover, the followf"Q co".fderatio"' a~e 11,0 releYI"tl

a.

~odul. K81 mu.t b. modiffed to f"c1ude a"v comDl.telv "ew eo",ma"d 4" tts 1"d@. II 1"dicated
." the com~e"t. 0" the a~o~oor.ete '.stf"o •

....-.-...
..
4.
~.-

"ot e.oect.d that T~ON exoa".10" 4s a lfkely ~e·
au1~."'."t
of a u.e~ who has a~ ~K co"ffnu~atio". The c~o·
cts. d.scribed i. almo.t ce~tai"'y 4",oo •• 4ble f" t~ •• amou"t
of avai'ab,. me~o~v •
1.

It

..... ...-.
~--.-

2. l~ ~~ae~.e., the use of M~DS to.uodate • sVst,,,, OECtace
.1 advi.ed. Paper tace ule~. Cdevice 'PP' t~at i.) ea" u.e
the eam. teeh"iaue e. that described for q~nN i" Seet4o"
8.3.1. - f~ thil ea •• , the .eeo"d ~odule of the ff~st MnNlIB
tao ••• D~VS.C."Y ~eD'.ced.

e.
e.

T~e modu~.

it •• lf ~u.t h."d'~
tio"1 - 4t c.""ot ~.e."d ueo"
e4'4t4e. (I •• Seet40" 8.2 •• ).

4tl

OW"

oe.~.­

ot~.~ Mo"4to~

f.-

It follow. f~o~ Cb) t~.t ove~'.v4"o of t~ • • v..1.b1. lZI.wo~d ~S8 •••• cee4.'1y ~~eb8b~e.
A.f.~."ce to S.ct40n 8.2.3 ."d t~. 'flt4"Q
fo~
• Ifmfl., •• i.tf"o eom~l"d CASSTG~ De~~.c.) 4.
It,ono1v ~.eo~m."dp.d, Cnot4no D.~t.cu'.~1y ftl
It~UCtu,.
for .n.u'inQ ee,~.et IYltem devteeIto,.O. wh.n •••• Mel.d wtt~ t~8 eO~~ect D.~.m.­
t., tie. • ••• S.ctfo" 8.1)

Ch.ck~ut sf t~. n.w COMml"d ••• 110 COMel.x.
AI "ete~ f"
S.ctton e.z,s, t~. keybol,d Int.~D'.te, Ind 4t • • lloct.t.d
Mqdu1.I.cln n.ve, e. co, •• ~ •• td."t' hence t~. comce.tte
,4nk.d-4M.O. MU.t b. built frOM the .tart C.ee Seet40" 8.1)
and OOT-ltR co"tro' C," 0"1v b. M,f"taf"ed bl,1eallv throuoh
the S4M ."t~v into t~e .odu1. II 111u.trated 4" Seet40n 8.2.

Dose,lh,,.,
EY.~

PAGEB-21

t~41

"or~."v

~eau1~e!

~

.o~e .ffo~t,

bec~ule

ef

t~~

ove~'ay."a

.ifected ~o~ the '."Qu8~e. The, f~"owi"Q seoue"ce
(.lsu~4"e ODT-l1R ~8S bee" lft8~erl al.
~u""4"~
proarAM 8"d .• b~e.koo."t ~ •• bee" let i" eAM 81 4" the •• ampl. 4~ ~.ct1o" 8,2)1
de~4ct.

t~i.

81,2,(110"31'10

,IJSER ENTERS CTL/C
,'IRST I(BL CALL

,p
"~1,2,001!1300

,I'
C81'2,0~0300

, 'C' ECIo40

81

,cCR>ECHO

,p

,2,0003:~0

,I'

81,2,20"'0300
,p

,81'2,0~030'"

,p

" . ' ECHO
,USERS ~NTEqS

,~,

81,2,"'003010
,I'

.,P., ...

0131.2,01210300

, '0' ECHO

81,2,00"'3210

,'O~LOWEO BY eO~~AND
".,(2 8RFA~S.p~R INPUT'
,TERMINAL ECHO

,p

B1,2,"'0Q1330
,IS

,CLF~fCHO

,SINGLE STEP TO •••
•••• GET KSB.START
88,2,150
2,746.3~
'~ARI< IT
446/~e6ccq>
,~RT START - ADO 2*31
550/1!101!1!535 ,CHECK I(Bl ENTRY
554/00112121 ,CHECK KBt ENTRY
3, -2/"'00535

.1'

1 0I 012(111 c C1b

3,)(X)(.B
II'

,CONFIRM KBI IN KSB
,CONFIRM rMD PRnCESSOR
,SET 'tRST ~/".
, ••• ~ eOt\TtNIJE

PAGF 8-22

Now the Inc~oDrilte D~oeel.or i. i" the K~B, d~buoci~Q el"
II b.for.,
Particull~ ear. i. obv1~u.lv ~eeded,
"ot to '0 •• co"trol, the eo~~e"t. 0". bre'~Doi~t r.~ovll 4"
8ectio" 8.2 I'. 1~14" r~l.v."t. T,IOD4"Q t~e SAM .~t~v .~to
I furth~r overllY el" be 'eft to oeeur "Itu'."v
"ee."'.
roy, e.Q.
co"t4~u.

.f

,fJ

,REMOVE ALL RIP
AT SAM E~Tqy

a,lCIII/J.B

'~ESET

8C11,2,~I/JQJl"l

,OVERLAY

,p

TN , ••
CwEek
,SET NEW 'IRST AlP

l, -2/"1/J 12~ecerb , •••

l,YYY.B
,p

NOW

THOU~H

,.,. ,

eONTINIJE

fa" e 1-1 '7
PQ~'5E.NT

NlOl)U,"-,='9

(£lO,.. Co." C:odQ~
, •

SQ.SIC

11"\

mON IT'oR

po.rQ"~SQ~

rooo;"'o~ ~ -

Re.5IdQt)r

RNlONlF

l>O~-1\

IN

(~f:"-,i)

/ ~moNIC (RC-I!)/RMONIK(~t(.ID
RC'f)ON:"1
Qrt)oN3
~n'lori5

Ca.-oC.K

~wN.

(cJ~

""SJF(t:l.r:-li) / Dc. (RC-'!)/Dt<. (R.t<,"1)
RC'Y)o"~

ii!..

Pr,oc.,·po.' r}O

'XR (14\

f=la...o (Ie.)
OPN
CLS

(1(0)

ttl>

5",~~,cl'Qc-,'i F','e._ ('I')Qt')Cl3Q IY"le.t")\'" Ro\JhnQ.~:'bP (k.~)
Gtf)A (59S)
DCN (5,+-)
FeR (~~)
CS~ (51)
A~ (550)
FCL. (45)

1...01( (b.(,)

t-Sf\ (I.n)

C-':::X
j)L.N

(52,)

<'5~)

C'f)'IO ("3)
~tr) (3 ....)

4. O~e.r roo(")lro~ Ser"lC::.e..~:GrOt (1.4.1)
CvT (u.;l3
c~x (Sb

5.

Ke.~boot"c\

C"5N)

X IT

(;~7)

(Iso¢)

Serv,ce~ : -

KQL...
e1>P

(~I~
C~'2.

I
'< e.:L. Be:
~6I· ":1:

Kfn:.SR

K&.'I.L

K&l:.t1IO

K8I:."5

t<.~.DU

Ttno~

"D(·.."er&~ -

~ ~I""O"""

J)FXF>c")( jr>KX

K8

,-p

CR

p~

~,

~T

pp

("£Lilt)

craPTER 9

s YS TEM F I 1 E

FORMATS

A" ob'e~t Module 4, t~8 fu"d.~e~t., u"1t ef .~out to
LINK-ti. Fu~t~.~mo~e, •• e~ ."~ut f41e 'Dee4fi.~ 4" t~e eo~·
m."d .t~4~Q ""V CO"tI4" mult1ele obJ.et modul.,.
~.e~ obJect modul. eo"t.i", •• ve~.l ~u"et.o"" ~.~tl~ Two ~eouf~ed
~.,.tl .• ~. t~. al ob.l .v"'b~1 d~ ~eeto~v (GSO) • .,d t,xt
b' oeln
(TXT).
At ' ••• t 0"' ,..'oe.tfo" d4~eeto~v (AlO' fl ".0 ~ ••
au4~e~ •. No~m.' lv t~.~ .... e ml"V ~LO"
O~'I."t.
~Ie~ ALO .1
,'loc4,ted lo1.lv w.t~ the t.xt bloek w~4e~ f~med •• t.,v e~ ••
ced •• 4t. T~. o~tfo".' fou~t~ el~t C~ot vet 1"'oleme"ted) 4.
the ."te~".' Iv",bol d1~eeto~v CI~O'. T~. e"d of tk. obJeet
~odu' • . 1110ee4f1ed bv • b'oek eo~t.4"f~o
o~lv
t~e
le~d.~i.m~dule" eom",."d.
R.fe~ to F4QuI'e 9-1.

;.1.1

Mbfeet

;.1.1.1

~odu'e"

G'obe'

Co~te~t.

Sy~bo'

01~eeto~y

T~e GSO ~o'd. el'
.dd~lsle.
lea~e~e8

to ."
and to

i~fo~~et10n n~eeISa~y to .,140n eblolute
oloba' .ymbO'I, to eauSI t~e ~~oee~ '4b~.~y
e~e8te t~~ l0.d modu'e"
CO~O.

The GSO c~nt.~n. t~~ee ty~el of Qlob.l .y~bo's (in
to ot~e~ tyell of 4nfo~m.tion ICle1fied be'ow),
section

addition

1.

~~og~.m

2.

Olfi~1t40n8 fo~ lymbO'1 w~ieh ~IVI been dle'.~ed to

~.me.

bl I~t~y Iymbo'l (ent~y Dointl)

-

qlfl~e"cel

,

to

Iy~bo'l

w~1e~

~.ye

bl I;'te~nll (I;'t.~"., ~efe,.ene'l)

bee"

dee'.~e~

to

T~I GSO. ~ust
be construeted sue~ t~.t o~ee a e~OO~lm
l,e~4~n'.
~.ml
~IS bl.n dle"~ld, .1, t~. l"trY Iymbo' definitions wit~1n that I.etion mUlt bl dle'.rl~. T~e dee'a~­

.t10n .~f

I rl~l~ene~ to I~ ex,e~"a' Iym~o' ~.y 'Dol.~ .• nyGSD, UDon comoletina I lect10~'. dle'a~at40"I'
the next o~og~l~ 'lct4on" nlme mly bl dee'I~.d~
.
T~I G~O w4"
oenl~.1'y eO~lilt of leVI,..,
format tid binl,.y
l1n,l.
~IC~ '~ne wi", 8t.~t w~t~ a ~o~ma"~ ~"d1eat~"g t~at
4t il • DIrt of thl GSD. T~I f1,.lt l1n, of t~, GS~ w4',
~.v. t~e mOdul.I'. nam" oecked fn .RA05~ form, immed1.tely
~~l'ow~~o t~e GSO com~lnd. T~e following l1nl. w~"
~IVI
t~1
GSO
I continuat4on
T~e GS~
.
..., eomm.nd .nd .
, . . . .of t~e GSO data.
.
• 1 te~m4nlted by e 14", contl4n4no only t~e G~O tep'minfttion
w~e~e

i~

t~e

.

com~."d.

Every o~Jeet module mUlt blei" w1t~ I G~O 'i"e wh4e~ eont.1nl .t 'e'lt t~e obJect moduli" naml. T~e rem.1"de~ of
t~e GSO. ~owevlr, m.y b • • nyw~e~e i" t~e module.
T~e 14nk.,.
w4" iQ~o~1 11' no"-GSO ,4n.1 wki'e it ~. g.t~e~1"g t~e GSO.
Refe~ to f10ure g-2.

il

PlG~

T~. G~D

4.

t.~M.~eted

bv

t~.

e"d r,SD obJ.et

q

3

eO~M."d.

T~ •• "t~4 •• t'" t~. GSO .d~.~. to t~. fo"ow4",e eo",va",tfo"l.
1.

!v.,v

••• doubl.
, o.ek.d .~A~~0
•• D.",.4o", of t~. 'YMbol' • • • _ •• e4f ehe~.et.~ ••
The fi,.t wo~dhold. the D'eked ~eePe •• "'t.tfo" of
the 'YMbol" ff~.t t~~ •• e~.~.ete~ ••
.y~bO'

(~.~.

)

~u.t

b.

D~ ••• "ted

w~~d • . Th~. dou~'. wo~d ~'D,.,."t.

!v.Py .",tpy ~u.t po •••••• wo~d eo"'t8f",f",o f'.Q 1",·
iop~.t~o~.
T~. b~t .••• ~o~m."'t. (~"'~fvf~u.' f'.a.'
~u.t eo"fo~~ to the fo"owt",a ID.e4ffeltfo" ••
R••• t/S.t

•••••

• ••••••••

3

y"'d.f4".~/d.f.".~

e

!5

f"'t.~"ll/0lob.'
.b.o'ut./~.'oe.t.b'.

0,1,2,4,7 "'ot u.ed
8.15
eod.d oct."v •• fel,ow.i
~.~bJ.et ~odul. "'.~.

l'D,~a~'M •• et40", ""M' (.'SfCT o~
.CS!CT •••• mb'.p di~.cttv •• '
2 •• "t.~"e' .y~bO' t.bl. "'Ime (~ot
v.t .MD1.~."'t.d)
3.t~e",.f.~ edd~'I' .e.etfieetic",
41.y~bol d.cl.~.et.o"

5 1 10e.) •• ~t.o", ~.~.

.
S,v.,.fo", fd.",t4ffe.tfo",
~~t. th.t the hfah o~d., byte of the f'.a. i.
u•• d
•• • eOM~."'d to 4d."'tifv t~e ty~. o~ e"'t,y. The
'ow o,d., byte fl uI.d to ID.etfy D.~tfcu'e~ Que'ftt •• of the .nt,v •

••

!v.,y D'OO'.~ •• ct4o", .• ",d 'oc.' .actio" ."'t,y ~u.t
d.el.,. t~e tot., dfM.",.io", (4", byt •• ) of the 1"t.~.

"otto",.

~ve~y

~.,ocet.bl.

~,

~"t~y

,y~bol

d.f4"it4o"

mu.t

d.f4~4t.o", ~e'et4v. to t~~ bese of the

.tat. its
leetton.

A" e"t~y .y~bo', of a .eetto" ~u.t fO"ow t~. d••
e'e~.tfo" of t~e lectfon'. "'me.
~ow.v.~, ewte~"el
.y~bO' ~.f.~ene •• ~ey eecu~ e~yw~e~e .~ the Gsn.
T~ • • tl. of e e.ct40" 4e deft"ed e. follow ••

8.

.41.

e,

Th. eb.olut ••• etfo" ~e. e

b,

A eo"t~ol '.etfo"" .fl ••• ~". elu. t~e le~Q •
•• t ~.'oeeteb'. PC v,'u •••• fO".rl du~f"Q •••• m.
bly.

of 0.

The t~e".f.~ edd~ ••• f • • "acfff.d f" the GSO .0
thet the If"ke~ ee" f"eJude it 1" th, CO~D of the
loed module. If"o t~e"'f.r add~... 4. .p.cffi.d
4" the GSO, t~e 'f"k.~ will a •• ume a" add~ ••• of
A00001. T~. f4~.t t~e".fe~ .dd~a •• '''ecif4ed wf1l
be . weott
The •• D.. , •• 40" 0" U., .• E:~O .t.teme"t t •
.... o'v.d dow" to a df.,,'acema"t f~om a p~Oa~.m .ect.O" Co~ loc.' 'actto"' "a~e •

A,
81

C.

• CSECT

NAME:

13

o

~OV

~4UMALE,

•
,•
•.END C

SP

,THE

~ELOCATA~L~

TRAN!FER

,'OOA~SS

,IS DEFINED T~ AE THE VALUE OF
,THE RASe 0' CO~T~OL ~ECTrON
,"NAME" PLUS A.
The 'f"k~ .. ,,'eces the ff"e'fled ebeolute t~e".f.~
edd~e •• f" the COMO ."d f" the TPA block of the 10.d ~odule.
Aefe~ to Ffou,.e 9-3 fo,. ." fl1u.t,.etfo" of the
w4thout the 810Ckf"o St~uctu~ ••

,

GSO

Uoo~ .~DUt ~o

LINK-tt, t~. text block. ~0~~al1y co~t8i"
byte. aftd/o~ wo~d. whtch haye vet to be d.ta~mi"ed. T~et
f., oo.itio". ~e~af" with4" the text block wh~.e co"te"tl
MU.t be dete~~4~ed bv the D~ec ••• e. Of ~elecat4o~ 8"d 14~k·
f"o. The ce"te"t. of ~he.e De.4tio"._.~e total'y ,cec4fied
by the ~e'ocatio" df~acto~y which follow. th~ te.t block.
If a ta~t b'ock doe. "ot "eed Mod.ffcetfo", t~e~ a~ RLD ".ed
~~t
i~tlew~
Thu., ~u't~ole text blOck. may Occu~ co"tf~u·
o~,'y ~~ the ~oduJe. UDO~ ~"out to,the. ab.olute 'oede~, the
load module"
bt~a~v block. co"tef" .olelv ab.olute b4"a~y
load data a"d ab.olute 'o~d add~e'I".
•

, - " .

I

Each taxt block mu.t beof" wfth t~e object co~ma"d which de.
th •• block to be TXT. Thi. COmma"d 4. fo"owed by •
we~d Which ,tate. the m.m~~y ~oc.t4o" whe~e t~e if~.t deta
byte of thf. te.t block i. to be olaced. Th4a wo~d i. fol,owed b~ the body of the text block. Refe~ te 'iou~e 9-4.
cla~e.

.AGE

qe

Rel~cetjo~ df~let~~~I. eo~tlf~ thl ~lc ••• erY ~b'lct eemme~d •

• ~d

t~14~

,u~Do~tfvl .,aU~I~t.

~IQu4rld

fo~

med4fy4~o

clt."Q.,"~/Or 'f~k4~a' thl Dr.cel~f~o tlxt ~loCk.

the deff~ft.o~ of t~1 obJlct 11"QUICI,
to F4sure 0-8 fo~ I RLD b1oek.
Eleh ~LD ~'Y eo~tl;~ lOld
I~d/o'
text modff4eltfo"
mlV "8t. bl followld by text
.Iml b1eek (If"I).

~dd,e..
ecmml~d..

.Iet.o~

.odfffeetfo~

Qlfl~

0.1.2.

med.f4e.t4o~

LOld

(rI1e-

Qefl~ .to

l~d'I ••

eo.m.~d.

eemm.~ds
eemme~d.

4"

the

Eleh ebJeet mOdu'l mu.t hlVI It '11.t O~I ALD w~.eh erleelds
t~e. ff,.! TXT bloek. The.1 RLD" ~U.t.ee~tl'~ 'eld Idd'~ ••
modff~eltfo~ eom~l"d. w~4eh .tlrt thl ,4"ker It
thl DrOOl'
p1lel.

'.1.1.4

t~te~~I'

SYmbO' ~4'eeterY

(Not Vlt 4mellml"tedl

T~e

object ll"Qulal i. t~e .et of 111 eom~l~d~ w~4eh .~df.
t~. tYpe of I bloek I"d w~ieh lepel~ i" e" ~Ln to CO"t~ol the li"kf"o ."d ~eloe.tf"Q e~OCIs ••

cIte

Th. OA"P.~I' .t~uetu~e of III obJeet eOmml"d ••• i
t.
2.
3.

1 eo~m."rl ~. I byte oU8"t4ty
The .io" bit f"dielte. I byte ope~I"~ Cif .et)
Pote"till1y 128 eomml"d.

Th. o~Ject 'l"ouloe co"tli"s .eve~el Qe"e~_' tyee.

of

eom-

",_"d ••

TYDe I,

~'oclc

I.
b.
e.
d.

'.f.
e.
~.

,.

f•

TyDe

-

Oecll~ltfve

eod. COctl' )

comml"d.

O.el.". the GSO
Oeel.,.. _ TXT bloek
O.el.". • RLI) bloek
"eel.~e the ISO
O.el.,.e the ,"odule." e"d
Oeel.,.e GSO t .,.".. "at i 0'"
Decl.",. a 1 fb,..,.y
Oeel.,.e tt'le lfb,.~,.y df,.eeto"y
O.cl.,.. a co ... "b,..",y
Oeel.". • eo .. e lfb ..... v ."d

1

3
4
!5

e
~

e"~

7
HI

tt

12

Tv.,e II. T.xt Mooiffeltio", Co~m."~1
T~i.

a .. OUD of eomm.."dl ~DDe.,. f~ t~e ~L~ ."0 De,.14"k."O fu",etio". T~.v
ooe,..te ueo" speeifie bvte. 0" WOf'lOS f" t~. TXT
bloek
th.~.fo". ,.eauf .... method fo .. ".f.,.."ci"o Qua"tfti.. 4" the I •• oe •• te~ text bloek.
T~u.,
the •• CO"O bvt. of eleh 01 the fo"ow."O
eom"'I"Os ia I byte whfc~ sD.cff4es the dfsDl.ceme~t 1,.0'" the b •• e of the text block to the
• "eed text dl~1 byte (0" wO~d)._ The ~Ise of the
text bloek fs the loeatio" of the ff,.st byte f"
the bloek' thet f., it f. I df.ol.eeme"t f~o," the
TXT eOlft'"."d.
fO"~ the .. eloe.ti"o ."d/o"

."0

,..f.,.•

PAGE q·R

Add t~. cu~~.~t ~~eO~8~ .ectfo~·. b ••• to the
.c.effied ee~lt.~t a~d c'aee t~e ~elu't whe~e
f"'dieatad.
eMf'! (Byte)
~.,.t.v.

Ref.~."'e.

ee",.t.~t

(We,.d)

(Bvte)

Th •• eeM~."d ~,'ee.t'l a df,..ct ~ef~te~ to
f~t.~~.1 ,..'eeat.b'. IV Mbol.

a~

! •• ",c,.i

AI

2.

MOV

*A,II

II,.

J TM! PELATlvE D'FtNtTtON
, 0,
APP~A-I AS TH!
J CONSTANT IN THE CO~M'N~

Globa' -.'oeatfe" (net.' eed. 2)
Pllc. th •. valu. of t~e I~eefff.~ olobal .y~bo'
wh .... f",dfeat.d.
eMO (Byt.)
R.'atfv. R.f.~."e. (Byt.,
G,eb., 'y~~o' (2 we,.dl, Packed .~'OS0)

Thfl eOMMa~d oe".,.at.1 a df,.act
•• t.,.~a' Iy",bel.

.of~t.,.

E.a~~'.i

MOV

,

'SIU~!

,

A

"A· II
GL(,BAL
*',10. TME ~AME "1"
J ,.,P(ARS iN
J THE COMMANO

to

~

a~

PAGF.: q-g

J.

I"te~"el Of.~leeed

Re10eetio" (~ctel tode 3'

Celeulete the d4Ielac@me"t f~om t~e ~e.it.o~
of the eu~~e"t locat 40" cou"te~ (~1u. 2) to
the IDee4fted eblolute edd~el'. ~laee the ~elult whe~e f"dicated.
tHO (Bvte)
Relettve R@f.~e"ee (Ryte)
tO~lte"t

(Wo~d)

!icamp'e.
tLR

1115~0'

A 1"~5~
r APPEARS A'
r T~E cnN~TANT

, IN

T~tS

CO~~'NO

Note that th4. tyoe of ~e'oeatte" oeeu~. o"'y
whe" the~e fs a ~efe~e"ee to a" absolute svmbol f~om e ~e'oeeteble 'eet4o".

••

Globel Dfspleeed Reloeatfo" (Octe' Code .,
Celeulete the d4'Dl.e.~e"t from the ~o •• t.O"
of the eur~e"t leed locatio" eeu"te~ (elul 2)
to the.",c4fied global.
"eee the ~elu't
whe"e 4"dfeeted.
CHO (Byte)
Relatfve Refe~e"ea (Byta)
G,ebal Svmbol (2 we~d., "aeked .RA050)

I
I
~OV

6,10

ASSU~E

.,"

,THE

T~AT

fS A GLoa'L
NA~E

"A·

r APPEARS TN

r

T~E

eO~M'Nn

5.

G'oba' Additive Reloceti o ", fOct~' Cod@ S)
Add the val~e.of the IDecfffed o'oba' Iy~bo'
to the IDecified CO"lt8"'t e"d Dlace the ~elult
whe~e 1"dfc.ted.
eM" C"vte)
Re'attve Refe~e"ce (Byte)
Gleba' Sy~bo' (2 Wo~d., Pscked .~A"!0)
eO"'lt a",t (lIIo~d)

MOV

6.

Global Additive
Code 8)

• ASSUME T"'AT
• A IS A GL08AL
.A+8,10. THf 8
, 'PPE.R~ AS T"'E
, eONSTA~T
Dile'aced

Relecetfo"

(Octal

Calculate t~e d4lclaeeme"t fpOM the DOl4tfo"
of the cu~pe"t 'ecatfo", cou"te~ (plul 2) to
the Idd~ell IDecffeid to be the IU~ of the
.eeeffted eO"lta"'t e"d the .oectfied global
• y~bol a"8 the" pllce the ~ •• ult whe~e 4"dfceted.
eM" ("vte)
Re'ettve Refe~."e. (Bvte)
Glebel Sy~bo' (2 lIIo~d., PIcked ~R'D!I)
CO"'lt e",t (!IIopd)
E.a~D'ei

CLR

Exa~D'ei

, ASSUME

T~AT

, A IS ,
, THE 8

GLO~AL

, APPEARS AS
, THE CONSTANT

('ORTRAN)

COMM~N/LABfL/L,N,MI

M.,

The •• Itet'Me"tl would CIUlPo th8 fo"ew4",~ 4",-

.t~uct4e" te be ge".~.tedi
LA8EL+~

, LA!EL TS A
, GLOBAL

~•

-7.

Set
T~i.

Lim4ts (Oeta, Cede 11'

P~oe~am
eo~mand

(gene~.ted

by the

.LIMIT

.s.em-

d.~eetive'
cluaea two wo~~. i~ the TXT
b'oe~ to b. mod4f.e~.
T~e fi~at wo~d
• • • et

bler
to

low.st ~eloe.ted 8dd~e'~ of t~e D~O­
•• co~d worn ia set
the ~i~he.t
adrlr, •• +1. that. is, the f~r.t free
10e.tio~ follow1nc t~e
reloc8ted eode.
The
com~a"d con.ists ef Ju.t one wo~d.
t~e

te

gr.~.
T~e
~eloc,ted_

CM'" (!\vte'
R.,.tiv. Refe~8~ee

(Byte'

Not. ~hat beth wo~d. to be ~odif18d
ce.r 4" the •• ~e TXT blOck.
8.

~ust

aD-

.CSECT Text Mod4f4eat1o" Comma"dl
Fou~ .CSECT text

med1f1e.t4o~

eom~e"d.

~.ve

.dded to the a •• emb'er's ~bJeet 'I"CuIQe
reDe~to1~e to .ccommOd.te .CSECT ~,'oe.tionl

be."

"CTAL CO"'1MAND
...••...
--.-12

1.
2.
3.
••

.CSECT reloc.tion
.CSECT d1.c1eeed reloe.tio"
1.
.CSECT .dditive ~e'oc.t40"
15
.CS~CT additive d4.D1aeed relecat40" 15

The

~INKER

maD. th ••• eom~."d. i"to
t •• t ~ed4ficat.~"
eomm."d.. How.v.~, if .nd when the LIN~ER i.
mod.f4.d to d4.t1nou1sh bet Wee" ,GLOBL .nd
,CSECT ~am •• 4t w.,l b. coa.ibl. (without modif1c.t.en ~o the •••• mbl@r) fO~ the u.e~ to
h.ve .CSECT' • • "d .GLOBL" with the .ame ".m ••
t~e

cu~~e"tly

eor~esoondi"c

.~LOBL

Ty~e

tIT, Loeat4o~ Cou"te~ Mod4f4e.t4o" Co~~a"d~
ThA" eo~~~"d. aD~ea~ i" t~e RLO ."~ e~"t~ol t~e
.atti"G of tha LINKERt. eu~re"t loeatio" eou"te~,
that 11, thay eo"t~ol where the ebsolute loed deta,
withf" the "ext text ~leek, ., to be oleced 4"to
"'e"'o"Y.
The obJaet ",odul8 ~Ult heve et lea.t o"e RLO, cO"tai"i"e t~a ~~ooar 'oeatio" eeu"tar •• tt4"G a"d/o,.
"'o~1f4cat40" eo",~a"d., 0"eeed1"Q the f4r.t TXT
~,ocic.

The.e eo",~a"d., whtch "'Ult be l.,t 4~ a'" RL~,
the lo.d .ddrel. for the ",ext TXT bloCIe ~eed.
1.

•• t

Loe.tio" eou"ter deft",itio" (Oct.' Cod8 7)
Set tha eurra",t loe.t4e", eou",ta" eeual to the
'u'" of the 'Deetf4ed o~oar.M .actto"". b •• e .ddre •• a"d the .oae4f4ed eo".ta"'t~
C~O

(Bvte) followed by • "u"
Sactto"'. N.",e
(2 Wo~d., Packed .RAOel'
CO".t a"t ("'o~d)

~yte

P~oera~

Th •• eOM",."d 1. oe"e"ated wha"eve~ a .ASECT,
.LOCAL, or .CSfCT directive •• uied to i"itfate
or eo"t1"ue a D~oa~a'" leet4o".
2.

Loeatto" Cou"te~ Mod4ficatfo" (Oetal Code 10)
Oeft"e the Cu~~e"t Locetio" Cou"te .. to be the
'u~ of
the cu~ra"t o"oo .. a'" .eette"'. b •• e add~e'l a"d the follow4"0 co".ta"t~
CHO (B~ta). fo11owed by a "~l' byte
CO".t.",t (wo .. d)
f.a",Dle.

, t~~ .poe.'" a. t~e co".te"t
, The value of t~+t0'0t
, aDce.rl •• t~e eO"lte"t.

The "~r~.' cutDut of the 'f"ker t • • 'oed ~odu'e w~te~ .ev
b. 'e.ded I"d ru". The Ph •• e I 4mcleme"tet4e" wf" e~oduee
'old module. P~ •• e II w4"
t"elude the oct.O"
Droduei"o • 'o.d~ttme relocltlble module.

O"'V ,

of

A 10.d M01U'. co".f.t. of fe~M.tted b."e~y 'f~e, ~o'di"a .b,olut. lo.d .dd~e •• e • • "d object d.t ••• specified fo~ the
~e~er t,pe .y.te~ .b.~lute 10.9~~. Th. f.~.t few wo~dl of
d.te w4"
be t~. comMu"fCltfo". dfrecto~y (COMn) ."d wil'
h.ve a" .e.e'ute 10.d .dd~e •• eeue' te the 'owelt r.'oelted
.ddre •• sf the D~oa'IM. The .blolute 'eede~ wi', lo.d the
COMO et t~e ,Deeiffed .dd~e •• but the" the D~ear.m wi1l
overlay the COMO. The df.k mo"4tor w4" e.D.et the COMn ."d
w~"
10~d ~t wh.~e ,h. Mo"ftor w."t. ~t. T~e_.~d oi the
.d medu1e wi" be f"die.t.d by I TAA bloek. th.t f., • 1f"e
eo"t.4"4", o"'y •. leld 'ddr.... The byte cou~t f" the for·
m,tted b1".ry If"e wi"
be e 0" t~ •• li" •• 0" .,, other
li"e. tbe byte eou"t wfl, be '.~oe~ th." 8. The 'o.d medu'e
,4"e •• the li"ker outeut, h.ve the fO"owf"Q formeti

'0-

t.t Bytei

Low orde .. byte
Mod.
Ulll )
~fQh o~der

byte

.tltU.
(IUjl)

Actu.' byte COU"t
(fro", 1.t thru
JI.t byte, "ot
f"eludi"a eheck.ulII)
Stertf"o .b.elute
,oed .dd ..... of
block (1i"e)
.t h U,,'u

"It byte.

T~,~.

i. ,1.0 '"

Cod. or date to
10ed.d

~.

e.t~. byte of eheek.u~.

9.2.1.1

eO~~_Co~t.~~

Th •. C~M~ hold. the follow4nQ .nfo~mlt10n to be ol •• ed to the
mo,,4to,,1
1.

A" f"d'elt40n of wh.the,. the
~eloeltlbl ••
Th.

O"OO"I~'.

module

••

load-t4m.

t,.ln.fe,. .dd" ••••

Th. low •• t .dd" ••• lc.ded by the p~Ool"lm tnot f~­
clud4,,0 Ibsolut. code). U"de,. ~SX, this arld"e •• f.
the lowe.t Idd" ••• to be u.ed 10" ST&C~ .pee ••
Th, .fze (in byte.) of the DI"O~,..m~
U"de" RSX,
~h~.
.fze tnc'ud •• the STACK .pece tJu.t h.low the
~,.~g".m) .nd the ,.e.'-tfme heede~ (Ju.t
.bov. the
o,.og".m).

5.

OoTI. t,.ln.fe,.

~.

A ~ •• t Of monito~ "out~"e. "eau.,..d to
alo"a with the module (no",. u"d." ~SX)

7.

The lOld modu'e

e.

The ve~s.o" ;dentfffclt1o"

.~d" •••

tano"ed unde" RSX,

(0

if

DDT

not

t"'c 1ud.d).
be

lo.d.d

".m ••

The co~n aDDel,. ••• b4"I"y d.t. to be 'o.ded It the lowe.t
,.e1oclted Idd,.e.. of the D"Og".~, The Mo"ftol" 'otde,.
••• l'IItn. t"e. COMD, o,.oce •• U I"d c.ll the p~oee" l"out4"e to
,o.d the ol"og"em.

wi',

T~.

,

eon.t.t. of po •• fbly •• v."., fo~matt.d bt"II"Y
14ne •• Each ltne hI. I lo.d edd~e •• CfQ"o"ed by the ~o"'ho ..
'0.ge~) f~llowed by .~ctfo", ~f .~fo,.m.t.o".
!ach .eet4o"
begins with a" identifytng wOl"d t"dte.tfl'lg the ty"e ef .eetion Inrl the le"Qth of the •• ctton a. follow.i
Low Byt./HfQh Byte

CPMO

...•...•.. -.......

.-.-.-.

'" t •••

!"d of COMO
N wo"d. of 0." .... ' ."fol"m.tfon
follow ••
N l'IIo"ftol" rout."e reau.lts
follow (0 ul'lde" ~~X'

1 I

".I

2 I ".I

Thu. the eOHD ha. 0"' o~ ~o~ ••• ,t4o". of Qe~.~a' 4~fo~~a.
tfo" follow,d by o"e o~ ~o~e .eetio". of ~o"fto~ ~out4"e ~ ••
Qu •• t. followed by ••• etio" t.,mf"atf"Q tha eO~D. T~e o~d·
.~ of t~. a.".~a' f~fo~Matfo"

f.,

WORD NUMI5ER

•••••••••••
I

2
:5

•

CONTENTS
• •••••••
Low •• t add~ ••• 'eade~ ~V ~~ee~.m.
~~OQ~'M

.4!. (4"

byt •• , th4. f. the

.um ~f t~. 14181 of th~ ~e'oe.t.b' •
• ectfo"'l.
P~oa~.m t~'"'fe~ .dd~ •••
ODT'. t~I".f.~ add~a.. (0 4f OOT
"ot 10adacU
'hablO' u-te
t8lold tim. ~.loeatab'e
'oad Module "a"", (2 ",0~d., .• ~4"!UJ)
load MOdul. v.~.fo" td."tfffcatio"
(2 ~o~d., .R4D~0)._ .Thf, data_fa
aCQuf~.d f~OM the v.~.fo" fde"tfff·
eatie" of the ff~.t object module
'f"lced.

Th. me"4te~ ~outf". ~eQu •• tl a~a i" the fo~~ of wo~d. eO".
taf".~a the ~outi"."
"umb.~ a • • ~.eff •• d f" the Mo~fto~ ,fe
b~a .. v.

A~ ftbteet ~odule lib~ary that e ••• ts as a fo~~atterl b."a~y
'4"ked f4le is a leQUe"ce
object ~odu'e. ereceded by e
dfrecto~y of the eo"te"tl.

of

A l.b~a~y •• e useful file for th~ee realo"l.
t.

It laYes hayf"a leoe~ate d4~acto~y e~t~1el 1~ a U'O
fo~ 14"qle object modu'el.
tt e.~ed.tel the l."ki~o D~oeell.
It allowl for Ita"dard4Iat40" a"d eo~t~o'led uedat4"a of eom~o"'v used ~out1"e, e.o. Fe~tra" eo •• "e
"out."e.

The f4"lt data byte of the i.rlt If"e of I" Object mOdu1e
"brl~y ~o~tli"1 the code 7 to i"dfeate the begi""4"Q of a
Hbrl~y fne.
Th41 'f"e •• followed by • '4"e. of d4recto~v
term1"ated bv the e~d d4rectorv 1f"e Ccode tl,.

t"formlt40"

Now aDDel" the obJeet module. f" the .ame o~der as the." e"triel 4" the dfrectory. ~efe~ to fi~urel g·e a~d 9-7.

9.3.1

nt~eeto~y

-.

Co"te"t.
-----~.

The d.~ectory eo"t.i"~ o"e ,"trY De,obJeet Moeule f" the
.eMe ~Alat4ye ~OltttO" •• it •••• oet.ted obJeet Modu'e. A"
e"t~v ts eSle"t1,1ly th@ obleet.mQdule. ;SO (~efe~ to
f.Qu~e.
9.2 ."d 9-3) w1t~ two .ddttio".' ~eaU1~eMe"t. to .llow
fO~ oet4Mum .e.~c~f"o of the dt~eeto~vl
t•

The GSO a. D~odueed by t~e ••• emble, 1. ~e-o~de~ed
10 that .11 exte'"I' .;LORL'. IDDe.~ after al' the
~;LO!L e"try Dot"t., th.t
f.. III the •• te,"el
.GLOBL'. wh.c~ ,oDe., with the Ablolute ~~OO'IM
'ectio" N,M' .~e Moy.d to JUSt befo,e the e"d SSD
deel.,.tfo" f" the ;90.
Li"es maY eo"tlf" UD to 93 d'e.~.' date wo~d..
If
,".obJeot Module hI •. "0 "am.d .CSECTi. o~ .LOCAL' ••
thf. buffe' wil' Il'ow fo, 20 d.efM.' ."try Dof"t.
(8~ wo~d.) I"d 13 word. io~
GSD d.c'.rltfo"
Object module "Ime
Ablolute Prog~l~ Sectio" Nlme
U"".med Relocatlb'e P~oOrlm Sec~fo" NaMe

i"

(1)

(4)
(4)
(4)

t~e fi,st '."e.

A" ~biect mOdule i" I" obteet modulI l~brlry ~I 4de"tfcel to
fts Ita"d .Ilo"e ye~lfo" (reie~ to .ect1o".9~1' e.ceot t~lt
the ;SD is ~educed to ft. f4r.t ."d , •• t '1"e'.
Refe, to
f.ou~e 9-2. Th. f4rst If". eo"t.4". the ".m~ ef the object
module. fo~.y.r1f1e.t.o" w4th its d4recto~v e"try a"d the
, •• t "~"I f"dfc.t.1 the e"d of the GSD.

,

,

.~~ L~"d~_o~ule ~J.b .. ~~~~o .. ",-.!_(I'I~~

Yet 4",01@"'e"ted)

A. load ~odul. ltb~a~y, t~at e.tltl al a fO~"'8tted bi"a~y
'i",ked fil., i. a .eaue",ce of lead "'odulee D~eceded by 8 rli~ecto~y 01 t~e eo"te"t ••
The f.r~t d,t. byte oi the ft~.t l~"e oi ,'oed ",odule library eo",te4",. the eode 13 (oeta" to t",dteate the beatl'll'lil'lO
of • 'oed ",edule l1b~ary file.
Thie 11"e 41 followed by • ,t"e. of di~eeto .. y
te .. ",1".ted by the ,l'Id di~eeto .. y 11"e (eode t4,.

.",fO""'8ttol'l

Now aDDea .. the load ",edul •• t", the ""'e o .. de .. a, t~.1 . . . "t ..... i" the d1reeto .. v. ~efer to fiau~ •• v-a al'ld 9.9.

The djr.etory.co"'ta~"'1 ~"'e e",t~Y oe .. load ",odu'e tl'l the •• me
rel.tive Do.ft1o", •• tt •••• oei.t.d 'o.d IIIodu'e. A", .",t .. y
41 the f1 ... t '1"e of the 'oad module Crefe, to f1ou ... 5-1)
wh4eh 4. the f .... t 14"e of ft. Com",ul'lieetfol'll Dfp.etopy
CCOMD'.

A 10.d ""odule fl'l • '1b ... pv •• fde"tfe,' to -UI
verete", Crefer to f.au~. 5-1).

.tal'ld

alo""

G-SO

RLD
TXT

RLD
TXT

RL1>
•
••

T~T

MOl)ULE

eN»

Text SIoeY

I

~

G-SJ)
I~)
Ot.l~t Mod" Ie.. f(at«

(a wot'cls

_.

FolrClMlcd ~1 a -.".,

I. q w.w-" S .. -...

) oRADS_)
-

~

FLA&S

,)

r)
DATA

Olljcc.+ Co....""-a..cl

"""e,.

t",

8~tc. (GSD=.)

b1~e.

1sT 5"!'tIt"0 I i"

'bT.. ·TITLE ~a,I~t"

cll«di,,~ ~cou,,;tc"e4

0

•

•

PitTA

I

"SI>

M01'c, cleeht('at.ot1S

sect,• ., .,iM1esJ
~ \o\,a' v.a.. e s ) ttc..

DATA

bi.,c.s 3 t-.

N-I

o~

-sou•.., "'''e 10C',.,aT o-f

6f

(7SJ)
£;VlC,

a..

....

"wrAD,."
,.,

~

eJ:w rp

Pa, c. 'i..22o~'t Modll/~ ~...,t. "'' c. 1.11" 11..... 01 i", tAr. last.
~c:a".,'t.1'tcl .,. +I,t. def.~ tt ~1"" 1.0. ·MAr"'·
j

·'T%T&..

8i"... .Jet....-t ;~t,'fic.t.·." ;,6= """-fiR .=MiJtc"o-U
~CflIO"';
ific.ri;o,,", • +1.«. 'sT 61"""" ;" -He. last
'%DSNT em-ou ..1it.cI - '&,,17 ,', •...,itf~ :.f... -%DEAlT

Aa".I,,'t.. P~, ..... Sec.+,." N,.,...t... ( ..... ASS.)
s.d,..... " ;

Objec.+ Co""rt)a .. Js
&.

,47cl1P1et,ts

8o,1

~ +~e..

J
Objec.'t

CO",",'a ...

ds

--

•
•
•

EvtA.

D;tecTo~

~--~-

fi~s+
Ob~t

Mod\)le

....

~~--~"'~-

S~cl

Obje~ MoAul~

E.... tt'''' I
,

_________ an, •

••• --------------..

T>;t'~ctat"!
&T~"~s
~ +J.ru

Ii-I

1----------- ----.-.

ObJtc1"

f1od",J~s

-f/'ru

"

,

eac"

",t,)' Mat COftI;~t-o~ .?'
.,,~ Mar c..."'nt11l1

cf(c,,,,.1 cli1a fAlot'~~

up

•

10

,;~C ~

'3

--

ge1;~,

-

LitJt'art

E~ttl

I,

'

Ettt"1 ~

•

••
•

E~t~l W

fred Dit'~e-to"l
.fits"Load MecI"I ..
SccOt\~

Load Mo~"I...

~

•,
•

N+~

load

Mo~le.

I
1/

(a,e
L;ne.

I

I

,3

czsl

ii'ltc 2

Erttry ,

Lif&t 3

E.,.t,.y

li.,... N+, [

E"try

i.t t#f.zl

_I

I{

8ca;~

lOlA I'1oAule Li"ra7

il i'4c. 'st I.~t..
.f ;t.. 'Dad WItOJ,,1e. •

O;rft-to.-,'" a., e..Try

2.

···

I

-/

r;..%y

(COMD)

]
I¥I E."l Load /'1aJ.J I~ Dit"fttorI

Line tlt3
+~t"

1'ISt Ii....
~ht1"

Load

lncl

Modules I

l1.cUe.

""h. ~

"

--/

HOW TO OBTAIN SOFTWARE INFORMATION
Announcements for new and revised software, as well as programming notes,
software problems, and documentation corrections are published by Software
Information Service in the following newsletters.
Digital Software News for the PDP-8 & PDP-12
Digital Software News for the PDP-II
Digital Software News for the PDP-9/15 Family
These newsletters contain information applicable to software available from
Digital's Program library, Articles in Digital Software News update the
cumulative Software Performance Summary which is contained in each basic
kit of system software for new computers. To assure that the monthly Digital
Software News is sent to the appropriate software contact at your installation,
please check with the Software Specialist or Sales Engineer at your nearest
Digital office.
Questions or problems concerning Digital's Software should be reported to
the Software Specialist. In cases where no Software Specialist is available,
please send a Software Performance Report form with details of the problem to:
Software Information Service
Digital Equipment Corporation
146 Main Street, Bldg. 3-5
Maynard, Massachusetts 01754
These forms which are provided in the software kit should be fully filled out
and accompanied by teletype output as well as listings or tapes of the user
program to facilitate a complete investigation. An answer will be sent to the
individual and appropriate topics of general interest will be printed in the
newsletter.
Orders for new and revised software and manuals, additional Software Performance Report forms, and software price lists should be directed to the
nearest Digital Field office or representative. U.S.A. customers may order
directly from the Prc:ornm library in Maynard. When ordering, include the
code number and a brief description of the software requested.
Digital Equipment Computer Users Society (DECUS) maintains a user library
and publishes a catalog of programs as well as the DECUSCOPE magazine
for its members and non-members who request it. For further information
please write to:
DECUS
Digital Equipment Corporation
146 Ma in Street, Bldg. 3-5
Maynard, Massachusetts 01754

PDP-II Disk Operating System Munitor
System Programmer's Manual
DEC-Il-OSPf1A-A-D
I"lay

REAOER'S

1972

COMMENTS

Digital Equipment Corporation maintains a cantinuous effort to improve the quality and usefulness
of its publications. To do this effectively we need user feedback -- your critical evaluation of
this manual.
Please comment on this manual's completeness, accuracy. organization, usability and readability.

Did you find errors in this manual?

If so, specify by page.

How can this manllal be improved?

-

------------------------------------~--------------~
. . ~.

Other comments?

Please state your position.

---------

Name:

------- Date:

_ _---...

Organization:
----------~------------------

Street:
----------------------~--------

--------Department:
--------

City: ___________~__ State: _ _ _ _ _ _ _~___ Zip or Country__~.__ .__ ._

digital equipment corporation
'.

. . ' .' . "

'.

.

.

.j'



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c041 52.342996, 2008/05/07-21:37:19
Create Date                     : 2017:06:07 11:35:31-08:00
Modify Date                     : 2017:06:07 12:22:55-07:00
Metadata Date                   : 2017:06:07 12:22:55-07:00
Producer                        : Adobe Acrobat 9.0 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:beb8c4f6-15a9-2d47-8d7d-1d7672c52526
Instance ID                     : uuid:cae83167-89ae-d947-a754-1247d3faee19
Page Layout                     : SinglePage
Page Mode                       : UseOutlines
Page Count                      : 422
EXIF Metadata provided by EXIF.tools

Navigation menu