NCAR/TN-1 78+1A NCAR TECHNICAL NOTE
I a- l iI October 1981
Interactive Computing on the IBM 4341
SCIENTIFIC COMPUTING DIVISION 4 NATIONAL CENTER FOR ATMOSPHERIC RESEARCH BOULDER, COLORADO Interactive Computing on the IBM 4341 Table of Cmtents
UISAPVm 1 THE IBM 4341 COMPUTING SYSTEM ...... 1-1
The Hardware ...... - Virtual Machine Concepts...... - VM/370...... 1-2 Conversational Monitor System (CMS)...... 1-5 Virtual Devices Under CMS ...... 1-6
GETTING STARTED ON THE IBM 4341 ...... 2-1
Understanding CMS ...... 2-1 CMS Virtual Machine ...... 2-1 Communicating with VM/SP ...... 2-2...... 2-2 Getting Commands Into the System...... 2-5 Formatting the Virtual Disks...... 2-9 Profile EXEC...o ...... 2-10 Getting Acquainted with CMS ...... 2-10 Virtual Disks.... 2-14 Other Helpful Information...... 2-18
CYUATPKR 3 THE HELP FACILITY ...... 3-1
Introduction ...... 3-1 Using the HELP Facility...... 3-1 Issuing the HELP Coamand...... 3-2 Menus...... 3-5 Perusing HELP Files...... 3-6 Using the PF Keys...... 3-7 How to Create HELP Files...... 3-10 Formatting the HELP File...... 3-16 Related Publications...... 3-24 CHAPER 4 EDITING ON THE IBM 4341 ...... 4-1
Introduction ...... 4-1 The IBM 4341 Full-Screen Editor ...... 4-3 Using Program Function (PF) Keys ...... 4-8 Scrolling Backward and Forward ...... 4-10 Using PREFIX Subcommands...... 4-12 Moving Through A File ...... 4-17 Making Changes in a File...... 4-18 Ending an Editing Session ...... 4-24 Learning More About the Editor...4-31 The IBM 4341 Line Editor ...... 4-35 Entering Data...... 4-36 Column Pointer...... 4-37 Line Pointer...... 4-38 Making Changes in a File...... 4-41 Ending an Editing Session ...... 4-53 Using Special Characters...... 4-59
CHAPT3R5 IBM 4341 VM/SP CCOMMAND LANGUAGE FACILITY ...... 5-1
EXEC 2...... 5-1 EXEC 2 User Variables ...... 5-2 Variable Assignment Statements ...... 5-4 EXEC 2 Control Statements ...... 5-4 Logic Flow ...... 5-5 Processing Flow ...... 5-7 Interactive Data Passing ...... 5-9 Profile XEDIT ..... 5-11...... NCAR .EXECs...... \\\ \\ \\ 5-11 References ...... - References.5-13 1
6 RUNNING AND DEBUGGING JOBS ON THE IBM 4341 ...... 6-1
Introduction...... 6-1 Files Used and Created by the FORTRAN Process ...... 6-1 Running a Simple FORTRAN Job ...... 6-2 Changing File Characteristics ...... 6-4 More Sophisticated FORTRAN Programming ...... 6-5 Using IFTRAN ...... 6-10 Assembler Language Programming ...... 6-10 Debugging on the IBM 4341... 6-10 FORTVS FORTRAN Warnings ...... 6-13 Error Messages ...... 6-14 How to Submit a Job to the CDC 7600 ...... 6-14 Submitting a Job to the CRAY-1 from the IBM ...... 6-15
Appendix A: IBM Commands Appendix B: tNAR EXECS and Utilities Appendix C: Keyboard Templates CIMPB 1: E 1M 4341 SZSIETPI
The SCD computing system is complex, and it is difficult to disguise that complexity without impairing function. The IBM 4341 system is flexible; it is possible therefore to develop same elegance in the user interface while re- taining full user access to all system features.
Cbnfifquration The IBM 4341 configuration installed at NCAR has a cen- tral memory of 4 megabytes, 3,997 megabytes of disk storage, and 6 magnetic tape drives with 4 at 6250/1600 bpi (200 ips), 1 at 1600/800 bpi (200 ips), and 1 seven- track 556/800 bpi (125 ips) . A card reader (800 cpm) and line-printer (1200 lpm) are also installed.
There are two communications controllers, an IBM 3705 and an IBM Series/l. The 3705 handles bisynchronous communi- cations with remote IBM 3270 series controllers, comput- ers and terminals and asynchronous communications with terminals. The Series/1 is used to interface a variety of local asynchronous ASCII CRT terminals to the system. The Series/I adds some intelligence to the work of these terminals, making them look to the 4341 like IBM 3270 type terminals. Among other things, this enables users to take advantage of the full-screen editing capability of the system editor.
All communications lines, both local and remote, are phy- sically connected to the GANDALF PACX IV. When communi- cation with the IBM system is initiated, either by RJE call up or by the initial interactive log-on message, the GANDALF connects the line to an appropriate port on the 3705 or Series/l. If no such port is available, the re- quest for access is queued and an appropriate message re- turned to the user. Note: After ten minutes of inac- tivity the PACX will automatically disconnect the port.
Texmnals Several varieties of interactive terminals in the NCAR Available Mesa Lab are held available for use by visitors and by NCAR staff without their own terminal. Some of these are located in Room 4A , the Visitor Area.
VIRcUAL MACHIN VEI EPL In all modern machines of capacity greater than the smal- lest of miniccmputers, the operating system facilitates multiprogramming, i.e. the concurrent sharing of system resources among several programs, but with only one pro- gram in control of the central processor (CPU) at one time. The determination of when each of the concurrently active programs gets control of the CPU is a complex pro- cess. However, the process is one which maximizes the productive use of the CPU, and other resources, while minimizing the elapsed wall-clock time for each program
1-1 to run to completion. For obvious reasons, multi- programming is frequently referred to as "time-sharing".
IBatc and Computer programs can be divided into two classes, batch Interactive and interactive. Programs running in batch mode normally Pr ass run from beginning to end without the need for operator intervention, except perhaps for the mounting of tapes and similar activity. Programs running in interactive mode, as the term implies, are often characterized by a high degree of information exchange between the program and the user of the program, via an interactive terminal of some kind. Most modern computers have time sharing operating systems that facilitate concurrent execution of both batch and interactive programs. (Our CRAY-1 is an exception.)
One must be careful not to use the term "time-sharing" when meaning interactive computing. Time-sharing can oc- cur without interactive programs running and vice-versa on small computers!
W/370 IBM's Data Processing Division has implemented multi- programming in its computers in a way that is unique among U.S. hardware manufacturers. In addition to pro- viding a multi-programming operating system, IBM has tak- en the view that, in principle, each program would bene- fit from being run in a separate "computer" which would be configured precisely to the needs of the program. This is an extreme position and physically unrealistic. However, the idea is expressed in the Virtual Machine operating system, VM/370, which was developed for the IBM 370 series of machines in order to faciltate the further development of operating systems. This operating system supervises the operation of a number of "virtual machines". These machines can be batch machines, each with its own input and output queues in "virtual card readers" and "virtual punches or printers" respectively. The various batch machines may operate at different exe- cution priority levels. In addition, a unique "virtual machine" can be created for each interactive user. Each user may have a "virtual configuration" tailored to his particular requirements.
All these virtual machines, of course, must be accommo- dated on the same real computer, and the characteristics of the various virtual machines are restricted by the limitations of that hardware. The concept of virtual storage, in which central memory overlays are handled by the operating system and are invisible to the user, is of course a part of the virtual machine concept. At this point it should be clear that the virtual machines are really sets of interlocking programs.
1-2 %WSP Control The SCD's IBM 4341 is being operated under a heavily Program modified release, Level 6, of VM/370. This has been so extensively revised and overhauled that it is given a new name, VM/SP - Virtual Machine/System Product. VM/SP con- tains several major software products. There is a super- visor, called the Control Program or CP, which supervises and coordinates the operation of the various virtual machines. There is a command language in CP which en- ables the SCD personnel to manage the machine. Some of the CP commands are accessible to the user of a virtual machine to give him access to CP facilities required by his virtual machine. For example, initial log-on in in- teractive mode is to the CP.
CP esour All management of the real resources of the computer is Maiage ent handled by the CP, e.g. disk and tape I/O, memory manage- ment, card reading, line printing, etc. All unit record I/O is spooled (i.e., written to disk, not the real dev- ice). The disk file may then be directed to another vir- tual machine, to a remote location, or to the real device and so output, say from a virtual machine to a line printer, is written to a spool file. Thus "virtual printing" can occur whether or not the real line printer is functioning or available; actual printing of the con- tents of the file takes place when the spool file reaches the top of the real printer queue or, by suitable com- mands, printing can be delayed. Note: One might wish to examine interactively the contents of a spool file to make sure a program ran correctly before printing poten- tially voluminous output! Thus CP has numerous commands for the manipulation of spool files.
CP esource CP maintains records of the resources associated with Rmcords each virtual machine. Therefore a rich vocabulary of commands is provided for inquiring about the status of one's virtual machine and for changing that status.
CP maintains an area of storage called discontiguous saved segments containing a variety of subroutines acces- sible to all the virtual machines. These subsystems are re-entrant (i.e., one copy may be used simultaneously by multiple users), hence features potentially required by all virtual machines are provided efficiently and without substantial demands being made on the virtual storage of the virtual machines. One of these subsystems is the system editor. Another is the command interpreter. Some of the virtual machine operating systems (e.g. CMS) are also there. Figure 1.1 shows a typical organization of the real machine operating under the control program (CP) of VM/SP.
1-3 FIGURE 1.1 Organization of a Real Machine under VM/SP Control Program
Real Machine
CMS C MS CMS BatchBatchMe s User ~User~ell ...... ~ User Un s e #1 r . .n.l #44 MRSCSAccessl Machine i_____t I
Virtual Machines
JS CMSa (Conversational Monitor System) is the operating sys- tem for the virtual interactive machines. For each of the n users indicated, there is a different CMS virtual machine. The four CMS batch machines are virtual machines to which a CMS interactive user can submit a batch job. However, as noted above, most of the special CMS software is re-entrant and each virtual machine has a relatively small operating system storage requirement
1-4 (65K bytes) called the CMS nucleus, plus another 65 K bytes of control blocks (transient program area, free storage, etc.).
K9CS RSCS (Remote Spooling Control System) is the virtual machine that processes jobs submitted by a remote job en- try terminal for onward transmission to the CRAY-1 or CDC 7600 machines.
Ot-hr Mat-bh The network access machine mediates all interaction with the network by all the other virtual machines.
There are many other, usually small, virtual machines dedicated to other tasks. Some of these will be dis- cussed in Section V, Chapter 1.
WM SY2 An interactive user of the IBM 4341 logs on first to the S (OIS)'I2 real machine, operating under CP. The system then creates an interactive virtual machine, operating under CMS, for the user based on information in the user's directory entry. By giving the command:
ipl cms
the desired interactive operating system is loaded and initialized. CMS is the only interactive system sup- ported on the NCAR IBM 4341.
Since the ipl command is included in the user's directory entry the user's CMS machine is ipl'd automatically and the user finds himself in interactive mode with his vir- tual machine immediately after logging on.
Direcory In generating a user's CMS machine, the CP refers to known user parameters such as disk allocation, the number of virtual disk drives - called "minidisks" - specified by the user, whether virtual unit record equipment has been created by the user (virtual card reader, card punch and line printer), and so on.
File ce It is very important to appreciate the extent to which A.:aw these virtual machines are treated by the software as real machines, and as machines whose management is com- pletely in the hands of the user. The minidisks consist of contiguous blocks on real physical disk drives, but for the most part the system manages this space for you. The system allocates the disk by blocks. Consequently, if you have many small files (less than 1024 bytes) you may have unused space. A very large file may be scat- tered all over your disks in non-contiguous space elim- inating unused holes. Much of this scattering may in- crease access time, but the system provides efficient use
1-5 of the disk space. If you find your access time is too great because a very large file is not stored contiguous- ly, you may copy your disk and then reformat the per- manent disk and then re-copy your files back to your per- manent disk.
The CMS user has at his disposal an extensive set of com- mands for communicating both with his own virtual machine and with the real machine operating under the CP. A use- ful selection from both sets of commands is to be found in Appendix A and further discussion of the format and use of these commands is found throughout this User's Guide.
All CMS users have access to the system EDITOR, although users coming in through the IBM 3705 will be unable to use the full screen capabilities due to limitations in the IBM software. All CMS users will have access to a library of utilities (Section VII, Chapter 2 and Appen- dix B in this section) and procedures (called EXECS in IBM jargon) described in Chapter 5. [One utility, of in- terest to owners of vector graphics equipment of the HP 2648A or Tektronix 4010 type or DEC VT100 with retro- graphics boards, permits previewing of graphical output, produced on the CRAY-1 or CDC 7600, before the output is dispatched to the DICCMED for exposure. This is under development at this printing.]
VIMUL UIVII(!2 In addition to the virtual disks, the minidisks, each CMS virtual machine is generated with a certain minimum vir- tual configuration. All of the virtual peripherals have associated with them a hexadecimal device code by which the system addresses the device. The minimal or default configuration is as follows:
Virtual Device Device Code Capacity
Interactive terminal 009 N/A Card reader 00C N/A Card Punch 0OD N/A Line printer OOE N/A Minidisk (R/O) 190 N/A Minidisk (R/W) 191 1/4 - 1 megabyte Minidisk (R/O) 19E N/A Virtual storage N/A 512 K bytes
Card Punch The real machine at NCAR has no card punch. While an in- teractive machine's virtual card reader can be linked to the real card reader, this process is discouraged. The virtual reader and punch, however, are extensively used as the medium of communication between virtual machines. Messages may be sent to the virtual reader another virtu- al machine. The virtual cards "punched" at the sending
1-6 machine may be "read" in the destination machine's virtu- al card reader. For implementation details, see Chapter 6.
Minidiks The minidisks 190, 19E, and 318 are accessible in read mode only. They are shared with other virtual machines and contain systems routines and utilities.
Minidisk 191 is the user s own permanent disk filespace and it can be accessed both for reading and writing. Disk capacity is defined in physical 512 byte blocks. Logical blocks may vary in size but the default block size is 1024 bytes. All NCAR users receive an initial allocation of one megabyte. University users receive one-quarter of a megabyte. This allocation is adequate for the storage of a number of batch job files, or rela- tively small programs.
Additional disk space may be allocated to a user. Appli- cation for additional space should be made in writing to the Director of the SCD, explaining why the additional space is required.
neivy If a user wishes to distribute his permanent disk space allocation over additional virtual disk drives, he can arrange for "delivery" of additional minidisks with dev- ice numbers 192, 193, etc. These additional minidisks should be applied for at the consulting office. These minidisks have to be created by the system management.
Paswods A user may also attach one-to-eight character passwords to any of his own minidisks to control access to them. This can be performed by the user using the READPW,WRITEPW execs. See Appendix B of this section.
Central PlEmry The "central memory" of the virtual machine is initially set to 512 K bytes. This can be increased by using the STORAGE command. For example:
STORAGE 1024K or lM
The maximum amount of virtual storage available to any user is 2 megabytes.
Although each user has a firmly fixed limit on his per- manent disk storage allocation, he is able to access additional storage on a temporary basis. A user may create temporary minidisks, of a capacity to meet a tem- porary need, using the DEFINE command. Thus, if execu- tion of a program requires disk space greater than that available to the user from his permanent file allocation,
1-7 he can still run the program after creating the appropri- ate temporary minidisks. At log-off time these temporary minidisks disappear, so they must not be used for storing permanent files. (See TEMPDISK EXEC, Appendix B).
FIUS
J16. -nts As the term implies, a file is a body of information stored on some medium. The file is composed of groups of data elements called records. If the file is a data file, then the records will usually comprise different sets of values for the group of variables referred to above as data elements. If the file is a source program file, the record comprises a single data element - a FOR- TRAN statement, assembly level instruction, etc.
The fundamental components of a file then are: the file, the record, and the data element.
Blocks Depending on the storage medium, another structure comes on the scene. This is the block. A block is an integral number of records and is the smallest unit of information that can be moved to or from the storage medium. To some extent, the size of the block is under installation con- trol. For example, blocks on the IBM 3370 disk drives are physically 512 bytes in length. If a file should have a fixed record length of 32 bytes, then the block would contain 16 records. The number of records in a block is called the blocking factor - 16 in this example. (On the minidisks, however, CMS deals with "logical" blocks consisting primarily of 1024 bytes.)
When transferring files between different media, care must be taken to ensure that appropriate blocking is pro- vided for in the commands. For example, a blocking fac- tor of 16, for 64 byte records, is appropriate on mini- disks; it is highly inefficient on magnetic tape where a larger factor would be preferred.
File INjt Files may be of any length that the medium can accommo- date. Records similarly may be of any length, though in CMS a maximum record length of 32760 bytes is enforced. The record length may be fixed, in which case all records are of uniform length. Record lengths may also be vari- able.
I/ID Ocerb~ad While records are transferred in blocks, the user often wishes to access only one record, or perhaps only one data element in one record. Regardless, the machine resources expended are those required to access the en- tire block. In designing programs, it is very important to bear in mind the block structure of data transfers in order to optimize the input/output process by minimizing
1-8 the number of blocks transferred. In general, sequential accessing of records results in relatively low I/O over- heads; random accessing of data elements or of records results in relatively high I/O overheads.
Pertonent oar Files may be permanent files in which case they occupy T-emprary Files part of the user s permanent file resources. Files may be temporary files in which case they are defined during a job or interactive session and do not survive termina- tion of that job or session. Furthermore, temporary files are not usually considered as occupying part of the user's permanent file resources.
FIIS IN CMH In all computer systems, files are identified at least by a name. The system maintains a file directory where this name is stored, together with the physical address at which the beginning of the file is located and such other information as the particular system requires.
In CMS three quantities are required to define fully a file. These are the filename (fn), filetype (ft), and filemode (fm). These three quantities define the fileid.
Fflweams In CMS, filenames consist of one-to-eight characters. The characters permitted are the alphabetic characters A-Z, and the ten digits 0-9. You may start the filename with a number if you wish.
Filetyps The filetype is a string of one-to-eight alphameric char- acters as in the filename. Some filetypes are reserved by the system. Since some CMS ccmmands will operate only on files of the appropriate type, it is important to know these reserved types and to use them where appropriate. Otherwise the filetype can be regarded as an extension to the filename. If you fail to specify a filetype, you will receive a message so indicating.
Table 1.2 gives sanome of the filetypes with special mean- ings for use by CMS.
1-9 Table 1.2 Filetypes Used by CMS Commands
FILETYPE COMMAND COMMENTS
FORTRAN FORTRAN FORTRAN source file FORTVS FREE.ORT** EFORTGI **Free format FORTRAN source file
FTnnOOl FORTHX Refers to I/O unit #nn in FORTRAN program
ASSEMBLE ASSEMBLE Contains source statements for assembler language programs.
AUXxxxx UPDATE Points to files that contain UPDATE control statements for multiple updates.
CNTRL UPDATE Lists files that either contain UPDATE control statements or point to additional files.
COPY MACLIB Can contain COPY control statements and macros or copy files to be added to MACLIBs.
EXEC EXEC Can contain sequences of CMS or user-written LISTFILE commands, with execution control statements.
HELPCMS HELP Contains descriptive information for CP and HELPCP CMS commands, messages, EXEC2 statements, HELPDEBU CMS Editor and System Product Editor sub- HELPEDIT commands, and menu lists. HELPMENU HLPMSG HELPEXC2 HELPHELP HELPXEDI HELPSET HELPPREF
LISTING ASSEMBLE Listings are produced by the assembler and FORTVS the language processors. PLIOPT
MACLIB GLOBAL Library members contain macro definitions or MACLIB copy files; the MACLIB command creates the library, and lists, adds, deletes, or replaces members. The GLOBAL commnand identifies which macro libraries should be searched during an assembly or compilation. ** NOT AVAILABLE AT NCAR
1-10 Table 1.2 (Con't)
MACRO MACLIB Contains macro definitions to be added to a CMS macro library (MACLIB).
MAP INCLUDE Maps created by the LOAD and INCLUDE commands LOAD indicate entry point locations; the MACLIB, MACLIB TXTLIB, and TAPE commands produce MAP files. TAPE TXTLIB
MODULE GENMOD MDDULE files created by the GENMOD command are LOADMDD nonrelocatable executable programs. These MODMAP can be executed as new CMS commands. The LOADMOD command loads a MODULE file for execution; the MODMAP command displays a map of entry point locations.
SYNONYM SYNONYM Contains a table of synonyms for CMS commands and user-written EXEC and MODULE files.
TEXT ASSEMBLE TEXT files contain relocatable object code INCLUDE created by the assembler and compilers. The LOAD LOAD and INCLUDE ccxmands load them into TXTLIB storage for execution. The TXTLIB command TESTFORT manipulates libraries of TEXT files.
TXTLIB GLOBAL Library members contain relocatable object TXTLIB code. The TXTLIB command creates the library, and lists or deletes existing members. The GLOBAL command identifies TXTLIBs to search.
UPDATE UPDATE Contains UPDATE control statements for single updates applied to source programs.
UPDLOG UPDATE Contains a record of additions, deletions, or changes made with UPDATE command.
UPDTxxxx UPDATE Contains UPDATE control statements for multilevel updates.
Filenode The filemode is a two character string of which the first is alphabetic (A-Z) and the second numeric (0-5).
The alphabetic character designates to CMS the minidisk on which the file resides (this is independent of the CP device address). Minidisk 191 is normally designated the A disk. The system minidisks 190 and 19E have filemode letters S and Y, respectively. When other minidisks are created, either permanent or temporary, a different
1-11 filemode letter must be specified.
Filea§de Digit The filemode digit defines the type of access permitted to users other than the creator of the file. It is also used by the creator of the file to designate a particular family of files that can then be manipulated as a group by appropriate commands. The meanings of the filemode digits are as follows:
0: A filemode digit of 0 makes the file PRIVATE and prevents users, other than the file creator, from reading that file even though these users may have been given read access to the minidisk. This level of security, however, is not too high. There are other ways to get to the file once read access to the minidisk is given.
1: This is the GENERAL DEFAULT filemode digit and has no particular significance.
2: Used to designate a FAMILY OF FILES.
3: Files with filemode digit three are ERASED after they are read!! This filemode digit should be used with great care. If used with a file with filetype EXEC the result is unpredictable. It should be used in programs which create files that are needed only once; in this case it eliminates the need to erase the file to prevent it occupying permanent file space unnecessarily.
4: Designates IBM OS simulated DATA SET format.
5: Used in the same way as 2 to designate a FAMILY OF FILES.
Mnipulation of Files may be created only under program control. The Files creation of a program source file, or the manual entry of a data file, is done under the control of the system EDI- TOR (Chapter 4). The EDITOR will require the user to specify a filename and filetype. The user may also specify a filemode; if no filemode is specified, the XEDIT-editor will define it as Al.
If the file is intended to be used as an output file from a user program, it must first be referenced using the FILEDEF command, (Chapter 5).
Commands are discussed in Chapter 5. Examples for common manipulations of files are: listing (TYPE, PRINT), sort- ing (SORT), renaming (RENAME), copying (COPYFILE), eras- ing or purging (ERASE), compare (COMPARE), etc. Atten-
1-12 tion is directed to Appendix A for a summary of these commands.
Use of * and = All file manipulation cocmands refer to the fileid. Re- placement of any of the three fields in the fileid by an * means: carry out the command on all files identified by the remaining fields, regardless of the content of the field replaced by the asterisk. For example, the com- mand:
LISTFILE * FORTRAN A wIll listIall FORTRAN source code files on the A disk
will list all FORTRAN source code files on the A disk (191) with filemode digit 1. Similarly, the command,
LISTFILE * FORTRAN *
will list all FORTRAN source code files on all the user"s minidisks, regardless of filemode digit.
Some file manipulation commands refer to two or more fileid's. In two of these, RENAME and COPYFILE, an = sign can be used in conjunction with the * to ensure the specified fields will be left unchanged. For example,
COPYFILE * * A = = B
will copy all files on the user's A disk on to his B disk.
Padxjai Provision is made in CMS (see COPYFILE in Chapter 5) to Uqwkirx Films pack files and to unpack them. Packing is a process which eliminates redundant information from the file, such as the leading and trailing blanks in FORTRAN state- ments. Unpacking restores the information and ensures that the records are formatted correctly. On the aver- age, packed files occupy about one-third of the space of unpacked files. Therefore,if you are running short of minidisk space, you can make more efficient use of your disk allocation by storing only packed files.
Note: Packing and unpacking is a CPU intensive process. Unnecessary packing should be avoided. You should organ- ize your work, wherever possible, to unpack only those files to be used in a given session, and to pack at the end of the session only those unpacked files that are to be stored on the permanent minidisks. There is no point
1-13 to packing files that are stored on temporary disks!!
DISK PE3bS9SE3S Interactive use of a computer system implies that each FILE SPMa user has available a certain amount of permanent file maxrxw space on the system s magnetic disc units--DASD, Direct Access Storage Device in IBM terminology.
It must be emphasized that all users will have access to a much larger common pool of temporary file space. Any files created in temporary file space disappear from the system at logoff.
If the allocation of permanent file space is inadequate for the needs of a particular user, additional permanent file space can be made available on application to the SCD Director. The application, which can be a simple letter, should list the reasons why your allocation is inadequate and indicate for what period of time the sup- plementary allocation is likely to be required.
1-14 -C-iB~R 2: IG SI"fED on(GNt GsJE BM 4341
E9B In Chapter 1 you were introduced to CP, the VM/SP Control Program, and CMS, the Conversational Mbnitor System run- ning as the interactive operating system on the SCD's IBM 4341.
CMS (Conversational Monitor System) has been designed to make computing tasks easier, but if you are unfamiliar with CMS, then the tasks may seem more difficult. The information contained in this guide is designed to help you become familiar with CMS.
A series of commands may be set up in an "executable" file. These are called EXECS and may replace keying in the same information over and over again. The existing execs and the execs you create become a part of your CMS command language. They are in themselves CMS commands.
Almost every CMS command that you enter results in some kind of activity with a Direct Access Storage Device (DASD), known in CMS simply as a disk, or minidisk. Data and programs are stored on disks in what are called "files" (described in Chapter 1).
Chapter 4 introduces you to XEDIT the CMS editor. It contains all the basic information you need to create and write a disk file directly from your terminal, or to correct or modify an existing CMS file.
Just as important as the CMS editor is the CMS facility called the EXEC 2 processor or interpreter. Using EXEC files, you can execute many commands and programs by entering a single command line from your terminal or you can write your cwn CMS commands. Chapter 5 presents a survey of the basic characteristics and functions of EXEC 2.
QOS V1RfL A virtual machine is the functional equivalent of a real MWIMNRE computer that you control from your terminal, using a command language of active verbs and nouns. The system on the SCDIs IBM 4341 that enables you to control your "virtual machine" is the Virtual Machine/System Product (VM/SP).
The command languages of this system correspond to the two components, CP (Control Program) and CMS (Conversa- tional Mbnitor System). CP controls the resources of the real machine; that is, the physical computer in the machine room. It also manages the communications among virtual machines, and between a virtual machine and the real system. CMS is the interactive operating system
2-1 designed specifically to run under CP.
O(MODI U WILGf W hen you are running your virtual machine under VM/SP, WVBSSP each command, or request for work, that you enter on your terminal is processed as it is entered; usually, you enter one coxnand at a time and commands are processed in the order that you enter them.
You can enter CP commands from either the CP or CMS en- vironment, but you cannot enter CMS commands while in the CP environment. Thus most of your work will be done in the CMS environment. There are times, however, when you may inadvertently end up in the CP environment, so it is important to know how to get back to CMS. You may get to CP from CMS by typing in "cp" and you may get to CMS from CP by typing in "begin".
After you have typed or keyed in the line you wish to enter, you press the "return" key on the keyboard. When you press this key, the line you have entered is passed to the commnand environment you want to have process it. If you press this key without entering any data, you have entered a "null line." Null lines sometimes have special meanings in VM/SP.
If you make a mistake entering a command line, VM/SP tells you what your mistake was, and you must enter the line again. The examples in this guide assume that the command lines are correctly entered.
You can enter commands using any combination of uppercase and lowercase characters; WM/SP translates your input to uppercase. Note: Examples in this chapter show all user-entered input lines in lowercase characters and sys- tem responses in uppercase characters.
CP a The control program (CP) component of VM/SP has its own Language command language. Much like any other language, the CP command language has a set of rules and structures.
There are two types of CP commands: system conmands and user-defined commands. There are also various classes of users on the system. You, as a class G or general user, may issue CP system oommands to control the operating system running in your virtual machine much like an operator controls the entire VM/SP operating system using keys and switches on the system console. User-defined CP commands are allowed, too; however a systems programmer must create them for you.
2-2 CP CtA VM/SP command consists of a command name, usually fol- Structure lowed by one or more positional operands. The general form of the CP command line is:
CNAME [operand [operand..]]
where CNAME is the command name. You must use one or more blanks to separate each entry in the command line unless otherwise indicated. The command operands are keywords and positional operands of no more than eight alphameric characters each.
If, for example, you are receiving printed output at your terminal and do not want to be interrupted by messages from other users, you can enter the following:
set msg off
to refuse messages, since it is CP that handles communi- cation among virtual machines. In this example "set" is the command name and "msg" and "off" are both operands.
The CSI CQin The CMS command language allows you to create, modify and Laguage debug problems or application programs and to manipulate data files.
When you invoke the XEDIT command, you are placed in the XEDIT mode. In this mode you are allowed to create and modify files. The CMS EXEC 2 interpreter provides execu- tion procedures consisting of CP and CMS commands; they also provide the conditional execution capability of a macro language. The DEBUG command gives you several pro- gram debugging subcommands. This facility is described in Chapter 6 of this guide.
Other CMS commands allow you to read cards from a virtual card reader, punch cards to a virtual card punch, and print records on a virtual printer. Many commands are provided to help you manipulate your virtual disks and files.
The HELP command (described in chapter 3 of this guide) you can use to display at your terminal information on how to use CP commands and CMS commands, subcommands, and EXECs, and explanations of CP and CMS messages. You can issue the HELP command when a brief explanation of syn- tax, a parameter, or function is sufficient, thereby avoiding interrupting your terminal session to refer to a manual.
Since you can invoke CP commands from within the CMS vir- tual machine environment, the CP and CMS command languages are, for practical purposes, a single, in-
2-3 tegrated command language for CMS users.
OCS ad cat A CMS command is similar in format to the CP commands. That is, it consists of a command name, usually followed by one or more positional operands, but in many cases the CMS command includes an option list.
CNAME [operands... [(options..[)]]
where CNAME is the command name. You must use one or more blanks to separate each entry in the command line unless otherwise indicated.
The C(aaxn Ne The command name (CNAME) is an alphameric symbol of one to eight characters. The names are based on verbs that describe the function you want the system to perform. For example, you may want to find out information con- cerning your CMS files. In this case, you would use the LISTFILE command. To use the LISTFILE command enter:
listfile fn ft fm
where listfile is the command name, fn, ft and fm are the filename, filetype and filemode, respectively. If you wanted to list all the files with the file name FORTEST regardless of type or mode, you would enter:
listfile fortest * *
The asterisk specifies "all".
C4and Ojperands The command operands are keywords and/or positional operands of one to eight alphameric characters each. The operands specify the information on which the system operates when it performs the command function.
You must write the operands in the order in which they appear in the command formats unless otherwise specified. When you are using CMS, blanks may optionally be used to separate the last operand from the option list. CMS recognizes a left parenthesis "(" as the beginning of an option list; it does not have to be preceded by a blank. To list your files with the date when they were written you would use the listfile command with the "date" op- tion. To list all your FORTRAN files with the date that they were written you would enter:
listfile * fortran *(date
This would give you a list of all your FORTRAN files on all your disks and print the date that they were written.
2-4 4~~Y~H Before you can use CP and CMS, you should know (1) how to operate your terminal and (2) your userid (user identifi- cation) and password.
If you are accessing the IBM 4341 through the Gandalf PACX and through the Series/I or 11/34 you will have full screen editing capabilites. If your access is through the 3705 via dial-up connection you may be using the equivalent of a TTY terminal and have only line editing capabilities. The logon procedure looks quite different depending on which mode of access you have available.
1LLAqTl~~nal There are many types of terminals you can use as a VM/SP virtual console. Before you can conveniently use any of the commands and facilities described in this guide, you have to familiarize yourself with the terminal you are using and know which access mode you are going to be us- ing.
In this guide, examples and usage notes assume that you are using an ASCII screen terminal ( such as a Perkin El- mer Fox or an ADM 3a+). Examples will be given of both full screen mode and line mode for some procedures. See Appendix C for terminal keyboard templates.
evxicl am To aid you in entering command or data lines from your t~i~nj Sybs terminal a set of logical line editing symbols is provid- ed which you can use to correct mistakes as you enter lines. Each symbol has been assigned a default character value.
The logical line editing symbols are defined for each virtual machine during VM/SP system generation. If your terminal's keyboard lacks any of these special charac- ters, other special characters for logical line editing may be defined for you. You can find out what logical line editing symbols are in effect for your virtual machine by entering the following CP command:
query terminal
The response might be something like:
LINEND #, LINEDEL , CHARDEL @, ESCAPE ", TABCHAR ON LINESIZE 080, TEXT OFF, APL OFF, ATIN ON, MDDE 4M HILIGHT COFFT, CONMODE 3215, BREAKIN IED, BRKKEY PA1, SCRNSAVE OFF
Yoxr Userid a Your userid is a symbol that identifies your virtual Pamswd machine to VM/SP and allows you to gain access to the system. Your password is a symbol that functions as a protective device ensuring that only those allowed can use your virtual machine. The userid and password are
2-5 installed in the system directory by a system programmer. Appendix B, Section I "An Overview of NCAR's Computing Environment" includes a copy of the form to be filled out by you before you may begin.
To provide yourself with additional security on the sys- Passwrd tem you may want to change your password from time to time. To do this, enter:
password
The system will prompt you for your new password and then ask you to enter your old password for validation.
Using the~ PA)X The PACX (Private Automatic Computer exchange) is the frxm NCAR Gandalf Data Inc's model of port selection device that T hm na S NCAR has purchased as an interface between a user s ter- minal and the various computers. Follow the instructions below to use this device.
First, get the PACX's attention. This is accomplished on Fox terminals by pressing the "LINE" key so it releases from the locked down position. This breaks any present connection. Then press "LINE" again so it returns to the locked down or on-line position. On ADM3A+ terminals press and hold the "HERE IS" key, then let go. The PACX should now realize you want its attention. See Chapter 2 of "An Overview of NCAR's Computing Environment" for de- tails on Data Communication.
Give the PACX a second to set itself up, then press the "RETURN" key. The PACX should respond with the message, "ENTER CLASS". Type in the desired class number accord- ing to the following table:
Series 1 Simulator (11/34) 130 Series 1 120 3705 110
If all is well you should get the message "CLASS XXX START" where XXX is an echo of the number you have just entered. Note that on most terminals you will not see the numbers you are typing as you type them. This is normal and not a malfunction. If the computer you are connecting to does not immediately give you a prompt, try prompting it with the "REITURN" button.
2-6 If you did not get the message "CLASS XXX START" you should have received one of the following messages:
"CLASS XXX UNASSIGNED" The number you typed is not a ENTER CLASS valid class number. Try again.
"CLASS XXX UNAVAILABLE" The computer you want to access ENTER CLASS is down. Try again later, or try another class number.
"CLASS XXX RESTRICTED" Access to that class is restricted. ENTER CLASS Select a different class.
"CLASS XXX BUSY" All ports of that class are busy, {or "CLASS XXX BLOCKED"} but you may queue up in position QUEUE SIZE NNNN NNN for the next freed port by DO YOU WISH TO QUEUE? responding "y" or "yes". "n" you do not wish to queue.
In all cases you have twenty seconds to make your next keystroke, or the PACX will drop your connection and say "BYE". If this happens, you must start over and regain the PACX's attention. After three unsuccessful attempts to connect, the PACX will drop your connection and say "BYE". At any time entering "q" will cause the PACX to drop connection and say "BYE".
Using te X If you are at a remote site, you will be entering the fog Re ote Sites PACX through telephone lines. Once you hear the con- necting signal, depress the carriage return key on your terminal. This signals the PACX that you are ready to initiate a terminal session. The PACX will echo with the "ENTER CLASS" prompt described above. Enter the ap- propriate class as indicated above and proceed with your terminal session.
Log~-n throzgh the Logon will begin once the system logo is displayed, 3705 "VM/370 ONLINE". To begin, you should depress the return key to gain the system prompt which is a "." (period). Next, you should type "logon ssss..." where "ssss..." is your logon id previously entered into the system directo- ry. When asked for your password, enter your password. Once this has been done (and you press the return key again), the system will display the results of the PRO- FILE EXEC execution and will terminate its display by typing the system prompt. At this point you are logged on and may begin your session. A typical logon is shown below:
2-7 VM/370 ONLINE:
All commands executed by the system will terminate with a line beginning with "R". If an error condition is gen- erated by the command, its severity level will follow the "R" inside of parentheses. An error return code 8 would look like "R(00008)". An R;; indicates no errors or a return code of 0, all larger numbers indicate errors. "T=...". The T= gives timing information about the com- mand and the remainder of the line is the wall clock time.
If you had failed to hit the return key to gain the sys- tem prompt, the "1" would have ended up on the line which shows the "!" and the following 2 lines would have shown up as "ogon SMITH" and "RESTART" respectively. The logon ccmuand would then have to be re-typed.
Lg- thru the Logging on through the Series 1 is not significantly dif- PNX ail Series 1 ferent from logging on through the 3705 except the "." prompt is missing. A typical log-on through the PACX and through the Series I looks something like the following:
2-8 ENTER CLASS 120
# ## # # ##### ####### ### # # ## ## X # # # # # # # ##### # # # # # ## # # # ##### # # # # # # # # # # # # ## # # # # # # # # # # ## ##### ####
RUNNING
From here the logon looks much the same as through the 3705. The information printed is the same, the prompt is missing and in the lower right hand corner of the screen you will note that it prints VM READ, RUNNING, MORE, CP READ. Depending on the terminal you are using the means of scrolling and refreshing the screen may vary. See Appendix C of this guide for information on the different terminal key boards and how to use the function keys.
PRU ~ I W~ The two virtual disks VIRIIWL DI- assigned to each user may now be formatted. NotE: Formatting virtual disks is a one-time operation, doing it on subsequent logons will destroyany files resident on your virtual disks. An NCAR EXEC has been written to FORMAT your disks for you. This EXEC is called IAMNEW. To format your disks enter:
iamnew
This exec will also copy a default PROFILE EXEC to your A-disk. Now your disks are formatted. Note: The "iam- new" command issues a "query" for you and prints out your disks and labels. To check on the status of your disks
2-9 at any time; the disks accessed by you and the percentage of space in use enter:
query disk
An exec is a file which is executable in CMS. An exec must have a filetype of EXEC. One exec is executed at the time of logon with no special action taken on your part. This special exec is the profile exec and it should reside on your A disk, thus its full name is:
PROFILE EXEC A
A default profile exec was executed and moved to your A- disk for you when you logged on as a new user and exe- cuted IAMNEW. As you become more familiar with the sys- tem there will be commands you will want to add to or delete from the profile exec.
This is a copy of the default PROFILE EXEC. You may modify it to suit yourself with XEDIT (see Chapter 4 of this guide).
&TRACE OFF EXE)C TIYPROF EXEC LINKLIB CP LINK MAINT 318 318 RR ACCESS 318 h
The &TRACE OFF statement causes the statements in the exec not to be printed before they are executed.
PM~ w1~o At this point you have logged on, your disks are format- ted and a profile exec was executed at logon. Your own profile exec will automatically be executed the next time you logon. At this time you could "logoff" and then "lo- gon" again. To logoff you enter:
logoff
You have used the commands; LOGOFF, LOGON. They are all CP conmminands. EXEC, GLOBAL and XEDIT are CMS commands. You may want to try a few more CMS commands. To see what is on your A disk enter:
query disk a
The response looks something like:
2-10 LABEL CUU M STAT CYL TYPE BLKSIZE FILES BLKS USED-% BLKS LEFT ELK IOTAL Al 191 A R/W FB 3370 1024 1 1-0 982 1000
The response tells you that you have an A-disk at virtual address 191; it also provides information such as how much rooman there is on the disk and how much of it is used.
Your A-disk is the disk you use most often in CMS, to contain your CMS files. Files are collections of data and may have many purposes. As of now your A disk should have only your profile exec on it. The following exer- cise will use the editor to create another file on your A-disk.
For this exercise, the data is meaningless. To use the editor, enter:
xedit mynew file
You should receive the response:
NEW FILE: XEDIT:
which indicates that this file does not already exist on your A-disk. Enter:
input
Your should receive the response:
INPUT MODE:
and you can start to create the file, that is, write input records that are eventually going to be written onto your A-disk. Enter 5 or 6 data lines, such as:
this is a test file
Now, enter a null line ( hit the return key again). You should receive the message:
XEDIT:
Enter:
file
You should see the message:
2-11 R; T=0.01/0.05 19:31:12
You have just written a CMS file onto your A-disk. If you enter the CMS command:
type mynew file a
you should see the following:
THIS IS A TEST FILE TO SEE IF I CAN USE THIS XEDIT EDITOR.
The CMS camand, TYPE requested a display of the disk file MYNEW FILE on your A-disk.
The exercise above is repeated here using the full screen display. Enter:
xedit mynew file
You should receive the response:
MYNEW FILE Al F80 TRUNC=80 SIZE=0 LINE=0 COLUMN=l ====* * TOP OF FILE * * * |...+....1...+....2...+....3...... 4..+....5 ....+....6....+ =====* * * END OF FILE * * *
X E D I T 1 FILE
which indicates that this file does not alrady exist on your A-disk and is ready to be edited. Note the lower case "input" command in the next example.
2-12 MYNEW FILE Al F80 TRUNC=80 SIZE=0 LINE=0 COLUMN=l
-=== * * * TOP OF FILE * * * -....+.... .1..+...3....2+....4.... +3. +....5****5* * *+....6O....+.... ===== * * * END OF FILE * * *
===>input
X E D I T 1 FILE
MYNEW FILE Al F80 TRUNC=80 SIZE=0 LINE=0 OOLUMN=l
===== * * * TOP OF FILE * * * *... * ....1 ...... 2...... 3*....+* .4... +...5*.....+....6....+.. ===== * * * END OF FILE * * *
===> * * * INPUT ZCNE * * *
I N P U T-M O D E 1 FILE
which indicates that this file is ready to be edited. Now if you type in the three lines they will appear on the screen between the TOP OF FILE and the END OF FILE as shown in the next box.
2-13 * * * TOP OF FILE * * * TH====IS IS A TEST FILE .==== TO SEE IF I CAN USE THIS XEDIT EDITOR
=* * * END OF FILE * * *
-==> this xedit editor
I N P U T-M 0 D E 1 FILE
Now hit
To list the names of all the files on your A-disk type the CMS command
1 * * a
To erase the file MYNEW, enter:
erase mynew file
Now, if you re-issue the TYPE conmmand, you should receive the messsage:
FILE NOT FOUND
If you re-issue the l(istfile) command, the file MYNEW should not appear in the list.
VIRTMuL DIS
P r u x n i t a Permanent virtual disks are defined jrlt-- I I Di s ksm in your directory. They can be your own personal disks which you may or may not wish to have other users access; or, they may be com- mon disks, owned by one user, but generally shared in read-only mode by any user on the system. Such a disk is the system maintained disk 318 which contains VS FORTRAN and IFTRAN. Virtual disks, defined in your directory, are made available to you when you log on to the system.
2-14 They must be accessed in order to use them (usually in your PROFILE EXEC).
TLExicary Virtual If during a terminal session you require additional disk Disks space, you can define a temporary minidisk via the NCAR exec "TEMPDISK". The TEMPDISK command gets a temporary disk of up to 20000 blocks and formats it. The virtual address assigned to the temporary disk will be the first available address at 500 or above, and the mode will be the first mode available to your terminal. The format of the TEMPDISK command is: TEMPDISK SIZE where SIZE is the number of blocks for the temporary disk, not to exceed 20000. To use the command enter:
tempdisk 15000
the response looks like:
DASD 500 DEFINED 15000 BLK TEMPDISK ACCESSED AS D R; T=...... where the .... represents the time that would normally be printed there.
If you should enter:
query search
you would find the temporary disk was defined as:
TEMP 500 D R/W
When you have no further need for temporary disk space, you can release the space by issuing the command:
rel d (det
and the response will look like:
DASD 500 DETACHED R; T= ......
Sharing Virtual To gain temporary access to someone else's permanent vir- Disks tual disk during your terminal session, you must know the userid of the disk's owner, as well as its virtual ad- dress in the cwner's system. If the owner is controlling the access to the disk, you have to obtain the read or write password. The NCAR exec "LINKTO" enables you to do this. Default values have been set up for all but the userid. To link to another user's A disk enter the fol- lowing:
linkto userid
2-15 The link will be made to the other user's A disk and the mode will be the first available mode in your virtual system and the address will be the first available address above 120 in your system.
Atxssing Your The local ccmmands "LINKTO" and "TEMPDISK" use the CP Virtual Disks commands LINK and DEFINE repectively. They tell CP to add DASD devices to your virtual machine configuration. CMS must also know about these disks. "LINKTO" uses the ACCESS command to establish a filemode letter for the linked disk. For example:
access 192 b
would identify virtual disk 192 as your minidisk B. TEMPDISK uses the FORMAT coamand, since it is a brand new disk, to establish a filemode letter. CMS uses filemode letters to manage your files during a terminal session. By using the ACCESS command you can control:
R Whether you can write on a disk or only read from it (its read/write status)
R The library search order for programs executing in your virtual machine.
Q Which disks are to contain the new files that you create. If you want to know which disks you currently have access to, issue the conmand:
query search
You might see the following:
AAA 191 A R/W BBB 192 B R/W CMS 318 C R/O TEMP500 D R/W
The first column indicates the label on the disk (assigned when the disk is formatted), and the second column shows the virtual address assigned to it. The third column contains the filemode letter. All letters of the alphabet are valid filemode letters. The forth column indicates the read/write status of the disk. In the example all the disks are read/write status except 318 which is a read only disk. It is standard to use your 191(A) disk as your primary disk.
2-16 Reeasing Virtual When you no longer need a disk during a terminal session, Disks or if you want to assign a currently active filemode letter to another disk, use the CMS command RELEASE:
release c
Then, you can issue the ACCESS command to assign the filemode letter c to another disk.
When you no longer need disks in your virtual machine configuration, use the CP command DETACH to disconnect them from your virtual machine:
detach 194 detach 291
If you are going to release and detach the disk at the same time, you can use the DET option of the RELEASE com- mand:
release 194 (det
Camging Disk Your disks are initially set up for you with read/write APass Mrd passwords. To find out what your current passwords are PassBrd you may enter:
dirm mdpw
The system will prompt you for your CP or logon password to validate the command. After you give your password and
DVHDMF301I MINIDISK 191: READ=READ WRITE=WR MULTI=MM DVHDMF301I MINIDISK 192: READ=READ WRITE=WR MULTI=Mv CMS
Now that you see what your access passwords are you may change them using the DIRM MDISK command. This command will ask for the address of the minidisk whose access you want to change. It will then prompt you and at the same time provide you with adequate information to change your passwords. To find out how to change your passwords and/or to change your password enter:
dirm mdisk
2-17 Libraries Before compiling even the most simple FORTRAN program, the appropriate libraries to be searched by the LOAD statement must be identified. The "cp link... "and "ac- cess 318 h" commands shown in the PROFILE EXEC are all necessary in order to compile, load and execute a FORTRAN program on the 4341. In order to access the necessary libraries you must link to and access the 318 system disk. The global statements in the compiler execs iden- tify the libraries of interest. More details on these libraries are found in chapter 2 of Compilers and Software Libraries
When you give a command to compile a FORTRAN program, the name of the file must be of a specific nature. The filename may be 1-8 alphanumerics (special characters are not permitted nor are embedded blanks) the first of which must be alphabetic, the filetype must be FORTRAN, and the filemode is the disk on which the file resides. The com- mands to compile and load a program do not allow you to specify the filetype or filemode. Because of this res- triction, there is a default search order which is alpha- betical (i.e., A, then B, then C etc). The way your disks were defined, you have an A and perhaps a D disk. Because of the standard search order, it would be prefer- able to have your disks be the A and B disks. In your PROFILE EXEC the "access" of the 192 disk with designa- tion 'b' rather than 'd accomplished this. This access gives your two virtual disks the 1st and 2nd positions in the search sequence. The real value in this is that, should you wish to link to the files of another user, the linked disk will not be automatically searched before your own. Hence, you cannot mistakenly compile and exe- cute another user's program because the names happen to be the same.
The logoff command is simply "logoff" after which the system types some timing information and then displays the line "VM/370 ONLINE". If you are in the middle of a session and need to logoff for a short time, but you do not want to start all over, simply replace "logoff" with Special Cliarax"Iers "disconnect". When ready to resume, logon as before and all temporary disks and tapes will still be available. NBWIM log anyone else off, use the "disconnect" command.
Certain characters have a special meaning to CMS. The double quote (") is the escape character and the pound sign (#) is the logical line end. To enter these charac- ters as text, each must be preceded by the escape charac- ter. For example to get a double quote in a message, you would have to type two double quotes (""); to get a pound sign, type double quote, pound sign ("#). (In input mode in XEDIT, you needn t preceed the character with ").
2-18 Intrnt rn If you want to interrupt a terminal that is typing (i.e. displaying output), you should depress the return key. This will interrupt the typing, and the screen may be viewed at leisure. To resume, hit the return key. If the intent is to terminate the typing, you must type "ht" or "hx" before hitting the return key. The "ht" (halt typing) is used if one is merely listing a file; if the printout is the result of an execution process, then "hx" (halt execution) is needed.
s File A news file exists on the IBM 4341 which will contain up-to-date news items concerning the 4341. To read the latest version of this file, type "vmnews". Be prepared to interrupt the typing when the screen fills, as this is not done automatically. To interrupt the typing, type 'ht' (halt typing) and depress the return key.
iaecs A number of execs have been produced by SCD staff to make it easier to get started. These include execs to simpli- fy tape mounting and file movement, packing and unpacking of files for space preservation, IFTRAN and FORTRAN com- pilation, loading and execution as well as many other commonly used functions. Please refer to Appendix B for a listing of current NCAR execs and to Chapter 5 for an introduction to the Command Language Facility, EXEC 2.
An extensive help facility exists on the IBM 4341. To get information on most commands and execs, type "help name". See Chapter 3 for detailed information on the help facility.
2-19 CEOWYRE 3: THEIP FAC3f r
On-line documentation of components of the IBM system is available through the CMS HELP facility. The information displayed is the same as that given in the various IBM VM/SP publications. More information about the HELP fa- cility is available in the IBM VM/SP CMS user's guide. Also, on-line information for the HELP command can be displayed by issuing the CMS command:
HELP HELP
IE HFLP The HELP facility uses the System Product Editor to 0 sIIDo 7 display HELP files. The HELP facility is designed to be used by 3270-type video terminals in full-screen mode. It can also be used by line-mode or teletype terminals. However, in this case the capabilities afforded through the PF (Program Function) keys (explained later in the section) are not available and HELP facility commands must be entered explicitly. Some of the procedures described below assume the use of full screen capabili- ties.
HELP displays the message text, explanation, system ac- tion and user action for messages. For commands, HELP will display the description, format, and parameters, or optionally any of these. HELP displays the format and description for EXEC statements.
HELP allows you to issue CP or CMS commands directly from the displayed HELP file if you are in full-screen mode. Thus, you may issue a command on the "command line" while viewing the HELP file for that command. The specified command will remain in the command line until you press ENTER (or RETURN), even if you scroll the screen. This feature assists you in remembering what you must specify and how you must specify it.
HELP files are grouped into catagories or "components". The "menu" for each component (except messages) lists the HELP files for that component. A particular HELP file is displayed by specifying the component and file name. The HELP facility consists of eight components:
1. CP Comiands
2. CMS Commands
3. CP and CMS Messages
4. EDIT Subcommands
3-1 5. XEDIT Subcommands
6. DEBUG Subccmmands
7. EXEC Statements
8. EXEC 2 Statements
Each of these components (except CP and CMS messages) has a menu that lists all the HELP files available for that component. You may call a HELP file directly or you may call a menu and then select the HELP file from the menu.
LsE HvP To use the HELP facility, you issue the CMS HELP command. The format of the HELP command is:
HELP
where:
HELP Specify HELP HELP if you want information about using the CMS HELP facility. The sys- tem will display the HELP file for the CMS HELP command. This explains how to call HELP menus or files.
No Argument If you specify HELP with no arguments, the system will display a list of the component menus available. You may then display any of these menus by specifying
HELP component MENU
and then display the HELP file for any cmrmmand listed therein directly from the MENU display.
Message is the seven-character message ID you specify to display the HELP file for a mes- sage. You must specify the message ID in the form 'xxxnnnt', where:
3-2 xxx indicates the component (for example, DMS for CMS messages, DMK for CP messages).
nnn is the message number.
t is the message type.
Note that you must specify the seven- character message ID, not the ten-character ID that also identifies the issuing module. For example, specify DMS250S rather than DMSHLP250S for information on that message.
MENU Displays the menu of HELP files availble for the CMS component. It is equivalent to issuing HELP CMS MENU.
Component The name of the component you want informa- tion about. The help facility has the fol- lowing components:
Component Description of Contents Name
CMS Conversational Monitor System commands CP Control Program commands DEBUG CMS DEBUG subcommands EDIT CMS EDIT text processor subcommands EXEC CMS EXEC statements EXEC2 EXEC 2 statements XEDIT XEDIT subcommands
The default component for commands is CMS; if you want to display a HELP file for a CMS command, you need only specify HELP name.
name The name of the command or statement whose HELP file you want displayed. This name is analagous to a CMS file name. There are commands whose name is a special character. Since the characters themselves are illegal as CMS filenames, the HELP facility recog- nizes special-character filenames and translates them to appropriate CMS file names. They are:
3-3 ?- translates to file name QUESMARK - translates to file name EQUAL / - translates to file name SLASH " translates to file name DBLQUOTE & - translates to file name AMPRSAND * - translates to file name ASTERISK - translates to file name PERIOD
Option is valid only for CMS and CP commands and subcommands. You may specify DESC, FORM, PARM, or ALL. ALL is the default. The HELP command options are:
ALL Display the specified HELP file starting at the beginning.
DESC Display the specified HELP file starting with the description.
FORM Display the specified HELP file starting with the format specifications.
PARM Display the specified HELP file starting with the parameter descriptions.
When a HELP command option is specified, the entire HELP file is made available to the user. The options effect only the initial position of the HELP file display.
The following are examples of HELP calls issued as CMS coamands. Remember that you may also call HELP files directly from menus or from the XEDIT command. To request a HELP file for CP message DMK006I, you issue:
HELP DMK006I
To request a menu of CP commands, you issue:
HELP CP MENU
To request a HELP file for the XEDIT LOCATE subcommand, you issue:
HELP XEDIT LOCATE
To request display of the HELP file for the CMS TAPE com- mand beginning with the description part, you issue:
3-4 HELP CMS TAPE (DESC
or
HELP TAPE (DESC
Menus are alphabetical lists of all HELP files for a com- ponent. On terminals having both upper and lower case capability, menus show the minimum abbreviation of a file name you can issue in upper case characters with the remainder of the name in lower case characters (for exam- ple, ACcess). You can get a list of all the menus avail- able to you by issuing:
HELP
You get a menu by issuing:
HELP component MENU.
See Figure 3.1 for an example of a displayed menu.
You can request display of a particular HELP file directly from a menu by positioning the cursor at any part of the name and pressing the PF1 key (or the equivalent set of key strokes specified for your terminal if you do not have PF keys). After the HELP file is displayed, you may return the menu by pressing PF1 again. (See Appendix C for the configuration of PF keys for your terminal).
You can position the cursor at the file name you want by using the cursor keys on your terminal, or by using the TAB key (PF4) provided by HELP; the LOCATE facility can also be used by typing the name desired and pressing PF5. When the cursor is positioned at the file name you want, press the PF1 key to display the HELP file for that name.
If a name in a displayed menu file is preceded by an asterisk (*), this indicates that the named file is itself a menu file.
3-5 line 1 ======> CMS MENU <=====> .HELP INFORMATION <=--== line 2 =-->- /* line 3 A file may be selected for viewing by placing the cursor under any character of the file name wanted and pressing the PF1 key. A MENU file is indicated when a name is preceded by an asterisk (*).
*DEBUG DDR FILedef Listfile RELease SYNonym *Edit DEBUG FORMAT LISTIC Rename TAPE *EXec DISK GENDIRT LOAD RO TAPEMAC *EXEC2 DLBL Genmod LOADMod RSFRV TAPPDS *Xedit DOSLIB GLobal MACLib RT TXTlib ACcess DOSLKED HB MDDmap RUN Type AMserv DSERV Help MDVEfile SET Update Assemble Edit HO CPTION SO Xedit ASSGN ERASE HT PRint SORT CMSBATCH ESERV HX PSERV SSERV C4OMpare EXec INclude PUnch START COPYfile EXEC2 IAbeldef Query STATE CP FETch LISTDS READcard SVCtrace
line x PF1=HELP PF2=TOP PF3=QUIT PF7=UP PF8=DOWN PF9=PF Keys line y PF4=TAB PF5=LOCATE PF6=PREV CMD PF10=UP1/2 PFll1=DOWNl/2 PF12=CANCEL
I .. Figure 3.1 CMS Menu
/* For terminals which have cursor position indicated as a character posi- tion rather than an underline, the cursor should be positioned on any charac- ter of the name and not under any character.
iFWE3insP The System Product Editor is a full-screen CMS text edi- tor. The HELP facility uses this editor to display HELP files. Many of the features of XEDIT subcommands are available for use on the displayed files. Two of the available features are:
Locate - Locate a specified character string in the file
Scrolling - Move the display up or down
See the publication VM/SP System Product Editor Command and Macro Reference for complete explanations of these features.
Not all features of the System Product Editor are avail- able for use on the displayed help files. The excluded features are: ADD, COMMAND, CURSOR, FILE, INPUT, MACRO, MODIFY, MSG, READ, REPLACE, SAVE, SET, SOS, and STACK. These are excluded to prevent unnecessary copying of HELP
3-6 files and to avoid any inadvertent changes to the help files.
While these features will not work on files displayed by the HELP facility, all the System Product Editor features are available if you wish to use the XEDIT subcommand to edit the files (calling file by XEDIT filename filetype, not through HELP).
When you issue an XEDIT subcommand to reposition the display of the file on the screen, HELP ensures that a full screen of data is displayed (if there is one). This is done to eliminate blank, or nearly blank, screens.
USIG THE W K The PF keys have the following meanings when using the HELP facility (for non-IBM 327X type terminals, the equivalent key stroke (s) for PF function keys for sup- ported terminals may be found in Appendix C).
PF1 (HELP) is used to access HELP files from a menu after the cursor is positioned at the name of the desired file.
(MENU) is used to return to a menu from a displayed HELP file. (See Figure 3.2.)
PF2 (TOP) moves the display to the top (front) of the HELP file.
PF3 (QUIT) returns to the previous file displayed. (See Figure 3.2.)
PF4 (TAB) is used to tab through a menu. Pressing PF4 while a menu is displayed causes the cursor to move to the first character of the next file name.
(PRINT) is used with HELP files other than menus. PF4 gives a hardcopy capability. Pressing PF4 while the HELP file is displayed causes a copy of the current screen to be sent to the currently spooled printer.
PF5 (LOCATE) is used with the XEDIT subcommand LOCATE on HELP files. You enter the string to be searched for on the command line. Then press PF5 to tell HELP to LOCATE the first occurrence of the string, starting with the current line. If you press PF5 again, HELP will LOCATE the next occurrence of the string, and so on. HELP highlights the line located.
3-7 For detailed information about how to use the LO- CATE subcommand, see the description in the pub- lication, VM/SP System Product Editor Command and Macro Reference.
PF6 (PREV.CMD.) retrieves the last user command is- sued from the command input area.
PF7 (UP) moves the display towards the top of file one screen. If your screen is 24 lines, the display is moved up 20 lines.
PF8 (NEXT) moves the display towards the bottom of file one screen. If your screen is 24 lines, the display is moved down 20 lines.
PF9 (PF Key) displays a file containing explanation of PF key meanings for displayed files.
PF10 (UP1/2) moves the display towards the top of file one-half a screen. If your screen is 24 lines, the display is moved up 10 lines.
PFll (NEXT1/2) moves the display towards the bottom of file one-half a screen. If your screen is 24 lines, the display is moved down 10 lines.
PF12 (CANCEL) exits from displayed HELP file. PF12 will quit all HELP files currently in storage. For example, if you called a menu, then called a HELP file from that menu, PF12 will quit both the file and the menu and return control to the ori- ginating environment. (See Figure 3.2.)
3-8 YOUR Step 1: XEDIT a file. Then you FILE want HELP for XEDIT subcommands.
XEDIT Step 2: Specify 'HELP XEDIT MENU' Menu to get the XEDIT Menu displayed.
SET Step 3: Select the *SET file from the Menu XEDIT menu and the SET Menu is displayed.
1st sub- Step 4: Select a subcommand file from command the SET Menu and the file is displayed.
2nd sub- Step 5: You specify "HELP XEDIT name" to command display the file of another subcommand.
Assume you have followed the sequence given above and the HELP file for the 2nd subcommand is being displayed.
If you were to press:
PF1 - you would return to the last Menu file displayed (in this case step 3).
PF3 - you would return to the previous file displayed (in this case step 4).
PF12 - you would quit all HELP files called and return to your pre-HELP location (in this case step 1).
I Figure 3.2 Example of Using PF1, PF3, and PF12.
3-9 E-DW-- TO CREWE EMP The remainder of this chapter is relevant only to the user creating his own HELP files. The beginning user is encouraged to skip this material.
Users can create their own personal HELP files to be used in conjunction with the HELP facility. For example, HELP files describing the use of personal commands can be created along with the "menu" containing a list of these names. The HELP facility can then be used to easily display the menu of available HELP files, or the contents of a particular HELP file. Creating The HELP facility makes use of naming conventions for filenames and filetypes to identify files which are to be used. A list of reserved filetypes for HELP is given in Figure 3.3.
------HELPCP for CP commands HELPCMS for CMS commands HELPDEBU for DEBUG subcommands HELPEDIT for EDIT subcommands HELPEXEC for EXEC statements HELPEXC2 for EXEC 2 statements HELPHELP HELP files for HELP HELPMENU for menus of HELP components HELPMSG for CMS and CP messages HELPXEDI for XEDIT subcommands HELPSET for XEDIT SET subcommands HELPPREF for XEDIT PREFIX subcommands
------
Figure 3.3 Reserved Filetypes for HELP Facility
Menus for the HELP facility have the filetype HELPMENU. The filename is the component name they serve (for exam- ple, EXEC HELPMENU is the filename filetype for the EXEC menu). Menus contain a list of the HELP files for a com- ponent. There are only a few restrictions you must fol- low when creating menu files. You may precede the list of names with any amount of information for the user. Between this information and the list of names, you must include two lines with the following HELP format words (see Figure 3.8 for a complete list of HELP formatting commands available):
.sp 2 .fo off
Following these commands, you enter the filenames in any order, but they must begin in column 1 of the file and be
3-10 one to a line. When creating a menu file in this format the HELP facility will sort the filenames alphabetically and oolumnize them based on the physical screen width characteristics, when the Menu is called. Figure 3.4 illustrates an example of a menu file.
.CM (The .CM format word can be used to include comments) .CM This is an example of a user generated "menu". UTILS .CM HELPMENU are the filename and filetype respectively. .CM .CM .CM .CM .IN 5 Menu items for UTILITIES .IN -5 .SP 2 .FO CFF RUNJOB GETTMP DELF
Figure 3.4. Contents of menu file UTILS HELPMENU
If the menu in Figure 3.4 were created and the command "HELP UTILS MENU" were issued, the following would be displayed.
MENU ITEMS FOR UTILITIES
DELF GETITMP RUNJOB
Figure 3.5. Output display of "HELP UTILS MENU"
Creating U~m HELP files have the filetype HELPxxxx where xxxx identi- fies the associated component. The first 4 characters of the component name as specified in the filename of the corresponding MENU are used. Examples of HELP filenames and filetypes are:
3-11 filename filetype comment
ACCESS HELPCMS CMS ACCESS command description
LINK HELPP CP LINK command description
DELF HELPUTIL Description of DELF command indicated in menu UTILS.
Users creating their own personal HELP files for the HELP facility can format their own file or use the format words the HELP facility supports for formatting displayed information. These format words do the following:
I Draw boxes to enclose tables, illustrations or text
Q Place comments within a file
® Indicate that certain input lines are to be included in the formatted output only under certain condi- tions
W Cause concatenation of input lines and left- and right-justification of output
Q Indent only the next input line the specified number of spaces
@ Indent a series of input lines the specified number of spaces
I Indent the specified number of spaces all but the first line in a series of input lines
Q Insert blank lines between output lines
* Change the final output representation of any input character
Figure 3.6 gives an example of a HELP file for the DELF command listed in the menu of the UTILS component.
3-12 .CM .CM HELP FILE FOR DELF C(MMAND .BX 10 79 .IN 9 .OF 13 DELPF COAND TO DELETE FILES AFTER ACKNOWLEDGEMVENT. IF FILENUDE IS NOT SPECIFIED, 'AA IS ASSUMED. IF THE RFEQUESTED FILE IS FOUND, THE NAME IS DISPLAYED AND VERIFICATION OF DELETION IS REQUESTED. .SP .BX 10 19 79 .OF -11 USAGE DELF FILENAME FILETYPE {FILEMODE} A .BX OFF
Figure 3.6. HELP file for the DELF EXEC.
3-13 Figure 3.7 shows the information displayed on the screen when the following command is issued:
HELP UTILS DELF
------
DELF OMIAND ITO DELETE FILES AFTER ACKNWLEDGUE . IF FILEMODE IS NOT SPECIFIED, A IS ASSUMED. IF THE REQUESTED FILE IS FOUND, THE NAME IS DISPLAYED AND VERIFICATION OF DELETION IS REQUESTED.
------I------USAGE DELF FILENAME FILETYPE {FILEM)DE} A
I------_. -…_ _ _ ------I
Figure 3.7. Output Display of HELP UTILS DELF
The HELP format words are summarized in Figure 3.8. Descriptions and examples of their use follow.
3-14 Figure 3.8. HELP Format Word Summary
------. ------Format Word Operand Format Function Break Default Value
.BX (BOX) Vl V2...Vn Draws horizontal and Yes Draws a OFF vertical lines around horizontal subsequent output text, line. in blank columns.
.CM Comments Places comments in a file No (COMMENT) for future reference.
.CS n ON/OFF Allows conditional No (CONDI- inclusion of input in TIONAL the formatted output. SECTION)
.FO ON/OFF Causes concatenation of Yes On (FORMAT input lines, and left and MODE) right justification of output.
.IL (IN- nl+nl-n Indents only the next Yes 0 DENT line the specified LINES) number of spaces.
.IN nl+nl-n Specifies the number Yes 0 (INDENT) of spaces subsequent text is to be indented.
.OF nI+nl-n Provides a technique Yes 0 (OFFSET) for indenting all but the first line of a section.
.SP n Specifies the number of Yes 1 (SPACE) blank lines to be insert- ed before the next output line.
.TR s t Specifies the final out- No (TRANS- put representation of any LATE) input character.
______
3-15 Ftasatting tthe A limited number of formatting capabilities are available HMP File for user generated HELP files. The most important are explained below.
Enclosing Text The HELP facility can insert vertical and horizontal (.BX Format Word) lines in the formatted output to enclose text, illustra- tions, or tables. You use the .BX format word to specify when you want the horizontal lines to appear and in which columns the vertical lines should appear.
The .BX format word is used in three steps to completely enclose text:
1. The first time you issue the .BX format word, speci- fy the columns in which you want the vertical lines to appear. For example:
.bx 1 10 20 30
results in the following output:
Note that this first occurrence of the .BX format word causes a horizontal line to appear between the first and last column you specified.
2. After the first issuance of .BX, begin entering the text that is to be enclosed. As HELP formats these lines, vertical lines are placed in the columns that you specified on .BX. However, if a column already has a data character in it, it is not overlaid with the vertical line. Note that whenever you want just a horizontal line to appear (for example, to separate lines in a table), enter the .BX format work without operands. For example:
.bx
results in the following output:
3. When you have finished entering the text that is to be enclosed, issue:
.bx off
to cause another horizontal line to appear and to prevent any more vertical lines from appearing.
3-16 This output is:
I … ---..I …-...... I…- - - I
The following example illustrates this technique of enclosing text.
.fo off .bx 1 10 50 .in 2 .of 8 Item 1 Put Iteml text here. The second line can be written here. .bx .of 8 Item 2 Then put Item2 text here. .bx off
When these input lines are processed, the result is:
Iteml Put Iteml text here. The second line can be written here. Item2 Then put Item2 text here. ______
This example shows how you can change the vertical struc- ture several times in succession. The control words:
.bx 10 40 .sp .bx 5 45 .sp .bx 10 40 .sp .bx off
result in:
______- - - - - ___ I
, _ _- -__ _ -_ _ _ -_ _ _ _-_ _- - _-_ _- _ _ __-_-_ _ _ __-- - _-,-
IP------I
I. ______I
3-17 Placing Comments In addition to text and format words, HELP files can con- in HELP Files (.CM tain conments. Comments are useful for: Format Word) @ Tracking files. You can include comments that give your name, the date and reason you created a file, and a future date at which the file may be erased.
Documenting formats. If you use a special format in a HELP file that may be accessed by other people, you may want to place notes within the file explain- ing how to update the file.
s Place-holders. If a file is incomplete, you may want to put conments in the file where information should be added later. You can place comments in a HELP file with the .CM format word:
.cm Created 12/21/75 .cm Updated 3/3/76
HELP ignores all .CM format words when processing. Conditional You can indicate to HELP that certain sections of the Display of Text file are to be displayed as output only if the appropri- (.CS Format Word) ate HELP command options are specified. These options are PARM, FORM, DESC, and ALL. (See VM/SP CMS Command and Macro Reference for information on the use of these options.)
In order for HELP command processing to display the ap- propriate information, you must use the .CS format word in the following manner:
.cs 1 on (text for DESC option) .cs 1 off .cs 2 on (text for FORM option) .cs 2 off .cs 3 on (text for PARM option) .cs 3 off
Use of Format Mode Format-mode processing means that the HELP facility (.FO Format Word) displays the output lines without breaks, unless specifi- cally requested, and right-justified. You may not want this type of formatting in all cases; you may want cer- tain output to appear exactly as it appears in the HELP file. For this, use the .FO format word to turn off format-mode processing as follows:
.fo off
3-18 When you want to resume format-mode processing, enter:
.fo on
Format-mode processing is the default.
Indenting Text When you are creating documents, you may want to set off (.IN Format Wbrd) paragraphs or portions of text by indenting them. This often improves the readability by emphasizing certain text. You can cause paragraphs to be indented using the .IN format word. For example, the lines: This line is not indented. .in 5 This line is indented. result in:
This line is not indented. This line is indented. The .IN format word causes a break so that text accumu- lated before the .IN format word is processed and displayed, then the next text is processed.
The .IN format word effectively sets a new left margin for output text so that when you want text indented you do not have to enter blanks in front of the input lines (as you would for normal typing). HELP continues to con- catenate and justify input text lines that begin to column 1, but displays the output indented the number of spaces you specify. Here's another example: These few lines of text are formatted with enough words .in 5 so that you can see how HELP's formatting process .in +3 continues and may .in -6 even be reversed, by using a negative value. These lines may result in:
3-19 These few lines of text are formatted with enough words so that you can see how HELP's formatting process continues and may even be reversed, by using a negative value.
In this example, the first .IN format word shifts output to the right five spaces so that text begins in column 6. The second .IN format word requests that the current indentation increase by three spaces so the left margin is now in column 9. When you supply a negative value with the .IN format word, the margin is shifted to the left.
To cancel an indentation that is in effect, you can use a negative value, or you can use the format word:
.in 0
Because 0 is the default value, you need not specify it when you want to restore the left margin to column 1. You can specify simply:
*in
When you want to indent only a single line of text (that is, the next output line), use the .IL format word. For example:
This line begins in column 1. .in 5 This line begins in column 6, which is now the left margin. .il -3 This line is shifted 3 spaces to the left of the current margin. .il 3 This line is shifted 3 spaces to the right of the current margin.
HELP processes these lines as follows:
3-20 This line begins in column 1. This line begins in column 6, which is now the left margin. This line is shifted 3 spaces to the left of the current margin. This line is shifted 3 spaces to the right of the current margin.
Because the .IL format word causes a break in text, you may find it useful to indicate the beginning of a new paragraph. For example:
.il 3 This line begins a paragraph. .il 3 This line begins another.
These lines result in:
This line begins a paragraph. This line begins another.
Use of Offsets In HELP formatting, an offset differs from an indentation (.OF Format Word) in that offsets do not affect the first line immediately following the format word; the second and subsequent in- put lines are indented the specified number of charac- ters. This is useful, for example, when formatting num- bered lists where text is blocked to the right of the number.
When a .OF format word is processed, the next text line is printed at the current left margin and subsequent lines (until the next .OF or .IN format word) are offset the specified number of characters. For example, the lines:
3-21 .of 5 ----- This line begins a 5-character offset. .of 5 ---- This is another line offset 5 characters. .in 5 An indent changes the left margin and cancels the offset. .of 3 ---This paragraph begins at the new left margin. .of 3 ---Here's one more line.
result in:
-----This line begins a 5-character offset. -----This is another line offset 5 characters. An indent changes the left margin and cancels the offset. ---This paragraph begins at the new left margin. ---Here's one more line.
An offset can be canceled with the format word:
.of 0
This format word causes a break; subsequent text is printed at the current left margin, that is, whatever the indention is (0, if no .IN format word is in effect).
Any INDENT format word cancels a current offset and resets the left margin. If you specify a positive or negative increment with the INDENT format word and an offset is in effect, the offset is canceled and the new left margin is computed from the current indent value.
The .IL (INDENT-LINE) format word uses the current margin (the indent value plus the offset value) when computing the margin for the next line.
To achieve a format that has several levels of offset- ting, you can combine the .IN and .OF format words.
When you use blank space following the item indicator (for example, the number in a numbered list), HELP may
3-22 add extra blanks when it justifies the line; if so, the first line may not be aligned with the remainder of the offset item.
Spacing Between If you do not want an input line to be concatenated with Lines of Text (.SP the line above it, you must cause a break. To cause a Format Word) break in a HELP file, begin a line with one or more blank characters (by using the space bar on your terminal key- board). When HELP reads an input line that begins with a blank character, the formatting process is interrupted; all of the text that has accumulated for the current line is displayed as is, even if more words would have fit on the line; the next input line begins a new output line.
To create paragraphs in text, then, all you have to do is to enter spaces at the beginning of each line that is to begin a new paragraph. For example, the input lines:
This is all part of the first sentence. But the second line begins a new paragraph since it begins with a blank.
may be displayed by HELP as:
This is all part of the first sentence. But the second line begins a new paragraph since it begins with a blank.
If you want to place blank lines between lines of text, you can press the space bar at least once on a line that has no other text, then press the Return or Enter key.
Instead of entering a blank line, you can use the .SP format word. Thus the input lines:
This is line 1. .sp This is line 2.
are formatted as follows by HELP:
This is line 1. < …--1 blank line This is line 2.
The .SP format word allows you to enter a numeric parame- ter indicating how many spaces you want to leave on the text output. For example:
3-23 .sp 5
indicates that you want to leave five lines of space in the text output. You can use multiple spaces when you want a heading or a title to stand out, for example the lines:
This is line 1. .sp 3 This is line 2 (after 3 blank lines).
will result in:
This is line 1.
This is line 2 (after 3 blank lines).
Translating Output After HELP has formatted an output line but before it Characters (.TR displays that line, HELP may translate any of the charac- Format Word) ters in that line to a different character representa- tion. You use the .TR format word to request that this translation be done. For example, to request that all blanks (x'40') in the file be displayed as question marks, enter:
.tr 40 ?
To stop the translation of the question mark as a blank, enter:
.tr ? ?
Note that when the .TR format word is used without operands, the translation of all characters is stopped.
For a list of related IBM publications, please refer to I 7 11:131F - - - Section I, Appendix C of this User's Guide.
3-24 CETR 4 1:I ON I 4341
Since the SCD IBM 4341 utilizes VM/CMS, an interactive operating system, it provides for the first time an in- teractive editing environment to users of the Scientific Computing Division. Users can now store programs, parts of programs, and even mod decks online in files rather than in boxes of punched cards. Such files can be creat- ed and modified interactively using the editor in one of two modes--full-screen editing or line editing.
FuU-Smeen The advent of CRT-based screen terminals and higher com- Editi!a munication speeds has given rise to a different approach to editing, referred to as screen (or full-screen) edit- ing. The most striking difference for the user is the way in which position is specified in the file being edited. With an entire screenful of text displayed, a "cursor" is used to point to a specific line and column in the file. On most terminals, the cursor is identified as a reverse video character, that is, the character is dark on a light background while the other characters are light on dark. Editing commands are available for posi- tioning the cursor on the screen and for changing the portion of the file displayed on the screen.
Line Eitig The IBM editor can also be utilized as a line editor. Most interactive line editors are designed around the as- sumption that you are sitting at a mechanical printing terminal, such as an IBM typewriter terminal or a Tele- typewriter device, connected to the computer via a slow cormunications line (typically 300 baud, 37 characters per second.) Since printing is relatively slow with this equipment, you would want to print only the the necessary parts of the file on the terminal. Consequently, many of the editing commands serve to identify the place in the file where the modifications are to take place; editor commands are used to define the "current line" and "current column" in the file. A separate editor command is given to print the current line on the terminal. Hav- ing thus established your position, you can issue com- mands that modify the file at that point. For example, you might "insert" some lines at that point, "change" a character string in the current line, "replace" the current line with one or more lines, "copy" or "move" the current line to another point in the file or "delete" the current line and perhaps some of those around it.
XaJl on the SOD The SCD IBM 4341 editor is called XEDIT. XEDIT is capa- 1M 4341 ble of functioning both as a line editor and as a screen editor, although not all SCD users will be able to use the screen editing facilities. Since the screen editing functions of XEDIT were specifically designed for use
4-1 with IBM terminals, you can only make use of them with an IBM terminal or with a substantial minicomputer and the necessary software between the 4341 and the terminals. The minicomputer performs the appropriate conversions for translating signals meant for IBM terminals into codes that some other terminal can understand and vice versa.
Within SCD, this means that users who can access the 4341 via the IBM Series One minicomputer will have a choice of full-screen mode or line editing mode. Users coming in through the 3705 will have only the line editing capabil- ities. From past experience, most users who are faced with such a choice eventually end up using the screen ed- itor, although there are definite advantages to being fluent in both forms of editing. For example, it is con- venient to be able to go back to the line editor when a slow communications line (perhaps a 300 baud modem on a phone line) makes it frustrating to wait for the screen editor to refresh the screen. Another cammon use of the line editing function is to put repeated sequences of commands into an editor command file that can be called up to perform the same operations on different files. For example, one might have a series of editing commands that make the long lines of printed output from a CRAY-1 run legibly on a screen terminal, so that one can con- veniently read one s output from a terminal. This edit- ing can be done automatically if the line editing com- mands are put into a file that can be executed every time a printout comes back from the CRAY-1.
As a general rule, it is wise for everyone to learn the line editing commands. These commands can be used with either screen or typewriter terminals, with any communi- cations line (whether or not it goes through the Series One), and in EXEC files that perform sequences of editing operations automatically (at this printing, some NCAR EX- ECs execute only with full-screen capabilities). On the other hand, users who access the 4341 from an IBM screen terminal or through the Series One with some other type of screen terminal should also learn the screen editing functions of XEDIT.
Users who do not have access to the Series One or to IBM screen terminals can use only the line editing facilities of XEDIT. Another mincomruter, a PDP 11/34, is being programmed to perform the conversion functions of the Series One and will eventually provide another avenue to interactive screen editing on the 4341.
4-2 a~I The rest of this chapter is a slightly modified version of chapters 1 and 3 of the IBM document IBM VM/SP: Sys- tem Product Editor User's Guide. It is strictly a tu- torial introduction to the editing facilities that are available to all SCD 4341 users, and is by no means an exhaustive description of the editing capabilities of XEDIT. Anyone who will be doing extensive editing on the 4341 is encouraged to get copies of both the User's Guide mentioned above and of the IBM VM/SP: System Product Ed- itor Ccmmand and Macro Reference.
TME nB 4341 Fnon SCEM EDHTQR
XH~~ITQinxx~~~- After you log on to VM/SP and enter the CMS environment, you are ready to begin creating a file. The editor is invoked with the following CMS command:
XEDIT filename filetype
In the following example, the editor was invoked with the ccmmand:
xedit driver fortran
Before we see how to enter data in the file, let's look at the screen layout:
DRIVER FORTRAN Al F 80 TRUNC=72 SIZE=0 LINE=0 COLUMN=l
=---- * * * TOP OF FILE * * * · ·-+.... 1....+....2....+....3....+....4....+....5...... » .»«6.... +> ==----- * * * END OF FILE * * *
XEDIT 1 FILE
4-3 * File Identification Line The first line on the screen identifies the file being edited. The following information is displayed:
a. filename, filetype, filemode (DRIVER FORTRAN Al) If you do not specify a filemode, the editor assigns a filemode of "Al", which means that the file is to become part of a file collection called your "A-disk".
b. record format and record length (F 80) The record format and record length shown in the example mean that in this file, the length of a line can vary and the file will hold lines up to 80 characters long. A file line can be longer than a screen line.
c. truncation column (TRUNC=72) Any data that is entered beyond 72 characters (in total) is truncated.
d. current number of lines in the file (SIZE=0) Since we have not yet entered data in the file, the number of lines is zero.
e. file line number of the current line (LINE=0)
f. position of the column pointer (COLUMN=l)
* Message Line The editor communicates with you by displaying mes- sages on the second line of the screen. These mes- sages tell you if you have made an error, or they provide information. In the example, this line is blank.
* Cammand Line The large arrow (===>) at the bottom of the screen points to the command input area. One of the ways you communicate with the editor is by entering XEDIT subcommands on this line. Subcommands can be typed in either uppercase or lowercase, or a combination of both, and many can be abbreviated. For example, "INPUT", "Input", and "i" are all valid ways to type the INPUT subcommand.
After typing a subcommand on the command line, you must press the ENTER key to execute the subcommand. (To move the cursor from any place on the screen to the command line, just press the ENTER key.)
4-4 * Status Area The lower right corner (XEDIT 1 FILE) displays the current status of your editing session, for example, edit mode or input mode, and the number of files you are editing. The status area in the example shows that one file is being edited.
* Prefix Area The prefix area is the five left-most columns on the screen and displays five equal signs (=====). Each line in the file has a prefix area associated with it.
You can perform various editing tasks, like deleting a line, by entering one-character commands, called "prefix subcommands", in the prefix area of any line.
* File Area The empty portion of the screen is available to display the file, once editing has begun.
* The Current Line The current line is the file line in the middle of the screen just above the scale.
In the example, the current line is the "TOP OF FILE" line; at this point, the file contains no data.
The current line is an important concept, because most subccmmands perform their functions starting with the current line. Naturally, the line that is current changes during an editing session as you scroll the screen, move up and down, and so forth.
* Scale The scale appears under the current line to assist you in editing. It's like the margin scale on a typewriter.
The vertical bar (|) that appears in column one on the scale is the column pointer. Various subcom- mands perform their functions within a line starting at the column pointer, which you can move to dif- ferent positions on the scale by using XEDIT subcom- mands that will be discussed later. The column under which the column pointer is positioned is called the current column.
4-5 Eatering Data After you enter the XEDIT command, you are in edit mode. You must be in edit mode to enter XEDIT subcommands.
You can enter data into the file using input mode or power typing mode, which are discussed next.
PUTSubcand To enter input mode, type the following subcommand in the command line and press the ENTER key:
===> INPUT
You can then type in your data. The FORTRAN filetype allows you to type data in either upper or lower case and have it entered into the file in upper case.
The next example shows the same file, DRIVER FORTRAN, that is shown in the first example. However, the INPUT subcommand has been entered and the lines of data (each followed by a carriage return) have been typed on the screen. Notice how the screen changes in input mode: the prefix areas (=====) disappear; the message line and status area tell you that you are in input mode; the com- mand line contains the phrase "INPUT ZONE", which marks the end of the input zone and reminds you that you cannot enter subcommands in input mode.
If you have no more data to type, pressing the carriage return twice takes you out of input mode and back into edit mode.
During an editing session, you can enter input mode at any time to insert new lines of data in the file. As you have seen, after the INPUT subcommand is entered, the editor makes room for you to type new lines of data after the current line. In this example, since the file was new and the INPUT subcommand was the first subcommand entered, the TOP OF FILE line was the current line. Later, you will see how to make any line current, so that you can insert lines in input mode between any two exist- ing lines in the file.
4-6 DRIVER FORTRAN Al F 80 TRUNC=72 SIZE=21 LINE=9 COLUMN=l DMSXMD573I INPUT MODE:
* * * TOP OF FILE * * * C C DRIVER PROGRAM FOR SOLVING SYSTEM C GCOMON /BIGBLK/ XLIN(25), AMTRX(32,25), BLIN(32) C CALL INITRD CALL SOLVE (32,25,AMTRX,XLIN,BLIN) CALL ENDPR (25,XLIN) END .1...... 1...... 2... + ..... 43....+45 o ....+...... 6.... +>
===> * * * INPUT ZONE * * * INPUT-MODE 1 FILE
VECOER Sdhxa-ian] The easiest way to enter a large amount of text, like one long paragraph, is by using "power typing". To use power typing, enter the following subcommnand:
===> POWER
The advantage of using power typing is that you can enter data as if the screen were one long line. You do not have to be concerned with line length or word length--you can start typing a word on one line of the screen and finish it on the next. In fact, if you're a skilled typ- ist, you don't even have to look at the screen. When you reach the end of a line, the editor automatically "wraps around" to the beginning of the next line. You can type continuously until the screen is filled.
If you fill up a screen and want to continue typing in power typing mode, press the ENTER key once. The last line you typed is displayed at the top of the screen; the rest of the screen is blank and you can continue typing.
When you are finished typing, press the ENTER key twice to exit from power typing and re-enter edit mode. The editor automatically divides the data into appropriate screen lines and reconstructs any split words.
During an editing session, you can use power typing at any time by entering the POWER subcammand. The data
4-7 entered using power typing is inserted after the current line, as it is when you use the INPUT subcommand.
The screen changes in several ways in power typing mode: the prefix and status areas disappear; the line that was current when the POWER subcommand was entered moves to the top of the screen, and the rest of the screen is available for typing data.
Causing a Break in If you want to cause a break in the data that you type in the Data power typing mode, that is, you want -data to start on a new line, you can type a line end character before the data that you want to start on a new line. The default line end character is a pound sign (#).
For example, if the following data is typed in power typ- ing mode:
c #c driver program for solving system #c
The data will be entered in the file as:
__--- C C _____ , DRIVER PROGRAM FOR SOLVING SYSTEM ____- C
Inserting If you want to insert characters or spaces in a line Characters while you are in power typing mode, you can use the in- sert mode key. When characters are inserted, the entire stream of data shifts to the right; it's like inserting a box car in a train. Remember to press the RESET key when you are finished inserting characters.
Using Progjra Each PF key is set to an XEDIT subccmmand, which is exe- Fu Keys cuted when the key is pressed. Using the PF key saves you the time it takes to type that subcommand on the ccm- mand line and press the ENTER key.
You can use the following subcommand to display the PF key settings:
===> QUERY PF
The initial settings are as follows:
4-8 PF1 HELP MENU PF2 SOSLINEADD PF3 QUIT PF4 TABKEY PF5 SCHANGE 6 PF6 ? PF7 BACKWARD PF8 FORWARD PF9 = PF10 SPLIT CURSOR PFll JOIN CURSOR PF12 CURSOR COLUMN
These are the subcommands that the editor assigns to the PF keys. (See Appendix C for configuration of PF keys on your terminal). If you would rather have a different subcamnand assigned to one (or more) of the PF keys, you can use the SET PF subcommand, whose format is as fol- lows:
===> SET PFn subcommand
where "n" is a PF key number, and "subcommand" is any XEDIT subcommand.
For example:
===> set pfl input
assigns the INPUT subcommand to the PF1 key. Pressing the PF1 key would immediately place you in input mode.
When you assign a subcommand to a PF key, the setting remains in effect only for the current editing session. In the next editing session, the initial settings shown above are in effect.
The following sections show how to use some of the PF keys (initial settings). Others will be discussed where appropriate.
Splitting and Two PF keys that are useful in text processing are PF10 Joining Lines and PFll, which allow you to split and join lines, respectively, at the cursor position.
Splitting a Line (PF10) To split a line in two, simply move the cursor under the character where you want the line to be split, and press the PF10 key.
In the following line, the cursor is placed under the "I" in "IN".
4-9 ===== BIRD SPECIES HAVE DWINDTED IN THE LAST 70 MILLION YEARS.
When the PF10 key is pressed, the line is split in two:
===== BIRD SPECIES HAVE DWINDTED ===== IN THE LAST 70 MILLION YEARS.
Now there's room to add information on the line:
===== BIRD SPECIES HAVE DWINDLED FROM 1.5 MILLION TO 10,000 IN-==== THE LAST 70 MILLION YEARS.
Joining Two Lines (PFll) Pressing the PF11 key joins two lines at the cursor position.
For example:
===== These lines are …=====tooshort.
Note the cursor position above. Pressing the PFll key produces the following line:
===== These lines are too short.
Keep in mind that the line that is appended, or joined, overlays any data that follows the cursor.
For example:
===== The phrase "Things get worse under pressure" ===== is to be deleted.
Pressing the PFll key overlays the data that follows the cursor in the first line and results in the following:
===== The phrase is to be deleted.
Scrolling BaRckard When a file is too long to fit on one screen, you can use and Ftorward the PF7 and PF8 keys to scroll back and forth through the file.
Pressing the PF7 key, which is set to the BACKWARD sub- commnand, scrolls the screen backward, toward the top of the file, for one screen display.
Conversely, pressing the PF8 key, which is set to the FORWARD subcommand, scrolls the screen forward, toward the end of the file, for one screen display.
4-10 You can press either key repeatedly to scroll back or forth for as many screens as you wish.
eisplaying a After a subcommand that has been typed in the command Subxaaoml line is executed, the command line is cleared. If you use a PF key, the subcommand doesn't appear in the cxn- mand line at all. Sometimes, you'd like to be able to see the last subcommand that was executed. Perhaps you pressed the wrong PF key, or you didn't enter a subcom- mand the way you intended to.
Pressing the PF6 key (which is set to the ? subcommand) displays, in the command line, the last subcommand that was executed.
You can then re-execute the subcommand simply by. pressing the ENTER key. If the subccmmand was entered incorrect- ly, you can correct the error by typing over the subcom- mand displayed in the command line and then pressing the ENTER key.
eting a Use the PF9 key, which is set to the = subcammand, to Suoonaa re-execute the last subcomrmand entered. The subcommand does not appear in the command line, as it does when the PF6 key (which is set to the ? subcommand) is used.
Each time the PF9 key is pressed, the subcommand is exe- cuted, thereby saving you the time it takes to re-type the subcommand.
Inserting ibx& in a Ting
Using the PA2 Key One way to insert letters, spaces, or words in a line is by pressing the PA2 key (or its equivalent) and then by using the insert mode key.
The PA2 key replaces blank spaces at the end of a line with null characters; it "makes room" for the characters in the line to be shifted over so that new ones can be inserted.
The PA2 key operates on only one line at a time; if you move the cursor to another line and want to use insert mode, you must press the PA2 key again.
Remember to press the RESET key when you are finished us- ing insert mode.
This method may be used in both input mode and edit mode, but not in power typing mode. You cannot set the PA2 key to any other function.
4-11 Using PREFIX Prefix subcommands are one-character commands used to Sdbcs perform basic editing tasks on a particular line.
The following prefix subcommands are described in this section:
A (add) D (delete) I! (duplicate) M (move) C (copy) F (following) P (preceding) / (set current line)
Prefix subcomands are entered by typing over any posi- tion of the five-character prefix area on one or more lines. When the ENTER key is pressed, all of the prefix subcommands that have been typed on the screen are exe- cuted.
-Awwv andi Deleting L~
A Prefix To add a line, type the single character "A" in the pre- Subcommand fix area. When the ENTER key is pressed, a blank line is inserted immediately following the line containing the "A". A number may precede or follow the "A" to indicate that more than one line is to be added. For example, "A5" causes five blank lines to be added.
The following are valid ways to type the A prefix subcom- mand.
====A Adds one blank line after this line. a== Adds one blank line after this line. 10a== Adds ten blank lines after this line. ===A5 Adds five blank lines after this line.
4-12 Information may then be typed in the added lines. If no information is typed, the blank lines remain in the file throughout the editing session and after the file is written to disk.
D Prefix To delete a line, enter the single character "D" in the Subcommand prefix area of a line.
A number may precede or follow the "D" to indicate that more than one line is to be deleted.
To delete a group of consecutive lines, that is, a block of lines, you can enter the double character "DD" in the prefix area of both the first and last lines to be delet- ed. This method makes it unnecessary for you to count the number of lines to be deleted.
For example:
==dd= This is the first line I want to remove. ===== This is the second. ===== This is the third. ===-= This is the fourth. ===dd This is the fifth.
When the ENTER key is pressed, the above lines are deleted.
The first and last lines of the block need not be on the same screen; you may scroll the screen before entering the second "DD". When one "DD" has been typed and the ENTER key pressed, the status area of the screen displays "BLOCK INCOMPLETE". You can use the PF7 or PF8 keys to scroll the screen until you find the last line of the block, and then type "DD" in its prefix area. When the ENTER key is pressed, the entire block of lines is deleted.
Lost and Found If you delete one or more lines, you can recover them at Department any time during an editing session by using the RECOVER subcommand.
The following subcommand returns lines deleted in an editing session:
===> RECOVER n
where "n" represents the number of lines you wish to recover.
The recovered line(s) is inserted immediately before the current line. If the lines were deleted from different places in the file, you'll have to put them back where
4-13 they belong (by using the M prefix subcommand, discussed below.)
If you want to recover all lines that were deleted during an editing session, use the form:
===> RECOVER * IL~ Li~ To duplicate a line, enter the character " (double quote) in the prefix area of a line. A number may precede or follow the " to duplicate the line more than one time. For example:
=3"== I want three more copies of this line. ===== The end.
When the ENTER key is pressed, the file looks like this:
I want three more copies of this line. I want three more copies of this line. I want three more copies of this line. I want three more copies of this line. The end.
To duplicate a block of lines either one time or a speci- fied number of times, you can type "" (two double quotes) in the first and last lines of the block. A number can precede or follow the first "" (for example, 5"") to duplicate the block more than one time.
When one "" has been typed and the ENTER key pressed, the status area of the screen displays "BLOCK INCOMPLETE". This allows you to scroll the screen before completing the block and pressing the ENTER key. onviPM ii cjb fluv~Laes To move one line, enter the single character "M" in the prefix area of the line to be moved. You must indicate its destination by entering either the character "F" (following) or "P" (preceding) in the prefix area of another line.
When the ENTER key is pressed, the line containing the "M" is removed from its original location and is inserted in one of the following:
* immediately following the line containing the "F"
* immediately preceding the line containing the "P"
A number may precede or follow the "M" to indicate that more than one line is to be moved, for example, "5M" or "M5".
4-14 The line to be moved and the destination line can be on different screens. When either an "M" or "F" (or "P") has been entered, the status area of the screen displays "COPY/MOVE PENDING". This pending status allows you to scroll the screen before entering the other prefix sub- command.
To move a block of lines, enter the double character "MM" in the prefix area of both the first and last lines to be moved. The first and last lines to be moved, and the destination line may all be on different screens. You can use PF keys to scroll the screen before pressing the ENTER key.
The procedure for copying lines is the same as for moving lines, except that a "C" or "CC" prefix subcommand is used instead of "M" or "MM". The copy operation leaves the original line(s) in place, and makes a copy at the destination line, which must be indicated by "F" or "P".
The next example is a before-and-after picture of the delete, add and move features.
DRIVER FORTRAN Al F 80 TRUNC=72 SIZE=21 LINE=9 COLUMN=l
===== * * * TOP OF FILE * * * ===DD C ===== C DRIVER PROGRAM FOR SOLVING SYSTEM =DD== C ..==.= COMMON /BIGBLK/ XLIN(25), AMTRX(32,25), BLIN(32) D=--== C ===M= CALL INITRD .==.= CALL SOLVE (32,25,AMTRX,XLIN,BLIN) === |...... 1...... 2 ....+ ....3....+.. ...4...... 5*.+.... 6***+>.... ===-:F CALL ENDPR (25,XLIN) 2"=== END ===== * * * END OF FILE * * *
=-----> XEDIT 1 FILE
4-15 DRIVER FORTRAN Al F 80 TRUNC=72 SIZE=7 LINE=9 COLUMN=1 * * * TOP OF FILE * * * =====MMON /BIGBLK/ XLIN(25), AMTRX(32,25), BLIN(32) CALL SOLVE (32,25 ,AMTRX ,XLIN,BLIN) =====... +....1...+....2...+....3....+....4....+....5....+....6....+> CALL ENDPR (25,XLIN) =====CALL INITRD END END ===== END * * * END OF FILE * * *
--= ==-> XEDIT 1 FILE
Setting the Many subcommands begin their operations starting with the current Line V) current line. For example, the INPUT subcommand makes room for you to enter data after the current line. You have already seen the INPUT subcomnand used to insert lines after the TOP OF FILE line.
The / (diagonal) prefix subcommand can be typed in the prefix area of any line on the screen. When the ENTER key is pressed, that line becomes the current line. Then, if you enter an INPUT subcommand, the new lines en- tered in input mode will be inserted between the current line and the line that followed it.
Canlilng Prefix If you have entered one or more prefix subcommands that Sdb,__,,,ds create a "BLOCK INCOMPLETE" or a "COPY/MOVE PENDING" status, you can cancel all these prefix subcommands by entering the following subcommand in the command line:
---==> RESET
When the ENTER key is pressed, all prefix subcommands disappear from the display and the prefix areas are restored with equals signs (=====).
If you have typed any prefix subcommands (even those that do not cause an incomplete or pending status) but have not yet pressed the ENTER key, you can press the CLEAR
4-16 key to remove them.
Mbving ThrQugh a The following subcommands are discussed in this section: File BACKWARD FORWARD TOP BOTTCM UP DOWN
---- D and Scrolling the screen is like turning the pages of a book. You have already seen that the PF7 and PF8 keys are set &&W-V