THE
UNIVERSITY
OF
A L B E RTA
. COMPUTING CENTER
p m ^ t P U B L I C AT I O N
ACKNOWLEDGEMENTS
This manual was largely compiled from material prepared
BY THE STAFF OF THE UNIVERSITY OF MICHIGAN COMPUTING CENTER.
Their documentation was invaluable and we are indebted to THEM FOR ALLOWING US TO USE IT. IN PARTICULAR, THE FOLLOWING WERE MOST USEFUL:
MTS Users' Manual, Second Edition, Volumes I and II MTS Users' Manual, Third Edition, Volume 2
Introduction to MTS and the Computing Center (Flanigan) Computing Center News Items Computing Center Memos
The Computing Center wishes to personally acknowledge the ASSISTANCEOFMK i EALEXANDERANDDoNBOETTNERWHOHELPEDUSTO ESTABLISH MTS AT THE UNIVERSITY OF ALBERTA.
Acknowledgement should also be made to the Computing Centre,
University of British Columbia, for information obtained from SOME OF THEIR DOCUMENTATION AND TO I.B.M., WHOSE MANUALS PRO VIDED CERTAIN SECTIONS FOR OUR MANUALS.
DISCLAIMER
This MIS manual is a combination of earlier manuals, update notices, memos and limited experience with the system Itself. Because of this, certain discrepancies are bound to occur and the Computing Center would appreciate being notified
of all differences between what this manual says and what the s y s t e m a c t u a 11 y d o e s .
This publication is intended to represent the current
state-of-the-system. However, it should not be construed as
an obligation to maintain the system as so stated. The MTS
system, like most good systems, is continually being improved. As a result, additions, extentions, changes and deletions will occur. Notice of such changes will be made and provision for a manual updating service has been planned. Errors, comments and suggestions should be sent to: Information
Coordinator
Compu t i ng Cen ter
University of Alberta
Mag Tape Users' Guide May, 1970
Mag Tape Users' Guide
0
TA B L E O F C O N T E N T S \
1nt roduct ion
1 .
5 .
Basic Concepts Label Processing Blocking/Deblocking Mount i ng Tapes
6 .
R e a d i n g / W r i t i n g Ta p e s
7 . 8 .
Ta p e P o s i t i o n i n g a n d C o n t r o l R e m o v i n g Ta p e s
o
3 . k .
1.1 2 . 1
3.1 4.1 5.1
AMOUNT
9 .
*DISMOUNT Ta p e Utilities *DEB *IEHMOVE *LABELSNIFF *LIST * TA P E C O P Y * TA P E D U M P * U P D AT E *VARRLIST
•
t
5 . 3 6 . 1
....
7.1 8.1 8.3 9.1 9.3 9.7 9 . 9 9 . 11 9.13 9.15 9.17 9 . 2 3
1.1
Ta p e U s e r s ' G u i d e
1.
INTRODUCTION
This document gives instructions for mounting and creating or accessing data stored on magnetic tapes.
The Computing Center has currently installed two seven-track tape drives and six nine-track tape drives. F o r m o r e d e t a i l e d s p e c i fi c a t i o n s o f e i t h e r t h e t a p e
drives' operating characteristics or magnetic tape f o r m a t , s e e t h e I B M 2 ^ 0 0 S e r i e s M a g n e t i c Ta p e U n i t s
Component Description (IBM form number A22-6866) .
2. 1
Ta p e U s e r s ' G u i d e
BASIC CONCEPTS
In order to resolve any ambiguities which might arise, t h e f o l l o w i n g d e fi n i t i o n s a r e o f f e r e d . 7
and
9 T r a c k Ta p e s
A 7-track tape frame contains 6 bits of data and one
parity bit; a 9~track tape frame contains 8 bits of data and
one parity bit. This property of the tape is a direct fun ction of the tape unit upon which the tape was written; that is, all 7-track tapes must be read and/or written on 7-track tape units, all 9-track tapes must be read and/or written on 9-track
tape
units.
Odd
Even
Parity
and
The above mentioned parity bit may be manipulated so
that there are either (even parity) number binary records are to prevent loss of data.
an odd (odd parity) or an even of bits set one in each tape frame. If be written odd parity must be used to Common usage conventions also require
t h a t 7 - t r a c k B C D t a p e s b e w r i t t e n w i t h e v e n p a r i t y. Dens i ties
7-track tapes are written at densities of 200, 556,
or Boo BPI. 9-track tapes are written at BOO BPI. Translator
and
Data
Converter
Since 7-track tape characters contain only 6 bits of data and 360 data bytes contain B bits of data, there are c o n v e r s i o n p r o b l e m s . To s d l v e t h e s e p r o b l e m s , t h e t r a n s lator and data converter features are provided. By playing the appropriate games, it is possible to write a 7-track tape with either translator on, data converter on, or both featu
res
off.
If translator feature is on, an automatic conversion is
invoked
which
translates
most
B
bit
EBDIC
characters
into their corresponding 6 bit BCD counterparts. If data converter feature is on, k tape characters
will be produced for each 3 data bytes. All B bits in each byte are thus transmitted. Data converter on^ forces odd pari ty .
If
neither
translator
or
data
converter
is
s p e c i fi e d
the low order 6 bits of each data byte are transmitted to/ f r o m t h e t a p e . To i n s u r e a c c u r a t e d a t a t r a n s m i s s i o n o d d p a r i t y s h o u l d b e s p e c i fi e d w h e n b o t h t r a n s l a t o r a n d d a t a converter
are
off.
9-track tape users can ignore this. All 9-track tapes
are written in odd parity with both data converter and translator
off.
2 . 2
Ta p e
Users'
Guide
M o d e
Each reel of tape has a mode associated with it. The
normal procedure is to specify the mode of the tape at the t i m e i t i s m o u n t e d ; h o w e v e r, b e c a u s e i t i s p o s s i b l e t o h a v e
mixed mode 7-track tapes, a schema is provided to dynamic a l l y c h a n g e m o d e s a t a n y t i m e . T h i s w i l l b e d i s c u s s e d l a t e r. T h e s i g n i fi c a n c e o f t h e m o d e v a r i e s s l i g h t l y b e t w e e n seven and nine-track tapes. For a seven-track tape the m o d e i n c l u d e s t h e d e n s i t y, p a r i t y a n d t r a n s 1 a t o r - d a t a c o n verter attributes desired. The parameter used to set the
mode is a three character sequence and is constructed in one of the following two ways: Type Type
mode mode
commands commands
" d "
the code for density:
2
for
200
BP!
5 8
for for
556 Boo
BP! BP!
are are
of of
form
"dCV"
form "dpt" where
and "p" is the code for parity: 0
for
odd
parity
E for even pari ty a n d " t " s p e c i fi e s w h e t h e r o r n o t t h e tt rr aa n n ss1l aat too rr featu re N for F
is on: translator
for
translator
on off
a n d " C V " s p e c i fi e s t h a t D a t a C o n v e r t e r i s o n . N o t e that
to
if
data
p a r i t y,
it
converter
is
always
is
on
there
is
no
choice
as
odd.
T hhee T
default mode for seven-track tapes is 5EN , that is, 5 5 5566 BBPPI I e v e n p a r i t y w i t h t r a n s l a t o r o n . F F oo rr a n i n e - t r a c k t a p e t h e m o d e s p e c i fi e s o n l y t h e d e n s i t y .
Boo B o o BBPI. PI
The mode is specified as the sequence "BOO". All
t a p e m a i n t a i n o d d p a r i t y, t r a n s l a t o r a n d d a t a c o n v e r t o r f e a tures
are
not
available.
The
default
mode
is
BOO.
File P rotect Ri ng
Since writing on a tape destroys any information whicb m a y h a v e b e e n s t o r e d u p o n i t , a fi l e p r o t e c t i o n d e v i c e i s
provided to prevent accidental erasure of tapes. This d e v i c e , h e r e a f t e r c a l l e d fi l e p r o t e c t r i n g , o r j u s t r i n g f o r short, must be inserted in a groove in the back of the tape
reel to allow writing of the tape. The user must specify at the time the tape is mounted whether the ring is to be in
(allowing writing) or out (prohibiting writing). Re CO rd Size
Every normal read or write operation transmits a block oT data to/from a tape unit. This block of data is called a r e c o r d . U s u a l l y a r e c o r d c o r r e s p o n d s t o o n e l i n e i n a fi l e ;
but is also possible to write very large records. One of the attributes associated with a tape is an upper bound to the size
of
a
record.
2 . 3
Ta p e U s e r s ' G u i d e
End
o f Ta p e A r e a
Approximately 20 feet from the end of each reel of tape there Is a silver strip known as the end of tape marker. There
Is
enough
tape
after
this
marker
to
allow
the
writing
of a short (5 record or less) trailer label. No more than 5 records may be written In this area. Pseudo-Devices
Names
Because there will usually be more than one active user at
any
given
time
It
Is
not
always
possible
to
predict
with
any great probability of success what particular tape unit will be free. Therefore all references to tapes should be
made through pseudo-devices names (PDname). MTS will then determine which unit the PDname refers to and the appropriate read/write function will be performed. A PDname may be used exactly as If It were a "FDname". A PDname consists of an asterisk followed by a string of from one to fourteen alphanumeric characters and term i n a t e d b y a n o t h e r a s t e r i s k . F o r e x a m p l e , * N A M E * a n d * TA P E * are valid device names. Note that MTS preempts certain PDnames. These names may not be used as PDnames for magnetic
tape
units:
''^MSOURCE* * M S I N K * * S O U R C E *
* S I N K * * A F D * *DUMMY* * P U N C H *
3.1
Ta p e U s e r s ' G u i d e
3.
LABEL
PROCESSING
The current version of MTS does not support label p r o c e s s i n g . S p e c i fi c a t i o n s f o r l a b e l p r o c e s s i n g s u p p o r t have been announced by the University of Michigan and
the support is being implemented. Labels to be supported will be OS compatible.
4. 1
Ta p e U s e r s ' G u i d e
4.
BLOCKING/DEBLOCKING
The current version of the MTS tape support routine does not support blocking/deblocking of magnetic tape records i.e. a logical record is identical to a physical reco
rd
T h e U n i v e r s i t y o f M i c h i g a n h a s p u b l i s h e d s p e c i fi c a t i o n s for this facility and is currently implementing it. The facility will be OS compatible. B1ocking/deb 1ocking of tape records can be achieved
u s i n g e i t h e r * U P D AT E o r * D E B ( s e e U t i l i t i e s s e c t i o n ) .
5.1
Ta p e U s e r s ' G u i d e
5.
MOUNTING
TA P E S
To r e q u e s t , f r o m e i t h e r a t e r m i n a l o r a b a t c h j o b , that the operator mount a tape, the user runs the public
fi l e A M O U N T, s u p p l y i n g p a r a m e t e r s w h i c h p r o v i d e t h e operator with information so that the desired tape can be mounted properly and provide the system with information so that the physical device can be linked to the user's pseudo-devIce. A detailed description of the
use
of
AMOUNT
follows.
5 . 3
Ta p e U s e r s • G u i d e
♦MOUNT
The object module of the volume mounting program. To a l l o w u s e r s t o m o u n t p r i v a t e v o l u m e s a n d a t t a c h c e r t a i n attributes
to
those
volumes.
The program is invoked by a $RUN command specifying ♦MOUNT as t h e fi l e w h e r e t h e o b j e c t c a r d s a r e t o b e f o u n d . T h i s
program may also be called as a subroutine (see the descrip tion of MTS Mount subroutine in the LIBRARIES manual. Prototype:
$ R U N ♦ M O U N T PA R = r a c k n a m e [ O N ] d e v i c e t y p e
[PNAME=]^pseudodevicename^ [keyword LHS=fiHS] 'printed label' [comments to operator] [;•••]
Logical I/O Units Referenced:
G U S E R - i f " P A R = " fi e l d i s o m i t t e d o n $ E U N
SERCOM - error comments and mount confirmation
Examples: $RUN ♦MOUNI PAR=MOOO ON 9TP, PNAME=^TEST^,QUIT=yES, SIZE=512, RING=IN, 'TEST TAPE #1'; POOL 9TP ^9^ $RUN *MOUNT
TOO 123 7TP *IN* RING=OUT 'INPUT TAPE'
T00747 9TP *OUT* RING=IN 'SIZE=8000 'OUTPUT TAPE' $ENDFILE
Positional
Parameters:
Note: Whenever a space is shown separating parameters in the prototype, multiple spaces and/or commas are acceptable. rackname is the name of the rack at the Computing Center in
which the volume is stored. If this is given as 'POOL', a
system scratch tape will be mounted At the present time the rack number corresponds to the tape label.
devicetype is the type of device upon wnich the volume is to be
mounted.
Currently
7T?,
9 T P,
^te
supported, standing for 7 track magnetic tape unit, 9 track magnetic
tape
unit.
♦MOUNT
5.^ Ta p e U s e r s ' G u i d e
♦pseudodevigename* is the pseudodevice name by which the user will refer to the'mounted device. 'printed label* is the identifying name associated with the volume. This name should be written upon a paper label and attached
to
the
volume
when
it
is
fi r s t
submitted
to
the
C o m p u t i n g C e n t e r. T h i s p a r a m e t e r i s m e a n i n g l e s s f o r POOL
magnetic
tape
mounting
and
may
be
o m i t t e d .
c o m m e n t s a r e a n y s p e c i a l d i r e c t i o n s t o t h e o p e r a t o r. Keyword
Parameters:
See the summary below for a listing of the available keyword parameters. Descriptions of the keyword parameters for magnetic tapes are given below.
D e s c r i p t i o n : I f t h e o p t i o n a l PA R = fi e l d i s p r e s e n t o n t h e $ B U N c o m m a n d , several mount requests may be given, separated by semicolons (t) •
I f t h e P A R = fi e l d i s o m i t t e d , i n p u t w i l l b e r e a d f r o m G U S E R . I f a m o u n t r e q u e s t w i l l n o t fi t o n o n e G U S E R i n p u t l i n e , t h e current MTS command line continuation character (normally a
minus sign) may be entered as the last character of an input line
to
indicate
that
the
next
line
is
a
continuation
of
the
current line. As many requests as desired (each on a separate line(s), i.e. semicolons should not be used) may be e n t e r e d . k n e n d - o f - fi l e s i g n i fi e s t h e e n d o f t h e r e q u e s t s . I f a p a r t i c u l a r r e q u e s t i s m o u n t e d w i t h o u t e r r o r, t h e n a m e o f the physical device used will be printed. If not, a comment from the operator will be printed indicating why the mount request
cannot
be
f u l fi l l e d .
It is strongly recommended that users who need to mount more
than one device at a time, not use a separate $RUN *MOUNT for e a c h r e q u e s t . N o t o n l y i s t h i s i n e f fi c i e n t s i n c e * M O U N T m u s t
be loaded several times, but in addition there is then no way for *MOUNT to inform the MTS operator for the total device
requirements of the job. Therefore, any user who needs to mount more than one device should either specify all of the r e q u e s t s s e p a r a t e d b y s e m i c o l o n s i n o n e P A R = fi e l d o r e n t e r the requests as data cards as shown in the last of the examples above.
Vo l u m e s m o u n t e d i n t h i s w a y w i l l a u t o m a t i c a l l y b e r e m o v e d when a second volume is mounted with the same pseudodevice name or when the user signs off.
5 . 5
Ta p e U s e r s ' G u i d e
The following rules describe the interaction between ♦MOUNT and
♦ D I S M O U N T;
1. If ♦MOUNT is run (either explicitly or by calling the subroutine MOUNT during execution) with a pseudodevice name s p e c i fi e d w h i c h i s a l r e a d y a c t i v e , t h e n t h e d e v i c e t y p e m u s t be the same as the current type and all outstanding references to the pseudodevice name will be changed to refer to
the
new
volume.
2. If ♦MOUNT is run with a pseudodevice name which has been
previously used but for which ♦DISMOUNT has been run, then the new device type may be anything legal and any outstanding references to the old pseudodevice name are unchanged.
In general a use of ♦DISMOUNT signifies the end of a p a rti cu l a r u se o f a p se u d o d e vi ce n a me a n d a u se o f ♦M O U N T f o r a n a c t i v e p s e u d o d e v i c e n a m e s i g n i fi e s a n e w v o l u m e f o r a
previous use. The following example nay clarify this. Suppose the following commands were issued during an MTS s e s s i o n :
$RUN ♦MOUNT PAR=GOOO ON 7TP PNAME=^TP^ 'MY TAPE' $RUN -OBJ SCARDS=^TP^
If during execution of the program in -OBJ, the subroutine
MOUNT is called and the pseudodevice name ♦TP^ is specified then the device type must be 7TP and a new reel will be mounted on the same tape drive, which SCARDS will still refer to. However if during execution of the program in -OBJ, DISMOUNT is called for ♦TP^ and then MOUNT is called for it,
the device type may be any legal type, SCARDS will still
refer to the old tape, and any new use of the name ♦TP^ (for example as a parameter to GETFD) will refer to the new volume. In this case the original tape reel will not actually be removed until execution is terminated.
♦MOUNT
5.6 Ta p e
Users'
Guide
KEYWORD PARAMETERS
Left
Side
Right
Side
L e c [ a l _ Va l u e s L e g a l Va l u e s
D e f a u l t If
Omitted
F u n c t i o n
For magnetic tapes; MODE
R I N G
QUIT
any 7TP mode
SEN for 7TP
or
Control tape
800
mode
9TP
mode
IN,OUT
YES,NO
for
9TP
O U T, e x c e p t f o r •POOL* tapes which are always IN
Control
protect
fi l e
ring
Te r m i n a t e b a t c h j o b if
the
mount
is
not
s u c c e s s f u l S I Z E
BLKSIZE RETRY
18-32767
Set maximum physical record
size
Read retry count
6.1
Ta p e U s e r s ' G u i d e
6 . R E A D I N G / W R I T I N G TA P E S
To u s e m a g n e t i c t a p e s I n t h e c o m m a n d m o d e , u s e t h e PDname as the FDname. For example $ C O P Y M Y F I L E TO * TA P E *
To u s e m a g n e t i c t a p e s I n t h e p r o g r a m m o d e , t h e l o g ical I/O device used in the program must be linked to the pseudo-devIce name by a keyword parameter on the $RUN command. For example If a FORTRAN program contains the s t a t e m e n t
WRITE (1,100) DATA the logical device 1 might be linked to the pseudo-device * TA P E * b y
$RUN PROG 1=*TAPE* Return
Codes
The return codes resulting from reading from or writing to tapes extend beyond those returned from other dev i ces. They a re: 0
Normal
return
k ( f r o m r e a d o p e r a t i o n s ) E n d - o f - fl l e m a r k d e t e c t e d ,
(from write operations) End-of-flle strip sens^ed.
8 Ta p e l o a d p o i n t h a s b e e n s e n s e d o n b a c k s p a c e c o m m a n d . 1 2 U s e r a t t e m p t e d t o w r i t e m o r e t h a n fi v e r e c o r d s i n end of tape area.
16 Permanent read/write error (on read, tape will be positioned past bad record).
20
Attempt
to
write
on
a
fi l e - p r o t e c t e d
tape.
2k Equipment malfunction. U n l e s s t h e d e v i c e e r r o r e x i t h a s b e e n s e t b y t h e u s e r, a l l r e t u r n c o d e s g r e a t e r t h a n 8 w i 11 b e i n t e r c e p t e d b y M T S a n d the
current
returned
to
RUN the
will user
be in
terminated. command
Control
mode.
If
will the
be
device
error
exit has been set, the user may recover from the error in any way he chooses and still remain in execution. (See a description of the SETIOERR subroutine.)
6 . 2
Ta p e U s e r s ' G u i d e
Several sequences of operation are illegal. The followfng t a b l e d e fi n e s w h i c h o p e r a t i o n s a r e i l l e g a l w h e n f o l l o w i n g certain other operations. Current r e a d
P recee d i ng 0pe ra t i on
Operation
FSR
FSF
B S R
B S F
REW
w r i t e
X
X
X
T
T
T
WTM
X
X
X
T
T
T
N
N
N
REW
where X - tape is terminated with 5 tape marks and rewound
T
-
tape
is
and
unloaded.
terminated
with
5
tape
marks
and
backspaced over them before the current operation is performed. N - no operation is performed, example, reading a record immediately after writing t c o r d i s i l l e g a l a n d c a u s e s fi v e t a p e m a r k s t o b e ten on the tape before the tape is unloaded.
7.1
Ta p e U s e r s ' G u i d e
7 . TA P E P O S I T I O N I N G A N D C O N T R O L
Users may want to Initiate such control functions as rewinding and backspacing tapes. This can be done from either the command or program modes.
In the program mode, system subroutines, that perform the control functions, can be called explicitly using, for example, the CALL statement in FORTRAN or the CALL macro
in Assembler, or implicitly using, for example, REV/IND, and ENDFILE statements in FORTRAN or REWIND, ENDFILE, and '
in
the
C H M O D E m a c r o s i n A s s e m b l e r. T h e s u b r o u t i n e s a r e d e s c r i b e d LIBRARY manual. More detail on FORTRAN I/O statements is found in the FORTRAN manual and detail on
the Assembler macros is found in the ASSEMBLER manual.
In the command mode, attaching the logical carriage
control attribute @CC to the FDname or PDname causes data
lines being written to a tape to be examined for logical
c o m m a n d s i n t h e fi r s t , u s u a l l y, t h r e e b y t e s o f d a t a . I f a
logical command is recognized the system performs the tape
c o n t r o l f u n c t i o n s p e c i fi e d a n d t h e l i n e i s n o t t r e a t e d
as data. A complete table of the logical commands is given below. For example the sequence of lines ^
$COPy ^SOURCE* TO *TAPE*@CC
FSF
$ENDFILE
c a u s e s t h e t a p e * TA P E * t o b e f o r w a r d s p a c e d o n e fi l e .
7 . 2
Ta p e
Users'
Guide
Ta p e C o n t r o ] F u n c t i o n s Logical Comman d WTM
End
Non-Zero Return Code Meaning
Action
Ta k e n
of
record
fi l e
N o n e
w r i t t e n . FSF
n
FS
Ta p e s p a c e d f o r w a r d p a s t
i
next
n
tape
Ta p e
spaced
end
of
fi l e
records
forward
BSR
end
a
of
rea
A=tape mark
n
r e c o r d s BSF
n
s e n s e d
Ta p e
spaced
next
n
backward
end
of
fi l e
past
8=1oadpo i n t
records
s e n s e d
Ta p e s p a c e d b a c k w a r d n
A=tape mark
r e c o r d s
s e n s e d
8=1oadpoi n t s e n s e d REW
Ta p e
RETRY
n
10
rewound
to
loadpoint
N o n e
Control number of retry operations performed when tape read errors are en
N o n e
c o u n t e r e d
1 SRL
£
n
<
Resets
15 maximum
A= i1 1 e ga1 length
record
length to n. SNS
Return about
detailed the
status
information of
N o n e
the
tape rout i nes.
dCV or dpt
Changes mode during ex ecution, perhaps to read a r e c o r d w i t h b a d p a r i t y. ( S e e d e fi n i t i o n o f m o d e s i n
N o n e
Basic Concepts Section) In
the
Return 0
above
table
n
isan
integer
of
one
to
fi v e
digits.
Codes: Normal
return
h see above table 8
see
above
table
1 6 fi r s t 3 b y t e s a r e n o t r e c o g n i z e d a s a l e g a l c o n t r o 1 funct
i
on.
7.3
Ta p e U s e r s ' G u i d e
The
Sense
Command
The sense command is to be used primarily by system
components in attempting to correct for tape errors. It returns much detailed and cryptic information about the
»
buffer
exact status of the tape unit and tape routines at the time of the last operation. That information is placed i n a 7 2 b y t e b u f f e r s p e c i fi e d b y t h e r e g i o n p a r a m e t e r i n the parameter list. As with all control commands the c o n t r o l s e q u e n c e " S N S " m u s t b e i n t h e fi r s t t h r e e b y t e s of the region. Upon return from the tape routines the will
contain
Bytes
the
0-2
following
information.
"SNS"
3 One byte current machine modeset 4-7 Four byte device name 8 - 11 F o u r b y t e d e v i c e t y p e
1 2 - 1 3 Tw o b y t e b i n a r y m a x i m u m r e c o r d l e n g t h 14
One
byte
tape
status
15 - 20 Six bytes of tape sense data 21
-
71
Reserved
The sense command does not alter the length parameter as
A
are
s p e c i fi e d i n t h e p a r a m e t e r l i s t . Note; The modeset, unit status and sense data described fully in the IBM 2400 Ta p e
Drive
Manual (Form A22-6866-2) and the values
w i l l r e fl e c t t h e l a s t o p e r a t i o n a p p l i e d t o t h e tape. If no sense operation was issued on the last read or write (i.e., the operation was successful) the unit status byte will be set to
zero
ingful .
and
the
sense
data
will
not
be
mean
7.^ Ta p e
Users'
of
Examp1e
Guide
use
of
control
functions
following MTS commands mount a magnetic tape, then
T h e
the same sequence three times, once each from FORTRAN, m o d e , a n d t h e a s s e m b l e r. T h e s e q u e n c e s p a c e s t h e t a p e f o r w a r d t w o fl i e s , w r i t e s a t a p e m a r k a n d r e w i n d s t h e tape. It is not intended to be a useful program, rather e x e c u t e
command
merely
to
illustrate
how
the
control
functions
are
used.
A M O U N T PA R = 0 0 0 1 O N 9 T P * TA P E * R I N G = I N ' TA P E '
$RUN $RUN
*FORTG
CALL SKIP (2,0,6) ENDFILE 6 REWIND 6 END
$RUN $COP F S F
- L O A D # 6 = * TA P E * ^ S O U R C E * * TA P E * @ C C 2
WTM REW
$ENDFILE $RUN ^ A S M G ENTER
SPUNCH=-X 12
WRITE 6,'FSF',@CC -t-Teq u i v a 1 en t - each spaces
CALL SKIP(1,0,6) -({^forward one file ENDFILE 6 REWIND 6 EXIT
0
END
$RUN
«
-X
6 = * TA P E *
*
8.1
Ta p e U s e r s ' G u i d e
8 . R E M O V I N G TA P E S
There are three ways to have a tape removed from a tape
drive:
1) Mount another tape on the same pseudo-devIce that Is, invoke AMOUNT using a PDname which is b e i n g u s e d f o r a n o t h e r t a p e . T h e fi r s t t a p e will
be
place.
removed
The
and
mode
the
and
second
record
mounted
size
of
in
the
its
fi r s t
tape will be used for the second tape unless expli ci tly reset.
2) Invoke ^DISMOUNT (described below). 3) Sign off MTS. In either case, if the last operation performed on t h e t a p e w a s a w r i t e , fi v e e n d - o f - fi l e m a r k s w i l l b e written on the tape to terminate it before it is un1oaded.
♦DISMOUNT
Contents: The object module of the volume dismounting program. Purpose:
To
allow
usars
to
dismount
private
volumes.
Usage: The program is invoked by a $RUN command specifying ♦DISMOUNT a s t h e fi l e w h e r e t h e o b j e c t c a r d s a r e t o b e f o u n d .
P r o t o t y p e : $ R U N ♦ D I S M O U N T PA B = ^ p s e u d o d e v i c e n a m e ^
[♦pseudodevicename^ is the pseudo-device name specified when the volume was mounted. ] $ R U N ♦ D I S M O U N T PA R = ^ TA P E ^
The volume will be removed and placed in its appropriate spot in the storage rack. See ♦MOUNT description for further details.
If
there
are
any
outstanding
uses
of
the
pseudo-
device name (such as SCARDS) the volume will not be actually dismounted until all of them are released. For a description of
the
interaction
between
♦MOUNT
♦ M O U N T w r i t e u p i n t h i s Vo l u m e .
and
♦ D I S M O U N T,
see
the
9.1
Ta p e U s e r s ' G u i d e
U T I L I T I E S
T h e f o l l o w i n g l i s t s u m m a r i z e s t h e p u b l i c fi l e s t h a t a
re
available. * D E 3
deb 1ocks/b1ocks
*\ EHMOVE
*LABELSNIFF
to "load" unloaded OS data sets on tape prints OS compatible tape labels,
*LI
lists
ST
*TAPECOPY ^TAPEDUMP
and ^UPDATE
fi x e d ,
blocked
records,
copies tapes using overlapped I/O. dumps a magnetic tape in both character binary
formats,
c o p i e s t a p e s o n fi l e s c o n t a i n i n g card
images
making
insertions
and
deletions, as well as blocking and * VA R R L 1 S T
unb1ock i ng. lists variable
length
records.
9 . 3
Ta p e
Users'
Guide
*DEB
Contents: ♦DEB contains the object module of the deblocking/blocking p r o g r a m .
Usage:
♦DEB is invoked through the $RUN command.
Logical I/O Units Referenced: SCARDS - Tha control statement is read via SCARDS if it is n o t p a s s e d a s a p a r a m e t e r. SERCOM - Diagnostics are issued via SERCOM. Description: The deblocking/blocking program
(1) provides deblocking and blocking facilities, proces s i n g d a t a s e t s o f t y p e s U , F, V, F B , a n d V B ;
(2) allows user subroutines to gain control at several p o i n t s , p e r m i t t i n g t h e g e n e r a t i o n , m o d i fi c a t i o n , d e l e tion, and comparison of records;
(3)
is
serially
reusable
and
may
be
called
as
a
s u b r o u t i n e .
1•
The
control
statement
This describes the structure of the I/O data sets. The control statement is read via SCARDS if it is not passed as a
parameter. It may extend over any number of records and may b e e n c o d e d a n y w h e r e b e t w e e n c o l u m n s o n e a n d e i g h t y. T h e statement may be broken for continuation between parameters a n d i s t e r m i n a t e d b y t h e fi r s t b l a n k f o l l o w i n g t h e O U T P U T keyword.
A prototype of the control statement follows: INPUT=Qame;type;record length;block length OUTPUT=name;type;record length;block length...
A keyword is that part of the statement which precedes the equal sign and a group consists of the four parameters following the equal sign.
The ellipses denote additional groups that may be appended to t h e fi r s t . S u b s e q u e n t g r o u p s s h o u l d b e s e p a r a t e d b y s e m i c o lons and the last group for each keyword must be followed by a
blank.
♦DEB
9.^ Ta p e U s e r s ' G u i d e
The INPUT and OUTPUT keyword parameters describe the data
sets to be read and written. Each group consists of four
parameters, name, type, record length, and block length and describes one data set. Data sets are read in the order in Which their descriptions appear. Data sets are written in descriptions appear, each being
filled before the next is used. The characteristics, i.e.,
type, record length, and block length, of all output data
necessary^^ alike. The following substitutions are 1- Replace "name" by the file or pseudodevice name of the
data set. Modifiers and line number ranges may be appended to the name.
2. Replace "type" by one of the record structure codes a p p e a r i n g i n t h e t a b l e b e l o w. - S u p e r v i s o r a n d tJata_5anag£meat_services, a i n s d e s c r i p t i o n s o f t h e sIBM t r u c tpublication ures.
€28-66467 con
CODE I RECORD STRUCTURE 1 u
1 u n d e fi n e d l e n g t h 1
1
F
1 fi x e d l e n g t h 1 1
V
1 variable length
? B
1 fi x e d l e n g t h b l o c k e d
1 1
1 1 V B
1 variable length blocked
3. Replace "record length" by the byte length of the longest record occurring in the data set.
U. Eeplice "block length" by the byte length o£ the longest block occurring in the data set.
2. E xamglej.
A line file named SIN contains unblocked card images. Each
image bears the name of a city, columns 1 - 60, and the city's population, columns 70 - 80. Two tapes are mounted with the pseudo-device names *DATA* and ♦BYPOP*. »DATA*»s records contain additional information to be included in the
9 . 5
Ta p e U s e r s ' G u i d e
list. Its records have the format of ten to the block. ♦BYPOP* will
SIN«s but are blocked contain the list. Its
records should be type VB, a maximum of 10,000 bytes per b l o c k . $RUN
*DSB
I N P 0 T = S I N ; F ; 8 0 ; 8 0 ; « D ATA * ; F B ; t i 0 ; 8 0 0 OUTPUT=*BYPOP*;VB;84;10000
3•
Optional
exits.
User subroutines may gain control from the deblocking/ blocking program at any of three points or exits. An exit is enabled, i.e., a subroutine is called, if the name of the exit is encountered as an external symbol during the loading of the deblocking/blocking program. All subroutine calls are made via a standard OS linkage, type
( I ) S . U p o n e n t r y, g e n e r a l r e g i s t e r o n e w i l l p o i n t t o a p a r a m e t e r l i s t : t h e a d d r e s s o f t h e fi r s t b y t e o f t h e r e c o r d or region; the address of the halfword length of that record or
region.
The
(See
below
subroutines
for
should
details). return
control
to
the
deblocking/
blocking program via the standard OS (I) S return. The exits are
as
follows:
DEBE1 If this exit is enabled, it is taken to acguire a record for processing. The call to the user's subroutine replaces the call that would normally be made to READ. A block may be moved into the region a d d r e s s e d b y t h e fi r s t w o r d o f t h e p a r a m e t e r l i s t .
The length of this block should be placed in the halfword addressed by the second word of the parameter list.
If this exit is enabled, a dummy data set must be
d e fi n e d f o l l o w i n g t h e I N P U T k e y w o r d . T h e d a t a set's parameters should describe the block to be passed to the deblocking program by the subroutine. The deblocking facilities may be used to decompose blocks passed by the subroutine.
A n e n d - o f - fi l e c a n b e p a s s e d t o t h e d e b l o c k i n g
program by a non-zero return code in general register
15.
DEBE2 If this exit is enabled, it is taken immediately after a record has been acquired for processing — f o l l o w i n g d e b l o c k i n g , i f a n y. T h e u s e r ' s s u b r o u tine may delete or modify the record before it * D E B
9 . 6 Ta p e
Users'
Guide
enters
the
program.
The
fi r s t
word
of
the
parameter list will point to tne record; the s e c o n d , t o i t s h a l f w o r d l e n g t h p l u s f o u r. I f a record's length is altered by the subroutine, the
new length, plus four, must replace that passed to the subroutine. If a record's length is made zero,
the record is discarded. A non-zero return code " i - l l f o r c e t h e e n d - o f - fi l e c o n d i t i o n o n t h e c u r r e n t input data set.
DEBE3 If this exit is enabled, it is taken to dispose of a
block.
The
call
to
the
user's
subroutine
replaces the call that would normally be made to W R I T E . T h e fi r s t p a r a m e t e r p o i n t s t o t h e b l o c k a n d
the second to its halfword length.
If this exit is enabled, a dummy data set must be d e fi n e d f o l l o w i n g t h e O U T P U T k e y w o r d . T h e d a t a
set's parameters should describe the block or record to be passed to the subroutine. The block ing facilities may be used. A non-zero return code
causes the next output data set to be opened and fi l l e d .
S
9.7
Ta p e U s e r s '
G u i d e
*IEHMOVE
Contents; The object module of the lEHMOVE program. Purpose:
To " l o a d " u n l o a d e d d a t a s e t s f r o m a n i n p u t t a p e .
Usage:
The program should be referenced by a $RUN command with ♦IEHMOVE as the object file, 0 the input tape, 1 the output, and SPRINT the listing.
Logical I/O Units Referenced: SPRINT - the listing. SERCOM - comments and diagnostics. 0 1
-
IEHMOVE unloaded the output.
data
set.
P a r a m e t e r s : L I S T p r i n t s t h e l i s t i n g o f t h e o r i g i n a l d a t a s e t v i a S P R I N T.
NOLIST is tne exact opposite. LIST is the default unless
lines to be printed are more than 120 characters^
Examples: $RUN *IEHMOVE 0 = *TAPE* 1 = MACLIB (1000) PAR = LIST $RUN *IEHMOVE 0=*IN* 1=*P0NCH* SPRINT=PTE6 $ R U N * I E H M O V E 0 = * I N * 1 = * 0 U T * PA R = N O L I S T
Description:
The program prints the data set name and its record format. A l l r e c o r d f o r m a t s i n c l u d i n g V- f o r m a t a r e s u p p o r t e d b u t k e y fi l e s w i l l n o t b e p e r m i t t e d . R e c o r d s a r e u n b l o c k e d f o r M T S line
fi l e s
and
unit-record
devices
such
as
a
printer.
If
the
input was originally a partitioned data set, a comment is printed for each member with an associated line number or c o u n t d e p e n d i n g o n w h e t h e r t h e o u t p u t i s a n M T S l i n e fi l e . If the output happens to be a magnetic tape, each member will b e f o l l o w e d b y a t a p e m a r k ( e n d - o f - fi l e ) .
9 . 9
Ta p e U s e r s ' G u i d e
♦LABELSNIFF
P u r p o s e : To p r i n t O S c o m p a t i b l e t a p e l a b e l s i n i n t e l l i g i b l e f o r m a t . P r o t o t y p e : $ R U N * L A B E L S N I F F PA R = TA P E = * p s e u d o d e v i c e n a m e »
U s a g e : T h i s i s a P L / 1 p r o g r a m . H e n c e , t h e p a r a m e t e r s p e c i fi c a t i o n TA P E = * p s e u d o d e v i c e n a m e * f o r t h e t a p e t o b e s n i f f e d a t m u s t b e made.
Example:
Do
not
use
on
brand-new
blank
tapes.
$ R U N * L A B E L S N I F F PA R = TA P E = » TA P E *
Logical I/O Units Referenced: SPRINT - tape label and diagnostic output.
D e s c r i p t i o n ; T h e p r o g r a m r e w i n d s t h e s p e c i fi e d t a p e a n d d e t e r m i n e s w h e t h e r
the tape is properly labeled (OS compatible). It then scans
the tape, printing all of the volume, header, and trailer labels on the tape. When the end of the tape is detected, the tape is rewound and the program terminates.
♦LABELSNIFF
Ta p e
♦
Users'
9.1 1 Guide
list
Contents: The object module of a program which lists blocked records (usually from a magnetic tape).
P u r p o s e : To e n a b l e t h e u s e r t o l i s t 1 2 1 - c o l u m n a s s e m b l e r o u t p u t l i n e s from a magnatic tape. For 80-column card images, see the ♦UPDATE public file description. For general record unblock ing, see the ♦DEB description.
Usage: The program in invoked b y a $ R U N c o m m a n d s p e c i fy i n g ♦ LIST as the location of the object module.
Parameters: Two parameters separated by blanks must be specified: PA R = ^ p s e u d o d e v i c e n a m e ^ b l o c k i n g f a c t o r Logical I/O Units Referenced: SPRINT - the listing output.
E x a m p l e : To l i s t a s s e m b l e r o u t p u t b l o c k e d 4 0 l o g i c a l r e c o r d s p e r physical record on the tape ♦T^ $ R U N ♦ L I S T S P R I N T = ^ S I N K ^ S M C C PA R = ^ T ^ 4 0
♦
LIST
9.13
Ta p e U s e r s ' G u i d e
* TA P E C O P Y
Contents: The object module of the MTS tape copying program. P u r p o s e : To c o p y t a p e s u s i n g o v e r l a p p e d I / O .
Usage: The program may be invoked with the $RUN command or may be called as a subroutine from a user supplied program- In the
l a t t e r c a s e , t h e u s e r m u s t c o n c a t e n a t e * TA P E C O p y w i t h t h e FDname(s) containing his own program(s). The entry point to
the tape copying program is TAPCPY. General register 1 should be set up to provide TAPCPY with a parameter region.
Register 1 should contain the location of a fullword adcon. This
adcon
is
the
location
of
a
half-word
character
count
which is immediately followed by the EBCDIC characters of the
p a r a m e t e r. I f n o p a r a m e t e r i s t o b e p a s s e d , t h e n t h e half-word
count
should
be
zero.
Logical I/O Units Referenced:
SPRINT - the listing of the number of records in each file. SERCOM
-
error
comments.
0 - the input tape pseudo-device name1 - the output tape pseudo-device name-
P a r a m e t e r s : F I L E S = n T h e n u m b e r o f fi l e s t o b e c o p i e d i s s p e c i fi e d b y n, where n is a one to six digit decimal integer-
R E C O R D S = m T h e n u m b e r o f r e c o r d s t o b e c o p i e d i n fi l e n + 1 i s
specified by m, where m is a one to six digit
decimal integer. If n and m are both zero or
o m i t t e d , t h e n a l l fi l e s a r e c o p i e d ( s e e d e s c r i p tion
below)
.
NOREW The tapes are not rewound before or after copying.
OMITERfiORS Whenever a permanent read error is encountered on the input tape, an error comment (indicating the
fi l e a n d r e c o r d i n e r r o r ) w i l l b e p r i n t e d o n SERCOM. The record in error will be skipped and
copying will continue with the next record. COPYERRORS This parameter causes the same error comment p r i n t i n g a s O M I T E R R O R S . H o w e v e r, a n y r e c o r d s which are in error are copied.
E x a m p l e s : $ R U N * TA P E C D P Y 0 = * I N * 1 = * 0 U T * $RUN ♦TAPECOPY 0=*OLD* 1=*NEW* PAR=FILES=6
* TA P E C O P Y
9. U Ta p e U s e r s ' G u i d e
$RUN ♦TAPECDPY 0=»X* 1=*Y* PAR=NOfiEW,FILES=163 $ R U N ♦ TA P E C O P Y 0 = » M A S T E R 1 = * C 0 P Y * PA R = O M I T E R R O R S
Description:
T h e t a p e c o p y i n g p r o g r a m c o p i e s r e c o r d s a n d fi l e m a r k s f r o m logical device 0 to logical device 1. If no FILES=n and RECORDS=[n parameters are given, then the copying continues u n t i l t w o s u c c e s s i v e fi l e m a r k s a r e r e a d ( t h i s i s t a k e n a s a n i n d i c a t i o n o f t h e l o g i c a l e n d o f t h e i n p u t t a p e ) . F i v e fi l e marks are written on the output tape. If FILES=n and-or R E C O R D S = m p a r a m e t e r s a r e g i v e n , t h e n n fi l e s a n d t h e fi r s t m r e c o r d s o f fi l e n + 1 w i l l b e c o p i e d b e f o r e t h e fi v e fi l e m a r k termination is written on the output tape. If n and m are z e r o , t h e n a l l fi l e s a r e c o p i e d a s i f n o F I L E S a n a R E C O R D S parameters had been given. If the NOREW parameter is not given, then both tapes are rewound before and after copying. If it is given, then no rewinding takes place either before or after copying and the o u t p u t t a p e i s l e f t p o s i t i o n e d a f t e r t h e fi r s t o f t h e fi v e fi l e
marks
used
for
termination.
If neither of the parameters OMITERRGRS or COPYERRORS was given and an unrecoverable tape error is sensed, the input tape is left positioned after the error record, the output tape after the preceding record, an error comment is printed, and the system subroutine ERROR is called. T h e u s e r m u s t m o u n t t h e t a p e s u s i n g * M O O N T, s p e c i f y i n g t h a t t h e fi l e p r o t e c t r i n g i s i n f o r t h e o u t p u t t a p e , t h a t a S I Z E parameter equal to or greater than the maximum record length on the input tape be given for both tapes, and that the mode be correct for both tapes. This program may be used to copy a 7 or 9 track tape of any density and mode to a 7 or 9 track output tape of any mode a n d d e n s i t y. Warning:
This
program will not function properly if line number ranges are applied to the input tape (s). However, explicit conca tenation of tape names is permitted on both input and output.
9.15 Ta p e U s e r s
Guide
♦ TA P E D U M P
P u r p o s e : To d u m p a m a g n e t i c t a p e o r t i l e i n b o t h c h a r a c t e r a n d b i n a r y f o r m a t s .
Prototype: $RUN *TAPEDiIMP O=*pseudodevicename* [ PAR=parameters ] E x a m p l e : $ R U N * TA P E D U M P 0 = * TA P E * PA R = F I L E S = 3 , E B C D I C Logical I/O Units Referenced: SPRINT - dump output.
0 - m a g n e t i c t a p e o r fi l e t o b e d u m p e d . P a r a m e t e r s :
F I L E S = n RECORDS=m E B C D I C B C D NODUMP
Description:
*TAPEDUM? will dump a specified number of files and records in either BCD and octal or EBCDIC and hexadecimal. The n u m b e r o f fi l e s a n d r e c o r d s t o b e d u m p e d a s w e l l a s t h e
f o r m a t a r e c o n t r o l l e d b y t h e p a r a m e t e r fi e l d o f t h e $ R U N command.
S p e c i f y i n g " F I L E S = n " a n d / o r " R E C O R D S = m " w i l l c a u s e n fi l e s ana m records to be dumped. If only a "FILES=n" parameter is g i v e n , t h e n n c o m p l e t e fi l e s w i l l b e d u m p e d . I f b o t h "FILES=n" and "RECORDS=m" are given, then n files plus the fi r s t m r e c o r d s i n t h e fi l e n + 1 w i l l b e d u m p e d . I f n e i t h e r
of these parameters is given, then the tape will be dumped u n t i l t w o c o n s e q u t i v e fi l e m a r k s a r e e n c o u n t e r e d .
•
bits
of
each
"BCD" or "EBCDIC" will force the dump to be in the appropri ate format. If BCD format is requested, the two high-order
data byte are masked off in the dump. All non-printing graphics in the EBCDIC (or BCD) portion of the dump will print as the character period (.).
The parameter NODUMP will suppress the printing of the dump portion of TAPEDUMP output. The header line which precedes each record and which gives the file and record numbers, the record length, density and mode will continue to print, but the data dump will not.
I f t h e F D n a m e s p e c i fi e d a s l o g i c a l d e v i c e z e r o i s a 7 - t r a c k t a p e , t h e d e f a u l t i s B C D . I f t h e F D n a m e r e f e r s t o a fi l e o r a 9-track tape, the default is EBCDIC. ♦ TA P E D U M P
9.16 Ta p e U s e r s ' G u i d e
The BCD character set uses the IBM scientific (ALTERNATE) BCD graphics.
Note
that
this
character
set
is
neither
the
IBM
S TA N D A R D ( B U S I N E S S ) B C D , n o r t h e U n i v e r s i t y o f M i c h i g a n (AUGMENTED) BCD.
c
4
- 5
9.17
Ta p e U s e r s ' G u i d e
♦ U P D AT E
u repso, s em: a Tk hi ni sg pi rnosger ratmi o nwsi l l a cnodp yd et al ep tei so n( so ,r afi lse sw) ecl o d * imP ag l nat a s i nbi lnogc kc ianr g and unblocking.
'
o gRi cI aNl TI / O U-n i t s R SL P p er fi enr teen cd e d :
output.
SPUNCH - output from %PUNCH. SERCOM
-
error
messages.
Commands and insertions are expected to come from the source
stream (♦SOURCE+). If another source of commands is wished,
i t s F D n a m e s h o u l d b e s p e c i fi e d f o l l o w i n g t h e " PA R = " o n t h e $RUN command. Commands and insertions must be less than or equal to 80 bytes in length. Examples;
$RUN
♦ U P D AT E
$ R U N ♦ U P D AT E PA R = P I L . U P D AT E
' ^ ^ Usage: w h i c h The m a yupdate b e b linput o c k e tape d t o must a n y consist f a c t o r of d e 80 s i r ecolumn d . T h ecard b l oimages cking factor, if greater than 1, must be stated on the XINPUT command. The update output tape will consist of 80 column card images blocked as specified (except for the last record, and other records which may be truncated by a XCLOSE
command). [Space for the specified input and output buffer ing is obtained dynamically when XINPUT and XOUTPUT command are encountered; released when XCLOSE is encountered.]
All commands take the following form: column 1 must contain
a percent-sign ("X") which must be immediately followed by the command (only the first three letters need be given, and they must be upper-case. Host devices are in upper case mode
unless commanded otherwise). Parameters for the command are separated from the command and from each other by one or more
blanks (or commas, which are treated identically with blanks). Lines which are not recognized as commands are treated as insertion lines and are copied immediately to the update output tape.
T h e r e a r e f o u r d i ff e r e n t t y p e s o f p a r a m e t e r s u s e d i n t h e
c o m m a n d s : n u m e r i c , f i l e m a r k , c h a r a c t e r, a n d k e y w o r d . N u ® § ^
ic parameters are used for tape operation counts, deletion
counts, and'so forth. They consist of one to twenty digits w h i c h r e p r e s e n t a n u n s i g n e d d e c i m a l i n t e g e r. A fi l e m a r k p a r a m e t e r i s u s e d t o r e f e r t o a fi l e m a r k a n d c o n s i s t s o f t h e
characters FILEMARK or FILEMK. Character param^^s are used for FDnames, pseudo-device names, I.D.'s, etc. There are two f o r m s o f c h a r a c t e r p a r a m e t e r s . T h e fi r s t f o r m c o n s i s t s o f ♦ U P D AT E
9.18 Ta p e U s e r s ' G u i d e
o n e t o e i g h t y c h a r a c t e r s w i t h t h e r e s t r i c t i o n s t h a t t h e fi r s t
character cannot be a digit or an apostrophe (») and neither blanks nor commas (,) can be a part of the character parameter. The second form of a character parameter consists
of from one to eighty characters enclosed in apostrophes, with an apostrophe within the character parameter represented
by two adjacent apostrophes. The second form does not < r e s t r i c t t h e u s e o f a d i g i t o r a p o s t r o p h e a s t h e fi r s t character nor the use of blanks and commas within the p a r a m e t e r. N o t e t h a t t h e o u t e r a p o s t r o p h e s a c t o n l y a s delimiters and are not considered a part of the character ' parameter. Keyword parameters are simply keywords which are s p e c i fi e d f o r a s p e c i fi c c o m m a n d , s u c h a s O N o r O F F. Examples: Numeric Filemark
Parameters 1 2 Parameters FILEHABK
15 123 FILEMK
Character Parameters PIL6215 *T* SEQ.0001 • 12340001 • 'PIL 00001 •
••»TS"0001* •♦T*(1,100)• Keyword
Parameters
ON
OFF
*
T a p e p o s i t i o n i n g a n d r e a d i n g a c r o s s a fi l e m a r k w h i l e t h e t a p e i s s t i l l o p e n i s c o n s i d e r e d a n e r r o r. T h e r e f o r e X C L O S E
commands should precede positioning and the update should finish copying of a file with %BEFORE FILEMABK, not %AFTEB FILEHABK.
Ta p e _ A t t h c h m e n t a n d M a n i p u l a t i o n C o m m a n d s
X I N P U T I N TA P E [ N ] I N TA P E i s t h e p s e u d o - d e v i c e n a m e ( o r F D n a m e ) o f t h e fi l e
or device to be established as the update input tape. N is an integer specifying the blocking factor of that tape. If omitted, a blocking factor of 1 card/record (i.e., unblocked) is assumed. This command causes the tape to be opened. Example:
XINPUT
*IN«
50
%OUTPUT OUTTAPE [ N] O U T TA P E i s t h e p s e u d o - d e v i c e n a m e ( o r F D n a m e ) o f t h e
fi l e o r d e v i c e t o b e e s t a b l i s h e d a s t h e u p d a t e o u t p u t
tape. N is an integer specifying the blocking factor desired on that tape. If omitted a value of 1 (unblocked) is assumed. Example: %OUTPUT *OUT* 20 ^OUTPUT %REWIND
FILE1
1
T
Ta p e T i s r e w o u n d . T m u s t n o t c u r r e n t l y b e o p e n a s
9.19
Ta p e U s e r s ' G u i d e
input or output. The rewind operation is performed by
t h e c a l l i n g t h e s u b r o u t i n e R E W I N D # . A l l fi l e s o r devices which this subroutine can rewind may be speci
fied. see the writeup on REWIND# in Volume 3 of the NTS Manual.
Example: %REWIND *001* %RUN
T
%ONLOAD
T
Tape T is rewound and unloaded. T must not currently be open as input or output. Example: %RON *0UT* %FSF
T
[^3
Tape T is spaced forward N files. If N is omitted a
value of 1 is assumed. T must not currently be open as input or output.
Example: 36FSF *IN* 3
'^ T a p e T i s
s%pB aS Fc e d
b a c k w a r Td s
N
fi l e s -
I [f N ]N
is
o m i t t e d, a
value of 1 is assumed. T must not currently be open as input or output.
Example: 96BSF *IN* %WTI! T [N] %WEF T [N] S6E0F T [ N ]
Tape T has N tape marks (end-of-file marks) written on
it. If N is missing a value of 1 is assumed. T must not currently be open as input or output. Example: %WTI! *00T* %FSR T r N 3
Tape T is spaced forwards N records. If N is omitted, a
value of 1 is assumed. T must not currently be open as input or output.
[
%BS
R
T
r
N
3
Tape T is spaced backwards N records. If N is omitted,
a value of 1 is assumed. T must not currently be open as input or output. %CLOSE [13
Tape T is closed. If the update output tape, the last buffer (possibly truncated) is written out. If T is omitted, the update output tape is assumed.
♦ U P D AT E
9.20
Ta p e U s e r s ' G u i d e
Update Feature Control Commands %N£HID
H
Cards written onto the update output tape following this command will have new ID*s (columns 73-8 0). The first card written will have the ID specified in this command.
Succeeding cards will have ID incremented in steps of , one. The ID given in this command should consist of 8 characters. Only the numeric portion of the ID is incremented. i
Example: %NE»ID PIL00001 560LDID
Suspends the re-IDing of the cards as described under XNEHID.
XLIST
ON
Starts listing of deleted and inserted cards. (Initial ly on) O F F
Stops listing of deleted and inserted cards [This output goes onto *SINK«] XPUNCH
ON
Starts putting all card images sent to the update output tape on SPONCH (presumably for punching). OFF
Tu r n s o ff t h e " p u n c h i n g " d e s c r i b e d a b o v e . ( I n i t i a l l y off)
Card_Location, Copying and Deletion Commands
In the execution of these commands, the 360 collating sequence is used for comparisons. %AFTER
ID
Copies all cards having ID's less than or equal to ID
from^the update input tape to the update output tape
Copies the next N cards from the update input tape to the update output tape. Examples:
%AFTER %AFTER XAFTER
PIL03789 •04780000' 2
96BEFORE ID
Copies all cards having ID's less than ID from the
update input tape to the update output tape FILEMARK
9.21
Ta p e U s e r s ' G u i d e
FILEMK
^
^
C o p i e s t h e r e s t o f t h e fi l e . I t l e a v e s t h e t a p e p o s i t i o n e d a f t e r t h e fi l e m a r l c . Examples: %BEPOBE PIL07892 XBEFOBE
%DELETE
FILEHABK
ID
Copies all cards having ID'S less than ID from update input to update output, then deletes the card (or cards) having ID of ID (if any). N
Deletes the next N cards on the update input tape ID1 ID2 ^
^
Copies all cards having ID's less than ID1 from update input to update output, then deletes all cards having ID'S ipi through ID2 inclusive from the input.
Copi es^^all^ cards having ID's less than IDI from update input to update output, then deletes the next N cards on the input tape-
Deletes all cards on the update input tape from the current position up through ID2. Examples %DELETE PIL00016 ?6DELETE 2
%DELBTE PIL00378,PIL00379 %DELETE PIL00378,2 S6DELETE * PIL00736 %FIND
ID
The update input tape is searched for a card with ID
equal to ID, Order of the ID's is ignored. Card passed over are not copied to the update output tapeExample: %FIND QQSV0395 %UMTIL ID
The update input tape is searched for a card with ID
equal to ID. Order of the ID's is ignored. Cards passed over are copied to the update output tape^
R e t u r fi - C o m m a n d %END
T h i s c o m m a n d o r a n e n d - o f - fi l e e n c o u n t e r e d i n t h e
command stream causes execution of the update program to terminate. All buffers are closed.
♦ U P D AT E
%
* N I * ♦JiflOiOc ♦Jino*
sa
J9
sa
J8i
sa
J9
L u e o i i a a N i i i a s a t i i i i a d
•
6t70/,oiia't7t?o/LOiia 3'oe80oua 26L8ia='t7l 1 L'Sl
=i'e6L8
HI
aovasias SAOOoiia t
9 L 0 0 0 H a KcIOO^c OS
*NI*
mBea:^S ptiBinraoo aianies
apjng
. s j a s fi
adei ZZ'G
9.23 Ta p e U s e r s
G u i d e
♦ VA R H L I S T
Contents: The object module of the V-format output lister. Purpose:
Usage:
To
The
list
V-format
program
is
records
invoked
on
by
a
an
printer.
appropriate
$RUN
command
s p e c i f y i n g ♦ VA R R L I S T a s t h e s o u r c e f i l e . Logical I/O Units Referenced: SCARDS - source input with variable format SPRINT
Example:
-
unblocked
V-format
records.
$ R U N » VA R R L I S T S C A R D S = * TA P E * S P E I N T = » S I N K *
Description: The program serves the same purpose as *LIST except that it p r o c e s s e s V- f o r m a t r e c o r d s .
♦ VA R R L I S T