GC20 1804 3_VM370_Command_Language_Rel_2_Jan75 3 VM370 Command Language Rel 2 Jan75
User Manual: GC20-1804-3_VM370_Command_Language_Rel_2_Jan75
Open the PDF directly: View PDF .
Page Count: 458
Download | |
Open PDF In Browser | View PDF |
File No. 8370-36 Order No. GC20-1804-3 Systems IBM Virtual Machine Facility/370: Command Language Guide for General Users Release 2 PLC 13 This publication provides general users with the basic information they need to use the CP and CMS command languages of VM/370. General users are those users who program, test, and execute applications in a virtual machine. VM/370 (Virtual Machine Facility/370) is an operating system that manages the resources of a single System/370 computer so that multiple computing systems (virtual machines) appear to exist. VM/370 consists of a Control Program (CP), which manages the real computer, a Conversational Monitor System (CMS), which is a generalpurpose conversational time-sharing system that executes in a virtual machine, and a Remote Spooling Communications Subsystem (RSCS), which spools files to and from geographically remote locations. This publication has two parts and several appendixes. Part 1 is the usage information; it contains the rules for using the command languages and information about virtual disks, CMS files, and virtual machine operation. Part 2 is the reference information; it describes each of the CP and CMScommands for general users. The appendixes include information about the functions of VM/370 commands, problem program debugging, the CMS Batch Facility, CMS macro instructions, and CMS filetype and filemode conventions. Prerequisite Publications Introduction to Virtual Storage in System/370, Order No. GR20-4260 IBM Virtual Machine Facility/370: Terminal Users' Guide, Order No. GC20-181 0 GC20-1804-3 Page Modified by TNL GN20-2659 This edition, together with Technical Newsletter GN20-2659 dated March 31, 1975, corresponds to B~l~~§~ l g1~ 11 (Program Level Change) of the IBM Virtual Machine Facility/370, and to all subsequent releases unless otherwise indicated in new editions or Technical Newsletters. Changes are periodically made to the specifications herein; before using this publication in connection with the operation of IBM systems, consult the latest 1~~ ~1§1~~LJ§Q ~nQ ~1§1~~LJ1Q ~i~liQ~!~E~l, Order No. GA22-6822, and its Yi!1g~1 ~1Q!~~~ ~gEE1~~~n1, Order No. GC20-0001, for the editions that are applicable and current. Technical changes and additions to text and illustrations are indicated by a vertical bar to the left of the change. Requests for copies of IBM publications should be made to your representative or to the IBM branch office serving your locality. IBM A form for readers' comments is provided at the back of this publication. If the form has been removed, comments may be addressed to IBM Corporation, VM/370 Publications, 24 New England Executive Park, Burlington, Massachusetts 01803. Comments become the property of IBM. © copyright International 1974, 1975 Business Machines Corporation 1972, 1973, GC20-1804-3 Page Modified by TNL GN20-2659 Preface This publication is an introduction to, and a user's guide and reference manual for, all general users of the VM/370 command languages (CP and CMS) • It contains only those commands available for general users; other commands are listed in the publications !~~ Virtual ~~£h!B~ ~~f!1!!IL11Q: Order No. GC20-1806, Order No. ~~£!l!1ILllQ: ~~£~!n~ GC20-1807, f!Qg!~~~~!~§ ~~£!l!!IL11Q: ~2~~Yn!£~!!Qn§ ~Y!£~' §I§!~! Q£~!~!2!~§ IBM Virtual !~~ and 2Y~§I§!~m ~~~Q!~ (~2~2) -Guide: Machine -Guide: vIrtual 2~QQ!Ing ~§~!~§ Order No. GC20-1816. The publication is organized in parts: "Part 1: Usage Information" "Part 2: Reference Information". two and Part 1 has six sections: "section 1: Introduction and General Concepts" is a summary of general concepts you should be familiar with when you are using VM/370. "Section 2: The VM/370 CP and CMS Command Languages" describes the VM/370 command environments, the general structure of the command language, and, in general, how to use the features of the VM/370 command languages to help you solve programming problems. machine. It includes information about the virtual machine console, attaching devices, handling tape drives, loading operating systems, spooling the console, reading cards, printing, punching, disconnecting the terminal, and alternating execution of operating systems in one virtual machine. Part 2 is in two sections: "Section 7: Format and Usage Rules for CMS Commands" and "Section 8: Format and Usage Rules for CP Commands" provide you with all the information you need to use the commands and facilities of VM/370. Also included is a summary of the notational conventions used to describe the commands. The "Appendixes" include more reference information. They include a list of the functions performed by VM/370 commands, information on how to debug using VM/370, how to use 'the CMS Batch Facility, a list of macros you can use with the VM/370 assembler, a chart showing the filemodes related to files manipulated by CMS commands, and a list of filetypes reserved by VM/370. In this publication, terminology is used: ~ "Section 3: CMS Virtual Disks and How to Use Them" describes the virtual disk system for your virtual machine and how to use it. "Section 4: The CMS describes the file as it is system. This section gives on how to create and name a are used in the system, and OS data sets and DOS files. • File System" used in the CMS you information I . file, how files how CMS handles • "Section 5: Writing and Executing a Sample Program US1ng CMS" is an introduction to the VM/370 interactive programming environment. In this section, you are given a program that you can enter at your terminal as you read the book. Together with the information in the four preceding sections, this sample program should provide you with the basic information you need to use your virtual machine and its interactive capabilities. "section 6: describes the Virtual Machine operation of Operation" a virtual the following "3330 series" is used to refer to the IBM 3330 Disk Storage Models 1, 2, and 11, and the IBM 3333 Disk Storage and Control Models 1 and 11. 2305 refers to the IBM 2305 Storage, Models 1 and 2. to 3270 refers station. the Fixed Head 3277 Display Any information pertaining to the IBM 2741 terminal also applies to the IBM 3767 terminal unless otherwise noted. For a glossary of VM/370 terms !]~ !!!!~~1 ~~£~!~ ~nQ ~~§!~! !nQ~!, see the ~~f!!!!IL11Q: Q!~§§~!I Order No. GC20-1813. PREREQUISITE PUBLICATIONS You should be familiar with the information in the publications listed on the front cover before you use this publication. If the IBM 3767 Communication Terminal is a virtual console, the publication !~~ 1167 Q£~!~!Q!~§ §~!g~, Order Ho. GA18-2000, is also a prerequisite. ~1§!~! R!Q9I~!~!~§ GC20-1807 ~l§te! ~~SSgg~§, §~ide, Order No. Order Ho. GC20-1808 COREQUISITE PUBLICATIONS The information in the following publications describes certain VM/370 facilities in greater detail and with more examples than can be contained in this pUblication: ~~!I ~~!g~, Order Ho. GC20-1805 References in text to titles of prerequisite and corequisite VM/370 publications will be given in abbreviated form. GC20-1804-3 Page Modified by TNL GN20-2659 summary of Amendments for GC20-1804-3 VM/370 Release 2 PLC 13 VM/370 MEASUREMENT FACILITY !g!: Program Feature !g!: Program Feature new class G coamand, INDICATE, allows you to display, at your terminal, certain system load conditions and your virtual machine's use of system resources. The following changes to this aanual reflect this support: VM/370 now supports the IBM 3270 Information Display System as a remote virtual machine console attached via nonswitched point-to-point lines to a 2701 Data Adapter Unit, 2703 Transmission Control Unit, or 3704/3705. Communications Controller in emulation aode. The remote 3270 user also has the capability of copying an entire screen display on a 3284, 3286, or 3288 Printer at the remote location. ! • "section 8: Format and Usage Rules for CP Commands" is updated to include the new INDICATE command. • "Figure 34. Commands Accepted from Each User Class" is updated. • "Figure 35. updated. • "Figure 44. Commands for System Hardware Analysis" is updated. CP Command Summary" The following changes to reflect this new support: this manual is • "Section 7. Format and Usage Rules for CMS Commands" is updated to reflect additional operands and subcommands of the EDIT command. • "Section 8. Format and Usage Rules for CP Commands" is updated to include the COpy function of the SET command. • "Figure 34. Commands Accepted from Each User Class", "Figure 36. Commands to Control a Terminal Session", and "Figure 42. Commands to Control VM/370" are updated to reflect additional operands to the NETWORK, QUERY, and SET commands. and VM/VS HANDSHAKING FEATURE !g!: programming Feature The VM/VS Handshaking feature is a communication path between VM/370 and OS/VS1 that makes each system control program aware of certain capabilities and requirements of the other. The following changes to this manual reflect this support: NEW OPERANDS FOR SET COMMAND • A new operand, PAGEl, is added to the CP SET command. • The response for the command line is updated. !g!: Program Feature CP QUERY SET • "Figure 34. Commands Accepted from EAch User Class" is updated. • "Figure 41 Commands Control is updated. for Virtual Machine Two new operands to the SET command described in "Section 8: Format and Usage Rules for CP Commands" allow the virtual machine user to enable and disable the EeMODE and/or ISAM options, dynamically. GC20-1804-3 Page Modified by TNL GN20-2659 NEW OPERAND FOR SLEEP COMMAND MISCELLANEOUS !g~: fh~~ggQ: Program feature A delay time interval may now be specified as an operand on the SLEEP command line. The use of this optional operand causes the virtual machine to automatically awaken at the end of the specified time interval. The new command format is described in "Section 8: Format and Usage Rules for CP Commands". Documentation Only This Technical Newsletter contains other minor technical and typographic changes. Summary of Amendmen~s for GC20-1804-3 VM/370 Release 2 PLC 11 NEW DEVICE SUPPORT • "Section updated. !&!! Program Feature • The IBM 3340 Direct Access Storage Facility is now supported by VM/370. This support includes Rotational Position Sensing (RPS) and the 3348 Data Module, Models 35, 70 and 70F (supported as a Model 70) • The following changes to this manual reflect this support: The eMS ACCESS, FILEDEF, LISTDS, MOVEFILE, and STATE command descriptions in "Section 7: Format and Usage Rules for CMS Commands" ar~ updated. • "Figure 37. Commands to Develop Programs and Process Data" is updated. • The control statements and messages of the DASD Dump Restore program are updated. CMS ZAP SERVICE PROGRAM ENHANCED • T3340 is a new operand for the CP DEFINE command. 4: The CMS File System" is !g!: Program Feature • The device type field in the response for the CP QUERY VIRTUAL DASD command line is updated. VM/370 supports the IBM 3767 Communication Terminal (at 300 bps) operating as an IBM 2741 Communication Terminal only. No coding changes were necessary; the following changes to this .anual reflect this support: • The list of prerequisite publications in the preface is updated. • "The Terminal: Your Virtual Console" discussion in "Section 5: Writing and Executing a Program Using VM/370" is updated. • The discussions of the BLIP and AUTOREAD functions of the CMS SET command are updated. • The discussion of the APL operand of the CP TERMINAL command is updated. The CMS ZAP service program is enhanced so that it can now modify or dump TXTLIB and MODULE files in addition to LOADLIB files. "Figure 13. CMS Command Summary" is updated to reflect this support. This service program is intended for use by system support personnel only. NEW SUBSYSTEM SUPPORTED AS VM/370 COMPONENT !~!: The Remote Spooling Communications Subsystem (RSCS) is nov supported as a VM/370 component. RSCS transmits spool files across a teleprocessing network to and from remote stations. Re.ote stations supported include HASP- and ASP-type batch processors and work stations. The new component is a control program designed to run in a virtual machine dedicated to remote spooling. The following changes reflect this support: • The Preface is updated. • "Section 1: Introduction Concepts" is updated. • "Figure 34. Com.ands Accepted fro. Each Privilege Class" is updated. • "Figure 35. updated. • The CP CHANGE, DEFINE, DETACH, ORDER, SET, SPOOL, and TRANSFER com.and descriptions are updated. READING DOS FILES FROM DOS DISKS !~!: Programming Feature Using OS macros, CMS can now read DOS files that reside on DOS disks. No DOS macros are simulated. The following changes to this manual reflect this support: Component CP Command and General summary" is • A new CP command, TAG, is described. • control "Figure 36. Co.mands to Terminal Session" is updated. • "Figure 43. Co •• ands Control" is updated. • "Appenidx C: Using Facility" is updated. a CMS Batch The CMS • Additional information about entering the continuation character in column 72 is included in "Section 5: Writing and Executing a Sample Program using CMS." • "Section 6: Virtual A new section, Machine Operation" is added to Part 1 • Spooling for the CMS is included in "Section 4: File System." "Part 2: Reference Information" following changes: has the ENHANCEMENT FOR THE VIRTUAL MACHINE !~!: Program feature Programs using block multiplexer channel operations (for example, DOS/VS, VS1, and VS2) can now be executed in block multiplexer mode on the virtual machine. This virtual machine option may increase the throughput of the virtual machine's operating system because it allows the overlap of SIOs to virtual devices without encountering the channel busy condition. The following changes to this publication reflect this support: • "Figure 34. Com.ands Accepted from Each Privilege Class" is updated. • The CP DEFINE and QUERY commands have a new operand, CHANNELS. • The "Notational Conventions" expanded. • "Figure 13. CMS Command contains editorial changes. • The following CMS command are clarified: Documentation Only Numerous minor editorial changes have been made; these are too numerous to mention. However, a list of the major editorial changes and all miscellaneous technical changes follows. "Part 1: Usage Information" has many editorial changes. In addition, several sections about the operation of virtual machines and CMS, which were in the !~LllQ: f!~nn!ng ~nQ ~I2~~! Q~n~!~!!g~ Q~!Q~, are now included in Part 1: • Additional information about the terminal mode of operation, attention interrupts, and the CMS command search order is included in "Section 2: The VM/370 CP and CMS Command Languages." • Additional information about accessing CMS disks is added to "Section 3: CMS Virtual Disks and How to Use Them." • Additional information about compiling programs under CMS and tape handling in summary" descriptions -ACCESS -ASSEMBLE -COMPARE -COPYFILE -DDR control statements -EDIT -ERASE -EXEC -FILEDEF -FORMAT -GENDIRT -GENMOD -GLOEAL (Two new options, DUP and -INCLUDE NODUP, are described) -LISTFILE -LOAD (Two new options, DUP and NODUP, are described) -PRINT -PUNCH -QUERY -READCARD -RELEASE -RENAME -RUN -SET -START -STATE -SVCTRACE -SYNONYM -TAPE -TAPPDS -TXTLIB -TYPE -UPDATE MISCELLANEOUS £h~ng~~: section is • "Figure 17. Summary of EDIT Subcommands and Macros" contains editorial changes. • Two previously undocumented immediate commands RO and SO are now included. SO temporarily suspends the recording of trace information and RO restarts tracing that was suspended via the SO command. • "Figure 33. CP privilege Descriptions" is updated. • "Figure 34. Commands Accepted from Each Privilege Class" is reformatted. • "Figure 35. upda ted. • The following CP are clarified: -'CP -CLOSE -CP -DEFINE -DISCONN -DISPLAY -DUMP CP Class Command summary" command descriptions -EXTERNAL -IPL -LINK -LOGOFF -LOGON -ftESSAGE -QUERY -SET -TERftINAL -TRACE -TRANSFER is • The RDTAPE and PRINTL macro descriptions in "Appendix D: CftS ftacro Instructions" are clarified. • "Figure 48. updated. Reserved Filetypes" is Summary of Amendments for GC20-1804-2 as updated by GN20-2640 VM/370 Release 2 PtC 4 CMS EDITOR LINE RENUMBERING FEATURE • "Figure 31. CP Command Summary" in "Section 7: Format and Usage Rules for CP Commands" is updated. A new CMS Editor subcommand recomputes the line numbers of VSBASIC and FREE FORT source files. "Figure 13. Summary of EDIT Subcommands" and the EDIT command error messages in "Section 6: Format and Usage Rules for CMS Commands" were changed to support this feature. • The DIAL, DISCONN, LOGON and LOGOFF descriptions in "Section 7: Format and Usage Rules for CP Commands" are updated. • "Figure 38. Commands to control VM/370" in "Appendix A: Functions of VM/370 Commands" is updated. IBM 3704/3705 COMMUNICATIONS CONTROLLERS NETWORK CONTROL PROGRAM (NCP) AND PARTITIONED EMULATION PROGRAM (PEP) SUPPORT • "Figure 43. Disk Determination" in "Appendix E: Disk Determination (Filemode Management)" is updated. • "Figure 44. Reserved Filetypes" in "Appendix F: Reserved Filetype Descriptions" is updated. !~!: !~!: Program Feature Program Feature VM/370 now support all three 3704/3705 control programs: • • • e the Emulation Program (EP) Network Control program (NCP) Partitioned Emulation Program (PEP) The following support • of changes reflect MISCELLANEOUS fh~~~~g: Documentation Only this • The Preface is updated to remove the statement limiting support of the 3704/3705. The running foot for section 7 is corrected on the TNL pages to read "Section 7: Format and Usage Rules for CP Commands" • The Index is corrected. "Figure 9. eMS Com.and Summary~ in "Section 6: Format and Usage Rules for CMS Commands" is updated. Su •• ary of Amendments for GC20-1804-2 'M/370 Release 2 PLC 1 !~!: new options MEMBER and CONCAT. Also, 6250 bpi tapes are now supported by FILEDEF. Documentation Change Part of the publication has been changed to include information on general concepts for 'M/370 users, on the ep and eMS command languages, on the CMS disk system, and on the CMS file system. Also, there is an example program for use as an introduction to the interactive processing capabilities of 'M/370. GLOBAL COMMAND Updated to support use FILEDEF CONCAT option. of the new MO'EFILE COMMAND Updated to include support for accessing OS data sets. QUERY COftftAND £hg~g~g: Documentation expanded Editorial throughout usage. changes have the publication been made to clarify Updated to inclUde support for querying the status of OS disks accessed by CMS. SET COftftAND ]~~: Documentation Change In section 6, "Format and Usage Rules for CMS Commands", the error messages and return codes have been included in the command descriptions. Updated to conditions terminal. include support for use with for setting a display STATE COMftAND Ch~~~~~: Updated to include support for verifying the existence of an OS disk accessed by CMS. Documentation Expanded SYNONYM COMMAND TAPE COftftAND Updated to charify use of the command. Updated to include support tapes. Ch~~~~~: for 6250 bpi Program Feature UPDATE COMMAND ACCESS COtlMAND Updated to clarify Read/Only disk. its use with OS Updated to allow flexibility in format specification of auxiliary files. DDR COMMAND !~!: Updated to support 9-track 6250 tapes and 3330 Model 11 disks. Program Feature bpi EDIT COMMAND Updated to support new subcommands for graphic display devices. ASSEMBLE COMMAND Updated to reflect the new options for the assembler and to clarify use of the command. LISTDS COMMAND FILEDEF COMMAND Updated to reflect new support for dynamic entry of a data set name and for Added to the system: Lists information about data sets on OS disks accessed by CMS. £h~~g~g: Program Feature DEFINE COM"AND ~h~lig~~: * Documentation Expanded (asterisk) COMMAND Updated to clarify its use. DISPLAY CO"MAND ADSTOP COMMAliD Updated virtual ADSTOP. to clarify use machine assist Updated to include support for the GRAF operand. GRAF allows you to define a teaporary graphic device for your virtual aachine. of the VM/370 feature with Updated to allow you to specify a range of registers or storage. DUMP COftMAND CHANGE COMMAND Updated to allow you to specify a range of registers or storage. Updated to clarify use. MESSAGE COMMAND CLOSE COMMAND Name of the MSG command has been changed to "ESSAGE. Updated to clarify use. QUERY COMMAND DISCONN COMMAND Updated to clarify use. IPL COMMAND Updated to support GRAF, and PFnn operands. These new operands allow you to query the status of console spool files, display terminals, and program function keys, respectively. Updated to clarify use. SET COMMAND LOGOFF COMMAND Updated to clarify use. Updated to include support for the ASSIST and PFnn options. ASSIST invokes the virtual machine assist feature; PFnn allows you to define functions associated with program function keys on a graphic display terminal. REWIND COMMAND SPOOL COMftAND Updated to clarify use. Updated to support the * (asterisk) character option. * specifies a universal spooling class which allows your virtual reader to read all classes of spool files. Updated to clarify use. LOGON COMMAND SET COMMAND Updated to clarify use. SLEEP COMMAND Also, the CLOSE, FOR, are supported. and PURGE options Updated to clarify use. TERMINAL COMMAND TRACE COMMAND Updated to clarify use. Updated to clarify use. Also, updated to reflect support for the MODE operand, which allows you to set the mode of your terminal to either CP mode (Control Program) or VM (virtual machine). TRANSFER COM"AND Updated to support the FROft userid operand, which allows you to reclaim a file that you spooled to another user. !g!: Program Feature CP COMMAND 'CP COft!UND Added to allow entry of "CP" while processing in environment. Added to allow you to enter CP commands from a virtual machine environment without issuing an interrupt. ATTN COftftAND Added to allow an attention interrupt to be entered at the keyboard. the characters the CP command REQUEST COMftAND Added to allow you to enter an attention interrupt at the keyboard of you virtual console. Contents PART 1: USAGE INFORMATION •• ~ • •• SECTION 1: INTRODUCTION AND GENERAL CONCEPTS. • • • • • • • • • • • • • VM/370 Control Program (CP), the Conversational Monitor System (CMS), and the Remote Spooling Communications Subsystem CRSCS). • • • • • • • • • ~n~ Virtual Machine. • • • • • • The CP and CMS Command Languages • • • SECTION 2: THE VM/370 CP AND CMS COMMAND LANGUAGES. • • • • • • • VM/370 Command Environments. • How to Enter CP and CMS Commands • • The Command Name • • • • The Command Operands • • The Command Options. • • Comments in the CP and CMS Command Languages • • • • • • • Character Set Usage. • • How to Write User-Defined Commands • • • EXEC Commands. • • • • • • • • • • Commands Created by LOAD and GENMOD. • Truncating and Abbreviating Commands •• • Synonyms for CMS Commands. • CMS Command Search Order • • • Interrupting the Execution of a Command • SECTION 3: CMS VIRTUAL DISKS AND HOW TO USE THEM. • • • • • • • • Virtual Disk Identifiers and Addresses • • The A-Disk • • • • • • • • • Disks B through G, Y, and Z. • The S-Disk • • • • • . • • Formatting Virtual Disks • • Virtual Disk Addresses and How They Are Defined • • • • • • • • • • Permanent Virtual Disks. • • • • • Defining Temporary Virtual Disks • • • Accessing and Releasing Virtual Disks. • Linking to Another User's virtual Disk. Extending One Virtual Disk from Another. Virtual Disk Search Order • • • • • • • • Read/Write Status of Virtual Disks: R/O and R/W • • • • • • • • • SECTION 4: THE CMS FILE SYSTEM • • • Creating or Defining Files • • • Naming Your Files: The File Identifier • • The Filename Field • The Filetype Field • • • • The Filemode Field • • CMS Filetypes. • • • • • • Filetypes for Assembler and Compiler Source Files. • • • • • • • • • • Object Files: Filetype TEXT. • • • • • Files with the Filetype LISTING • • • • Files with the Filetypes EXEC and MODULE.. • ••••••••••• .9 11 11 11 13 15 15 16 16 16 17 17 17 18 18 19 19 20 20 22 27 27 27 27 28 28 28 28 29 29 29 30 30 30 33 33 33 33 34 34 35 36 36 36 36 File Groups Created by the Language Processors • • • • • • • • • • • • • • Using OS Programs and Macros under CMS • Assembling a Program Usinq OS Macros • Executing a Program that Uses OS Macros • • • • • • • • • • • Reading OS Data Sets from OS Disks and DOS Files from DOS Disks. • • • using Program Products under CMS • How to Specify the Filemode Field •• Specifying Search Order Using the Filemode Field. • • • • • • Libraries • • • • • • • • • • • CMS Tape Handling. • • • • • • CMS unit Record Support •• • • Card Reader. • • • • 37 37 39 39 40 43 43 44 44 45 46 46 SECTION 5: WRITING AND EXECUTING A SAMPLE PROGRAM USING eMS • • • • 47 Getting Started • • • • • • • • • • 47 What You Should Know before You Can Use CP and CMS • • • • • • • • • • • • 47 Contacting VM/370 and Logging On • • • 50 Loading CMS in the Virtual Machine: The IPL Command. • • • • • • 50.1 Using CMS to Create, Assemble, Load, and Execute a Program • • • • • • • •• 52 How to Use the CMS Editor. • • • • • • 52 Creating Your Source Records: The INPUT Subcommand. •• • ••• 53 Other EDIT Subcommands You Need •• • • 53 A Sample Program • • • • • • • • • • • 55 Creating and Executing Your Program. • • 56 Input for the Program • • • • • • • • • 57 Assembling Your Program • • • • • • • • 57 Loading and Executing the Program. • • 58 Logging Off. • • • • • • • • • •• 58 SECTION 6: VIRTUAL MACHINE OPERATION Virtual System Console • • • Attaching Devices. • Tape Devices • • • • • • Loading an Operating system into a Virtual Machine • • • • • • • • Spooling Virtual Console I/O • • Reading Cards in a Virtual Machine • Printing and Punching in a Virtual Machine • • • • • • • • • • • • • • Disconnecting the Terminal • • • • • Using Multiple Consecutive Operating Systems • • • • • • • • • • • • Transferring output • • • • • • Configurations • • • • • • • • Execution Control. • • • •• 59 59 59 • • 60 • • • • PART 2: REFERENCE INFORMATION •• Notaticnal Conventions • • • • • 69 • • 69 60 61 62 • • 63 • • 64 • • • • 65 65 67 68 SECTION 7: FORMAT AND USAGE RULES FOR 73 CMS COMMANDS • • • • • CMS Command Summary. • • 73 ACCESS • • • • • • • • • 78 GC20-1804-3 Page Modified by TNL GN20-2659 ASSEMBLE CMSBATCH COMPARE. COPYFILE • CP DDR. DDR Control Statements I/O Definition Statements. DEBUG. DISK • EDIT ERASE. EXEC • FILEDEF. FORMAT GENDIRT. GENMOD • GLOBAL INCLUDE. LISTDS LISTFILE • LOAD LOAD MOD. MACLIB • MODMAP MOVEFILE PRINT. PUNCH. QUERY. READCARD • RELEASE. RENAME RUN. SET. SORT START. STATE. SVCTRACE • SYNONYM. TAPE • TAPPDS TXT LIB TYPE UPDATE • IMMEDIATE COMMANDS HB • HO HT • HX RO • RT • SO • SECTION 8: FeRMAT AND USAGE RULES FOR CP COMMANDS CP Command Privilege Classes • CP Command Summary *. 'CP. ADSTCP • ATTN BEGIN. CHANGE • CLOSE. COUPLE • CP DEFINE DETACH 82 88 89 91 .103 .104 .104 .105 .114 .116 • 118 .125 .127 .132 .142 .145 • 146 .148 .150 • 155 • 157 .161 .169 .170 .175 .176 .179 .181 .184 .189 .192 .193 .195 .197 .200 .202 .203 .204 • 208 .212 .217 .220 .223 .225 .237 .237 .237 .238 .238 .239 .239 .240 .241 .241 .245 .249 .250 • 252 .254 .255 • 256 .258 .261 • 263 • 264 .267 .269 DIAL • .271 DISCONN. .272 DISPLAY. DUMP .277 .280 ECHO • EXTERNAL .281 .282 INDICATE • .282.3 IPL. .284 LINK LOADVFCB .287 LOGOFF .288 LOGON. .290 MESSAGE. .292 NOTREADY .293 ORDER. .294 PURGE. .295 QUERY. .296 The QUERY Command for Class G Users. .297 QUERY Command for All Classes of Users (Except Class Any) • .306 READY. .308 REQUEST. .309 RESET. .310 REWIND .311 SET. .312 SLEEP. .317 SPOOL. .318 STORE. .324 SYSTEM • .327 TAG. .328 TERMINAL • .331 TRACE. .334 TRANSFER • .338 APPENDIXES .339 APPENDIX A: FUNCTIONS OF VM/370 COMMANDS • .341 APPENDIX B: DEBUGGING A PROBLEM PROGRAM WITH VM/370 .351 How To Start Debugging .351 Does A Problem Exist? .351 Identifying The Problem. .351 Analyzing The Problem. .352 How To Use VM/370 Facilities To Debug •• 352 Problem Program ABEND. .353 Unexpected Results in a Problem Program .353 Problem Program Disabled Loop. .353 Problem Program Enabled Loop. .354 Problem Program Disabled wait. .354 Problem Program Enabled Wait. .355 Comparison Of CP And CMS Facilities For Debugging. .356 APPENDIX C: USING THE CMS BATCH FACILITY. Using The Batch Facility Virtual Machine • Input To The Batch Facility Virtual Machine Batch Facility Output • .358 .360 APPENDIX D: CMS MACRO INSTRUCTIONS • COMPSWT Macro • FSCB Macro FSCLOSE Macro. .363 .365 .366 .367 .357 .357 GC20-1804-3 Page Modified by TNL GN20-2659 FSERASE Macro • • • FSOPEN Macro • FSREAD Macro • • • • • FSSTATE Macro. FSWRITE Macro. HNDEXT Macro • HNDINT Macro • HNDSVC Macro • LINEDIT Macro. PRINTL Macro • .368 .369 .370 ~ 372 .373 .375 .376 .377 .378 .390 PUNCHC Macro • RDCARD Macro • RDTAPE Macro • RDTERM Macro • .393 .394 .396 ")0') ...J~L REGEQU Macro • TAPECTL Macro • • WAITD Macro. WAITT MacrQ~ WRTAPE Macro • WRTERM Macro • • • • · • • .397 .398 .400 .401 .402 .404 APPENDIX E: DISK DETERMINATION (Filemode Management) • • • • • • • • .405 APPENDIX F: RESERVED FILETYPE DESCRIPTIONS. • INDEX. • • • • • • • .407 • .413 Figures Figure 1. Figure 2. Figure 3. Figure 4. Figure Figure 5. 6. Figure Figure 7. 8. Figure 9. Figure 10. Figure 11. Figure 12. Figure 13. Figure 14. Figure 15. Figure 16. Figure 17. Figure 18. Figure 19~ Figure 20. Character sets and Their Contents ••••••••••••••••••••• 18 How CMS Searches for the Command to Execute •••••••••• 21 Effects of Attention Interrupt While Virtual Console Is Set to the VM Terminal Mode •••••••••••••••• 24 Effects of Attention Interrupt While Virtual Console Is Set to the CP Terminal Mode •••••••••••••••• 25 CP and CMS Disk Access ••••••• 31 Determining Pilemode Numbers •••••••••••••••••••••• 35 OS Macros simulated by CMS ••• 38 CMS Commands Used in processing Data Sets on OS Disks and Files on DOS Disks.40 Logical Editing Symbols •••••• 48 Loading an OS/MFT virtual Machine •••••••••••••••••••••• 61 OS Job Stream Transfer ••••••• 66 Directory Entry for Alternating Operating Systems •••••••••••••••••••••• 67 CMS Command Summary •••••••••• 73 COPY FILE Option Incompatibilities ••••••••••• 99 An Annotated Sample of Output from the TYPE and PRINT Functions of the tDR Program ••••••••••••••••••••• 111 Summary of DEBUG Subcommands ••••••••••••••••• 115 Summary of EDIT Subcommands and Macros •••••••••••••••••• 120 Summary of EXEC Control Statements •••••••••••••••••• 128 summary of EXEC Built-in Functions ••••••••••••••••••• 130 Valid File Characteristics for Each Device Type for the FILEDEF Command ••••••••••••• 134 Figure 21. Figure Figure Figure Figure Figure Figure Figure 22. 23. 24. 25. 26. 27. 28. Figure 29. Figure 30. Figure 31. Figure 32. Figure 33. Figure 34. Figure 35. Figure 36. Figure 37. Figure 38. Figure 39. Figure 40. Figure 41. Figure 42. Figure 43. Figure 44. Figure 45. Figure 46. Resolution of Unresolved References •••••••••••••••••• 152 SLC statement Format •••••••• 164 LDT Statement Format •••••••• 165 ICS Statement Format •••••••• 165 REP Statement Format •••••••• 166 ENTRY Statement Format •••••• 166 LIBRARY Statement Format •••• 167 Default Device Attributes for MOVEFILE Command •••••••• 177 Header Card Format •••••••••• 182 Format of the READ Control Card •••••••••••••••••••••••• 191 Summary of SVC Trace Output Lines ••••••••••••••••••••••• 207 System and User Truncations.211 CP Privilege Class Descriptions •••••••••••••••• 242 Commands Accepted from Each User Class •••••••••••••••••• 243 CP Command Summary •••••••••• 245 Commands to Control a Terminal Session •••••••••••• 341 Commands to Develop Programs and Process Data •••••••••••• 342 Commands to Test and Debug a Program ••••••••••••••••••••• 343 Commands to Update Data Files ••••••••••••••••••••••• 344 Commands to Control Disks ••• 345 Commands for Virtual Machine Control ••••••••••••••••••••• 346 Commands to Control VM/370 •• 348 Commands fer Spooling Control ••••••••••••••••••••• 349 Commands for System and Hardware Analysis ••••••••••• 350 Comparison of CP and CMS Facilities for Debugging •••• 356 A Sample Listing of a Program that Uses CMS Macros •••••••••••••••••••••• 364 Figure 47. Figure 48. Disk Determination •••••••••• 405 Reserved Filetypes •••••••••• 407 Part 1: Usage Information This part of the publication contains rules and information to help you use all of the facilities of VM/370. It contains six sections. "Section 1: Introduction and General Concepts" is a summary of general concepts you should be faailiar with when you are using VM/370. "Section 2: The VM/370 CP and CMS Command Languages" describes the command environments, the general structure of the command language, and how you can use the features of the VM/370 command languages to aid you in solving programming problems. V~/370 "Section 3: CMS virtual Disks and Bow to use Them" describes the virtual disk system for your virtual machine and how to use it. "Section 4: The CMS Pile system" describes the file as it is used in the CMS system. This section gives you information on how to create and name a file, how these files are used in the system, and how CMS handles OS data sets and DOS files. "Section 5: Writing and Executing a Sample Program Using CMS" is an introduction to the Vft/370 interactive programming environment. In this introductory section, you are given a program that you can enter at your terminal as you read the book. Together with the information in the four preceding sections, this sample p~ogram should provide you with the basic information you need to use your virtual machine and its interactive capabilities. additional "Section 6: virtual ftachine Operation" contains information information about operating virtual machines. This generally applies to non-CftS virtual machines and includes an exaaple of alternately executing CMS and another operating system in the same virtual machine. Part 1: Usage Information 9 Section I: Introduction and General Concepts This section is a summary when vou are usinq VM/370. which-describe how to use system. of general concepts that are useful to you It is a proloque to the followinq sections, virtual disks, -and how to use the CMS file virtual Machine Pacility/370 (VM/370) is a system control program that controls "virtual machines." A virtual machine is the functional equivalent of a real machine, but where the real machine has lights to show status, and buttons and switches on the real system console to control it, the virtual machine has a virtual system console to display status and a command language to start operations and control them. The virtual system console is your terminal; there are three command languages, the CP, CMS, and RSCS Command Languages. using your terminal (as a virtual console) and the command languages, you have many of the capabilities of the operator of a real machine. VM/370 Control Program (CP), the Conversational Monitor System (CMS), and the Remote Spooling Communications Subsystem (RSCS) VM/370 has three components: the Control Program (CP), the Conversational Monitor System (CMS) , and the Remote spooling Communications Subsystem (RSCS). CP controls the resources of the real machine; that is, the physical machine in your computer room. CMS is the conversational operating system designed specifically to run under CP. RSCS is a SUbsystem designed to supervise transmission of files across a teleprocessing network controlled by CP. This section describes CP and CMS; for information about RSCS, see the !~LJ1~: ~~!g!~ ~Egg!!~g ~Q!!YBi£~!igB§ ~Y~§~§l~! (~~~~) Q§~~~§ gy!g~. THE VIRTUAL MACHINE The virtual machine is a software counterpart of a real machine. Its control program can be any of those supported by VM/370. These are listed in the !~LJ1Q: !B!~ggY£!!QB. The virtual machine components are the virtual system console (your terminal), a virtual CPU, virtual storage, and virtual channels and input/output (I/O) devices. Your virtual machine is a logical extension of the real computer. The virtual machines are defined in the VM/370 directory, which is a list of all the virtual machines logically extended from the real machine. Each entry in the VM/370 directory lists the configuration of a virtual machine. A virtual disk is a logical subdivision of a real disk. Por practical purposes, it is the same as a real disk on a real machine. Virtual disks Section 1: Introduction and General Concepts 11 GC20-1804-3 Page Modified by TNL GN20-2659 have their own device addresses and cylinder numbers. Each CMS virtual disk has a Master File Directory that lists each of the files contained on it. The size of your virtual disks is defined in the VM/370 directory entry for your virtual machine. The virtual disk can be equal to or less than the size of the real disk. For CMS, the maximum size of a virtual disk is less than the real disk and varies with the device type. If you need more space, your system programmer can give it to you by redefining the number of cylinders, by defining more disks in your VM/370 directory entry; or you can assign temporary disk (T-disk) space for your virtual machine. with CMS, you can have up to ten virtual disks logically attached to your virtual machine. These ten disks are called the A, B, C, D, E, F, G, S, Y, and Z disks and are described in more detail in section 3. The file is the essential data unit in the VM/370 system. Programs, program input, procedures, and any other type of data unit you want to use on the system, are files in the VM/370 system. In CMS, a file is a logically related group of records that you create. Using the EDIT command, you can create and modify a file yourself in the CMS command environment; using FILEDEF, you can define os data sets and DOS files as files for use under CMS. On a real machine, spooling is, in general, the process of transmitting a unit record file from the CPU' to a peripheral device for processing or from a device to the CPU for processing. When the file is sent to the peripheral device, the CPU is free for aore work. The concept of spooling also applies to virtual unit record I/O devices. You process virtual unit record files in your virtual machine and, while they are processing, transmit them to your virtual printer or to your virtual punch. Your virtual machine is then available for more work. This collection of data directed to your virtual printer or punch is called a spool file. The output spool file can be transmitted to its counterpart on the real machine, to your own reader, or to the reader of another virtual machine. Thus, the spool file is waiting to be processed by a real device or another virtual machine. VM/370 expands the concept of spooling to include the creation of a spooled console log which is a record of all of your virtual console input/output, including CP commands and responses. This console spool file can be sent to the real printer when you want a copy of it. The Remote Spooling Communications subsystem (RSCS) lets you transmit files across a teleprocessing network to geographically remote locations via the CP TAG and SPOOL commands. For details on how the network is structured and operated, see the !~Ll1Q: ~~~Q!~ §EQQ!!ng £Q!~Yn!£g!!Qn2 §~B2~2!~! 12 (]~~~) Q2~~~2 g~!g~. IBM VM/370: Command Language Guide for General Users THE CP AND CftS COftftAND LANGUAGES You control your virtual aachine using the CP and CftS co.aand languages. Any virtual machine can use the CP coamand language; you can use the CftS command language only if your virtual =achine operating sfstea is ens. The CP co.mand language gives you control of the devices attached to your virtual machine. ftany of the functions of a real coaputer console are simulated via the CP coaaand language. Also, there are coa.ands that provide spooling and disk-sharing capabilities. CP comaands fall into one or aore privilege classes; this pUblication provides information on only those coa.ands that can be used by the general user (class G) or any user (class any). General users are those users who program, test, and execute applications on a virtual aachine. The CP command privilege classes available to your virtual aachine are defined in your Vft/370 directory entry. Using CP commands, you can send messages to the Vft/370 systea operator and other users, modify the configuration of your virtual aachine, and use the virtual machine input/output devices. CP coaaands are available to all virtual machines under Vft/370. You can invoke these commands when you are in the virtual machine environaent using CftS (or some other operating system) in your virtual machine. The CftS command language allows you to create, modify, debug, general, manipulate a system of files. and, in ftany language processors can be executed under CftS: the assembler, VS BASIC, as PORTRAI IV, as COBOL, and OS PL/I Optimizing and Checkout Coapilers. You can find a coaplete list of language processors that can be executed under CftS in the !AL170: In!I2gycti2!. CftS executes the assembler and the coapilers when you invoke thea with CftS coaaands. The ASSEftBLE comaand is described in this aanual; the supported coapiler commands are described in the appropriate program Product documentation. The CftS EDIT co •• and allows you to create and aodify files; the IIIC com.and helps you to create a procedure consisting of CP and CftS commands, which has the conditional execution capability of a aacro language; the DEBUG com.and gives you several program debugging subcom.ands. Other CftS coaaands allow you to read cards froa a virtual card reader, punch cards to a virtual card punch, and print records on a virtual printer. ftany commands are provided to help you aanipulate your virtual disks and files. since you can invoke CP coa.ands froa within the CftS virtual machine environment, the CP and CftS co •• and languages are, for practical purposes, a single, integrated com.and language for CftS users. Section 1: Introduction and General Concepts 13 Section 2: The VMi370 CP and CMS Command Languages Th1S section describes the V8/370 command environments, ~ne general structure of the CP and CMS command languages, the user-defined commands, command abbreviations, truncations, synonyms, and the command search order. The VM/370 system is comprised of the Control Program (CP) and the Conversational ~onitor system (CMS). CP controls the real machine. You can use CP commands to manipulate your virtual machine. CMS is an interactive system designed specifically for use with CP for problem solving and program development. CMS gives you a file system and the commands required to manipulate files, and the virtual disks on which they reside. There are two types of VM/370 commands: system commands and user-defined commands. The system commands are those defined by the CP and CMS command languages. User-defined CMS commands are those you create yourself using the EXEC command or the LOAD and GEHMOD commands. User-defined CP commands are also allowed; your installation system programmer must create them. The procedure is described in the VM/370: ~~§tem R~gg~~~~~~ g~!g~. Depending on the way you are using the system, you may want to be in a specific command environment. A command environment is the environment of your virtual machine as defined by the command language subset you are using. If you are using the CP command language, you are in the CP command environment; if you are using CMS or another operating system, you are in the virtual machine command environment. Many commands can also have abbreviations and minimum truncations, as defined by the system, and can have synonyms, which you define. since there are many types of com.ands, VM/370 provides a set of conventions for searching through the system for a given command. For example, you may have defined your own command with the same name as a CMS -system com.and, therefore, you must know which command actually executes. The rules governing the search for the correct command are contained in this section. VM/370 Command Environments There are two basic command environments: the CP command environment and the virtual machine command environment. The CP command environment is reached when you log on to VM/370 and issue CP commands. Depending on the task you want to perform on your virtual machine, you may want to switch in and out of this environment. The means for entering and exiting from this environment are described in "Interrupting the Execution of a Command" in this section. You can find out which command environment you are in by entering a null line (that is, pressing the Enter key, or equivalent, with no data). VM/370 responds to a null line by displaying the current command environment. section 2: The VM/370 CP and CMS Command Languages 15 The virtual machine command environment is the environment you reach when you load your virtual machine with the CMS operating system or another operating system. When you load CMS in your virtual machine, you can use both the CP and CBS co.mand languages. The CftS command environment has three subcommand environments that are entered by means of the EDIT, EXEC, and DEBUG commands. The EDIT co.mand places your virtual machine in the EDIT subcom.and environment, where you can use the CftS Editor to create and modify files. In the EDIT subcommand environment, you can place your virtual machine in either of two modes, the EDIT mode or the IIPUT mode. BDIT mode lets you modify a file; INPUT mode lets you create or add to a file. The EXEC subcommand environment is entered via the EXEC command. In this environment, you execute procedures that contain combinations of CP and CftS commands to perform the functions you specify. These procedures are usually created in the EDIT environment. The DEBUG command places your virtual machine in the DEBUG subco •• and environment, in which you can issue co •• ands to display registers and storage, specify breakpoints (address instruction stops), display the contents of control words, and so on. How to Enter CP and CMS Commands A V"/370 command consists of a command name, usually followed by one or more positional operands and, in some cases, by an option list. The general form for the command line is: [operand ••• ] [(option ••• [) ]] You must use one or more blanks line unless otherwise indicated. to separate each entry in the command THB COftftAND IAftE The command name is an alphameric symbol of not more than eight characters. In general, the names are verbs which describe the function you want the system to perfor.. Por example, you may want to find out whether a certain user is logged on the Vft/310 system. In this case, you would use the CP QUBRY command. THE COftftAND OPERANDS The command operands are keywords and positional operands of no more than eight alphameric characters each. The operands specify the information on wbich the system operates when it performs the command function. Por the QUBRY command, for example, you could use the USER or userid operand to find out whether the user is on the system. 16 IBft Vft/370: Co •• and Language Guide for General Users Some commands require no operands; others require several. You can find each class G, class Any, and CftS command with all of its operand requirements in Part 2 of this publication. You must write the operands in the order in which they appear in the co.mand formats in Part 2, unless otherwise specified.- When you are using CftS, blanks should be used to separate the last operand and the option list. tHE COftftliD OPTIONS The command options are keywords used to control the execution of the co.mand. The command formats in Part 2 show all the options for each command. The option list must be preceded by a left parenthesis is not necessary. parenthesis; the closing If conflicting or duplicate options are entered, the last entered is the option in effect for the command. Exceptions to this rule are the CftS COPYPILE, PILEDEP, ERASE, and PORftAT commands. See the individual descriptions of these co.mands in Part 2 for more information. COftftENTS IN THE CP AND CftS COftftAND LANGUAGES You can write comments with CP commands of the following types: • Commands with no operands • Commands with a fixed number of operands • Commands ~ith a single optional operand You cannot write of comments with commands that have than a variable number If you want to write comments with CftS commands, you enter them following the closing parenthesis of the option list. The only exception to this rule is the ERASE command, for which com.ents are not allowed. You can enter comments on your console by using the CP * command. CHARACTER SET USAGE CP and CftS commands may be entered using a combination from six different character sets. The contents of character sets is described in Pigure 1. of characters each of the section 2: The 'ft/370 CP and CftS Command Languages 17 i Ba.es I Character Set I I Blank I Separator I Dollar Sign I lIational Pound Sign I At Sign ~ Alphabetic $ • i Upper Case Lower Case a - z lIumeric lIu.eric o Alphameric lIational Alphabetic $, " lIu.eric Special Figure Symbols 1. A Z 9 it A Z a z o 9 All other characters Character Sets and Their Contents How to Write User-Defined Commands You can update existing commands and create your own commands using the CBS EXEC command and the LOAD and GEIMOD commands. EIEC COBBAIDS The BXBC command allows you to create an BXBC procedure that has the effect of a command and which can be invoked by its filename, just as a invoked. BXBC procedures can contain CP, CftS, and command is user-defined commands and provide a convenient way of generating a predefined sequence of commands. You are implicitly specifying the BXBC command when you issue the filename of the EIEC procedure. There is one case when you must specify the EXBC com.and and its associated filename explicitly: when an EXEC is nested within another EIBC, the nested BXEC must be specified explicitly. Certain EIEC control statements let you conditionally execute statements within the procedure. You conditionally execute statements by means of the SIF, SLOOP, and SGOTO statements, similar to the conditional and looping facilities found in high level languages. You can find all the information you need to write the !!L11Q: 111~ Use~~§ Guid!. EIEC com.ands in A special type of BXEC procedure called a PROPILB BIBC can be used to set up a predetermined operating environment within CftS each time you use your virtual machine. If you have a PROPILE BIEC it is executed before the first command after you IPL CBS. It defines the conditions you want while you are programming under CBS. For example, if you are an assembler language programmer, you need the CBS, TEIT, and OS macro libraries accessed while you are processing. In your PROFILE EIBC, then, you could issue a GLOBAL command to access these libraries automatically whenever you IPL the CftS operating system. 18 IBft V8/310: Command Language Guide for General Users CO~~ARDS CREATED BY LOAD ARD GERftOD You can use the LOAD and GBR~OD commands to create program modules. I .odule is a relocatable file whose external references have been resolved; that is, a module is a file that you can execute by invoking its filename. The module filename is, effectively, a CftS co.aand you define for your own use. A source prograa aust be assembled or compiled to produce an object file that has a filetype of TEXT. The LOAD coa.and loads the object file into virtual storage in your virtual machine. When LOAD executes, all external references for the file are resolved. You then use GIIIOD to create an absolute core-image of the file or files loaded in storage. Its filetype is always ftODULE. This core-image copy may then be used as a CftS command by invoking its filename. If you are creating a module containing aore than one TEXT file, you include the additional TEXT files with the IRCLUDE command, then issue the GEBftOD. Truncating and Abbreviating Commands To make the entering of commands on the keyboard more convenient, CP and CftS allow .any com.ands (as well as many operands and options) to be used in a shortened form. The shortened form can be either an abbreviation or a truncation to its minimum form. ~iniau. truncations are shown within the foraat box and abbreviations are shown with the description that follows the foraat box for all the com.and foraats in Part 2. In those foraats, the minimum truncation is shown in uppercase letters in the coa.and foraat box; the optional letters are shown in lowercase. This rule holds for options and operands as well. I good example of com.and truncation is the EDIT command. The format shows the co •• and bame as "Edit". This means you can enter the IDIT co •• and in any of the following forms: EDIT ED E I is the .ini.u. for the command. truncation, but CftS accepts all of the above for.s Abbreviations are shorter for.s of coamands and operands. Abbreviations for co.mands are shown below the full name of the coaaaDd in the format box. Abbreviations for operands and options are shown in the description of the individual operands and options that follow the foraat box. lor exa.ple, the operand RIADER has both a .1n1au. truncation and an abbreviation. In the foraat box, it is shown as: Reader indicating the .1n1.U. truncation is R. operand that follows, it is shown as: In the discussion of the reader READER RDR indicating that the abbreviation is RDR. section 2: The Vft/370 CP and CftS Co •• and Languages 19 Synonyms lor CMS Commands Using the EDIT com.and, you can create a table of synonyms for both C8S commands and co.mands you define yourself. You create the file using the EDIT command in the form EDIT filenaae SYNONY8 (the filetype must be SYIOIY8). in the table, in the for. You then enter the records that will be commandname synonymname count where "commandname" is the name of the command for which you are creating a synony., "synonyaname" is the name of the synonym for the command name, and "count" is the number of characters you want to use as a minimum truncation value for the synonym. In order to use the synonym table once you have created it and filed it in your systea, you must invoke the SYNONY8 command at the beginning of every terminal session in which you want to use the table. You can find a more detailed explanation command in section 7. of how to use the SYNONY8 CMS Command Search Order You can create a user-defined comaand (that is, a aodule or EXEC procedure) which executes in your virtual machine and resides on disk. To execute such a co.mand or EXEC procedure, you only have to enter the filename from the terminal. However, be aware of the C8S search order for terminal input. Once a match is found, the search stops. The search order is: 1. EXEC file on any currently accessed an EXEC file.) disk. (The C8S RUN co.mand is 2. Valid abbreviation or truncation for an accessed disk. 3. Nucleus resident or transient area command. (The nucleus resident C8S commands are: CP, DEBUG, ERASE, GEN80D, INCLUDE, LOAD, LOAD!OD, START, and STATE. The transient commands are: ACCESS, CO!PARE, DISK, PILEDEP, GENDIRT, GLOBAL, LISTPILE, !OD8AP, PRIIT, PUICH, QUERY, READCARD, RELEASE, RENA!E, SET, SVC~RACE, SYIOIY8, TAPE, and TYPE. ) 4. Command module on any currently accessed disk. (All the reaaining C8S commands are disk resident and execute in the user area.) 5. Valid abbreviation or truncation area command module. 6. Valid abbreviation or truncation for disk resident co.aand. EXEC file on any currently for nucleus-resident or transient Por example, if you create an EXEC file with the same name as a disk resident co.mand, the C8S search always finds the EXEC file first. Thus, the disk resident command is never executed. Figure 2 shows more details of the coa.and search order; you can find complete description of the search order in the V8/370: ~ystem ~l'oqra.!!!!r' s ~uid!. a 20 IB! V!/370: Command Language Guide for General Users ( KEY IN A COMMA!'JD NAME EXECUTE YES THE F!LE AND RETURN CONTROL TO CMS. I I CMS EXEC SEARCH YES YES EXPAND THE NAME TO THE FULL REAL NAME, EXECUTE IT, AND RETURN CONTROL TO CMS. EXECUTE THE FILE AND RETURN CONTROL TO CMS. CMS MODULE SEARCH YES lL IF YES CP SEARCH ~ EXPAND THE NAME TO THE FULL REAL NAME, EXECUTE IT, AND RETURN CONTROL TO CMS. EXECUTE THE COMMAND AND RETURN CONTROL TO CMS. ISSUE AN ERROR MESSAGE I Figure 2. Bow CftS Searches for the Command to Execute section 2: The VM/370 CP and CMS Co •• and Languages 21 IITEBBUPTIIG THE EXECUTION OF A COaaAND You can suspend the execution of a coaaand in your virtual machine using the Attention key (or its equivalent) on your terainal keyboard. Functionally, the Attention key requests the Control Program to interrupt the coaaand currently executing, thus allowing you to key in new input. The interrupt takes effect iamediately in aost cases, but soae coaaands coaplete execution before the interrupt takes effect. The name and physical location of the Attention key varies with different styles of terainals supported by VB/370. See the VB/370: I~!!!~~! y§~!!§ §ui~! for details on various styles of terainals. Using the Attention key, you can switch coamand environaents (that is, switch from the CP to the VB co.aand environment or vice versa), at the saae tiae you request an interrupt. What happens when you press the Attention key depends on two factors: the comaand environaent of your virtual aachine and the aode setting of your virtual console. Your virtual machine can be in one of two coamand environments: the CP command environaent (CP) or the virtual Bachine comaand environment (Va). These environments are defined by usage. When you IPL an operating systea for your virtual machine, your virtual aachine is in the VB environment, otherwise, it is in the CP environment. You set the mode of your virtual console using the CP TEBBINAL command. The ~ODE operand of this cosmand allows you to set your virtual console in either the CP or va mode. These modes correspond, in general, to the preceding cosmand environments description. Each of the terminals that can be used with the Va/370 system has a key that is the equivalent of the Attention key on the 2741 (with which you signal an attention interrupt). Unless otherwise noted, where the tera "Attention key" is used in this publication, the phrase "(or equivalent)" is implied. The equivalent key on the 1050 terminal is the BESET LIIE key; on the 3270 terainal, the Enter key. On a 3270 terminal you can signal an attention interrupt to the virtual machine with the ATTN or BEQUEST commands. Issuing the ATTI or BEQUEST commands on a 3270 is equivalent to pressing the Attention key once on a 2741. On a 3270 terminal, pressing the Enter key is equivalent to pressing the Attention key twice quickly on a 2741. Fo-r a 3215, you press the Attention key once to signal an attention interrupt to the virtual machine, then enter the ICP command to get to CP mode. How CP interprets attention interrupts issued by the virtual machine users depends on whether the terminal mode is set to CP or VB. The default mode setting for the primary systea operator is: TEBBINAL BODE CP If your default ter.inal mode is CP, or if you issued the above co.mand, pressing the Attention key one or more times forces your virtual machine into CP mode. 22 IBB VB/370: Comaand Language Guide for General Users For all other users, the default mode setting is: TERftIIAL ftODE V" If the terainal aode is Vft, pressing the Attention key once passes an interrupt pending condition to the virtual machine operating system. Pressing the Attention key twice quickly (or pressing the 3270's Enter key) places your virtual machine in CP mode. If you execute CftS from a 3270 device, you must issue the ATTI or REQUBST command if you are in CP mode and want to return to the virtual aachine mode. The following two figures show the effect of an Attention interrupt when your virtual console is in either Vft or CP aode. Pigure 3 shows the action taken by V"/370 when your virtual console is in V" mode and you press the Attention key. The first coluan represents the condition of the terminal keyboard when you press the Attention key. The second coluan represents the number of tiaes you press the Attention key. If your virtual console is in the Vft mode, one Attention requests an interrupt and two quick Attentions force your virtual machine to the CP co.mand environment. The third coluan represents the action Vft/370 takes depending on the number of times you press the Attention key. "any" means that the effect of the Attention key is the same no matter how many tiaes you press it. If the operator sets his terminal mode to V" and resets his virtual machine, his console acts as described in the first state of Pigure 3 (that is, more than one attention is required to unlock the keyboard for CP input). !Q1~: section 2: The Vft/370 CP and CftS Com.and Languages 23 state of Terainal before Attention Key Pressed Terminal idle; keyboard locked; virtual aachine running I 10.1 I of I IATTNI 1 IAttention interrupt pending; virtual I )1 Terminal receiving output from virtual machine Resulting Action aachine running IKeyboard unlocked for CP input 1 IAttention interrupt pending; virtual I aachine running )1 IKeyboard unlocked for CP input at I Keyboard unlocked for inputl 1 to virtual machine; no I data entered or all data deleted I )1 I completion of console I/O IDevice end (DE) and attention status I pending; virtual machine runningl 1-------------------------------------------IUnit exception (UB)status pending; I virtual aachine running Keyboard unlocked for input I 1 IUnit exception (UB) status pending: to virtual machine; soae I I virtual aachine running data entered I )1 IDevice end (DE) status pending; I keyboard unlocked for CP input I 1-------------------------------------------- Keyboard locked; executing lany IAttention ignored CP command I Keyboard locked; in SLBBP lany IKeyboard unlocked for CP input mode entered via co •• and I I Keyboard locked; in SLEEP lany IVirtual machine resumes execution mode entered via Diagnose I I instruction I I Terminal receiving output I 1 IAttention interrupt pending; virtual from CP but not from userl I machine running command I )1 IKeyboard unlocked for CP input 1-------------------------------------------- Terminal rece1v1ng output lany 10utput line canceled and in soae in response to CP co •• andl I cases coamand output canceled Keyboard unlocked for CP lany IAttention interrupt made pending; input; no data entered orl virtual aachine running all data canceled I Keyboard unlocked for CP lany IInput line canceled; keyboard input; soae data entered I I unlocked for CP input ITo perform this function on a 3270, position the cursor one position to the left of the user input area (line 22, position 0) and press the Enter key. Figure 24 3. Effects of Attention Interrupt While Virtual Console to the V! Terminal Bode IB! V8/370: Co.mand Language Guide for General Users Is Set Figure 4 shows the action taken by VM/370 when your virtual console is in CP mode. If your virtual console is in CP mode and you press the Attention key one or more times, you force the virtual machine to the CP command environment. state of Terminal before Attention key Pressed Resulting Action Terminal idle; keyboard locked; IKeyboard unlocked for CP input virtual machine running I Terminal receiving output from virtual machine IKeyboard unlocked for CP input I Keyboard unlocked for input to to virtual machine; no data entered or all data deleted IUnit exception CUE) status pending; keyboard unlocked for CP input Keyboard unlocked for input to virtual machine; some data entered IDevice end CDE) status pending; I keyboard unlocked for CP input I Keyboard locked; executing CP command I Keyboard locked; in SLEEP mode entered via co.mand IKeyboard unlocked for CP input I Keyboard locked; in SLEEP mode entered via Diagnose instruction I I Terminal receiving output from CP but not froa user com.and I Terminal receiving output in response to CP co •• and IOutput line canceled and in some cases command output canceled IAttention ignored IVirtual machine resumes execution IKeyboard unlocked for CP input Keyboard unlocked for CP input; IAttention interrupt made pending; no data entered or all data virtual machine running canceled Keyboard unlocked for CP input; IInput line canceled; keyboard some data entered unlocked for CP input Figure 4. Effects of Attention Interrupt While Virtual Console to the CP Terminal Bode Is set Section 2: The VM/370 CP and CMS Command Languages 25 Section 3: eMS Virtual Disks and How To Use Them This section describes your virtual disk system and how you use it. It describes how the disks are naaed, how they are accessed, when they need to be formatted, how to access and release thea and, in general, how to Ilanipula te them. Your virtual machine can have many disks defined for it in the Vft/370 directory, but it can have at most ten virtual disks logically accessed at any time. Virtual disks are logical subdivisions of real disks; but they can be considered real disks. Each has its own virtual device address, virtual cylinders, and for CftS disks, a ftaster File Directory, which lists the files contained on the disk. You can request the operator to attach an entire real disk to your virtual aachine. This real disk, once attached, is considered a virtual disk. When your virtual aachine is defined, the system programmer estimates your disk storage requireaents and allocates cylinders for your virtual disks accordingly. Virtual Disle Identifiers and Addresses Virtual disks have disk identifiers and virtual addresses. The virtual disk identifier (or fileaode letter) is a single-letter specificatio~ of A, B, C, D, I, P, G, S, Y, or Z. The disk identifier is a part of the filemode specification used in the CftS command line. The virtual disk address is a three-character hexadeciaal nuaber. The address can be assigned permanently in the Vft/370 directory or temporarily via the CP DBPIIB command. THE A-DISK The A-disk is the priaary user disk. It is a read/write disk which is accessed when you begin your CftS terllinal session. You can create, store, and aodify files using this disk. Usually, the address of the A-disk is 191. DISKS B THROUGH G, Y, AID Z You aay have several disks defined in your Vft/370 directory entry. During a terminal session you may want to make these disks a part of your active virtual machine. In this case, you use the ACCESS coamand to acquire a disk and give it a naae. The identifiers B through G, Y and Z are used to identify these disks. If you have a virtual 192 disk defined for your virtual aachine in the Vft/370 directory, or if you specifically define a virtual disk with address 192 before loading CftS, that disk is accessed as your D-disk at the time your A-disk is accessed. Section 3: CftS Virtual Disks and How to Use Thea 27 THE S-DISK The S-disk is the system disk and is read-only. It contains the CftS nucleus and disk-resident co •• and aodules. The Y and Z disks can be eItensions of the syste. disk, depending on your virtual aachine configuration. If you have 190 and 19E disks defined in your Vft/370 directory entry, these are accessed as the S and I disks after you IPL CftS. Formatting Virtual Disks Before you USe your virtual disks, you must ensure that they have been formatted. Each disk must be formatted the first time you use it; it need not be formatted thereafter. Use the CftS PORftAT co •• and to format a virtual disk the first time you use it. However, the FORftAT command erases the contents of the disk, so you should take care not to issue FORftAT for a disk whose contents you want to save. Each tiae you use the CP DEPINE comaand to attach a teaporary virtual disk to your virtual machine, you must issue the FORftAT co •• and. If you are formatting a disk to contain as or DOS files, use the IBCDASDI virtual disk initialization program, which is described in the !.a/37.Q: ~.E!!~g!2~2 Guig!!. Virtual Disk Addresses and How They Are Defined Iou can have both permanent and temporary disks attached to your machine during a terainal session. Permanent disks are predefined in the Vft/370 directory entry for your virtual machine. Temporary disks are those you define for your own virtual aachine using the CP DEFIlE coaaand. PBRftAIBIT VIRTUAL DISKS The Vft/370 directory entry for your virtual machine defines the permanent virtual disks. Bach disk has associated with it an access mode specifying whether you can read or write on the disk or only read froa it. The virtual disk entries in the V8/370 directory aay typically look like the following: ftDISK ftDISK ftDISK 197 198 194 2314 3330 3330 000 010 050 050 005 005 CftS190 CftS001 CftS192 R W W The first two fields describe the device, virtual disk in this example, and the virtual address of the device. The third field specifies the device type of your virtual disk. The fourth and fifth fields specify the starting real cylinder at which your virtual disk logically begins and the nuaber of cylinders allocated to your virtual disk, respectively. The siIth field is the label of the real disk on 28 IBft Vft/370: Coaaand Language Guide for General Users which the virtual disk is defined and the seventh field is a letter specifying the read/write aode of the disk. The ftDISK control state.ent of the Directory Service Program is described in the Vft/370: Operator's Guide. Even though these devices are per.anently attached to your virtual aachine, you .ust access thea using the CftS ACCESS co •• and before you can use the •• DilljljG TifiPOiAiY VIiTUAL DISKS Using the CP DEPIIE co •• and, you can attach a teaporary disk to your virtual aachine for the duration of a terainal session. Once attached, the disk .ust be accessed using the CftS ACCESS co •• and. Por exa.ple, the co ••ands below allow you to use a temporary G-disk. define t3330 as 291 cyl 10 You should then foraat it using the CftS POiftAT co •• and: for.at 291 9 You should respond to the eftS response .essages. Accessing and Releasing Virtual Disks Even though virtual disks may be defined in the Yft/370 directory entry for your virtual aachine, you cannot use thea until you access thea. There may be .any disks defined in that entry, but your CftS virtual aachine .ay have access to only ten of the. at a ti.e. The CftS ACCESS co •• and allows you to logically access a virtual disk for your CftS virtual .achine. Since you can have only ten virtual disks active in your CftS machine at a tiae, you Bay want to release a disk so that you can access another. You use the CftS BELEASE coaaand to logically release the virtual disk fro. your CftS virtual aachine, then access the new disk using the ACCESS co.aand. Linking to Another User's Virtual Disk Yft/370 lets you link to a virtual disk owned by another user. Use the CP LII! co •• and as shown in the example below: link to bensid 193 as 194 r pass= go This co •• and links another user's vixtual disk (whose address is 193) to your virtual aachine, where it has the address 194. The B specifies that the disk can only be read and GO is the read password. BEISID is the use rid for the virtual .achine to which you are linking. You .ay also have another user's directory entry. virtual disk defined in your Yft/370 Once you have linked a disk to your virtual ACCESS command to access it and give it a na.e. aachine, use the CftS Section 3: CftS Virtual Disks and Bow to Use Thea 29 Extending One Virtual Disk from Another Using the CMS ACCESS command w you can make one virtual disk a read-only extension of another so that when you specify that a disk is to be read w any extension to that disk is read also. For exallple w the co •• and: access 192 d/a lIakes the D-disk an extension of the A-disk. When one virtual disk is an extension of another w the extension disk isw by definition w a read-only disk. However w you can respecify its access status by issuing the ACCESS again, this time not extending the D-disk from the A-disk. access 192 d Not only does extending one disk from another alter its access status w it may also affect the search order for the disk accessed on your systell. * When you issue a CftS com.and and specify as the filemode, the extensions set via the ACCESS cOII.and are not in effect, that is, the search is in alphabetical order. Only one level of disk extension is permitted. Virtual Disk Search Order When you specify a file to be acted upon in a CMS cOllmand w the default (or standard) CftS search for that file is in alphabetical order; the A-disk first w B second, and so on. The standard search order is used when no mode letter is specified or implied. If a mode letter is specified or implied, the search order is first the given disk and then all the disks that are read-only extensions of the given disk (except for certain co •• ands, such as LISTFILE and TAPE DUftP, which purposely ignore read-only extensions) • Read/Write Status of Virtual Disks: R/O and R/W The read/write status for a virtual disk defines whether you can read or read and write on a disk on your virtual machine. You can access disks in two ways: read-only, where files on that disk can only be read; and read/write, where files can be read and written. To access a disk, you must: 1. Identify a disk as part of your virtual machine configuration. If the disk appears in your Vft/370 directory entry it is already a part of your virtual .achine configuration. Also, you can .ake a disk part of your configuration by issuing a CP LII! or DEFIlE command. 2. Identify the disk to CftS and assign it a file directory name. You issue the ACCESS comlland after you load CftS to do this. The CftS ACCESS co •• and associates a particular disk with a given file directory name and, optionally, specifies which files on the disk are to be used and specifies the disk as read-only. 30 IBft Vft/370: Com.and Language Guide for General Users The following example shows how you add a temporary disk disk to your CftS virtual machine. and a user ipl cms link dept637 230 197 r 12601 define t3330 as 192 cyl 5 format 192 d access 197 b lirst the LIIK command adds a device at virtual address 197 to your virtual machine. (The disk added is defined in the V8/370 directory for a virtual machine with a userid of DEPT637 as device address 230 with a read password of 12601.) Then the DElIIE command adds temporary disk space (from a CP pool of such space) to your virtual machine at address 192. The CftS lORftAT the CftS format. command initializes the temporary disk area (192) in The ACCESS command activates the disk at virtu?l address 197 (similar to VARY OILIIE in OS) and assigns the disk the file directory name B. The importance of the directory name was explained in the preceding section "Virtual Disk Search Order" If ACCBSS is not the first command entered after CftS is loaded, an automatic ACCESS is performed to access a disk at device address 191 as the A-disk. Both CP and CftS can illustrated in ligure 5. control read/write access to disks, as is CftS ACCESS CP ACCBSS Read-only Read/Write Readonly I Read/ I write I Bead-only I Bead-only I Bead-only I Read/irite ligure 5. CP and CftS Disk Access Access allowed by CP is determined by the Vft/370 directory entry or the form of LIIK issued by a virtual machine operator for a particular disk. The read/write status ways: of virtual disks can be controlled in several • It can be specified explicitly in the Vft/370 directory. • It can be specified by the CP DElIIE com.and. • A disk can be made read-only by extending it from another disk. If the read/write status is defined in the Vft/370 directory, it is either a read/write (B/i) or read-only (R/O) disk. R/i disks can be read from and written on; R/O disks only may be read. Section 3: CftS Virtual Disks and Bow to Use Them 31 When you define always a R/i disk. a teaporary disk at your terainal, that disk is The read/write status of a particular disk affects the way you use it. R/O disks cannot be written on. For example, you cannot use a R/O disk to contain the output of a language processor. You can find the read/write coaaand with the DISK option. 32 status of a file by issuing IBM VM/370: Co.aand Language Guide for General Users the QUERY Section 4: The eMS File System The file is the essential unit of data in the CMS system. A CMS file is a logically grouped unit of data you define via a CMS command. This section gives you information on how you can create a file and name it, how files are used in the system, and how CMS handles as data sets and DOS files. Creating or Defining Files You can create a file using the CMS Editor, which is invoked with the CMS EDIT command. The Editor lets you create and modify a file on your virtual disk. The FILEDEF command defines data sets created under an as system such as OS/VS1 or OS/VS2 so that they can be recognized by CMS. You use as macros to perform I/O operations for these data sets. The files (or data sets) defined by PILEDEP can be as data sets created by an as system, DOS files created by a DOS system, or files created under eMS using os macros simulated by eMS and residing on a eMS virtual disk. You can then access them under CMS just as you do files you create using the Editor. Files may also be introduced to the system by means of the READCARD, DISK, and TAPE commands. All the information you need to create a CMS file using the Editor can be found in the !AL11Q: ~~IT ~~!de. The FILEDEF command is described later in this section and in section 7. In order to create a file, you must define a name for the file and decide upon the filetype of the file; use of the file determines its filetype. This information is entered along with the command in the form of a file identifier. Appendix F lists the reserved filetypes and describes the use of each. For a description of how to load existing source card decks into your virtual machine, see the CMS READCARD command description. Naming Your Files: The File Identifier When you create a file in CMS, you name it using a file identifier. The file identifier consists of three fields: the filename (fn), the filetype (ft), and the file.ode (fm). This file identifier is then used to refer to the file while you are using CMS. THE FILENAME FIELD The filename for a file is a one- to eight-character alphameric symbol. The characters can be A through Z, a through z, 0 through 9, and the special characters $, I, or i. You should be careful when using the 1 and i characters, since they are used also as VM/370 logical editing characters. Section 4: The eMS File System 33 You can use any filenaae you wish: however, you should avoid duplicating naaes or abbreviations for CP or CftS systea coaaands. If you duplicate the name of a system command and invoke the naae from CftS, the execution of that file depends on the CftS coamand search order, which is described in section 2 under "CftS Coaaand Search Order." Pilenames, in some cases, becoae user-defined command naaes. filenaaes for files with the filetype ftODULE or EXEC have the effect as a command, in aany cases. The saae TH! fILETYPE fIELD The filetype is also a one- to eight-character alphameric symbol. The characters can be A through Z, a through z, 0 through 9,·and the special characters $, I, or i. You can find more infor.ation about the filetype specification in the sections that follow. Certain filetypes have special meaning to CftS, that is, CftS assumes the file has specific characteristics such as record length, tab settings, truncation column, upper or lowercase, and other information of significance for use by a coamand. These special filetypes are described in a later section "CftS Piletypes" and are summarized in Appendix F. THE PILEftODE FIELD The filemode field has two characters: the filemode letter and the filemode nuaber. The file80de letter is established by the ACCESS co.aand, and specifies the virtual disk on which a file resides: A through G, S, Y, or Z. The file_ode nu.ber can be a number from 0-5. Figure 6 shows what each file_ode number means. The first coluan is the filemode number, the second coluan specifies the read/write status associated with the number, and the third column gives a brief description of how to use the file.ode number. 34 IBft Vft/370: Command Language Guide for General Users Filellode Number Read/Write Status Meaning o R/W The file specified is a private fi19! vou cannot access a file with the 0 fii~~ode unless you have read/write privileges for the virtual disk on which the file resides. 1 R/W You can read froll and write into this file, depending on how the disk is accessed. 2 R/W You can read from and write into this file, depending on how the disk is accessed. Certain files on the S-disk are mode 2; you can access these files. You can also use mode 2 to describe files on disks other than the system disk. 3 R/E The file is to be erased after it is read. Usually, this filellode is used for temporary work files created by the language processors and sOlie CMS commands. OS This file is created using OS macros. It may be blocked and, if in as variable format, may contain Block Descriptor Words (BDWs) and Record Descriptor Words (ROWs). R/W Has the same meaning as filemode 1. 5 Reserved for IBM use. 6-9 Figure 6. Determining Filellode Numbers The other information you need when using this field of the file identifier is found later in this section, "How to Specify the Filemode Field." eMS Filetypes The filetype field specifies the type of the file; that is, how the file functions in the CMS system. The filetype field is used by the EDIT command to define standards for record length, tab settings, upper or lowercase, truncation column, and so on. For other cOllmands, the filetype field is used to identify a subset of all files that are appropriate for processing by that command, for example you may want to process all files with the filetype ASSEMBLE. Source files have a filetype describing the language in which the file is written; files containing relocatable object code have the filetype TEXT; files containing executable object code have the filetype MODULE; files containing listings have the filetype LISTING, and so on. The filetypes described in this section are reserved; that is, they have a special meaning to CMS when you specify them in the filetype field of the file identifier. They are most useful in the programming environment (for example, filetypes describing source files, EXEC, TEXT, MODULE, and LISTING files). There is also a description of files created during certain types of processing under CMS. Section 4: The CMS File System 35 FILETYPES FOR ASSEMBLER AND COMPILER SOURCE FILES When you create a source file using the Editor you assign a filetype that describes the source language used to create the file. For example, when you create an assembler language file using the CMS Editor, the command you issue might be: edit myfile assemble where MYFILE is the filename of the file and ASSEMBLE is its filetype. When you specify the filetype as ASSEMBLE, you are telling the Editor that the file is an asse.bler language file, and that the records created should be appropriate for processing by the system assembler. The Editor uses the filetype ASSEMBLE to define suitable conditions for creation of an assembler language source file. That is, the Editor creates a file consisting of fixed-length, SO-character records, with all input translated to uppercase, and with standard tab settings of 1, 10, 16, 31, 36, and so on. See "Appendix P. Reserved Piletype Descriptions" for a list of the filetypes associated with the other supported programming languages and the CMS commands. When you create source files, there are rules concerning usage of the file, the command you use to process the file under CMS, the record format of the file and the contents of the file. OBJECT PILES: PILETYPE TEXT When you execute one of the language processors, the results of the processing (asse.bled or compiled object code) are placed in a file with the same filename as the source file for the program, but with a filetype of TEXT. PILES WITH THE PILETYPE LISTIIG Also, when you execute the language processors, a listing describing the source code and the results of execution is contained in a file with the same filename as the source file and filetype LISTING. PILES WITH THE PILETYPES EXEC AND MODULE There are two types of files that can be executed by invoking the filename of the file. These two types of files are files that have either the filetype EXEC or the file type MODULE. An EXEC file may be a procedure (a sequence of predefined commands to be executed as a unit). EXEC procedures also provide you with a conditional execution capability similar to the looping facilities of high level languages. You can find information about how to write and use EXEC procedures in the !AL11~: IXE~ ~~~~~ §~!~~. In CMS, a MODULE file is a non-relocatable copy of a program or routine that resides in storage in executable form. A MODULE file is created by loading an object file (filetype TEXT) in your virtual machine (via the LOAD co.mand) and then generating the module via the GEIMOD command. Like the EXEC file, the MODULE file can be executed by invoking its filena.e. 36 IBM VM/370: Command Language Guide for General Users FILE GROUPS CREATED BY THE LANGUAGE PROCESSORS ftany CftS commands create groupings of files, each related to the other by the same filename. Some of these files are permanent and some are temporary. For example, if you issue the co.mand assemble Ilyfile the system assembler executes to assemble the file nailed ftYFILE. Execution of the assembler generates several files, some per_anent and some teaporary. You can request eMS to list the permanent files by means of the LISTPILE command: listfile myfile * a1 CftS then generates a list of all files with the filename of ftIPILE, including the permanent files created during the execution of the assembler, which might look like this: ftIFILE ASSEftBLE Al Al ftIPILE TEXT ftYFILE LISTING A1 where the TEXT file contains the object code resulting frail the assembly, and the LISTING file contains the program listing generated by the assembly. The source input file, ftI!ILE ASSEftBLE Al, is not erased. Temporary workfiles: files are also created by the assembler for use as ftIPILE SISUTl ftYFILE SISUT2 ftIPILE SISUT3 The filetypes of the workfiles Ilay vary depending on the processor you are using. Disk space 1S allocated for the assembler work areas on an as-needed basis. They are erased when processing is complete. Iou should ensure that a file created durinq the execution of a language processor does not have the same file identifier as one you wish to save. CftS, when instructed by a language processor to write a file, erases any file with the same file identifier as the one specified. Using OS Programs and Macros under eMS Iou can assemble and execute programs under CftS that require the use of OS macros simulated by Cfts. Figure 7 lists the OS macros that CftS simulates. Section 4: The CftS Pile System 37 SVC Nu!12~! Maf!:Q XDAP WAIT POST GETMAIN FBEEMAIR GETPOOL FBEEPOOL LINK ICTL 00 01 02 04 05 06 07 LOAD DELETE GETMAIN/ FREEMAIN TIME ABEND SPIE 11 13 14 BLDL/FIND 18 OPEN CLOSE STOW OPENJ TCLOSE DEVTYPE 19 20 21 22 23 24 TBKBAL WTO/WTOR EXTRACT IDENTIFY ATTACH CHAP TTIMEB STIMER DEQ SNAP ERQ FREEDBUF STAE 25 35 40 57 60 DETACH CBKPT RDJFCB 62 63 64 SYBAD BSP GET/PUT READ/WRITE ROTE/POIRT CHECK TGET/TPUT TCLEARQ STAX RETURB 68 69 Figure 7. 38 08 09 10 41 42 44 46 47 48 51 56 93 94 96 Function Bead or-write direct access volumes wait for an I/O completion Post the I/O completion Conditionally acquire user storage Belease user-acquired storage Simulate as SVC 10 Simulate as SVC 10 Link control to another phase Delete, then link control to another load phase Read a phase into storage Delete a loaded phase Manipulate user free storage Get the time of day Terminate processing Allow processing program to handle program interrupts Manipulate simulated partitioned data files Activate a data file Deactivate a data file Manipulate partitioned directories Activate a data file Temporarily deactivate a data file Obtain device-type physical cha racteristics BOP Com.unicate with the terminal Effective BOP Add entry to loader table Effective LIBK Effective BOP Access or cancel timer Set timer Effective BOP Dump specified areas of storage Effective BOP Release a free storage buffer Allow processing program to decipher ABEBD conditions Effective BOP Effective BOP Obtain information from FILEDEF com.and Handle data set error conditions Backup a record on a tape or disk Access system-blocked data Access systea-record data Manage data set positioning Verify READ/WRITE completion Read or write a terminal line Clear terminal input queue create an attention exit block Return from a linked or attached routine OS Macros Simulated by CMS IBM VM/370: Command Language Guide for General Users ASSEeBLING A PROGRAM USING OS MACROS To assemble a program that uses OS macros, you must first issue a GLOBAL command to make the macro library containing the macros available to the assembler. global maclib osmacro Once you have accessed the macro library, you can use macros from the library to assemble a program like the one shown in the following example: TESTER CSECT OPEl PUT (OUTDCB, (OUTPUT» OUTDCB,lREA OUTDCB CLOSE OUTDCB DCB DDNIME=OUT, ••• To assemble the example, issue the command: assemble tester After the file is assembled, you can load the resulting TEXT file and then execute the program. EXECUTING ! PROGRA! THAT USES OS In order to execute a program that uses OS macros, you must associate each DCB statement in your program with the device specified to perform the input/output operation for it. As in OS, this association is made via the ddname. In CMS, however, you issue the PILEDEP com.and, which performs a function for CMS that parallels the function performed by the DD statement in OS. Thus, to execute commands: the preceding example program, you issue these filedef out disk tester output a1 load tester start When you use the OS macros simulated by CMS to read and write (as in the example), you can write only to CMS disks. You cannot issue a write to an OS or DOS disk. Also, CMS does not simulate all reads and writes; only the OS BSAM, BPAM, OSAM, and BDAe access methods are simulated. Piles written on a CMS disk can, in turn, be read by programs running under CMS when those programs request that CMS simulate a read (for instance a GET or READ macro). Section 4: The ces Pile System 39 READIIG as DATA SBTS PROB as DISKS AID DOS PILES !ROB DOS DISKS sequential and partitioned data sets residing on as disks, and sequential files residing on DOS disks, can be read by prograas using as aacros running under CBS. Also, certain CBS co.aands can be used to process these data sets and files on as and DOS disks. Pigure 8 lists coaaands you can use to aanipulate as data sets and DOS files under CBS, and briefly describes the function of the coaaand in relation to its use with as data sets and DOS files. Operation ACCESS Bakes the as or DOS disk containing the as data set or DOS file available in R/O status to your CBS virtual machine. RELBASB Releases the as or DOS disk you have accessed (via ACCESS) froa your CBS virtual aachine. LISTDS Lists inforaation describing as data sets residing on an as disk, or DOS files on a DOS disk. STATB Yerifies the existence of an as data set or DOS file on a disk. Before STATE can verify the existence of the data set or file, you aust have defined it (via PILEDBP). PILEDBP Defines the as data set or DOS file for use under CBS by associating an as ddnaae with an as data set name or DOS file-ide Once defined by PILEDEP, the as data set or DOS file can be used by an as program running under CBS and can be aanipulated by the other commands that support as functions. DDR copies an entire as or DOS disk to tape. GLOBAL Bakes aacro libraries available to the asseabler. You can prepare an as macro l{brary for reference by the GLOBAL coaaand by issuing !ILEDE! for the data set and giving the data set a filetype of BACLIB. 12~§: If you are going to assemble, reaeaber that the ddnaae to use on the PILEDEP co.aand aust be CBSLIB. ASSBBBLB Assembles an as data set or DOS file under CBS. BOYBPILB Boves data records from one device to another device. Each device is specified by a ddnaae, which must have been defined via PILBDBP. QUBRY Lists (1) the status of virtual machine features specified by the CBS SBT coa.and, (2) the files that have been defined via PILBDBP in your system of virtual disks, and (3) the status of virtual disks attached to your virtual .achine. Pigure 8. CBS Co.aands Used in Processing Data Sets on as Disks and files on DOS Disks 40 IBB YB/370: Coaaand Language Guide for General Users The following restrictions apply when you read OS data sets under ens: • Read password-protected data sets are not read. • VSAM, BDAM, and ISA! data sets are not read. • Multivolume data sets are read as single-volume data sets. End-of-volume is treated as end-of-file and there is no end-of-volume switching. • Keys in data sets with keys are ignored; only the data is read. • User labels in user-labeled data sets are bypassed. The following restrictions apply when you read DOS files under CMS: I • No DOS aacros are siaulated. I. I I I Only DOS sequential files can be read. CMS operands and options that do not apply to OS sequential data sets (such as the MEftBER and COBCAT options of PIL!D!P and the PDS option of ftOVEPILE) also do not apply to DOS sequential files. I. The following types of DOS files cannot be read: -DOS VSAft, DAft and ISAft files. -DOS core libraries. image, relocatable, source statement and procedure -Piles with the input security indicator on. -Files that contain more than 16 user label and/or data extents. (If the file has user labels, they occupy the first extent; therefore the file must contain no more than 15 data extents.) I. I Multivolume files are read as single-volume files. End-of-volume is treated as end-of-file. There is no end-of-volume switching. I. User labels in user-labeled files are bypassed. I • I I I Since DOS files do not contain BLKSIZE, RECPft, or LRECL options, these options must be specified via the PILED!P command or the DCB statement; otherwise, defaults of BLOCKSIZE=32760 and RECPft=U are assigned. LB!CL is not used for RECPft=U files. I. I I I I If a DOS file-id does not follow as naaing conventions (that is, oneto eight-byte qualifiers with each qualifier separated by a period; up to 44 characters including periods), you must use the DSN 1 operand of PILED!P and the 1 operand of LISTDS to enter the DOS file-ide Section 4: The CftS Pile System 41 The following examples show how to use the FILEDEF and MOVEFILE commands to handle as data sets and DOS files under CMS. The following sequence of CftS com.ands moves an as STOW macro file from an as partitioned data set called SIS1.ftACLIB or a CMS file called SIS1 MACLIB to the CMS file STOW MACRO. access 195 b/a filedef test1 disk sys1 maclib b1 (member stow) filedef macro disk stow macro movefile test1 macro The following sequence of CftS commands moves all the members of an as partitioned data set called SIS1.ftACLIB or a CftS file called SIS1 MACLIB into separate CftS files, each with a filename equal to its member name and a filetype of MACRO. access 195 b filedef test2 disk sys1 aaclib b1 filedef macro disk movefile test2 macro (pds) Either of the following sequences of CMS commands can be used to verify the existence of the as data set called TEST.OS.SAftPLE.1 and assemble it with SYS1.MACLIB on an as disk and CftSLIB on a CftS disk. access 198 d listds test os sample 1 * filedef assemble d1 dsn test os sample 1 filedef cmslib disk sys1 maclib * (concat global maclib sys1 cmslib assemble file -- or -access 198 d filedef assemble disk test1 assemble d1 dsn ? test.os.sample.1 state test1 assemble * filedef cmslib disk cmslib maclib * (block 3360 lrecl 80 recfm fb concat) filedef cmslib disk sys1 maclib * (concat) global maclib cmslib sys1 assemble test1 The following sequence of CftS commands moves a DOS file named DAILY ACCOUNT JAN 1 from the DOS 195 disk to the CMS file FILE OUT. access 195 b filedef in disk file in b1 dsn ? DMSFLD220R ENTER DATA SET NAftE daily account jan 1 movefile in out (A default FILEDEF is issued for FILE OUT.) 42 IBft VM/370: Command Language Guide for General Users GC20-1804-3 Page Modified by TNL GN20-2659 USING PROGRAM PRODUCTS UNDER CMS The CMS assembler and the Program Product language processors supported by CMS (listed in the !~LllQ: !~!I2gY£!!2n) are as programs that require definition via FILEDEF in order to perform input/output processing. For input, all of these programs can use sequential or partitioned data sets that reside on as disks, or sequential files that reside on DOS disks. When a supported language processor is executed under CMS, CMS issues FILEDEFs for the data sets or files it requires in order to execute the program. You can override these default definitions by issuing a FILEDEF for those data sets or files before you invoke the language processor. You must issue the FILEDEF for the data set or file each time you want to use it, since the processors clear all file definitions when they complete their processing. When as compilers execute under CMS, they normally: • Run the compilation to completion. • Display any diagnostics at the terminal. • Generate a CMS disk file with the same filename as the source program and a filetype of TEXT, which contains the object deck created by the assembler or compiler. • Direct the printed output of the assembler or compiler to the spooled printer or to a disk file with a filetype of LISTING. The filename of files created by the assembler under CMS is equal to that of the source file. or compilers running Disk work files required by the assembler or as compilers under CMS are automatically created during compilation and erased at the end of compilation. No cataloging or erasing of data sets is required. Object programs (TEXT files) produced under CMS and under OS in real or virtual machines may be executed under CMS if they do not utilize certain os functions not simulatea oy eMS. (aS macro functions that are simulated are discussed in "Using as Programs and Macros under CMS.") Object programs (except for the PL/I Checker) using non-simulated as macro functions must be transferred to an appropriate real or virtual as machine for execution. PL/I Checker programs that use non-simulated as macro functions must be both assembled and executed on the appropriate real or virtual as machine. How to Specify the Filemode Field The filemode field of the file identifier is comprised of two characters: a virtual disk letter and a filemode number. In almost all CMS commands, this field is optional. You need not specify it since CMS itself has the ability to search for the file. Some commands, in fact, do not permit a filemode entry. There are four ways to specify this field of the file identifier: • Explicitly, by actually entering number in the filemode field. the filemode • Implicitly, by leaving the entire field blank. letter and filemode Section 4: The CMS File System 43 GC20-1804-3 Page Modified by TNL GN20-2659 • By specifying an asterisk (*) in the filemode field. • By specifying an equal sign (=) in the filemode field. If you specify the filemode explicitly, the virtual disk you specify and any extensions of it are searched for your file. If, however, the virtual disk you specify is an extension, the extension disk is searched, but not the parent disk. If you specify a read-only virtual disk when you are writing a file, CMS returns an error message. If you specify the filemode field implicitly by leaving it blank, only your A disk and its extensions are searched for the file. The asterisk (*) can have two meanings, depending on the command with which it is specified: (1) search all disks until the specified file is found, or (2) search all disks for all occurrences of the file. The equal sign (=) as the filemode is specified when you want to read from and write on the same virtual disk. This character can be used only on disks for which you have read/write privileges. When you are using one of the Program Product language processors to write to a virtual disk, CMS first attempts to write to the virtual disk you specify and then attempts to write to that disk's parent (if one exists). If there is no room on either of these disks, or if both disks are read-only, writing is done only to the A-disk. SPECIFYING SEARCH ORDER USING THE FILEMODE FIELD A CMS function that is trying to locate that file in either of two ways: a file on a disk may search for • If it is searching for a file with a particular filemode, "A", that disk and its immediate extensions are searched. • If it is to search all accessed disks (Filemode *), the searched in alphabetical order (A BCD E F G S Y Z). such as disks are CMS functions or commands that do not allow you to specify the filemode (such as LOAD, ASSEMBLE, and MACLIB) use the second type of search, and search all accessed disks in alphabetical order. Commands that allow you to specify the filemode may do either type of search. If you specify a particular disk or allow it to default to "A", then the first type of search is done. If you specify filemode as "*", then the second type of search is done. However, the LIST FILE and TAPE DUMP commands do not use extensions in search of a particular disk. Libraries CMS provides two types of libraries: macro libraries and text, or program libraries. A library is a file with the filetype MACLIB or TXTLIB. Unlike other CMS files, a library file consists of members plus a dictionary for locating the members by name within the library file. 44 IBM VM/370: Command Language Guide for General Users GC20-1804-3 Page Modified by TNL GN20-2659 A macro library is a file whose filetype is MACLIB. It contains a dictionary and members which are macro definitions. The system macro libraries are CMSLIB MACLIB, OS MACRO MACLIB, OSMACR01 MACLIB and TSOMAC MACLIB. CMSLIB MACLIB contains the eMS macros. OSMACRO MACLIB contains selected OS macros from the OS macro library, SYS1.MACLIB, which are Section 4: The CMS File System 44.1 simulated by CMS. OSMACR01 MACLIB contains the other macros from SYS1.MACLIB, making it possible to assemble a program in CMS for os execution. And, TSOMAC MACLIB contains selected TSO macros. You can create your own macro library by using the MACLIB command. Files with the filetype HACRO or COpy can be specified in the nlCLIB command for inclusion in the library. The MACLIB command can also be used to add, delete, or replace macros in an existing library; to list the name, size, and location of macros in a library; and to compress a library. A text library is a file whose filetype is TITLlE: It contains a dictionary and members that are relocatable text files. The system text library CMSLIB TIT LIB contains extended precision floating point simulation routines. If you are a TSO user, you can also access the TSOLIB TITLIB. YOU can generate your own text library by using the TITLIB command. Only files with the filetype TEIT may be included. A maximum of 1000 control section names and entry points can be contained in a TITLIB file. The TITLIB command may also be used to add or delete members from a library or to list the entry points, control section names, and the location of members of the library. CMS has no automatic library calls. A library must be made available using the GLOBAL command before CMS will search it. GLOBAL has two forms, the TITLIB form for specifying text libraries, and the MACLIB form for specifying macro libraries. The command GLOBAL MAC LIB CMSLIB OSMACRO would make CMSLIB MACLIB and OS MACRO MAC LIB available to be searched during an assembly for macro operation codes, and they would be searched in the order they were named in the GLOBAL command. Text libraries that are made available with the GLOBAL command are searched for missing subroutines or undefined filenames whenever the LOAD or INCLUDE commands are issued. Up to eight libraries may be specified with either form of GLOBAL. The commands GLOBAL TITLIB and GLOBAL MACL~B, specifying no library names, terminate searching of previously specified libraries. Descriptions of section 7. the MACLIB, TITLIB, and GLOBAL commands appear in eMS Tape Handling CMS has two commands that handle tapes. The CMS TAPE command dumps CMS formatted files from disk to tape, loads such files from tape to disk, and performs various control operations on a specific tape, such as setting tape modes, forward or backward spacing, and rewinding the tape. The TAPE command is used solely for CMS files. The files on tape are created in a unique format that can be read only by the TAPE LOAD command. The TAPPDS command reads tapes created by the OS utility programs such as IEHMOVE, IEBUPDTE, and IEBPTPCH. If the tape contains an OS partitioned data set (PDS) produced by the OS IEBPTPCH utility, the TAPPDS command can write the members as individual CMS files. Optionally, it produces CMS files from tape in the OS IBBUPDTB control file format, blocked or unblocked. TAPPDS can also create CMS files from unloaded partitioned data sets in IEHMOVB format, blocked or unblocked. The tape may be unlabeled or may have a standard OS label. section 4: The CMS Pile System 45 lote: The 80VErILE can-handle tapes. and DDR commands, as well as user-written programs, eMS Unit Record Support CftS supports one virtual card reader at virtual address OOC, one virtual card punch at virtual address OOD, and one virtual printer at virtual address OOE. Under V8/310, these devices are spooled. CftS does not support real or dedicated unit record devices, nor does it support a virtual 2520 Card Punch. I CARD READER The READCARD co •• and reads data records froa the spooled card reader to a C8S disk. Input records of 151 or less characters are accepted. Column binary data is not acceptable. All user-generated card decks .ust be read into the virtual reader before a BE1DCABD co •• and can be issued. You can get card decks into a C8S reader in either of two ways: • 1 card deck, containing only one file, is placed in a real card reader and read by CP. The deck must be preceded by a V8/310 identification (ID) card specify~ng the userid of the virtual machine to receive the card images. (Files must be read in separately, even if they are for the same virtual machine. If a second deck is placed behind the first, the second ID is ignored and the second file is treated as though it were part of the first file. The only end-of-file condition recognized is an end-of-file on the real device.) The card i.ages are placed on a spool file in the specified virtual machine's virtual card reader. If the specified user is not logged on to the system, the deck re.ains in his virtual card reader until he logs on and issues the BEADC1BD co •• and. I. I One virtual machine transfers records from its virtual card punch or printer to a virtual card reader (its own or that of another user). 46 IBft V8/310: Command Language Guide for General Users Section 5: Writing and Executing a Sample Program Using eMS Once you have read the preceding four sections, you can use the sample program in this section as an introduction to the interactive facilities of Yft/370. This section contains the information you need to create and use a program that runs under the CftS operating system. The text is organized so that you can enter the sample program at your terminal as you read .. The sample program treats a number of Y8/370 commands in a "one-situation" manner. That is, most of the commands cari be used in ways other than that shown in the sample program. The first part of this section describes the steps you take before creating the program: learning to use your terminal, contacting the computer, loading the CftS operating system and formatting a disk with which to work. The second part of this section deals with two topics: how to use the CftS Editor to create a program and how to use Yft/370 commands to execute it. The program you write is a simple one, even though it is coded in assembler language. It consists of only a few statements; all you need to do is enter them. When the program executes, you can use it interactively, so you get an idea of how to use Y8/370 interactively. Getting Started Y8/370 is an operating system that provides you with a unique facility--your own machine. This machine is a virtual machine, that is, a machine with software counterparts for almost all of the hardware components of a real machine. All of these components are controlled from your ter.inal, which is your virtual console. On the real machine console, there are lights and keys that help you manipulate. the .achine; on the virtual console (your terminal), you manipulate the machine using the command languages of the CP and CftS operating systems. The CP command language lets you manipulate your virtual machine components. For example, you could temporarily define a new device for your virtual machine using the CP DEFIlE command. The CftS command language allows you to manipulate the virtual disks on your system and the files contained in them. For example, you can create and assemble a program file in asse.bler language using the CftS EDIT and ISSEftBLE cO~lIands. WHIT YOU SHOULD KIOW BEFORE YOU CAl USE CP liD CftS Before you can use CP and C8S, you should know (1) how to operate your terllinal and (2) your userid (user identification) and password. section 5: Writing and Executing a Sa.ple Program Using CftS 47 There are many types of terminals you can use as a V8/370 virtual console. Before you can conveniently use any of the co •• ands and facilities described in this section, you have to familiarize yourself with the ter.inal you will be using. Generally, you can find information about the type of terminal you are using and how to use it with V8/370 in the !~Ll1Q: Ier~i~g! Us§!!§ ~Yide. If your ter.inal is a 3767, you also need the !~! 11~1 ~E§~g~Q~~§ Guide. The sa.ple progra. is designed for typewriter terminals. Where parallel com.ands are needed for display terminals, you can find these co.mands described in the !~Ll1Q: I~!I ~Yi~~· I your userid is a symbol that identifies your virtual machine to V8/370 and allows you to access V8/370. Your password is a symbol that functions as a protective device ensuring that only those authorized to use your virtual machine can use it. Both symbols are usually defined by the system programmer for your installation and you can obtain them from him. When you are familiar with your terminal and know your userid and password, you are nearly ready to use V8/370. But before you begin using your terminal to enter commands, you should know how the V8/370 Logical Editing Characters can help you correct the typing mistakes you may make at your terminal. V8/370 has a set of symbols you can use to correct typing errors and to change data as you enter lines at your keyboard. Using these logical editing symbols, you can cancel a line entirely, change a character in a line, logically end a line and begin a new one without pressing the Enter Key (or equivalent) and ignore the special meaning of a character on a line. Figure 9 lists the default logical editing symbols. To change the symbols' use, you must either define different logical editing symbols in your V8/370 directory entry or issue the CP TER8INAL command. r I I I I I I I Symbol ~ • ¢ " Figure 9. Function Logical Logical Logical Logical Character Delete Line End Line Delete Escape Logical Editing Symbols When you enter your input lines using these symbols, you do not see the effect they have immediately, since Vft/370 is simply accepting the input you are entering. You can see the effect the logical editing symbols have when you request Vft/370 to show you your input file. 48 IB8 Vft/370: Command Language Guide for General Users GC20-1804-3 Page Modified by TNL GN20-2659 199i£!± ~h!f!£!~! ~~1~!~ ~y~~gl (~): Deletes the character preceding it on the input line. A string of character delete symbols deletes a corresponding number of preceding characters. For example, if you make a typing error such as: I~~ permnaent just enter five character delete symbols correct letters, as follows: and follow them with the permnaentaaaaaanent when you press the VM/370 Enter Key on your terminal, the line is accepted by permanent I~~ 199!£~1 1!n~ ~~1~!~ ~I!B£l (~): Causes your virtual machine delete the logical line you are entering. Por example, to a formula of the highest affirmation ¢ causes the entire line to be ignored by VM/370. You can press the Enter key to continue typing, or you can continue on the same input. 199!£!1 1!~~ End ~I!~21 (!): Causes your virtual machine to logically end the lIne you are entering. This symbol allows you to enter many logical lines on one physical line, for example, I~~ a formulalof the highestlaffirmation is accepted by VM/370 as a formula of the highest affirmation ("): Tells your virtual machine to ignore the special line-editing meaning of the character that follows. You use the logical escape symbol to ignore the line-editing meaning of the special characters that you do not want VM/370 to misinterpret. Por example, VM/370 misinterprets the following line: I~~ 12g!£~1 ]§£!£~ ~I!~21 gross .2 pencils a 92¢ per dozen The special characters on this line are interpreted by VM/370 as: • • • Begin a new line after "gross" Delete the blank space after "pencils" Erase everything starting with the 1 sign through the ¢. However, the line is correctly interpreted if entered as follows: 1 gross "12 pencils "a 92"¢ per dozen section 5: Writing and Executing a Sample Program Using CMS 49 GC20-1804-3 Page Modified by TNL GN20-2659 !gte: The user may not be able to predict the results of mixing three or more consecutive line editing symbols because of the way the input line is acted upon by V"/370. For example: abc""Cildef and abc'"'CiliiJdef both result in abcdef CONTACTING V"/370 AND LOGGING ON The next steps to take before you begin to create the program are: contacting V"/370 and (2) identifying yourself to the computer. (1) To contact V"/370, you switch the terminal device on and V"/370 responds with the message: vm/370 online to let you know that V"/370 is running and that you can use it. If you do not receive the "vm/370 online" message, see the .!~LllQ: !,gil!1!~.! Q§g~~§ §Y!Qg for help. You can now press the Attention key (or equivalent) on your terminal and issue the LOGON command to identify yourself to the system: logon smith where SMITH is used as your userid. The LOGON command is entered by pressing the Return (or Enter) key. If V"/370 accepts your userid, it responds by asking you for your password: ENTER PASSWORD: You then enter your password, which is, in most installations, hidden by the system. The series of lines you and the like this: vm/370 online (!ii,g!!i!Q!! ) logon smith ENTER PASSWORD: IIIIIII computer have exchanged so far looks When you switched your terminal on, V"/370 responded to let you know it was ready for your input. You press the Attention key. You entered the LOGON command and your userid, and then pressed the Return key. V"/370 asked you for your password in response. You entered your password and the system hides it. The logging on process is now complete and you can load your virtual machine with an operating system, such as the Conversational Monitor system (C" S) • 50 IBM VM/370: Command Language Guide for General Users GC20-1804-3 Page Modified by TNL GN20-2659 LOADING eMS IN THE VIRTUAL MACHINE: THE IPl COMMAND The Conversational Monitor System is an interactive operating system designed for VM/370 virtual machines. CMS provides commands for manipulating virtual disks (virtual disks correspond to real disks on real machines) and files (units of data records such as programs or input data for programsj. You load eMS in your virtual machine using the CP IPL command: ipl cms where "cms" is assumed to be the saved system name for your installationis eMS. VM/370 responds by displaying a message such as: CMS VERSION v.l - mm/dd/yy to indicate that loaded. 12:02 the IPL command executed successfully and that CMS is Section 5: Writing and Executing a Sample Program Using CMS 50.1 If this is the first time the virtual disk is used you should make sure that it is formatted. Be careful to use this information only if you know your disk aust be for.atted. Ask your syste. prograamer whether or not you should format your virtual disk. PORBAT takes the form: for.at 191 a CBS then prompts you with the following message: DBSPOR603R PORBAT WILL ERASE ALL PILES WISH TO COITIIUE? (YESIIO): ON DISK 'A(191) '. DO YOU You answer: ~s CftS then asks you for the disk label of the disk to be formatted, which you can get fro. the system programmer: DftSPOR605R EITER DISK LABEL: You answer by entering a disk label: ftYDISK CftS then erases all the files on that disk, if any existed, and formats the disk for your use. When you enter the label, CBS responds by telling you: PORftATTIIG DISK 'A' '3' CYLIIDEBS PORBATTED 01 'A(191)'. B; T=0.15/1.60 11:26:03 You have to issue this command the first time you use the virtual disk. lh~ Cft~ Read~ ftessage The last line of the response fro. CftS in the preceding example was a Ready message. All CftS co.man~s generate a Beady message when they co.plete processing. The Ready message is a response from the system to let you know you can enter data into the system. The form of the Ready message can vary, since it can be changed using the SET co.mand. The preceding exa.ple shows the long form of the Beady .essage. If your Beady message is set to a short form, Yft/370 lets you know when you can enter another co •• and by sending you a .essage that looks like: B; Until now, the com.ands discussed have had to do with the process of getting you situated on your virtual machine; you have learned to use the ter.inal, contacted Yft/370, logged on, loaded an operating syste., and formatted a disk to use. low you can go on to create a progra., asse.ble, load, and execute it. Section S: Writing and Executing a Sample Program Using CftS Sl Using CMS to Create, Assemble, Load, and Execute a Program The following infor.ation is a description of the four steps in writing a program using CftS: (1) creating a program file, (2) assembling the source file, (3) correcting the file if there are errors in it, and (4) loading and executing the program. Before you can begin, however, you should know a little about the CftS Editor. HOW TO USE THE CftS BDITOB The CftS Editor is the progra •• ing tool you can use to create and .odify your program. The information you are about to read tells you how to use the basic EDIT subco •• ands you need to create your program. The Editor is a CftS component designed to make it convenient to cteate and .odify files using the CftS operating system. The Editor is invoked by the EDIT com.and, which, for your program, takes the form: edit sample assemble where SAftPLE is the name of the file you are creating, and ASSEftBLE is the filetype of the file. The filetype tells the Editor that the file you are creating is a file written in the assembler language. The Editor sets the correct logical tab settings you should use when entering the Assembler language statements. When you enter the preceding EDIT co.mand line, CftS responds with the message HEW FILE: BDIT: YOU are now in the EDIT .ode. The Editor can be used in two .odes, EDIT mode and IHPUT mode. The IIPUT mode is used solely for entering new lines of data into your file. The EDIT .ode is used to correct mistakes you made when you initially created the file or to modify the file. The EDIT com.and automatically places your virtual .achine in the EDIT mode; you enter the EDIT subcommand IIPUT to place your virtual machine in the INPUT mode. To get out of INPUT mode, press the Return key (or equivalent) on a null line, that is, press the Beturn key without entering any data. Usually, when you create a file, you first create the source records and then check them for errors. The Editor provides subco.mands to make the creation and correction of files convenient. The two sections that follow describe (1) the subcommand you use when creating the file and (2) other EDIT subcom.ands that are useful to you in creating and correcting the program file. All of the facilities of the EDIT com.and are described in the !,U37Q: J~!! Guide. 52 IBft Vft/370: Co •• and Language Guide for General Users When you use the Editor, you change one line at a time. The Editor uses a "current line pointer" to point to, or show you, the current line in your file. If you enter the TYPE subcommand, the Editor displays the line it is currently pointing to without changing the pointer. CREATING YOUR SOURCE RECORDS: THE INPUT SUBCOMMAND You can use the INPUT subcommand in two ways: (1) to enter the INPUT mode or (2) to insert a single line of data into your file. To enter the INPUT mode, you enter the INPUT subcommand and press the Return key. To insert a single line of data, you enter the INPUT subcommand followed by the line of data, then press the Return key. When you are in the INPUT mode, the Editor accepts anything you enter on the command line, regardless of its internal system definition. Only the logical editing symbols can be used in the INPUT mode to change a line. All you can do in the INPUT mode is add new lines of data to your file. Usually the Editor is used to create new files and modify existing files, so it has features that make this convenient, such as line number prompting for some language processors and tab settings for all supported language processors. For the assembler language program you are creating, you can use tab settings provided by the Editor to space to the correct position for assembler language instruction fields. OTHER EDIT SUBCOMMANDS YOU NEED The EDIT subcommands described here are almost self-descriptive. They let you see what your file contains, alter its contents, and store it on disk. Remember that these are only a few of the Editor's facilities and that you can find the rest described in the !~Lll~: ~~11 §EiQ~. To see the first record of your top record: file, instruct the Editor to type the top The top record of the file is always a null line, placed there by CMS so that you can always insert records at the beginning of your file. So, to see the first actual line of data, use the subcommand DOWN 1, which points the Editor to the line below the null line. To see the last record in your the bottom record of the file: file, instruct the Editor to locate bottom Section 5: Writing and Executing a Sample Program Using eMS 53 GC20-1804-3 Page Modified by TNL GN20-2659 To see records above the current line, instruct the Editor to move up in your file: up number where number is the number of lines above the active line. For example, UP 7 moves the current line pointer seven lines above the current line. To see records below the current down in your file: line, instruct the Editor to move down number where number is the number of lines below the current line. To delete a line from your file, move up or down in the file so that the line you want to delete is the current line. When the line you want deleted is displayed as the current line, instruct the Editor to delete it: delete number where number specifies the number of lines deleted beginning with the current line. If you enter DELETE 9, the Editor deletes the current line and the next eight lines following it. The new current line is the one following the last deleted line. To display records in your file, enter the TYPE subcommand: type number where number is the number of lines you want displayed, beginning with the current line. The last line displayed then becomes the current line. If you are using a 3270 display terminal in display mode use the SCROLL, FORWARD, and BACKWARD subcommands to display records. To change the contents of a record, issue the CHANGE subcommand: change /string1/string2/ where string1 is the string of characters you want to replace string2 is the string of characters you want to replace them with. 54 IBM VM/370: Command Language Guide for General Users and To store the co.mands and the data you have created in your file~ instruct the Editor to file your data for you, using- the PILE subcommand. Before you issue PILE, however, you must return your virtual machine to the EDIT mode. So press the Return key to enter EDIT mode, and then issue PILE: file All of the records you created are now filed on your virtual disk. The PILE subcommand takes your virtual machine back to the CftS environment. CftS responds to the PILE subcommand with a Ready !essage, to let you know your virtual machine is back in the CftS environment. The subcommands just discussed should be adequate for writing and editing a simple program. As you follow the prograa example you will see how these EDIT subcoamands are used. 1 SA!PLE PROGRA! The program you are about to create is a sample program designed to familiarize you with the interactive facilities of Vft/370. The program, when it executes, calls for you to enter a line of data in response to a direction from the program. It asks you to enter another item of information. Then, it tells you what you told it. Enter the prograa just as you see it. What you enter is shown in lowercase; the Editor responses are shown in uppercase. The first field the Editor allows you to enter is the label field, which begins with column 1. When you press the tab key, the type ball moves to the next tab setting on the terainal,'and this lets the Editor know that the next field you enter goes in the operation field, which begins in column 10. When you press the tab key again, the Editor spaces to the operand field, beginning in column 16. There are several ways you can get a continuation mark in column 72; see the !A~l~: EDIT §yid~ for this information. In this exaaple, the $!ARK edit macro is used. You must add the $!lRK edit aacro to your CftS system; it is not distributed with CftS. The V!LJ1~: lDIT Guid~ tells you how to add it to your CftS system. Bote that the example shows one space after the third LIBEDIT macro instead of pressing the tab key. The third LIBEDIT macro line is so long that is does not fit if you tab to column 31. When you enter the third LINEDIT macro you aust press the Return key twice after the last com.a: once to enter the line and one to return to EDIT mode. You know you are in EDIT mode when EDIT: is displayed. Then you must enter the macro '$!lRK'. This places an * continuation mark in column 72. To return to INPUT aode, enter 'input'. section 5: Writing and Executing a Sample Program Using CftS 55 edit .yfile asseable lEW PILE: EDIT: tabs 1 10 16 31 36 41 46 69 72 80 input IIPUT: When IBPUT: is displayed, you continue entering your program. sample csect set up address ability using sample,r12 load base register lr r12,r15 st r14,savret save return address linedit text='please enter your name' rd term name linedit text='please enter your age' rd term age linedit text='hi, •••••••••• , you just told me you are . ... , , EDIT: $mark input IIPUT: I name age savret sub=(chara,name,chara,age),rent=no r14,savret get return address r14 return to caller br eject dc c1130' dc c1130' dc floe regequ end name field age field save return address When you finish entering the program, you can display it, you should file it. If you display the program, it should be: SlftPLB IAftE AGE SAVRET CSBCT USIIG SAftPLE,R12 SET UP ADDRESSABILITY LR R12,R15 LOAD BASE REGISTER ST R14,SAVRET SAVE RETURN ADDRESS LIIEDIT TEXT='PLEASE EITER YOUR NAftE' RDTERft IAftE LIIBDIT TEXT='PLEASE EITER YOUR AGE.' RDTERft AGE LIIEDIT TEXT='BI, •••••••••• , YOU JUST TOLD ftE YOU ARE SUB=(CBARA,llftE,CBARA,AGE),REIT=IO GET RETURN ADDRESS R14,SAVRET L R14 RETURI TO CALLER BR EJECT IAftE PIELD DC CL130' AGE PIELD DC CL130' SAVE RETURI ADDRESS DC P'O' REGEQU EID and then Col 72 I , .... " * Creating and Executing Your Program This section describes the CftS commands you use to create, load, and run your sample program: EDIT, GLOBAL, ASSEftBLE, LOAD, and START. These cOllmands represent the most basic method of creating and executing a program using CftS. 56 IBft Vft/370: Com.and Language Guide for General Users INPUT FOR THE PROGRAft To create the program file, enter the EDIT command to invoke the CftS Editor~ edit sample assemble The Editor responds to the command by file and that you can begin creating it telling you that this is a new NEW PILE: EDIT: You then place your virtual machine in the INPUT mode by entering the INPUT subcommand input When you press the Return key, the Editor responds with the message IIPUT: low you can enter the program statements. When you have entered all of your program statements, press the Return key to return to the EDIT environment. low issue the FILE subcommand to save the statements you have entered and to return to the CftS command environ.ent. ASSEftBLIIG YOUR PROGRAft To assemble SAftPLE, you issue two commands: GLOBAL and ASSEftBLE. The GLOBAL command accesses libraries needed by the assembler during its execution. The ASSEftBLE command causes your program to be assembled by the assembler. You should enter both GLOBAL and ASSEftBLE just as they are shown here: global maclib cmslib assemble sample CftS notifies you when the assembly is done by displaying a message at your terminal. You receive one of two kinds of messages: one to tell you there were no errors, the other to tell you there were errors and where they were in the program. In either case, a Ready message is generated to tell you that ASSEftBLE has completed execution. If there are no errors, the message is ASSEftBLER DOlE 10 ERRORS PLAGGBD II THIS ASSBftBLY R; If you have errors, you receive a message like ASSEftBLB DOlE SAft00331 B ERRT IP0024 lEAR OPERAID COLUftNl--UIDEPIIED SYftBOL 1 STATBftEIT WAS PLAGGED II THIS ASSEftBLY 8 WAS HIGHEST SEVERITY CODE R(008); section 5: Writing and Executing a Sample Program Using CftS 57 If you receive the error message, you have to go back and correct your prograa; the asseabler language error message you receive tells you where and how you aade the mistake. Use the EDIT coamand to correct the file: edit saaple asseable This stateaent allows you to correct your source file. The Editor places your virtual machine in the EDIT mode and places the file in storage so you can edit it. You can now begin aaking corrections using the EDIT subcom.ands described in the first part of this section. When you have corrected the program, file it again and reasseable it (assemble sample). This tiae you need not enter the GLOBAL command, since the first GLOBAL command is in effect for the duration of your terainal session. If the prograa assembles storage and execute it. with no errors, you can load it in virtual LOADING AND EXECUTING THE PROGRAM The CMS LOAD and START co •• ands load your program in virtual storage and begin its execution. The LOAD coamand processes the relocatable object code produced by the ASSEMBLE co •• and. The LOAD co •• and loads the assembler TEXT file into storage and establishes the proper linkage. Enter the LOAD com.and as it is shown here: load saaple After you press the Return key, CMS responds with a (R;) when your program is loaded successfully. Ready message low enter the START co.mand to begin execution of the program: start sample The virtual machine, with your prograa the messages supplied by your program: now in control, proapts you with PLEASE EITER YOUR lAME: PLEASE ENTER YOUR AGE: After you answer its questions, your program writes you a message and returns a Ready aessage. LOGGIIG OPP When you want to end the terainal session, use the LOGOPP co.mand, logoff 58 IBM VM/370: Coa.and Language Guide for General Users GC20-1804-3 Page Modified by TNL GN20-2659 Section 6: Virtual Machine Operation Virtual System Console The major differences operating under CP are: between operating on the real machine and • You can enter CP commands by entering CP mode, or by issuing the iCP command while a virtual machine's console is able to read. • The Request key of a real operator's console signalling attention once from the terminal. is simulated by To reply to messages from a virtual machine operating system, you: I. Must enter VM mode (if you on a 2741 communication terminal). • Enter the information requested. • press the carriage return (Return) key on Terminal (or equivalent on other terminals) • the 2741 Communication If communication with CP is required before responding to specific error messages issued by some virtual machine operating systems, enter CP mode and perform the necessary console functions. When control returns to the virtual machine environment, the virtual machine read is canceled by a unit exception and the virtual machine operating system responds by reissuing the read. The required virtual machine response may then be entered. The Cancel key of the system console keyboard is simulated by the Attention key on the 2741. To enable the CPU operator to make input line and character corrections to operating system responses, the VM/370 logical editing symbols may be used. Attaching Devices When a virtual machine operating system requires a specified device, as in a MOUNT request, you should do one of the following: • If the device is already defined as part of the virtual machine configuration, enter CP mode. Then enter the CP command READY cuu (with cuu replaced by the virtual I/O device address), followed by the CP BEGIN command. This is the virtual machine equivalent of physically making a device ready, if it is not already in a ready state. • If the device is not a standard device already defined as part of the virtual machine configuration, enter CP mode, and issue the CP DEFINE command to add the device to the virtual machine configuration. If a DASD device is already defined for some other user in the VM/370 directory, you can use the CP LINK command to add the device to your virtual machine configuration. Otherwise, send a message to the Section 6: Virtual Machine Operation 59 system operator to attach it to your virtual machine. device is ready, enter the BEGIN command. When the real Note: If the virtual device is an attached real device at the time you it mounted, the real device can be taken out of and put back into ready status to cause an interrupt. need TAPE DEVICES Tape drives, because they cannot be shared, are usually not defined in the VM/370 directory as part of a virtual machine configuration. When you require a tape drive for a job, a system operator with privilege class B must attach an available real device to your virtual machine with the virtual device address you require. When the job involving that tape drive is complete, you can issue a DETACH command, naming the virtual device address of the tape to release the tape. In this way, real tape drives are allocated to a virtual device only for the duration of the jobs that need them. Loading an Operating System into a Virtual Machine Figure 10 shows how you could load an OS/MFT system on a virtual machine, and the subsequent mounting of a virtual device at address 232. (For clarity, the information you enter is shown in lower case, and messages displayed by CP and OS are shown in uppercase). The virtual machine that is to run OS must have a configuration compatible with that for which the operating system's nucleus was generated. An example of an appropriate VM/370 directory entry is: USER BATCH PASSWORD 512K ACCOUNT NUMBER BIN10 OPTION REALTIMER ISAM CONSOLE 01F 3215 SPOOL C 2540 READER A SPOOL D 2540 PUNCH A SPOOL E 1403 A DEDICATE 230 BATCH1 DEDICATE 231 BATCH2 60 IBM VM/370: Command Language Guide for General Users r--------------------------------------------------------------------------------, logon os/mft ENTER PASSWORD: (Printing of the password is inhibited) LOGON AT 13:24:30 EST THURSDAY ipl 230 m./dd/yy IEE007A READY set date = 72.355, Q = (231) start rdr, OOc start vtr, OOe start IEl233A e 232, VOLABC,JOB,STEP IPL the OS system residence device. You must respond to alIOS IPL co.mands. OS ready message. OS requests operator to mount a pack labeled "VOLABC" on 232. You press the attention key once to present an interrupt to OS. Icp link to usera 330 as 232 w pass DASD 232 LINKED TO R/i .cp ready 232 Because the LINK co •• and vas prefaced by 'CP, the OS virtual machine acts as though you had pressed the CANCEL key, and issues another READ to the syste. console. The LINK co.mand is passed directly to CPo You request that a disk belonging to usera, with a virtual address of 330, be linked to your own virtual machine. You issue the CP LINK com.and to access that other user's disk, with virtual address 232 in his virtual I aachine. Alternately, you could issue the I "vary 232,online" OS comaand. I I Then enter READY to siaulate a ready I interrupt to OS and end the read by pressing I the carriage return or Enter key. I I Figure 10. Loading an OS/8FT Virtual 8achine Spooling Virtual Console 1/0 CP lets you spool your virtual aachine's console input/output to disk, instead of, or in addition to, having it displayed at your terainal. The data spooled includes aessages from or to the virtual .achine operating systea, and froa or to CP. This facility, invoked by the SPOOL CONSOLE co •• and, is particularly useful when the virtual .achine is executing with the terminal disconnected, or when the virtual aachine console is a display device, since the virtual console output, which would otherwise be lost, is saved on disk. The saved data is later printed on the real printer. If the real printer cannot print lower-case characters, the operator can use the FOLD option when he loads the buffer for the print train image. This causes the printer to print, in upper case, data that you enter in lower case. You can invoke or ter.inate virtual console I/O spooling at any tiae and as often as you like. If the console file is not closed when you log off (or are forced off) the V8/370 syste., CP closes the console spool file and schedules it for printing. Section 6: virtual ftachine Operation 61 GC20-1804-3 Page Modified by TNL GN20-2659 Reading Cards in a Virtual Machine When an operating system such as DOS, DOS/VS, or OS/PCP, MFT, MVT, VS1, or VS2 is running batch production jobs in a virtual machine, it aay occasionally be necessary to dedicate a real card reader to that virtual machine. In that case, jobs are entered through the card reader in exactly the same way they are entered on a standalone system, and no double spooling occurs. If, however, there is no extra reader availatle to dedicate in such a manner, or if the virtual machine is being run from a terainal not located near a real card reader, other methods of handling card input are necessary. Card images can be placed into the (spooled) virtual your virtual machine in four ways: card reader of • A card deck can be placed in the real card reader and read by VM/370. The deck must be preceded by a special VM/370 identification (ID) card specifying your virtual machine userid. VM/370 reads the cards and transfers the card images to your virtual machine's virtual card reader as a spool file. When your virtual machine issues a read to the card reader, VM/370 presents the cards, one at a time, to the virtual machine. The format of the ID card is described in the CMS READCARD command description. • A virtual machine's printer can transfer printer listing images and the punch can transfer punch images to its own (or to some other user's) virtual card reader. CP can handle up to 150-character records in virtual card readers. The CP SPOOL transfers these unit record files. For example: spool punch to usera causes all cards punched to be transferred (after the punch file is closed) as an input file to usera's spooled card reader. CMS cannot print files that have records greater than 160 characters long. However, CMS can display records greater than 160 characters long. • Via the CP TRANSFER command, you can transfer your virtual reader file(s) to another user's virtual reader, or retrieve previously transferred files back to your own virtual reader. • A card deck can be placed in the card reader of any of the remote stations supported by the Remote Spooling Communications Subsystem (RSCS). The same VM/370 ID control card, as mentioned previously, must precede the deck. RSCS receives the card file and spools it to the specified VM/370 user's virtual card reader. Normally you should find it helpful to options for your virtual card reader: spool cont 62 ~Oc set the following spooling cont noeof specifies that reading be "continuous" (that is, not to indicate an EOF condition to the virtual machine after each input file, but to continue reading all the card images until the reader IBM VM/370: Command Language Guide for General Users files spooled to the virtual machine are exhausted). If this option is not in effect, a unit exception is reflected to your virtual machine at the end of each spooling file. This option eliminates the need to repeatedly enter the CP RBADY and CLOSB commands between the reading of each spooled file. noeof indicates that the virtual reader's end-of-file button is assumed not to have been pushed. When all reader spool files are exhausted, an intervention-required status pending is reflected to the virtual machine. When additional reader files are transfered to the virtual card reader, a device end interrupt i~ reflected to the virtual machine, and card reading normally resumes automatically (because a device end interrupt "wakes up" the virtual machine). The operator of a virtual machine operating system such as OS or DOS may choose to prepare his own job streams at his terminal using the CMS Bditor facilities, and then IPL another operating system to process the job streams. This procedure is discussed under "Using Multiple Consecutive Operating Systems." Printing and Punching in a Virtual Machine VM/370 provides unit record spooling facilities. When operating systems that also provide unit record spooling facilities are running in a virtual machine, double spooling of printed and punched output may occur. If you wish, you can eliminate one of the spooling facilities. To eliminate CP spooling, a real printer or punch can be temporarily attached to a virtual machine, or dedicated to a virtual machine in the VM/370 directory via the DBDICATE statement. In either case, CP performs no spooling for that virtual device. Interrupt processing can be initiated by the virtual machine whenever it receives control of the CPU from CP. CP spooling has priority over any virtual machine execution. The real printer and punch are better utilized by CP than by a virtual .achine. ~~ spooling provides .ore efficient shared use O~ a i1.1~ed number of readers, printers, or punches by many virtual machines. OS spooling can be eliminated by using OS JCL in the form UNIT=OOB or UNIT=OOD instead of SYSOUT=A or SYSQUT=B, where OOB and OOD are virtual device addresses. DOS POWER spooling can be eliminated by using the Job Entry Control Language (JECL) option of POWER and by indicating no spooling on the JECL control statements for dedicated spooling devices. When printer or punch spooling is performed by CP, the CP CLOSE command specifying the virtual printer or punch address should be issued periodically. This releases previously finished and stacked output files for CP spooling and results in better utilization of the DASD spooling areas and of the unit record devices. CMS has no spooling facilities of its own, and does not cause double spooling when running in a virtual machine. It does not support an attached or dedicated printer, punch, or reader, and must use the facilities of CP. CMS closes the virtual printer or punch after the completion of each command that uses them. Section 6: virtual Machine Operation 63 Disconnecting the Terminal Once you load a virtual machine operating system and start jobs you .ay want to use your terminal for some other purpose while the batch jobs are running. The DISCOII coaaand allows you to disconnect your terminal from the V~/370 system, but allows the virtual aachine to continue operation. You can reconnect your ter.inal by issuing the LOGOI co •• and. Unless the CP com.and, SPOOL COISOLE START, is issued to spool the virtual console and CP output, all "writes" or output messages to the virtual console are ignored. A BOLD option is provided with the DISCOII coamand to prevent a communication line in a switched line configuration from being disabled. Disconnecting the terminal frees it for other uses, but is useful only for operating systems that can run in an unattended mode. If a virtual machine that is running disconnected issues a "read" to the virtual console or enters a disabled wait state, virtual machine execution is halted and a 15-minute time-out begins. If you do not re-establish your connection to the V~/370 systea (by logging on again) within 15 minutes, you are logged off the system. A virtual aachine aay also be placed in disconnect status automatically. If a teleprocessing line error occurs, or you turn off your terminal without logging off, the virtual machine is disconnected and execution stops. (If you turn off a 3210 without logging off, the virtual machine is disconnected if someone sends a message to the terminal.) A 15-minute time-out begins. If you do not log on again within 15 minutes, your virtual machine is logged off the system. When a disconnected machine is logged off, V~/370 closes spool files and schedules them for printing or punching. all open You reconnect to a disconnected virtual machine via the noraal logon procedure. (If there was a read active on the ter.inal at the time of disconnect, you aay have to issue a RESET co.aand for the terminal.) Your running virtual machine is placed in the CP com.and mode. To resume execution of the virtual machine operating system, issue the BEGI) command. For example, (a) shows the disconnect subsequent reconnect, as long as PROGA reconnects. procedure, and (b) shows the is still running when USERA (a) logon usera EITER PASSWORD: (displaying of the password is inhibited) LOGOI AT 05:30:30 EST FRIDAY mm/dd/yy ipl 190 C~S VERSIOI 2 LEVEL 0 run proga ••• CP disconn DISCOIIECT AT 05:35:30 EST FRIDAY mm/dd/yy 64 IB~ V~/370: Command Language Guide for General Users (b) logon usera FafTER PASSWORD: (displaying of the password is inhibited) RECONNECT AT 07:42:45 EST FRIDAY mm/dd/yy begin (if one exists) is not executed Note: A PROFILE EXEC procedure automatically when you log on after disconnecting. Also, if you set a as specifying TERMINAL APL ON) before you system option (such disconnect, that option may be returned to its default when you log on again. Using Multiple Consecutive Operating Systems You may require the facilities of a single terminal session. more than one operating system during When you run an operating system such as as, DOS, OS/VS1, OS/VS2, or DOS/VS from a terminal, you can use the CMS Editor facilities to create and modify job streams. If you are an applications programmer who normally uses CMS to interactively create, modify, and test your programs you may require facilities not supported or available in CMS for compilation (for example, programs using DOS macros) or for execution (for example, any DOS object program, or any as object program that utilizes certain as supervisory functions. and access methods not simu1a ted under CMS). The following technique uses multiple operating systems consecutively. Job control cards, compiler or assembler source programs, and test data streams are created and modified at the terminal under control of the CMS Editor. Then the job stream is executed, only after control has been passed to an appropriate operating system with the necessary facilities. In this way, you can use the terminal-oriented facilities of CMS to create and update source progra.s and ~CL. When you are ready to compile or test, you can give control of your virtual machine to DOS or as. After execution is finished, you can transfer the printer and punch output back to CMS for selective scanning and displaying at the terminal. This approach assumes you have created source program files and data files under CMS. To execute under another operating system (in this example, OS) you must also create JCL records that specify the compilation, link edit, or execution, as appropriate. These records are created under CMS and named with a distinctive filename and filetype (for example, PLICOMP JCL). Job control records, source program files, and data files can then be merged together in the virtual card reader to form a single as job stream. CP and CMS commands (shown in Figure 11) create and transfer this job stream. I TRANSFERRING OUTPUT The CP SPOOL command transfers card images from the virtual card punch of one virtual machine to the virtual card reader of that same or some other virtual machine. During this time, no real cards are punched or read; CP manages the transfer of CMS card-image data files through disk spooling operations only. section 6: virtual Machine Operation 65 Figure 11 shows how files are transferred between virtual machines. The virtual machine is in eMS mode at the start of the example. The co •• and "SPOOL OOc cont eof" specifies that reading be continuous until all files spooled to the virtual machine are exhausted and the virtual end-of-file button on the reader is pushed. NOHEADER specifies that no special control cards are to be inserted in front of each punched file. virtual device 230 is an as system volume. virtual device 231 contains the as job queue, SYS1.SYSJOBQE. All standard as responses (for example, R;T=0.04/0.12 09:36:08) are omitted from the example; however, the as READY message is included to more fully illustrate the IPL sequence. Also, assuming you are using a 2741, you must press the Attention key before entering each as command. The attention interrupts are not shown in Figure 11. r----------------------------------------------------------------------------, CMS cp close OOc cp close OOd cp spool OOd to punch jobcard jc1 (noheader) punch plicomp jc1 (noheader) punch plimain pl1 (no header) punch asmcomp jc1 (noheader) punch asmsub assemble (noheader) punch linkgo jc1 (noheader) punch godata dat (noheader) punch slshstar jc1 (noheader) cp spool OOc cont eof cp ipl 230 * Not~: The following are issued once under as control: IEE007A READY set date=xx.355,Q=(231) start rdr,OOc start wtr,OOe start Figure 11. as Job stream Transfer To transfer files between virtual machines, you must" have access to both operating systems being used. Access to both systems can be provided either in your virtual machine's VM/370 directory entry, or dynamically before loading the new system. Figure 12 illustrates a virtual machine configuration and the corresponding VM/370 directory control statements. Virtual device addresses 190 and 191 contain the CMS system and user disk area. virtual device addresses 230 and 231 contain the os system and user disk area. The two systems use a common card reader, card punch, printer, and console. 66 IBM VM/370: Command Language Guide for General Users USER OS2 PASSWORD ACCOUBT BUftBBR BIB16 COBSOLB 01F 3215 SPOOL C 2540 RBADBR SPOOL D 2540 PUBCB SPOOL B 1403 LIBK JFK 230 230 R LIBK CftSSYS 190 190 RR ftDISK 231 2314 120 82 W ftDISK 191 2314 101 10 UDISK1 WR RPASS WPASS Figure 12. Directory Bntry for Alternating Operating Systems I CONFIGURATIOBS You can alternate operating systems more simply if: I. I The devices used by both address, and I. The common addresses are not used to support different devices systems are supported at the If these two conditions do not exist, you must modify machine configuration before each IPL of a new system. If the two systems require online typewriter addresses, the CP DBFIBB com.and can be used to the virtual system console. For example, if the Figure 12 required an online typewriter keyboard the command same device the virtual keyboards at different change the address of OS system specified in at address 01F,·issue cp define 009 as 01F before loading command 230. When the OS job stream is completed, issue the cp define 01F as 009 before loading CftS. virtual storage size can be changed and virtual card readers, printers and punches can be added with this procedure. If the systems expect different device types at the same address (for example, in Figure 12 CftS expects a 2314 at address 191, but the OS system might be generated to support a 3330 at that address), the common address must be assigned to the appropriate device each time a new system is loaded. If CftS is running with a disk at address 191, you should issue the following command before loading OS: cp detach 191 An appropriate device can then be added to the virtual machine at address 191 either befOre loading, or in response to a mount request from the OS system. !Qte: For direct access storage devices, the above procedure is necessary even if both systems support the same device type at the same address. The disk format used by CftS is unique, and is not compatible with that of other operating systems. Files can be shared between CftS and OS or DOS only through the spooling facilities, of CP. section 6: Virtual ftachine Operation 67 Execution Control 1 string of arguments can be passed to your program from the terminal when execution is begun with the CKS START command. If arguments are specified, the storage address of a parameter list is placed in general register 1. The parameter list is a string of double words, one arguaent per double word. The first argument is the entry operand. Other arguments are accessed with displacements of 8, 16, 24, and so on, from the address contained in register 1 when execution begins. For exallple: load proga start epg 071374 causes execution to begin at a control section or entry point named EPG. When execution begins, general register 1 points to a string of two double words, the first containing lPG, the second containing 071374. If a program is to be executed frequently, you can create a non-relocatable copy of it on one of your disks. Subsequent invocation of this program causes the absolute module to be read from disk storage, ready to begin execution. 68 IBK V"/370: Command Language Guide for General Users Part 2: Reference Information This part of the publication contains reference information. contains all the formats and rules for using CBS commands. contains the formats and rules for using CP commands. Section 7 section 8 Notational Conventions The notation used to define the command syntax in this publication is: • Truncations and Abbreviations of Commands Where truncation of a command name is permitted, the shortest acceptable version of the command is represented by uppercase letters. (Remember, however, that VB/370 commands can be entered with any combination of upper and lowercase letters.) The example below shows the format specification for the FILBDBF command. FIledef This representation means that FI, FIL, FILB, FILBD, FILBDB, FILBDBF are all valid specifications for this command name. and Operands and options are specified in the same manner. Where truncation is permitted, the shortest acceptable version of the operand or option is represented by uppercase letters in the command format box. If no minimum truncation is noted, the entire word (represented by all capital letters) must be entered. Abbreviations are shorter forms of co •• and names, operands, and options. Abbreviations for command names are shown below the full name in the format box. Abbreviations for operands and options are shown in the description of the individual operands and options that follows the format box. For example, the operand RBADBR has both a minimum truncation and an abbreviation. In the format box it is shown as: Reader indicating that the minimum truncation is R. In the the RBADER operand that follows, it is shown as: discussion of READER RDR indicating that the abbreviation is RDR. Thus, the acceptable specifications for the REIDER operand are: R, RE, REI, REID, RBIDB, REIDER, and RDR. In some cases what appears to be a minimum truncation is really the only valid abbreviation. For example, the abbreviation for BEBBER is BEB. Only these two forms are valid and no truncations are allowed. The format box contains Part 2: Reference Information 69 MEMBER {n:ae} and the description that follows the format box is MEMBER { nalle} "EM * • The following symbols are used to define the coaaand foraat should never be typed when the actual co.aand is entered. underscore braces brackets ellipsi's • { } [] Uppercase letters and words, and the following syabols, entered as specified in the format box. asterisk comma hyphen equal sign parentheses period colon and should be * = () • Lowercase letters, words, and symbols that appear in the comaand format box represent variables for which specific information should be substituted. Par exaaple, "fn ft f." indicates that file identifiers such as "MIPILE EXEC 11" should be entered. • Choices are represented in the command format boxes by stacking. 1 B C • 1n underscore indicates an assumed default option. If an underscored choice is selected, it need not be specified when the coa.and is entered. ~!!!£!.!! The representation 1 ~ C indicates that either 1, B, or C may be selected. However, if B is selected, it need not be specified. Or, if none is entered, B is assumed. 10 IBM VM/310: Coa.and Language Guide for General Users • The use of braces denotes choices, one of which ~§! be selected. EX~l!.El~ The representation {~ } indicates that you !!§! specify either A, or B, or C. choices is enclosed by neither brackets or braces, treated as if enclosed by braces. • The use of brackets denotes choices, one of which ~!~ If a list of it is to be be selected. ~.!!.!!.El~ The representation r , I A I I B I I C I L .J indicates that you may enter A, B, or C, or you may omit the field. • An ellipsis indicates that the preceding item or group be repeated more than once in succession. of items may ~!!!tE!g The representation (options ••• ) indicates that parentheses. more than one option may be coded within Part 2: Reference Information the 71 Section 7: Format and Usage Rules for CMS Commands CMS Command Summary This section contains descriptions of the commands acceptable in the CMS environment. Pigure 13 contains an alphabetical list of the CMS commands and ~ne functions performed by each. Unless otherwise noted, CMS commands are described in this manual. I ICommand Usage 1------------------------------------------·------------------------IACCESS IDefine direct access space for a CMS virtual machine, 1 1 1 IASM3705 1 1 IASSEMBLE CMSBATCH Icreate extensions and relate the disk space to a logical 1directory. 1 IAssemble 3704/3705 source code. 1 IAssemble Assembler Language source code. 1 Invoke the CMS Batch Pacility. COBOL2 Compile ANS Version 4 COBOL source code. COMPARE Compare all or part of records in two existing disk files. COIVERT2 Convert free form PORTRAN statements to fixed form. COPYPILE Copy files according to spedifications. CP Enter CP commands from CMS environment. CPEREp3 Dump error information which was recorded by VM/370 error recording routines. DDR1,3 Perform backup, restore, and copy operations for virtual disks. DEBUG" Enter DEBUG subenvironment, DEBUG mode. DIRECT1,3 Set up VM/370 directory entries. DISK Perform Ifiles. disk-to-card and card-to-disk operations for CMS lThis co.mand .is described in the VML170: PlanninE ~~~ ~st~~ 'I Generation Guide. 1 2ThIs-COimand-rnvokes an IBft Program Product, available fro. IBM for 1 a license fee. 1 3This com.and is described in the VM/170: QR~~at2~~§ Guid~. 1 "This command is described briefly in this manual and in detail in thel VMn70: .§.l!!!~! Pr2.9!:~!~!:~!! ~!!!g~. 1 I Pigure 13. CMS Command Summary (Part 1 of 4) Section 7: Pormat and Usage Rules for CMS Commands 73 •I Command Usage 1------------------------------------------------------------------IEDITs IEnter EDIT sUbenvironaent, EDIT aode. I IERASE I I EXEC6 I I PILEDEP I IDelete files from user disks. I IProcess special procedures aade up of frequently used Isequences of coa.ands. I IProvide simulation of OS job control language data (DD) stateaents. Id~finition POR!AT I Prepare disks in CftS 800-byte block foraat. PORTGI2 Compile PORTRAI source code using the G1 coapiler. POR'IBX2 Coapile PORTRAI source code using the GEN37051 Generate an EXEC file that assembles and link edits the 3704/3705 control program. GENDIRT Create auxiliary module directories. GENftOD Generate absolute non-relocatable files (ftODULE files). GLOBAL Define specific CftS libraries to be searched for and subroutines. GOPORT2 Compile PORTRAN' source code and execute the program just coapiled using Code and Go compiler. INCLUDE Bring additional TEXT files into storage and establish linkage. LISTDS List information about data sets on an OS disk. LISTPILE List information about user CftS files. LKEDI Link edit the 3704/3705 control program. LOAD Bring TEXT files into storage and establish linkages. LOAD BOD Bring a single ftODULf file into storage. BACLIB Create and modify C!S .acro libraries. B-extended coapiler. aacro~ lThis command is described in the 'ftLJ70: Rlanni~~ A~~ §I~!~! Generation Guide. 2ThIs-coiiand-iiivokes an IB! Program Product, available froa IB! fOl: a license fee. 5This command is described briefly in this manual and in detail in the 'ftLJ70: ED.!~ Guide. 6This command is described briefly in this manual and in detail in the '!/~lQ: 111~ Y2~~§ §!!!de. Pigure 13. 74 C!S Co •• and Suamary (Part 2 of 4) IB! '1'/370: Command Language Guide for General U~ers Coaaand ftODftlP ftOVEFILE Usage IDisplay load map of a ftODULE file. I Iftove data fro. one device to another device of the same or 1different type. 1 - ICPDUftPl,3 Process CP spool reader files created by 3704/3705 duaping operations. PLIC2 Co.pile the PL/I source code using the PL/I Checkout Compiler. PLICB2 Execute the PL/I object code generated by the PLjI Checkout Coapiler. PLIOPT2 Coapile the PL/I source code using the PL/I Optiaizing Compiler. PBIRT spool a specified CftS file to the virtual printer. PURCH Spdol a specified CftS file to the virtual punch. QUEBY Bequest information about a CftS virtual machine. BEIDCIBD Bead data froa spooled card input device. BELEISE ftake a disk and its directory inaccessible to a CftS virtual machine. BEIAftE Change the name of a CftS file or files. BUI Initiate series of functions to be perforaed on a file. SAVEICPl Bead 3704/3705 control program load into virtual storage and save an image on a CP-ovned disk. SCBIPT? Foraat and print documents according to embedded SCBIPT control vords in the document file. lThis comaand is described in the Vft/112: f!!!!i!g !nd ~ste~ 2This coaaand invokes an IBft Program Product, available froa IBft for al license fee. 1 3This command is described in the !!l112: Q~!~!!2~~§ §yide. 1 ?This co.mand invokes a text processor that is an IBft Installed User 1 Program, available froa IBB for a license fee. 1 Figure 13. CBS Co.mand Suaaary (Part 3 of 4) Section 7: Format and Usage BuIes for CftS Coa.ands 75 I Command Usage SET Establish, set, or reset CMS virtual machine characteristics. SORT Arrange a specified file in ascending order according to specified fields in the data record. START Begin execution of programs previously loaded. STATE Verify the existence of a file. SVCTRACE Record information about supervisor calls. SYRORYM Invoke a table containing synonyms you have created for CMS commands. TAPE Perform tape-to-disk and disk-to-tape operations for CMS files. TAPPDS Load OS partitioned data set (PDS) files or card image files from tape to disk. TESTCOB2 Execute the OS COBOL Interactive Debug Program Product. TESTFORT2 Execute the "FORTRAN Interactive Debug Program Product. TXTLIB Generate and modify text libraries. TYPE Display all or part of a file at the terminal. UPDATE VMFDUMp3 VSBASIC2 VSBUTIL2 ZApl,3 Make changes in a file as defined by control cards in a Icontrol file. I IFormat and print system ABBRD dumps. I ICompile and execute VS BASIC programs under CMS. I IConvert BASIC 1.2 data files to the format required by IVS BASIC. I IModify or dump LOADLIB, TXTLIB, or MODULB files. lThis command is described in the !AL11Q: g!~!!iBg !~g System Generation Guide. " 2This-coimand-invokes an IBM Program Product, available from IBM for a license fee. 3This command is described in the !1L~lQ: QEerator's Guide. Figure 13. 76 CMS Command Summary (Part 4 of 4) IBM VM/370: Co.mand Language Guide for General Users GC20-1804-3 Page Modified by TNL GN20-2659 Any of the commands listed in Figure 13 may be entered when you are running CMS in your virtual machine, the terminal is idle, and the virtual machine is receptive for input. If however, CMS is processing a previously entered command and your typewriter terminal keyboard is locked, you must signal your virtual machine via an attention interrupt. The system acknowledges the interrupt by unlocking the keyboard: Now you can enter commands. If your terminal is a display device, there is no problem of entering commands while the virtual machine is busy as its keyboard remains unlocked for additional command input. Note that in these circumstances the most recent command is stacked and is not executed until the command that is currently executing completes. In addition to the commands listed in Figure 13, there are seven commands called Immediate Commands which are handled in a different manner from the others. They may be entered while another command is executing by pressing the Attention key (or its equivalent) and are executed immediately. The Immediate Commands are: I • • • • • • • HE - Halt batch execution HO - Halt tracing HT - Halt typing HX - Halt execution Re - Resume tracing RT - Resume typing so - Suspend tracing section 7: Format and Usage Rules for CMS Commands 77 ACCESS ACCESS Use the ACCESS co.mand to acquire disk space and to set up file directories in storage to be used during a ter.inal session. A Master File Directory is the disk-resident file directory containing an entry for each CMS file on a virtual disk. A User File Directory is the directory created in storage when the ACCESS co.mand is executed. It contains an entry for each CMS file that is available to you in your CMS virtual machine. The specifications of the ACCESS com.and deter.ine the entries in the User File Directory. The format of the ACCESS co •• and is: r----- ------------------------------------------------------------------------, r ACcess , Icuu 1I0de[/ext [fn [ft [fm]]]]1 [(options ••• [)]] L J 2E!iQ!!§: r , INOPROFI IERASE 1 L L-_ _ _ _ __ cuu .J [ NODISK] makes the disk at the specified virtual device address available. This field must be specified if other than the default value is desired. The default value is 191, except when the NODISK option is specified. (When BODISK 1S selected, the only disk accessed is the system disk and any of its extensions.) Note that 000 is not a valid address. mode assigns the one-character filemode letter to the disk being accessed. This field must be specified if cuu is specified (except when the NODISK option is selected). The default value is A. ext indicates the mode of the parent disk. The User File Directory of this disk is logically associated with the User File Directory of the read-only extension. There must not be a blank preceding or following the slash (I). fn searches the Master 'File Directory of the disk being accessed and includes the files with the specified filename in the User File Directory for that disk. An asterisk coded in this field means that all filenames are to be included. (See Bote 5.) ft searches the Master File Directory of the disk being accessed and includes the files with the specified filetype in the User File Directory for that disk. If an asterisk is coded in this field, all filetypes are included. (See Note 5.) fm searches the Master File Directory of the disk being accessed and includes the files with the specified filemode in the User File Directory for that disk. An asterisk coded in this field means that all files on the disk specified by the filemode letter and device address are selected, regardless of the filemode number. (See Note 5.) 78 IBM VM/370: Command Language Guide for General Users ACCESS An asterisk (*), preceded by any number of characters for filename or filetype, allows the specified characters to be used as the leading characters for that identifier. For example, ABC* for fn allows access to all files with filenames beginning with ABC. I~te: lOPROF suppresses execution of a PROFILE EXEC file (see lote 1). This option is valid only if the ACCESS co •• and is the first co.mand entered after an IPL of the CftS operating system. On subsequent ACCESS co •• ands, the NOPROr option is ignored. BRASB creates a User File Directory with no entries for the disk being accessed; this option is valid only for disks in read/write mode. The ftaster File Directory on the disk re.ains unchanged; only. the directory in virtual storage is altered (see Bote 3). BODISK lets you gain access to the CftS operating system with no disks accessed except the system disk and its extensions. This option is valid only on the first co •• and you enter after loading CftS. If BODISK is specified, no other operands or options may be used. 1. The PROFILE EXEC file is a user-generated EXEC procedure often used to perform initialization and to set system parameters required by the virtual .achine. For exa.ple, whenever programs that use macros are assembled or compiled, the PROFILE EXEC procedure can issue the GLOBAL co.mand to indicate where the system should search for the macros. For OS programs, the PROFILE EXEC procedure can issue FILEDEF state.ents for the files to be used. 2. If an ACCBSS co •• and is not entered as the first IPL com.and for CftS, the command: co •• and after an access 191 a is auto.atically perfor.ed and the PROFILE EXEC file, if one exists, is executed. Any disk being accessed must previously have been formatted using the CftS co.mand FORftAT. 3. If an ACCESS co •• and with the ERASE option is entered by mistake, you can regain access to the existing files on the disk either by issuing another ACCESS com.and without the ERASE option, or by issuing a RELEASE com.and for the disk. Since the ERASE option does not alter the ftaster File Directory or disk files, but only specifies that the directory built in virtual storage is to contain no entries, the original disk files can be recovered as long as they were not altered. However, if a CftS command is executed which causes a new file to be written on the disk, the ftaster File Directory is updated and the files which were on the disk before the execution of the ACCESS co.mand with the BRASB option are no longer available. The space previously used for the erased files is now available for new files. 4. If the initial ACCESS command (either explicit or implied) encounters an error, a message is displayed at the terminal and you can enter another co.mand; no disk has been accessed at this time. section 7: Pormat and Usage Rules for CftS Co.mands 79 ACCESS 5. The filena.e, filetype and file.ode can only be specified with disks which are accessed as read-only extensions. Piles with a mode nu.ber of 0 are not be accessed in this case. 6. If you have disk addresses 190, 191, 192, and 19E defined in the V"/370 directory, or if they are defined before you IPL C"S, these disks are accessed as the S, A, D, and Y disks, respectively. The S and Y disks are read-only disks. 7. If you are using ACCESS to access a read-only OS or DOS disk, you cannot specify the fn, ft, or fm operands, nor can you specify any options. 8. A read-only OS or DOS disk cannot be accessed unless is already accessed, in read/write .ode. 9. Only one virtual machine at a time mode. Command a C"S A-disk can access a disk in read/write Result ACCESS 192 B IMakes all files on 192 (which is to become the IE-disk) availa~le for reading. AC 192 B/B ABC IProvides read-only access to all files on the IB-disk, with a filename of ABC. ACC 192 B/B ABC* IProvides read-only access to all files on the IB-disk whose filenames have ABC as the first Ithree characters. ACCE 192 B/B ABC * B2 IProvides read-only access to all files on the IE-disk that have a filename of ABC and that lare in read-only mode (mode number of 2). 80 ACCES 191 A/A IPlaces the A-disk in read-only mode. ACCESS 194 D/A IMakes the D-disk a read-only extension of the lA-disk. The A-disk must have been accessed Ibefore this com.and is issued. The effect of Ithis can be negated by issuing I ACCESS 194 D ACC (ROPROP) IAccesses 191 as the A-disk and does not lexecute your PROPILE EXEC file if this is the Ifirst command executed after you load CMS. AC 191 A (ERASE) IMakes 191 available as the A disk but builds Ithe file directory in virtual storage with no lentries. All'space on the disk becomes availlable for new files, when the execution of a ICMS co •• and causes the "aster Pile Directory Ito be updated. IBM VM/370: Command Language Guide for General Users ACCESS DMSACC7231 mode (cuu) R/O [-OS] The specified disk is attached to the read-only mode. When the disk specified CMS adds the "-OS" to the response. CMS virtual machine in is in OS or DOS format, DMSACC7241 cuul REPLACES mode(cuu2) Before execution of the command the disk represented by cuu2 was the "mode" disk. The disk i Guul, is nnv assigned that file~ode letter. This message is followed by message DMSACC726I. DMSACC7251 cuu ALSO = 'mode' [-OS] The disk specified by cuo is the "mode" disk and an ACCESS command was issued to assign it another filemode letter. When the disk specified is in OS or DOS format, CMS adds the -os to the response. DMSACC7261 'cuu mode' RELEASED The disk located at virtual address cuu that is being accessed as a read/write disk is already currently accessed. The effect of the previous ACCESS command is canceled and the disk is released from the virtual machine configuration. DMSACC002E DMSACC003E DMSACC017E DMSACC048E DMSA~C059E DMSACC060E DMSACCl12S D5SACC113S DMSACC230W DMSACC240S lILE 'DMSROS TEXT' NOT FOUND RC=28 IRVALID OPTIOR 'option' RC=24 INVALID DEVICE ADDRESS 'cuu' RC=24 IRVALID MODE 'mode' RC=24 'cuu' ALREADY ACCESSED AS READ/WRITE 'mode' DISK RC=36 lILE(S) 'fn [ft [fm]]' ROT 10URD. DISK 'mode(cuu), WILL HOT BE ACCESSED RC=28 DISK 'mode (cuu) , DEVICE ERROR RC=100 mode (cuu) ROT ATTACHED RC=100 OS DISK - lILEID AHD/OR OPTIOHS SPECI1IED ARE IGRORED ERROR LOADING READ OS ROUTINE 'DMSROS TEXT' Section 7: Format and Usage Rules for CMS Co •• ands 81 ASSEftBLE ASSEMBLE Use the ASSEftBLE coaaand to invoke the Asseabler to asseable the specified file. The Assembler processing and output are controlled by the options selected. The foraat of the lSSEftBLE co •• and is: Asse.ble fn [ (options ••• [) ]] r , 1!1:!2g!£ I INOALOGICI r , L .J L , r r IftCALL 11ISI I I NOLISTI L , r , IIjlI lIy'LLl I IIREF (SHOR T) I I NOIREF I L r I .J , L r L L L ... ... .J , , , ITEST I INO!~I L .J r , I NUftBER I INONUft I ISTft! I INOSTftTI ITERft!NA1:1 I JOTERft I L L L ... ... , r , 111:!g! I INOALIGN I IBUlSIZE (ftIN) I IBUlSIZJ lSTDll IRENT I I NO,!!ENTI L L L .J , ILIBftAC I I].QLI.ID!!f I r .J r r I INORLD I ... ... , , IRL~ L L r r , I.Qlhl1!£! I I NOOBJECTI ... .J I I!Oft1:QGI~ I r IDECK I I.!ODEClSl r 11:1!1!~OU! j~~ll L I PRINT I INOPRINTI I~!.§! I r , , , ILINECOUN (nn) I .J IftLOGIC I!Q!!~AL1:1 L ... .J r , IFLAG (nnn) I Illl.§ 1Ql I I INOESDI .J L r r 11!~~ ... .J r , ISYSPARft (string) I I SYSPARft (1) I I SYSPARft () i L fn ... is the filenaae of the source file to be asseabled. The file ASSBftBLB and fixed-length, must have a filetype of 80-character records. 1:!§!!!2 ~Q!1!91: OPTIONS: The list below describes the assembler options you can use to the assembler listing. The default values are underscored. control lists code. 82 conditional assembly state.ents IBft Vft/370: Coaaand Language Guide for General Users in open ASSEftBLE BOILOGIC suppresses the ALOGIC option. lists the external symbol dictionary (ESD). NOESD suppresses the printing of the ESD listing. FLAG (nnn) does not include diagnostic ·messages and ftNOTE messages below severity code nnn in the listing. Diagnostic messages can have severity codes of 4, 8, 12, 16, or 20 (20 is the most severe); and ftNOTE severity codes can be between 0 and 255. For example, FLAG (8) suppresses diagnostic messages with a severity code of 4 and MNOTE messages with severity codes of 0 through 7. ~1!~ lQl. LINECOUN (nn) LI1!1!~Q!!l! J.2~1 nn specifies the number of lines page. to be listed per produces an assembler listing. NCLIST does not produce an assembler listing. This option overrides ESD, RLD, and XREF. ftCALL lists the inner macro instructions encountered during macro generation following their respective outer macro instructions. The assembler assigns statement numbers to these instructions. The ftCALL option is implied by the ftLOGIC option; NOftCALL has no effect if ftLOGIC is specified. suppresses the "CALL option. "LOGIC lists all statements of a macro definition processed during macro generation after the macro instruction. The assembler assigns statement numbers to them. suppresses the !LOGIC option. produces the relocation dictionary listing. as part of the NORLD does not print the relocation directory. LIBftAC lists the macro definitions read from the macro libraries and any assembler statements following the logical END statement. The logical END statement is the first END statement processed during macro generation. It may appear in a macro or in open code; it may even be created by substitution •. The assembler assigns statement numbers to the statements that follow the logical END statement. section 7: Format and Usage Rules for CftS Commands 83 ASSB"BLB suppresses the LIB"AC option. includes in the assembler listing a cross reference table of all symbols used in the assembly. This includes symbols that are defined but never referenced. The assembler listing also contains a cross reference table of literals used in the assembly. XRBF (SHORT) includes in the assembler listing a cross reference table of all symbols that are referenced in the assembly. Any symbols defined but not referenced are not included in the table. The assembler listing contains a cross reference table of literals used in the assembly. NOXRBF does not print the cross-reference tables. PRINT PR writes the LISTING file to the printer. NOPRINT NCPR suppresses printing the LISTING file. ~!.§! places the LISTING file on a virtual disk. DI OUTPUT CONTROL OPTIONS: The output control options are the-Qbject-iodule output of the assembler. DECK used to control writes the object module on the device specified on the 'ILEDE' statement for PUNCH. If this option is specified together with the OJBECT option, the object module is written both on the PUNCH and TEXT files. suppresses the DECK option. writes the object module on the device specified in the TEXT 'ILEDE' statement. If this option is specified together with the DBCK option, the object module is written on the two devices specified in the 'ILEDE' statement for TBXT and PUNCH. NOOBJECT NOOBJ does not create the object module. TBST includes the special source cards) in the object module. symbol Does not produce SY" cards. 84 IB" V"/370: Command Language Guide for General Users table (SY" ASSE"BLE SYSTER" OPTIOIS: These wIth-Jour-assembly. are used to control the SYSTER" file associated writes the line nuaber field (columns 73-80 of the input records) in the SYSTER" listing for statements for which diagnostic information is given. This option is valid only if TER"IBAL is specified. BOBU" suppresses the BU"BER option. writes the state.ent number assigned by the assembler in the SYSTER" listing for statements for which diagnostic information is given. This option is valid only if TER"IBAL is specified. IOST"T suppresses the ST"T option. writes the diagnostic infor.ation on the SYSTER" data set. The diagnostic information consists of the diagnosed statement followed by the error message issued. IOTER" suppresses the TER"IBAL option. OTHER ASSE"BLER OPTIONS: The options below functions-an~values-for the assembler. !1!!H! !1!H! ." .... ,..,.. '." "VAJ.,~\:rl'l BOALGI BUPSIZE (811) allow you to specify various aligns all data on the proper boundary in the object module; for exa.ple, an P-type constant is aligned on a fullword boundary. In addition, the asse.bler checks storage addresses used in machine instructions for alignment violations. does not align data areas other than those specified in CCW instructions. The assembler does not skip bytes to align constants on proper boundaries. Alignment violations in machine instructions are not diagnosed. uses the minimum buffer sizes (790 bytes) for each of the utility data sets (SYSUT1, SYSUT2, and SYSUT3). Storage normally used for buffers is allocated to work space. Because more work space is available, more complex programs can be assembled in a given virtual 'storage size; but the speed of the assembly is substantially reduced. chooses the buffer size that gives optimum performance. The buffer size depends on the amount of virtual storage. Of the assembler working storage in excess of minimum requirements, 371 is allocated to the utility data set buffers and the rest to .acro generation dictionaries. Section 7: Pormat and Usage Rules for C"S Commands 85 ASSEMBLE RENT checks your program for a possible violation of program reenterability. Code that makes your program nonreenterable is identified by an error message. suppresses the RENT option. SYSPARM (string) J () null string { (1) 'string' is the value assigned to the system variable symbol &SYSPARM. The varible (string) cannot be greater than 8 characters. If you wish to enter a string of more than 8 characters, use the SYSPARM (1) format. with the SYSPARM (1) form, CMS prompts you with the message: EITER SYSPARM: You can enter a string of characters up to the option limit of 100 characters. You can also enter parentheses and embedded blanks from the terminal. SYSPARM () enters a null string of characters. Q!Jjjl~l!~ ~~~ IlLE ~~!!~1~~: When you issue the ASSEMBLE command, there are default FILEDEF commands issued for assembler data sets. You may want to override these with explicit FILEDEF commands. The ddnames most likely to be overridden are: ASSEMBLE TEXT LISTING PUNCH CMSLIB (SYSIN input to the assembler) (SISLII output of the assembler) (SYSPRIRT output of the assembler) (SYSPUNCH output of the assembler) (SYSLIB input to the assembler) The default FILEDEF commands issued by are: the assembler for the ddnames FILEDEF ASSEMBLE DISK fn ASSEMBLE fm (RECFM FB LRECL 80 Block 800 FILEDEF TEXT DISK fn TEXT fm FILEDEF LISTING DISK fn LISTING fm (RECFM FBA Block 1210 FILEDEF PUNCH PUNCH FILEDEF CMSLIB DISK CMSLIB MACLIB * (RECFM FB LRECL 80 Block 800 A FILEDEF command, issued for any of the above ddnames prior to invoking the assembler, overrides the default FILEDEF issued by the assembler. Assume that there is an assembler source file in card deck form which you want to assemble. If you have this card deck read into your virtual machine reader, you must issue an overriding FILEDEF command prior to assembling, that is, FILEDEF ASSEMBLE READER. Now you can invoke the assembler as follows: ASSEMBLE SAMPLE (options • • • • The name SAMPLE is used by the assembler as the filename for any TEXT or LISTING files produced by the assembler, provided a file SAMPLE ASSEMBLE does not exist on any accessed disk, in which case, the first file is erased. 86 IBM VM/370: Command Language Guide for General Users ASSEMBLE Similarly, if you have a tape containing an assembler input which you want to assemble, you must issue the following commands: FILEDEF ASSEMBLE TAPn file (RECFM F LRECL 80 BLOCK 80 or, if the file is blocked, FILEDEF ASSEMBLE TAPn (RECFM FB LRECL 80 BLOCK 80*n followed by ASSEMBLE SAMPLE (options.... You can use as data sets as CMS files with the FILEDEF command. For example, by defining those data sets FILEDEF ASSEMBLE DISK MYDSET ASSEMBLE B4 DSN as DATASET B4 is the mode of as disk to be accessed. OS.DATASET is the name of the as data set to be used for input. To assemble this, issue: ASSEMBLE MYDSET The same examples used here for input files can be applied to other ddnames. Care should be taken that any attributes specified for the file conform to the assembler expected attributes for the device, that is, PUNCH, LRECL 80 BLOCK 80, TERMINAL 132. For the messages and return codes associated with the ASSEMBLE command, see the g~L!~ ~Bg !~LJ1Q !§§~!~1~£ R£9g~~~~~~§ ~~~g~. section 7: Format and Usage Rules for CMS Commands 87 GC20-1804-3 Page Modified by TNL GN20-2659 CMSBATCH CMSBATCH You use the CMSBATCH command to invoke the format of the CMSBATCH command is: CMS Batch Facility. The r- I CMSBATCH [sysname] L sysname is the name of the saved system that the CMS Batch Facility loads for all subsequent batch jobs. This operand can only be used if the installation has set up the CMS Batch Facility as a saved system. You issue this command immediately after loading CMS with the IPL command. You can find a complete description of the CMS Batch Facility in "Appendix C: Using the CMS Batch Facility" and in the !lUllQ: QE~~~lQ£~§ §y~g~. DMSBTB100E DMSBTB101E DMSBTP105E DMSBTP106E DMSBTP107E DMSBTP108E DMSBTP109E 88 NO BATCH PROCESSOR AVAILABLE RC=40 BATCH NOT LOADED RC= 88 NO JOB CARD PROVIDED RC=None JOB CARD FORMAT INVALID RC=None CP/CMS COMMAND 'command, (device)' NOT ALLOWED /SET CARD FORMAT INVALID RC=None CPUIPRINTERIPUNCH LIMIT EXCEEDED RC=None IBM VM/370: Command Language Guide for General Users RC=88 COMPARE COMPARE Use the COMPARE command to compare two disk files of fixed or variable length format and to display the contents of corresponding unlike records at the terminal. The format of the COMPARE command is: r- I COMpare I fileid 1 fileid2 [(COL mm-nn[)]] -J L- fileid is the file identification of the two files to be compared. All three identifiers (filename, filetype, and filemode) must be specified for each fileid. (COL mm-nn) defines any contiguous portion of the corresponding for comparison. The comparison begins at position mm of each record 1n both files. The comparison proceeds up to and including position nn of each record in both files. If mm is not specified, the comparison starts with the first character of each record in both files. If nn is not specified, the default ending position is the last character of each record. The "_" is required and may not be preceded or followed by a blank. IIlrecl ll is the logical record length of the file. (~g1 l=!f~~!l records If you want to stop the displaying CMS immediate command HT. of the dissimilar records, use the COMPARE ABC lIZ A1 ABC MNO A1 Each record in file ABC lIZ A1 is compared with the corresponding record in file ABC MNO A1. Comparison begins at the first position of each record and proceeds for the entire length of the record. Records which do not match are displayed at the terminal. COMPARE MYFILE ASSEMBLE A1 YOURFILE ASSEMBLE A1 (COL 10-72) positions 10 through 72 of each record in file MYFILE ASSEMBLE A1 are compared with corresponding positions of each record in file YOURFILE ASSEMBLE A1. Records in which these positions do not match are displayed at the terminal. If corresponding records in each file do not match, the record from the first file is displayed, followed by the record from the second file. section 7: Format and Usage Rules for CMS Commands 89 GC20-1804-3 Page Modified by TNL GN20-2659 COMPARE DMSCftP002E DMSCMP003E DMSCftP005E DMSCftP009E DMSCMP010E DMSCftPOllE DMSCMP019E DftSCftP029E DMSCMP054E DMSCftP062E DMSCftPl04S DftSCftP209W 90 PILE 'fn [ft [fa]]' NOT POUND RC=28 INVALID OPTION 'option' RC=24 NO 'option' SPECIPIED RC=24 COLUMN 'col' EXCEEDS RECORD LENGTH RC=24 PREMATURE EOP ON PILE ['fn ft [fa']] RC=40 CONPLICTING PILE PORMATS RC=32 IDtNTICAL PILEIDS RC=24 INVALID PARAMETER 'param' IN THE OPTION 'col' FIELD RC=24 INCOMPLETE PILEID SPECIFIED RC=24 INVALID * IN PILEID RC=20 ERROR Inn' READING FILE 'fn ft fm' PROM DISK RC=100 PILES DO NOT COMPARE RC=4 IBM VM/370: Command Language Guide for General Users COPYPILE COPYFILE Use the COPYPILE co.~and to copy d~ta froll specified input files to the output files accordlng to converS10ns and specifications indicated by the options selected. The manner in which the file identifiers are entered determines whether one output file is created (single output aode) or aultiple files are created (multiple output mode). The COPYPILE command is used to: • • • • Copy one file to another Combine two or more files into a single output file Copy files i~to aultiple output files Copy a file from one minidisk to another with the COPYPILE command, you can: • Display the naaes of files copied at the terminal. • Replace the existing output files with the new output files. • Change the record foraat and logical record length. • selectively copy records from the input file(s) based on either: - Record nUllber - Label field of record • Re.ove the trailing fill characters from each record. • Compress an input file. • Convert 026 key punch characters to corresponding 029 characters. • Convert lowercase letters lowercase. • Overlay data file. • Append one file to another file. • ftove selected positions within each the records of another file. • Insert a specified charact'er string or hexadecimal character selected positions of each record in the output file. • Perfor. character translations. in an to ~ppercase existing file and uppercase with selected letters data from to another record to specified positions in section 7: Poraat and Usage Rules for CftS Co •• ands into 91 COpy FILE The format of the COPYPILE cOllmand is: COPYfile fileidi 1 [fileidi2 ••• ] [fileido] [ (options ••• [) ]] ~:Etion.§: r IType , r I , IIEWDatel 10LDDatei I!OT:!~I L .J .J L r , r r .J , ITRUnc I I!QIiy!£1 , r IPRolI recno I IPRLabel xxxxxxxxi IPRo.!£! I INOPRollpt I L [LRec1 nn] .J L r , L .J L r , r L r I PAck I IUNPackl [EBcdic] .J , IPOR recno I ITOLabel xxxxxxxxi .J , IUPcase I ILOwcase I L .J r IREPlacel 10Vly I IAPpend I L IPIll c I IPl1l hh I IPl11 40 I L ISPecs , I1!EWPi1~1 .J , I [TRAns] II0S.f~£.§1 L .J .J fi1eidi 1 is the first (or only) input file. Each file identifier (filename, fi1etype and filemode) must be specified either by indicating the specific identifier or by coding an asterisk. However, all three file identifiers of fi1eidil cannot be specified by asterisks. fileidi2 is an additional input file(s). Each file identifier (filename, fi1etype, and fi1emode) must be specified. In single output mode, any of the three ,input file identifiers may be specified either by indicating the specific identifier or by coding an asterisk. However, all three file identifiers of fi1eidi2 cannot be specifi~d by asterisks. In multiple output mode, an asterisk 1S an invalid file identifier. An equal sign (=) may be coded for any of the file identifiers, indicating that it is the salle as the corresponding identifier in fi1eidl. fi1eido is the output fi1e(s) to be created. Each file identifier (filename, filetype and fi1ellode) IIUSt be specified. To create multiple output files, an equal sign (=) must be coded in one or aore of the identifier fields. If there is only one input fi1eid, fi1eido aay be omitted, in which case it defaults to - - = (the input file represented by fi1eidil is replaced). The following options are the most used options of the COPYPILE com.and. Binor variations of these options are described in the "Other Options" section. 92 IB! V!/370: COIIIRand Language Guide for General Users COPYFILE TYPE displays at copied. ROTYPE ----- suppresses the displaying at the the files being copied. uses the files. the terminal current date the names of the files being terminal the as the creation names of date of OLDDATE uses the date en the first input date of the new files. RECFt! is the record format of the output files. specified, the output record format is the same of the input. LRECL nn is the logical record length of the output file(s) if it is to be different from that of the input files. The maximum value of nn is 65535. displays the messages which translation lists. file as the new request the creation If not as that- specification NOPROt!PT suppresses the display of prompting specification and translation lists. FROt! recno is the starting record number for copy operation. messages or for each input file in the FRLABEL xxxxxxxx xxxxxxxx is a character sequence which appears at the beginning of the first record to be copied from each input file. up to eight characters may be specified. The character sequence may not contain embedded blanks. FOR recno is the file. number of records to be copied from each input TOLABEL xxxxxxxx xxxxxxxx is a character sequence which, if at the beginning of a record, stops the copy operation for that input file. The record containing the given character is not copied. Up to eight characters may be specified. The character sequence may not contain embedded blanks. TRUNC removes trailing blanks (or fill characters) converting to RECFt! V output file record format. when The RECFt! and LRECL options can be used to specify the record format and logical record lengths of the output files being created. section 7: Format and Usage Rules for Ct!S Commands 93 COPYPILB There are two record formats, F (fixed) or V (variable). All records in a fixed record foraat file are the saae size (for exaaple, card image files, where all records are 80 bytes long). Variable record format files have records of varying sizes. SCRIPT files, where the length of each record is usually different, are variable record fora at files. The logical record length (LRBCL) applies only to fixed record foraat (F) files. For exaaple, for card image files, the logical record length is 80. If the R!CFB or LRBCL options are not specified, the record foraat and logical record length for the output file are the same as for the current or only input file. If the output file record foraat is V, then the LRBCL option (if specified) is ignored. When the output file record format is F, the input records are truncated or padded, as necessary, to the logical record length. When the output file record foraat is V, the input records are simply copied to the output file, unless the TRUNC option is specified. If THUIC and H!CFB V are specified, all blanks at the end of each record are removed before the record is written out. Por information on variations of this option, see discussion of the FILL option under "other Options." the suppresses the removal of trailing blanks (or fill characters) when converting to RBCFB V output file record format. PACK converts repetitively occurring characters to compressed foraat. If the FILL option is not used, all occurrences of two or more blanks in the file are encoded as one character, and four or more occurrences of any other character in the file are encoded as three characters. If a FILL character is specified, that character replaces the blank as the special packing character, and blanks are treated as any other non-fill character. Source files generally take up a great deal of disk space, because they contain aany blanks. This is particularly wasteful in the case of source files which are seldoa used. Use the PACK option of the COPYFILB coamand to encode a file so that aultiple blanks are represented as a single character, and multiple occurrences of other characters also produce space savings. When the PACK option is used, the output file is in a foraat which can be decoded only by the UNPACK option of the COPYPIL! command. Por exaaple, the co •• and: COPYPILB * ASS!BBL! A1 (PACK causes all ASSBftBLB files on the A-disk to be packed. 94 IBB VB/370: Com.and Language Guide for General Users COPYPILE If you know that a particular character occurs a great many times in a file (and if this character occurs more often than the blank character), specify that character as the fill character for the file. Two or more occurrences of the specified fill character are encoded as one character. Then four or more consecutive occurrences of any other character (including the blank) are encoded as three characters. However, not every file should be packed. In fact, if the file does not contain very many occurrences of multiple characters, it is possible for the packed file to be longer than the original file. CAOTIQ!: A file in packed format should not be modified in any way. If such a file is modified in any way, the OIPACK routines will be unable to reconstruct the original file. Packed files should never be combined or split. OIPACK reverses the PACK operation. EBCDIC converts a file that was created with 026 keypunch characters (BCD), to 029 keypunch characters (EBCDIC) • The following conversions are made: < to ) & to + "• toto = ( it to • • to OPCASE converts all lowercase characters in each record to be written to an output file to uppercase before the record is written out. LOWCASE converts all uppercase characters in each record to be written to an output file to lowercase before the record is written out. In addition to the options offers several variations: already described, the COPYPILE co ••and checks that output files did not previously exist. If one or more output files do exist, an error message is displayed and the COPYPILE co.mand terminates. This option is the default so that existing files are not inadvertently destroyed. RBPLACE causes the output file to be replaced by an input file of the same name. REPLACE is the default option when the output file identification is "= = =." section 7: Format and Osage Rules for CftS Com.ands 95 COpy PILE OYLY overlays the data in an froa the input file. APPEND appends the data froa the input file to the end of a file specified by the output file identifiers. If no output file exists, one is created. PILL c PILL hh is the padding and truncation character or the principal packing character for the PACK option. The fill character aay be specified by entering a single character, c, or by entering a two-digit hexadeciaal representation of a character. The default is 40 (the hexadeciaal representation for a blank in EBCDIC). l!~ !Q existing output file with data When the output file record foraat is P, the input records are truncated or padded, as necessary, to the logical record length. The padding and truncation character is usually a blank, but this default aay be overridden if you specify a new padding and truncation character with the PILL option. When RECPft Y end of each written. To use the PILL and TRUIC are specified, all blanks on the record are reaoved before the record is truncate some character other than blanks, option. The PACK routine treats the blank as a "special packing character". If desired, the PILL option aay be used to change the "special packing character" to a non-blank character. SPECS requests a user specification list defining the aanner in which data is to be copied. If the SPECS option proapting message: is used, COPYPILE issues the DftSCPY601R ENTER SPECIPICATION LIST The- keyboard unlocks, specification list. and you aay type in the The format of the specification list is: source target [source target] ••• where source can be specified in several ways and target is a deciaal nuaber representing a position in the output record. Source can be specified as: • 96 A pair of coluans of the input file, specified in the foraat "nn-am", two decimal nuaber values separated by a hyphen. This foraat causes the specified positions in the input file record to be copied to the output file. Por each record that is copied, the value of aa (the ending record position) is compared to the length of the record. Whenever the specified ending record position exceeds the length of the record, the end of the record becoaes the assumed ending position for that record. Por example, the source specification "23-40" causes coluans 23 through 40 of the input file record to be copied to the output file. IBft Yft/370: Coamand Language Guide for General Users COPYPILE • I string of characters, delimited by nonalphaaeric characters. Such a specification causes the specified string of characters to be placed in the output file record. Por example, a source specification of "/lbCd 1234/" causes the string "lbCd 1234" to be placed in each record of the output tile. The letters in the string of characters are not automatically raised to uppercase; if you wish capital letters, you must type them in as such. • I string of characters, specified by the letter "B" followed by an even number of hexadecimal digits entered using numeric characters and either upper or lower case alphabetic characte~s. Por example, the specification, "hb7c1ff" causes the characters given by the hexadecimal values X'B7', X'e1', and X'PP' to be placed in the output file. Por example, consider the following specification list: 1-5 10 /IBC/ 3 /XYZ/ 20 BOO 25 This specification list contains four sets of specifications, and causes data to be placed into the output record in the following manner: Pirst, positions 1 through 5 of the input record are placed in positions 10 through 14 of the output record. Next, the characters "IBC" are placed in positions 3 through 5 of the output record. Next, the characters "XYZ" are placed in positions 20 through 22 of the output record. Pinally, the character X'OO' is placed in position 25 of the output record. Por variable length output files, the length of the output record is determined by the position of the rightmost byte of data that was placed in the output record. Por fixed length output files, the record is padded or truncated to the logical record length. Positions of the output record for which no data is specified are filled with blanks. Use the PILL option to specify another fill character. In the example shown above, positions 1-2, 6-9, 15-19 and 23-24 of the output file record contain blanks. In addition, if the output record format is P, positions 26 through to the end of the record contain blanks. The SPECS option is particularly useful in conjunction with the OfLY option. If these options are used together, the specification list indicates the exact positions of the output file record to be overlaid. Por example, if the specification list 1-10 20 is used with the OfLY option, then positions 1-10 of each input file record overlay positions 20-29 of each record of the existing output file, and the other positions of the output file records remain unchanged. The specification list can be continued onto additional lines by typing '++' at the end of the first line. If these two characters are encountered when a source-specification is expected, all scanning of that line ceases, and the keyboard unlocks so that a new line may be entered. Section 7: Pormat and Usage BuIes for CMS Commands 91 COPYPILE indicates that no specification list is to be entered. TRINS specifies that you are to be asked for a list of character translations to be made as the file is copied. The TRINS option allows you to specify your own list of translations; it overrides any of the other three translation options (OPC1SE, LOWC1SE or EBCDIC). When the TRINS option is specified, the COPYPILE command displays the prompting message: DftSCPY602R EITER TR1NSL1TION LIST You may then enter the translation list. The translation list consists of a series of pairs of characters, separated by blanks. Each character may be specified either by entering the character itself or by entering a two-digit hexadecimal equivalent (the latter is particularly useful for characters not available on your teraina1 keyboard). Por exaaple, the translation list: *- 1 fO 00 ff specifies that the character '*' is to be translated-to I_I, the character 'I' is to be translated to X'PO', and the character X'OO' is to be translated to X'PP'. If the preceding translation list is specified in conjunction with the LOWC1SE option, then the translation 'l' to X'pO' overrides the LOWC1SE translation, 'I' to 'a'. The translation list can be continued onto additional lines by typing '++' as the last two characters of the present line. Whenever these two characters are encountered when the first character of a character pair is expected, all scanning of that line ceases, (for typewriter terainals, the keyboard unlocks), then a new line aay be entered. Pigure 14 shows coabinations of options which should not be specified together in the same COPYPILB co.aand. If the option in the first coluan is specified, none in the second coluan can be coded. ) 98 IBft Yft/370: Command Language Guide for General Osers of the options COPYlILE Incompatible options option LRECL, IEIDATE, IEllILE, OLDDATE, OVLY, PACK, RECP!, REPLACE, UIPACK PACK, UIPACK PACK, TOLABEL, UIPICK PROB, PACK, UIPACK PRLABBL, PACK, UIPACK PACK, UIPACK APPEID, PACK, UIPACK APPIID, OLDDATI APPIID, OVLY, REPLACE PROBPT PACK, SPICS, UIPICK PACK, TRUIC, UIPACK TYPI APPIID, IBIDATI APPEID, IEIPILE, PACK, REPLACE, UIPACK APPEID, IBCDIC, lOR, PRLABBL, lROB, LOICISE, LRECL, OfLY, RECPB, SPECS, TOLABEL, TRAIS, TRUIC, UIPACK, UPCASE 10PROBPT APPEID, PACK, UIPACK APPIID, IIIPILI, OfLY 10SPICS, PACK, UIPACK POR, PACK, UIPACK PICK, UIPACK 10TRUIC, PACK, UIPICK 10TYPE APPIID, IBCDIC, lOR, lRLABEL, lROB, LOICASE, LRECL, OfLY, PACK, RECPB, SPECS, TOLIBEL, TRAIS, TRUIC, UPCASB PACK, UIPACK lPPBID BBCDIC lOR FRLABBL lROB LOICASB LRECL IBIDATB IEllILE 10PROBPT 10SPECS 10TRUIC 10TYPE OLDDATE OVLY PACK PROBPT RBCPB RBPLACB SPECS TOLIBBL TRAIS TRUIC TYPE UIPACIC UPClSE Figure 14. COPYPILI option Incompatibilities COPYPILI OLD PILE A1 III lILE A1 Copies the file OLD PILB A1 to a new file named lEI lILE A1. COPYPILI * PILB A1 BIG PILI A1 Copies all files with filetype of lILE and filemode of A1 and combines them into a single output file named BIG lILI A1. If the files A PILE A1, B PILE A1, and C PILE A1 exist, they are copied to BIG PILE A1 and are not erased. COPYPILI OLD * B1 III = B1 Copies a group of files, each with a filename of OLD and a filemode of B1, to a new group of files each with a filename of lEI and a filemode of B1. If the files named OLD IABI B1, OLD BIRTBDA B1, and OLD ADDRBSS B1 exist, they are copied to files named lEI IABE B1, lEI BIRTBDA B1, and III ADDRISS B1, respectively. Section 1: lormat and Usage Rules for CBS Commands 99 COPY1ILE COPYPILE I Y 11 P Q 11 BIG PILE 11 Coabines files X Y 11 and P Q 11 11. in a single output file naaed BIG PILB COPYPILI X • 11 = PILI = Coabines all files with a filenaae of X and a fileaode of 11 in a single output file naaed X PILI 11. COPY1ILE X • 11 = T 11 BIG PILE 11 Coabines all files having a filenaae I and fileaode 11 with the file having a filenaae I, a filetype T, and fileaode 11 to fora a single file naaed BIG PILE 11. The co.aand COPYPILI X • 11 = T = BIG PILI = produces the saae result. COPYPILB X • 11 P Q 11 BIG = 11 Co.bines each file with a filenaae of X and a fileaode of 11 with the file P Q 11 to create a file naaed BIG. 11. One file is created for each existing file with a filenaae X and file.ode 11. COPYPILB I • 11 P = 11 BIG = 11 Co.bines each file with a filenaae of I and a fileaode of 11 with a file with a filenaae of P, a fileaode of 11 and a filetype corresponding to that of the first input file; to produce a file with a filenaae of BIG, a corresponding filetype, and a file.ode of 11. COPYPILI X * 11 P = = BIG = = produces the saae result. COPYPILI BIGIIBB 1 11 XYZ= == = Copies the file BIGI1BI 1 11 to a file naaed XYZBIGII 11 11. COPYPILB 1 B 11 C D 11 (PROB 10 POR 25) Copies 25 records froa file 1 B 11 tenth record of 1 B 11. to file C D 11, beginning with the COPYPILI OLD B 11 IBi B 11 (PRL1BBL BYPROG TOL1BIL PIllS) Copies records froa file OLD B 11 to Iii B 11, beginning with a record containing the characters 'BYPROG' and continues until a record containing the characters 'PIllS' is encountered. COPYPILI * ISSBBBLB * (PICK CODverts all files with a filetype of ISSIBSL! to packed foraat. 100 ISB YB/370: Coaaand Language Guide for General Users COPYPILE COPYPILE ftY PILE A1 YOUR PILE A1 (SPECS Copies the file naaed ftY PILI A1 to a new aodified according to the specification list. DftSCPY601B file naaed YOUR PILE The aessage A1 EITIR SPICIPICATIOI LIST is displayed. Por exaaple, if you enter the following specification list: JABC; 3 nnn IlVV .. I Positions 1 through 5 of the input record are copied to positions 10 through 14 of the output record, the character string "ABC" is placed in positions 3 through 5 of the output record, and the character X·OO· is placed in the first position of the output record. All other positions in the output record contain blanks unless a PILL character is specified, in which case the PILL character is placed in all unspecified posi tions. COPYPILE OLD PORft A1 NEi PORft A1 (SPECS OVLY Portions of the existing output file are to be overlaid by portions of the input record, or by character strings specified in a specification list. COPY PILE XYZ TEXT C = = A Copies a file froa one virtual disk to another. DftSCPY601R IITIR SPECIPICATION LIST: This aessage requests the specification list which is to be entered in conjunction with the SPICS option. DftSCPY602R ENTER TRANSLATIOI LIST: This aessage requests the translation list which is in conjunction with the TRANS option. to be entered DftSCPY7211 COpy 'fn ft f.' {TO IAPPIIDI OVLY) 'fn ft f.' {OLDIIEi) PILE This aessage appears in conjunction with the TYPE option. indicates the naaes of the input file and output file. DftSCPY002E DftSCPY003E DftSCPY024E DftSCPY029E DftSCPY030E It {IIPUTIOVERLAY} PILE 'fn ft f.' NOT POUND RC=28 IIVALID OPTIOI 'option' RC=24 lILE 'fn ft fa' ALREADY EXISTS -- SPECIlY 'REPLACE' RC=28 IIVILID PIRlftlTER 'para' IN THE OPTION 'option' lIELD RC=24 lILE 'fn ft fa' ILRIIDY ICTIVI RC=28 section 7: loraat and Usage Rules for CftS Co•• ands 101 COpy FILE DftSCPY037E DftSCPY042E DftSCPY048E Dft SC PY054 E DftSCPY062E DftSCPY063E DftSCPY064E DftSCPY065E DftSCPY066E DftSCPY067E DftSCPY068E DftSCPY101S DftSCPY102S DftSCPY103S DftSCPY156E DftSCPY157E D8SCPY172E DftSCPY173E DftSCPY901T DftSCPY903T DftSCPY904T 102 DISK '.ode' IS READ/ONLY RC=36 liO lILEID[ (S) ] SPECIFIED RC=24 INVALID ftODE '.ode' RC=24 lliC08PLETE FILEID 'fn [ft'] SPECIFIED RC=24 INVALID CHAR '[=I*lchar]' IN FILEID '[fn ft f.]' RC=20 liO {TRAISLATIONISPECIFICATION} LIST ENTERED RC=40 INVALID [TRANSLATE] SPECIFICATION AT OR NEAR RC=24 'option' OPTION SPECIFIED TWICE RC=24 'option' AND 'option' ARE CONFLICTING OPTIONS RC=24 COftBINED INPUT FILES ILLEGAL WITH PACK OR UNPACK OPT lOIS RC=24 INPUT FILE 'fn ft f.' NOT IN PACKED FORftAT RC=32 'SPECS' TEftP STRIIG STORAGE EXHAUSTED AT •••••••••• RC=88 TOO ftANY FILEIDS RC=88 liU8BER OF SPECS EXCEEDS ftAX 20 RC=88 'FROft nnn' NOT lOUND --FILE 'fn ft f.' HAS ONLY 'nnn' RECORDS RC=32 LABEL 'label' NOT FOUND IN FILE 'fn ft f.' RC=32 TO LABEL 'label' {EQUALSI IS AN INITIAL SUBSTRING Ol} FRLABEL 'label' RC=24 liO RECORDS WERE COPIED TO OUTPUT FILE 'fn ft f.' RC=40 UNEXPECTED ERROR AT 'addr': PLIST 'plist' AT 'addr', BASE 'addr', RC Inn' RC=256 IftPOSSIBLE PHASE CODE 'hh' RC=256 UNEXPECTED UNPACK ERROR AT 'addr', BASE 'addr' RC=256 IBft Vft/370: Co •• and Language Guide for General Users CP CP Use the CP command to transmit co •• ands to the Vft/370 control program environment without leaving the CftS environment. The for.at of the CP cO!l!land is: CP [ commandline ] commandline is any CP co •• and permitted for your CP co.mand privilege class. If this field is omitted, you are placed in CP .ode and may enter CP com.ands without preceding each co.mand with CP. To return to CftS issue the CP com.and BEGII. 111 responses are from the CP command which was issued. CP TERMIIAL LIIESIZE 80 The TERMIIAL command is passed to the control program for processing. section 7: Format and Usage Rules for CftS Co.mands 103 DDR DDR Use the DASD Du.p Restore (DDR) service prograa to dump, restore, copy, or print Vft/310 user ainidisks. The DDR program may run as a standalone program, or under CftS via the DDR co •• and. The DDR progra. has five functions: 1. Dumps part or all of the data from a DASD device to tape. 2. Transfers data fro. tapes created by the DDR DUftP function to a direct access device. The direct access device must be the same as that which originally contained the data. 3. Copies data from one device to another of the same type. Data may be reordered, by cylinder, when copied from disk to disk. In order to copy one tape to another, the original tape must have been created by the DDR DUftP function. 4. Prints selected parts of DASD and tape records EBCDIC on the virtual printer. 5. Displays selected parts of DASD and tape records in hexadecimal and EBCDIC on the terminal. Note: To generate the Vft/310 starter system from the the standalone RESTORE function must be used. in hexadecimal and distributio~ tape, The format of the DDR co.mand is: DDR r , [filename [filetype I filemode I I L filename filetype [filemode] * ]] I .J is the identification of the file containing the control statements for the DDR program. If no file identification is provided, the DDR program attempts to obtain control statements from the console. The filemode defaults to if a value is not provided. * !~te: If you use the CftS DDR command, CMS ignores the SYSPRINT control statement and directs the output to the CftS printer OOE. DDR CONTROL STATEMENTS Control statements describe the intended processing and the needed I/O devices. I/O definition statements must be specified first. All control statements may be entered from either the console or the card reader. Only colu.ns 1 to 11 are inspected by the program. All data after the last operand in a statement is ignored. An output tape must have the DASD cylinder header records in ascending sequences; therefore, the extents must be entered in sequence by cylinder. Only 104 IBM VM/310: Co •• and Language Guide for General Users DDR one type of function - du.p, restore, or copy - may be performed in one execution, but up to 20 statements describing cylinder extents may be entered. The function statements are delimited by an input or output statement, or by a null line if the console is used for input. If additional functions are to be performed. the seauence of certain control cards must be repeated.- Only those statements needed to redefine the I/O devices are necessary for subsequent steps. All ot~er I/O definitions remain the same. To return to CftS, enter a null line (carriage return) in response to the prompting message (EITER:). To return directly to CP, key in ICP. The PRINT and TYPE statements work differently from other DDR control statements in that they operate on only one data extent at a time. If the input is from a tape created by the dump function, it must be positioned at the header record for each step. The PRINT and TYPE statements have an implied output of either the console (TYPB) or system printer (PRINT). Therefore, PRINT and TYPE statements need not be delimited by an input or output statement. I/O DEFINITION STATEftENTS The I/O definition statements describe the tape, DASD, and devices used while executing the DASD Du.p Restore program. An INPUT or OUTPUT statement describes each The format of the INPUT/OUTPUT statement is: r INput OUTput cuu type unit used. , Ivolserl laltapel L .Q~ti2~~: r , tape and DASD printer [(options ••• )] J r , r , ISKip nnl IftOde 62501 IREWindl la!iR Q I IBOde 16001 IUNl2!~1 L J IftOde 8001 ILEave I L J L J INPUT indicates that the device described is an input device. OUTPUT indicates that the device described is an output device. cuu is the unit address of the device. type is the device type (2314, 2319, 3330, 3330-11, 3340-35, 3340-70, 2305-1, 2305-2, 2400, 2420, or 3420) (no 7-track support for any tape devices). specify a 3410 device as a 3420, a 3340-70P as a 3340-70, and a 3333 as a 3330. section 7: Format and Usage Rules for CftS Commands 105 DDR The DASD Dump Restore (DDR) program, running in a virtual machine, uses I/O DIAGIOSE 20 to perf ora I/O operations on tape and DASD devices. DDR under CftS requires that the device type entered agree with the device type of the real device as recognized by Vft/310. If there is a conflict with device types, the following message is issued: !~!~: I I I I I I DftKDDR101E IIVALID OPTIOI However, if DDR runs standalone in a virtual aachine, DDR uses DIAGIOSE 20 to perform the I/O operation if the device types agree and SIO if the device types do not agree. volser is the volume serial number of a DASD device. If the keyword 'SCRATCH' is specified instead of the voluae serial number, no label verification is performed. altape is the address of an alternate tape drive. If multiple reels of tape are required and "altape" is not specified, DDR types the following at the end of the reel: "END OF VOLUftE CYL xxx HD xxx, ftOUNT ftOUNT NEXT TAPE." After the new tape is mounted, DDR continues automatically. Noj:~: SKIP nn Q forward spaces nn files on the tape. nn is any nuaber up to 255. The SKIP option is reset to zero after the tape has been posi tioned • ftODE 6250 causes all output tapes that are opened for the first tiae ftODE 1600 and at the load point to be written or read in the specified ftODE 800 density. All subsequent tapes aounted are also set to the specified density. If no mode option is specified, then no mode set is performed and the density setting reaains as it previously was. REWIRD rewinds the tape at the end of a function. UILOAD rewinds and unloads the tape at the end of a function. LEAVE leaves the tape positioned of a function. at the end of the file at the end Use the SYSPRIIT control statement (in the standalone application only) to describe the printer that is to print data extents specified by the PRIRT statement. It also can print a map of the cylinder extents froa the DUftP, RESTORE, or COpy stateaent. If the SYSPRINT state.ent is not provided, the printer assignment defaults to OOE. CftS ignores the SYSPRINT statement when you invoke DDR as a coaaand under CftS, and CftS always directs the output to OOE. The for.at of the SYSPRIIT control statement is: SYsprint cuu .!~: cuu 106 specifies the unit address of the device. IBft Vft/310: Command Language Guide for General Users DDR The function statements tell the DDR program what action to perform. The function commands also describe the extents to be dumped, copied, or restored. The format of the DUnP/COPYjRESTORE control statement is: DUmp COpy RBstore , r- Icyl1 [To] ICPvol !lL! [cyl2 [Reorder] [To] [cyI3]] I I I I IBUcleus I L DUMP ~ requests the program to move data from a direct access volume onto a magnetic tape or tapes. The data is moved cylinder by cylinder. Any number of cylinders may be moved. The format of the resulting tape is: Record 1: descrIbing a volume header the volumes. record, consisting of data Record 2: a track header record, consisting of a list of count to restore the track, and the number of data records written on tape. After the last count field the record contains key and data records to fill the 4K buffer. fields 3: track records -packed truncated. ~~£QIg Record data into records, consisting of blocks, with the 4K key and data last record !: either the end-of-volume or end-of-job trailer The end volume label contains the same information as the next volume header record except that the ID field contains EOV. The end-of-job trailer label contains the same information as record 1 except that the cylinder number field contains the disk address of the last record on tape and the ID field contains EOJ. label: COpy requests the program to copy data from one device to another device of the same or equivalent type. Data may be recorded on a cylinder basis from input device to output device. A tape-to-tape copy can be accomplished only with data dumped by this program. RESTORE requests the program to return data that has been dumped by this program. Data can be restored only to a DASD volume of the same or equivalent device type as it was dumped from. It is possible to dump from a real disk and restore to a minidisk as long as the device types are the same. cyll [TO] [cyl2 [REORDER] [TO] [cyI3]] Only those cylinders specified are moved, starting with the first track of the first cylinder (cyll), and ending with the last track of the second cylinder (cyI2). The REORDER operand causes the output to be reordered, starting at the specified cylinder (cyI3) or at the starting cylinder (cyll) if "cyI3" is not specified. The REORDER operand must not be specified Section 7: Pormat and Usage Rules for CMS Commands 107 DDR unless specified limits are defined for the operation; the starting and, if required, ending cylinders (cyl1 and cyl2) must be specified. CPVOL specifies that cylinder 0 and all active directory and permanent disk space are to be copied, dumped, or restored. This indicates that both source and target disk must be in CP format, that is, the CP Pormat/Allocate service program must have formatted them. ALL specifies that cylinders. BUCLEUS specifies that record 2 on cylinder 0, track 0 and the nucleus cylinders will be dumped, copied, or restored. the operation is to be performed on all Re2!rictiQ!§: 1. Each track must contain a valid home address, cylinder and track location. 2. Record zero must characters. 3. Plagged tracks are treated just as any other track for all 2314, 2319, and 2305 devices. That is, no attempt is made to substitute the alternate track data when a defective primary track is read. In addition, tracks are not inspected to determine whether they were previously flagged when written. Therefore, volumes containing flagged tracks should be restored to the same cylinders of the volume from which they were dumped. The message DftKDDR115E occurs each time a defective track is dumped, copied or restored, and the operation continues. 4. Plagged tracks for a 3330 device are handled automatically by the control unit and may never be detected by the program. The program may detect a flagged track if, for example, no alternate track is assigned to the defective primary track. If a flagged track is detected by the program, message DBKDDR115E occurs and the operation terminates. not contain aore than containing the real eight key and/or data IIPUT 191 3330 SYSRES OUTPUT 180 2400 181 (BODE 800 SYSPRIIT OOP DUBP CPVOL IIPUT 130 3330 BIII01 DUBP 1 TO 50 REORDER 51 60 10 101 This example sets the density to 800 bpi, then dumps all pertinent data froa the voluae labeled 'SYSRES' onto the tape that is mounted on unit 180. If the program runs out of room on the first tape, it continues dumping onto the alternate device (181). While dumping, a aap of the dumped cylinders is printed on unit OOP. When the first function is coaplete, the volume labeled 'BIBI01' is dumped onto a new tape. Its 108 ISB VB/310: Command Language Guide for General Users DDR cylinder header records are labeled 51 to 100. 1 map of the duaped cylinders is printed on unit 001. lext, cylinders 60 to 70 are duaped and labeled 101 to 111. This extent is added to the cylinder aap on unit OOP. When the DDR processing is coaplete, the tapes are unloaded and the prograa stops. If cylinder extents are being defined froa the console, the following is displayed: EITER CYLIIDER EXTENTS EITER: Por any extent after the first extent, the aessage EITER IEIT BITBIT OR lULL LIIB BITER: is displayed. You aay then enter additional extents to be duaped, restored, copied. 1 null line causes the job step to start. or Use the PRIIT and TYPE function stateaent to print or type (display) a hexadeciaal and BBCDIC translation of each record specified. The input device aust be defined as direct access or tape. The output is directed to the system console for the TYPB function, or to the SYSPRIIT device for the PRIIT function. (This does not cause redefinition of the output unit definition.) The foraat of the PRIIT/TYPB control stateaent is: PRint TYpe I cyll [hh 1 [rr 1]] [TO cy12 [hh2 [rr2 ]]] QptiOiiS: [ Hex] [ Graphic] [(options)] [ Count] I I I ,I where: cyl1 is the starting cylinder. hh1 is the starting track. If present, it operand. The default is track zero. rr1 is the starting record. If present, it aust follow the hh1 operand. The default is hoae address and record zero. aust follow the cy11 [TO] cy12 is the ending cylinder. If aore than 1 cylinder is printed or typed "TO cy12" aust be specified. hh2 is the ending operand. The cylinder. rr2 is the record ID of the last record to print. the last record on the ending track. to be track. If present, it aust follow the cy12 default is the last track on the ending The default is Section 7: Poraat and Usage Rules for CftS Coaaands 109 DDR QRtion§: HEI prints or displays a hexadeciaa1 representation of each record specified. GRAPHIC prints or specified. displays COUIT prints or specified. displays only an EBCDIC the translation count of each record field for each record PRIIT 0 TO 3 Prints all of the records from cylinders 0, 1, 2, and 3. PBIIT 0 1 3 Prints only one record, from cylinder 0, track 1, record 3. PRIIT 1 10 3 TO 1 15 4 Prints all records starting with cylinder 1, track 10, record 3, and ending with cylinder 1, track 15, record 4. The example in Figure 15 shows the information displayed at the console (TYPE function) or system printer (PRINT function) by the DDR program. The listing is annotated to describe soae of the data fields. Responses DftKDDR711R YOLID BEAD IS vo1id2 [NOT vo1id1] DO YOU WISH TO COITIIUE? RESPOID YES 10 OR RERBAD: vo1id2 is the volume serial number from DASD unit. vo1id1 is the volume control card. serial number the YOL1 label from the IIPUT or on the OUTPUT The volume serial number read from the device at cuu is not the same as that specified on the IIPUT or OUTPUT control card. DftKDDR716R vo1ser NO YOLl LABBL FOUID FOR volser DO YOU WISH TO CO.TIIUE? RESPOND YES NO OR RBREAD: is the volume serial number of the DASD INPUT or the OUTPUT control card. device from the The DASD device at cuu contains no volume serial number. 110 ISft Yft/370: Command Language Guide for General Users DDR Home Address Record 0 Data (hexadecimal) Home Address of track in hexadecimal format Record 1 - + - _ - ro 'CYL 019 HD 00 REe 001'eOUNT 0013000001' ~----Cylinder, head, and record numbers in decimal 7rth;-cta;a • I l~h ~ is : ; z e : - 1 - A heading is printed containing the data length from the count field first in decimal, then in hexadecimal • The data is the_ n_ printed in hexadecimal with graphic interpret,tion to the right L,/- ~ts~nhere). _ _ _ Record ID (hexadecimal) ~ _---------? Ii // I I J 04096 1000 DATA LENGnl ...... 00000 0000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 SUPPRESSED CHARACTERS SAME AS ABOVE ... 1st Halfof-+---_CYL 019.HD 00 REC 002 COUNT 0013000002 00 09A8 Record 2 02472 09A8 DATA LENGTH Note: Data Length field repeated in heading. 00000 0000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 SUPPRESSED CHARACTERS SAME AS ABOVE ... ABOVE RECORD WRITTEN USING RECORD OVERFLOW e r::;--------, Ie I This statement indicates that this portion of Record 2 was written using the Write Special Count, Key, and Data command. The remainder of Record 2 is found on the next track as the first record after Record O. I I L _ _ _ _ _ _ ...J Home Address+---_ CYL 019 HD 01 HOME ADDRESS 0000130001 RECORD ZERO 0013000100 00 0008 00000000 00000000 Record 0 CYL 019 HD 01 REC 002 COUNT 0013000102 00 0658-'-----------------~ 2nd Half of Record 2 01624 0658 DATA LENGTH 00000 0000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 SUPPRESSED CHARACTERS SAME AS ABOVE ... e ~----------.., I G Record 3 --t----- CYL 019 HD 01 REC 003 COUNT 0013000103 I If the key length field is not zero e A he2cting is printf>d ront,ining the key length • ;JT /; first in decimal, then in hexadecimal. The key is then printed in hexadecimal with graphic interpretatIon to the nght(not shown here). ________ 800F80 ! I ...1 • 00128 0080 KEY LENGTH - ' - - - - - - - - - 00000 0000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 SUPPRESSED CHARACTERS SAM6 AS ABOVE ... 03968 OF80 DATA LENGTH 00000 0000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 SUPPRESSED CHARACTERS SAME AS ABOVE ... Record 4 --t---- CYL 019 HD 01 REC 004 COUNT 0013000104 000000 END OF FILE RECORD r::;--------, ~ II L Figure 15. An Annotated Sa.ple of output fro. Functions of the DDR Program Whenever the data length field is zero an end-of-file prints next. I I _ _ _ _ _ _ _ .J the TYPB and section 7: Poraat and Usage Rules for CftS Co ••ands PRINT 111 DDR DftKDDR717R DATA DOftPED FROft volidl TO BE RESTORED TO volid2 DO YOO WISH TO COITIBOE1 RESPOID YES NO OR REREAD: volidl is the volume serial number record (volu.e du.ped) • from the input tape header volid2 is the volume serial number from the output DASD device. The above aessage is printed to verify the input parameters. EITER CYLIRDER EXTEITS EITER: This message is terminal. received only if you are entering input from your EID OF VOLOftE CYL III HD II, ftOOIT IEXT TAPE DDR continues processing, reel. volser after the mounting of the neIt tape is the volume serial nuaber of the disk dumped. The RESTORE operation has begun. COPYING volser volser is the volume serial number described by the input unit. The COpy operation has begun. DOftPIIG volser .!h!!!: volser is the voluae serial number described by the input unit. The dumping operation has begun. PRIBTING volser volser is the volume serial number described by the input unit. The PRIIT operation has begun. EID OF DOftP The DO!P operation has ended. 112 IBft Vft/370: Com.and Language Guide for General Users DDR END OF RESTORE The RESTORE operation has ended. END OF COpy The COFY operation has ended. END OF PRINT The PRINT operation has ended. END OF JOB All specified operations have completed.' ENTER: Prompts input from the terminal. A null line (Enter key or equivalent) causes control to return to CMS, if the virtual machine is in the CMS environment. Section 7: Format and Usage Rules for CMS Commands 113 GC20-1804-3 Page Modified by TNL GN20-2659 DEBUG DEBUG Use the DEBUG command to acquire online facilities for debugging programs running under CMS and to acquire an entry in CMS for handling external interrupts, program interrupts, and unrecoverable errors. The subcommands which may be issued in the DEBUG environment allow you to examine and change the contents of certain control words and registers as well as portions of virtual storage. The facilities of DEBUG are made available when: • The DEBUG command is issued • An external interrupt occurs • A break point (instruction address stop) is encountered program execution; this causes a program interrupt. during Once the DEBUG environment has been entered due to any of the above circumstances, you are in the DEBUG environment. Only DEBUG subcommands are valid input in this environment. When the DEBUG environment is entered, the contents of all general registers, the channel status word, and the channel address word are saved so they may be examined and changed before being restored when leaving the DEBUG environment. If DEBUG is entered via an interrupt, the old program status word for that interrupt is also saved. If DEBUG is the first command entered after an ABEND occurs, the contents of all general registers, the CSW, the CAW, and the old PSW are available from the time of the ABEND. The format of the DEBUG command is: ------------------------,I r----- IL-______ DEBUG __ 1. The CMS commands HB, HO, HT, RO, the DEBUG environment. 2. The floating-point registers DEBUG environment. RT and SO are not recognized in cannot be examined or changed in the None. ~]]~2 2Q]£Q~~!M~2: For a complete description of refer to the !~LJ1Q: §~§!~~ g!29!~!!~!~§ ~YiQ~. the DEBUG subcommands. 114 the DEBUG subcommands Figure 16 summarizes IBM VM/370: Command Language Guide for General Users DEBUG Subcommand Pormat Punction BReak id {SymbOl} hexloc Istops program execution at the Ispecified breakpoint. CIW IDisplays the contents of the IChannel lddress Word at the ti.e IDEBUG vas entered. CSW IDisplays the contents of the IChannel status Word at the ti.e IDEBUG vas entered. r , DEPine symbol hexloc I n I I .! I L r r " L L .J.J .J DUmp I symboll ISYllbol211 [ident] Ihexloc1 Ihexloc211 I I * II r IDu.ps the contents of specified Ivirtual storage locations to the Ivirtual spooled printer. I I IReturns to the CftS environment and Istarts execution at the specified Ilocation. I , GO Isymboll I hexlocl L IAssigns a symbolic name to the Ivirtual storage address. I I .J GPR regl [reg2] IDisplays the contents of the Ispecified general registers. HX IReturns to the CftS cOII.and enviIron.ent. r ISpecifies the base address to be ladded to locations specified in lother DEBUG subco.mands. I , ORigin Isymboll Ihexlocl L .J iDisplays the contents of the old IProgram status Word. IExits froll DEBUG environ.ent to Ithe CftS co •• and environment. RETurn SET {CIW CSW PSW GPR hexinfo \ hexinfo [hexinfo] hexinfo [hexinfo] reg hexinfo [hexinfo] STore {SymbOl} hexinfo hexloc r , I {SymbOl} I n I hexloc I.! I L Pigure 16. .J IChanges the contents of specified Ilocations or registers. I I IStores information in a specified Ivirtual stbrage location. IExamines virtual storage locaItions. I I Summary of DEBUG Subcommands section 7: Pormat and Usage Rules for CftS COII.ands 115 DISK DISK Use the DISK command to: • Punch disk files to the virtual spooled card punch in a special format which allows the punched deck to be restored to disk in the form of the original disk file. • Restore punched file. decks created by the DISK DUMP command to a disk The format of the DISK comaand is: I DISK DUMP { LOAD fn ft [fa] } I I I DUMP fn ft fm indicates that the specified file (fn ft fa) is to be punched. The file may have either fixed or variable-length records. After all data is punched, an end-of-file card is created with an N in column 5. This card contains directory information, and must remain in the deck. The original disk file is retained. LOAD indicates that one or more card files are to be read from the spooled card reader and written as CMS files on disk. The DISK LOAD operation reads a card deck consisting of any number of logical decks previously punched by DISK DUMP. The file designations are obtained from the card stream. If a file exists with the same designation as one of those in the card stream, it is erased and replaced. DISK LOAD loads files onto the primary read/write disk. DISK DUMP MIPILE OLD A1 The specified file, MIFILE OLD Al, is written to the punch and followed by an end-of-file card. virtual spooled DISK LOAD All files which were previously read into the virtual card reader are to be loaded onto disk; each file must be followed by an end-of-file card as created by the DISK DUMP function. There is no response to the DISK DUMP command. The file identifiers of each file loaded is the response for the DISK LOAD command: fn ft fm 116 IBM VM/370: Command Language Guide for General Users DISK DMSDSK002E DMSDSK009E DMSDSK014E DMSDSK037E DMSDSK047E DMSDSK048E DMSDSK054E DMSDSK062E DMSDSK070E DMSDSK077E DMSDSK078E DMSDSK104S DMSDSK105S DMSDSK118S DMSDSK124S DMSDSK205W FILE 'fn ft fm' NOT FOUND RC=28 COLUMN 'col' EXCEEDS RECORD LENGTH RC=24 INVALID FUNCTION 'function' RC=24 DISK 'mode' IS READ/ONLY RC=36 NO FUNCTION SPECIFIED RC=24 INVALID MODE 'mode' RC=24 INCOMPLETE FILEID SPECIFIED RC=24 INVALID * IN FILEID ['fn ft fm'] RC=20 INVALID PARAMETER 'param' RC=24 END CARD MISSING FROM INPUT DECK RC=32 INVALID CARD IN INPUT DECK RC=32 ERROR Inn' READING FILE 'fn ft fm' FROM DISK RC=100 ERROR Inn' WRITING FILE 'fn ft fm' ON DISK RC=100 ERROR PUNCHING FILE RC=100 ERROR READING CARD FILE RC=100 READER EMPTY OR NOT READY RC=8 section 7: Format and Usage Rules for CMS Commands 117 GC20-1804-3 Page Modified by TIL GH20-2659 EDIT EDIT Use the C"S Editor to: • Create, froa the terminal, sequential fixed or variable length records. files consisting of • Provide, on the basis of certain known filetypes, automatic selection of record length, record foraat, logical tab settings, serialization, linemode, and lowercase to uppercase translation. • Add, delete, or change any part of a CftS file. • Extract all or part it in another file. • Allow searching and changing of portions of the file through context-directed searches or by using a specific line number. • Receive automatic prompting with line numbers. • Allow any or all of the file to be displayed at your terminal. • Provide an interface to the CftS EXEC interpreter to provide a macro facility. Refer to the !~Ll1Q: IQ!% QYigg for a complete description of the macro facility. of a CftS file to create a new either file, or to embed The format of the EDIT command is: r I Edit I I I I fn ft [fa] [(options ••• [)]] QE!iQ!!§: [LRECL nn] [NODISP ] L fn ft is the filename and filetype of the file to be created or edited. If a file with the specified filename and filetype does not exist, the CftS Editor assumes that you want a new file created, and after the input environment is entered, information entered by you becomes input to that file. If a file with the same filename and filetype does exist, the EDIT environment is entered, enabling you to issue EDIT subcoamands and to modify the specified file. Both the filename and filetype must be specified. fm is the filemode of the file to be created or edited. If the filemode is specified, EDIT searches only the indicated disk. If the filemode is specified as an asterisk, EDIT searches all disks for the existence of that file. If the filemode is not specified, only the primary disk and its extensions are searched. If the file is found, its mode is saved, and EDIT later writes the altered file back to that same disk. If an existing file is not found, the newly created file is placed on the disk specified by the filemode or on the primary disk. 118 IBft Vft/370: Command Language Guide for General Users GC20-1804-3 Page Modified by TNl GN20-2659 EDIT lRECl nn is the record length of the file to be created or edited. If the record length is not specified, the following default values are assumed: Existing record length is kept regardless of format. variable for.at: Filetype lISTING 121 maximum Filetype SCRIPT: 132 maximum Filetype FREEFORT: 81 maximum Fixed format: All filetypes: 80 The maximum record length supported characters. NODISP by the Editor is 160 forces a display terminal into lINE (typewriter) mode. When the HODISP option is in effect, all subco.mands that are solely for control of display terminals (BACKWARD, CHANGE with no operands, FORWARD, and SCROLl(UP» are made invalid for the EDIT session. This option is used when an EDIT session is initialized from a local 3270 terminal and the typewriter mode is desired. The default mode of operation for an EDIT session is DISPLAY for a local 3270 and lINE for a remote 3270. The mode of operation for either terminal can be changed during the session via the FORMAT subcommand and the DISPLAY or lINE operand, unless the NODISP option is in effect. section 7: Format and Usage Rules for CftS Commands 119 GC20-1804-3 Page by TNL GN20-2659 ~odified EDIT Refer to the !!L]l~: ~~!1 §y!gg for a functional description of each of the EDIT subcoamands. The formats are given in Pigure 17 for reference only. Subcoaaand Pormat Punction r , ALter {parm 1} {parm2} I n r , I I * I G I I I .1 I * I I L L .J.J IAutomatically saves the file Ion disk after the indicated Inumber of lines have been Iprocessed. AUTOsa ve {n } OPP r IPoints the current line IPointer to a line above the Iline currently pointed to. I (Por display terminals.) , BAckward I 11 I nI L .J Bottom r I~akes the last line of the Ifile the current line. IIndicates whether translation Ito uppercase is to be done, or Idisplays the current status. , CASE I U I I M I L IScans the next ~ records of Ithe file, altering the speciIfied parameter, either once in leach line or for all occurIrences in the line. .J I r r Change /string1/string21/ I n r I 1.1 I I I * I L L L G * IChanges string1 to string2 for " ,1 I I~ records or to EOP, either III Ifor the first occurrence in III leach line or for all .J.J.J loccurrences. L- Figure 17. 120 Summary of EDIT Subcommands and ~acros (Part 1 of 5) IBM VM/370: Command Language Guide for General Users GC20-1804-3 Page Modified by TNL GN20-2659 EDIT Subcommand Format Function IEnters CMS subset command I mode. CMS , r IDeletes B lines or to the end DELete ! n ! I 1 I I * I lof the file (*). J L , r IPoints to the Bth line from lthe current line. I DOwn I n I I 1 I I J L I DString /string [I] Ideletes all lines from the Icurrent line down to the line Icontaining the indicated Istring. FILE [fn [ft [fm]]] ISaves the file being edited on Idisk or changes its identiIfiers. Returns to CMS. Find [line] ISearches the file for the Igiven line. FMode [fm] IResets or displays the Ifilemode. FName [fn] IResets or displays the Ifilename. FORMat {DISPLAY} LINE Iswitches the 3270 terminal Ibetween DISPLAY mode and LINE I mode. r IPoints the current line Ipointer to a line currently Ipointed to. (For display Iterminals. , FOrward I 1 I I n I L J r r r r "" L L L L JJJJ Getfile fn I ft I fm I min I I I I I * I * I 1 I * I I I I r IExpands text into line images lor displays current settings. , IMAGE ION I IOFF I ICANONI L I I I J IInserts 'line' in the file or lenters INPUT mode. Input [line] r IInserts some, or all, of the Igiven file following the curIrent line. I , LINEmode ILeft I IRightl IOFF I ISets or displays current line Isetting. I I I L---__________ _______________________________________.___________ l Figure 17. J Summary of EDIT Subcommands and Macros (Part 2 of 5) section 7: Format and Usage Rules for CMS Commands 120.1 EDIT r------ Subco.aand Format Function Locate Istring [I] IScans file froll next line for Ifirst occurrence of 'string'. LONG IEnters LONG error message ;mode. I I I I r, I Next I n I ! ! 1 I L.J I I I Overlay line I I I PREserve IPoints to the nth line down Ifrom the current line. I I IReplaces all or part of the Icurrent line. ISaves current 1I0de settings. 1----------------------------------------------------------------ISets or displays line number I PROMPT [n] lincrellent. Initial setting is I I I I QUIT I I I r, I RECfa I F I I I V I I 110. ITerainates EDIT session with Ino updates since last 'SlVE'. ISets or displays record format Ifor subsequent files. I I L.J 1-----------------------------------------------------IRecollputes line numbers I r r " I RENum Istrtno lincrnol I I 11.Q I §1!:1l!!2 I I I L L I r , I I REPEAT I n I I I 1 I I I * I L .J I I I Replace [line] I I I I I REstore I I I RETURN I 1------· :{RE~SE} [subcommand] I I I Figure 17. .J.J for IVSBASIC and FREEFORT source Ifiles. I IExecutes the following OVERL1Y Isubcommand ~ times. ! I I I IReplaces the current line withl I'line' or deletes the current I Iline and enters INPUT mode (if I Ino data line is specified). I ----------------------1I IRestores mode settings to Ivalues last preserved. IReturns to EDIT environment Ifrom CMS subset. I I 1 I ------------------1 IStacks (LIFO) the last EDIT I Isubcommand that does not startl Iwith REUSE or the question I Imark (1) and then executes anyl Igiven EDIT subcommand. ._ _ _.JI Summary of EDIT Subcommands and Macros (Part 3 of 5) section 7: Format and Usage Rules for CMS Commands 121 GC20-1804-3 Page Modified by TNL GN20-2659 EDIT r------------------I Subcommand Format Function SAVE [fn [ft [f.J]] r IDisplay a number of lines labove or below the current Iline. (For display terminals.) I I I I I I -------------------1I , S[croll][Up] 1* I In I 11 I .J l ISaves the file on disk and Istays in EDIT environment. I I I I SERial { OFF ON rlincrl' } ALL I l.Q I seq l .J ITurns serialization on or off lin columns 73 through 80. I SHORT IEnters SHORT error message I mode. r I IStacks ~ lines, beginning with Icurrent line, in terminal linput tuffer. , STACK I n I I 1 I Isubcommandl I I .J L TAESet {n1 n2 ••• nx} ISets the given tabs. TOP IPoints to the beginning of the Ifile. r , L .J ISets or displays the column of I truncation. An asterisk (*) Imeans end of logical record. I TRUNC I n I I * I r r ,, L L .J IDisplays ! lines beginning Iwith the current line or the Ibeginning of the file. Type I m I n I I I 1 I * I I I * I I I r , L .J I I .J IPoints to the line In' lines labove the current line. , Up I n I I 1 I I r , L .J rr Verify ION I 10FFI {; } LL r , L .J Isubcommandl n I I I I 1 r r ,, Zone I m I n I I I 1 I * I I I * I I I L L .J .J L-_____________________ ___ Figure 17. 122 , , Iistartcollendcoll II 1 I * I .J .J ISets, displays, or resets Iverify mode. The asterisk (*) Imeans end of logical record. I ,Assigns to X or Y the given IEDIT subcommand or executes ,the previously assigned subIcommand n times. I ISets or displays the columns Ibetween which editing is to ,t ake place. I I Summary of EDIT Subcommands and Macros (Part 4 of 5) IBM VM/370: Command Language Guide for General Users IDIT Subcoaaand For.at i Function I -----------------------------------------------------------------1 IDisplays the last EDIT subcoa1 I.and which did not begin with IBEUS! or a question .ark (1). ,Locates the line specified by Ithe given line nuaber and in,serts tezt if given. nnnnn [text] r ;nuplicates the current line , ~ SDUP. I n I I .1 I Iti.es. SoUP is an BOlT .acro. I I SBOVI n { Op a } Down • TO label IBoves ! lines up or down! tlines. $BOY! is an BOlT aacro. I L I Figure 17. ~ Su.aary of IDIT Subco.aands and !aeros (Part 5 of 5) Iii .FILI: The specified file does not ezist. EDIT: The EDIT environ.ent is entered. The logical tab settings .ay be either those defined by the user or those assn.ed according to the filetype. In EDIT subco •• and .ay now be issued. IIPUT: The input environ.ent is entered by issuing the BDIT subco ••ands III subsequent input lines are REPLICE or IIPOT with no operands. accepted as input to the file. 11DIT: line "line" was entered in the EDIT environaent and is an invalid BDIT subcoa.and or aacro. This aessage appears while in LOIG error .essage aode. In invalid subcoaaand was entered in SHORT error aessage .ode • .... the EDIT environ.ent while in , In. invalid .ode. EDIT aaero was entered while in SHORT error aessage section 7: For.at and Osage Rules for CBS Co.aands 123 EDIT DftSEDI003E DftSEDI024E DftSEDI029E DftSEDI044E DftSEDIOS4E D!SEDI076E D!SEDI104S D!SEDI10SS DftSEDI132S 124 IIVALID OPTIOI 'option' RC=24 PILE 'fn ft f.' ALREACY EXISTS RC=28 I.VALID PARAftETER 'para.' II THE OPTIOI 'LRICL' PIELD RECORD LEIGTH EXCEEDS ALLOWABLE ftAXI!Uft RC=88 I.CO!PLETE PILEID SPECIPIED RC=24 ACTUAL RECORD LEIGTH EXCEEDS THAT SPECIPIED RC=40 ERROR Inn' RBADIIG PILE 'fn ft f.' PRO! DISK RC=100 ERROR Inn' WRITING PILE 'fn ft fa' 01 DISK RC=100 PILE 'fn ft f.' TOO LARGB RC=88 IBft V!/370: Co •• and Language Guide for General Users RC=24 ERASE ERASE Use the ERASE co •• and to delete a file or a related group of files fro. a read/write disk. The file to be deleted aust not be on a read-only disk. The for.at of the ERASE co •• and is: ERASE I fn ft [fa'] [(options ••• [) ]] 1** I I I I I r IType , I I~!I L ..I wh.!I!: fn is the filenaae of the files to be erased. An asterisk aay be coded in this position to indicate that all filena.es are to be used. This field aust be specified, either with a na.e or an asterisk. ft is the filetype of the files to be erased. An asterisk aay be coded in this position to indicate that all filetypes are to be used. This field .ust be specified, either with a na.e or an asterisk. fa is the file.ode of the files to be erased. If this field is oaitted, the priaary read/write disk is searched for the files to be erased. lote: If asterisk is specified for filenaae and filetype then fileaode iUst be specified. The fileaode aust include both a aode letter and nuaber. TYPE displays at erased. the terainal the file identifier for IOTIlJ file identifiers are not displayed at the terainal. each file ERASE OLDlILE TEftP (TYPE) The file with the identifier read/write disk, is erased. ter.inal. OLD1ILE TEftP, ilf located on the priaary Its file identifier is displayed at the Responses fn ft fa If the TYPE option is specified, erased is displayed. the file identifier for each file Section 7: loraat and Usage Rules for CftS Coa.ands 125 ERASE DMSERS002E DMSERS003E DMSERS037E DMSERS048E DMSERS054E DMSERS069E DMSERS070E DMSERS071E FILE ['fn [ft [fa]]'] NOT FOUND RC=28 INVALID OPTIOI 'option' RC=24 DISK '.ode' IS READ/ONLY RC=24 IIVALID MODE '.ode' RC=24 INCOMPLETE FILEID SPECIPIED RC=24 DISK 'mode(cuu)' NOT ACCESSED RC=36 IIVALID PARAMETER 'para.' RC=24 ERASE * * [*1 NOT ALLOWED RC=24 Note: You can invoke the ERASE command from the terminal, from an EXEC file, or as a function from a program. If ERASE is invoked as a function or from an EXEC file that has the &COITROL NOMSG option in effect, the DMSERS002E PILE fn ft fm NOT POUID error message is not issued. 126 IBM VM/370: Command Language Guide for General Users EXEC EXEC Use the EXEC command co.mands or if you want to be able to execute EXEC control statements contained in one or more CftS a specified file bi issuing a single command. If this command is entered from the CftS co.mand mode but not nested within another EXEC procedure, the initial word 'EXEC' may be omitted. The format of the EXEC command is: EXec fn [args ••• ] fn is the filename of a file containing one or more CftS commands to be executed. The filetype of the file must be EXEC and the file must be fixed format with a logical record length not exceeding 130 characters. EXEC files can be created with the EDIT command or by a user program. EXEC files created by the CftS Editor have a logical record length of 80 characters. Each EXEC file can contain a maximum of 4096 lines. args are the arguments to replace the numeric variables in the EXEC file specified. within an EXEC file, up to thirty symbolic variables can be used (each one indicated by an ampersand (&) followed by an integer ranging from one to thirty) to indicate values which are to be replaced when the EXEC file is executed. The arguments are assigned to symbolic variables in the order in which they appear in the argument list. For example, each time an &1 appears in an EXEC line, the first argument specified with the EXEC command temporarily replaces the &1, the second argument specified with the EXEC command replaces &2, and so on, to argument N of the EXEC co.mand. If the percent sign (I) is used in place of an argument, the corresponding variable (&1) is ignored in all the commands which refer to that variable. If the specified EXEC ~1~e contains more variables than arguments given with the EXEC command, the higher numbered variables are assumed to be missing, and are ignored when the com.ands are executed. EXEC CONTROL ST1TEftENTS Control statements begin with a control word, which is usually followed by a list of tokens, and in some cases by additional lines of data. Figures 18 and 19 list the control statements and their functions and the EXEC built-in functions. Refer to the !!L~70: !XEC Q2~r's Guide for detailed information on how to use EXEC. section 7: Format and Usage Rules for CftS Commands 127 EXEC Function Control statement &variable = ae IAssigns the value of ae to Ithe symbol specified by I&variable; ae is an algebraic lexpression; the equal sign Imust be preceded and followed Iby a blank. &lRGS [arg1 [arg2 ••• ]] IRedefines the arguaents &1, 1&2, ••• with the value of I ' ar g 1 " , a r g2 " ••• , and reIsets the variable &INDEX. &BEGPUNCH [llL] line1 line2 I Punches 'line1', 'line2', ••• linto the card punch, without Itokenizing them. &END I I I r &BEGST1CK line1 line2 , r IStacks 'line 1', 'line2', ••• , lin the console input buffer I without tokenizing thea. I I I I I I , IIIFQ I 11ll I IlIFO I L .J L .J &EID &BBGTYPB [lll] line1 line2 IDisplays 'line1', 'line2', ••• 1 lat the console, without tokenlizing them. I I I I &END &CONTINUE IProvides a branch address for I&ERROR, &GOTO, and other conIditional branching statements. &CONTROl r ,r ,r ,r , 101'1' I I TI!B I If!~! I IA~~ I IBRRORI I!QTI!~I IUIP1CKI IIO!SGI I Cft~ I L .J L .J L .J 11lt I L .J &BRROR action Figure 18. 128 ISets, until further notice, Ithe characteristics of the Isummary of execution, which is lautomatically printed at the Iconsole. I I IExecutes 'action' following lany CftS command which yields Ian error return code (that is, la return code which is not Izero). 'action' can be any lexecutable statement. Summary of EXEC control Statements (Part 1 of 3) IBft Vft/370: Command language Guide for General Users EXEC Control statement , Function I -----------------------------------------------------------------------1 IExits from the EXEC file with I r , Ithe given return code. &EXIT Ireturncodel i Q I L I I I I I .J -----------------------------------------------------------------1 ITransfers control to the top I &GOTO {TOP } lof the EXEC file, to the given Iline, or to the line starting i.ith !label'. linenuaber label &If {token 1 } ( EQ) (token2 I executable IExecutes the 'executable &$ )NE )&$ (statement I statement' if the condition is ; satisfied. &* ) a~) &* ) I \ &LOOP {n } label I I ILoops through the following Q Ilines, or down to (and includling) the line starting with I'label', for m tilles, or until I 'condition' is satisfied. {IIcondition } IPunches a card containing Itokenl, token2, ••• &PUNCH token 1 [token2 ••• ] , r &REID In I I I 11 IIRGS IVIRS var 1 [var 2 ••• ] I L .J r &SKIP IIf n > 0, skips the next ~ Ilines of the EXEC file. If In < 0, transfers centrol to Ithe line which is ~ lines labove the current line. If In = 0, transfers control to Ithe next line. , I n I I 1 I L .J r , IDisplays Q blank lines at the I terminal. &SPICE I n I I 1 I L r I I .J , &STICK IlIlQI [tokenl [token2 ••• ]] ILIlO 1 L ligure 18. .J IReads the next ~ lines froll Ithe terllinal and treats thea las if they had been in the IEXEC file; or reads a line, lassigns the tokens in it to Ithe argullents &1, &2, ••• , and I resets &INDEX to the number of larguments thus set; or reads a Isingle line and assigns the Itokens in it to the variables I'varl', 'var2', ••• IStacks a line in the terainal linput buffer containing I 'token 1 " 'token2', ••• , or Istacks a null line if the Itokens are absent. Su.mary of EXEC Control statements (Part 2 of 3) section 1: lormat and Usage Rules for CMS Commands 129 EXEC Control State.ent r &TI!E 101 10FF IDisplays timing information. , I I IRBSETI ITYPB I L Function ~ I I I I I &TYPB tokenl [token2 ••• ] Figure 18. IPrints at the ter.inal a line Icontaining 'tokenl,' 'token2,' I· · · Summary of EXBC Control State.ents (Part 3 of 3) An BXBC built-in function consists of the name of the function and, usually, a list of arguments. Built-in function names are BXBC keywords, and start with an ampersand. with the exception of &LITERAL, they are recognized only, if they appear as the token following the equal sign of an assignment statement. Figure 19 lists the BXEC built-in functions with their format and an explanation. Bxplanation Built-in Function &COlCAT tokenl [token2 ••• ] IConcatenates 'tokenl', l'token2' ••••• into a single Itoken. with a maximum length lof eight. &DATATYPB token I Has the value IUft or CHAR. Idepending on the data. &Length token IGives the number of nonblank Icharacters in 'token'. I SLlteral token IUses the literal value of I 'token'. without sUbstitution Ifor any EXBC variable which Imay appear in it. SSUBSTR token i [ j ] IExtracts that part of 'token' Iwhich starts at character "in. Iwith length "j"; or which Istarts at character "in and Iruns to the end of the token. Figure 19. Su.mary of EXEC Built-in Functions As each CBS co.mand in the EXBC file is processed. it is displayed at the terminal along with any nonzero return code. The SCOBTROL co •• and can be used to augment or reduce the amount of displaying done during execution. 130 IB! '!/370: Co •• and Language Guide for General Users EXEC If the EXEC interpreter finds an error, it displays ~he message: ERROR IN PILE 'fn EXEC fm', LINE n, 'description of error' where "description of error" is one of the following conditions with its appropriate return code: Return ~Qg§- ~§2gipt.!.Q1! (802) (804) (805) (806) (807) (808) (809) (810) (811 ) (812) (813) (814) (815) (816) SSKIP OR SGOTO ERROR TOO !INY lRGUftENTS MAX DEPTH OP LOOP NESTING EXCEEDED DISK OR TER!INAL READ ERROR I Ii VALI D SI IT AX INVALID FOR! OP CONDITION IIIVALID ASSIGNMEIT !ISUSE OP SPECIAL VARIABLE ERROR II SBBBOR ACTION CONVERSION ERROR TOO ftAIII TOKEIS III STATEftENT ftISUSE OP BUILT-IN PUNCTION EOP POUID II LOOP INVALID CONTROL WORD D!SBXC001E NO PILENAftE SPECIPIED RC=24 DftSEXC002E PILE 'fn ft' NOT POUID BC=28 DftSEXC034E PILB 'fn ft f.' IS NOT PIXED LENGTH RC=32 Section 7: Pormat and Usage Rules for CftS Commands 131 FILEDEF FILEDEF Use the FILEDEF command to define an as ddname and to relate that ddname to a device on your virtual machine. If the device is a disk, FILED!F assigns a C!S file identification (that is, fn ft fa) and, if the disk is an as disk, an as data set name; or, if the disk is a DOS disk, a DOS file-ide llso, using FILED!F, you can specify as DCB parameters that describe the ddname just as they would on the as Job control Language Data Definition statement. In general, FILEDEF is used to define ddnames for programs written using the language processors supported by 'B/310. You can find usage information on FILEDEF in "UsinG as Programs and Macros Under CMS" in section 4. The format of the FILEDEF co.mand is: , FIledef l{ddname} I nn I * Terainal [(optionl optionD[) ]] PRinter PUnch Reader [ (optionD[) ]] DISK r r " L L .... Ifn ft Ifal I [(optionB optionD[) ]] I FI!!) gdn~~ 1111 I rr , r " LL .. L .... II DISK fn ft II filii {DSN 1 } II FILl ddna~~111111 DSN qual1 qua12 ••• [(optionB optionD[) ]] DUM!Y [ (optionD[) ]] T1Pn [(optionC optionD[) ]] CLE1R ..I opti~~: ~!i21!j: r , l!lf~lSE I ILOWC1SEI L .. [KEILEI nn] r L .. [LIBCT nn] [OPTCD a] [J)ISP BOD] [BEBBER aeabernaae] [ COICIT] r : DSORG I I L' 132 r , 11TRlCKI 19TRlCKI , IITEIT nnl IITEIT ~.21 L 2E!iQ!!£: , .. [TRTCH a] [DEN den] .QptionD: [PERB] r , ICHINGE I I NOCHINGEI L .. [RECFB a] [LRECL nn] r , IBLOCK nn I IBLKSIZE nnl L {i~~~ Dl I IS I .. IBB 'B/310: Com.and Language Guide for General Users .. FILEDEF ddnalle nn * is the naae by which the file is referred to in your program. If a number nn is specified, it is translated to a FORTR1NI data definition name of FTnnF001. If the CLE1R operand is specified. ddnalle mav be specified as an asterisk (*) to indicate that-all file definitions not entered with the PER! option are to be relloved. TERftIB1L is your terllinal (terminal I/O should not be blocked). PRINTER is the spooled printer. PUNCH is the spooled punch. REIDER is the spooled card blocked) • DISK specifies that the virtual I/O device is a disk. Is shown in the foraat, you can choose one of two forms for specifying the DISK operand. Both forlls are described in the section that follows, "Using the FILEDEF DISK Operand." DUIU'Y indicates that no set. T1Pn is a magnetic tape. The symbolic number of the tape drive, nn, can be 1, 2, 3, or~, representing virtual units 181, 182, 183, and 184 respectively. CLE1R reaoves any existing definition for the specified ddname. Clearing a ddna.e before defining it ensures that a file definition does not exist and that any options previously defined with the ddname no longer have effect. reader (card real I/O is to reader I/O should not take place for a be disk data If no operands are entered with the cOllmand, a list of current filetypes is displayed at the terainal including the ddname, device type, and, if device type is DISK, the filename, filetype, and filemode. llso, if the PILEDEP is for an as data set, the data set name is displayed; or, if the FILEDEF is for a DOS file, the file-id is displayed. Whenever an option is specified that is invalid for a particular device type, an error message is issued. Figure 20 shows valid options for each device type. IThe FORTR1N processors are Prograll Products. Section 7: Format and Usage Rules for CftS Commands 133 FILE.DEF I Onit Record I IREADEB, POICHI I PRINTER I TERKIIIL option BLOCK, BLKSIZE CHANGE, NOCHANGB COICAT DBN DISP ftOD KElLEN LlftCT LOWCASE, OPCISE LRBCL KBftBER OPTCD PEBM BECFM TBTCH ITBNT 7TBACK, 9TBACK 1 1 1 1 1 DISK DOKftI I TIPn 1 1 1 1 1 1 1 12 x x X X X X X X X X 12 1 X 1 X INo options may be necessary but all disk options are accepted. 2This option is used for BDAK files. 3This option is for 7-track tapes only. Figure 20. Valid File Characteristics FILEDEF COllmand for Bach Device Type for the .Y.fCI.§~ translates all terminal input data to uppercase • LOWCISE retains all terminal input data as typed in. KElLEN nn is the size (nn) of the key (in bytes). ITENT nn is the number of records (nn) in the extent for the file. The default is 50. LIMCT nn is the maximull nuaber of extra tracks or blocks (nn) to be searched. This option is used for BDIK files. OPTCD a is the direct access search processing desired. The variable ! may be any combination of up to three of the following: (A and B are mutually exclusive.) Cod~ I B P R DISP MOD DISD Search Ictual device addressing Extended search Peed back addressing Relative block addressing positions the read/write pointer after the last record in the disk file. MEMBEB membernalle allows you to specify the name of a member of an as Partitioned Data Set; membername is the nalle of the PDS lIellber. 134 IBft Vft/370: Command Language Guide for General Osers PILEDEP COBCAT allows you to concatenate OS data sets with each other and with CftS files. You must use the COBCAT option when you are defining an OS data set referred to by a later GLOBAL command (COBCAT is not necessary for CftS files referred to in a later GLOBAL command.) COBCAT should be used only for aacro libraries to be specified in a later GLOBAL co.mand. You must specify COBCAT with all of the OS data sets you define, including the first. wnen you use CONCiT in a FILEDEF coaaand, you can specify more than one PILEDEP for a particular ddname. llso, when you use COBCAT, the DCB paraaeters used are those associated vith the first filename you specify in a GLOB1L comaand for a macro library. DSORG {~PIOS:} is the data set organization: physical sequential (PS), partitioned (PO), direct access (Dl), or indexed sequential (IS). r , I 7TR1CK I I 9TRACK I L TRTCH a is the tape setting. .I is the tape recording technique. to determine the value of ~: a Parity converter 0 odd odd odd even even off on off off off OC OT ! ET Use the following chart Translator I I I I I off off on off on DEB den is tape density: den can be 200, 556, 800, 1600, or 6250 bpi (bits per inch). If 200 or 556 are specified, 7TR1CK is assuaed. If 800, 1600, or 6250 are specified 9TR1CK is assumed. PERft retains the current definition until it either is explicitly cleared or is changed with a new PILED!P coalland with the CH1BG! option. is not If PERft specified, the definition is cleared when a PILED!P * CLE1R com.and is executed. merges the file definitions whenever a file definition exists for a ddname and a PILEDEP specifying the same ddnalle is issued: the options associated with the two definitions are merged. Options from the original definition remain in effect unless duplicated in the new definition. Rew options are added to the option list. BOCHABGE retains the current file definition, if one the specified ddname. exists, for section 7: Pormat and Usage Rules for CftS Commands 135 FILBDBF BBCFft a is the record foraat the following: ! F FB V VB U FS.FBS VS.VBS A B LBBCL nn BLOCK nn BLKSIZB nn of the file. where! can be one of fteani.!!,g fixed length fixed blocked l variable length variable blocked l undefined fixed length. standard blocks variable length. spanned records ASA print control characters 2 aachine print control codes 2 is the logical record length (nn) LBBCL should not exceed 32.767 restrictions. of the file. in bytes. bytes because of OS is the logical block size (nn) of the file. in bytes. BLOCK should not exceed 32.767 bytes because of OS restrictions. If a CftS file is fixed and has 80-byte CftS records. you should specify BECPft PB BLOCK 800 LBBCL 80 and a fileaode nuaber of 1. (BLOCK can also be expressed as 80*10.) There can be significant perforaance improvement for CBS fixed files if the block size is a au1tiple of 800. Bates: -l-.--There is an auxiliary processing option for PILBDBP that is only valid when FILBDEP is executed by an internal prograa call: this option cannot be entered on a terainal coaaand. The option. AUIPROC addr. allows an auxiliary processing routine to receive control during I/O operations. 2. DOS files do not contain BLKSIZE. LBECL. or BECPB specifications. These options aust be specified by a PILEDBP coa.and or DCB stateaent. Otherwise the defaults. BLKSIZE=32760 and RECPB=U. are assumed. LBBCL ,is not used for BBCP!=U files. 3. If V or VS is specified for RECFft. LRECL must be at least 4 bytes less than BLKSIZB. BLKSIZE must be specified if LBECL is specified. The FILEDEF co.mand does not provide default values for LBECL and BLOCKSIZB. However. the following chart describes the results of specifying BLOCKSIZE and LBECL. IPB and VB should not be used with TBBftIBAL or BEADBR devices. 2A and ft may be used in conjunction with any of the valid BBCFft settings (for example. PA. PBA. VA. VBA. etc.) 136 IBft Vft/370: Comaand Language Guide for General Users GC20-1804-3 Page Modified by TIL G120-2659 FILEDEF r-------------------------------------------------~-~--~~ BLKSIZE not specified LRECL Results not IIf the input file exists on disk, the item specified Ilength becomes the BLKSIZE (or BLKSIZE +4 Ifor variable length records) • not ILRECL~BLKSIZE (or LRECL=BLKSIZE-4, specified Ivariable-length records). .&:~ .LV.L not specified specified IBLKSIZE=LRECL (or BLKSIZE=LRECL+4, for Ivariable-length record) • specified specified IThe values specified are used. L---------------------.----------------------------------------------------~ There are two general forms for specifying the FILEDEF DISK operand. you specify the first form: If DISK fn ft [fm] fn and ft (filename and filetype) are assumed to be a CMS fileid. If the filemode is for an OS disk, fn and ft are assumed to be the only two qualifiers of an OS data set name. In this form, the filemode you specify must always match the access mode of the disk on which the data set resides. The default values for fn ft fm are FILE ddname A1. You cannot use this form unless the OS data set. name or DOS file-id conforms to the OS naming convention (one- to eight-byte qualifiers separated by periods, to a maximum of 44 chracters, including periods) . Also, the data set name can have only two qualifiers; otherwise, you must use the DSN ? or DSN qua11 ••• form. For example, if the data set name or file-id is TEST.SAMPLE.MAY. you enter: FILEDEF MINE B1 DSN TEST SAMPLE MAY -- or -FILEDEF MINE B1 DSN ? TEST. SAMPLE. MAY If the data set name or file-id is TEST. SAMPLE, then you enter: FILEDEF MINE DISK T!ST SAMPLE B1 The second form of the DISK operand is only for use with OS data sets and DOS files: ,. , r , FILED!F ddname I DISK fn ft I I fm I {DSN ? } I 111~ QQ!!~!!!~ I IAll DSN qua11 [qua12 ••• ] L .J L .J This form allows you to specify a DSN operand that corresponds to the DSN parameter on the DD card describing an OS data set or DOS file. There are three ways you can specify this form: Section 7: Format and Usage Rules for CMS Commands 137 GC20-1804-3 Page Modified by TNL GN20-2659 FILEDEF 1. FILEDE' ddname DISK fn ft fm DSN quaIl [qua12 ••• ] If you use this form, the FILEDEF command associates the filename and filetype you specify with the OS data set name or DOS file-id specified following the DSN operand. Once it is defined, you can refer to the OS data set name or DOS file-id by coding the filename and filetype. If you omit DISK, filename, filetype, and filemode, the default values are PILE ddname Al. 2. FILEDEP ddname DSN 1 This form of the PILEDEP command allows you to specify the DSN OS data set name or DOS file-id interactively. Using this form, you can enter an OS data set name or DOS file-id containing embedded special characters such as blanks and hyphens. If you use this form, the default filename and filetype for your file, FILE ddname, is the filename and filetype associated with the OS data set name or DOS file-ide The filemode for this form is always the default, Al. The interactive DSN operand works this way: when you enter DSN 1, CMS requests that you enter the OS data set name or DOS file-id exactly as it appears in the data set or file. Do not omit the periods that separate the qualifiers of an OS data set name, but do not insert periods where they do not appear. quall[.qua12 ••• ] where quall.qua12 ••• are the qualifiers of the as data set name or DOS file-{d. When you use this form, you must code the periods separating the qualifiers. 3. FILEDE' ddname Bl DSN quaIl [qua12 ••• ] This form allows you to specify the OS data set name or DOS file-id explicitly. (This form can be used for DOS file-ids only if they comply with the OS naming convention of one- to eight-byte qualifiers separated by periods, to a maximum of 44 characters, including periods.) Again, the default value for the filename is FILE and for filetype, the default value is the name associated with the OS data set name or DOS file-ide The filemode for this form is Bl as you specified it on the co •• and. When you use this form, you must omit the periods that separate the qualifiers of the OS data set name. For example, for an OS data set or DOS file named MY.PILE.IN, you enter FILEDEF ddname Bl DSN MY FILE IN All of these forms command format. have many variations, as is apparent from the Note: When the FILEDEF command is used to define a ddname, that defInition remains in effect until another PILEDEP command (with the CLEAR option) is issued or until the system clears the definition. The system clears PILEDEF definitions if: • 138 Any of the CMS language processors are executed. The language processors always issue, at their completion, the command PILEDEF * CLEAR. This command causes all FILEDEF definitions to be cleared, except for those defined with the PERM option. IBM VM/370: Command Language Guide for General Users FILEDEF If you want any FILEDEF definitions to remain in effect after language processor has executed, define them with the PERM option. • a An ABEND occurs. When you enter your next co •• and, ABEND recovery takes place. ABEND recovery clears all previously specified FILEDEF definitions, including those for which the PERM option was specified. All the FILEDEF definitions must be respecified after lRp.wn ---- ----- ~~rh r~rnv~rv ----.--~. FILEDEF MACLIE DISK SYS1 MACLIB B1 (MEMBER ABEND) When the CMS file SYS1 MACLIB or, if the B disk is an OS disk, the OS data set SYS1.MACLIB is opened, the read/write pointer is set to the start of the partitioned data set member ABEHD. FILEDEF ASSEMBLE DISK TEST ASSEMBLE B1 DSN SAMPLE OS DATA When an OS macro or a eMS command references the fileid TEST ASSEMBLE B1, it gets information from the OS data set SAMPLE.OS.DATA. For example, the command ASSEMBLE TEST assembles the OS data set SAMPLE.OS.DATA. FILEDEF SYSPRINT PHIlTER (PERM RECFM F BLOCK 132) Whenever SYSPRINT is referred to in your program, the output written is spooled to the virtual printer. The file is fixed-format with a logical block length of 132. The file definition is not removed by the command FILEDEF * CLEAR. FILEDEF PRINTOUT TERMINAL (UPCASE NOCHANGE If a file definition for the ddname PRINTOUT does not exist, one is established. Output written to PRINTOUT is displayed at the terminal in uppercase. FILEDEF DISK DISK HAME OLDFILE All I/O for a file with a ddname of DISK is directed with a file identifier of NAME OLDFILE. to a disk file FILEDEF DISKFILE DUMMY When any I/O command is issued to a disk file with DISKFILE, the real I/O operation is not performed. a ddname of FILEDEF NEWMAST TAP2 (9TRACK DEH 1600 RECFM FB LRECL 050 BLOCK 3000 I/O commands issued to a file with ddname of NEWMAST are directed to the tape located at logical unit TAP2. The tape is 9-track, and recording is done at 1600 bpi. The tape is in fixed-block format with a logical record length of 50 and a physical blocksize of 3000. Section 7: Format and Usage Rules for CMS Commands 139 GC20-1804-3 Page Modified by TNL GN20-2659 FILEDEF FILEDEF CMSLIB DISK aSl MACLIB * DSN OS DATA 1 (LRECL 80 BLOCK 800 RECFM FB CON CAT) FILEDEF CMSLIB DISK OS2 MACLIB * DSN OS DATA 2 (CONCAT) FILEDEF CMSLIE DISK SYS1 MACLIB * (CONCAT) GLOBAL MACLIB OSl OS2 SYS1 MYLIB This example shows how you can use the CONCAT option to cause CMS to search the as maclibs OS.DATA.1, OS.DATA.2 and SIS1.MACLIB and the CMS maclib MILIB to resolve maclib references in assembling the CMS file SAMPLE ASSEMBLE. ACCESS 193 B ACCESS 194 C FILEDEF CMSLIB DISK ASPl MACLIB * DSN ASP1 MACROS RLl (RECFM FIXED BLOCK 3360 LRECL 80 CONCAT) FILEDEF CMSLIB DISK ASP2 MACLIB * DSN ASP2 MACROS RL2 (CONCAT) FILEDEF CMSLIB DISK SYS1 MACLIB * (CONCAT) FILEDEF ASSEMBLE TEST SAMPLE B1 DSN TEST OS SAMPLE1 GLOBAL MACLIB ASP1 ASP2 SYSl CMSLIB ASSEMBLE TEST This example shows how you can use FILEDEF to override the default FILEDEF commands CMS gives you for an assembly. The example also shows how to point to an as disk containing as source for TEST.OS.SAMPLE1 and the as macro libraries ASP.MACROS.RL1, ASP.MACROS.RL2, and SIS1.MACLIB. The GLOBAL command accesses four macro libraries and the order of search for the macros needed during assembly, that is, ASP1 first, ASP2 next, and so on. The first three libraries are as libraries and CMSLIB is a CMS macro library. !Qi~: A disk does not have to be accessed at the time a FILEDEF is issued; however, if this is the case, a warning message is issued to the user informing him that the disk is not accessed. ddname1 device1 [filename1 filetype1] ddnameN deviceN [filenameN filetypeN] A list of current definitions is displayed if is entered with no operands. the FILEDEF command DMSFLD220R ENTER DATA SET NAME: A FILEDEF command with the DSN? operand was entered. Enter an OS data set name the form quaI1.quaI2 •••• qualn; where qual1, qual2 through qualn are the qualifiers of an as data set name. DMSFLD7041 INVALID CLEAR REQUEST A CLEAR request was entered exist; no action is taken. 140 for a file definition that IBM VM/370: Command Language Guide for General Users does not FILEDEF DftSPLD003E DftSPLD023E DftSPLD027E DftSPLD029E DftSFLD035B DftSPLD050E DftSPLD065E DftSPLD066E DMSPLD070E DMSFLD221E DftSPLD224E IBVALID OPTIOB 'option' RC=24 NO PILETYPE SPECIPIED RC=24 I!VllID DEVrCE 'device name' RC~24 INVALID PARAftETER 'param' IN THE OPTION 'option' FIBLD RC=24 INVALID TAPE ftODE RC=24 PARAftETER ftISSIIG AFTER DDNAftE RC=24 'option' OPTION SPECIFIED TWICE RC=24 'option' AID 'option' ARE COIFLICTING OPTIOIS RC=24 INVALID PARAftETER 'oaram' RC=24 INVALID DATA SBT IA!E 'data set name' RC=24 PILEID ALREADY IN USE RC=24 section 7: Format and Usage Rules for CftS Co •• aDds 141 PORftAT FORMAT, Use the PORftAT coamand to: • Initialize a virtual disk area in the CftS format. • count the nuaber of cylinders on a virtual disk. • write a label on a virtual disk. • Reset the number of cylinders on the virtual disk. This co.mand can be used with a virtual 3340, 3330, 2314, or 2319 direct access storage device. The format of the PORltAT command is: PORftAT cuu lIode [nocyl] [ (options ••• [) ]] .Qp ti.9J!§: r "'I ILABEL I IRECOftPI L .. !.!l~~: cuu is the virtual foraatted. device address of the virtual disk to be Bote that 000 is not a valid address. aode is the fileaode letter to be assigned to the specified device address. Valid fi1eaode letters are A, B, C, D, E, P, G, I, and Z. This field must be specified. nocy1 is the number of cylinders to be made available for use. All available cylinders on the disk are used if the nu.ber specified exceeds the actual number available. LABEL writes a label on the disk without foraatting the disk. A six-character label is written on cylinder 0, track 0, record 3 of the virtual disk. A prompting message requests a six-character disk label (less than six is left-justified, blank padded). BECOftP changes the nuaber of cylinders on the disk which are available to the user to the actual number of ainidisk cylinders or to the number specified by nocyl, whichever is less. If nocyl is not specified, all cylinders are used. lo!!: If neither RECOKP nor LABEL is specified, the disk area is initialized by writing a device-dependent nuaber of records (containing binary zeros) on each track. Any previous data on the disk is erased. A read after write check is made as the disk is formatted. 142 IBK V6/310: Command Language Guide for General Users FORftAT FORftAT 191 A 25 Initializes 25 cylinders CftS format. POR!AT 192 B Changes the number cylinders. of the disk located at virtual address 191 in 25 (RECO!P) of cylinders available at virtual address 192 to 25 FORBAT 193 C (LABEL) writes a label on the disk at virtual address 193. prompting message with a six-character label. Respond to DBSPOR603R POR!AT WILL ERASE ALL PILES ON DISK 'Ilode(cuu) '. TO COITIIUE? (YESIIO): the DO YOU WISH You have indicated that a disk area is to be initialized: any existing files will be erased. This message gives you the option of canceling the execution of the FORftAT command. Reply YES or NO. DftSPOR605R ENTER DISK LABEL: You have requested that a label'be one- to six-character label. written on the disk. Enter a DftSPOR7051 DISK RE!AINS UNCHANGED The response to message, D!SPOR603R, was '10'. DftSPOR7321 'nnn' CYL POR!ATTED ON DISK 'mode (ccu) , A formatting operation has been done on nnn cylinders at virtual address ccu. of the disk DftSFOR7331 FOR!ATTIIG DISK 'mode' The disk represented by mode letter 'mode' is being formatted. DI SK 'Ilode (cuu)': ('n' CYL) 'n' FILES, 'n' BLOCKS, , n' LEFT (OF 'n'), This message gives the extent and other information about when a RECO!P operation has been done. nnl FULL a disk Section 7: Pormat and Usage Rules for CftS Com.ands 143 PORftAT DftSPOR003E DftSPOR017E DftSPOR028E DftSFOR037E DftSPOR048E DftSPOR069E DftSFOR070E DftSPOR113S DftSFOR114S DftSPOR125S DftSFOR126S DftSFOR214W 144 IIVALID OPTIOI 'option' RC=24 INVALID DEVICE ADDRESS 'cuu' RC=24 10 DEVICE SPECIPIED RC=24 DISK '.ode[ (cuu)]' IS READ/OILY RC=36 IIVALID ftODE '.ode' RC=24 DISK '.ode' lOT ACCESSED RC=36 IIVALID PARAftETER 'para.' RC=24 cuu lOT ATTACHED RC=100 'cuu' IS AI UISUPPORTED DEVICE TYPE RC=88 PERftAIEIT UIIT CHECK 01 DISK ·.ode(cuu)' RC=100 ERROR {READIWRIT}IIG LABEL 01 DISK '.ode(cuu)' RC=100 CAIIOT RECOftPUTE WITHOUT LOSS OP DATA. 10 CHAIGE RC=8 IBft Vft/370: Command Language Guide for General Users GBIDIRT GENDIRT Use the GBIDIRT co •• and to create a CftS auxiliary directory. The auxiliary directory contains the na.e and location of .odules which would otherwise significantly increase the size of the resident directory, thus increasing search ti.e and storage require.ents. By using GBBDIRT to create an auxiliary directory, the file entries for the given cOII.and are loaded only when the co._and is invoked. The for.at of the GBIDIRT co_.and is: GBIDIRT directoryn aile [target.ode] !J!.!!:! : directorynalle is the entry point of target.ode is the file.ode letter of the disk containing the .odules referred to in the directory. The letter is the file.ode of the disk containing the .odules at execution ti.e,not the file. ode of the disk at creation of the directory. The default value for target.ode is S, system disk. It is your responsibility to deter.ine the usefulness of this operand at your installation, and to infor. all users whose programs are in auxiliary directories exactly what filellode to specify on the lCCBSS co ••and. th~ auxiliary directory. !2te: See the Vft/370: Syste. Proqr.!~£..!! Gui,g.! for infor.ation on creating auxiliary directories and for further require.ents for using the target_ode option. DftSGID002W DftSGID021B DftSGHD022B DftSGID070B FILB 'fn ft f.' lOT FOUID RC=4 IITRY POIIT 'na.e' BOT FOUID RC=28 10 DIRBCTORY IlftB SPBCIFIBD RC=24 IIVILID PIRlftlTBR 'para.' RC=24 Section 7: For.at and Usage Rules for CftS Co ••ands 145 GEHKOD GENMOD Use the GEIKOD co •• and to generate format of the GEIKOD co •• and is: Genllod absolute core-i.age files. The [fn [ft [fm]]] [ (options ••• [) ]] .Q.E!io.!!§: [ PROK entry1 ] [ TO entry2 ] r , I !!E I I ROKAP I L .J r , L .J I STR I I IOSTR I [ SYSTEK ] fn is the filename of the KODULE file being created. If fn is not specified, the file created has a filename equal to that of the first entry point in the LOAD KAP. ft is the filetype of the KODULE specified, ft .ust be KODULE. fm is the file.ode of the KODULE file being created. If f. is not specified, the file is written on the priaary read/write disk. file being created. If If conflicting options are specified, the last one entered is used. PROK entry1 specifies an entry point or a control section naae, which is the starting virtual storage location froa which the core-iaage copy is generated. If PROK is not specified, the starting virtual storage location of the module is eit_her t he address of fn (if it is an external name), or the address of the first external nalle encountered during the loading process •. This is not necessarily the lowest address loaded. If you have any external references before your START or CSECT instructions, you aust specify PROK entry1 to load your program properly. 146 TO entry2 specifies an entry point or a control section naae, which is the ending virtual storage location fro a which the core-image copy is generated. KAP includes a load map in the KODULE file. IOftAP specifies that a ftODULE file. load map is not to be contained in the IBK YK/370: COllmand Language Guide for General Users GC20-1804-3 Page Modified by TNL GN20-2659 GENMOD ~Q!~: If a module is generated with the NOMAP option, that module cannot later be loaded and started with the CMS LCADMOD and START commands. When NOMAP is specified, the information produced is not sufficient for the START command to execute properly. However, a module generated with the NOMAP option can later be invoked as a command, that is, it can be invoked if its filename is entered. STR invokes the CMS storage initialization routine when the MODULE is subsequently loaded (see the CMS LOADMOD command). This routine frees any storage remaining from a prevlous program. STR is the default setting if the MODULE is to be loaded at the beginning of available user storage. NOSTR indicates that, when the MODULE is loaded, free storage pointers are not reset for any storage currently in use. NOSTR is the default setting if the MODULE is to be loaded at a location other than the default load address. SYSTEM indicates that when the MODULE is subsequently loaded, it is to have a storage protect key of zero. Notes: -':--Before the file is written, undefined symbols are set to location zero and the common reference control section is initialized. The undefined symbols are not retained as unresolved symbols in the MODULE file. Therefore, once the MODULE file is generated, those references cannot be resolved and may cause unpredictable results during execution. 2. If you load a program into the transient area you should issue the GENMOD command with the STR option. Be careful if the program issues OS GETMAIN or FREEMAIN because your program, plus the amount of storage obtained via GETMAIN, cannot exceed two pages (8192K). It is recommended that you do not issue a GETMAIN from a transient area. DMSMCD001E DMSMOD002E DMSMOD003E DMSMOD005E DMSMCD021E DMSMOD032E DMSMOD037E DMSMOD040E DMSMOD070E DMSMOD084E DMSMOD105S DMSMOD109S NO FILENAME SPECIFIED RC=24 FILE 'fn ft' NOT FOUND RC=28 INVALID OPTION 'option' RC=24 NO (FROM TO) ENTRY SPECIFIED RC=24 ENTRY POINT 'name' NOT FOUND RC=40 INVALID FILETYPE 'ft' RC=24 DISK 'mode' IS READ/ONLY RC=36 NO FILES LOADED RC=40 INVALID PARAMETER ••••• RC=24 INVALID USE OF 'FROM' AND 'TO' OPTIONS RC=24 ERROR 'nn' WRITING FILE 'fn ft fm' ON DISK RC=100 VIRTUAL STORAGE CAPACITY EXCEEDED RC=104 Section 7: Format and Usage Rules for CMS Commands 147 GLOBAL GLOBAL Use the GLOBAL co •• and to specify which CMS libraries are to be searched when processing subsequent CMS commands. The GLOBAL command remains in effect for an entire CMS session unless it is explicitly canceled or until another GLOBAL command is entered. There are no default libraries, so the command must be libraries if any libraries are to be used. The GLOBAL command verifies the existence of the libraries and issues a warning message if a specified library does not exist. The format of the GLOBAL command is: , r- I GLobal MACLIB } [libnamel ••• libname8] IL-__________ { TXTLIB I I J MAClIB allows the specification of the macro libraries that are to be used during the execution of language processor commands. The macro libraries may be CMS files or OS data sets. If you specify an OS data set, FllEDEF must be issued for the data set before you issue GLOBAL. (See the description of the FlLEDEF CONCAT option for more information.) TXTLlB allows the specification of text libraries to be searched for .issing subroutines when the lOAD or INCLUDE command is issued, or when a dynamic load occurs (that is, when OS SVC 8 is issued). Note: Subroutines that are called by dynamic load should (1r-contain only VCOBs that are resolved within the same text library member or (2) be resident in storage throughout the processing of the original CMS LOAD or INCLUDE command. Otherwise, the entry point is unpredictable. libnamel ••• is the filename of up to eight libraries. If the MAClIB form of the GLOBAL command is used, the filetypes of all files specified must be MAClIB. If the TXTLIB form of the oommand is used, the filetypes of all files specified must be TXTLIB. The libraries are searched in the order in which they are named. If no library names are specified, the command cancels the effect of any previous GLOBAL command. If you want to use an OS library during the execution of a language processor, you can issue a GLOBAL command to access the library, as long as you have defined the library via the FILEDEF command. If you want to use that library for more than one job, however, you must redefine it {again, via FILEDEF), since the language processors clear your previous definition of the library. Another means for reusing a library is the PERM option of the FIlEDEF command. If you use PERM, you must clear that FILEDEF before you issue another GLOBAL for a different library. 148 IB" V"/370: Command Language Guide for General Users GLOBAL GLOBAL BICLIB ICCESS SYSftlC The systeM searches ~ne iCCESS aiCLIB aissing aacros during coapilations. and SISSie BICL!B files for GLOBAL TITLIB COlVERT PLOAT syste. searches the COlVERT TITLlE and PLOAT TITLIB files aissing subroutines during subsequent LOID and IICLUDE operations. ThA &_- .LU.L GLOBAL BICLIB Cancels the effect of any previous GLOBAL ftACLIB libname co •• and. DftSGLB002i DftSGLB014E DftSGLB0471 DftSGLB108S PILI 'fn ft' lOT POOID BC=28 IIVALID PUICTIOI 'function' RC=24 10 PUICTIOI SPICIPIED RC=24 ftORE TBAI 8 LIBRARIBS SPBCIPIED RC=88 Section 7: Pormat and Usage BuIes for CftS Com.ands 149 IBCLUDB INCLUDE Use the IBCLUDB co.aand to read one or aore TBXT files (containing relocatable object code) fro. disk and to load thea into storage, establishing the proper linkages between the files. IBCLUDB is noraally used to resolve references left unresolved by a previous LOAD or INCLUDE co •• and. Refer to Pigure 21 for a description of the handling of unresolved references. I LOID co ••and .ust have been previously issued for the IBCLUDE co •• and to produce desirable results. The for.at of the INCLUDE co •• and is: INclude fn... [(options ••• [) ]] QE~i.21!§ : r , r 1CLEAR 1 IIOCLEI!1 .J L , r IftlP I II0ftAPI L .J r , I~IB! I IIOLIBEI L .J r , ITYPE I I!QTYPBI L .J [STIRT] , 1 { entrY}1 [ORIGII hexloc] IRBSET 1 I • I L r .J , IRER I INORBP I II!! 1 IBOIIV I L [S.ftE] , r .J L r , L .J .J r , L .J IIUTO 1 INOAUTOI IDUR I INODUP 1 are the naaes of the files to be loaded into storage. Piles aust have a filetype of TEXT and consist of relocatable object code such as that produced by the language processor coa.ands. fn ••• If options were specified with a previous LOID or IICLUDE co •• and, these options (with the exception of CLEAR and ORIGIN) re.ain set if SAftB is specified when IICLUDE is issued. Otherwise, the options assu.e their default settings. If conflicting options are specified, the last one entered is in effect. CLEAR clears the load area in storage to binary zeros before the files are loaded. NOCLBIR does not clear the load area before loading. RESBT {en.try } resets the execution starting point previously set by a LOAD or IICLUDE co •• and. If entry is specified, the starting execution address is reset to the specified location. If an asterisk (.) is specified, the starting point is reset to the location of the first file or to the address specified as an operand of an EID card, LDT card, or BITRY card. ORIGII hexloc 150 begins loading the progra. at the location specified by hexloc. The variable, hexloc, is a hexadeci.al nu.ber of up to eight characters. If this option is IBft Vft/370: Co•• and Language Guide for General Users IICLUDB not specified, loading begins at the next available storage location. IICLUD! does not overlay any previously loaded files unless this option is specified and the address given indicates a location within a previously loaded object module: 1!ll adds inforaation to the LOAD ftAP file. IOftAP does not add any inforaation to the LOAD ftAP file. TYPE displays the load aap of the files at the terminal, as well as writing it on the primary disk. This option is valid only if ftAP is specified or iaplied. IOTYP! dQes not display the LOAD ftAP file at the terminal. 1!! prints invalid card images in the LOAD ftAP file. 10IIV does not file. print invalid card images in the LOAD ftAP prints replace statement iaages in the LOAD ftAP file. See the explanation of the CftS LOAD coamand for a description of the replace (REP) statement. 10RBP suppresses the LOAD ftAP file. printing of replace statements searches your disks undefined references. IOAUTO for TilT to files in the resolve suppresses automatic searching for TBXT files. searches the text libraries defined co.mand for aissing subroutines. any text by the libraries for GLOBAL 10LIBE does not search references. unresolved START begins execution after loading is coapleted. SAftB retains the same options (except ORIGII and CLBAR) that were used by a previous IICLUDB or LOAD coaaand. Otherwise, the default setting of unspecified options is assumed. If other options are specified with SAftE, they override previously specified options. See the exaaples. displays warning aessages at your virtual console when a duplicate CSICT is encountered during processing. The duplicate CSBCT is not loaded. 10DUP does not display warning aessages at your virtual console when duplicate CSBCTs are encountered during processing. The duplicate CS!CT is not loaded. Section 7: lor mat and Usage Rules for CftS Co.mands 151 IICLUDE Use standard order of search to locate the TEXT files specified by fn ••• I I * * * * .unresolved * Any * references ? * ·*·* * * NO * Search terllinated IYES I * * * ·Is* · * *BOAUTO specified ? * ·* * * * YES * IBO I Use standard order of search to locate files with a filetype of TEXT and a filenalle corresponding to the unresolved reference 1< I * * * ·*· .unresolved * Any * references ? *. . * *IYES * * NO Search complete YES Search cOllplete * I · *. * * * Is * *BOLIBE specified ? * . *INO * * * *--- I Search active text libraries (those that were previously specified by a GLOBAL com.and). Piles are searched in the order I they are entered in the cOlllland.1 Search terainated Pigure 21. 152 Resolution of Unresolved References IBM V8/370: COII.and Language Guide for General Users GC20-1804-3 Page Modified by TNL GN20-2659 INCLUDE INCLUDE MAIN SUBI DATA (RESET MAIN MAP START) Brings the files named MAIN TEXT, SUBI TEXT, and DATA TEXT into real storage and appends the. to files which were previously loaded. Information about these loaded files is added to the LOlD MAP file. Execution begins at entry point MAIN. LOAD MYPROG (NOMAP NOLI BE NOREP) INCLUDE MYSUB (MAP SAME) During execution of the LOAD command, the file named MYPROG TEXT is brought into real storage. The following options are in effect: NOMAP, NOLIBE, NOREP, NOTYPE, INV, AUTO. During execution of the INCLUDE command, the file named MYSUB TEXT is appended to MYPROG TEXT. The following options are in effect: MAP, NOLIBE, NOREP, NOTYPE, INV, AUTO !2!~: After you IPL CMS, at least one LOAD command must be issued before INCLUDE can be used with predictable results. DMSLI07401 EXECUTION BEGINS ••• START was specified with INCLUDE and the loaded program has begun execution. Any further responses are from the program. INVALID CARD - XXX ••• XXX INV was specified with LOAD and an invalid card has been found. The message and the contents of the invalid card (xxx ••• xxx) are listed in the file LOAD MAP. The invalid card is ignored and loading continues. CONTROL CARD - ••• A loader or library-search control statement was encountered (that is, ENTRY or LIBRARY). See the description of the LOAD command for the use of ENTRY and LIBRARY control cards. This response is placed in the LOAD MAP file only. DMSLI0001E DMSLI0002E DMSLI0003E DMSLI0005E DMSLI0021E DMSLI0029E DMSLI0055E DMSLI0056E NO FILENAME SPECIFIED RC=24 FILE 'fn ft' NOT FOUND RC=28 INVALID OPTION 'option' RC=24 NO option SPECIFIED RC=24 ENTRY POINT 'name' NOT FOUND RC=40 INVALID PARAMETER 'param' IN THE OPTION 'option' FIELD NO ENTRY POINT DEFINED RC=40 FILE 'fn ft' CONTAINS INVALID RECORD FORMATS RC=32 Section 7: Format and Usage Rules for CMS Commands RC=24 153 GC20-1804-3 Page Modified by TNL GN20-2659 INCLUDE DM5LI01045 DM5LI01055 DM5LI01095 DM5LIOl165 DM5LI01685 DM5LI01695 DM5LI0201W DM5LI0202W DM5LI0203W DM5LI0206W DM5LI0907T 154 ERROR 'nn' READING FILE 'fn ft fm' FROM DI5K RC=100 ERROR 'nn' WRITING FILE 'fn ft fm' ON DI5K RC=100 VIRTUAL 5TORAGE CAPACITY EXCEEDED RC=104 LOADER TABLE OVERFLOW RC=104 P5EUDO REGI5TlR TABLE OVERFLOW RC=104 E5DID TABLE OVERFLOW RC=104 THE FOLLOWING NAME5 ARE UNDEFINED: RC=4 DUPLICATE IDENTIFIER 'identifier' RC=4 "5ET LOCATION COUNTER" NAME 'name' UNDEFINED RC=4 P5EUDO REGI5TER ALIGNMENT ERROR RC=4 I/O ERROR ON FILE 'fn ft fm' RC=256 IBM VM/370: Command Language Guide for General Users LISTDS LlSTDS Use the LISTDS command to list at your terminal information describing the data sets residing on an OS disk, or the files on a DOS disk. The format of the LISTDS command is: r LISTDS , I 1 I I dsname I L .J ( f m) [ ( 0 Pti 0 n s ••• [) ]] l* J [FORMAT] [PDS 1 ] indicates that you want to enter the OS data set name or DOS file-id from your terminal. If you enter the question mark (1), CMS requests that you enter the OS data set name or DOS file-id exactly as it appears in the data set or file. Do not omit the periods that separate the qualifiers of an OS data set name, but do not insert periods where they do not appear. quall[.quaI2.qualn] where quaIl, qual2, through qualn are qualifiers for the data set name or file-ide Using this form, you can specify data set names or file-ids that contain embedded special characters such as blanks and hyphens. - dsname is the OS data set name or DOS file-id and takes the form: quall[ qual2 qualn] where quaIl, qual2, through qualn are the qualifiers for the data set name or file-ide Each qualifier must not exceed 8 characters and must be separated from other qualifiers by blanks, not periods. (This form can be used for DOS file-ids only if they comply with the OS naming convention of one- to eight-byte qualifiers separated by periods, to a maximum of 44 characters, including periods.) For example, for an OS data set or DOS file named MY.FILE.IN, you enter: LISTDS MY FILE IN fm is the filemode of the data set or file being listed. * indicates that you want the data set name (or file-id) and filemode listed for all of the data sets (or files) on all of the OS or DOS disks currently accessed. section 7: Format and Usage Rules for CMS Commands 155 GC20-1804-3 Page Modified by TNL GN20-2659 LISTDS FORMAT FO displays the date, disk label, file.ode, and data set name for the OS data set as well as the REeFM, LRECL, BLKSIZE, and DSORG operands. For a DOS file, LISTDS displays the date, disk label, filemode, and file-id, but gives no information about the RECFM, LRECL, and BLKSIZE operands (two blanks appear for each); DSORG is always PS. PDS displays the member names of references Access Method (PAM) data sets. to OS Partitioned The following is an example of LISTDS with the FORMAT and and the output resulting from the command. PDS options listds d (fo pds) RECFM LRECL BLKSI 80 800 FB MEMBER NAMES: ABEND ATTACH FIND PUT RECFM LRECL BLKSI 80 80 F DSORG DATE PO 01/31/75 LABEL OSSYSl FM D DATA SET NAME SYS1.MACLIB BLDL BSP READ WRITE DSORG DATE PS 01/10/75 DETACH DCB CLOSE XDAP LABEL FM DATA SET NAME SAMPLE OSSYSl D DEVTYPE DMSLDS220R ENTER DATA SET NAME: The LISTDS command with the? operand was issued. Enter an OS data set name in the form quall.quaI2.qualn; where quaIl, qual2, through qualn are the qualifiers of the OS data set name. DMSLDS002E DMSLDS003E DMSLDS048E DMSLDS069E DMSLDS221E DMSLDS222E DMSLDS223E DMSLDS231E 156 DATA SET NOT FOUND RC=28 INVALID OPTION 'option' RC=24 INVALID MODE 'mode' RC=24 DISK 'mode' NOT ACCESSED RC=36 INVALID DATA SET NAME RC=24 I/O ERROR READING 'data set name' FROM OS DISK RC=28 NO FILENAME SPECIFIED RC=24 I/O ERROR READING VTOC FROM ••• -DISK (OS) RC=28 IBM VM/370: Command Language Guide for General Users LISTPILE LISTFILE Use the LISTPILE co.mand to obtain specified information about your CftS files residing on accessed disks. The information mav be either displayed at the terainal or used to create a special EIEC file on disk. 111 operands are optional; if no operands are specified, a list of default information about each file on your primary read/write disk is displayed at the terminal. The format of the LISTPILE command is: Listfile r r r ", L L L ~~~ Ifn 1ft Ifalll 1* I * I * III option§: r [(options ••• [)]] , r , IHeader I IIOHeaderl IExec I I APpend I L L .I ~ r , IPlame I IPType I I Pft 2 de I IPOrmatl IILloc I I Date I ILabel I L .I fn is the filename of the files collected. If an asterisk filenaaes are used. for which information is to be is coded in this field, all ft is the filetype of the files collected. If an asterisk filetypes are used. for which inforaation is to be is coded in this field, all fm is the filemode of the files for which information is to be collected. If this field is oaitted, only the priaary disk is searched. If an asterisk is coded, all disks are searched. lote: An asterisk (*), iaaediately preceded by any nuaber of characters for fn or ft, searches for the specified characters as the leading characters for that identifier. Por example, LISTPILE IBC* ISSE!BLE prints the identifiers for all ISSE!BiE files with filenaaes beginning with IBC. BEIDER includes coluan headings in the listing. BEIDER is the default if any of the "Suppleaental Information" options are specified. The for.at of the heading is: PILEII!E PILE TYPE Pft PORftAT RECS BLOCKS DITE TlftE LIBEL SOHEIDER does not include column headings in the list. IOHEIDER is the default if only filenaae, filetype, or fileaode information is requested. section 7: Poraat and Usage Rules for CftS Coaaands 157 LISTFILE EXEC creates a file of 80-character records (one record for each of the files which satisfies the given file identifier) on the priaary disk. The file that contains these records is called CftS EXEC Al. If a file with this name already exists, the existing one is erased and a new one is created (unless the APPEND option is specified, in which case the existing file is retained and the new entries are appended to it). The EXEC procedure thus created contains two symbolic variables, &1 and &2. This CftS EXEC file is used with the EXEC command, but it can also be processed as any other file (that is, printed, displayed, edited, added to, changed, and so forth). The header is not included in the file. APPEND appends the EXEC list created to the existing CftS EXEC Al file. If the EXEC option is specified instead of APPEND, any existing CftS EXEC file is erased and replaced by the file created by this LISTFILE command. If this option is specified and no CftS EXEC file exists, one is created. In!Q£~ati2~ Reque~! gptions Only one of these options need be specified. If one is specified, any options with a higher priority are also in effect. If none of the following options are specified, the default information request options are in effect. FNAftE creates a is 1. list containing only filenames. FTYPE creates a list containing only option priority is 6. FftODE creates a list containing filenames, filemodes. option priority is 5. PORftAT includes the record format and logical record length of the of each file in the list. option priority is 4. ALLOC includes the amount of disk space that CftS has allocated to the specified file in the list. The quantities given are the number of 800-byte blocks and the number of logical records in the file. Option priority is 3. DATE includes the date the file was The fora of 'the date is: month/day/year Option priority filenames and filetypes. filetypes, last written in and the list. hour:ainute Option priority is 2. LABEL 158 includes the label of the disk on which the file resides in the list. Option priority is 1. IB! V!/310: Comaand Language Guide for General Users LISTFILE LISTPILE * ISSEftBLE * (LIBEL) LABEL is the lowest priority option; therefore, all other options are also in effect. III information about the files with a filetype of ISSEftBLE is displayed at the ter.inal. The header is displayed because LABEL is a supplemental information option. The following is displayed at the terminal: PILEllftE PILETYPE Pft PORftlT RECS BLOCKS DITE TIftE LIBEL r , fn ISSEftBLE IPI fa IVI lrecl norecs noblks am/dd/yy hh:m .. volid L ~ One entry is displayed for each file with a filetype of ASSEftBLE. fn is the filename of the file. ISSEftBLE is the filetype specified in the command. fm is the file.ode of the file. r , IPI IVI L is the file for.at: P V = fixed length = variable length ~ record length of the largest record in the lrecl is the logical file. norecs is the nu.ber of logical records in the file. Dobiks is 1:ne Du.ber of physical blocks disk • • m/dd/yy is the date (month/day/year) that the file was created. hh:.m is the tiae (hours:minutes) that the file was created. volid is the volume serial number of the file resides. If the EXEC option is not displayed at the terminal. specified, the that the file occupies on the virtual disk on which requested information section 7: Pormat and Usage Rules for CftS Com.ands is 159 LISTFILE DftSLST002E DftSLST003E DftSLST037E DftSLST048E DftSLST066E DftSLST069B DftSLST070E DftSLST105S FILE lOT POUID RC=28 IIVILID OPTIOI 'option' RC=24 DISK '.ode' IS REID/OILY RC=36 IIVILID ftODE '.ode' RC=24 'option' and 'option' IRE COIPLICTIIG OPTIOIS RC=24 DISK '.ode' lOT ICCBSSID BC=36 INVILID PIRlftETEB 'para.' RC=24 BRROR Inn' iRITIIG PILI 'fn ft f.' 01 DISK BC=100 lote: You can invoke the LISTPILE co •• and fro. the ter.inal, fro. an iXIC file, or as a function fro. a progra •• If LISTPILI is invoked as a function or fro. an EIIC file that has the SCOITROL IOftSG option in effect, the DftSLST002E PILI lOT POUID error .essage is not issued. 160 IBft Vft/370: Co •• and Language Guide for General Users lOAD LOAD Ose the lOAD com.and to read one or more TEXT files '(containing relocatable object code) from disk and to load them into virtual storage, establishing the proper linkages between the files. !2te§: 1. The lOAD file. 2. command requires a read/write A-disk to contain a work If you are loading a program into the transient area see Note 2 for the GENMOD co •• and. The format of the lOAD command is: .-- LOAD fn ••• [ (options ••. [) ]] r , r , y Q£!~Q~§: IClEAR I ~RESET {en;r }: r I!Q£b~!RI L i '1 I~Jf I INOMAPI L I .J , Ibl~~ I IBOlIBEI [START] .J L L-____________________ fn ••• , I!Ql!f~1 L .J r L .J r ITYPE , , 10RIGIN {heXlOC}1 I TRANS I L .J .J ... II!! I INOINVI r I!!~~ , I INOREPI IJ!!l.Q I IBOAOTOI L .J L .J L r I~!!f , r , .J I INODOPI L J specifies the names of the files to be loaded into storage. The files must have a filetype of TEXT and consist of relocatable object code such as that produced by the language processors. !Q!~: If you have a program that issues a dynamic load command (OS SVC 8) for a subroutine that (1) is a CSECT in a CMS text library member and (2) contains VCONs· for entry points not in the same member, that subroutine must be explicitly loaded with the program that uses it. Otherwise, the entry point returned by the CMS lOAD command is unpredictable. If conflicting effect. options are specified, the last one CLEAR clears the load area in storage to binary object files are loaded. !Q~b~!!! does not clear the load area before loading. entered is in zeroes before the RESET { en ;ry} sets the starting location for the programs currently loaded. The operand, entry, must be an external name (for example, section 7: Format and Osage Rules for CMS Commands 161 GC20-1804-3 Page Modified by TNL GN20-2659 LOAD CSECT or ENTRY) in the loaded programs. If RESET is not specified, the default entry point is either (1) the entry point of the first file loaded, (2) the address on an END card, (3) the location of a name occurring on an LOT card, or (4) the location of the operand on an ENTRY statement. If is entered the results are the same as if the RESET option were omitted. * ORIGIN hexloc } { TRANS loads the program beginning at the location specified by hexloc; this location must be in the CMS nucleus transient area or in the user area. The location, hexloc, is a hexadecimal number of up to eight characters. If TRANS is specified, the file is loaded into the CMS nucleus transient storage locations. If this option is not specified, loading begins at the first available user storage location. !g!~: Any program loaded into the starting address of X'EOOO'. ~~R creates the file LOAD MAP on the primary disk. NOMAP does not create the file LOAD MAP. TYPE displays the LOAD MAP file at the terminal. valid only if the MAP option is in effect. !Q1!f~ does not display the LOAD MAP file at the terminal. l!Y includes the invalid card images in the LOAD MAP file. NCINV does not file. B~R includes the replace statements in the LOAD MAP file. NCREP does not include file. include the invalid card the searches your virtual undefined references. 162 transient area must have a images in replace statements disks for This option is TEXT in files the LOAD the LOAD to MAP MAP resolve NOAUTO suppresses automatic searching for TEXT files. 11]~ searches the text libraries for missing subroutines. If text libraries are to be searched for TEXT files, they must previously have been defined by a GLOBAL command. NCLIBE does not search references. START executes the program l:eing loaded when loading is completed. LOAD does not normally begin execution of the loaded files. To begin execution immediately upon successful completion of the text lil:raries for IBM VM/370: Command Language Guide for General Users unresolved LOID loading, STIRT can be specified. LaID then transfers control to an entry point in the program. The default entry point is (1) the address. specified in the operand field of the first EID statement containing a non-blank operand field, (2) the address of a name on an LDT statement, (3) the beqinninq of the first file loaded (if all EID state.ents in-the TEXT files contain blank operand fields), or (4) the EITRY specified. displays warning messages at your terminal when a duplicate CSBCT is encountered during process~ng. The duplicate CSECT is not loaded. NODUP does not display warning messages at your terminal duplicate CSECTS are encountered during processing. duplicate CSECT is not loaded. PILES CREITED BY THE temporary-Vorkfile:--- 12!R ~Q~~!!R: The LOID command produces when The one DMSLDR SYSUTl This temporary work file is placed be available. on the read/write I-disk, which must LOID MIP FILE: Unless the IOMIP option is specified, a load map is created-on--the primary disk each time the LOID command is issued. I load map is a file that contains the location of control sections and entry points of files loaded into storage. It may also contain messages and card images for invalid cards or replace cards that exist in the loaded files. This load map is normally created as a file with the file identification LOID MIP. Only one such file may exist on the primary disk. Each time LaID is issued, a new LOID MIP file replaces any previous LaID MIP file. If invalid card images exist in the file or files that are being loaded, they are listed with the message INVILID CIRD in the LaID MIP file. To suppress this listing in the load map, the BOIBV option must be specified. If replace (REP) statements exist in the file being loaded, they are included in the LOID MIP file. To suppress this listing of REP statements, the IOREP option must be specified. DUPLICITE CSECTS: Duplicate CSECTs (control sections) are bypassed by the loader:--Cnly the first CSECT encountered is physically loaded. The duplicates are not loaded. I warning message is displayed at your terminal if· you specified the DUP option. 1Q!R~~ CO!IjQl ~TITEM~!I2: .Five types of control statements can be added to a TEXT file. These are the set location counter (SLC), the include control section (ICS), the replace (REP), the ENTRY, and the LIBRIRY statements. These are used to set the virtual storage location where the LaID command begins placing the file, to make corrections and additions to the relocatable object code in virtual storage once the file is loaded, to specify entry points, and to specify references that are not to be resolved. These statements can be added to the TEXT files already punched and can then be read back in, or they can be added using the EDIT command. section 7: Format and Usage Rules for CMS Commands 163 LOAD set Location counter (~1f) ~tgt~~~t: The SLC statement sets the Iocatlon-cQunter--used with the loader. The file loaded after the SLC statement is placed in virtual storage beginning at the address set by this SLC statement. The SLC statement has the format shown in Figure 22. It sets the location counter in one of three ways: 1. with the absolute virtual address specified as a hexadecimal number in columns 7-12. 2. with the symbolic address already defined as a entry point. This is specified by a symbolic columns 17-22. 3. If both a hexadecimal address and a symbolic name are specified, the absolute virtual address is converted to binary and added to the address assigned to the symbolic name; the resulting sum is the address to which the loader's location counter is set. For example, if 0000F8 was specified in columns 7-12 of the SLC card image and GAMMA was specified in columns 17-22, where GAMMA has an assigned address of 006100 (hexadecimal), the absolute address in columns 7-12 is added to the address assigned to GAMMA g1v1ng a total of 0061F8. Thus, the location counter would be set to 0061F8. program name name punched or in If there are blanks in both columns 7-12 and 17-22, or the symbolic name has not yet been defined, the response INVALID CARD xxx ••• xxx is displayed or, depending on the option (NOINV or INV) ~pecified, is written in the LOAD MAP file. If only the symbolic address is to be used, columns 7-12 must be left blank or be all zeros. If only the absolute address is to be used, columns 17-22 must be left blank. Column 1 contents Load control statement identification (12-2-9 punch). Identifies this as a statement acceptable to the loader. SLC -- identifies the type of load statement. ~6 Blank. 7-12 Hexadecimal address to be added to the value of the symbol, if any, in columns 17-22. It must be right-justified in these columns, with unused leading columns filled with zeros. 13-16 Blank. 17-22 Symbolic name whose assigned location is used by the loader. Must be left-justified 'in these columns. If blank, the address in the absolute field is used. 23 Blank. 24-72 May be used for comments or left blank. 73-80 Not used by the loader. You may leave these columns blank or insert program identification for your own convenience. Figure 22. 164 SLC Statement Format IBM VM/370: Command Language Guide for General Users LOAD ~~ader I~~miBg!~ (~RI) ~tal~~~~l: The LDT statement is used in a text library as the last record of a member. It indicates to the loader that all records for that meaber were processed. The LDT statement can contain a name to be used as the entry point for the loaded member. The LDT statement has the for.at shewn in Figure 23. r------------------------------------------------------------------------, Coluan contents 1 Load control statement identication (12-2-9 punch) • Identifies this as a statement acceptable to the loader. 2-4 LDT -- identifies type of statement. 5-16 Bot used. 11-24 Blank or entry name (left justified padded with blanks to 8 characters). 25-80 Not used. Pigure 23. LDT statement Poraat !~~lud~ ~~B!~~l ~ect~~~ (!£~) ~ta!~B!: The ICS state.ent changes the length of a specified control section or defines a new control section. It should be used only when REP statements cause a control section to be increased in length. The format of an ICS state.ent is shown in Figure 24. An ICS statement must be placed at the front of the file or TEXT file. Column 1 contents Load control statement identification (12-2-9 punch). Identifies this as a statement acceptable to the loader. 2-4 ICS -- identifies the type of load statement. 5-16 Blank. 11-22 Control section name -- left-justified in these columns. 23 Blank. 24 , 25-28 29 (coama). Bexadecima~ length in bytes of the control section. This must not be less than the actual length of the previously specified control section. It must be right-justified in these columns with unused leading columns filled with zeros. Blank. 30-12 Bay be used for comments or left blank. 13-80 Bot used by the loader. You may leave these columns blank or insert prograa identification for your own convenience. Pigure 24. ICS statement Pormat section 1: Format and Usage Rules for CftS Commands 165 LOAD ReE!!£~ (!JR) ~tat~~!: A REP statement allows instructions and constants to be changed and additions aade. The REP state.ent aust be punched in hexadecimal code. The format of a REP statement is shown in Figure 25. The data in coluans 11-10 (excluding the comaas) replaces what has already been loaded into virtual storage, beginning at the address specified in coluans 1-12. REP stateaents are placed in the file either (1) immediately preceding the last stateaent (EID stateaent) if the text deck does not contain relocatable data such as address constants, or (2) iaaediately preceding the first RLD (relocatable dictionary) stateaent if there is relocatable data in the text deck. If additions made by RBP statements increase the length of a control section, an ICS statement, which defines the total length of the control section, must be placed at the front of the deck. Column Contents Load control statement identication (12-2-9 punch). Identifies this as a stateaent acceptable to the loader. 1 2-4 REP -- identifies the type of load stateaent. 5-6 Blank. 1-12 Bexadeciaal starting address of the area to be replaced as assigned by the assembler. It must be right-justified in in these columns with unused leading columns filled with zeros. 13-14 Blank. 15-16 BSID (Bxternal Symbol Identification) -- the hexadecimal number assigned to the control section in which replacement is to be made. The LISTING file produced by the compiler or assembler indicates this number. 11-10 A aaximua of 11 four-digit hexadeciaal fields, separated by coamas, each replacing one previously loaded halfword (two bytes). The last field must not be followed by a coama. 11-12 Blank. 13-80 Not used by the loader. This field aay be left blank or prograa identification may be inserted. Figure 25. REP Statement Format ENTRY Statement: The BITRY statement specifies the first instruction to be-executed:--It can be placed before, between, or after object modules or other control stateaents. The foraat of the ENTRY statement is shown in Figure 26. The external name is the name of a control section or an entry name in the input deck. It must be the naae of an instruction, not of data. EBTRY Figure 26. 166 external name BBTRY Statement Format IBM VM/310: Co.mand Language Guide for General Users LOAD The loader selects the entry point for the to the following hierarchy: loaded program according 1. From the parameter list on the START command. 2. Prom the entered. 3. Prom the last EITRY statement in the input. 4. From the last LDT statement in the input. 5. Prom the first asseabler- or compiler-produced END statement that specifies an entry point if no ENTRY statement is in the input. 6. Prom the first byte of the first control section of the loaded program if there is no ENTRY statement and no assembler- or compiler-produced EID statement specifying an entry point. Por example: last RESET operand in the LOAD or INCLUDE command EITRY GO where GO is defined as the external name of the first instruction to be executed when the program is loaded. The address of the instruction, indicated by the symbolic name GO, is specified by the loader as the starting point of the program when it is executed. LIBRARY Statement: The LIBRARY statement can be used to specify the never=calr-functIon. The never-call function (indicated by an asterisk, *, as the first operand) specifies those external references that are not to be resolved by the automatic library call during any loader step. It is negated when a deck containing the external name referred to is included as part of the input to the loader. The format of the LIBRARY statement is shown in Pigure 27. The external reference refers to an external reference that may be unresolved after input processing. It is not to be resolved. Multiple external references within the parentheses aust be separated by commas. The LIBRARY statement can be placed before, between, or after object decks or other control statements. LIBRARY Pigure 27. LIBRARY * (external reference) LIBRARY Statement Format * (SINE) The * specifies the never-call function. SINE is an external reference in the output. As a result, if SINE is unresolved after input processing, no automatic library call is made. section 7: Pormat and Usage Rules for CMS Commands 167 LOAD DftSLI01401 EIECUTIOI BEGIIS ••• START was execution. specified with LOAD and the loaded progra. Any further responses are fro. the progra •• starts IIVALID CARD - xxx ••• xxx IIV The are and was specified with LOAD and an invalid state.ent was found. aessage and the contents of the invalid state.ent (xxx ••• xxx) listed in the file LOAD ftAP. The invalid state.ent is ignored loading continues. COITROL CARD A loader or library-search control state.ent (that is, IITRY or LIBRARY) was encountered. This response is placed in the LOAD !AP file. D!SLI00011 D!SLI0002E D!SLI0003E D!SLI0004E D!SLI0005E D!SLI0021B D!SLI0029E D!SLI0055B D!SLI0056E D!SLI0104S D!SLI0105S D!SLI0109S D!SLI0116S D!SLI0168S D!SLI0169S D!SLI0201W D!SLI0202W D!SLI0203W D!SLI0206i D!SLI0901T 168 10 FILIIA!E SPBCIFIED RC=24 FILE 'fn ft' lOT FOUID RC=28 IIVALID OPTIOI 'option' RC=24 EITRY POIIT 'na.e' lOT FOUID RC=40 10 option SPECIFIED RC=24 BITRY POIIT 'na.e' lOT rOUID RC=40 IIVALID PARA!ETER 'para.' II THE OPTIOI 'option' FIBLD 10 BITRY POIIT DBFIIBD RC=40 rILE 'fn ft~ COITAIIS IIVALID RECORD rOR!ATS RC=32 BRROR Inn' RBADIIG FILB 'fn ft f.' rRO! DISK RC=100 ERROR Inn' WRITIIG FILl 'fn ft f.' 01 DISK RC=100 VIRTUAL STORAGB CAPACITY EICBBDED RC=104 LOADIR TABLE OVERPLOW RC=104 PSBUDO REGISTEB TABLB OVBRFLOW RC=104 ISDID TABLE OVBRFLOW RC=104 THI POLLOWIIG IA!BS IRI UIDBPIIBD: RC=4 DUPLICATE IDEITIFIBR 'identifier' RC=4 "SBT LOCITIOI COUlTER" II!B 'na.e' UIDBFIIBD RC=4 PSBUDO RBGISTBR ALIGI!EIT BRROR RC=4 I/O ERROR 01 PILB 'tn ft f.' RC=256 IB! V!/310: Co •• and Language Guide tor General Users RC=24 GC20-1804-3 Page Modified by TNL GN20-2659 LOADMOD LOADMOD Use the LOADMOD command to bring a disk file into storage. The file must be in absolute core-image format as created by the GENMOD command. The format of the LOADMOD command is: I LOADMod fn [ft fm] L fn is the filename of the file to be loaded into storage. ft is the filetype of the filetype must be MODULE. fm is the filemode of the module to be loaded. file to be loaded. If supplied, the If filetype and file mode are not supplied, the standard order of search is used to locate a file with the specified filename and a filetype of MODULE. DMSMOD001E DMSMOD002E DMSMOD032E DMSMOD037E DMSMOD040E DMSMOD070E DMSMCD104S DMSMOD109S DMSMOD116S NO FILENAME SPECIFIED RC=24 PILE 'fn ft' NOT FOUND RC=28 INVALID FILETYPE 'ft' RC=24 DISK 'mode' IS READ/ONLY RC=36 NO FILES LOADED RC=40 INVALID PARAMETER 'param' RC=24 ERROR Inn' READING FILE 'fn ft fm' FROM DISK VIRTUAL STORAGE CAPACITY EXCEEDED RC=104 LOADER TABLE OVERFLOW RC=104 RC=100 Section 7: Format and Usage Rules for CMS Commands 169 81CLIB MACLIB Use the 81CLIB coaaand to create and aodify .acro libraries. A .acro library consists of aeabers (.aero definitions) and a dictionary which contains the naae of the .aero (aeaber naae), its size, and its location relative to the beginning of the library. The B1CLIB coa.and checks only the aacro definitions of B1CRO and 8BID state.ents for errors. The for.at of the BACLIB co•• and is: 8AClib GEl ADD REP libnaae fn1 [fn2 ••• ] DEL libnaae .e.berna.e1 [.e.bernaae2 ••• ] C08P libna.e 81P libnaae [ (options ••• [) ]] option,!: r , ITBR8 I IDI.§! I I PRIIT I L ~ GEl generates a C8S .acro library. ADD adds ae.bers to an existing .acro library. RBP replaces existing .e.bers in a .acro library. DBL deletes .e.bers fro. a .acro library. C08P co. pacts a .aero library. 8AP lists certain infor.ation about the .e.bers in a .aero library. lvailable infor.ation includes .e.ber na.e, size, and location relative to the beginning of the library. libna.e is the filena.e of a .acro library. If the file already exists, it .ust have a filetype of BACLIB; if it is being created, it is given a filetype of 81CLIB. fn1 [fn2 ••• ] are the na.es of the .acro definition files to be used. A .acro definition file .ust reside on a CBS disk and its filetype .ust be either BACRO or COPY. Bach file .ay contain one or .ore .acros and .ust contain fixed-length, SO-character records. In a 8ACRO file, the .acro na.e is taken fro. a prototype state.ent within the .acro. If the filetype is COpy and the file contains .ore than one .acro, each .acro .ust be preceded by a control stateaent of the following for.at: 170 IB8 Y8/370: Co•• and Language Guide for General Users !ICLIB *COPY membername The name on the control statement is the name of the macro when it is placed in the macro library. If there is only one _acrQ in the COpy file and it is not preceded by a COpy control statement, its name (in the macro library) is the saae as fn. If there are several macro definitions in a COpy file and the first one is not preceded by a COpy control statement the entire file is treated as one macro. ae.berna.el ••• is the naae of a macro which exists in a macro library. is the device to contain the output generated by the !IP function. Yalid device names are DISK (disk file), PRINT (virtual spooled printer), and TIR! (terminal). If no device is specified, DISK is assumed. Since these are the only options allowed in the !ICLIB command, only the first word after the left parenthesis is exaained. If the DISK option is specified, the information is written to a file named 'libname !IP 11'. If a file with that name previously existed it is replaced by the new file. TIR! R~! PRINT The following coamand. paragraphs describe each of the functions of the !ICLIB The GEN (generate) function creates a new C!S macro library with the filename and filetype you specify on the !ICLIB co.aand. If a macro library with the saae filenaae already exists, it is erased and replaced by the new macro library. The new file is created froa input files specified by fni fn2 ••• For exaaple: !ICLIB Gil OS!IC lCCBSS TI!! PUT R!GBOU Creates a new aacro library with the file identification OS!IC !ICLIB from macros existing in the files with the file identifiers: lCCESS {!ICRO}, TI!I {,B1CRO}. PUT {!ICRO} and REGEOU {B1CRO} COpy COpy COpy COpy If a file naaed OS!IC !ICLIB already exists, that file is erased. Assume that the files ACCISS !ICRO, TIBI COPY, PUT B1CRO, and REGBOU COpy exist and contain macros in the following fora. ACCESS !ICRO -----------GIT PUT TI!I COPY ----_ ...--- *COPY TTI!IR TTI!BR *COPY STI!ER STI!BR PUT B1CRO -----~--- PUT REGEOU COpy ----------IRBG YRBG Section 7: Por.at and Usage Rules for C!S Coa.ands 171 MICLIB The resulting file OSftlC MICLIB contains the following members: GET PUT TTIMER STIMER POT REGEQU Bote: The PUT macro, which appears twice in the input to the command, also appears twice in the output. The MICLIB command does not check for duplicate macro names. If, at a later time, the PUT macro is requested from OSMIC MICLIB, the first PUT macro encountered in the dictionary is used. The IDD function appends the members described by files (fnl fn2 ••• ) to an existing macro library. MICLIB IDD Issume that explana tion of' follows. OSMIC the macro definition DCB OSMIC MICLIB was created the GEl function and the by the example in the file DCB COpy exists as *COPY DCB DCB macro definition *COPY DCBD DCBD macro definition The resulting OSMIC MICLIB contains the following members: GET PUT TTIMER STIftER PUT REGEQU DCB DCBD REP (replace) is effectively a delete function followed by an IDD function. REP deletes the dictionary entry for the macro definition in the files specified by fnl fn2 ••• It then appends the new macro definitions to the macro library and creates new dictionary entries. Por example, assume that a macro library MYBIC BICLIB contains the .embers I, B, and C, and that the following command is entered: BICLIB REP BIBIC I C The files represented by file identifiers I BICRO and C BICRO each have one macro definition. lfter execution of the command, BIBIC BICLIB contains members with the same names as before, but the contents of 1 and C are different. 172 IBB VM/370: Command Language Guide for General Users MACLIB The DEt (delete) function reaoves the specified aacro name froa the :acro library dictionary and compresses the dictionary so there are no unused entries. The macro definition still occup1es space in the library, but since no dictionary entry exists it cannot be accessed or retrieved. If you attempt to delete a macro for which two macro definitions exist in the macro library, only the first one encountered is deleted. For example: "ACLIB DEL OSMAC GET PUT TTIMER DCB deletes macro naaes GET, PUT, TTIMER, and DCB from the dictionary of the macro library named OSMAC MACLIE. Assuae that OSMAC exists as in the ADD function example. After the above com.and, OSMAC contains the following members: STIMER PUT REGEQU DCBD Execution of a MACLIB co.mand with the DEL or REP functions can result in unused space within a aacro library. The COMP (compress) function is used to compress a macro library (that is, remove any macros for which there is no dictionary entry). This function uses a temporary data set named MACLIE CMSUT1. For example, the command: MACLIB CaMP MIMAC Compresses the library MIMAC MACLIB. The MAP function creates a list containing the name of each aacro in the dictionary, the size of the macro, and its position within the macro library. Iou can specify the device to which the list is to be written. Acceptable devices are: the list is placed in a 'libnaae MAP Al'. file with the PRlaT the list is spooled to the printer. TERM the list is displayed at the terainal. file identification section 7: Format and Usage Rules for CMS Co.mands 173 KACLIB When the is: !AP operand is specified on the KACLIB co •• and, the response .eaberna.e size location D!SLB!001E NO FILENA!E SPECIFIED RC=24 DKSLB!002E FILE 'fn ft' lOT FOUND RC=28 D!SLB!002W FILE 'fn ft f.' NOT FOUND RC=4 DKSLB!003E IIVALID OPTIOI 'option' RC=24 D! SLB!013 W !E!BER 'name' lOT FOUND IN LIBRARY 'fn ft f.' RC=4 RC=24 DKSLB!014E INVALID FUNCTION 'function' DKSLB!037E DISK 'mode' IS READ/ONLY RC=36 DKSLB!046E NO LIBRARY NAME SPECIFIED RC=24 DMSLB!047E 10 FUICTION SPECIFIED RC=24 DMSLBK056E FILE 'fn ft f.' CONTAINS INVALID RECORD FOR!ATS RC=32 DMSLB!070E INVALID PARAMETER 'param' RC=24 D!SLBM104S ERROR Inn' READING FILE 'fn ft f.' FRO! DISK RC=100 DMSLB!105S ERROR Inn' WRITING FILE 'fn ft f.' ON DISK' RC=100 D!SLBM109S VIRTUAL STORAGE CAPACITY EICEEDED RC=104 LIMIT EICEEDED[, LAST MEMBER NAME ADDED D!SLB!157S !ACLIB '.e.berna.e'] RC=88 D!SLB!167S PREVIOUS !ACLIB FUNCTION lOT FIIISHED RC=88 D!SLB!213W LIBRARY 'fn ft f.' NOT CREATED RC=4 DMSLB!907T I/O ERROR 01 FILE 'fn ft fa' RC=256 174 IB! V!/370: Co •• and Language Guide for General Users WAS ftODftAP MODMAP Use the !ODftAP co •• and to display the load .ap associated with the specified ftODULE file. Two types of modules contain no load map and therefore produce an error .essage when they are specified in a ftODftAP co •• and. They are (1) CftS transient area .odules and (2) ftODULE files created with the GElftOD co ••and using the ROftAP option. The for.at of the ftODftAP co.mand is: ftODmap fn fn is the filename of the ftODULE file whose load .ap is to be displayed. The filetype of the file .ust be ftODULE. The load .ap associated with the file is displayed at the ter.inal. DMSftDP001E DftSftDP002E DftSftDP018E DftSftDP070E 10 PILEIAftE SPECIPIED RC=24 PILE 'fn ft' ROT FOUND RC=28 10 LOAD ftAP AVAILABLE RC=40 INVALID PARAftETER 'para.' RC=24 section 7: Por.at and Usage Rules for CftS Co ••ands 175 "OVEPILE MOVEFILE Use the "OVEPILE command to move data from any device supported by V"/370 to any other device supported by V"1370. The com.and accepts two ddnames as arguments. The PILEDEF command must have specified devices or disk files for these ddnames. The command moves data records froll the device, or file, specified by the first ddname to the device, or file, specified by the second ddname. The format of the "OVEPILE cOllmand is: r "OVEfile r ., ., I!I"O.!~ I outputddnalle I I I I I 10UTMOV! I I L L linputddname I .J [ (PDS[) ]] .J inputddname is the ddname representing the input file definition. If ddname is not specified, the default input filename, INMOVE, is used. outputddname is the ddname representing If ddnalle is not specified, OUTMOVE, is used. PDS the output file definition. the default output filename, moves all of the members of the CMS "lCLIB or TXTLIB or of an OS partitioned data set into separate C"S files, each with a filename equal to the member name and a filetype equal to the filetype of the output file definition (PILEDEP). !2te: Normally, the PILEDEP command is used to establish device characteristics for the ddname specified with the co •• and. If the PILEDEP command was not issued, the OS macro simulation routines supply default characteristics. Por example, if the ddname is X a default PILEDEP X DISK FILE X 11 command is executed. If a record format (RECFM), blocksize (BLOCK), and logical record length (LRECL) are specified on the PILEDEP command, these values are used in the data control block (DCB) defining the characteristics of the move operation. If the FILEDEP was issued without the record format specification, that specification is taken from the default list shown in Figure 28. If the blocksize was not specified, the default blocksize is used. If the logical record length was not specified, the default logical record length is determined as follows: if the record format is F or U, the logical record length equals the blocksize; if the record format is V, the logical record length equals the blocksize minus 4. 176 IB" V"1370: Command Language Guide for General Users MOVEFILE Output ddname Input ddname Device Blocksize RECF! RECFM N12 Blocksize F 80 Card Punch 112 112 F 80 Printer 112 112 U 132 Terminal U 130 U 130 Tape l U 3600 Blocksize of RECFM of input ddname i!lput ddname Blocksize of file RECFM of Blocks ize of input ddnalle input ddname NI2 RECFM of Blocksize of input ddname input ddname Card Reader Disk file Dummy RECFM of file 112 N!2 lIf the default record for.at and blocksize are used in a tape-to-tape move operation and an input record is greater than 36001 bytes, it is truncated to 3600 bytes on the output tape. 1 210t applicable. I ~------------------------------------------------------------------------~ Figure 28. Default Device Ittributes for MOVEFILE COllmand The existing file whose file definition ddname is IEWMIST is the file whose file definition ddname is OLDMIST. moved to MOVEFILE NEW!IST OLDMIST The following sequence of CMS commands move an OS STOW macro file from an OS partitioned data set SIS1.MACLIB or a CMS file SIS1 MICLIB to the eMS file STOW BACRO. ICCESS 195 B/A FILEDEF TEST 1 DISK SIS 1 MICLIB B1 FILEDEF !ACRO DISK STOW MACRO MOVEFILE TEST1 MACRO (MEMBER STOW) The following sequence of CMS commands moves all the members of an OS partitioned data set SIS1.MACLIB or a C!S file SIS1 !ACLIB into separate CMS files each with a filename equal to its member name and a filetype of MICRO. ACCESS 195 B FILEDEF TEST2 DISK SIS1 MICLIB B1 FILEDEF MACRO DISK MOVEFILE TEST2 MACRO (PDS) For more examples of how to move as data sets and DOS files to CMS files using MOVEFILE, see "Using as Programs and !acros under CMS" in section 4. section 7: Format and Usage Rules for CMS Commands 177 MOVEFILE DftSMVE2251 PDS MEMBEB 'membername' MOVED The specified .ember of an as successfully to a CftS file. partitioned data set was .oved DftSftVE2261 EID OF PDS ftOVE The last member of the partitioned to a CMS file. data set was moved successfully DftSftVE7061 TEBM IIPUT -- TYPE lULL LIIE FOB liD OF DATA The input ddname in the MOVEFILE This message requests the input input. command refers to a terminal. data; a null line terminates DftSftVE7081 DISK FILE 'FILE ddname Al' ASSUMED FOB DDIAftE 'ddname' FILEDEF com.and was issued for a ddna.e specified on the ftOVEFILE command. As a result the MOVEFILE issues a FILEDEF for that ddna.e. 10 If the input ddname is undefined, the file must size and record format are taken from this file. exist. The block If the output ddname is undefined, the disk file is created on the A-disk with the same characteristics as those of the input file. DftSMVE002E DftSftVE003E DftSMVE037E DftSftVE041E D!S!VE048E DMS!VE070E DMS!VE073E DMSftVE075E DMS!VE086E DMSMVE127S D!S!VE128S FILE 'fn ft f.' lOT lOUID RC=28 IIVALID OPTIOI 'option' RC=24 OUTPUT DISK -mode' IS BEAD/ONLY BC=36 IIPUT AID OUTPUT FILES ABE THE SAME BC=40 INVALID !ODE -mode' BC=24 IIVALID PABAMETEB 'param' RC=24 UIABLE TO OPEl FILE ddname RC=28 DEVICE 'device name' ILLEGAL paR {IIPUTIOUTPUT} RC=40 IIVALID DDIAME 'ddname' RC=24 UISUPPOBTED DEVICE FOB ddname RC=100 I/O ERROR 01 IIPUT AFTER READIIG nnnn BECORDS: INPUT EBBOR code 01 ddnaae BC=100 D!S!VE129S I/O ERROB 01 OUTPUT WBITING BECORD BUMBEB nnnn: OUTPUT EBROB code 01 ddname BC=100 D!S!VE130S BLOCKSIZE ON V FOR!AT FILE ddname IS LESS THAI 8 BC=88 178 IB! V!/370: Com.and Language Guide for General Users GC20-1804-3 Page Modified by TNL GN20-2659 PRINT PRINT Use the PRINT command to print a CMS file on the spooled virtual 1403 or 3211 printer. The file may contain carriage control characters and may have either fixed- or variable-length records, but no record may exceed 132 characters for a 1403 or 150 characters for a 3211. There are two exceptions to this: 1• If the CC option is in character longer (133 or character. effect, the record length can be one 151) to allow for the carriage control 2. If the HEX option is in effect, a record of any length printed, up to the CMS file system maximum of 65,535 bytes. can be !Q!~: An option may not be in effect, even though it is specified. See the discussion of the PRINT options for information on overriding options. The format of the PRINT command is: ,.------PRint r fn ft Ifml 1* I L , , [ (options ••• [) ]] .J r .Q.E1,i.Q!!.§: ICC , l!g~~1 L r I [UPCASE] , IMEMBER { m:mbername I L-______.____________________ L L L .J r r , , ILInecoun Innl I I I~~I I }: ..J .J [HEX] I I I I I I I I I I I I .J fn is the filename of the file must be specified. to be printed. This field ft is the filetype of the file must be specified. to be printed. This field fm is the filemode of the file to be printed. If this field is specified as an asterisk (*), the standard order of search is followed and the first file encountered, with the given filename and filetype, is printed. If fm is not specified, the primary disk and its extensions are searched. CC interprets the first character of each record as a carriage control character. If the filetype is LISTING, the CC option is assumed. If CC is in effect, the PRINT command does not perform page ejects or count the number of lines per page; these functions are controlled by the carriage control characters in the file. The LINECOUN option has no effect if CC is in effect. section 7: Format and Usage Rules for CMS Commands 179 GC20-1804-3 Page Modified by TNL GN20-2659 PRINT does not interpret the first character of each record as a carriage control character. In this case, the PRINT command performs the necessary carriage control to eject a new page and print a heading after the number of lines specified by LINECOUN are printed. If NOCC is specified, it is in effect even if CC was specified previously or if the filetype is LISTING. UPCASE UP translates the lowercase uppercase for printing. MEMBER { * } MEM name prints the members of macro or text libraries. This option may be specified if the file is a simulated partitioned data set (filetype MACLIB or TXTLIB). If * is entered, all individual members of that library are printed. If a membername is specified, only that member is printed. HEX prints the file in graphic hexadecimal format. If HEX is specified, the options CC and UPCASE are not in effect, even if specified, and even if the filetype is LISTING. r I~~I PRINT in the file to , LINECOUN Innl L letters .J allows you to set the number of lines to be printed on each page. nn can be any decimal number from 0 through 99 and has a default value of 55. If nn is set to zero, the effect is that of an infinite line count and page ejection does not occur. This option has no effect if the CC option is also specified. MYLIB MACLIB (MEMBER GET) Spools the contents of the member GET in file MYLIB MACLIB to the printer. The first character of each record in the file is not used for carriage control. PRINT OLDMAST NAME (CC) Spools the contents of the file OLDMAST NAME to the printer and uses the first character of each record in the file for carriage control. None. The READY message indicates the command ccmpleted without error (that is, the file is written to the spooled printer). The file is now under the control of CP spooling functions. DMSPRT002E FILE 'fn ft fm' NOT FOUND RC=28 DMSPRT003E INVALID OPTION 'option' RC=24 DMSPRT008E DEVICE 'cuu' {INVALID OR NONEXISTENTIUNSUPPORTED DEVICE TYPE} RC=36 DMSPRT013E MEMBER 'name' NOT FOUND IN LIBRARY RC=32 180 IBM VM/370: Command Language Guide for General Users GC20-1804-3 Page Modified by TNL GN20-2659 PRINT DMSPRT029E DMSPRT033E DMSPRT039E DMSPRT044E DMSPRT048E DMSPRT054E DMSPRT062E DMSPRT070E DMSPRT104S DMSPRT123S INVALID PARAMETER 'param' IN THE OPTION 'option' FIELD FILE 'fn ft fm' IS NOT A LIBRARY RC=32 NO ENTRIES IN LIBRARY 'fn ft fm' RC=32 RECORD LENGTH EXCEEDS ALLOWABLE MAXIMUM RC=32 INVALID MODE 'fm' RC=24 INCOMPLETE FILEID SPECIFIED RC=24 IN FILEID RC=20 INVALID INVALID PARAMETER 'parmi RC=24 ERROR Inn' READING FILE 'fn ft fm' FROM DISK RC=100 ERROR PRINTING FILE 'fn ft fm' RC= 100 RC=24 Section 7: Format and Usage Rules for CMS Commands 180.1 * PUBCH PUNCH Use the PUBCH command to spool a specified CMS disk file to the punch. PUBCH accepts fixed- or variable-length records as long as no record exceeds 80 characters. Records with less than 80 characters are padded with blanks on the right. Records longer than 80 characters are rejected. The format of the PUBCH command is: r PUnch , fn ft Ifml IL * JI [ coptions ••• [) ] ] r "i IHE!~!! I I BOHEADERI L J r , I MEMBER I {*aembername }II L J fn is the filename of the file be specified. to be punched. This field must ft is the filetype be specified. of the file to be punched. This file must fm is the fileaode of the file to be punched. If this field is specified as an asterisk C*), the standard order of search is followed and the first acceptable file encountered is punched. If fm is not specified, the primary disk and its extensions are searched. inserts a control card in the punched output preceding the specified file. This control card identifies the file for a subsequent RB1DCARD co.mand to restore the file to a disk. If the filetype is TITLIB and the MBMBBR aembernaae option is specified, the header card contains TBIT as the filetype. If the filetype is MACLIB and the SEMBER aembername option is specified, the header contains MEMBBR as the filetype. A aacro library member originates fro. a file with a filetype of either MACRO or COPY. The control card format is shown in Pigure 29. BOHEADER IOH MEMBER MEM does not deck. insert a header control card in the punched {*meabername } punches library members. If the filetype is MACLIB or If * is entered, all TITLIB, this option are specified. section 7: Pormat and Usage Rules for CMS Co•• ands 181 PUNCH individual aembers of that aacro or text library are punched. If .emberna.e is specified, only that me.ber is punched. I Humber of I I ColumnlCharacterslContentsl 1 1 2-5 4 RElD 6-7 2 blank 8-15 8 fnalle 16 1 blank 17-24 8 ftype 25 1 blank 26-27 2 fmode 28 1 blank 29-34 6 volid 35 1 blank 36-43 8 44-45 2 46-50 5 51-80 30 Figure 29. PUICH I!eaning IIdentifies card I IIdentifies card I I I IFilename of the I I I Filetype of the as a control card. as a READ control card. file punched. file punched. Filemode of the file punched. Label of the disk froa which the file was read. Imll/dd/yy The date that the file vas last written. I Iblank I The time of day that the file was written Ihh:am to disk. I I Iblank Header Card Format HEWI!lST TRllS (BOH) spools the file IEW!lST TRAIS ta the punch. preceding the output deck. Ho header card is punched lone. If the command completes without error (the file was successfully spooled), the RElDY .essage appears. The file is now under control of CP spooling functions. 182 IBI! 'I!/370: Co •• and Language Guide for General Users PUNCH DMSPUN002E FILE 'fn ft fa' NOT FOUND RC=28 DftSPUN003E INVALID OPTIOW 'option' Rr=?U DMSPUN008E DEVICE 'cuu' {INVALID OR NONEXISTENTIUNSUPPORTED DEVICE TYPE} RC=36 DMSPUN013E MEMBER 'naae' NOT FOUND IN LIBRARY RC=32 DMSPUN033E FILE 'fn ft fm' IS NOT A LIBRARY RC=32 DMSPUN039E NO EITRIES II LIBRARY 'fn ft fm' RC=32 DMSPUN044E RECORD LEIGTH EXCEEDS ALLOWABLE MAXIMUft RC=32 DftSPUN054E INCOftPLETE FILEID SPECIFIED RC=24 DftSPUN062E INVALID * IN FILEID RC=20 DftSPUN104S ERROR 'nne READING FILE 'fn ft fm' FROM DISK RC=100 DftSPUN118S ERROR PUNCHING FILE 'fn ft fm' RC=100 Section 7: Format and Usage Rules for CMS Commands 183 QUERY QUERY Use the QUERY co •• and to gather certain information about the CftS virtual .achine environment. Information which .ay be obtained includes: • The state of any of the virtual aachine characteristics controlled by the CftS SET co •• and. • File definitions (set with the PILEDEP co •• and) which are in effect. • The status of the disks attached to your virtual .achine. The for.at of the QUERY co ••and is: Query BLIP RDYftSG LDRTBLS RELPAGE IftPCP IftPEX ABBREY REDTYPE PROTECT IIPUT OUTPUT SEARCH FILEDEF ftACLIB TXT LIB LIBRARY BLIP displays the BLIP character(s). !.!!!.E~ : BDYftSG BLI P = { xxxxxxxx } OPP displays the RDYftSG format. ~n~!!: RDYftSG = { LftSG } SftSG !ll!!I!: LBSG is the standard CftS READY message: R; T SBSG = 0.12/0.33 17:06:20 is the shortened CftS READY message: H; 184 IBft Yft/370: Com.and Language Guide for General Users which are GC20-1804-3 Page Modified by TNL GN20-2659 QUERY LDRTBLS displays the number of loader tables. ~~§~2~§~: RELPAGE LDRTBLS = nn indicates whether pages of storage are to be released retained after certain commands complete execution. ~~'§~2~'§~: RELPAGE 01 OFF IMPCP = {ON OFF or } releases pages. retains pages. displays the status of implied CP com.and indicator. j~'§EQ~§~: IftPCP = {ON } OFF ON OFF IMPEX passes com.ands not recognized by CftS to CP. flags co •• ands not recognized by CMS. displays status of implied EXEC indicator. = {ON} OFl!' ON OFF ABBREV indicates that EXEC files can be executed by entering the filename of the file. indicates that the EXEC command must be explicitly entered to execute EXEC files. displays the status of the minimum truncation indicator. ~~'§~2~'§~: ABBR!V ON OFF REDTYPE = {ON OFF } accepts minimum truncations for CMS commands. does not accept minimum truncations. displays the status of the REDTYPE indicator. ~~'§EQ~§~: REDTYPE = {ON} OFF ON types CMS error messages in red, for certain terminals equipped with the appropriate terminal feature and a two-color ribbon. Supported terminals are documented in the !~LllQ: I~~~iB~l g§~~~.§ gYig~· OFF does not type CMS error messages in red. Section 7: Format and Usage Rules for CMS Commands 185 QUERY PROTECT displays the status of CMS nucleus protection. ]~§E2g§~: ON OFF INPUT PROTECT = {ON} OFF means CMS nucleus protection is in effect. means CMS nucleus protection is not in effect. displays the contents of your input specified. an If you do not have response is translate table if one is xxn an input translate table in effect, the NO USER DEFINED INPUT TRANSLATE TABLE IN USE OUTPUT displays the contents of your have specified one. ~~§]Qg§~: OUTPUT If you do not response is xx1 a1 xxn an have an output translate table output translate if you table defined, the NO USER DEFINED OUTPUT TRANSLATE TABLE IN USE SEARCH displays the accessible. ~~§]Qg§~: search order volid vaddr mode of all CMS disks currently { R/O} R/i DISK mode displays the status of the single disk represented by 'mode'. ~~§]Qg§~: mode (vaddr): nn FILES, nnnn REC IN USE, nnnn LEFT (OF nnnn), nnl FULL (n CYL), type {R/O} R/i If the disk is an OS-formatted disk, the response is: mode (vaddr): 186 (n CIL), R/O-OS IBM VM/370: Command Language Guide for General Users QUERY If the disk response is with the specified mode is not accessed, the DISK 'mode' NOT ACCESSED DISK * displays the status of all CMS disks. ~~§EQ~§~: same as for QUERY DISK mode; one for each accessed disk. line is displayed SYNORYK SYSTEM displays the CMS system synonyms in effect. System ~QI!~g command Shortest Porm minliUi-truncation If no system synonyms are in displayed at the terminal: effect, the following message is NO SYSTEM SYNONYMS IN EFFECT SYNONYM USER displays user synonyms in effect. Systell User Com.and .§I.!!ony! coiliiind synonym If no user synonyms are in displayed at the terminal: Shortest ~Q!:LJ!t_~~Il minimum truncation effect, the following message is NO USER SYBOBYMS IN EPFECT SYNONYM ALL displays all synonyms in effect. ~~§EQ~§~: PILEDEP Same as SYNONYM SYSTEK and SYNONYM USER. displays all file definitions in effect. R~§EQ~§~: ddnalle device [fn [ft]] If there are no user file definitions in effect, the following message is displayed at the terminal: NO USER DEFINED PILEDEP'S IN EFPECT section 7: Pormat and Usage Rules for CMS Commands 187 QUERY displays the names of all files with a filetype of which are to be searched for macro definitions. ftlCLIB !~£2B2~: ftlCLIB ftlCLIB = libname ••• If no macro libraries are definitions, the response is: to he searched for macro IUCLIB = BOBE displays the na.es of all files with a filetype of which are to be searched for unresolved references. TITLIB TXTLIB If no TITLIBs are to be searched for unresolved references, the following message is displayed at the terminal: TITLIB = RORE displays the name of all macro and text library (files with filetypes ftlCLIB and TITLIB) which are to be searched. LIBR1RY !~.2£2'!!§~: ftlCLIB = {libnaIBe ••• } NONE TXTLIB = { libnaae ••• } NOIE DftSQRYOOSE DftSQRY014E DftSQRY026E DftSQRY047E DftSQRY070E 188 10 'option' SPECIFIED RC=24 INV1LID FUNCTION 'function' RC=24 IIV1LID P1RlftETER 'para.' FOR 'function' FURCTIOR 10 FUICTION SPECIFIED RC=24 IBV1LID P1RlftETEB 'paras' RC=24 IBft V8/370: Command Language Guide for General Users RC=24 REAOCARO READ CARD Use the REAOCARO command to read data records from the virtual card reader (spool input device) and to create files on disk containing the data records. The data records must be fixed length and normally contain 80 characters, although they may contain up to 151 characters. Records less than 80 characters long cannot be read. If a file exists on disk with the same identifiers as the one to be created, it is erased. Any number of files may be entered through the card reader, each immediately preceded by a READ control card specifying the filename, filetype, and optionally the filemode. The RlAO control card is shown in Figure 30. The header card supplied when HEADER is specified with the eMS PUNCH command is a valid READ control card. All files that are logically grouped together must have the same record length. The READ control cards are displayed at the terminal as they are encountered, and interpreted just as if filename and filetype had been entered from the terminal. Each READ control card ends the preceding file, and the reader end-of-file indication ends the last file. Your files must be spooled to the virtual reader before a READCARD command can be issued. You can send your real card deck to your virtual card reader using the CP 10 card in front of your real card deck. This card takes the form: r , ID } userid I CLASS c I NAME {fn ft } { USERID I~LA~~ AI dsname L ~ keyword is a userid is the user's identification (userid), liaited characters. CLASS c is the optional class field. class A is the default. NAftE {fn ft } dsname is the name field. If the first fora is specified, the filename and filetype are each limited to eight characters. The filenaae and file type aust be separated by a blank. If the second form is used, the dsnaae field is liaited to 24 characters. that must begin column ID USERID in one. to eight If CLASS is not specified, Note: Only the CLASS n operand is optional. All fields must be separated by at least one blank. The keyword 10 or USERID must start in column one. You need not be logged on at the tiae the decks are transferred to your virtual reader. If aore than one file is spooled to the virtual reader, more than one READCARD comaand must be issued to process all the logical files. If SPOOL RDR CO NT is issued, all the logical files in the virtual reader are treated as a single file. Again, the files that are treated as one must all have the saae record length. The format of the READCARD command is: section 7: Format and Usage Rules for CftS Commands 189 RE1DC1RD RE1Dcard r , L J r " L JJ fn ft I fm I I A I r * I I L * I fm II 11 II fn is the filename of the file to coded in this field. be read. In asterisk may be ft is the filetype of the file to be read. In asterisk coded in this field if fn was coded as an asterisk. may be fm is the filemode of the file to be read. If this field is omitted or specified as an asterisk (*), 1 is assumed. Whenever a mode number is specified on the command line, it is used. Otherwise, the mode number on the REID control card is used to create the disk file. RE1DC1RD ftY1ILE lSSEftBLE If filenaae and filetype are specified with the RE1DC1RD co •• and, only one file is read. The REID control cards are ignored. RE1DC1RD * If the file identification is to be entered in the card stream, a single asterisk must be specified with the R!ADCARD command. If this for. of the co.mand is specified, and the first card in the input stream is not a valid REID control card, a file named RE1DCARD CftSUT1 11 is set up to contain all data read until a valid REID control card is encountered. If fn ft f. was specified, the file is written on the specified disk with a mode number matching the file.ode number from the control card. If the filemode number is specified, that number is used. If filemode is omitted, 1 is assumed. RE1DC1RD ** Two asterisks accept the filename, filetype, and filemode the REID control card, but use a file.ode letter of 1. RE1DCARD ** number from B1 Two asterisks with a mode specified accept the filename and filetype identifiers from the REID control card, but use the filemode specified. Whatever is specified on the RE1DC1RD command line is used. Whatever is not specified is taken fro. the REID control card, except the filemode letter, which defaults to A. If there is no REID control card, a REID control card :RB1D RE1DC1RD CftSUT1 11 is assumed. 190 IBft Yft/370: Command Language Guide for General Users REIDCARD INumber of I I Column ICharacters I Contents I 1 1 2-5 4 READ 6-7 2 blank 8-15 8 fn 16 1 blank 17-24 8 ft 25 1 blank 26-27 2 fa 28-80 53 Meaning Identifies card as a control card. Identifies card as a READ control card. Filename of the file. Filetype of the file. Filemode of the file. anything Figure 30. Format of the RBAD Control Card After the comaand READCIRD * is issued, control cards encountered in the input card stream are displayed at the terminal. DMSRDC7011 NOLL PILB The spooled card card. reader DMSRDC7021 RBAD COITROL CIRD REIDCIRD CftSOT1 A1 contains no IS ftISSIIG. records after the POLLOWIIG control ASSUftED: The first card in the deck is not a READ control card. the file RBADCIRD CftSUT1 A1 is created. READ Therefcre, DftSRDC7381 RECORD LBIGTH IS 'nnn' BYTBS The records the length. being read are not 80 bytes long; this When a READCIRD control card is encountered, the first 72 card are displayed at the terminal.' message gives coluans of a DftSRDC008E DBVICE 'cuu' {INVALID OR NONEXISTENTIUNSUPPORTED DEVICB TYPB} RC=36 DftSRDC042E 10 FILEID SPECIFIED RC=24 DMSRDC054B IICORRECT FILBID SPBCIFIBD RC=24 DMSRDC062E INVILID * II FILBID RC=20 DMSRDC105S BRROR Inn' WRITIIG PILB 'fn ft f.' 01 DISK RC=100 DftSRDC124S BRROR RBIDING CARD FILE RC=100 DMSRDC205W RBADBR BftPTY OR lOT RIADY RC=8 Section 7: Format and Usage Rules for CftS Coa.ands 191 RELEASE RELEASE Use the RELEASE co •• and to free an active disk when it is no longer needed. An ACCESS com.and must have been previously entered for the specified disk. The for.at of the RELEASE command is: I I II RELease cuu I ,I cuu } { mode is the virtual released. device address of the disk that is to be Bote that 000 is not a valid address. mode is the .ode of the disk to be released. Note: If a disk is accessed more than once, the RELEASE cuu co ••and releases all instances of cuu. The system disk cannot be released. DftSARE017E DftS1RE028E DftSARE048E DftSARE069E DftSARE070E 192 INVALID DEVICE ADDRESS 'cuu' RC=24 BO DEVICE SPECIPIED RC=24 INVALID ftODE '.ode' RC=24 DISK {'.ode'I'cuu'} NOT ACCESSED RC=36 INVALID PARAftETER 'param' RC=24 IB! V!/370: Co •• and Language Guide for General Users REIA!E RENAME Use the REIA!! coa.and to change the file identification of one or aore files. The REIA!E coamand may not be used for a file which is located on a read-only disk. The foraat of the RENA!E coaaand is: Rename fileid1 fileid2 [(options ••• [)]] r , ITYPE i I!Ql!PEI L .. r , IUPDI!! I INOUPDIRTI L .. fileid1 is the file identification of the original file whose naae is to be changed. All components of the file (filenaae, filetype, and filemode) aust be coded, either with a name or an asterisk. If an asterisk is coded in any field, any file which satisfies the other qualifications is renaaed. Por exaaple, if fileid1 is coded as A * A1, all files on the A disk with a filename of A are renaaed. fileid2 is the new file identification of the file. All components of the file (filenaae, filetype, and filemode) aust be coded, with either a name or an equal sign. If an equal sign is coded, the corresponding file identifier is unchanged. TYPE T displays at the terainal the new identifiers of all files renaaed. The file identifiers are displayed only when an * is specified for one or aore of the file identifiers (fn, ft or fa) in fileid1. NOTYPE lOT suppresses displaying at the terminal of identifiers of all files renamed. ~!I updates the !aster this command. NOUPDIRT IOUP suppresses the updating of the !aster pile Directory upon coapletion of this coamand. Normally, !aster Pile Directories are updated at the completion of each e!s comaand that affects disk files. UP Pile Directory upon the new completion section 1: Pormat and Usage Rules for C!S Comaands file of 193 RENAME newfn newft nevfa The new filenaae, filetype, and file.ode of each file altered is displayed only when the TYPB option is specified and an asterisk was specified for at least one of the file identifiers (fn, ft or fa) of the original file. If fileid2 is generated. DMSRNM002E DMSRBM003B DMSRNM019E DMSRBM024E DMSRNM030E DMSRBM037E DMSRBM051E DMSRBM054E DMSRNM062E the naae of an existing file, an error aessage is PILE 'fn ft fa' NOT POUND RC=28 IBVALID OPTIOB 'option' RC=24 IDBNTICAL PILEIDS RC=24 PILE 'fn ft fa' ALREADY BXISTS RC=28 PILB 'fn ft fa' ALREADY ACTIVE RC=28 DISK 'aode(cuu), IS READ/ONLY RC=36 INVALID MODE CHANGE RC=24 IBCOMPLBTB PILEID SPECIFIED RC=24 INVALID IN OUTPUT PILEID RC=20 * Note: You can invoke the REBAME co •• and from the terainal, froa an EXEC fIle, or as a function froa a program. If RENAME is invoked as a function or from an EXEC file that has the SCONTROL NO!SG option in effect, the D!SRNM002E PILE fn ft fm NOT FOUID error message is not issued. 194 IBM VM/370: Co.mand Language Guide for General Users RUN RUN Use the RUN command to initiate an automated series of functions on a file. The RUN command can compile, load, and start execution of the specified file, depending upon the filetype. The acceptable filetypes are: EXEC, MODULE, TEXT, and those required by the language processors. The RUN command is an EXEC procedure: if it is executed from within an EXEC file, it must be preceded by the EXEC command name. The format of the RUN command is: -----------------,I r- IL-_______ RUN _ fn (ft (fm]] [(args ••• )] ____________________- - J fn is the filename of the file to be manipulated. This field must be entered. ft is the filetype of the file to be manipulated. If filetype is not specified, a search is made for a file with the specified filename and the filetype of EXEC, MODULE, or TEXT (the search is performed in that order). If the filetype of an input file for a language processor is specified, the language processor is invoked to compile the source statements and produce a TEXT file. Then, LOAD and START are called to initiate program execution. The filetype must be specified if filemode is specified. The valid filetypes and resulting action for this command are: lil~1YE~ fm EXEC Action The-EXEC processor is called to process the file. MCDUlE The LOADMOD TEXT The LOAD command brings the file into storage in an executable format and the START command executes the program beginning at the entry point named by fn. FORTRAN The FORTRAN processor module that is called is or FORTHX, FORTRAN, FORTGI, GOFORT, TESTFORT, whichever is found first. FREEFORT The GOFORT module is called to process the file. COBOL The COBOL processor module that is called or TESTCOB, whichever is found first. PLI PLIOPT The PLIOPT the file. command is issued to load the program into storage and the START command begins execution of the program at the entry point equal to fn. processor module is called to is COBOL process is the filemode of the file to be manipulated. If this field is specified, a filetype must be specified. If fm is not specified, the default search order is used to search your disks for the file. Section 7: Format and Usage Rules for CMS Commands 195 GC20-1804-3 Page Kodified by TNL GN20-2659 RUN args are one or more user arguments to te used during execution. If coapiling or loadig is to be performed, it is assumed that the default options for those functions are in effect. You can specify up to 13 arguments in the RUN command, provided they fit on a single input line. These arguaents are used during the operation of an EXEC file, or during execution of a "ODULE or TEXT file. The arguments are set up as a string of doublewords, one arguaent per doubleword. The address of this string is passed to the specified file at execution time. Each argument is left-justified, and any argument more than eight characters long is truncated on the right. with an EXEC file, any arguments specified in the RUN coaaand replace the corresponding &n operands in the individual commands of the EXEC file. with a file whose filetype is other than EXEC, the arguments are placed in a string as described above. The address of the string is passed to the specified file at execution time. The end of the arguaent list is denoted by a X'FF' in the first byte of the argument field. DKSRUN001E DKSRUN002E DKSRUN032E DKSRUN048E DKSRUN070E DKSRUN999E 196 NO FILENAKE SPECIFIED RC=24 FILE 'fn ft fm' NOT FOUND RC=28 INVALID FILETYPE 'ft' RC=24 INVALID KODE 'fm' RC=24 INV.LID PARA"ETER 'param' RC=24 NO ft PROCESSOR FOUND RC=28 IB" V"1370: Command Language Guide for General Users SET SET Use the SET co •• and to establish, turn off, or reset a particular function in your CftS virtual machine. Only one function may be specified per SET command. The format of the SET command is: SET function , r L [ LDBTBLS nn] r , IRD!1!~§ !!ftS§1 IRDYftSG SftSG I .J L .J IRELPAGE OR I IRELPAGE OFFI ---- -- L , r iBLIP string[ (count) j I IBLIP ON I IBLIP Oll I !.!U!£tioDs: .J r r ,, L L .J IINPUT I a xxi I Ixx yyl I I r , r , Q! I IIBBBEV OlPI OR I IREDTYPE OFFI IIftPEX Olll L .J L .J L II~~BE! r , IIftPCP ON I IIftPCP Olll ---- L .J IRE~TYPE r , L .J IPBQIECT Q! I IPBOTECT Olll .J [OUTPUT [xx a] ] , r IIK~EX Q! I .J r , L .J IAUTOBEAD 01 I IAUTOREAD OFFI BLIP string[ (count)] defines the characters which are displayed at the ter.inal to indicate every two CPU seconds of real (or virtual) execution time. Up to eight characters can be defined, and if trailing blanks are desired, the count field must be used. ON and O!! Bust not be used as BLIP characters. BLIP OR sets the BLIP character string to its default, which is a string of nonprintable characters. ON is the default for typewriter devices. The default BLIP character provides no visual or audio-visual signal for the 3767 terminal. Thus, another character .ust be defined as the BLIP character for the 3767 if you want the BLIP function. BLIP Oll turns off devices. BLIP. OFF is the default for graphics indicates that the standard CftS Ready message, including current and elapsed time, is used. The format of the standard Ready message is: B; T=s •••/s •• m hh:.m:ss where the virtual CPU time, clock time are listed. BDYftSG SftSG Real CPU time, and indicates that a shortened for. of the CftS Beady message (R;) which does not include the time, is used. Section 7: Format and Usage Rules for CftS Commands 197 SET LDRTBLS nn defines the number (nn) of pages of storage to be used for loader tables. By default, a virtual machine having up to 384K of addressable real storage has two pages of loader tables; a larger virtual machine has three pages. This number can be changed with the SET LDRTBLS nn com.and provided that: (1) nn is a decimal number less than 128, (2) the virtual machine has enough storage available to allow nn pages to be' used for loader tables, and (3) the system has not started using storage just below the LDRTBLS. If these three conditions are met, nn pages are set aside for loader tables. If you plan to change the number of pages allocated for loader tables, you should do so as soon after IPL as possible. releases page frames of storage and sets them to binary zeros after the following commands complete execution: ASSEMBLE, COPYPILE, COMPARE, EDIT, MACLIB, SOBT, TXTLIB, UPDATE, and the Program Product language processors supported by VM/370. These processors are listed in the VM/370: !nt~ductiQ!!. RELPAGE OPP does not release pages of storage after the com.ands listed in the previous paragraph complete execution. Use the SET RELPAGE OPP function when debugging or analyzing a problem so that the storage used is not released and can be examined. IBPUT a xx translates the specified character a to the specified hexadecimal code xx for -characters entered from the terminal. IBPUT xx yy allows you to reset the hexadecimal code xx to the specified hexadecimal code yy in your translate table. Bo1~: If you issue SET IBPUT and SET OUTPUT commands for the same characters, the SET OUTPUT command must be issued first. characters to their default IBPUT returns all translation. OUTPUT xx a translates the specified hexadecimal representation xx to the specified character ! for all xx characters displayed at the terminal. OUTPUT returns all translation. characters to their default allows the system abbreviation or your own abbreviation (if one is available) to invoke a system com.and. The SYBOBYM com.and .akes the system and user abbreviations available. ABBREV OPP invokes a com.and only when the full system com.and name or the full user synonym (if one is available) is entered. Por a discussion of the relationship ABBiEV and SYBOIYM co •• ands, refer to co •• and description. 198 IBM VM/370: Co •• and Language Guide for General Users of the SET the SYIOIYM GC20-1804-3 Page Modified by TNL GN20-2659 SET types CMS error me~sages in red for certain ter.inals equipped v1th ~ne appropriate terminal feature and a two-color ribbon. Supported terminals are documented in the !!LJ1~: I~~!i!!!! !!se~~ Gu!g~. REDTYPE OFF suppresses red typing of error messages. treats EXEC files as co.mands; an EXEC file invoked when the filename of the EXEC file entered. IMPEX OFF is is does not consider EXEC files as com.ands. To execute an EXEC file, the EXEC co.mand name must be issued. passes command names that CMS does not recognize to CP; that is, unknown commands are considered to be CP commands. IMPCP OFF generates an error message at the command is not recognized by CMS. terminal if a protects the CMS nucleus against writing within its storage area. PROTECT OFF does not protect the CMS nucleus. AUTOREAD ON specifies that a console READ is to be issued immediately after com.and execution. ON is the default for non-display, non-buffered terminals. AUTOREAD OFF specifies that you do not want a console READ until you depress the Enter key or its equivalent. OFF is the default for display terminals because the display terminal does not lock, even when there is no READ active for it. storage area containing the !Q!~: If a user disconnects from one type of ter.inal and reconnects on to another type, the AUTOREAD status will remain unchanged. DMSSET014E DMSSET026E DMSSET031E DMSSET047E DMSSET061E DMSSET070E INVALID FUNCTION 'function' RC=24 INVALID PARAMETER 'param' FOR 'function' FUNCTION LOADER TABLES CANNOT BE MODIFIED RC=40 NO FUNCTION SPECIFIED RC=24 NO TRANSLATION CHARACTER SPECIFIED RC=24 INVALID PARAMETER 'param' RC=24 RC=24 Section 7: Format and Usage Rules for CMS Commands 199 SORT SORT Use the SORT command to read fixed-length records from a CMS input file, arrange them in ascending EBCDIC order according to specified sort fields, and create a new file containing the sorted records. The input and output files must not have the same file identifiers, since SORT cannot write the sorted output back into the space occupied by the input file. If a file with the same name as the output file already exists, the old file is erased. The format of the SORT command is: r- I fileid1 SORT fileid2 I fileid1 is the file identification (filename, filetype, the file containing the records to be sorted. filemode) of fileid2 is the file identification (filename, filetype, filemode) the new output file to contain the sorted records. of ~g1~~!gg Sort Control Fields: After the SORT command is responds wIth the-followIng-message on the terminal: entered, CMS DMSSRT604R ENTER SORT FIELDS: You should respond by entering one or more pairs of numbers of the form "xx yy" separated by one or more blanks. Each xx is the starti~g character position of a sort field within each input record and yy 1S the ending character position. The leftmost pair of numbers denotes the major sort field. The number of sort fields is limited to the number of fields you can enter on one line. The records can be sorted on up to a total of 253 positions. !!!~Y~l ~~~f~~~ R~gY!f~!~E~~ !~f §Qf~!gg: The sorting operation takes place with two passes of the input file. Pass one creates an ordered pointer table in virtual storage. Pass two uses the pointer table to read the input file in a random manner and write the output file. Therefore, the size of storage and the size and number of sort fields are the limiting factors in determining the number of records that can be sorted at anyone time. An estimate of the maximum number of records that can be sorted is: NB VMSIZE - 132K ------------14 + NC where: NR is the estimated maximum number of input records; NC is total number of characters in the defined sort fields; VMSIZE is storage size of the virtual machine; and 132K is the size of resident CMS nucleus. For example, enter the command and respond to prompting message: the the the the sort name address a1 sortedna address b1 DMSSRT604R ENTER SORT FIELDS: 1 10 25 28 The records in the file RAME ADDRESS are sorted on positions 1-10 and 25-28. The sorted output is written into the newly created file 200 IBM VM/370: Command Language Guide for General Users SORT SORTEDNA ADDRESS. If you have a 320K maximum of 6875 records. VMSIZE-132K 320K-132K 188K 14 + 14 28 virtual machine, you can sort a 192,512 6875 NR 14 + BC 28 DMSSRT604R ENTER SORT FIELDS: You are requested to enter SORT control fields. You should enter them in the form described in "Entering Sort Control Fields." DMSSRT002E DMSSRT009E DMSSRT019E DMSSRT034E DMSSRT037E DMSSRT053E DMSSRT054E DMSSRT062E DMSSRT063E DMSSRT070E DMSSRT104S DMSSRT105S FILE 'fm ft fa' NOT FOUND RC=28 COLUMB 'col' EXCEEDS RECORD LENGTH RC=24 IDENTICAL FILEIDS RC=24 FILE 'fn ft fm' IS NOT FIXED LENGTH RC=32 DISK '.ode' IS READ/OBLY RC=36 INVALID SORT FIELD DEFINED RC=24 INCOMPLETE FILEID SPECIFIED RC=24 INVALID * IN FILEID RC=20 NO LIST EBTERED RC=40 INVALID PARAMETER 'param' RC=24 ERROR Inn' READING FILE 'fn ft fm' FROM DISK RC=100 ERROR Inn' WRITING FILE 'fn ft fm' ON DISK RC=100 Section 7: Format and Usage Rules for CMS Commands 201 GC20-1804-3 Page Modified by TNL GN20-2659 START START Use the START com.and to begin execution of progra.s that were previously loaded, and to pass the address of a string of argu.ents to that program. The for.at of the START command is: r- , r I I START I entry [args ••• ) I I I I * L .J ~ IL-____________________________________________________________________________ entry passes control to the control section name or entry point name at execution time. The operand, entry, may be a filename only if the filena.e is identical to a control section name or an entry point name. * passes control to the default entry point. The default entry point is either the address specified in the operand field of the first END control statement containing a non-blank operand field, or the beginning of the first file loaded if all END control statements in the TEXT files contains blank operand fields. The default entry point can be changed by specifying the RESET option on the INCLUDE command, when loading additional files. args ••• are argu.ents to be passed to the started program. If user arguments are specified, entry or * must be specified; otherwise, the first argument is taken as the entry point. Arguments are passed to the program via general register 1. The entry operand and any argu.ents become a string of doublewords, one argument per doubleword, and the address of the list is placed in general register 1. Notes: l:---Any undefined names or references specified in the files loaded into storage are defined as zero. Thus, if there is a call or branch to a subroutine from a main program, and if the subroutine has never been loaded, the call or branch transfers control to location zero of the virtual machine at execution time. 2. Do not use the START command for progra.s that are generated via the GENMCD command with the NOMAP option. The START command does not execute properly for such programs. DMSLI00741 EXECUTION BEGINS ••• is displayed when the designated entry point is validated. DMSLI0021E ENTRY POINT 'name' NOT FOUND RC=40 DMSLI0055E NO ENTRY POINT DEFINED RC=40 202 IBM VM/370: Co •• and Language Guide for General Users STATE Use the STATE command to verify the existence of a CMS file. of the STATE command is: STATE The format fn ft [fm] fn is the filename of the file This field must be specified. whose existence is to be verified. ft is the filetype of the file This field must be specified. whose existence is to be verified. fa is the filemode of the file whose existence is to be verified. If this field is omitted, all your disks are searched. Note: If * is specified for fn, ft, and/or fm satisfying the rest of the fileid is used. the first file found If the filemode refers to an as or DOS disk, the STATE comaand assuaes that the filename and filetype are related to an as data set name or DOS file-id through a previous FILEDEF. If an associated FILEDEF coaaand was not issued, you receive a FILE NOT POUND message. DMSSTT227I PROCESSING VOLUftE 'no' II DATA SET 'data set name' The specified data set has aultiple volumes; the volume being processing is shown in the message. The STATE co.mand treats end-of-volume as end-of-file and there is no end-of-voluae switching. DftSSTT228I USER LABELS BYPASSED ON DATA SET 'data set name' The specified data skipped. DftSSTT002E DftSSTT048E DMSSTT054E DftSSTT062E DftSSTT069E DftSSTT070E DftSSTT229E set has disk user labels; these labels are FILE 'fn ft fm' lOT FOUND RC=28 IIVALID ftODE 'mode' RC=24 IICOftPLETE FILEID SPECIFIED RC=24 IIVALID 'char' II FILlID 'fn ft' RC=20 DISK 'mode' BOT ACCESSED RC=36 INVALID PARAftETER 'param' RC=24 UBSUPPORTED as DATA SET, ERROR 'code' Bote: You can invoke the STATE command from the terminal, from an EXEC file, or as a function fro. a program. If STATE is invoked as a function or from an EXEC file that has the &COlTROL BOftSG option in effect, the DMSSTT002E FILE fn ft fa NOT FOUND error message is not issued. section 7: Format and Usage Rules for CftS Commands 203 SVCTR1CB SVCTRACE Use the SVCTR1CB co •• and to trace and record supervisor calls occurring in your virtual machine. information about The information recorded includes the virtual storage location of the calling SVC instruction and the name of the called program or routine, the normal and error return addresses, the contents of the general and floating-point registers before branching to the SVC-called program and after returning from it, and 16 words of the parameter list which existed when the SVC was issued. To terminate tracing previously established by the SVCTR1CB co •• and, issue the HO or SVCTR1CB OFF co.mands. Both SVCTR1CE OFF and HO cause all trace information recorded up to the point they are issued to be printed on the virtual spooled printer. On typewriter terminals SVCTR1CB OFF can be issued only when the keyboard is unlocked to accept input to the C!S command environment. To terminate tracing at any other point in syste. processing, HO .ust be issued. To suspend tracing temporarily during a session, interrupt processing and enter the i •• ediate co.mand SO (Suspend Tracing). To resume tracing that was suspended with the SO co.mand, enter the immediate com.and RO (Resume Tracing) • If you issue the CftS co.mand HI or log off the control program before termination of tracing set by SVCTR1CB, the switches are cleared automatically and all recorded trace information is printed on the virtual spooled printer. The format of the SVCTR1CE command is: SVCTrace OB starts tracing all SVC instructions issued within C!S. OFF stops SVC tracing. The printer trace output consists of the following: • The contents of the general registers both before the SVC-called program is given control and after a return fro. that program. • The contents of the general registers when the is finished with processing. • The contents of the floating-point registers before the SVC-called program is given control and after a return from that program. • The contents of the floating-point routine is finished processing. • The para.eter list passed to the SVC. 204 svc handling routine registers when the IB! V!/370: Co.mand Language Guide for General Users SVC handling SVCTBICB variety of infor.ation is printed whenever the 1 SVCTBICE 01 command is issued. The first line of trace output starts with of the first line of trace output is: { ~} a~, +, or.. The foraat BID = xxx/dd naae I'ROII loc OLDPSII = psv 1 GOPSII = psv2 [BC=rc] indicates infor.ation recorded before processing the SVC. + indicates inforaation recorded after • applies. processing the SiC, unless • indicates infor.ation recorded after processing had an error return. liD is an abbreviation for SVC lu.ber and Depth Cor level). xxx is the number of the SVC call Cthey are nu.bered sequentially). dd is the nesting level of the SiC call. na.e is the macro or routine being called. loc is the progra. location froa which the SVC was issued. psw1 is the PSi at the ti.e the SVC was called. psw2 is the PSi with which the routine being called is invoked, if the first character of this line is a ainus sign C-). If the first character of this line is a plus sign or asterisk C+ or .), PSi2 represents the PSi which returns control to the user. rc is the return code from the SiC handling routine in general register 15. This field is o.itted if the first character of this line is a .inus sign C-), or if this is an as SVC call. Por a CftS SVC, this field is 0 if the line begins with a plus sign C+), and nonzero for an asterisk C.). Ilso, this field equals the contents of Begister 15 in the "GPBS IPTEB" line. a CftS SiC which The next two lines of output are the contents of the general This registers when control is passed to the SVC handling routine. output is identified at the left by ".GPBSB". The for.at of the output is: .GPBSB = h h h h h h h h .dddddddd. = h h h h h h h h .dddddddd. where h represents the contents of a general register in hexadeci.al for.at and d represents the EBCDIC translation of the contents of a general register. The contents of general registers 0 through 1 are printed on the first line, with the contents of registers 8 through P on the second line. The hexadeci.al contents of the registers are printed first, followed by the EBCDIC translation. The EBCDIC translation is preceded and followed by an asteriskC.). section 1: Por.at and Usage Rules for CftS Coaaands 205 SVCTRACE The next line of output is the contents of general registers 0, 1, and 15 when control 1S returned to your progra.. The output is identified at the left by ".GPRS AlTER :". The format of the output is: .GPRS AFTER: RO-R1 = h h *dd* R15 = h *d* where ~ represents the hexadecimal contents of a general register and g is the EBCDIC translation of the contents of a general register. The only general registers that C!S routines alter are registers 0, 1, and 15 so only those registers are printed when control returns to your program. The EBCDIC translation is preceded and followed by an asterisk (*) • The next two lines of output are the contents of the general registers when the SVC handling routine is finished processing. This output is identified at the left by ".GPRSS." The format of the output is: .GPRSS = h h h h h h h h *dddddddd* = h h h h h h h h *dddddddd* where h represents the hexadecimal contents of a general register and g represents the EBCDIC translation of the contents of a general register. General registers 0 through 7 are printed on the first line with registers 8 through F on the second line. The EBCDIC translation is preceded and followed by an asterisk (*). The next line of output is the contents of the calling routine's floating-point registers. The output is identified at the left by ".FPRS". The for.at of the output is: .FPRS = f f f f *gggg* where f represents the hexadecimal contents of a floating-point register and g -is the EBCDIC translation of a floating-point register. Each floating point register is a doubleword; each f and g represents a double word of data. The EBCDIC translation is preceded and followed by an asterisk (*). The next line of output is the contents of floating-point registers when the SVC-handling routine is finished processing. The output is identified by ".FPRSS" at the left. The format of the output is: .FPRSS = f f f f *gggg* where ! represents the hexadecimal contents of a floating-point register and ~ is the EBCDIC translation. Each floating-point register is a doubleword and each f and g represents a doubleword of data. The EBCDIC translation is preceded and followed by an asterisk (*). The last two lines of output are only printed if the address in Register 1 is a valid address for the virtual machine. If printed, the output is the parameter list passed to the SVC. The output is identified by ".PAR!" at the left. The output format is: .PAR! = h h h h h h h h *dddddddd* h h h h h h h h *dddddddd* = where h represents a word of hexadecimal data and g is the EBCDIC translation. The parameter list is found at the address contained in Register 1 before control is passed to the SVC-handling program. The EBCDIC translation is preceded and followed by an asterisk (*). Figure 31 summarizes the types of SVC trace output. 206 IB! V!/370: Command Language Guide for General Users SVCTB1CE , r--------------------------------.-----------------------------------Comments Identification The SVC and the routine which issued the SVC. .GPRSB Contents of general registers when control is passed to the SVC handling routine. .GPBS AFTEB Contents of general registers 0, 1, and 15 when control is returned to your progra~. .GPBSS Contents of the general registers when the SVC handling routine is finished processing. .FPBS Contents of floating-point registers before the SVC-called program is given control and after returning from that program. .FPBSS contents of the floating-point registers when the SVC handling routine is finished processing. • PABM The parameter list, when one is passed to the SVC • L- Figure 31. DMSOVB014E DMSOVB047E DMSOVB104S DMSOVB109S Summary of SVC Trace Output Lines INVALID FUNCTION 'function' BC=24 NO FUNCTION SPECIFIED BC=24 EBBOB Inn' BEADING FILE 'DMSOVR MODULE' ON DISK VIBTUAL STOBAGE CAPACITY EXCEEDED BC=104 BC=100 Section 7: Format and Usage BuIes for CMS Commands 207 GC20-1804-3 Page Modified by TNL GN20-2659 SYNONYM SYNONYM Use the SYNONYM command to invoke a table of synonyms to be used with, or in place of, the CMS command names. You create the table yourself using the CMS Editor. The fora for specifying the entries for the table is described under "The User Synonym Table." The names you define can be used either instead of or in conjunction with the standard eMS command truncations. However, no matter what truncations, synonyms, or truncations of the synonyms are in effect, the full real name of the command is always operative. The format of the SYNONYM command is: , r------. I I I SYNonym I I I I I I r r r ", I 1ft I III L L L .J.J.J I I I I I I I I I Ifn 1'§!!Q!!1! Ifmlll [(options ••• [)]] I I I!llil r Q~1!QB~: , I~~~ [£1!!~] .J L of the I INOSTD I fn is the filename synonyms. file you created ft is the filetype of the file containing your synonyms. The filetype must be SYNONYM; of omitted, SYNONYM is assumed. fm is the filemode of the omitted, A1 is assumed. file containing your to contain synonyms. the If .§112 specifies that standard CMS abbreviations are operative • NOSTD standard eMS abbreviations are not to be used. (But the full CMS command and the synonyms you defined can still be used.) CLEAR removes any synonym table SYNONYM command. set by a previously entered The SYNONYM command specified with no operands can be used to nullify the synonyms invoked by a preceding SYNONYM command; that is, you can "turn off" a table of synonyms. Note: The SET ABBREV ON or OFF command, in conjunction with the SYNONYM command, determines which standard and user-defined forms of a particular eMS command are acceptable. 208 IBM VM/370: Command Language Guide for General Users SYNONYft THE USER SYNONYM TABLE You create the synonym table using the CftS Editor. The table must be a file with the filetype SYNONYft. The file consists of 80-byte fixed-length records in free-form format with columns 73-80 ignored. The format for each record is: ----, systemcommand L______ _ usersynonym systemcommand is the name of the CftS a synonym. count I command for which you are creating usersynonym is the synonym you are creating for a CftS command. When you create the synonym, you must follow the same syntax rules as for commands, that is, you must use the character set used to create commands, the synonym may be no longer than eight characters, and ~u on. For more details on syntax rules for commands, see "Section 2: Vft/370 CP and CftS Command Languages." count is the minimum number of characters that must be entered for the synonym to be accepted by CftS. If omitted, the entire synonym must be entered (see the following example) • A table of command synonyms is built from the contents of this file. You may have several SYNONYM files but only one may be active at a time. For example, if the synonym file contains: MOVEFILE MVIT The synonym ftVIT can be entered as a command name to execute the MOVEFILE command. It cannot be truncated since no count is specified. ACCESS GETDISK 3 The synonyms GET, GETD, GETDI, GETDIS, or GETDISK can the command name instead of ACCESS. be entered as There is a system synonym abbreviation table for the FILEDEF command. The default values of the SET and SYNONYM commands are such that the system synonym abbreviation table is available unless otherwise specified. The system synonym abbreviation table for the FILEDEF command states that FI is the minimum truncation. Therefore, the acceptable abbreviations for FILEDEF are: FI, FIL, FILE, FILED, FILEDE, and FILEDEF. The system synomym abbreviation table is available whenever both SET ABBREV ON and SYNONYft (STD) are in effect. Assume that the USERTAB SYNONYM A. following entry: user-defined table has the file Further assume that this synonym identification table has the Section 7: Format and Usage Rules for CftS Commands 209 GC20-1804-3 Page Modified by TNL GN20-2659 SYNONYM FILEDEF USENAME 3 Then, USENAME is a synonym for FILEDEF, and acceptable truncations of USENAME are: USE, USEN, USENA, USENAM, and USENAME. The user synonym abbreviation table is available whenever both SET ABBREV ON and SYNONYM USERTAB are specified. No matter what synonyms and truncations name of the command is always in effect. are defined, the full real Figure 32 lists the forms of the system command and user synonym available for the various combinations of the SET ABBREV and SYNONYM commands. DM5SYN7121 NO SYNONYMS (DM5INA NOT IN NUCLEUS) The system routine system. DMSSYN002E DMS5YN003E DMSSYN007E DMSSYN032E DMSSYN056E DMSSYN104S 210 which handles SYNONYM processing is not in the FILE 'fn ft fm' NOT FOUND RC=28 INVALID OPTION 'option' RC=24 FILE 'fn ft fm' NOT FIXED, 80 CHAR RECORDS RC=32 INVALID FILETYPE eft' RC=24 FILE 'fn ft fm' CONTAINS INVALID RECORD FORMATS RC=32 ERROR Inn' READING FILE 'fn ft fm' FROM DISK RC=100 IBM V"/370: Command Language Guide for General Users SYNONYM Acceptable Co •• and lorms options SET ABBRB, 0. SYI USBRTAB (STD FI lIL lILBDBl USE USBR Co.ments Tne ABBREV ON option of the SET command and the STD opticn of the SYNONYM command make the system table available. The user synonym, USENA!E is available because the synonym table (USERTAS) is specified on the SYROIY! command. The truncations for USENA!E are available because SET ABBRBV 01 was specified with the USERTAS also available. USBRA!B SBT ABBREV 011 SYN USBRTAB (STD lILEDEP USBNA!E IThe user-defined synonym, USBRA!B, I is permitted because the user I synonym table (USBRTAB) is speciI fied on the SYNONYM command. No I system or user truncations are I permitted. SBT ABBRBV ON ; SYN USERTAB (BOSTDI I I I PILBDBl USB USEN IThe system synonym table is UnI available because the NOSTD option lis specified on the SYNONYM comI mand. The user synonym, USBIA!B, I is available because the user synoI nym table (USBRTAB) is specified on I the SYIOIY! command and the trunI cations of USBNA!B are permitted I because SET ABBREV ON is specified I with USBRTAB also available. I I I I I USENA!E SBT ABBRBV opp I SYN USERTAB (NOSTDI I I I I I I I I I PILBDBP USBNA!B IThe system synonym table is made I unavailable either by the SET I ABBRBV 011 command or by the SYN I (NOSTD command. The synonym, I USBNA!B, is permitted because the I user-defined synonym table I (USERTAB) is specified on the I SYROIY! command. The truncations I for USBNA!E are not permitted I because the SBT ABBREV OPP option I is in effect. SET ABBRBY 01 SYN (CLBAR STD PI PIL IThe user-defined table is nov unavailable. The system synonym table is available because both the ABBREV OR option of the SBT com. and and the STD option of the SYNONYM command are specified. PILEDBP SBT ABBRBY OPP SYI (CLEAR STD PILEDEP SBT ABBRBY 01 SYI (CLBAR NOSTD SBT ABBRBV OPl SYI (CLBAR 10STD Pigure 32. IBecause CLEAR is specified on the I SYROIY! co.mand, the synonym and I its truncations are no longer I available. Either the SBT ABBRBV I OPP co.mand or the SYRORY! (ROSTD I command make the system synonym I table unavailable. I System and User Truncations section 7: Pormat and Usage Rules for C!S Commands 211 TAPE TAPE Use the TAPE co •• and to dump CMS-formatted files from disk to tape, load previously dumped files from tape to disk, and perform various control operations on a specified tape drive. TAPE is used solely for CMS files; therefore, the files on tape are in a unique CMS format. The TAPE command does not process multivolume files. Disk files to be dumped can contain either fixed- or variable-length records. The format of the TAPE command is: TAPE DUMP r , L .J Ifml {;n } { ;t} 1* I r LOAD r , , L .J [ (optionB optionC optionD[) ]] Ifml I :{;n} {;t} 11 I I L SCAB r , I I { ;n} {;t} I I L SKIP [(optionA optionB optionD[) ]] .J [ (optionB optionC optionD[) ]] .J [ (optionB optionC optionD[ ) ]] { ;n} {;t} MODESET [ (optionD[ ) ]] r , tapcmd [ (optionD[) ]] Inl 111 L .J r optionA: , liTM I I!Q!Tftl L .J r optionB: , I ROPRint I IPRint I II~!! I IDISK I L r optionC: IEOT I lEap nl IIOP 11 L optionD: .I , rr .I IITAPi IITAP1 IL Ir Ilcuu IIll1 LL " II II .J I , I II II r L [DEB nnn] [TRTCH xx] .J .J.I DO!P {;n}{;t}[;a] dumps one or more identification must be 212 , 17TRACKI 19TRACKI disk files to tape. The file specified. If the asterisk or mode IBM V!/370: Command Language Guide for General Users TAPE letter only is coded, all files that file identification are dumped. satisfy the resulting The filename (fn) and file type (ft) of the files to be dumped must be specified. The filemode (fm) of the files to be dumped is optional. The filemode letter indicates the source disk for dumping; the filemode number indicates that only files with that number are to be dumped. A blank filemode number indicates that all files satisfying the fn and ft specifications are to be dumped. LOAD }[im]] [{;n}{;t writes tape files to disk. If file identification is specified, only that one file is loaded. The file identification is filename (fn), filetype (ft), and filemode (fm) • If the option EOF n is specified and no file identification is entered, n tape files are written to disk. If an asterisk (*) is specified for fn or ft, all files within EOl n that satisfy the resulting file identification are loaded. The files are written to the disk indicated by the file,ode letter. The filemode number, if entered, indicates that only files with that filemode number are to be loaded. A blank file.ode number indicates that all files satisfying the fn and ft specifications are to be loaded. SCAN [{;n}{~t}J displays at the terminal (unless NOPRINT, PRINT or DISK is specified) the names of the files on tape. If DISK is specified the list of file identifiers is written to a file named TAPE eAP. If file identification (filename, fn, and filetype, ft) is specified, scanning stops upon encountering that file. If not specified, scanning occurs over n tape marks as specified by the option EOF n. SKIP {;n}{;t} positions ~ne tape at a specified point, depending upon other options and operands. If file identification (filename, fn, and filetype, ft) is entered, the tape is positioned after the specified file; if EOF n is entered, the tape is positioned after n tape marks. sets the values specified by the DEN, TRACK, and TRTCH options. These values remain in effect for the specified tape until they are changed in a subsequent TAPE command. eODESET r , tapcmd I n I 111 L specifies a tape control function (tapcmd) to be executed times (default is 1 if ~ is not specified): ~ .J 19.EcJl~ BSF BSR ERG FSF FSR REi RUN iTe Action backspace ~ tape marks backspace ~ tape records erase gap forward space ~ tape marks forward space ~ tape records rewind tape to load point rewind tape and unload write ~ tape marks section 1: Format and Usage Rules for ces Commands 213 TAPE Rote: If conflicting in effect. 214 options are specified, the last one entered is iTK writes a tape mark on the tape after each file dumped. !Q!!A writes a tape mark after each file is dumped, then backspaces over the tape mark so that subsequent files written on the tape are not separated by tape marks. HOPRIHT does not spool the list of files dumped, loaded, scanned, or skipped to the printer. PRIHT spools the list of files skipped to the printer. dumped, loaded, scanned, or displays a list of files skipped at the terminal. dumped, loaded, scanned, or DISK creates a disk file containing the list of files dumped, loaded, scanned, or skipped. The disk file has the file identification of TAPE KAP. EOT reads the received. EOP n jQ! 1 reads the tape through a maximum of is EOP 1. TAPi cuu specifies the symbolic tape identification or the actual device address of the tape to be read from or written to. The default is TAP1 or 181. The unit specified by cuu must previously have been attached to your CKS virtual machine before any tape I/O operation can be attempted. Only symbol names TAP1 through TAP4 and virtual device addresses 181 through 184 are supported. 7TBACK specifies a 7 track tape. Odd parity, data convert on, and translate off are assumed unless TRTCB is specified. 9TRACK specifies a 9 track tape. DEB nnnn is the tape density where nnnn is 200, 556, 800, 1600, or 6250. If 200 or 556 is specified, 7TBACK is assumed. If 1600 or 6250 is specified, 9TRACK is assumed; if 800 is specified, 9TRACK is assumed unless 7TRACK is specified. In the case of dual-density drives, 1600 is the default. TRTCB xx is the tape recording technique for 7 track tape. If TBTCB is specified, 7TRACK is assumed. One of the following must be specified as xx: tape until an end-of-tape ~ indication is tape marks. Default IBK VK/370: Command Language Guide for General Users TAPE ~ !~~~ing o odd parity, data convert off, translate off odd parity, data convert on, translate off odd parity, data convert off, translate on even parity, data convert off, translate off even parity, data convert off, translate on OC OT E ET Tape records written by the CMS TAPE DUMP co •• and are 805 bytes long. The first character is a binary 2 (1'02'), followed by the characters CMS and an EBCDIC blank (1'40'), followed by 800 bytes of file data packed without regard for logical record length. In the final record, the character I replaces the blank after eMS, and the data area contains CMS file directory information. If a tape contains large files that would not fit on disk, the tape load operation is terminated. To prevent this, when you dump the files, separate logical files by tape marks, then forward space to the appropriate file. Because the CMS file directory is the last record of the file, the TAPE command creates a separate workfile so that backspacing and rereading can be avoided when the disk file is built. If the load criteria is not satisfied the work file is erased; if it is satisfied the workfile is rena.ed. The ROB option (rewind and unload) indicates completion before the physical operation is completed. Thus, a subsequent operation to the same physical device may encounter a device busy situation. The TAPE command creates a work file TAPE CMSOT1 which may exist if a previous TAPB co.mand has abnormally terminated. If the work file 1S accidentally du.ped to tape and subsequently loaded, it appears on your disk as TAPE CftSUT2. DMSTPE101I BOLL PILE A final record was encountered and no prior records were read in a TAPE LOAD operation. 10 file is created on disk. If the TERM option is in effect, the following is terminal depending on the operation specified: displayed at the Section 1: Format and Osage Rules for CMS Commands 215 LOADING ••••• fn ft fm SKIPPIIG ••••• fn ft fm TAPE DU!PING ••••• fn ft f. SCAIIIIG ••••• fn ft fa When a tape mark is encountered the following terminal if the TER! option is specifiea: is displayed at the END-OF-FILE OR END-OF-TAPE If a tape contains large files that would not fit on disk, the tape load operation is terainated. To prevent this when you duap the files separate logical files by tape marks, then forward space to the appropriate file. D!STPE002D D!STPE003E D!STPE010E DMSTPE014E D!STPE017E D!STPB023E D!STPE027E D!STPE029E D!STPE037E D!STPB042E D!STPE043E D!STPB047B D!STPE048E D!STPEOS7E D!STPEOS8E D!STPE070E D!STPE104S D!STPE10SS D!STPE110S D!STPE111S D!STPE113S D!STPE11SS 216 PILE (S) 'fn ft fa' NOT FOUID RC=28 INVALID OPTION 'option' RC=24 PRE!ATURB EOP 01 PILE 'fn ft fm' RC=40 INVALID FUNCTION 'function' RC=24 INVALID DBVICE ADDRESS 'cuu' RC=24 10 PILBTYPB SPBCIPIED RC=24 INVALID DEVICE 'device name' RC=24 IIVALID PARA!ETBR 'param' IN THE OPTION 'option' PIELD RC=24 DISK '.ode' IS READ/ONLY RC=36 10 PILBID SPECIPIBD RC=24 'TAPn(cuu)' IS FILB PROTECTED RC=36 NO PUNCTION SPBCIFIED RC=24 INVALID !ODE '.ode' RC=24 IIVALID RECORD POR!AT RC=32 END-OF-FILE OR END-OF-TAPE RC=40 INVALID PARA!BTBR 'para.' RC=24 ERROR Inn' READING FILE 'fn ft f.' PRO! DISK RC=100 BRROR Inn' WRITIIG PILE 'fn ft f.' ON DISK RC=100 ERROR READING 'TAPn(cuu)' RC=100 BRROR WRITIIG 'TAPn(cuu), RC=100 TAPn(cuu) NOT ATTACHED RC=100 {COIVERSIOI17 TRACK} FBATURE NOT SUPPORTBD 01 (TRANSLATIONIDUAL-DENSITY) DEVICE 'cuu' RC=88 IB! V!/370: Co •• and Language Guide for General Users TAPPDS TAPPDS Use the TAPPDS command to create CMS disk files from either tapes in unblocked card~i.age for.at that are produced by the as IEBPTPCB service program or froa tapes in the os IBBUPDTE service program control file format, either blocked or unblocked. using the TAPPDS command, you can also read unloaded partitioned data sets (PDS) from a tape created by the os IEBMOVE service program, and create a CMS disk file for each aember of the data set. The tape can be unlabeled or it can contain os standard labels~ The for.at of the TIPPDS command is: TAPPDS r Ifn 1ft Ifmlll I * I * IA1111 I I 1* III r r ", [ (options ••• [) ]] L L L .J.J.J r , L .J QEtiQ'!!§: I PD2 I IlfOPDS I IUPDATEI ,. , IEBD I IIOEI!U L fn .J r , r , ICOLl I I!QCO!!.l1 ITAPnl 11 AP jl L .J L .J r , L .J I MAXTElf I Il!QMAXY!1 is the filename of the disk file to be created. This field has meaning only if the ROPDS option is selected (that is, the tape does not contain members of a partitioned data set). If the tape does contain members of a partitioned data set (PDS), an asterisk must be specified; one file is created for each member with a filename the same as the member name. If lfOPDS or UPDATE is specified, the default filenaae is TAPPDS. The default is assumed if the filename is omitted or coded as *. ft is the filetype of the newly created files. The default filetypes are CMSUTl (for PDS or lfOPDS) and ASSEMBLE (for UPDATB). The defaults are used if ft is omitted or specified as *. fm is the mode of the disk to contain the new default filemode is Al if this field is specified as an asterisk (*). files. The omitted or If conflicting options are specified, the last one entered is used. 111 options, except TAPn, are ignored when unloaded PDS tapes are read. indicates that the tape contains members of an os partitioned data set, each preceded by a "MEMBER section 7: Format and Usage Rules for CMS Co •• ands 217 TAPPDS BAftE=naae" stateaent. The tape aust have been created by the as I!BPTPCB service prograa if this option is specified. IOPDS indicates that the tape contains one file. UPDATE provides the ".1 ADD" function of the as IEBUPDTE service prograa in your C!S virtual aachine. It indicates that the optional aaterial which is in I!BUPDTE control file format is to be loaded onto disk as CftS files. The filename of the new disk file is taken from the BA!!= parameter in the ".1 ADD" record. The tape input file can be blocked or unblocked. All records are written onto the CftS disk in fixed-length, 80-byte format. The !ID option is disabled when UPDATE is specified. The CaLl option should be used with UPDATE so that the scanning of the data starts at column one. The ".1 " aust appear in columns 1~3. All records that do not contain "./" in columns 1-3 which TAPPDS encounters after an initial "./ ADD" record, are written onto disk. Conversely, if ".1 ADD" is not found, the file is not created on disk. The "./ "records are not written as part of the file on disk. An "./ IIDUP" record causes TAPPDS to close the current file and stop processing without repositioning the tape; also, a single tape aark has the saae effect. The optional 'label' in columns 3-10 of a ".1 " record in an IEBUPDTE control file is not recognized by TAPPDS. The record is treated as a data record and included in the CftS disk file. lor the ".1 ADD" record, if the IAftE= parameter is aissing or followed by a blank, TAPPDS uses the default filename "TAPPDS" for the CftS disk file. If tbis condition occurs more than once during coamand execution, then upon coapletion of the TAPPDS co.mand only the last aember "./ ADD" without a valid Blftl= parameter is on your disk with the default filename. COL1 takes data fro. coluans 1-80; column 1 contains data. takes data from columns 2-80: column 1 contains control character information. This is the format produced by the as IEBPTPCB service program. TAPn 218 liE! is the tape unit number. TAP1 is the default tape unit nu.ber, which corresponds to the virtual address 181. There are four possible values of n: TAP1 through T1P4, indicating virtual tape drives 181 through 184. liD considers an EBD stateaent a delimiter for the current member. IBft 'ft/370: Command Language Guide for General Users T1PPDS specifies that liD statements are not to be treated as member delimiters, but are to be processed as text. BAIT!! reads up to ten meabers. PDS option is selected. This is valid only if the reads any number of members. DftSTPD7031 PILI 'fn ft [fm]' COPIID The named file is copied to disk. DftSTPD7071 Til PILlS COPIID ftlXT11 vas specified and ten members are copied. If the tape being read contains displayed at the terminal. DftSTPD003E DftSTPDOS8E DftSTPD10SS DftSTPD110S standard OS labels, the IIVILID OPTIOI 'option' RC=24 IID-OP-PILI OR BID-OP-TIPE RC=40 ERROR Inn' IRITIIG PILB 'fn ft fm' 01 DISK ERROR Inn' RB1DIIG 'TIPn(cuu)' RC=100 labels are RC=100 Section 7: Pormat and Usage Rules for CftS Commands 219 TITLIB TXTLIB Use the TITLIE command to update CftS text libraries. A text library is one which is to be searched for missing subroutines in LOAD and IRCLUDE commands. (See lote 1.) A text library is a file that has a filetype of TITLIB and contains a dictionary and one or more relocatable object programs obtained from CftS files having a filetype of TEIT. The TITLIB command: • Generates a text library. • Adds to an existing text library. • Deletes from an existing text library. • Libts the na.es and aliases or entry points and control section names and the location of the TEIT files included in the text library. The format of the TITLIB command is: TIT lib GEN libname fn1 [fn2 ADD libname fn1 [fn2 DEL libnalle ftAP ... ] ... ] membername 1 [llembername2 ••• ] r , L .J I (TE Rft) I libname I (PRINT) I I (121.§D I GEN libname fn1 [fn2 ••• ] generates a text library with the specified filename (libname) and a filetype of TITLIB from the TEIT files specified by fn1 fn2... If a file exists with the identification libname TITLIB, it is erased and a new one is created. ADD libname fn1 [fn2 ••• ] appends the contents of the files specified by fn1 fn2 ••• to the end of the existing library with the file identification libname TITLIB. Bo checking for duplicate names, aliases, entry points, or CSECT names is performed. DEL libname memberna.e1 [.embername2 ••• ] removes the text decks with lIember names (membername1, memberna.e2 ••• ) from the directory of the text library, libname TITLIB. If two .embers exist with the specified .e.bername, only the first one encountered is deleted (unless the membername is given twice in the argument list). Deletions must be performed on Definition (SD) in the text deck. 220 the IAftE or first Section 1 deletion for an alias name IBft 'ft/310: Co.mand Language Guide for General Users TXTLIB or subsequent entry point results in a not found message with no change to the member. DEL removes the member and all references to it. The file is automatically compressed the deleted members can be reused. r so that occupied by , I (TERft) ftAP libname I (PRIIT) i (DISK) L I I I .J generates the file libname ftAP on the primary disk. If a file already exists with the same identification, it is erased and the new file is created. The libnaae ftAP file contains the same information as that in the dictionary of the specified text library and is in the format of a list of entry points and control section names that reside in the text library, and their location or index in the file. The options on the command line are examined to determine if the ftAP is to be directed to the terminal (TERft), or the printer (PRIIT), or is to remain on disk (DISK). The ftAP operand of the TXTLIB command displays a statement indicating the total number of entry points and control section names that currently exist in the TXTLIB file. 1. The total number of members in the TXTLIB file cannot exceed 1000. When this number is reached, an error message is displayed. The text library created includes all the text files entered up to (but not including) the one that caused the overflow. 2. as Linkage Editor EITRY, ALIAS, and IAftE control statement are accepted. If a IAftE statement is detected, only ALIAS and IAftE 'names' are included in the dictionary for that text deck. Deletions must be performed on the IAft! 'name'. The total number of ALIAS names cannot exceed sixteen names per text deck. 3. Unlike as STEPLIB entries, CftS TXTLIB members are not fully link-edited. The loader, for either an explicit or dynamic load, attempts to resolve all external references. Por a dynamic load, if all VCOls cannot be resolved within a member, an incorrect entry point might be returned. You should explicitly load those subroutines by either CftS LOAD and IRCLUDE commands or by a VCOI in the program. Response xxx EITRIBS II LIBRARY When TXTLIB is issued, specified t~xt library number of entries in the terminal when the TXTLIB the contents of the dictionary of the are displayed at the terminal. The text library (xxx) is displayed at the ftAP command is issued. Section 7: Pormat and Usage Rules for CftS Commands 221 TITLIB DMSLBT001E DMSLBT002E DMSLBT002W DMSLBT003E DMSLBT013E DMSLBT014E DMSLBT046E DMSLBT047E DMSLBT056E DMSLBT056W DMSLBT104S DMSLBT105S DMSLBT106S DMSLBT213W 222 10 FILENAME SPECIFIED RC=24 FILE 'fn ft' NOT FOUND RC=28 FILE 'fn ft' lOT FOUND RC=4 IIVALID OPTIOI 'option' RC=24 MEMBER 'na.e' NOT FOUND IN LIBRARY 'fn ft f.' RC=32 IIVALID FUICTION 'function' RC=24 NO LIBRARY NAME SPECIFIED RC=24 10 FUICTION SPECIFIED RC=24 FILE 'fn ft f.' CONTAINS [{NAMEIALIASIENTRYIESD)] INVALID RECORD FOBMATS RC=32 FILE 'fn ft f.' CONTAINS [{NAMEIALIASIENTRYIESD)] INVALID RECORD FOBMATS RC=4 ERROR Inn' READING FILE 'fn ft fm' FROM DISK RC=100 ERROR Inn' WRITING FILE 'fn ft fm' OR DISK RC=100 NUMBER OF MEMBER RAMES EXCEEDS MAX 'nnnn'. FILE 'fn ft' ROT ADDED RC=88 LIBRARY 'fn ft f.' NOT CREATED RC=4 IBM VM/370: Command Language Guide for General Users TYPE TYPE Use the TYPE co •• and to display all or part of a specified file at the terminal in either EBCDIC or the hexadecimal representation of EBCDIC code. The format of the TYPE command is: Type fn ft [fa] r r" I recl Irecnll [(options ••• [)] ] I I ! II I .1 I II * L L °Et!.Q.!!.§: .... r, , I ,xxxxx ) I "lYYYY I II CO L< 1 >- I I I I I r L t ) l!f~cll L r , I I MEMBER I I I I L .. [HEX] .. .. fn is the filename of must be specified. the file to be displayed. This field ft is the filetype of must be specified. the file to be displayed. This field fll is the filemode of the file to be displayed. If this field is omitted, the A-disk and its extensions are searched to locate the file. In the case of files with duplicate filena.e and filetype, only the first file found is n; C:!n1 "" 'D~..:I - ....... r ........ ~'I:;i .... • recl is the record number of the first record to be displayed. This field cannot contain special characters. If recl is greater than the number of records in the file, the file length is assu.ed. If this field is omitted or entered as an asterisk, a record number of 1 is assumed. recn is the record number of the last record to be displayed. This value cannot contain embedded commas. If this field is not specified or is entered as an asterisk, display continues until end of file is reached. section 7: Por.at and Usage Rules for CMS Commands 223 TYPE COL xxxxx yyyyy displays only certain positions of each record. xxxxx specifies the beginning position and yyyyy the ending position of the field within the record which is to be displayed. If a field is not specified, the entire record is displayed unless the filetype is LISTING, in which case the first position of each record is not displayed, since it is assuaed to be a carriage control character. HEX displays the file in hexadecimal format. * } displays member (s) of a { name is a library, a eEeBER library. If the file specified entry can be specified. If an asterisk (*) is specified, all members of the library are displayed. If a name is specified, only that particular member is displayed. The file is displayed specifications. DeSTYP002E DeSTYP003E DMSTYP005E DMSTYP009E DMSTYP013E DMSTYP029E DMSTYP033E DMSTYP039E DMSTYP049E DMSTYP054E DMSTYP062E DMSTYP104S 224 at the terminal according to the FILE 'fn ft fm' NOT FOUND RC=28 INVALID OPTION 'option' RC=24 INVALID 'option' SPECIFIED RC=24 COLueN 'col' EXCEEDS RECORD LENGTH RC=24 MEeBER 'name' NOT FOUND IN LIBRARY RC=32 INVALID PARAMETER 'para.' [IN THE OPTION 'option' RC=24 FILE 'fn ft fm' IS NOT A LIBRARY RC=32 NO ENTRIES IN LIBRARY 'fn ft fm' RC=32 INVALID LINE NUMBER 'line number' RC=24 INCOMPLETE FILEID SPECIFIED RC=24 INVALID IN FILEID RC=20 ERROR 'nne READING FILE 'fn ft fm' FROM DISK RC=100 * IBM VM/370: Com.and Language Guide for General Users given FIELD] GC20-1804-3 Page Modified by TNl GN20-2659 UPDATE UPD~.TE Use the UPDATE command to modify program source files. The source files should be stored as 80-character card-image files with sequence fields in record positions 73 to 80. The UPDATE command accepts a source input file and one or more files containing update control statements and update source records. ~n~ UPDATE command creates an updated source output file, an update log file indicating what changes, if any, were made, and an update record file if more than a single update file is applied to the input file. Updates may be applied either permanently output file replaces the source input file), or case the updated output file has the name 'Sfn', name of the input source file. The format of the (that is, the updated temporarily, in which where Ifni is the file UPDATE command is: ._--, r---- ,----------------------------------------------r r " Update fnl Ift1 Ifml [fn2 [ft2 [fm2]]]l1 [(options ••• [)]] IASSEMBlE IAl II L ---,..----- QE1!Q!!~: L r , IREP I I!Q!!!fl L r ISTK .J , I I!Q~±~I L .J r , .J .J , r I I.§!H!!! INOSEQ81 IINC L L r .J , ITERM I INOTERM I L .J I I!Q!!~I .J r I~!.§~ , I tPRINT I L .J r ICTl , I I!Q~±~I L .J r , ISTOR I tNOSTORI L .J fn 1 ft 1 f.l is the filename, filetype, and filemode of the source input file. If the file mode or filetype is omitted, 'Al' and 'ASSEMBLE' are assumed, respectively. fn2 ft2 fm2 is the filename, filetype, and file.ode of the file containing the update control statements and updated source records, or, if the CTl option is specified, specifies the filename, filetype, and filemode of the update control file to be used for a multiple update. The defaults are fnl UPDATE 11 if NOCTl is in effect, and fn1 CNTRl A1 if CTl is specified. REP replaces with the source file. source input file with the updated retains the old file in its original form, and assigns a different filename to the new file, consisting of a dollar sign (S) plus the first seven characters of the input filename (fnl). section 7: Format and Usage Rules for CftS Commands 225 GC20-1804-3 Page Modified by TNL GN20-2659 UPDATE specifies that the entire sequence field (columns 73 through 80) contains an 8-digit sequence number on every record of source input. NOSEQ8 specifies that columns 73-75 contain a 3 character label field, and that the sequence numter is a 5-digit value in columns 76-80. INC puts sequence numbers in columns 73 through 80 updated record inserted from the update file. of each puts asterisks (********) in the sequence number field of each updated record inserted from the update file. CTL specifies that fn2, ft2, and fm2 describe an update control file for applying multiple update files to the source input file (see the "Control statement Formats" section that follows). ~2igl The CTL option implies the INC option. specifies that a single update file is to the source input file. STK be applied to stacks information resulting from a multiple update at your CMS console. This information can then be read by a CMS EXEC procedure. STK is used only with the CTL option. specifies that no external update results is desired. communication of the multiple displays warning messages at the terminal whenever a sequence or update control card error is discovered. (Such warning messages appear in the update log, whether they are displayed at the terminal or not.) NOTERM suppresses the displaying of warning messages at the terminal. However, error messages which terminate the entire update procedure are displayed at the terminal. places the update log file on disk. This file has a file identification "fn UPDLOG", where "fn" is the filename of the file being updated. 226 PRINT prints the printer. update log file directly on STOR specifies that the source input file is to be read into storage and the updates performed in storage prior to placing the updated source file on disk. This option is meaningful only when used in conjunction with CTL option since the benefit of increased processing speed is realized when processing multiple updates. STOR is the default when CTL is specified. NeSTOR specifies that no updating is to take place in storage. NOSTOR is the default when performing single updates or when CTL is omitted from the command line. IBM VM/370: Command Language Guide for General Users the virtual GC20-1804-3 Page Modified by TNL GN20-2659 UPDATE The UPDATE control statements let you insert, delete and replace source records, as well as resequence the output file. All UPDATE control statements are identified by the characters '.j' in columns 1 and 2 of the 80-byte record, followed by one or more blanks and a maximum of 6 additional, blank-delimited fields. Control statement data must not extend beyond column 50. All references to the sequence field of an input record refer to the numeric data in columns 73-80 of the source record, or columns 76-80 if NOSEQ8 is specified. Leading zeros in sequence fields are not required. If no sequence numbers exist in an input file, a preliminary UPDATE with only the ' . j S' control statement can be used to establish file sequencing. section 7: Format and Usage Rules for CMS Commands 226.1 UPDATE Any sequence fields in the update control statements are ignored; if the BOIBC option is specified, all sequence fields in the update file are ignored, including those on inserted records. If the INC option is specified, sequence fields for the inserted records are either generated by UPDATE, if the dollar-sign ($) delimiter is used, or are included intact from the update file if the dollar sign ($) is not used. Changes are made sequentially in a single pass through the input and update files; an error condition results if any sequence errors occur in the update control statements, and warnings are issued if an error is detected in the sequencing of the input file. Any source input records with a sequence field of eight blanks are skipped, without any indication of a sequence error. Such records may be replaced or deleted only if they occur within a range of records that are being replaced or deleted entirely and if that range has limits with valid sequence numbers. There is no means provided for specifying a sequence £ield of blanks on an update control statement. -- resequences the updated source output file in columns 73-80 (if SEQ8 is specified), or in columns 76-80 with the label placed in columns 73-75 (if NOSEQ8 is specified). If this statement is included in the update file, it must be the first control statement. The for.at of the sequence control statement is: ~~~~~~ Co~!~~J Sta!~~~nt ./ S [seqstrt [seqincr [label]]] seqstrt a one- to eight-digit numeric field specifying the first decimal sequence number to be used. The default value is 1000 if SEQ8 is specified and 10 if NOSEQ8 is specified. seqincr a one- to eight-digit numeric field specifying the decimal increment for resequencing the output file. The default is the 'seqstrt' value. label a 3-character field to be duplicated in columns 73-75 of each source record if NOSEQ8 is specified. The default value is the first three characters of the input filename (fnl). An error is indicated if any valid control statement precedes the ./ S state.ent in the update file, and the resequence operation is suppressed. Each source record is resequenced in columns 73-80 as it is written onto the output file. Both unchanged records from the input file and records inserted from the update file are resequenced. Section 7: Pormat and Usage Rules for CMS Commands 227 UPDATE Insert control statement -- inserts all next-controI-stateaent:-into the output control statement is: records following it, up to the file. The for.at of the Insert r----------------------------------------------, .1 I seqno [$ [seqstrt [seqincr]]] I seqno is the sequence nuaber of the source input following which the insertion is to be made. $ optional delimiter indicating that the inserted records are to be sequenced incrementally. seqstrt a one- to eight-digit numeric field specifying first deciaal number to be used for sequencing inserted records. seqincr a one- to eight-digit numeric field specifying the decimal increment for sequencing the inserted records. record the the All records following the ".1 I" statement, up to the next control state.ent, are inserted in the output file following the record identified by the "seqno" field. If the BOIIC option is specified, each inserted record is identified with asterisks (********) in coluans 73-80. If either the IIC or CTL option is specified, the records are inserted unchanged in the output file, or they are sequenced according to the "seqstrt" and "seqincr" fields, if the dollar sign ($) key is specified. The default sequence increment, if the dollar sign is included, is determined by using one tenth of the least significant, non-zero digit in the seqno field, with a aaxiaum of 100. The default seqstrt is computed as seqno plus the default seqincr. For exaaple, the control statement: .1 I 2600 $ 2610 causes the inserted records to be sequenced 11102610, 11102620, and so forth (NOSEQ8 assumed here). For the control statement: ./ I 240000 $ the defaulted seqincr is the maxi.un, 100, and the starting sequence number is 240100. SEQ8 is assumed, so the inserted records are sequenced 00240100, 00240200, and so forth. If either INC or CTL is specified but the dollar sign is not included, whatever sequence number appears on the inserted records in the update file is included in the output file. 228 IB8 V8/370: Command Languag~ Guide for General Users UP£ATB Delete Control statement -- deletes one or more records from the source fIle:- The-format of-the Delete control statement is: .1 D seqnol [seqn02] [$] seqnol is the sequence number identifying record to be deleted. seqn02 is the sequence deleted. $ is an optional control fields. number of the the first last delimiter indicating record the or only to end of be the All records of the input file, beginning at seqnol, are deleted from the output file, up to and including the seqn02 record. If the seqn02 field is oaitted, only a single record is deleted. ReEl!£! £2n!I2! sta!~~nt -- replaces one or more input records with updated records froa the update file. The format of the Replace control statement is: .1 I R seqnol [seqn02] [$ [seqstrt [seqincr]]]1 I seqnol is the sequence number of the replaced. seqn02 is the sequence replaced. $ is an optional delimiter key indicating that the substituted records are to be sequenced incrementally. seqstrt a one- to eight-digit numeric field specifying first deciaal nuaber to be used for sequencing substituted records. seqincr a one- to eight-digit nuaeric field specifying the deciaal increment for sequencing the substituted records. number first input record to be of the last record to be the the All records of the input file, beginning with the seqnol record, up to and including the seqn02 record, are replaced in the output file by the records following the ".1 R" statement in the update file, up to the next control statement. As with the ".1 D" (delete) function, if the seqn02 field is omitted, only a single record is replaced, but it aay be replaced by more than a single inserted record. The ".1 R" (replace) function is perforaed as a delete followed by an insert, such that the number of statements inserted need not match the number deleted. The dollar sign ($), seqstrt, and seqincr processing is identical to that for the insert function. section 7: Poraat and Usage Rules for CftS Co.aands 229 UPDATE Co~! ~ta!~~ent~ ,I • / * --The for.at of the Comment statement is: * [ co.ment ] indicates that this be ignored, except file. is a co •• ent state.ent, and is to that it is copied into the log The following sections describe the files used and created by the UPDATE command, and the placement of the files created. INPUT PILES WHEN ~ SINGLE UPDATE IS TO BE APPLIED: When the CTL option Is-nQt-specifled 1n the-UPDiTi-com;and~ line;-only one update is applied to the source file. The input files are: • The source file, which is to be updated. The filename of this file must be specified in the co •• and line. The filetype and file.ode default to ASSE8BLE and A1, respectively, unless overridden by the command line. • The update file, whose control statements have been described in the preceding section. The filename of this file defaults to the filename of the source file, and the filetype and file.ode default to UPDATE and A1, respectively. All three may be overridden by the command line. OUTPUT PILES WHEN A SINGLE UPDATE IS APPLIED: When a single update is applied-to-the-source-file, the-following-output files are created: • An updated source file is created. "Sfn" becomes the nalle of this file, where "fn" is the filename of the original source file, unless the REP option is specified. When the REP option is specified, the filename of this file becomes "fn". (Por exceptions, see the "Warning and Error Handling" section that follows.) • An update log, showing all transactions and errors, is created. The filename of the file is the filename of the original source file, and the filetype of this file is UPDLOG. Note, however, that if the PRINT option is specified with the co.m~nd line, then the update log is printed directly on the virtual spooled printer, and no disk file is created. INPUT PIl!ES WHI! 8U!!1!LEVEL ,!!PD!TE,§ A!!~ !~~LI~~: When the CTL option is specified on the co.mand line, multilevel updates are applied to the source file. In this case, the following files are input to the UPDATE command: • 230 A source file, specified for a single update. in exactly the salle way as IB8 V8/370: Co •• and Language Guide for General Users the source file UPDATE • A control file that controls what updates are applied, and the order in which they are to be applied. The filename of this file defaults to the filename of the source file, and the file type and filemode default to CITBL and A1, respectively. All three may be overridden by the command line. This file contains, in its control statements, pointers to update files, PTP files, and auxiliary files (these are described in "The CTL option" section). • One or more update files, as specified by the control filename of these files is the same as the filename of file. The filetype of these files is "UPDTxxxx". • Auxiliary files, as specified by the control file. The filename of these files is the same as the filename of the source file. The filetype of these files is "AUXxxxx". The filetype can be specified as either 'AUXnnnn l or 'nnnn AUX'. If you use the second fora, the first three characters may not be 'lUX'. The auxiliary files contain additional control statements pointing to PTP files. The format of the auxiliary files is described in a later section, "The CTL Option." • PTP files, as specified by either the control file or the auxiliary files. The filename of these files is the same as the filename of the source file. The filetype is specified in full by the control file or the auxiliary file. In format, these files are identical to ordinary update files. file. The the source OUIRYI l!11~ !~EI ~Y1I!11V!1 UPRATES !Il !PP1!J~: When the CTL option is specified, the following output files are created by the UPDATE command: • An updated source file, as in the case of a single update. • An update log, as in the case of a single update. • An UPDATES file. This file has the filename of the original source file, and a file~ype of UPDATES. It contains sum.ary information about which updates were applied to the file, and is intended to be concatenated onto the assembly text deck for documentation and information purposes. • Although not a disk file, additional "output" is produced in the form of lines placed in the terminal read stack, for interrogation by an EXEC file which may have invoked the UPDATE co.mand. These lines are placed there only if the STK option is specified. AQRJ QI OUTPUT lItES: If. there are several read/write disks accessed when the UPDATE command is invoked, the following steps are taken to determine the disk upon which the output files are to be placed (the search ~tops as soon as one of the following steps is successful): ~lSK • If the disk on which the original source file resides is read/write, then the output files are placed on that disk. • If that disk is a read-only extension of a read/write disk, then the output files are placed on that particular read/write disk. • Otherwise, the output files are place (the A-disk) • on the primary read/write disk section 7: Format and Usage BuIes for eftS Commands 231 UPDATE If the NOCTL option is specified or defaulted, UPDATE processes one input file and one update file to produce an updated source output file and an update log file containing a record of what changes were .ade. This .ode of operation is suitable for testing modifications prior to incorporating them in the base source code, providing that only one set of changes has to be tested at a tiae. If, for any reason, more than one set of changes is outstanding against a single source input file, the difficulties in managing that base code can multiply very rapidly. lor this reason, UPDATE provides the CTL option, which has a multilevel update control and aanagement scheme developed for updating Y!/370 distributed source code, and may be used wherever its advantages are felt. The major components of the multilevel update scheme are: • A set of base source code which is not permanently changed. • A set of update files for each source specific order. • One or more CNTRL files that describe the updates to be applied to each source file. • Optionally, one or more auxiliary control files, each pertaining to a specific source file. file that must be applied in a order or priority of An integral part of the multilevel update scheae is a naming convention for the update files themselves, and for any TEXT files produced by assembling or compiling the updated output files. In normal usage, any update file bas the filenaae of the source file to which it applies and the filetype of UP£ATE. When the CTL option is used to invoke the aultilevel update controls, the filenaae usage becomes a requireaent, such that the update files must have the filename of the source file to which they apply, but the filetypes are modified to distinguish between separate update levels. The filetype for an update file is constructed froa UPDT plus a one- to four-character update identifier. lor example, if the command UPDATE D!SUPD ASSE!BLB Al 14 eNTRL 11 (CTL is issued, the source file is D8SUPD ASSE!BL! Al and the control file is X4 CNTRL Al. Assuae that the control file contains three update files, naaed "D!SUPD UPDT750", "D8SUPD UPDTX4", and "D!SUPD UPDT009." The CNTRL file specifies which update files are to be applied to the source file and in what order they are to be applied, on the basis of the update identifier. Another identification para.eter, the update level identifier, is used when naaing a TEXT file produced from the updated source file. The update level identifier is specified by the CNTRL file and is associated with a specific update identifier, also in the CNTRL file. Por exa.ple, a file naaed X4 CNTRL, to apply the above .entioned updates to D!SUPD ASSB!BLE, aight appear as follows: OOD X4D 75X 009X 232 !ACS D8SLIB UPDTX4 UPDT750 UPDT009 SYSLIB IB! Y8/370: Coa.and Language Guide for General Users UPDATE This control file applies the updates DMSUPD UPDT009, DMSUPD UPDT750, and DMSUPD UPDTX4, in that order, to the file DMSUPD ASSEMBLE. The updates are applied in reverse order as they appear in the CHTRL file, that is, the lowest level of update is at the bottom of the file, and the highest level update is at the top. As the CBTRL file and update files are processed, the UPDATE co.mand displays the following message at the terminal: DMSUPD178I UPDATING ['fn ft f.'] WITH 'fn ft fm' for each update file which is applied to the source input during the multilevel update; the bracketed expression is displayed only for the first update. In the above example, the fields X4D, 75X, and 009X are the update level identifiers, associated with the UPDTX4, UPDT750, and UPDT009 update identifiers, respectively_ According to the naming convention for VM/370 TEXT files, the result of assembling the updated $DMSUPD ASSEMBLE file would be named DMSUPD TXTX4D, where the X4D is the update level identifier of the highest-level update applied. The TXT portion of the filetype indicates that this is a TEXT file, but allows up to a five-character update level identifier. The STK option is provided for use with the multilevel update invoked via the CTt option, primarily for communication with CMS EXEC procedures which invoke UPDATE. If the CTL and STK options are specified, UPDATE places two lines of data in the CMS terminal read stack, as follows: first line = second line = * * update level identifier library list from 'MACS' record These lines are placed in the terminal read stack via the CMS ATTN function, and are available to an invoking EXEC procedure via the EXEC control words &READ ARGS or &R!AD VARS. The first line, the update level identifier, ~s the level identifier of the highest level update applied; this is the TEXT file filetype-modifier used by the VM/370 update procedures. The second line consists of the list of libraries specified on the MACS record in the CBTRL file. The library search order for an assembly or compilation can be established by issuing the GLOBAL com.and using the library list returned. If the NOSTK option is used with the multilevel update, no data is made available to external procedures and the update level identifier has no meaning_ Section 7: Pormat and Usage Rules for CMS Commands 233 UPDATE If the command update proga assemble * proga cntrl * (ctl stk) is issued and the contents of the PROGA CNTRL file are * THIS IS AN EIAftPLE OF A CONTROL FILE OOD ftACs BILIB SIS LIB * FII POR SAVING ALL REGISTERS OOA UPDTLVL4 PTP A7300Dfts * AUX FILE CONTAINING UPDATES POR B1 FEATURE OOB AUILVL3 and the contents of the PROGA AUILVL3 file are * PTF A2330Dfts PTl A2330Dfts * PTF A091SDBs CONTAINS FUNCTIOIAL CODE FOR B1 COITAIls BRROR ftEssAGBs lOR B1 PTP A091SDfts The files listed below are used to update PROGA AssEBBLE in the order indicated. !i!!1!~!§ PROGA PROGA PROGA PROGA !i!!iI~ A091SDBs A2330Dfts A7300Dfts UPDTLVL4 The resultant output file SPROGA AssBBBLE contains the updates from the four files listed. In addition, two lines are placed in front of the CBS terminal read stack: * * OOA ftlLIB SIS LIB If the UPDATB command shown followed by the BIBC com.ands: was issued from an EXEC procedure and &RBAD VARs &11 &12 &RBAD VARs &13 &14 &15 then &11 &12 &13 &14 &15 =* = OOA =* = ftlLIB = SIS LIB In this example, the UPDATB command was entered from the terminal and the stacked lines are ignored by Cfts. 234 IBB Vft/370: Command Language Guide for General Users UPDATE The UPDATE command detects a nuaber of invalid requests, and decides whether they should be treated as warning situations or as errors. The following is a general description of the handling of these situations, and the return codes associated with each. SE~YI!CI!2 !]~ UPDATE ~OIIj2~ ~!~ IB!OR~: These errors are treated as "Yarning situations. n That ~S, a warning .essage is generated, and processing continues. The warning messages are printed in the update log, and are displayed on the terminal unless the IOTEBft option is specified in the coamand line. The errors are: • Input sequencing errors (return code = 4). The input source file contains sequence errors (sequence numbers in nonascending order) • • Output sequencing errors (return code = 8). The updating procedure introduces new sequencing errors into the output source file • • Invalid update control statements (return code = 12). The update file contains invalid control statements. Erroneous statements in control files cause the update procedure to terminate. If more than one such error is detected, the UPDATE co.mand returns the highest return code (4, 8, or 12) encountered. If any such error is detected, the REP option, if specified, is ignored, and the update source file retains the filenaae "$fn", as if IOBIP was in effect. OTHER ERRORS: Other errors are invalid control file stateaents, invalid file foriats, and disk input/output errors. The UPDATE comaand processing is terainated as soon as the error is detected. The return code is always 20 or greater. If any such error is detected, the update file is left with the filename UPDATE and the filetype CftSUT1, so that you may exaaine or otherwise aake use of it. This file aust be erased before the UPDATE co ••and can be invoked again. PILE 'fn ft fa,' REC In = update control stateaent This aessage is displayed when the TEB! option is specified and an error is detected in an update file. It identifies the file and record nuaber where the error is found. DftSUPD177I WABIIIG IGIOBED. ] ftESSAGES ISSUED (SEVEBITY=nn). ['REP' OPTIOI updating process. the 'nn' field is The the Section 7: Poraat and Usage Rules for CftS Co •• ands 235 Warning aessages were issued severity shown in the error during the message in OPDATE highest of the return codes associated with the warning aessages which were generated during the updating process. The warning return codes have the following meanings: RC = 4; Sequence errors were being updated. detected in the original source file RC = 8; Sequence errors which did not previously exist in the source file being updated were introduced in the output file during the updating process. RC = 12; Any other nonfatal error detected during the updating process has a return code of 12. Such errors include invalid update file control statements, and missing PTF files. The severity value is passed back as the return code fro. the UPDATE command. In addition, if the REP option is specified in the co •• and line, then it is ignored, and the updated source file has the fileid "Sfn1 ft1", as if the RBP option was not specified. DftSUPD1781 OPDATIIG ['fn ft fm'] WITH 'fn ft fa' The specified update file is being applied to the source file. This message appears only if the CTL option is specified in the command line. The updating process continues. DftSUPD001E DftSOPD002E DftSUPD003E DftSUPD007E DMSUPD010W DftSUPD024E DftSUPD037E DftSUPD048E DftSUPD065B DftSUPD066B DftSUPD069E DftSUPD070E DftSUPD104S DftSUPD105S DftSOPD174W DftSOPD176W DftSUPD179E DftSUPD180W DftSOPD181E DftSUPD182W DftSUPD183B DftSUPD184W DftSUPD185W DftSOPD186W DftSUPD187E DftSOPD207W DftSUPD210W 236 NO FILENAftE SPECIFIED RC=4 FILE 'fn ft fm' BOT FOOND RC=28 INVALID OPTIOB 'option' RC=24 FILB 'fn ft fa' IS BOT FIXBD, 80 CHAR. RECORDS RC=32 PREftATURE EOF OF FILE 'fn ft fa' --SEQ NUftBBR , ••••••••• NOT FOUID RC=12 FILE 'UPDATE CftSOT1 f.' ALREADY EXISTS RC=24 DISK IA' IS READ/OBLY RC=36 INVALID ftODE ·.ode· RC=24 'option' OPTIOI SPECIFIBD TWICE RC=24 'option' AND 'option' ARE CONFLICTIBG OPTIONS RC=24 DISK 'A' BOT ACCESSED RC=36 INVALID PARAftETER ·para.· RC=24 ERROR 'nn' RBADIBG FILE 'fn ft fm' FROM DISK RC=100 BRROR 'nn' WRITING FILE 'fn ft fa' ON DISK RC=100 SEQUBICE BRROR IBTRODUCED IN OUTPUT FILE: •••••••• TO ••••••••• RC=8 SEQOEICIIG OVERFLOW FOLLOWING SBQ BOMBER· •••••••• • RC=8 ftISSING OR DUPLICATE 'ftICS' CARD IN COBTROL FILB 'fn ft fa' RC=32 ftISSING PTF FILE 'fn ft f.' RC=12 10 UPDATB PILBS WBRB POUID RC=40 SEQUENCE INCREftENT IS ZERO RC=8 IBVALID {COJTROLIAUX} FILE CONTROL CARD RC=32 './S • NOT FIRST CARD IN INPOT PILE --IGNORED RC=12 IBVALID CHAR II SBQUEBCE FIBLD •••••••••• RC=12 SEQOENCE NOftBER •••••••••• NOT POOND RC=12 OPTION 'STK' INVALID WITHOUT 'CTL' RC=24 IIVALID UPDATB PILB CONTROL CARD RC=4 IBPUT FILE SEQUENCE ERROR: ••••••••••• TO •••••••••• RC=4 IBft VM/370: Command Language Guide for General Osers GC20-1804-3 Page Modified by THL GN20-2659 IMMEDIATE COMMANDS IMMEDIATE COMMANDS An IMMEDIATE command is issued after an Attention interrupt is given to CMS by pressing the Attention key (or its equivalent). such commands are processed immediately upon entry from the ter.inal or on being 'stacked' by an EIEC procedure. Any program execution in progress is suspended until the immediate command is processed. The com~ands are HB (hal t batch execution), HO (halt SVC tracing), HT (halt typing), HI (halt execution), RO (resume tracing), RT (resume typing), and SO (suspend tracing temporarily). I HB Use the HB co •• and to stop the execution of a CMS Batch virtual machine at the end of the current job. If the virtual machine is running in disconnect mode, it must be reconnected. Press the Attention Key to stop program execution and enter the command. CMS sets a flag such that at the end of the current job, the batch processor generates accounting information for the current job and then logs out the eMS Batch virtual machine. HB Hone. HO Use the HO co •• and during the execution of a command or one of your programs to stop the recording of trace information. In order for the HO co.mand to be recognized, it must be entered after you stop progra. execution by an Attention interrupt. Program execution continues to its normal completion, and all recorded trace information is spooled to the printer. The format of the HO command is: r-------------------------------------------------------------------------, IL---________ BO • _______________________________________________________________ Hone. Section 7: format and Usage Rules for eMS eom.ands 237 GC20-1804-3 Page Modified by TNL GN20-2659 IMMEDIATE CO~MAIDS HT Use the HT command to suppress all terminal output generated by any C~S command or your program that is currently executing. In order for the HT command to be recognized when entered, an Attention interrupt must be simulated by pressing the Attention key or its equivalent. Program execution continues. With typewriter terminals, the Attention key unlocks the keyboard to accept your HT command. with display terminals, you enter the HT command in the input area and then press the Enter key. When the Ready message is displayed, normal terminal output resumes. The format of the HT command is: HT L-_________________________________ _____________________-J Bone. HX Use the HI command to stop the execution of any CMS command or your programs under CMS, close any open files or I/O devices, and to the CMS command environment. In order for the HI command recognized, it must be issued after you stop program execution Attention interrupt. The HI command is executed when the next I/O interrupt occurs. All terminal output generated before executed is displayed before the command is executed. The format HI command is: .- I HI -.I L- lone. 238 one of return to be by an SVC or HI is of the IBM VM/370: Command Language Guide for General Users GC20-1804-3 Page Modified by TNL GN20-2659 IMMEDIATE COMMANDS HO Use the HO command, during the execution of a command or one of your programs, to resume the recording of trace information that was temporarily suspended by the SO command. In order for the HO command to be recognized, it must be entered after you stop program execution with an Attenion interruDt. Proaram eye~ution ~ontinn~~ to its normal completion, and all· reco~de~ ~tr~~~-i~i~~maii~~--i~- s~~oled to the printer. The format of the HO command is: ---, r- I I BO L-______ J None. HT Use the HT command to restore terminal displaying from an executing CMS command or one of your programs that was previously suppressed by the HT command. In order for the HT command to be recognized when entered, an Attention interrupt must be simulated by pressing the Attention key or it equivalent. Program execution continues, and displaying continues from the current point of execution in the program. Any console output that is generated after the HT command is issued and up to the time the RT command is issued is lost. Execution continues to normal program completion. The format of the RT command is: r- I RT L- Bone. section 7: Format and Usage Rules for CMS Commands 239 GC20-1804-3 Page ftodified by TIL GR20-2659 IftftEDIATE COftftAIDS so Use the SO co •• and during the execution of a command or one of your programs to temporarily suspend the recording of trace inforaation. Tracing resumes if you issue the BO command at a later time. In order for the SO co •• and to be recognized, it must be entered after you stop program execution with an Attention interrupt. Program execution continues to its nor.al completion and all recorded trace inforaation is spooled to the printer. The format of the SO command is: r-------------------------'---------------------------------------------------, I so L-________________________ None. 240 IBM VM/370: Command Language Guide for General Users Section 8: Format and Usage Rules for CP Commands CP Command 'Privilege Classes The CP co •• ands are divided into eight privilege classes, each class representing a different type of user. Each user is assigned, as part of his entry in the YK/310 directory, one or .ore privilege classes. Pigure 33 shows the function of each class. The footnotes following the privilege class indicate where the co ••ands of that particular privilege class are described. Pigure 34 shows which co •• ands (and which operands, if the co •• and varies for different privilege classes) are associated with each class. only class G co •• aDds and class Any co •• ands are included in this publication. section 8: Por.at and Usage BuIes for CP Co •• ands 241 Class User and Function R~i!~~ ~I§!~ 0Eerato~: Al The class A user controls the VM/370 system. Class A is assigned to the user at the VM/370 system console at IPL time. The priaary system operator is responsible for the availability of the VM/370 system and its communication lines and resources. In addition, the class 1 user controls system accounting, broadcast messages, virtual machine perforaance options and other coaaand operands that affect the overall performance of VM/370. !~!~: The class 1 system operator who is automatically logged on during CP initialization is designated as the primary System Operator. Bl aI§!~! Cl,2 ~I§!~ Pr~~~~~: Dl aEQQ!in~ Q~!£!to~: The class D user controls spool data files and specific functions of the system's unit record equipment. El,2 ~~§!§! Fl,3 a!Dice BeE~!§~~tiy!: The class F user obtains and examines in detail, certain data about input and output devices connected to the VM/370 system. BesQ!!£! 0Ee£!!or: The class B user controls all the real resources of the VM/370 system, except those controlled by the primary system operator and spooling operator. G4 The class C user updates certain functions of the V8/370 system. Ana1I§!: The class E user exaaines and saves certain data in the V8/370 storage area. General User: The class G user controls functions associated the-eiecution of his virtual machine. with Anyl,4 !~y y§!~: The class Any user has limited use of VM/370 to gain initial access to the V8/370 system. B Reserved for IBM use • lDescribed 2Described 3Described 4Described Figure 33. 242 in in in in the !AL~IQ: .QEe~ato.!..!.§ Guid!. the llL37Q: ayst.!.! Prog!.!.!.!~!§ Gui~!. the !lIL37Q: .QLTSB,R and jYQ! ~~~!J!.g ID!!g! • this publication. CP privilege Class Descriptions IBM VM/370: Command Language Guide for General Users I I I I I GC20-1804-3 Page Modified by TNL GN20-2659 r ., Class any Commands I Operands I ~ I Class *tcp CP DIAL DISCONN LOGOff LOGON MESSAGE SLEEP 11 n Commands ACNT DISABLE ENABLE fORCE HALT LOCK MESSAGE MCIHTOR NETWORK QUERY SET QUERY ALL DISPLAY ENABLE INTERVAL START STOP DISABLE DISPLAY DUMP ENABLE HALT LOAD POLLDLAY QUERY SHUTDOWN VARY LOGMSG NAMES PRIORITY SASS 1ST userid USERS FAVORED PRIORITY RESERVE SASSIST SET ATTACH ATTACH DETACH DETACH DISABLE ENABLE MESSAGE NETWORK LOGMSG C QUERY LOGMSG NAMES userid USERS STCP D BACKSPAC CHANGE DRAIN fLUSH fREE HOLD LOADBUF ORDER PURGE QUERY CHANNEL FILES HOLD LOGftSG NAftES PRINTER PUNCH READER UR use rid USERS REPEAT SPACE START TRANSFER CHANNEL ALL DISABLE DISPLAY DUMP ENABLE LOAD POLLDLAY QUERY SHUTDOWN VARY ALL DASD DUMP GRAF LINES LOGMSG NAMES raddr SPOOL STORAGE SYSTEM TAPES TDSK UR userid USERS DUMP VARY WARNING SHUTDOWN UNLOCK WARNING B Operands E DCP DftCP INDICATE I/O LOAD PAGING QUEUES USER '- Figure 34. COllllands Accepted from Each User Class (Part 1 of 2) Section 8: Forllat and Usage Rules for CP Commands 243 GC20-1804-3 Page Modified by TNL GN20-2659 .-- I Class Commands LOCATE MONITOR QUERY F SAVESYS NETWORK QUERY SET G ADSTOP ATTN BEGIN CHANGE CLOSE COUPLE DEFINE DETACH DISPLAY DUMP ECHO EXTERNAL INDICATE IPL LINK LCADVFCB NOTREADY ORDER PURGE QUERY Operands Class Commands LINKS LOGMSG NAMES PFnn PRINTER PUNCH READER SET TERMINAL TIME userid USERS VIRTUAL DISPLAY ENABLE INTERVAL START STOP LOGMSG NAMES PAGING PRIORITY SASS 1ST userid USERS TRACE LOGMSG NAMES userid USERS RECORD MODE LOAD USER Operands READY REQUEST RESET REWIND SET SPOOL STORE SYSTEM TAG ACNT ASSIST ECMODE EMSG IMSG ISAM LINEDIT MSG NOTRANS PAGE X PFnn PFnn COpy PFnn TAB RUN TIMER WNG DEV FILE QUERY TERMINAL TRACE TRANSFER CHANNELS FILES L-- Figure 34. 244 Commands Accepted from Each User Class (Part 2 of 2) IBM VM/370: Command Language Guide for General Users CP Command Summary This section contains descriptions of the commands acceptable in the control program environment. Figure 35 presents an alphabetical list of the commands, the privilege classes which may execute the command, and a brief statement about the use of each command. ------, r------I I Command * iCP ACNT ADSTOP ATTACH IPrivilegel Usage I Class I I any IAnnotate the console sheet. I any IExecute a CP command while remaining in the I virtual machine environment. I ICreate accounting records for logged on users A I and reset accounting data. I IHalt execution at a specific virtual machine G I instruction address. I Attach a real device to a virtual machine. B Attach a DASD device for CP control. Dedicate all devices on a particular channel to a virtual machine. ATTN G Make an attention interrupt pending for the virtual machine console. BACKSPAC D Restart or reposition the output of a unit record spooling device. BEGIN G Continue or resume execution of the virtual machine at either a specific storage location or at the address in the current PSi. CHANGE D,G Alter one or more attributes of a closed spool file. CLOSE G Terminate spooling operations on a virtual card reader, punch, printer, or console. COUPLE G Connect channel-to-channel adapters. CP any Ignored. DCP E Display real storage at terminal. DEFINE G Reconfigure your virtual machine. DETACH B B B Disconnect a real device from a virtual machine. Detach a DASD device from CP. Detach a channel from a specific user. Detach a virtual device from a virtual machine. G DIAL any DISABLE A,B Figure 35. IConnect a terminal or display device to the I virtual machine's virtual communication line. I IDisable 2701/2702/2703 and 3270 communication I lines. CP Command Summary (Part 1 of 4) section 8: Format and Usage Rules for CP Commands 245 GC20-1804-3 Page Modified by TNL GN20-2659 r-------------------------------------------------------------------------~ Command DISCONN DISPLAY t I Privilege I I I Class ----1---any G Usage IDisconnect your terminal from your virtual I machine. I IDisplay virtual storage on your terminal. I DMCP E DRAIN D Halt operations of specified spool devices upon completion of current operation. DUMP G Print on virtual printer: virtual PSi, general registers, floating-point registers, storage keys, and contents of specified virtual storage locations. ECHO G Test terminal hardware by redisplaying data entered at the terminal. ENABLE A,B EXTERNAL G FLUSH D FORCE A FREE D HALT 1 HOLD D Defer real spooled output of a particular user. INDICATE E,G Indicate resource utilization and contention. IPL G Simulate IPL for a virtual machine. LINK G Provide access to a specific DASD device by a virtual machine. LOADBUF D Load real UCS/UCSB or FCB printer buffers. LOADVFCB G Load virtual forms control buffer for a virtual 3211 printer. LOCATE E Find CP control blocks. LOCK 1 Bring virtual pages into real storage and lock them; thus excluding them from future paging. LOGOFF any LOGON MESSAGE Figure 35. 246 Dump the specified real storage location on your virtual printer. IEnable communication lines. I ISimulate an external interrupt for a virtual I machine and return control to that machine. I ICancel the current file being printed or punched I on a specific real unit record device. I ICause logoff of a specific user. I IRemove spool HOLD status. I Terminate the active channel program on specified real device. IDisable access to CP. I any IProvide access to CP. I 1,B,any ITransmit messages to other users. CP Command Summary (Part 2 of 4) IBM VM/370: Command Language Guide for General Users GC20-1804-3 Page Modified by TNL GN20-2659 Command IPrivilegel I Class I Usage MONITOR A,E Trace events of the real machine and record system performance data. NETWORK A,B,P Load, dump, trace and control the operation of the 3704/3705 control program. NOTREADY G simulate "not ready" for a device to a virtual machine: ORDER D,G Rearrange closed spool files in a specific order. PURGE D,G Remove closed spool file from system. QUERY A,B,C,D, Request information about machine configuration E,F,G and system status. READY G Simulate device end interrupt for a virtual device. REPEAT D Repeat (a specified number of times) printing or punching of a specific real spool output file. REQUEST G Make an attention interrupt pending for the virtual machine console. RESET G Clear and reset all pending interrupts for a specified virtual device and reset all error conditions. REWIND G Rewind (to load point) a tape and ready a tape unit. SAVESYS E Save virtual machine storage contents, registers; and PSi: SET A,B,F,G Operator--establish system parameters. User--control various functions within the virtual machine. SHUTDOWN A Terminate all VM/370 functions and checkpoint CP system for warm start. SLEEP any Place virtual machine in dormant state. SPACE D Force single spacing on printer. SPOOL G Alter spooling control options; direct a file to another virtual machine or to a remote location via the RSCS virtual machine. START D Start spooling device after draining or changing output classes. STCP C Change the contents of real storage. STORE G Alter specified virtual storage and registers. Figure 35. CP Command Summary (Part 3 of 4) Section 8: Format and Usage Rules for CP Commands 247 GC20-1804-3 Page Modified by TNL GN20-2659 r----------I I Command IPrivilegel I Class I Usage SYSTEM G Simulates RESET, CLEAR STORAGE and RESTART buttons on a real system console. TAG G Specify variable information to be associated with a spool file or output unit record device. Interrogate the current TAG text setting of a given spool file or output unit record device. TERMINAL G Define or redefine the input and attention handling characteristics of your virtual console. TRACE G Trace specified virtual machine activity at your terminal, spooled printer, or both. TRANSFER D,G Transfer ihput files to or get input files from a specified user's virtual card reader. UNLOCK A Unlock previously locked page frames. VARY B Mark a device unavailable or available. WARNING A,B Transmit a high priority message to a specified user or to all users. L- Figure 35. 248 CP Command Summary (Part 4 of 4) IBM VM/370: Command Language Guide for General Users * Use * to annotate the terminal console sheet or terminal display screen data with a co.ment. This commentary also appears in the virtual console spool file (if the console spooling function is invoked for the virtual machine). The format of the * (coament) r.ommand is: * anycom.ent lone. section 8: Format and Usage Rules for CP Commands 249 ICP #CP Use the ICP command to execute a CP command while in a virtual console read environment without first signalling attention to get to the CP environment. The format of the ICP command is: • ,I ICP [comaandlinel [lcom.andline2 I ••• ]] ~!!!!:! : comaandline specifies the name, operands, and options for the CP command or commands you want to issue. You must precede the first commandline with at least one blank. The pound sign (I) shown in the format above represents the logical line end symbol currently in effect for your virtual machine. If you have redefined the logical line end symbol, ICP is an invalid command; you must substitute your line end symbol for the pound sign when using this command. Usage: Por the command to operate, the following conditions must be met: I. The virtual machine must be running with SET LIIEDIT OR (a default). I. I I The first three characters of the edited line must be ICP (upper or lowercase) with the "I" representing the logical line end character currently defined. I • I I At least one blank must separate the ICP from any com. and line. Do not use attention interruption in any part of the line or to enter the line. You can enter multiple command lines as operands of the ICP command, but you must separate each command line by the logical line end (I) character. If you enter only ICP with no operands, the virtual machine enters the CP environment. CP cancels the virtual machine's console READ by returning a unit exception status for the virtual console. The virtual operating system then reissues the console READ to allow you to key in the appropriate response to a previous aessage fro. that machine's operating system. 250 IB! V!/370: Command Language Guide for General Users ICP The following examples show several ways to use ICP: Command system Action ICP Your virtual machine enters CP environment. tcp query files QUERY command executed. ICP query fileslquery users Two separate QUERY co.mands executed. data entered¢ICP msg op is tape available "Data entered" is ignored. You send a message to the operator. ICP data entered You enter CP environment and cp'interprets "data entered" as an invalid operand. "Data entered" is ignored. You enter CP environment. ICP query files¢data entered QUERY command is not executed; console input (data entered) passes to the virtual machine. If you enter ICP without a com.andline, you receive this message: CP If ion enter ICP with cOaaandlines, lUU receive appropriate to the individual com.ands you entered. the responses section 8: Pormat and Usage Rules for CP Commands 251 InSTOP ADSTOP Use the InSTOP co •• and to halt execution at a virtual instruction address. Execution halts when the instruction at the specified address is the next instruction to be executed. When execution halts, the CP co •• and .ode is entered and a .essage is displayed. It this point, you aay invoke other CP debugging co •• ands. To resu.e operation of the virtual .achine, issue the BEGIN co •• and. Once an InSTOP +ocation is set, it .ay be reaoved by one of the following: • • • • Beaching the virtual storage location specified in the InSTOP co.mand Performing a virtual IPL or SYSTEft BESET Issuing the InSTOP OPP co •• and Specifying a different location with a new InSTOP hexloc com.and The for.at of the IDS TOP co.mand is: InSTOP hexloc } { OPP hexl'oc is the hexadecimal representation of the virtual instruction address where execution is to be halted. The specified address cannot be in a storage segaent shared with other users, since the IDSTOP function aodifies storage. OPP cancels any previous IDSTOP setting. 1. Since the ADSTOP function .odifies storage (by placing a CP SVC I'B3' at the specified location) your prograa should not exaaine the two bytes at the instruction address. CP does not verify that the location specified contains a valid CPU instruction. 2. Address stops may not be set in an OS/VS or DOS/VS virtual aachine's virtual storage; address stops may only be set in the virtual equals real partitions or regions of those virtual aachines. 252 IBft Vft/370: Co •• and Language Guide for General Users ADSTOP 3. If the SfC handling portion of the virtual .achine assist feature is enabled on your virtual machine, CP turns it off when an address stop is set. After the address stop is removed, CP returns the assist feature SfC handling to its previous status. ADSTOP AT xxxxxx The instruction whose address is xxxxxx is the next instruction scheduled for execution. The virtual machine is in a stopped state. Any CP co •• and (including an lDSTOP co •• and to set the next address stop) can be issued. Bnter the CP co •• and BBGI. to resu.e execution at the instruction location XXIIIX, or at any other location desired. Section 8: Por.at and Usage Rules for CP Co ••ands 253 ATTN AITN Use the ATTN command to make an "attention" interrupt pending virtual console. The format of the ATTN command is: at your ATTN The REQUEST command performs the same function commands can be used interchangeably. as ATTN The BEGIN command is not required after you issue ATTN. Bone. 254 IBft Vft/370: Co •• and Language Guide for General Users and the tvo BEGIN BEGIN Use the BEGIN co.mand to continue or resume execution in the virtual machine at either a specified storage location or the location pointed to be the virtual machine's current PSW. The format of the BEGIN co.mand is: I Begin [hexloc] L ______- - - -________________________________________________________________~ hexloc is the hexadecimal storage location where execution is to begin. When BEGIN is issued without hexloc, execution begins at the storage address pointed to by the current virtual machine PSW. Unless the PSW has been altered since the CP command mode was given control, the location stored in the PSW is the location where the virtual machine stopped. When BEGI) is issued with a storage location specified, execution begins at the specified storage location. The specified address replaces the instruction address in the PSW, then the PSW is loaded. Bone. The virtual machine begins execution. section 8: Pormat and Usage Rules for CP Commands 255 CHARGE CHANGE Use the CHARGE command to alter one or aore of the eIternal attributes of a closed spool file or files. Issue the QUERY coamand to deteraine the current attributes of the file. In order to change an output file, the file aust have been closed but not yet selected for printing or punching. An input (READER) file can be changed at any tiae before it is opened, that is, before the first read is issued for the file. The format of the CHARGE coamand is: I CHange I I I I I I I I I r Reader {CLaSS c11 Printer spoolid PUnch ALL CLass c2 COpy nn r , I HOld I INOHold I L I , INAme {fn [ft]}1 I dsname I L .J .J Dlst distcode lOne of these options ~y~~ be chosen; however, aore than one may be specified and they may be combined in any order. This is contrary to the notation normally used in this publication. READER RDR changes the reader spool file. PRIRTER PRT changes the printer spool file. PUNCH PCH changes the punch spool file. CLASS cl designates an eIisting class. The class, cl, is a one-character alphameric field froa A to z or from 0-9. Refer to the 'ftLl70: QE~ratg!~~ ~ui~~ for a detailed description of spool classes. spoolid is the spoolid number of the file that is to be changed. spool file has a unique spoolid. ALL changes all your spool files. CLASS c2 changes the spool class of the file to c2. COpy nn specifies the nuaber of copies of the file to be spooled to the virtual output device. This option is valid for printer and punch files only. The value of nn (nuaber of copies) must be a number from 1 through 99. lor nn less than 10, the leading zero is optional. HOLD prevents the file froa be~ng printed, punched, or read until it is released. The file 1S released when the CHANGE coaaand is issued with the NOHOLD operand specified. 256 IB" '"/370: Comaand Language Guide for General Users Each CHANGE NOHOLD releases the specified file from user HOLD status. DIST distcode changes the distribution code specified in the Vft/370 directory to the distcode specified on the com.and line, for the spe~ified file only. The distribution code appears on the output separators of the printer and punch output; it has no effect on reader files. NAftE fn [ft] assigns identification to the spool file in the CftS for.at filena.e and filetype. ~u~ field, ~U, ~~ a one- to eight-character alphameric filename assigned to the file for identification. The field, ft, is a one- to eight-character alphameric filetype assigned to the file for identification. If ft is not specified, the filetype is set to blanks. NAftE dsnalle assigns identification to the spool file in a non-CftS for.at. The field, dsnalle, is a 1- to 24-character field suitable for specifying OS or DOS files [for exa.ple, SYS1.SYSLIB.ftYftAC). {n:~n } FILES CHANGED This is the response when you indication of the nUllber of individual alterations to a appear if you have issued the issue the CHANGE co.mand. This is an files changed. It does not reflect given file. This .essage does not CP SET IftSG Oll co •• and line. section 8: For.at and Usage BuIes for CP COllllands 257 CLOSE CLOSE Use the CLOSE co.mand to terminate the spooling activity on any virtual spooled record or console device. If the file is an input reader file, the file being processed is purged unless SPOOL READER BOLD was previously specified (see the SPOOL command). The effect of BOLD or NOBOLD for a particular file established by the SPOOL command can be overridden by specifying NOBOLD or BOLD, respectively, in the CLOSE command. If the file is an output file on a printer, punch, or console, the file is either queued for output on a real unit record device, or, if the virtual output device is transferred (by use of the "SPOOL vaddr TO userid" command), the file is queued for input to the receiving user. you can specify a filename and filetype and an optional distribution code to aid in later identification of the file and its contents. The format of the CLOSE command is: r Close , , IReader r Ivaddr IBOld I INOBoldl I L r ICONsole IPrinter I PUnch Ivaddr I I I ... L ... ,, r I I PUrge I I r r I IBOld I [DIst distcode] INAme {fn [ft]}' ,dsname , I I I BOBoldl I L L , L ... , L I I I I I I I I I I ... ... ... READER RDR closes all reader spool files. CONSOLE closes your virtual machine's console spool file. Once a virtual console spool file is closed, it becomes a printer spool file and can be manipulated in the same way as any printer spool file (for example, it can be purged or changed). PRINTER PRT closes all printer spool files. PUNCH PCB closes all punch spool files. vaddr is the virtual address (cuu) of the device to be closed. The address may represent a reader, console, printer, or punch. BOLD makes the spool file being closed unavailable for further processing, until it is specifically requested or changed. This option, specified in the CLOSE command, overrides any previously specified BOLD or NOBOLD option for the files being closed. NOB OLD makes the spool file being closed available for further processing. Specify NOBOLD if a BOLD established by the SPOOL 258 IBft Vft/370: Com.and Language Guide for General Users CLOSE command is still in effect and to be held. the current active file is not You can release one of your own output files in HOLD status by using the CBAIG! command. If an output file is spooled for another user (SPOOL FOR userid), only the receiving virtual machine user can change the file status. The originator of the file .ay reclaim the file by using the TRANSFBR co •• and with the FROft option. If an output file is spooled to a user as an input file (SPOOL TO userid), the HOLD option places the input file in BOLD status. The file then cannot be read by the virtual machine until it is changed to NOBOLD by the receiving virtual machine user. If an input file is closed with the BOLD option, the file is saved and not purged trom the system. The saved file is available for virtual machine and user processing and is not placed in a user hold status. Input spool files that are closed are nor.ally purged from the virtual machine. PURGB closes and i •• ediately purges from the virtual machine output spool files. No output file is produced. the DIST distcode uses the one- to eight-character alphameric identification (distcode) on the output separators of printer and punch instead of the identification specified in the Vft/370 directory. The distribution code is changed for this file only and does not affect other files or change the Vft/370 directory. If the file is transferred to another user, this option has no effect. BAftB fn [ft] assigns identification to the spool file in the CftS for.at filename and filetype. The field, fn, is a one- to eight-character alphameric filename assigned to the file for identification. The field, ft, is a one- to eight-character alpha.eric filetype assigned to the file for identification. If ft is not specified, the filetype is set to blanks. 11!E dsnaae assigns identification to the spool file in a non-CftS format. The dsna.e field is a 1- to 24-charact~r field suitable for specifying OS or DOS files (for exa.ple, SYS1.SYSLIB.ftYftAC). Only 20 characters of the 24-character dsname are displayed by QUBRY, even though a name of up to 24 characters is valid. The table that follows shows the result of the CLOSE co •• and, depending on how you had previously specified the SPOOL co •• and options BOLD, IOBOLD, COlT, and IOCOIT. The CLOSE com.and can result in a file being held, saved, or purged. section 8: Pormat and Usage BuIes for CP Co ••ands 259 CLOSE virtual Device Sta tus (CLOSE Co •• and Setting) SPOOL Co •• and options Set for a Virtual Device HOLD ROCOBT ROHOLD ROCORT ROHOLD COBT HOLD COBT Ror.al EOP (default CLOSE) IPile releasedlPile saved I for proces- I I I sing IPile releasedlPile held Ifor proces- I Ising I CLOSE IPile releasedlPile saved Ifor proces- I Ising I IPile releasedlPile held Ifor proces- I Ising I CLOSE HOLD IPile saved IPile saved IPile held IPile held CLOSE BOHOLD IPile releasedlPile releasedlPile releasedlPile released I Ifor proces- Ifor proces- Ifor proces- Ifor proces- I Ising Ising Ising Ising I -------------------------------------------------------------------1 Bote, "saved" .eans that the file is not purged and does not have I HOLD. status. A subsequent READ could read this file. t PILE spoolid {~gR} userid {:gi COR} COpy nn I • {BO:~~~} This response is received if aultiple copies of the file are being processed, if the file is being transferred to another user, or if the file is placed in a USER HOLD status. 260 IB8 V8/370: Co •• and Language Guide for General Users COUPLE COUPLE Use the COUPLE command to connect your virtual (non-dedicated) channel-to-channel adapter to another user's virtual channel-to-channel adapter (or to another one of your own virtual channel-to-channel adapters). The format of the COUPLE command is: COUPLE vaddr1 vaddr1 [To] is the virtual adapter. userid address vaddr2 (cuu) of your channel-to-channel [TO] userid is the user identification of the virtual machine to which vaddr1 is to be connected. If vaddr1 is to be connected to your own virtual machine, userid may be specified as an asterisk (*). The user must be logged on and have a virtual channel-to-channel adapter defined. If the keyword TO is omitted, the userid cannot be "T" or "TO". vaddr2 is the virtual address (cuu) of the channel-to-channel adapter to be connected to vaddr1. CTCA vaddr1 COUPLE TO userid vaddr2 This is the response when you issue the COUPLE co •• and. vaddr1 is the address of your channel-to-channel adapter. userid is the identification of the receiving virtual machine. vaddr2 is the address of the channel-to-channel adapter of tb~ rece1v1ng user (or a different channel-to-channel adapter in your own virtual machine). CTCA vaddr2 COUPLE BY userid vaddr1 This is the response sent to the COUPLE co.mand. user specified by userid vaddr1 is the address of the issuing adapter. userid is the identification co •• and. vaddr2 is the address of the channel-to-channel adapter receiving user. in the user's channel-to-channel of the user who issued the COUPLE of the section 8: Pormat and Usage Rules for CP Co ••ands 261 COUPLE CTC! vaddrl DROP PROft userid vaddr This response to the issuing user indicates that the virtual CTC! vaddrl was already coupled when the COUPLE co •• and was issued. The previous connection is co.pleted. This response is always followed by the response: CTC! vaddrl COUPLE TO userid vaddr2 262 IBft V8/370: Co •• and Language Guide for General Users CP CP Use the CP command if you are a CftS user and do not of which co.mand environment you are in. want to keep aware The CP command is treated as a "null" by the control program and therefore can precede any other command if one or more blanks separate CP from the other command. The CP command is useful because it lets the CftS user enter commands without knowing which environment (CP or virtual machine) he is in. The format of the CP command is: , I [command] L I ______ CP - - - -______________________________________________________________ command ~ is any CP command or string of CP commands that are separated by the logical line end symbol (I) and are valid for your privilege class. CP QUERY FILES or QUERY FILES can be entered from the CP or CftS command environment. lone Section 8: For.at and Usage Rules for CP Com.ands 263 DEFINE DEFINE Use the DEFINE co •• and to alter your virtual aachine configuration or channel operating mode. You can expand your configuration without aaking permanent changes, because the definitions are in effect for the current terminal session only. If you redefine storage or define the channel operating aode, the virtual machine is reset and IPL aust be perfor.ed again. The format of the DEFIlE coaaand is: DEFine Reader Printer PUnch [1s] vaddr COlsole CTCa TIfter 1403 3211 CBAlnels [AS] { SEL } Bft! LIne r , L .I [As] vaddr 11Bft[!J 1 ITELE[ 2] 1 cuu GRAF [3270 ] 3158 vaddr1 [AS) vaddr2 T2314 T2319 T3330 T3340 T2305 [AS 1 vaddr [CIL] nnn "I I I STORage [As] {nnnnnK} nnft READER [AS] vaddr RDR adds a spooling card reader with the specified by vaddr to the virtual configuration. address machine PRINTER [AS] vaddr PRT adds a spooling printer with the specified by vaddr to the virtual configuration. address aachine PUICB [AS] vaddr PCB adds a spooling card punch with the specified by vaddr to the virtual configuration. address aachine CONSOLE [AS] vaddr adds a virtual system console to the virtual machine at the address specified by vaddr. 264 IBft VK/370: Coamand Language Guide for General Users DEFINE CTCA [AS] vaddr adds a virtual channel-to-channel adapter with the address specified by vaddr to the virtual aachine configuration. The control unit address must end in zero, and must not already be in use. Once the control unit is defined, other virtual devices may not be defined for the same CTCA. TlftER [AS] vaddr adds a pseudo timing device with the address specified by vaddr to the virtual machine configuration. 1403 [AS] vaddr adds a spooling 1403 printer with the address specified by vaddr to the virtual machine configuration. 3211 [AS] vaddr adds a spooling 3211 printer with the address specified by vaddr to the virtual machine configuration. The virtual 3211 printer supports LOADYFCB and the Index feature. CBAIIELS [AS] {SEL} BftX redefines the channel mode of operation for the virtual machine to either selector or block multiplexer. Use of the SEL (selector channel) or BftX (block multiplexer channel) operand sets the mode of operation for pll channels except virtual channel O. Channel 0 always operates in byte-multiplexer mode. The real or virtual channel-to-channel adapter always operates in selector mode. Block multiplexer mode may enhance the virtual aachine's operating system by allowing the overlap of 510 operations. This is done by reflecting a channel condition code of 0 back to the virtual machine rather than a channel busy signal. Note: The virtual machine is immediately reset when this set of operands is executed. r , LIBE [AS] vaddr IIBftl I ITBLB21 L .. adds a virtual 2701/2702/2703 communication line with the address specified by vaddr to th~ virtual aachine configuration. IBBl indicates that an IBB-type terminal (2741, 1050, or equivalent) is on the 2701/2702/2703 line. TELE2 indicates that a teletypewriter is on the 2701/2702/2703' line. GRAP cuu [3270 3158 J vaddrl [AS] vaddr2 defines a temporary virtual 3270 or 3158 (the systea console used on the system/370 Bodel 158) for the virtual machine. The cuu is the hexadecimal address for the device. redefines the device represented by vaddr1 as vaddr2. The virtual address, vaddr1, must represent a defined device in the virtual machine configuration. Section 8: Pormat and Usage Rules for CP Com.ands 265 DBlIIB T231" [lS] vaddr [CIL] nnn adds a temporary virtual disk of the specified T2319 type to the virtual machine configuration. T3330 The vaddr specifies the address of the disk, T33"0 and must not be on a virtual control unit T2305 already defined as a CTC1. CIL nn specifies the number of cylinders that the disk contains. STOR1GE [lS] { nnnnnK } nn8 redefines the size of the virtual storage for the virtual machine as nnnnnK (where K represents 102" bytes) or nn8 (where 8 represents 1,0"8,576 bytes). The value specified becomes the new virtual storage size. Sizes aust be in "K increments and are limited by the maximum value in the V8/310 directory entry. The minimum size you can specify is 8K. 111 entries not specified in a "K increaent are rounded up to the next "K boundary. Changing the virtual storage size (increasing or decreasing) causes a virtual system reset and clears all virtual storage to binary zeros. Responses are generated to confirm that the desired configuration change has taken place. These responses do not appear on your terminal if you have issued the CP SET 18SG OPP coamand line. type vaddr DElIIED where the possible values for type have the following meanings: IY~~ D1SD T1PB LIBE RDR PRT PUB GRll COBS CTCl J1~~1!!1!g Direct access storage device 8agnetic tape Communication line Card reader Line printer Card punch Graphics device Console Channel-to-channel adapter CH1IIELS = {SEL} B81 is the channel aode of operation for the virtual machine. This response applies to all channels except channel 0 (always a byte-multiplexer channel) and any channel that has a virtual or real channel-to-channel adapter (always a selector channel). STOR1GB = nnnnnK The minimum storage you may specify is 8K. 266 IB8 V8/370: Command Language Guide for General Users DETACH DETACH Use the DETACH co •• and to remove a virtual device from the virtual machine. You can detach a previously attached device even if the device is currently in use. You can also detach devices that were attached because of V8/370 directory entries or during CP system initialization. You cannot detach volu.es in the syste. SYSaWB list or devices containing minidisks that are in use. ihen you detach a virtuai device, it becomes inaccessible to your virtual .achine. If the device was previously attached to your virtual machine by an ATTACH command, it is released and beco.es available for attachment to your virtual machine, another user, or the CP system. Tape devices are automatically rewound and unloaded when detached. If you detach a device that was previously attached to your virtual machine by the operator, a message is sent to the operator infor.ing him that the device is free. The format of the DETACH command is: DETach I vaddr is the virtual address (cuu) of the device to be detached fro. your virtual .achine. vaddr ~!sponses 8essages are sent to the user, the operator who issued the com.and, and the primary system operator (if different from the operator who issued the com.and), notifying them that the DETACH was successful. type vaddr DETACHED This is the response you receive the. you detach one of your own devices. You do not receive this response if you have issued the CP SET I8SG OFF co •• and. type vaddr DETACHED BY operator This is the response you your devices. r typeraddr DETACHED receive if an operator detaches one of , luseridl ISYSTEftl L ~ This is the response sent to the previously attached device or if the user or the syste •• operator if you detach a operator detaches it fro. a section 8: Format and Usage Rules for CP Commands 267 DETACH r type raddr DETACHED , luseridl BY operator ISISTEftl L J This is the response sent to the primary syste. operator if he did not issue the DETACH com. and and the device had been previously attached. In the above responses, type is one of the following: lll!! DASD TAPE LINE RDR PRT PUN GRIP CONS CTCI D.r:V fteaning Direct access storage device ftagnetic tape co.munication line Card reader Line printer Card punch Graphics device Console Channel-to-channel adapter Any other device CTCA vaddr DROP PROft userid vaddr This is the response if the device detached was a virtual CTCI connected (via the COUPLE command) to another CTCI on the virtual machine specified by the userid. This response is always followed by the response: CTCA vaddr DETACHED unless the SET IftSG OPP com.and was issued. 268 IB! Vft/310: Command Language Guide for General Users DIAL DIAL Privilege CI~22: Any Use the DIlL command to logically connect a switched line, leased line, or locally attached terminal to a previously logged on multiple-access virtual machine. Once the connection is made, your terminal operates entirely under the control of that virtual machine. The DIlL command matches your terminal to the equivalent type defined in the multiple-access virtual machine. If no _atching terminal type exists, the connection cannot be made and an error message is issued. The format of the DIlL command is: DIlL userid [vaddr] userid is the identification currently logged on. vaddr is the address of the virtual communication line to which the connection is made. of a virtual machine that is lotes: -':--1 DIlL command is accepted only at logon time, and only as a substitute for a LOGOI command. The type of terminal used must be supported by both Yft/370 and the multiple-access virtual machine. The only exception is the 3277 Display Staticn ftodel 1 (480-character screen). This display terminal, if used, must ~e supported by the multiple-access virtual machine. Yft/370 support of this model is limited to the DIlL facility only. See the Yft/370: l~inal y§!!~§ Guid~ for details on running and gaining access to multiple-access machines. 2. If the DIlL co.mand is issued from a real 3277 terminal, the virtual system must use the CP command BESET to drop the dialed connection. DIlL is not supported for the 3066 system console. 3. The CP DIlL command is not supported for ter.inals ICP lines in a 3704/3705 control unit. that are using DIILID TO userid vaddr is the message sent to the connection has been made. GRIP raddr } raddr DI1LID TO userid DIlLED { LIIE DEY rid user indicating that a logical = nnn is the response to the primary system operator. It indicates a successful connection to the virtual machine (userid) and the total number of Yft/370 lines (nnn) currently connected to other virtual machines. DEY rid indicates the resource identification of a 3704/3705 line. lote: The terminal remains connected to and under the control of the-virtual machine until that virtual machine terminates the section 8: Pormat and Usage Rules for CP Commands 269 DIAL co.munication. aessage: At that tiae the user receives the following DROP FRO! userid vaddr this message is sent to the user when the line is disabled. GRAF raddr } LIIE raddr DROP FBO! userid DIALED = nnn { DEY rid is the aessage sent to the primary system operator. 270 IB! Y!/370: Co•• and Language Guide for General Users DISCOII DISCONN Use the DISCOII com. and to disconnect the terminal fro. the Vft/370 system: the virtual machine continues operation. When DISCOII is issued from the virtual machine, a disconnect-time message is printed at the virtual machine's terminal and at the priaary syste. operator's console. The terminal remains disconnected until it is reconnected via a LOGOI com.and. The virtual aachine is logged o~~ is minutes after an attempt is made to read froa the terminal or if the virtual .achine goes into a disabled WIlT state. If your ter.inal connection is broken because of terainal, line, or TP control unit errors, CP places the virtual machine in disconnect aode for up to 15 ainutes and your virtual machine does not continue to run. If you log on within 15 minutes, your virtual machine can continue operating. If you do not log on within the 15-minute interval, the virtual machine is logged off. Unless the CP command, SPOOL CORSOLE STIRT, is issued to spool the virtual console output, all ·writes" or output messages to the virtual console are ignored. When the terminal is reconnected via the normal LOGOI procedure, the terminal is placed in CP console function mode. To resume execution of the virtual machine, enter the BEGIR cosmand. The format of the DISCOII command is: DISConn BOLD [BOld] specifies that the communication line is not to be disabled. This option allows you to disconnect your terminal, and, at the same time, to avoid the process of telephone dialing into the systea to access your virtual .achine again. If specified, control returns to CP and the "V8/370 online" =essage, is displayed. When the DISCOII issued. command is issued, the disconnect time message is DISCOIIBCT IT hh:mm:ss zone weekday mm/dd/yy is the response to the user who issued the co.mand. GRIP raddr} raddr DISCOHBECT userid USERS = nnn { LIII DBV rid is the response to the primary system operator informing him that the user represented by "userid" has been disconnected from the Vft/370 system. The "nnn" is the total number of users reaaining in the system. The response "rid" indicates the resource identification. Section 8: Por.at and Usage Rules for CP Commands 271 DISPLAY DISPLAY Use the DISPLAY components: • • • • • • • com.and to examine the following virtual machine Virtual storage locations General registers Floating-point registers Control registers Program status word (PSW) Channel addres~ word (CAW) Channel status word (CSW) If a command line with an invalid operand is entered, the DISPLAY command terminates when it encounters the invalid operand; however, any previous valid operands are processed before termination occurs. Storage locations, registers, and control words can be displayed using a single command line. The format of the DISPLAY com.and is: Display 1 D r , 1 hexloc 11 IKhexloc11 1Lhexloc11 IThexloc11 I .2 I L J r r I I I L J I I r , 1 I{. ]I bytecoun t I I I Ij!!~ I I J L r , L J , , Greg1 I {- }lre g 2 1 Yreg1 I : lIND I L J Ireg1 I 1 r I { • ]I regcount I I EID I I L , Ij!!~ L r , l{-}l hexloc2 II I : J I I I I I I J Psw CAW CSW hexloc1 Lhexloc1 Thexloc1 Khexloc1 .Q is the first, or only, hexadecimal storage location whose contents are to be displayed at the terminal. If L is specified, the storage contents are displayed in hexadecimal. If T is specified, the storage contents are displayed in hexadecimal, with EBCDIC translation • If K is specified, the storage keys are displayed in hexadecimal. If hexloc1 is followed by a period and is not fullword boundary, it is rounded down to the lowest fullword. on a next If hexloc1 is not specified, the display begins at storage location O. If L, T, or K are entered either 272 IB" V"1370: Command Language Guide for General Users DISPLAI without any operands, or followed immediately by a blank, the contents of all storage locations are displayed. If L, T, or K are not specified and this is the first operand, then the default value of zero is assumed. The address, hexlocl, may be one to six hexadecimal digits, leading zeros are optional. -}heXIOC2 { : !1Q is the last of the range of hexadecimal storage locations whose contents are to be displayed at the terminal. Either - or: must be specified to display the contents of more than one location by storage address~ If hexloc2 is not specified. the contents of all storage locations from hexlocl to the end of virtual storage are displayed. If specified, hexloc2 must be equal to or greater than hexloc1 and within the virtual storage size. The address, hexloc2, may be from one to six hexadecimal digits; leading zeros are optional. { • }bytecount is a hexadecimal integer designating the number of bytes of storage (starting with the byte at hexloc1) to be displayed at the terminal. The period, ., must be specified to display the contents of more than one storage location by byte count. The sum of hexloc1 and bytecount must be an address that does not exceed the virtual machine size. If this address is not on a fullword boundary, it is rounded up to the next highest fullword. The value, bytecount, must have a value of at least one and may be from one to six hexadecimal digits; leading zeros are optional. !!!! Gregl is a decimal number from 0-15 or a hexadecimal integer from O-F representing the first, or only, general register whose contents are to be displayed at the terminal. If G is specified without a register number, the contents of all the general registers are displayed at the terminal. Iregl is an integer (0, 2, 4, or 6) representing the first, or only, floating-point register whose contents are to be displayed at the terminal. If I is specified without a register number, the contents of all of the floating-point registers are displayed at the terminal. Iregl is a decimal number from 0-15 or a hexadecimal number from O-F representing the first, or only, control register whose contents are to be displayed at the terminal. If I is specified without a register number, the contents of all of the control registers are displayed at the terminal. If Iregl is specified for a virtual machine without extended mode operations available, only control register 0 is displayed. g2 { -}re : !BD is a number representing the last register whose contents are to be displayed at the terminal. Either or : must be specified to display the contents of more than one register by register number. If reg2 is not specified, the contents of all registers from regl through the last register of this type are displayed. section 8: Format and Usage Rules for CP Commands 273 DISPLAY The operand, reg2, must be equal to or greater than reg1. If Gregl or Xreg1 are specified, reg2 may be a decimal number from 0-15 or a hexadecimal number from O-F. If Yreg1 is specified, reg2 may be 0, 2, 4, or 6. The contents of registers regl through reg2 are displayed at the terminal. { • }regcount EBD is a decimal number from 1 to 16 or a hexadecimal number from 1 to F specifying the number of registers (starting with regl) whose contents are to be displayed at the terminal. If the display type G or I is specified, regcount can be a decimal number from 1 to 16 or a hexadecimal number from 1 to F. If display type Y is specified, regcount must be 1, 2, 3, or 4. The sum of regl and regcount must be a number that does not exceed the maximum register number for the type of registers being displayed. PSW displays the current virtual machine status word) as two hexadecimal words. CAW displays as one hexadecimal word the contents hexadecimal location 48 (channel address word). CSW displays as two hexadecimal words the contents of the channel status word (doub1eword at hexadecimal location 40). PSW (program of When multiple operands are entered on a line for location or register displays, the default display type is the same as the previous explicit display type. The explicit specification of a display type defines the default for subsequent operands for the current display function. Blanks are used to separate operands or sets of operands if more than one operand is entered on the same command line. Blanks must not be used to the right or left of range or length delimiters (: .), unless it is intended to take the default value of the missing operand defined by the blank. For example: display 10 20 T40 80 G12 5 L60-100 displays the following: hexadecimal location 10 hexadecimal location 20 hexadecimal location 40 with EBCDIC translation hexadecimal location 80 with EBCDIC translation general register 12 general register 5 hexadecimal locations 60 through 100 One or more of the following operands specified. 274 responses is displayed, depending upon the IB" '"/370: Com.and Language Guide for General Users DISPLAY XXXIXX wordl word2 word3 word4 [key] *EBCDIC TRANSLATION* Tn~s is the response you receive when you display storage locations; xxxxxx is the hexadecimal storage location of wordl. Wordl is displayed (word-aligned) for a single location specification. Up to four words are displayed on a line, followed, optionally, by an EBCDIC translation of those four words. Periods are printed for unprintable characters. Multiple line are used (if required) for a range of locations. If translation to EBCDIC is requested (Thexloc), alignment is made to the next lower 16-byte boundary; otherwise, alignment is made to the next lower fullword boundary. If the location is at a 2K page boundary, the key for that page is also displayed. XXXXXX TO xxxxxx This is KEY = kk the response you receive when you display storage keys; XXXXXX is a storage location and kk is the associated storage key. GPR n = genregl genreg2 genreg3 genreg4 This is the response you receive when you display general registers; n is the register whose contents are genregl. The contents of the following consecutive registers are genreg2 and so on. The contents of the registers are displayed in hecadecimal. Up to four registers per line are displayed for a range of registers. Multiple lines are displayed if required, with a maximum of four lines needed to display all 16 general registers. FPR n = xxxxxxxxxxxxxxxx .xxxxxxxxxxxxxxxxx E xx This is the response you receive when you display floating-point registers; n ~s the even-number floating-point register whose contents are displayed on this line. The contents of the requested floating-point registers are displayed in both the internal hexadecimal format and the E format. One register is displayed per line. eultiple lines are displayed for a range of registers. Section 8: Format and Usage Rules for CP Commands 275 DISPLIY HCR n = ctlreg1 ctlreg2 ctlreg3 ctlreg4 This is the response you receive when you display control registers; n is the register whose contents are ctlreg1. The contents of the following consecutive registers are ctlreg2 and so on. The contents of the requested control registers are displayed in hexadeci.al. Up to four registers per line are displayed. !ultiple lines are displayed if required. PSW = XXXXXXXI XXXXXXXX The contents of the PSW are displayed in hexadecimal. Cl! CIW = XXXXXXXX The contents of the CIW (hexadecimal hexadeci.al. CSW = xxxxxxxx location 48) are displayed in xxxxxxxx The contents of the CSW (hexadeci.al hexadecimal. location 40) are displayed in Press the Attention key (or its equivalent) to ter.inate this function while data is being displayed at the ter.inal. When the display ter.inates, another co •• and may be entered. 276 IB! V!/370: Com.and Language Guide for General Users DUMP DUMP Use the DUMP command to print the contents of various components of the virtual machine on the virtual spooled printer. The following items are printed: • virtual progra. status word (PSi) • General registers • Floating-point registers • control registers (if you have the V"/370 directory entry) • Storage keys • virtual storage locations ECMODE option specified in your The DUMP command prints the virtual PSi and the virtual registers (general, floating-point, and control). If only this information is desired, at least one virtual address must be specified, such as: DUMP 0 The output format for the virtual storage locations is eight words per line with EBCDIC translation on the right. Bach fullword consists of eight hexadecimal characters. All the rest of the information (PSi, general floating-point and storage keys) is printed in hexadecimal. If you have the BCMOD! option in your VM/370 directory entry, the control registers are also printed. To print the dump on the real printer, a CLOSE command must be issued for the spooled virtual printer. The format of the DUMP com.and is: DUMP Ir , r r , , \ I Lhexloc 11 I{ - }I hexloc2 I IThexloc111 : II!~ I L ~ I hexloc111 I Q II r L ~ I{ .} I bytecount I liND I I , L Lhexloc1 Thexloc1 hexloc1 .Q L ~ I I I I I I [*d umpid] ~ is the first or only hexadecimal storage location to be dumped. If you enter L or T without operands, the contents of all virtual storage locations are dumped. The address, hexloc1, may he one to six hexadecimal digits; leading zeros are optional. If hexloc1 is not specified, the dump begins at storage location o. If hexloc1 is followed by a period and is not on a fullword boundary, it is rounded down to the next lowest fullword. section 8: Format and Usage Rules for CP Commands 277 DU"P -}heXlOC2 { : END is the last hexadecimal storage location whose contents are to be dumped to the printer. The operand, hexloc2, must be equal to or greater than hexlocl and within the virtual storage size. To dump to the end of storage, you can specify END instead of hexloc2 or you can leave the field blank, since the default is END. If you specify :END or -END, the contents of storage froll hexlocl to END are dumped. The contents of storage locations hexlocl through hexloc2 are printed with EBCDIC translation at the printer. The operand, hexloc2, may be from one to six hexadecimal digits; leading zeros are optional. { ·lbytecount is a hexadecimal integer designating the number of bytes of storage (starting with the byte at hexlocl) to be dumped to the printer. The period,., must be specified to dump the contents of more than one storage location by byte count. The sum of hexlocl and bytecount must be an address that does not exceed the virtual machine size. If this address is not on a fullword boundary, it is rounded up to the next highest fullword. The value, bytecount, must be one or greater and can be no longer than six hexadecimal digits. Leading zeros are optional. !!~ can be entered for descriptive purposes. If specified, it becomes the first line printed preceding the dump data. Up to 100 characters, with or without blanks, may be specified after the asterisk prefix. No error messages are issued, but only 100 characters are used, including asterisks and embedded blanks. Normally, you should following manner: define beginning and ending dump dump Lhexlocl-hexloc2 dump Lhexlocl.bytecount dump Lhexloc1-hexloc2 hexlocl.bytecount locations in the * dumpid If, however, a blank follows the type character (L or T) or the character and the hexloc, the default dump starting and ending locations are assumed to be the beginning and/or end of virtual storage. Blanks are used to separate operands or sets of operands if more than one operand is entered on the same command line. Blanks must not be used to the right or left of range or length delimiters ( : - • ), unless it is intended to take the default value of the missing operand defined by the blank. Thus, all of the following produce full storage dumps: dump dump dump dUllp dump dump dump dump dump dump dump dump dump dump dump dump 1 t . 1t1: t: 1. t. 00: o. I-end t-end dump dump dump dump dump dump dump O-end l:end t:end O:end l.end t.end O.end The following produces three full dumps: dump 1 dump 278 .. t. IBM V"/370: Command Language Guide for General Users DUMP DUMPING LOC hexloc As the dump is processing, the following message is displayed at the terminal indicating that the dump is continuing from the next 64K boundary: where hexloc is the segment (64K) boundary address for the dump continuation, such as 020000, 030000, or 040000. If you press the Attention key, or its equivalent, on the terminal while the message is being displayed, the dump function is terminated. COMMAND COMPLETE This response indicates normal completion of the dump function. section 8: Pormat and Usage BuIes for CP Commands 279 ECBO ECHO Use the ECHO coaaand to place the terminal in the ECBO environment. When in the ICBO environment, any input line entered is transmitted unchanged back to the terainal a specified nuaber of tiaes. To terainate this transmission (for example, when you want to enter a different data line), press the Attention key (or its equivalent). When the specified nuaber of lines is displayed or the Attention key is pressed, another read to the terminal is issued to accept another data line. lote that no line editing is done; thus, the output line is the saae as the input line and aay contain any of the logical line editing syabols. The format of the ECHO co •• and is: r ECho , Innl 11 I L ~ is the number of times the line is to be sent. The default is 1. An invalid entry (that is, one that is greater than 99 or contains non-numeric characters) is treated as 1. nn ECBO EITIRED; TO TIR!IIATB TIST, TYPB BID This message is displayed after the ECHO co.aand is invoked indicate that the BCBO environment has been entered. to IITIR LIII This message requests the input line to be entered. returns the terminal to the CP command environment. 280 IB! '8/370: Command Language Guide tor General Users A reply of liD GC20-1804-3 Page Modified by TNL GN20-2659 EXTERNAL EXTERNAL Use the EXTERNAL command to simulate an external interrupt to the virtual machine and return control to that machin€~ This simulates pressing the interrupt key on the real computer console, or other functions which cause an external interrupt. Control is given to the virtual machine immediately. The format of the EXTERNAL command is: r-- EXTernal ,, ,, , , -----, , r , ,,I ,codel l ~.Q .J L-- --' code is the interrupt code, a hexadecimal number to be associated with the external interrupt. Valid codes are 1005 (CPU Timer), 1004 (Clock Comparator) , and all codes less than or equal to X'FF'. The default is the External Interrupt Button on the system console, X'40'. None. Since control is given to from virtual machine processing. the virtual machine, any response is section 8: Format and Usage Rules for CP Commands 281 GC20-1804-3 Page Modified by TNL GN20-2659 INDICATE INDICATE Use the INDICATE command to display at your terminal, the use of and contention for major system resources. Use INDICATE LOAD to display system load conditions. Use INDICATE USER to display the total amount of certain resources used by your virtual machine during the current terminal session. Use the INDICATE USER command before and after the execution of a program to indicate the execution characteristics of that program in terms of the resources used. The format of the INDICATE command is: r- I r , I I INDicate I 11Q!~ I I I USER * I I L .J __ IL----__________I .____________________________________ displays CPU use, CPU contention, main storage storage contention. LOAD USER * CPU-nnnl use, and main displays the amounts of system resources used by your virtual machine in the current terminal session. Q1-nn Q2-nn STORAGE-nnnl RATIO-n.n I. I I I CPU-nnnl - is the percentage of total CPU usage. The CPU figure is a smoothed value of the percentage of time that the system is running. The value is smoothed because instantaneous values can be misleading. I • I I Q1-nn Q2-nn - represent the contention for the CPU in terms smoothed number of users in queue 1 and queue 2 (maintained scheduler). I. I I STORAGE-nnnl is the percentage of main storage usage. This is a smoothed ratio of the sum of the estimated working sets of users in queue 1 and queue 2 to the number of page able pages in the system. I. I RATIO-n.n represents the contention for main storage. This scheduler contention ratio is a smoothed value and is defined as: E+M RATIO M 282 IBM VM/370: Command Language Guide for General Users of the by the GC20-1804-3 Page Modified by TNL GN20-2659 INDICATE E the number of users waiting to be allocated main storage by the scheduler and, therefore, temporarily resident in the scheduler's eligible lists. M the number of users in queue 1 and queue 2. Thus, RATIO is the ratio of users now active to users being serviced and is 1.0 for optimum response. Optimum response occurs when enough storage exists to accommodate all active users, assuming that the system at this time is not CPU bound. If E and M are both zero, the value of RATIO is set to 1.0. When RATIO=1.5 and M=8, then 4 users are in the eligible lists waiting to be allocated main storage space by the scheduler. While 1n the eligible list, the users are subject to scheduler discrimination, as defined by the biased scheduler. PAGES: RES-nnnn WS-nnnn READS=nnnnnn WRITES=nnnnnn DISK-nnnn DRUM-nnnn VTIME=nnn:nn TTIME=nnn:nn SIO=nnnnnn RDR-nnnnnn PRT-nnnnnn PCH-nnnnnn I • I I RES-nnnn - is the current number of your virtual storage pages resident in main storage. This number is taken at an instant of time during the execution of the INDICATE command. I. I WS-nnnn size. I. I REIDS=nnnnnn - is the total number of page reads that have occurred for you since you logged on or since the last ACNT command was issued for your virtual machine. I • I I WRITES=nnnnnn - is the total number of pages written for you since you have logged on or since the last ACNT command was issued for your virtual machine. I • I I DISK-nnnn - is the current number of virtual pages allocated for you on the system paging disk. This number is taken at an instant of time during the execution of the INDICATE command. I. I I DRUM-nnnn - is the current number of virtual pages allocated for you on the system paging drum. This number is taken at an instant of time during the execution of the INDICATE command. I • I VTIME=nnn:nn - is your total virtual machine time since you logged on or since the last ICNT command was issued for your virtual machine. I • I I TTIME=nnn:nn - is your total virtual machine time and total CPU time (virtual and overhead) that you have used since you logged on or since the last ICNT com.and was issued for your virtual machine. I • I SIO=nnnnnn - is the total number of non-spooled I/O requests that you have issued since you logged on or since the last ACNT command was I is the most recent system estimate cf your working set section 8: Format and Usage Rules for CP Commands 282.1 GC20-1804-3 page Modified by TNL GN20-2659 INDICITE issued for your virtual machine. I. I I RDR-nnnnnn - is the total number of virtual cards read since you logged on or since the last leNT command vas issued for your virtual machine. I • I I PRT-nnnnnn - is the total number of virtual lines printed since you logged on or since the last ICNT command vas issued for your virtual machine. I. I I PCH-nnnnnn - is the total number of virtual cards punched since you logged on or since the last ICNT command vas issued for your virtual machine. 282.2 IBM VMj370: Command Language Guide for General Users GC20-1804-3 Page Modified by TNL GN20-2659 IPL IPL Use the IPL command to simulate an initial program load function for a virtual machine. IPL simulates the LOAD button and the device address switches on the real computer console. The specified virtual address is accessed and the required input/output operations are performed to retrieve the IPL data. optionally, the IPL procedure can be stopped just before loading the virtual PSi except when initial program loading a named system. Also, parameters can be passed to the virtual machine's general registers. When the simulated load function is complete, CP initiates execution of the virtual machine by loading the IPL PSW which was stored during the simulation process. The format of the IPL command is: Ipl ~ ---, vaddr [cylno 1 r , I CLear I IJ!Q~1~~~1 L [STOP] ( [PARft {pl p2 ••• } _______________-J ( systemname r ! 1 .J , vaddr [cylno] ICLEAR I [STOP] [PARM {p1 p2 ••• }] INOCLEARI L .J simulates the IPL function when loading by device address. The address, vaddr, is the virtual address (cuu) of the device that contains the nucleus to be loaded. The number, cylno, is the cylinder containing the IPL data. If this operand is specified, CP loads the IPL data from the specified virtual cylinder instead of from the default, virtual cylinder zero. This operand is valid only for virtual direct storage devices. The CLEAR operand clears the virtual storage space to binary zeros before the operating system is loaded; NOCLEAR does not clear storage. Both of these operands are invalid if the user specifies systemname in the IPL command line. The STOP operand stops the virtual machine during the IPL procedure just before the initial PSi is loaded. The STOP operand provides the virtual simulation of the IPL procedure for a real machine in instruction step mode. The STOP operand is invalid with the IPL systemname form of the command. When the virtual machine stops, you can issue CP commands. For example, if you are loading OS or OS/VS into your virtual machine, you can use CP commands to store data into low storage to load an alternate nucleus or to alter the size of virtual storage. To restart the virtual machine, issue the BEGIN command. The PARM p1 p2 ••• operand passes up to 64 bytes of data (including embedded blanks) to your virtual machine's general registers (four bytes per register), starting with the high order byte of general register 0, whenever PARM is specified, Section 8: Format and Usage Rules for CP Commands 282.3 IPL the remaining characters in the command line are treated as parameters to be passed to the virtual machine; therefcre, PARM .ust be the last operand entered on the co.mand line. systemname [PARM {p1 p2 ••• )] simulates the IPL function when loading a named was previously saved via the SAVESYS command. syste. that The systemna.e operand is the name of the previously saved system. It is loaded into virtual storage and given control. For more information about saved systems, see the !]Lll~: ~12!~! Pr2gr~!!~I~2 ~Yig~· The PARM p1 p2... operand passes up to 64 bytes of data (including embedded blanks) to your virtual machine's general registers (4 bytes per register), starting with the high order byte of general register O. Whenever P4RM is specified, the remaining characters in the command line are treated as para.eters to be passed to your virtual machine; therefore, PARM must be the last operand entered on the command line. !Q!~: Care .ust be used when passing parameters to a named system (systemname)~ Named systems expect certain registers to be initialized when they are given control. Indiscriminate use of the PARM option could overlay a previously initialized register causing unpredictable results. After a successful IPL, any responses you receive are those operating system that was loaded and initialized. from the section 8: Format and Usage Rules for CP Commands 283 GC20-1804-3 Page Modified by TNL GN20-2659 LINK LINK Use the LINK co •• and to make a device that is associated with another virtual machine available to your virtual machine configuration, based upon information in that user's VM/370 directory entry. The format of the LINK command is: r- I LINK [TO] userid vaddrl [As] vaddr2 [mode] [[PASS=] password] L- where: [TO]-userid is the name of the user whose VM/370 directory is to be searched for device vaddrl. An asterisk (*) is used to specify that the Qevice is in your own VM/370 directory. If the keyword TO is omitted, the userid may not be TO or T. vaddr 1 is the virtual device address directory for that userid. (cuu) in the VM/370 [AS] vaddr2 is the virtual address (cuu) which is to be assigned to the device for your virtual machine. If the keyword AS is omitted, vaddr may not be A. If your virtual machine has tbe ECMODE option, any address up to X'PPF' is valid; otherwise, any address up to X'5FF' is valid. mode is the access mode; the primary access requested (read-only, write, or multiple), and the alternate access (read-only or write) desired if the primary access is not available. Valid modes are: ~gg~ 1!~~.!!.!.!!g R Read-only access. The link is not done if any other user has the disk in write status. R is the default mode if the link is to another userid. RR Read-only access. The link is established another user has the disk in write status. W Write access. The link is not done if any other user has the disk in read or write status. WR Write and read access. If another user has the disk in read or write status, an alternate access of read-only is acceptable. M Multiple access. This means that a write-link is to be given to the disk unless another user already has write access to it, in which case no link is to be done. MR Write-link. If another user already has write access to the disk, a read-link is to be done. MW Write-link. This link is established in all cases. even if Multiple write access under CMS can produce unpredictable results. ~~~1.!on: If the mode is omitted, the default is R if the use rid is another user; if you are linking to one of your own 284 IBM VM/370: Command Language Guide for General Users LIIK disks, the default is the "user access mode" of either R, W, or ft as specified in the Vft/370 directory for your disks. PASS= password 18 a eneto eight-character string that must match the access mode password for devicE vaddrl in the Yft/370 directory for the user (userid) specified. The password should be specified only when the LIIK is executed by a virtual machine (for example, from CftS), since the password is not print suppressed when included with the LIIK command~ The password cannot be the same as ani of the access modes (R, RR, V, VR, ft, ftR, or ftV) if the default mode is to be used. lote: The access mode with a user password. password should not be confused If you link to one of your own disks, no password is required. Also, if the link is to a device whose password is ALL, meaning that the device can be used by all users, the password is not required. However, if the link is to any other userid, a password for the desired device must be provided. !2te: The access allowed by the LIIK command to the vaddrl device belonging to userid is summarized below. Iou read the columns down to determine the type of link that results. The first row indicates the primary (and, optionally, the alternate) access mode requested. The second row indicates whether read, write, or multiple passwords exist in the V8/370 directory for the disk being linked. The third row indicates whether the disk is already being used, and if so, the mode of its access. The last row indicates the type of link established. For example, the third column is interpreted as follows: if you request a read access link (R) to a disk that has a read password defined and that already is accessed in read mode, you can establish a read link. Primary access requested: alternate access (if any) : I R R R R R VVVVV R R i R ft ft ft 8 ft ft R i 1 I I I I I I I 1 I -----------------------------------------------------------------1 Read password in directory: I I I I I I write password in directory: ftult. password in directory: I I I I I I -------------------------------------------------------------------1 Any existing links: I R VV I R R VV I RVVV 1 ======================================================================1 Access established: I R R I R I WI R I R I V V I R V 1 ------------------------------------------------------------------1 I=no or none; R=read; W=write; ft=aultiplei I=yes I !he~~: EITER READ PASSWORD: •••••••• Type the read password desired disk. over the mask to obtain read access to the EITER VRITE PASSWORD: •••••••• Type the write password over the mask to obtain write access to the desired disk. Section 8: Format and Usage Rules for CP Commands 285 LIIK EITER ftULT PASSVORD: •••••••• Type the aUltiple password over the aask to obtain write access to a disk for which other users aay already have access. !2i!: If LIIK is issued from a virtual aachine with the password included on a co.aand line, and the password is incorrect, then CP counts these incorrect passwords. If a total of ten such incorrect passwords is entered, the LIIK co.aand froa a virtual aachine is subsequently disallowed for that user for the re.ainder of the session. LIII can still be issued directly froa the terainal (that is, in CP co •• and mode), or the LIIK co •• and can be reinstated as a valid co.aand from your virtual machine by logging off and logging on again. (This procedure is designed to protect password security if a virtual machine issues the LIIK comaand repeatedly with trial passwords.) D1SD vaddr2 LIIKED R/O This response indicates that a read-only link to the given disk is established, for a LIIK request with a mode of R or RR, and that no other users are linked to the sa.e disk in read/write aode. D1SD vaddr2 LIIKED R/i This response indicates that a read/write link to the given disk is established, for a LIIK request with a mode of V, VR, ft, ftR, or ftV, and that no other users are linked to the same disk. r , L J D1SD vaddr2 LIIKED R/O; R/V BY {nnn ~SERS}I; R/O BY {nnn USERS}I user1d I userid I This response indicates that a read-only link to the given disk is established for a LIII request with a aode of RR, but warns that the disk is in read/write use by some users and possibly in read use by some users. If only one user has access, the number of users (nnn USERS) is replaced by userid. D1SD vaddr2 LIIKED R/i; R/O BY {nnn ~SERS} user1d This response indicates that a read/write link to the given disk is established for a LIII request with a mode of ft, ftR, or ftV, and informs you that the disk is also in read-only use by userid or by nnn users. (10 other users have a read/write link to the disk.) r , D1SD vaddr2 LIIKED R/V; R/i BY {nn USERS} I; RIO BY {nnn USERS} I userid I userid I L J This response indicates that a read/write link to the given disk is established for a LIIK request with a .ode of Bi, but warns you that the disk is also in read/write use by some users and possibly in read use by soae users. If only one user has access, the number of users (nnn USERS) is replaced by userid. . 286 IBft Yft/370: Com.and Language Guide for General Users LOADVFCB LOADVFCB Use the LOADVFCB co.mand to specify the forms spooled 3211 printer. The format of the LOADVFCB LCADVFCB vaddr FCB name L-_______________________________ control for , . . " " . . . ""S ..... ;a ,"""" • • a.,uu a virtual ..:._ .. ~~. [Index [nn)) vaddr is the virtual device spooled printer. FCB is a required reserved word meaning Forms Control Buffer. name is a system-defined name for the 3211 FCB image which is to be the controlling virtual FCB image. address (cuu) of the virtual 3211 There is only one VM/370 FCB image provided; its name is FCB1 and its format is as follows: Space 6 lines/inch Length of page 66 lines Line Represented 1 3 5 7 9 11 13 Channel Skip Specification 1 2 3 4 5 6 7 8 15 19 10 21 23 12 64 9 11 INDEX [nn] is the number of the print position that is the first print position. The value, nn, must be a number from 1 through 31; a leading zero need not be specified. If the keyword INDEX is specified without a value, the index defaults to the value specified in the FCB macro. See the !~L37Q: §I2!~~ ~!£~!~~~~!~§ §~!g~ for a discussion of the FCB macro and forms control images. Note: The LOADVFCB command may be used with installations that do not a 3211. The virtual machine's VM/370 directory entry must indicate a 3211, even though the program and operating . system have a 1403 defined. Then the LOADVFCB command can be used to obtain a virtual forms control image for 1403 printers so that programs that use printer overflow sensing may be spooled to disk. have None. Section 8: Format and Usage Rules for CP Commands 287 GC20-1804-3 Page Modified by TNL GN20-2659 LOGOFF LOGOFF Use the LOGOFF command to terminate virtual machine execution and disconnect your virtual machine from the VM/370 system. This command causes all active spool files to be closed, temporary disks to be relinquished, dedicated devices to be detached, and an accounting record to be created for the user. The format of the LOGOFF command is: , ,.- I LOGoff I LCGout L-_ _ _ __ HOLD [HOld] I I retains the connection for a switched communication line to enable you to logon without redialing the VM/370 system. You should always logoff and not only turn power off on Terminal power off is not synonymous with logoff. the terminal. If you turn power off at the terminal instead of logging off, logoff occurs by one of the following methods: • I • ~~~g~~ lI~~~~i!~~ ~g~!i~~l--Logoff takes place after a 15-minute interval has elapsed. This occurs if no attempt is made to power on the terminal and re-establish communications with the still logged-on virtual machine during this 15-minute period. J~lQ ]!§E!~I %~f~!~~l--Logoff only takes place 15 minutes after VM/370 discovers that the terminal has been turned off (that is, VM/370 attempts to send a message to the terminal, but gets back an error code indicating that the terminal is turned off). Because many hours may pass before VM/370 discovers that the terminal is turned off, you run the risk of compromising the security of the virtual machine and data files. Anyone turning the 3270 power back on has access to the virtual machine without logging on. This is because the machine is still logged on, although inactive. CONNECT= hh:mm:ss VIRTCPU= mmm:ss.hs TOTCPU= mmm:ss.hs 288 CONNECT hh:mm:ss is the actual clock time spent in the current terminal session in hours:minutes:seconds. VIRTCPU mmm:ss.hs is the virtual CPU time used in current terminal session minutes:seconds.hundredths of seconds. IBM VM/370: Command Language Guide for General Users the in LOGOll TOTCPU ••• :ss.hs These ti.es is the total CPU time (including virtual and overhead) used in the current terainal session in ainutes:seconds.hundredths of seconds. are either the elapsed time session or the elapsed time since this user. for the entire ter:inal the ICIT co •• and was entered for LOGOll IT hh: •• :ss zone weekday .a/dd/yy is the response for a logoff. GRIl raddr} raddr LOGOll IS userid USERS = nnn { LINE DBY rid is the noraal response to the priaary specifies the resource identification. GRIF raddr} LIIE r~ddr LOGOll IS userid USERS { DEY r1d . - = nnn systea operator. rORCED is the response to the priaary system operator if the forced by a line tiaeout or a terminal power-off. DEV rid specifies the resource identification. USER DSC LOGOll IS userid USERS DEY rid logoff is = nnn is the response to the primary systea operator when logoff occurs for a user who had previously disconnected using the DISCOII co.aand. Section 8: loraat and Usage Rules for CP Co•• ands 289 LOGON LOGON Use the LOGON co •• and to identify yourself to the VB/310 syste. and to access that syste.. Upon successful logon, VB/370 creates a virtual machine configuration fro. infor.ation in the VB/310 directory. The LOGOI com.and name may not be entered using any line-editing sy.bo1s, but the operands .ay use these symbols. See the !AL11Q: ~!iA!! User's ~~ide for a detailed description of logon procedures. If you use LOGOI because a teleprocessing line or terminal error disconnected you fro. your virtual aachine, you have 15 minutes to logon again. If you do not log on within 15 .inutes, your virtual aachine automatically logs off. In this case, you .ay have to reconstruct files and restart jobs interrupted by the teleprocessing line or ter.inal error. The format of the LOGON command is: Logon Login userid [password] [Bask] [Noip1] use rid is the identifier assigned to you in the VB/370 system. password is your password. Specify this field if is, .asking characters) is desired. BASK types masking characters to cover the password on typewriter terminals without the print inhibit feature. The mask types on the line following a proapting message from VB/310 requesting you to enter your password. Should you forget to ask for masking when you type LOGOI, you can press the carriage return after the prompt for the password types, and V!/310 then types out the masking characters. IOIPL specifies that the IPL device or naae in the VB/370 directory should not be used for an automatic IPL. no protection (that Responses EITEB PASSWOBD: indicates that the userid has been accepted. You should type in the password, or signal a carriage return if a mask is desired for the password, and BASK was not included on the com.and line. LOGBSG- hh:.m:ss .m/dd/yy indicates the ti.e and date at which the system log message was generated or most recently revised. If you wish to see all of the system log messages, you must issue the CP com.and QUERY LOGBSG. Any lines of the log message for which the first character is an asterisk are displayed at this point. 290 IB! VB/310: Com.and Language Guide for General Users LOGOI This .essage is indicates the o.itted if all number of spool counts files that are zero, otherwise exist for JOU it at logon tiae. LOGOI IT hh: •• :ss zone weekday ••/dd/yy -- or -RBCOIIBCTBD IT hh:.a:ss zone weekday .a/dd/yy indicates the tiae, day of the week, and date at which the LOGOI or RBCOIIECT is coaplete. GRll raddr} raddr LOGOI IS userid { LIIB DEY rid USBRS = nnn USBRS = nnn -- or -GRll raddr} raddr > RECOIIBCT userid \ DBV rid J JJ LIIB is the response to the pri.ary the resource identification. systea operator. DEV rid specifies Section 8: loraat and Usage Rules for CP Co •• ands 291 MESSAGE MESSAGE Use the !ESSAGE coaaand to transait aessage text to a specified userid or to the priaary systea operator. If the user designated to receive the aessage is not logged on or has suppressed the receiving of aessages, the aessage is not transaitted and the sender receives a diagnostic aessage to this effect. A aessage which is not received by a user is not saved and aust be sent at a later tiae when the user is receiving aessages. The aessage is displayed at the terainal when the terainal is ready to receive output. If a typewriter terainal (or a display terainal h.aving AUTOREAD set 01) is entering data, the class Any aessage is held until an end-of-line (carriage return or EITER) signal is received. The foraat of the !ESSAGE co.aand is: Message !SG :serid } asgtext { OPerator where: I userid is the identification of the single user who is to receive the aessage. * specifies that you are sending a message to yourself. OPERATOR sends the aessage to the priaary systea operator regardless of his userid. asgtext is the text of the aessage which is to be transaitted. As .any characters .ay be entered as will fit on the re.ainder of the input line. Responses hh:aa:ss !SG PROB OPBRATOR: asgtext is the response received by the user fro. the syste. operator. hh:.a:ss BSG PRO! {tOGO~XXX}: user1d asgtext is the foraat of the aessage sent to another user or to the syste. operator, where userid is the na.e of the sender. If the user sending the aessage is not logged on to Y!/310, LOGOI and the line nu.ber are displayed instead of userid. hh:.a:ss is the tiae in hours:.inutes:seconds when the to the user. If the user receiving the aessage is the pri.ary alar. bell at the central coaputer console rings. 292 aessage was sent systea operator, the IBB YB/310: Co •• and Language Guide for General Users HOTREADY NOTREADY Use the HOTREADY command to cause a virtual device to appear as if it had changed from ready to not ready status. This co.mand is for Use with spooled unit record devices and virtual consoles only. Any I/O operation to the specified device, in progress at the time the command is issued, is completed. On the next start I/O (510) instruction, the not ready condition is in effect. The format of the HOTREADY command is: 10TReady , vaddr I I vaddr is the virtual device address (cuu) from ready status. of the unit to be removed Response INVALID DEVICE TYPE This is the response if the device specified by spooled unit record device or a virtual console. vaddr is section 8: Pormat and Usage Rules for CP Commands not a 293 ORDER ORDER Use the ORDER com.and to place your closed spool files, by device type, in a specific order. you can deter.ine via the QUERY co.mand the filename, filetype, originating userid, spoolid, and other attributes of all of your files. The files are ordered as they are passed to your spool device; you may order only your own files. The for.at of the ORDER co.mand is: ORDer I {Reader } I Printer I PUnch {CLaSS c 1 CLass C2 ••• }1 spoolidl spoolid2 ••• 1Sequencing can be done with the ORDER co.mand using a combination of CLASS and spoolid specifications. For example: ORDER PRIITER CLASS A 1963 CLASS C specifies that printer files are processed in the following order: all class A files, the file with spoolid 1963, and then all class C files. REIDER RDR orders the reader spool files. PRIITER PRT orders the printer spool files. PUICH PCH orders the punch spool files. CLASS c1 CLASS c2 ••• processes the input and output spool files in the order in which their classes are specified. CLASS is a required reserved word and cl, c2,... are one-character alphameric fields (with values from A to z and from 0 to 9) representing the spooling classes. spoolid1 spoolid2 ••• processes the files represented by the spoolids in which the spoolids are specified. in the order {:~nD } FILES ORDERED This response indicates the number of files ordered. displayed if you issued the CP SET IMSG OFF command. 294 IBM VM/310: Command Language Guide for General Users It is not PURGE PURGE Use the PURGE co •• and to remove your own closed spool files from the system before they are printed or punched by the spooling devices, or before they are read by a user. Any closed file may be purged regardless of its status, as long as it has not been selected for processing. The format of the PURGE co •• and is: PURge ~ I Beader I Printer I ) PUnch I \ ALL ,l~ r ICLass.c1 CLass.c2 ••• I ( I spoo11d 1 spoo11d2... i ) IALL I J L lPurging may be done using a combination of CLASS and spoolid specifications. Por exa.ple: PURGE PRINTER CLASS A 1932 CLASS D 619 specifies that all Class A and Class D printer files and printer files with spoolids 1932 and 619 are to be purged. READER RDR purges all reader files. PRIITER PRT purges all printer spool files. PUICB PCB purges all punch spool files. ALL purges all spool files. When ALL is specified for device type, all other operands are ignored~ CLASS c1 CLASS c2 ••• purges the files of the specified device type and class. CLASS is a required reserved word and c1, c2, ••• are one-character alpha.eric fields (with values from A to Z and 0 to 9) that represent the spooling class. spoolid1 spoolid2 ••• purges only the files for the specified spoolids. ALL purges all punch) • files of the specified type (reader, printer, or {:~nn} PILES PURGED This response indicates the nu.ber of files purged. displayed if you issued the CP SET IftSG co ••and. It is not Section 8: Pormat and Usage Rules for CP Co •• ands 295 QUBRY QUERY Privilege Cl!22: G and all classes except class Any Use the class G QUERY command to .achine configuration. You can information: find the status of your request the following • Bow .uch ti.e you have used during a ter.inal session. • Bow many .achine. • • Bow you have set the functions of the SET command. • The status of all the devices on your virtual machine • I. I input and output spool files on reside syste. and types of your virtual Bow you have set the options of the TERftINAL co •• and. The channel operating mode block-multiplexer or selector. of your • All users, and their device addresses linked to a given virtual address. • Various kinds of reader. • achine, virtual and access information about your virtual either modes, who are printer, punch, and There are other operands you can use with the QUBRY com.and if you have the privilege class required to use them. These are described in the !ftL31Q: QE~tor~~ §uide. Also, if you are a CftS user, you can use the CftS QUBRY co •• and to query the status of your CftS virtual machine. lor ease of use, the QUERY co.mand and operands described in this section have been separated into the operands available for general users (class G) and those available to all users except class Any. 296 IBft Vft/310: Co.mand Language Guide for General Users GC20-1804-3 Page Modified by TNL GN20-2659 QUERY The QUERY Command lor Class G Users The format of the Class G QUERY command is: r------------------------------------------Time Query 1 set TERMinal ' Files [CLass c] CHANnels \ GRAF CONsole Dasd TApes LINES UR STORage ALL vaddr [ Virtual] Links vaddr r Reader Printer PUnch , 1spoolid 1 IALL 1 ICLass c 1 L .J PF[ nn ] TIME displays the current time, time zone, weekday, and CPU time for the current terminal session. date, connect FILES [CLASS c] displays the number of spooled input and output files for your virtual machine. Files currently being processed are not included in the totals. If CLASS is specified, the number of spooled input and output files of the class specified is displayed. SET displays the status of the SET command functions. TERMINAL displays the current console environment. VIRTUAL displays the status of all virtual devices. options in effect of fer your operation virtual CHANNELS displays the channel mode virtual machine. GRAF displays the status of all your virtual devices that are locally attached. CONSOLE displays the status of your virtual consoles. DASD displays the status of all access storage devices. ycur virtual for the display direct Section 8: Format and Usage Rules for CP Commands 297 QUERY TAPES displays the status tape devices. LINES displays the status communication lines. UR displays devices. STORAGE displays the size of your virtual storage. ALL displays the status of all your virtual devices. vaddr displays the status of the virtual device at address vaddr. the status of all your virtual magnetic your virtual of of all all your unit record LINKS vaddr displays the userid, device address, and access mode at the terminal for all users linked to the specified v~rtual address (vaddr) • READER RDR PRINTER PRT PUNCH PCH displays the following information, pertaining to your virtual reader, virtual printer, and virtual punch spool files: • • • • • • Userid (of user who created the file) Spool file identification (spoolid) Class and originating device type Number of logical records in the file Number of copies specified for the file (has no effect for reader files) File hold status One line of information is displayed for each spool file. READER } { PRINTER spoolid PUNCH displays additional information for one spool file. The spoolid operand must follow the READER, PRINTER, or PUNCH operand. In addition to the information normally displayed for reader, printer, or punch files, the following is also displayed: • • • Date and time the file was created Filename and filetype of file (if any) Distribution code of the file (PRINTER only) and PUNCH Only one line of data is displayed (that data the spool file specified by spoolid). files pertaining to FILES } READER { PRINTER ALL PUNCH displays additional information for spool files. The ALL operand must follow the READER, PRINTER, or PUNCH operand. In addition to the information normally displayed for the reader, printer, or punch files, the following is also displayed: 298 IB6 V6/370: Command Language Guide for General Users QUERY • • • Date and time the file was created Pilename and filetype of file (if any); if your file was assigned a dsname and you later issue QUERY, only the first 20 characters of the 24-character field are displayed. Distribution code of the file (PRINTER and PUNCH files only) One line of information is the type specified. iii ~nl ::1IVQ~ ---';---41: - - for each file of FILES } READER { PRINTER CLASS c PUNCH displays the basic information for all speol files of the class specified by c. This operand must follow the FILES, READER, PRINTER, or PUNCH operands. One line of information is displayed the specified class. PF[ nn] for each spool file of displays the 3270 Program Function key number specified, along with its associated command lines. If nn is not specified, all 12 program function keys and their associated data lines are displayed. The value, nn, is a number from 1 (or 01) to 12. See the CP SET command for an explanation of how to define and use program function keys. This section describes command. the messages CP prints in response to your TIME IS hh:mm:ss zone weekday mm/dd/yy The current real clock time in hours:minutes:seconds, the time zone (for example, EST), the day of the week and the calendar date (month/day/year) are displayed. CONNECT= hh:mm:ss VIBTCPU= mmm:ss.hs TOTCPU= mmm:ss.hs The time spent in the current terminal session is displayed. CONNECT= hh:mm:ss is the actual clock time spent in the current terminal session in hours: minutes: seconds. VIRTCPU= mmm:ss.hs is the virtual CPU time used in the current terminal session in minutes:seconds.hundredths of seconds. TOTCPU= mmm:ss.hs is the total CPU time (virtual and overhead) used in the current terminal session in minutes:seconds.hundredths of seconds. section 8: Format and Usage Rules for CP Commands 299 GC20-1804-3 Page Modified by TNL GN20-2659 QUERY ~ ~hE} ON } {ON } {ON } {ON } MSG { OFF, WNG OFF, EMSG {TEXT, ACNT OFF, RUN OFF LINEDIT {~~F ~, ON ASSIST { OFF IMSG TIMER {~:F }, ISAM REAL {;~~VC}}, PAGEX {~:F}' ECMODE {~;F } { ON} OFF {~~F} The settings of all functions controlled by the SET command and the VM/370 directory ISAM and ECMODE options are displayed. Refer to the discussion of the SET command for explanations of the functions. LINEND {~FF}, LINEDEL LINESIZE nnn, MASK {~FF}, {~:F}, APL CHARDEL {~:F}, {~FF}' ATTN ESCAPE {~;F}, {~FF} MODE {~:} The settings of all functions that are controlled by the TERMINAL command are displayed. Refer to the discussicn of the TERMINAL command for explanations of the functions. If LINEDIT is turned off, the logical editing symbols displayed are those that were in effect before line editing was turned off. FILES: {~~n} RDR, {:~n} PRT, {:~n} PUN The total number of spool files in your system is displayed. If you specify the CLASS option with QUERY FILES, only the totals for the class you specify are indicated rather than for all classes on your system. CHANNELS= {SEL} BMX The operating mode of the virtual machine channels is displayed. This reponse applies to all of the virtual machine channels except channel 0, which is always a byte-multiplexer channel, and any channels with virtual or real channel-to-channel adapters, which are always selector channels. 300 IBM VM/370: Command Language Guide for General Users QUIR! vaddr ION DEY raddr}~ llOT RIID! The status of all locally attached virtual display devices defined to your virtual aachine is displayed. vaddr is the virtual address to which the device is attached. raddr is the real address of the device. BOT BlIDY shows the status of a virtual display deyice that has not been attached via the DIlL coaaand. GRIP} COIS vaddr 01 { LIII raddr TER!} {STOP } { IOTIR! STIRT COlT} { HOLD} {RBID! } vaddr CL c { BOCOIT JOHOLD COP! nn 10TRBID! vadd r {i~R } userid DIST distcode Por virtual aachine consoles, a three-line response is displayed. The first line shows the console status and options and the next two lines are the virtual console spooling status. vaddr is the virtual address of the virtual aachine console. raddr is the real address of the terainal virtual console. c is the spooling class of the console. nn is the nuaber of copies spooled. userid is the user identification. distcode is the distribution code. The other fields indicate the setting the SPOOL coaaand. associated with the of the respective options in The default settings for a virtual console are: COIS vaddr 01 DBV raddr TER! STOP vaddr CL T 10COIT 10 HOLD COPY 01 RBIDY vaddr paR userid DIST distcode Section 8: Poraat and Usage Rules for CP Coaaands 301 QUERY R/i} DASD vaddr type volser { B/O The status displayed. of each DDD CYL virtual disk defined for your syste. is the DASD device is !lhe!:~: vaddr is the virtual address attached. type is one of the following device types: to which 2311 2305 2314 3330 3340 231T (2311 at top of 2314) 231B (2311 at bottom of 2314) volser is the volu.e serial number of the system this virtual disk resides. R/i R/O indicates the read/write status of the disk. nnn is the number of cylinders on the virtual disk. disk on which TAPE vaddr ON DEV raddr The status of each tape defined for your system is displayed. vaddr is the virtual address to which the tape is attached. raddr is the real address of the tape. LINE vaddr ON DEV raddr The status of all co.munication lines .achine is displayed. defined in your virtual vaddr is the virtual address to which the line is attached. raddr is the real address of the line. :,ENABLED } LINE vaddr { DISABLED The status of virtual com.unication is displayed. 302 lines at virtual address vaddr IBft V8/370: Co •• and Language Guide for General Users QUERY CORT} { HOLD} { EOF} { READY} RDR vaddr CL c { BOCOBT .. BOHOLDNOEOF . ROTREADY _ The status of all the virtual machine is displayed. where: vadci'r readers attached to your virtual is the virtual device address of the virtual reader. is the spool file class which the device services. A class of * indicates the device serves all classes of spool files for input. c The other fields indicate the setting the SPOOL command. of the respective options in The default settings for a reader are: RDR vaddr Cl PRT } { PUB vaddr Cl vaddr { iTO C FOB { } * IOCONT NOHOlD READY EOF ~OCONT} CORT} { HOLD} {REIDY} .0HOl£ COpy nn NOTREADY userid DIST distcode The status of all the virtual printers and punches attached to your virtual machine is displayed. where: vaddr is the virtual punch. device address of the virtual printer or c is the output class assigned to spool files produced from the device. nn is the number of produced. copies of each output file to be TO userid indicates that the output from the device, when closed, becomes a reader input spool file for the indicated userid. FOB userid distcode indicates the userid identification (spool file assigned to spool files produced from the device. is the distribution code assigned produced from the device. to owner) each spool file Bote: The distcode in this case indicates the FOR userid; however, the-distcode produced on the output files when the file is closed is the distcode assigned to the FOR userid as specified in the V!/370 directory. The other fields indicate the setting the SPOOL co •• and. of the respective options in Section 8: Pormat and Usage Rules for CP Co •• ands 303 QUERY The default settings are: PRT} { PUN vaddr CL A ROCONT NOHOLD COPY READY 01 vaddr FOR userid DIST distcode where: userId and distcode are assigned for the virtual machine. STORAGE = nnnnnK The size of displayed. the virtual .achine in .ultiples of 1024 bytes is Has the same effect as if all the following com.ands were issued: QUERY QUERY QUERY QUERY QUERY QUERY QUERY QUERY VIRTUAL VIRTUAL VIRTUAL VIRTUAL VIRTUAL VIRTUAL VIRTUAL VIRTUAL STORAGE LINES TAPE UR DASD GRAF CORSOLE CHANNELS The response is in the same form as QUERY VIRTUAL DASD, TAPES, LINES, or UR, depending on virtual device type. userid vaddr {R/O}, • R/i A list of users is displayed. 304 who linked to the device at userid is the identification link. vaddr is the virtual address by to the device. R/O R/i is the type device. of access of the user virtual address vaddr who originated the which the user (userid) refers the user (userid) has IB! V!/370: Co •• and Language Guide for General Users to the QUERY r , ORIGINID lILE CLASS RECDS CPY HOLD IDATE TIftE NAftE TYPE DIST I userid spoolid c typ norecs nn stat Imm/dd hh:mm:ss fn ft distcodel L .J userid is the user who originally created the file. spoolid is a unique, system-assigned number which is used by Vft/370 to identify the file. c is the spool file class. typ is the originating device type (PRT, PUR, CON, or RDR) • norecs is the number of logical records contained in the file. nn is the number of copies assigned to the file (it has no effect for virtual reader files). stat is the file hold status: lONE (no hold), USER (user hold), SYS (syste. hold), or USYS (syste. and user hold) • mll/dd is the date the file was created in month/day. hh:II.:ss is the time of file creation in hours:.inutes:seconds. fn is the filename assigned to the file (if any) • ft is the filetype assigned to the file (if any). distcode is the distribution code assigned to the file. When you issue QUERY RBIDBR, QUERY PRINTER, or QUERY PUNCH cOllllands, responds by listing (in the fora described) all the files associated with your virtual reader, printer, or punch. rD The information listing DATE, TIME, RAftE, TYPB, and DIST (date of file creation, time of file creation, nalle of file, filetype of file, and file distribution code) is displayed only when you specify the ALL or spoolid operands. IftftBD} Plnn { DELIY pfdatal ••• The program function defined for a program function key is displayed. If there is no function defined for the program function key, this message is generated in the user input area of the screen: Plnn UIDBPIIBD lot!: If the next com.and you enter is shorter than this message, you .ust first clear the input area or enter enough blanks to eliminate the message; otherwise, errors result. Section 8: lorllat and Usage Rules for CP COllmands 305 QUERY QUERY Command for All Classes of User:,; (Except Class Any) Use tbis form of the QUERY command to: I. I. I. Display the log messages. List all the users that are logged on. Display the number of users that are logged on or dialed to 'ft/370. This form of the QUERY command is for all classes of users except those in the Any category. The format for this QUERY command is: Query LOGmsg } Haaes [userid] { Users L - - -______________________________________________________________________ userid ~ LOGftSG displays the log messages of the day. HAftES displays a list of all the users logged on and the real address of the line to which each is connected. If a user is disconnected, DSC is printed instead of the line address. USERS displays the number of logged on users and the number of users logically connected to other virtual machines. USERS use rid displays the user identification and the terminal device userid address of the specified user if he is logged on. If the user is not logged on, a message to this effect is issued. Use the QUERY USERS userid format if the userid is the same as an operand of the QUERY command (for example, TAPESJ. * logmsg text line 1 * logmsg text line n All lines (both those with an message file are displayed. asterisk and without) in userid - {DSC }' raddr userid - { DSC }' ••• raddr 306 IBft '8/370: Command Language Guide for General Users the log QUERY A list of all logged-on users is displayed; if the user is currently connected, the real address to which he is connected is displayed (raddr); if he is not connected to the system, DSC is displayed. nnn USERS, ••• DIALED The number of users logged on and dialed to VM/310 is displayed. !~!I!: nnn is the total number of logged-on users • •• m is the total number machines. of users attached via DIAL to virtual Note: DIALED means the line is not available to CP because it is logIcally attached to a multiple-access virtual machine and is a part of that user's virtual machine operation. userid - raddr The real address is displayed. (raddr) to which the specified user is connected section 8: For.at and Usage Rules for CP Com.ands 301 READY READY Use the READY co •• and to set a device-end interrupt pending for the specified virtual device. The status of the virtual machine is unchanged. Other than having a device-end interrupt pending, the virtual device is unchanged. The format of the READY com.and is: I READY vaddr L vaddr is a virtual device address (cuu). None. 308 IBM VM/370: Command Language Guide for General Users REQUEST REQUEST Use the REQUEST command to make an attention interrupt virtual console. The format of the REQUEST com.and is: pending at your REQuest The ATTN command performs the same functions as commands can be used interchangeably. REQUEST and the tva lone. Section 8: Por.at and Usage Rules for CP Co •• ands 309 RESET BESET Use the RESET co •• and to clear all pending interrupts fro. the specified virtual device. In addition, all error conditions occurring as a result of unit checks and virtual sense bytes are reset. Th~ for.at of the RESET co •• and is: RESET vaddr .!.h~: vaddr is a virtual device address (cuu) of the device to be reset. DEVICE RESET 310 IB! V!/370: Co •• and Language Guide for General Users REWIND REWIND Use the REWIND command to rewind (but not unload) a real tape unit attached to your virtual machine at a specific virtual device address. This accomplishes the manual operation of rewinding and making the tape ready at the tape unit. The format of the REWIND command is: r-------------------------------vaddr IL-_REWind __ vaddr is the virtual device address rewound. (cuu) of the tape unit to be REWIND COMPLETE This is the normal response. REWIND NOT PERFORMED This is ready. the response you receive if the real tape unit is not section 8: Format and Usage Rules for CP Commands 311 GC20-1804-3 Page Modified by TNL GN20-2659 SET SET Use the system. SET command to control various functions within The for.at of the SET command is: ,---SET ---, ACNT MSG WIG IMSG RU I LINEDit ECmode ISAM NOTRans PAGE X EMSG OFF ON CODE \ TEXT TIMER your virtual ~ Q! OFF } { REAL ASsist ,I ISVC r ,I \ I I NOSVC I .. r PFnn IIMMed IQ~1~:I~g L L .. , I [pfdata1tpfdata2t ••• pfdatan] I . PFnn [TAB n1 n2 ••• ] PFnn COpy [resid] ACNT {ON } controls whether accounting information is displayed at the terminal or not (ON and OFF respectively) when the operator issues the CP ACNT command. When you log on VM/370, ACNT is set on. MSG {ON } controls whether messages sent by the MSG command from other users are to be received at the terminal. If ON is specified, the messages are displayed. OFF specifies that no messages are received. When you log on VM/370, MSG is set on. OFF OFF controls whether warning messages are displayed at the terminal. If ON is specified, all warning messages sent 312 IBM VM/370: Command Language Guide for General Users GC20-1804-3 Page Modified by TNL GN20-2659 SET via the CP WARNING command from the system operator are received at the terminal. If OFF is specified, no warning messages are received. When you log on VM/370, WNG is set on. IMSG faN l tOFF f controls whether certain informational responses issued by the CP CHANGE, DEFINE, DETACH, ORDER, PURGE, and TRANSFER commands are displayed at the terminal or not. The descriptions of these CP commands tell which responses are affected. If ON is specified the informational responses are displayed. If OFF is specified, they are not. The SET IMSG ON or OFF command line has no effect on the handling of error messages set by the SET EMSG command. When you log cn VM/370, IMSG is set on. RUN {ON} OFF controls whether the virtual machine stops when the Attention key is pressed. ON allows you to activate the Attention key (causing a read of a CP command) without stopping your virtual machine. When the CP command is entered, it is immediately executed and the virtual machine resumes execution. OFF places the virtual machine in the normal CP environment, so that when the Attention key is pressed, the virtual machine stops. When you log on VM/370, RUN is set off. LINEDIT {ON } OFF controls the line editing functions. ON specifies that the line editing functions and the symbols of the VM/370 system are to be used to edit virtual CPU console input requests. This establishes line editing features in systems that do not normally provide them. OFF specifies that no character or line editing is to be used for the virtual machine operating system. When you log on VM/370, LINEDIT is set on. ECMODE controls whether the virtual machine operating system may use system/370 extended control mode and control registers 1 through 15. Control register zero may be used with ECMOD! either ON or OFF. When you log on VM/370, ECMODE is set according to the user's directory option; ON if ECMODE was specified and OFF if not. { ~~F } Note: Execution of the SET ECMODE {ONIOFF} command always causes a virtual system reset. IS AM controls whether additional checking is performed on virtual I/O requests to DASD in order to support the use of the as Indexed Sequential Access Method (ISAM). When you log on VM/370, ISAM is set according to the user's directory options; ON if ISAM was specified and OFF if not. NOTRANS {ON } OFF controls CCW translation for CP. NOTRANS can be specified only by a virtual machine that occupies the virtual=real space. It causes all virtual I/O from the issuing virtual machine to bypass the CP CCW translation. To be in effect in the virtual=real section 8: Format and Usage Rules for CP Commands 313 GC20-1804-3 Page Modified by TNL GN20-2659 SET environ.ent, SET NOTRANS ON must be issued after the virtual=real machine is loaded via the IPL command. (IPL sets the NOTRANS option to an OFF condition.) controls the pseudo page fault portion of the VM/VS Handshaking feature. PAGEX ON or OFF should only be issued for an OS/VS1 virtual machine that has the VM/VS Handshaking feature active. It can only be specified for a virtual machine that has the extended control mode (ECMODE) option. PAGEX ON sets on the pseudo page fault portion of handshaking; PAGEX OFF sets it off. When you log on to VM/370, PAGEX is set OFF. PAGEX {ON } OFF controls error message handling. OB specifies that both the error code and text are displayed at the terminal. TEXT specifies that only text is displayed. CODE specifies that only the error code be displayed. OFF specifies that no error message is to be displayed. When you log on VM/370, EMSG is set to TEXT. EMSG {ON OFF } CODE TEXT Note, CMS recognizes EMSG settings for all error (E), information (I), and warning (W) messages, but ignores the EMSG setting and displays the comFlete message (error code and text) for all response (R), severe error (S), and terminal (T) messages. controls the virtual timer. ON specifies that the virtual timer is to be updated only when the virtual CPU is running. OFF specifies that the virtual timer is not be updated. REAL specifies that the virtual timer is to be updated during virtual CPU run time and also during virtual wait time. If the REALTIMER option is specified in your VM/370 directory entry, TIMER is set to REAL when you leg on; otherwise it is set to ON when you log on. TIMER { ON } OFF REAL ASSIST ~ , r L 1 r , lOB I ISVC I I I INOSVCI J L J OFF controls the availability of the virtual machine assist feature for your virtual· machine. The assist feature is available to your virtual machine when you log on if (1) the real CPU has the feature installed and (2) the system operator has not turned the feature off. The SVC handling portion of the assist feature is invoked when you log on unless your VM/370 directory entry has the SVCOFF option. Issue the QUERY SET command line to see if the assist feature is activated and whether the assist feature or VM/370 is handling SVC interrupts. All svc 76 requests are passed to CP regardless of the SVC and BOSVC operands. for handling, If you issue the SET ASSIST command line and specify SVC or BOSVC while the virtual machine assist feature is turned off, the appropriate bits are set. Later, if the feature is turned on again, the operand you specified while it was off becomes effective. 314 IBM VM/370: Command Language Guide for General Users GC20-1804-3 Page ~odified by TRL GR20-2659 SET OR sets the assist feature on for the virtual machine; OFF turns it off. SVC specifies that the assist feature handles all SVC interrupts except SVC 76 for the virtual machine; ROSVC means V~/370 handles the SVC interrupts. See the !~LJ1Q: §l§!g! ~!Qg~!!g!~§ g~!g~ for information on how to use the assist feature. r PFnn , II~~ED I [pfdata1'pfdata2' ••• pfdatan] IDELAYED I L ~ defines a program function for a program function key on a 3277 Display station and indicates when that function is to be executed. See the !~LllQ: I~!!!~gl Us~!~§ ~~!~~ for a description of how to use the 3277 program function keys. The value, nn, is a number from 1 Cor 01) to 12 that corresponds to a key on a 3277. The program function is a "function", or programming capability, you create by defining a series of V~/370 commands or data you want executed. This series of commands executes when you press the appropriate program function key. I~~ED specifes that the program function is executed immediately after you press the program function key. DELAYED specifies that execution of the program function is delayed for a display terminal. When the program function is entered, it is displayed in the input area and not executed until you press the Enter key. DELAYED is the default value for display terminals. pfdata1'pfdata21 ••• pfdatan defines the V~/370 command or data lines that constitute the program function. If more than one command line is to be entered, the pound sign C') must separate the lines. If you use the pound sign (t) to separate commands that you want executed with the designated PP key, you must precede the command line with 'CP, turn line editing off, or precede each pound sign with the logical escape character C"). For further explanation, see the "Examples of Setting Program Function Keys" section that follows. If no command lines are entered, PFnn is a null command. Program functions cannot be embedded within one another. PFnn TAB n1 n2 specifies a program function number to be associated with tab settings on a terminal. The number of the PF key, nn, can be a value from 1 Cor 01) to 12. See the VMLllQ: ~~!1 §~!g~ for examples of how this feature is used. TAB is a keyword identifying the tab setting function. The tab settings may be entered in any order. PFnn COPY [resid] specifies that the program function key, numbered nn, performs a COpy function for a remote 3270 terminal. nn must be a value of 1 or 01 to 12. The COpy function produces a printed output of the entire screen display at the time the PF key is actuated. The output is printed on an IB~ 3284, 3286 or 3288 printer connected to the same control unit as your display terminal. section 8: Format and Usage Rules for CP Commands 315 GC20-1804-3 Page Modified by TNL GN20-2659 SET The resid operand may be specified if more than one printer is connected to the same control unit as your display terminal. It is a three-character hexadecimal resource identification number assigned to a specific printer. If resid is entered, the printed copy is directed to a specific printeri if not, the copy is printed on the printer with the lowest resid number. The resid numbers of the printers available to your display terminal can be obtained from your system operator. If only one printer is available, resid need not be specified. If the command is invalid or if the designated or default printer is not free (other display terminals may be using it) or is not connected to the same control unit as your display terminal, a NOT ACCEPTED message appears on the screen, If the printer was busy, retry the operation until the printer honors your request. You may include your own identification on the printed output by entering the data into the user input area of the screen before you press the PF key. The identification appears in the lower left of the printed copy. This example shows you how the SET PFnn command is processed if you do not turn line editing off or use the logical escape character. Enter one of the following commands while in CMS mode: SET PF02 IMMED Q RDR#Q PTRiQ PUN or CP SET PF02 IMMED Q RDRIQ PTR#Q PUN Now press the ENTER key: 1. The ENTER key causes immediate execution, 2. Only the Q PTR and Q PUN commands execute, and 3. Q PTR and Q PUN are stripped from the PF02 key assignment leaving Q RDR, which was not executed. The following examples problem. 316 demonstrate two methods for IBM VM/370: Command Language Guide for General Users avoiding the GC20-1804-3 Page Modified by TNL GN20-2659 SET Enter one of the following commands while in CMS mode: tcp SET PP02 IMMED 0 RDRIO PTRIO PUN -- or CP SET PP02 IMMED 0 RDR"tQ PTR"IQ PUN or SET PP02 IMMED Q RDR"tQ PTR"tQ PUN Now press the ENTER key. CP assigns the three QUERY commands as functions of the pressing the PP02 key executes the three QUERY commands. PP02 key. Enter the following command while in CMS mode: SET LINEDIT OPP and press the ENTER key. Then enter: SET PP02 IMMED Q RDRIO PTRtQ PUN or CP SET PP02 IMMED Q RDRtQ PTRtQ PUN and press the ENTER key. CP assigns the three QUERY commands as functions of the PP02 key. Then enter: SET LINEDIT ON and press the ENTER key. Pressing the PP02 key executes the three QUERY commands. * PPnn UNDEFINED This response appears in the user area of the screen on Display Station if a PP key that is undefined is pressed. Section 8: Format and Usage Rules for CP Commands a 3277 316.1 GC20-1804-3 Page Modified by TNL GN20-2659 SLEEP SLEEP Use the SLEEP command to place the virtual machine in a dormant state but allow messages to be displayed. IDe vlr~ual maChlne does not run during this time, but connection time is still being counted. You can specify a sleep interval in the command line and the virtual machine is awakened automatically when the specified interval has elapsed. Awaken the terminal at anytime by signalling attention. In either case, this returns the virtual machine to the environment from which SLEEP was issued. If no ln~erval is specltled, the virtual machine remains dormant until awakened by signalling attention. The format of the SLEEP command is: r- I I I i I r r " L L JJ I ISEC II I nn I~!1! II I IHRs II SLeep L I ~h~!~: I r r " I I ISECII I Inn 1]!1!11 I I I HRs II ILL I I I I JJ indicates the actual number of seconds, minutes, or hours of actual CPU time to sleep. The value nn can be any decimal number from 00 through 99. If you specify no time unit, the value of nn is taken to be minutes. If you issue the SLEEP command from a CP read or from a VM read using the CP "escape" function (ICP SLEEP), the end of the time interval or signalling attention returns you to the CP environment. If you issue the SLEEP command while in virtual machine mode (for example, CMS execution of the command line CP SLEEP), the end of the time interval or signalling attention returns your terminal to virtual machine mode without entering the CP environment. The SLEEP command, with the time interval, is a convenient way to delay or schedule the execution of certain jobs that could be run more efficiently at a later time; for example, second shift. None. section 8: Format and Usage Rules for CP commands 317 GC20-1804-3 Page Modified by TNL GN20-2659 SPOOL SPOOL Use the SPOOL co.mand to modify the spooling control options in effect for a given virtual spooling device or for a group of devices. The SPOOL command can also initialize or stop the spcoling of virtual console input and output. You can direct a file to a remote location by using the SPOOL command in conjunction with the TAG command. The section "Transmitting Files to Remote Locations" which follows discusses the form cf the SPOOL command you use to spool files across the Remote Spooling Communications Subsystem (RSCS). Unless otherwise spool files: set, the following options are default values for ~EQQJ: liJ:~ .Q~!i.2.!!'§ Printer Punch OFF, NOHOLD, NOCONT, COpy 01, in the VM/370 directory entry Console NOHOLD, NOCONT, TERM, OFF, CLASS T, COPY 01 Reader NOHOLD, NOCONT, EOF, CLASS VM/370 directory entry * as specified in CLASS as the specified The format of the SPOOL command is: r----------------------------------------I I I I I I I SPool I{Reader} rllCLass {c* }'II CONt HOld EOF I vaddr INOContl INOHoldl INOEofl { L .J L .J L .J L .J I I I I I{printer} I PUnch I vaddr rr , r liTo II userid IIForl1 * IL .J I SYSTEM I L I I OFP L " r , r , IllHOld I ICONt I I IINOHoldl INOContl[CLass c] [COpy nn] IlL .J L .J .J 1 I I I .J r , ICLOSE I IPURGE I L .J , {CONSOle} vaddr I I I I I , , , , r r r r r ISTArtl IHOld I ICONt I ITErm I I[ To] useridl ISTOp I INOHoldl INOContl INOTErml I OFF I L L .J L .J L .J L .J .J , [CLass c] [COpy nn] r ICLOSEI IPURGEI L .J 1 lAt least one of the options within braces must be selected; however, more than one may be specified, and they may be entered in any order. ~ 318 .J IBM V8/370: Command Language Guide for General Users SPOOL READER RDR modifies the options for all reader spool files. PHIlTER PRT modifies the options for all printer spool files. puwell !!odifies the fer all spool deY' ices. PCB CONSOLE modifies the options for the virtual console spool file and/or initiates or stops the spooling of virtual console input and output, including CP input/output. vaddr is the device address (cuu) of the virtual unit record device or console whose options are to be modified. CLASS { c*} specifies the spool class of the device. is a one-character alphameric field whose values through Z, 1 through 9, or * (asterisk) • The can be ~ 1 Unless your virtual reader class is asterisk (*), you must ensure that any files to be read by your virtual reader are of the same spool class as your virtual reader. The * is the universal class; if your virtual reader is class *, it can read any file, regardless of class. COlT ignores intermediate end-of-file indicators or CLOSE requests. Por virtual readers, reading is continuous with all end-of-file indicators ignored until all files spooled to the virtual machine are read in. If this option is not in effect, a unit exception is reflected to the virtual .achine at the end of each spooled file. CaNT specified for the punch or printer causes all CLOSE requests to be ignored until reset by NOCOIT. If CaNT is specified, NOCONT cannot be specified. COlT specifies that reading is to continue without intervening end-of-file indications until all files .in the system that belong to the user are read. If CaRT is not in effect or is reset by specification of NOCOIT, an end-of-file indication is reflected to the virtual machine at the end of each SPOOL file in the syste.. The nature of the end-of-file indication to be reflected is set by the EOP and NOEOP options. If the BOP option is in effect, end-of-file is signaled by a unit exception: this corresponds to pressing the end-of-file button on a real card reader. If NOEOP is in effect for a virtual reader, end-of-file is signaled by the reflection of a unit check/intervention required status. IOCOIT resets the continuous spooling option. If IOCORT is specified, COlT cannot be specified. BOLD places all files created by the specified device in a user BOLD status. Par REIDER files, this option specifies that input files for the specified reader are not deleted fro. the system after they are read. The status of all files must be changed by the CB1RG! co •• and. The status of output devices is changed by the SPOOL command. If BOLD is specified, ROBOLD cannot be specified. section 8: Pormat and Usage Hules for CP Commands 319 SPOOL If the HOLD option is specified for a virtual printer or punch that is transferred to a user for input (TO userid), that virtual device places a user HOLD status on the reader file. The user receiving the file cannot read its status until it is changed by issuing the CHABGE command with the BOHOLD operand. The spool file class of the virtual output device must match the class of the receiver's virtual reader (or the virtual reader aust have a class of *) in order for the spool file to be processed. If these conditions are not satisfied, the reader appears eapty to the virtual machine atteapting to read a file, even though reader files do exist. If a virtual reader is operating with COBT and HOLD, then virtual reader files are saved and placed in a user HOLD status. The file cannot be read until it is changed (using the CHARG! co •• and) to a BOHOLD status. BOHOLD resets the HOLD operand. Future files are not held. BOHOLD resets the HOLD operand in effect for the specified reader. This operand can be overridden for an active file being closed by the CLOSE command using the HOLD or ROHOLD operand. If BOHOLD is specified, HOLD aay not be specified. EOP sets a virtual end-of-file condition on the specified reader, thereby ensuring that a unit exception condition is reflected on the read that follows the reading of the last card in a file. If EOP is specified, BOEOFmay not be specified. BOEOP specifies that the reading continues to physical end-of-file. The virtual reader stops when no cards are left in the reader and when a unit check/intervention required status is pending. If BOEOP is specified EOF may not be specified. [TO] userid * SYSTEft transfers the output of reader of the specified may not be TO or T. TO transferred to your own specified, neither OFF co •• and line. the virtual device to the virtual card userid. If TO is omitted, the userid * may be coded if the output is to be virtual card reader. If TO userid is nor FOR may be specified on the same If you specify COpy with TO userid, the number of copies you specify has no effect on the receiver of the spool file; he receives only one copy. However, if OFF or FOR are specified on a subsequent command, the receiver of your spool file receives the number of copies you specify via COPY. For example, if the following command is entered: SPOOL PUB TO USERA COPY 3 CLASS B the COpy operand has no However, if the command: effect on the file going to USERA. SPOOL PUN OPP is entered following the first co.mand, the COpy 3 specified in the first statement effects the second co.mand. TO SYSTE! is equivalent transferred spool option. 320 to specifying OFP IBft Vft/370: Command Language Guide for General Users and resets the GC20-1804-3 Page Modified by TNL GN20-2659 SPOOL [FOR] userid indicates the use rid under which printed or punched output is produced. The userid becomes the owner of the output spool file and the distcode on the file is the distcode for the user that is specified in the VM/370 directory. The file is not transferred to the user's reader input. The default setting is for your own virtual machine identification. FOR *, or FOR SYSTEM can be coded to specifv your own identification and is equivalent to the OFF option.OPF resets the transferred spool option. COpy nn is the number of copies that are to be printed or punched when the file is spooled to the real unit record equipment. This operand is valid only for output files; the number of copies, nn must be between 1 and 99 (leading zeros need not be specified). CLOSE closes the specified device regardless of the CONT setting for the device. If CLOSE is specified, PURGE may not be specified. CLOSE does not affect the setting of any other operand and is provided as a convenience to close a virtual output device. As an example, this sequence of commands: SPOOL PRT CORT (print file) (print file) (print file) SPOOL PRT ROCONT CLOSE PRT SPOOL PRT CORT (print file) (print file) can be replaced with desired result: the following sequence to achieve the SPOOL PRT CORT (print file) (print file) (print file) SPOOL PRT CLOSE (print file) (print file) I PURGE closes and purges the spool file fro. the specified virtual output device regardless of the CONT setting for the device. If PURGE is specified, CLOSE cannot be specified. PURGE does not affect the setting of any other operand and is equivalent to issuing the CLOSE command for a device (or type of device) with the PURGE operand. This form of the SPOOL command is provided for your convenience. START places all console input and output in a spool file. Until a CLOSE is issued for the console, characteristics of the console spool file may be changed by use of the SPOOL CONSOLE command. After the console is closed, the file becomes a Section 8: Format and Usage Rules for CP Commands 321 GC20-1804-3 Page Modified by TNL GN20-2659 SPOOL printer spool file whose characteristics can issuing the CHllGE PRIITER com.and. be changed by STOP terminates the spooling of console input and output. The co.mand SPOOL COISOLE STOP does not close the console spool file. TERM displays the virtual console input and output at the terminal in addition to placing it in a spool file. The TERM operand has no effect until the START operand is specified. NO TERM suppresses the display of console input and output of a system running in a virtual machine. The display cf console input and output of CP console functions, entered from CP mode, are not suppressed. The NOTERM operand has no effect until the START operand is specified. Once you close a spool file by issuing the CMS PRINT or PUNCH command or the CP CLOSE co.mand, CP assigns the spool file a number between 1 and 9900. This number is called the spoolid (spool file identification) for the file. It can be used as a convenient way to uniquely identify the file. It can also be used when you are manipulating the file with VM/370 spooling commands such as ORDER, CHANGE or CLOSE. spoolids are assigned to all your spool files sequentially. ihen the maximum number (9900) is assigned, CP begins again with the number 1. When you print or punch a file, CP displays at your terminal the spoolid it assigned to your file. You can find out various kinds of information about a file using the spoolid with the many forms of the QUERY command. To direct files to remote stations, use the CP TAG and SPOOL commands in conjunction with a command that causes the file to be closed and sent to a virtual device (for example, a virtual printer or punch). Use the TAG command to specify the device to be spooled and to associate with that device the location identifier for the destinaticn of the file: TAG DEV device locid where device is the virtual device type (for example, PRINTER or PUNCH) or virtual device address (vaddr) and locid is the name of the destination to which the file is to be transmitted. Use the SPOOL command to specify that output to the device specified in the command is to be sent to the RSCS virtual machine, which perfcrms the actual transmission of the file: SPOOL device TO userid where device is the same virtual device type or virtual device address specified in the TAG command and userid is the userid of the RSCS virtual machine at your installation. You can find out the userid of your installation's RSCS virtual machine and the locid for the various remote stations from your installations's system programmer. 322 IBM VM/370: Command Language Guide for General Users SPOOL After you issue the TAG and SPOOL commands, use a command (such as the C~S PRINT or PUICH command or the CP CLOSE command) to cause the spool file to be generated, closed, and spooled to the specified virtual ~on;~~ y~.~~~. The following example shows how to use transmit a C~S file to a remote location: TAG DEV PUNCH these three commands to CA~BRIDG SPOOL PUICH TO NET PUNCH ~YPROG ASSE~BLE The TAG command defines the type of file to be transmitted, a punch file, and the remote station to which you want it transmitted, Cl~BRIDG. NET is the userid of the virtual machine controlling the RSCS network: you direct your file to that virtual machine with the SPOOL command. The PUICH command causes the file ~YPROG ASSE~BLE to be punched on your virtual machine card punch, closed, and then spooled to the virtual reader of the RSCS virtual machine, which you specified in the SPOOL command. The RSCS virtual machine then processes your file (now a V~/370 spool file) and transmits it across the RSCS network. If your virtual machine is logged on V~/370, RSCS notifies you of the arrival of a file for your machine from the RSCS network by displaying a aessage at your terminal. The file is sent to your virtual card reader. V~/370 can accumulate files from the RSCS network destined for your virtual card reader, regardless of whether you are logged on your virtual machine or not. If you are logged on your virtual machine, issue the QUERY command to see if you have any files in your virtual reader. When you log on your virtual machine, the logon process transmits a message informing you of accumulated spool files residing in your virtual reader (punch or printer) • lone. section 8: Pormat and Usage Rules for CP Commands 323 STORE STORE Use the STORE co •• and to alter the contents of specified registers and locations of the virtual aachine. The contents of the following can be altered: • • • • • virtual storage locations General registers Ploating-point registers Control registers (if available) Prograa status word The STORE command can also save virtual machine data in low storage. The operands aay be combined in any order desired, separated by one or more blanks, for up to one full line of input. If an invalid operand is encountered, an error message is issued and the store function is ter.minated. However, all valid operands entered, before the invalid one, are processed properly. storage locations, registers, the PSi, and status can be stored using a single command line. ihen you combine the operands for storing into storage, registers, the PSi, or the status area on a single command line, all operands must be specified; default values do not apply in this case. The format of the STORE command is: STore hexloc Lhexloc hexwordl [hexword2 ••• ] Shexloc hexdata ••• Greg} { Yreg Ireg Psw hexwordl [hexword2 ••• ] [bexwordl] hexword2 STATUS hexloc Lhexloc hexwordl [hexword2 ••• ] stores the specified data (hexword 1 [hexword2 ••• ]) in successive full word locations starting at the address specified by hexloc. The smallest group of hexadecimal values that can be stored using this form is one fullword. Alignment is made to the nearest fullword boundary. Either for. (hexloc or Lhexloc) can be used. The operands (bexwordl hexword2 ••• ) each represent up to eight hexadecimal digits. If the value being stored is less than a fullword (eight hexadecimal digits) , it is right-adjusted in 324 IB~ V~/310: Command Language Guide for General Users STORE the word and the high order bytes of the word are filled with zeros. If two or more hexwords are specified, they must be separated by one or more blanks. Shexloc hexdata ••• stores the data specified (hexdata ••• ) in the address specified by hexloc, without word alignment. The shortest string that can be stored is one byte (two hexadecimal digits). If the string contains an odd number of characters, the last character is not stored, an error message is sent, and the function is terminated. The operand, hexdata, is a string of two digits with no embedded blanks. or more hexadecimal Greg hexwordl [hexword2 ••• ] stores the hexadecimal data (hexword1 [hexword2 ••• ]) in successive general registers starting at the register specified by reg. The reg operand must be either a decimal number from 0-15 or a hexadecimal digit from O-F. The operands (hexword1 [hexword2 ••• ]) each represent up to eight hexadeciaal digits. If less than eight digits are specified, the string is right justified in a fullword and left-filled with zeros. If two or more hexwords are specified, they must be separated by one or more blanks. Yreg hexwordl [hexword2 ••• ] stores the hexadecimal data (hexwordl [hexword2 ••• ]) in successive floating-point registers starting at the register specified by reg. The reg operand must be a digit from 0-6. If reg is an odd number, it is adjusted to the preceding even number. The operands (hexword1 [hexword2 ••• ] each represent up to eight hexadeciaal digits. If less than eight digits are specified, the string is right justified in a fullword and left-filled with zeros. If two or more hexwords are specified, they must be separated by one or more blanks. Xreg hexwordl [hexword2 ••• ] stores the hexadecimal data (hexword1 [hexword2 ••• ]) in successive control registers starting at the register specified by reg. The reg operand must either be a decimal number froa 0-15 or a hexadecimal digit from O-F. If the virtual machine is in basic control mode, you can store dOata in register 0 only. The operands (hexwordl [hexword2 ••• ]) each represent up to eight hexadeciaal digits. If less than eight digits are specified, the string is right justified in a fullword and left-filled with zeros. If two or more hexwords are specified, they must be separated by one or more blanks. PSi [hexwordl] hexword2 stores the hexadecimal data ([hexwordl] hexword2) in the first and second words of the virtual machine's program status word (PSW). If only hexword2 is specified, it is stored into the second word of the PSi. The operands hexwordl and hexword2 must be separated by one or more blanks. They represent up to eight hexadecimal digits. If less than eight digits are specified, the string is right justified and left-filled with zeros. section 8: Format and Usage Rules for CP Commands 325 STORE STATUS stores selected virtual aachine data in certain low storage locations of the virtual machine, simulating the hardware store status facility. These locations are per.anently assigned locations in real storage. To use the STATUS operand, your virtual aachine aust be in the EItended control ftode. The STATUS operand should not be issued for CftS virtual aachines or for DOS virtual aachines generated for a CPU saaller than a Systea/360 Bodel 40. The STATUS operand stores the following data in low storage: Deciaal Address -216--224 256 352 384 448 HeIadeciaal 199~§§§ D8 EO 100 160 180 1CO ___ Length in Byt§.! 8 8 8 32 64 64 Data CPUTiaer Clock Coaparator Current PSi Floating-point registers 0-6 General registers 0-15 Control registers 0-15 STORE COftPLET! 326 IBft V8/370: Co •• and Language Guide for General Users SISTE! SYSTEM Use the SISTE! command to simulate the action of the RESET and RESTART buttons on the real computer console, and to clear storage. The RESET function and the CLEAR function leave the virtual machine in a stopped state. An IPL command must be issued after a SISTB! CLBAR command. After a SISTE! RESTART, the virtual machine is automatically restarted at the location loaded into the PSi from the doubleword at virtual location zero. The format of the SISTE! command is: r SIStem CLEAR } RBSBT { RBSTART CLEAR clears zeros. virtual storage and virtual RESET clears all machine. RESTART simulates the hardware system RESTART function by storing the current PSi at virtual location eight and loading, as the new PSi, the doubleword from virtual location zero. Interrupt conditions and storage remain unaffected. pending interrupts and storage keys to conditions in binary the virtual STORAGE CLEARED - SYSTEn RESET This response is given if the co.mand SISTE! CLEAR is entered. SISTB! RESET This response is given if the command SISTB! RBSBT is entered. If the command SISTB! RBSTART is entered, no response is given; the virtual machine resumes execution at the address in the virtual PSi loaded from virtual storage location zero. Section 8: Pormat and Usage Rules for CP Commands 327 TAG TAG Use the TAG co •• and to associate infor.ation with a V8/370 spool file, usually for use with a subsystem such as RSCS or a user-written subsystea. The foraat of the TAG coaaand is: TAG DBV rrinter} PILB PUnch COlsole vaddr [text] spoolid [text] DEV QU!RY PILE DEY \Printer} PUnch CONsole vaddr spoolid PRIITBR [text] PBT PUNCH PCH COISOLE vaddr associates inforaation (via the text operand described further on) with your virtual printer, punch, or console, or with the device specified by vaddr. PIL! spoolid [text] replaces inforaation previously associated with the file via the text operand with the current text (described further on). This operand can be specified only for reader spool files queued on your virtual machine. The spoolid operand is the spool file identification, a number between 1 and 9900 assigned by CP when the spool file was closed. text defines a field (up to 136 characters long) that can contain any inforaation you desire. Typically, this field contains meaningful parameters you w~nt to associate with a spool file. The field of data specified in the TAG text operand is made available to virtual machines using the spool file, but is in no way modified or interpreted by V8/370. Certain control and addressing information meaningful to RSCS can be specified in this field. Por details on how to use the TAG text operand to transmit files across the RSCS network, refer to the following section, "Using the TAG Text Operand to Transait Piles to Bemote Locations." 328 IB8 V8/370: Co •• and Language Guide for General Users I \ (~ig::u))( { TAG ( PRIIITl!R ) DEV QUERY vaddr ( FILE spoolid displays at your terminal the current setting of the TAG text associated with a given spool file or virtual device. The operands used with the TAG QUERY command correspond to the operands used with TAG itself. Por example, you create a text setting by issuing the com.and: TAG DEV PUNCH text To find out the setting of that text field, issue the co •• and: TAG QUERY DEY PUNCH If you know the spoolid of a file queued to your virtual machine reader and you wish to know the text setting for that file, use the co •• and: TAG QUERY PILE spoolid spool identification (spoolid) numbers can be obtained using the CP QUERY command with the RIADER, PRIITER or PUNCH operand. The RSCS control program interprets the TAG text operand as addressing and control para.eters. If you are spooling a file to the RSCS virtual machine to be transmitted to a remote station, code the TAG text operand as follows: locid [userid] [priority] wh~: locid is the location identifier (one to eight alphameric digits) of the location to which the file is being transmitted. Your system programmer can give you the locids of re.ote stations attached to your virtual aachine. use rid is the userid of the V8/370 virtual machine (a one- to eight-character user identification) to which a file is being transmitted. This operand is used by re.ote stations when they transmit files to the RSCS virtual aachine and want the files sent to a particular V8/370 virtual aachine. You can ignore this operand if you are not specifying a priority. However, if you are specifying a priority, you aust code a userid operand, even though it is ignored by RSCS. priority is the requested transaission priority, a deci.al nu.ber between 0 and 99. The highest trans.ission priority is 0, next highest is 1, and so on. If you wish to specify this operand, you .ust also specify a userid operand. Section 8: Por.at and Usage Rules for CP Co.aands 329 TAG When a spool file you created is closed, it is enqueued on a virtual aachine reader of the virtual machine you specified in the SPOOL co •• and. You cannot change the TAG information associated with that file unless the operator of the virtual machine to which the file was spooled (the BSCS operator) transfers the file back to your virtual machine. To change the TAG information associated reader, you can issue the TAG co •• and specified: with a file in your virtual with the spoolid operand TAG PILE spoolid new text information This co.mand causes previous TAG text replaced by the new text specified. information to be When you enter the command with no new text specified: TAG PILE spoolid the text field associated with the file is set to all blanks. 330 IB! Y!/370: Com.and Language Guide for General Users completely TEBftIRAL TERMINAL Use the TERftIRAL coaaand to control the with your virtual console: • • • • • • following functions associated Logical line-editing symbols ftasking of password The APL character set signalling of an attention interrupt Attention handling aode for your virtual console Line length for output on your virtual console The terainal settings you specify with the TERftINAL coa.and are in effect for only the duration of that terainal session. Whenever you log on, the systea defaults are in effect. However, the settings you specify for line-editing and ftODE are still in effect when you log on after disconnecting. All the other operands (ftASK, APL, ATTN, and LIIESIZE) are reset if you log on after disconnecting. Although you can define line-editing syabols and status with the TERftIBAL coaaand, the LIIEDIT operand of the SET coaaand deteraines whether the Y8/370 line-editing functions are on or off. If an error occurs during processing of the coaaand, all functions preceding the one with the error are in effect. The foraat of the TERftIIAL co.aand is: TERftinal CHardel LIIEDel LIIEld EScape tlask APL ATtn {Ol OFf } tlODE {~: LIIESize I r1 l I OFF char } nnn tlore than one function can be specified in a single entry of the TERtlIIAL coaaand. For exaaple: TERtlIIAL CHARDEL OFF tlASK 01 LIIESIZE 90 .!J!Y!: CHARDEL { 01 } defines the logical character delete syabol. If 01 is OFF is specified, the default syabol becoaes the logical char character delete sy.bol. The default sy.bol is noraally i, but depends on what is specified in your 'tl/370 directory entry. If OFF is specified, no logical character delete syabol is allowed. If char is specified, that character (which must be a special character) becoaes the logical character delete sy.bol. Unless otherwise specified, CHAR DEL 01 is in effect. section 8: Foraat and Usage Rules for CP Com.ands 331 GC20-1804-3 Page Modified by TNL GN20-2659 TERMINAL LINEDEL ON } defines t he logical line delete symbol. If ON is OFF specified, the default symbol becomes the logical line { char delete symbol. The default symbol is nor.ally ¢, but depends on what is specified in your VM/370 directory entry. If OFF is specified, no logical line delete symbol is allowed. If char is specified, that character (which must be a special character) becomes the logical line delete symbol. Unless otherwise specified, LINEDEL ON is in effect. LINEND {ON } OFF char defines the logical line end symbol. If ON is specified, the default symbol becomes the logical line end sy.bol. The default symbol is normally I, but depends on what is specified in your VM/370 directory entry. If OFF is specified, no logical line end symbol is allowed. If char is specified, that character (which must be a special character) becomes the logical line end character. Unless otherwise specified, LINEND ON is in effect. ESCAPE {ON } OFF char defines the logical escape character. If ON is specified, the default symbol becomes the logical escape character. The default symbol is normally", but depends on what is specified in your VM/370 directory entry. If OFF is specified, no logical escape character is allowed. If char is specified, that character (which must be a special character) becomes the logical escape character. Unless otherwise specified, ESCAPE ON is in effect. MASK {ON } OFF controls the typing of a mask line at a typewriter terminal that is not equipped with the Print Inhibit feature, when a password is to be entered. If MASK ON is specified, VM/370 types the mask line. If MASK OFF is specified, the mask line is not typed and it is up to each user to preserve the security of his password. The MASK operand does not apply to the IBM 3215 or to similar system console or display terminals that do not have a Print Inhibit feature. Unless otherwise specified, MASK OFF is in effect. APL {ON } OFF controls the use of APL character translation tables. If APL ON is specified, CP uses the translation tables for terminals equipped with the standard APL typing element. If APL OFF is specified, CP uses the normal translation tables (that is, BCD or correspondence code). If APL ON is specified, the LINESIZE value is overridden. Unless otherwise specified, APL OFF is in effect. This operand cannot be changed for a 3704/3705 device in NCP mode. If however, the terminal is connected to a 2701/2702/2703 line control unit, the operand is valid. 3704/3705 users cannot use this option in NCP mode. The APL operand is not valid for display type terminals. !g!~: APL ON also applies to the 3767 terminal equipped with the APL alternate character selection. 332 IBM VM/370: Co •• and Language Guide for General Users GC20-1804-3 Page Modified by TBL GN20-2659 TBRMINAL ATTN ~ ~!~J t U1' l' ) controls signalling of an attention interrupt. If ATTB ON is specified, the exclamation poin~ ~s a~splayed when an an attention interrupt occurs. The OFF option suppresses the displaying of the exclamation point (I) and carrier return for those systems that perform special line editing using the Attention key. Unless otherwise specified, ATTB OB is in effect. The ATTN terminals. operand is not valid for display type MODE controls the terminal attention environment. CP specifies that one or more attentions force the virtual machine into the CP environment. VM specifies that one attention is reflected to your virtual machine and that more than one attention forces your virtual machine into the CP environment. VM is the default for all VM/370 users except the primary system operator. For more information see "Interrupting the Bxecution of a Command" in section 2. LINESIZE nnn specifies the maximum allowable line length for terminal output. nnn can be a number from 1 through 255. Note: If APL ON is specified, CP does not separate output lines into LIBESIZE segments. Instead, an output length of 1760 is allowed and CP assumes that the APL system has inserted the appropriate carriage control characters. Bone. section 8: Format and Usage Rules for CP Commands 333 TRACE TRACE Use the TRACE command to trace specified virtual machine activity and to record the results at the terminal, on a virtual spooled printer, or on both ter.inal and printer. If trace output is being recorded at the terminal, the virtual machine stops execution and CP co •• and .ode is entered after each output .essage. This si.ulates the single cycle function. To resume operation at the virtual machine, the BEGIN co •• and aust be entered. If the RUN operand is specified, the virtual aachine is not stopped after each output message. If trace output is being recorded on a virtual spooled printer, a CLOSE com.and aust be issued to that printer in order for the trace output to be printed. Successful branches to the next sequential instruction and branch-to-self instructions are not detected by TRACE. Instructions that modify or examine the first two bytes of the next sequential instruction cause erroneous processing for BRANCH and INSTRUCT tracing. When tracing on a virtual machine with only one printer, the trace data is inter.ixed with other data sent to the virtual printer. To separate trace information from other data, define another printer with a lower virtual address than the previously defined printer. lor example, on a system with OOE defined as the only printer, define a second printer as OOB. The regular output goes to OOE and the trace output goes to OOB. When operation of a options cannot be used: traced, the following I/O operations for virtual channel-to-channel adapters, with connected to the same virtual .achine, cannot be traced. both ends • • • shared system is being BRANCH INSTRUCT ALL The format of the TRACE command is: TRace , r 1 I Printer SVC I/O I r PROgram I l~l!ll1inall EXTernal I IBOTH I .J PRIV I L SIO I CCW I Olf L BRanch INSTruct ALL CSW , r , L .J I NORu!!I I RUN I I I I I I I I .J END 180re than one of these activities may be traced by using a single TRACE command. lor example: TRACE SVC PROGRAft SIO PRINTER 334 IB! V8/370: Com.and Language Guide for General Users GC20-1804-3 Page Modified by TNL GN20-2659 TRACE SVC traces virtual machine SVC interrupts. IIO traces virtual machine IIO interrupts. PROGRAM traces virtual machine program interrupts. EXTERNAL traces virtual machine external interrupts. PRIV traces all virtual machine non-I/O privileged instructions. SIO traces TIO, CLRIO, HIO, HDV and TCH instructions to all virtual devices9 Will also trace SIO and SIOF instructions for non-console and non-spool devices only. CCW traces virtual and real CCWs for non-Spool/non-Console device IIO operations. When CCW tracing is requested, SIO and TIO instructions are also traced. BRANCH traces all virtual machine interrupts, all and all successful branches. INSTRUCT traces all instructions, successful branches. ALL traces all instructions, interrupts, successful branches, privilege instructions, and virtual machine IIO operations. CSW provides contents of virtual and IIO interrupt. END terminates message. PRINTER PRT directs tracing output to a virtual spooled printer. !~~~!~A1 directs tracing console) • BOTH directs tracing output the terainal. OFF halts tracing of the specified and terminal. all tracing output virtual machine interrupts and real channel status words at activity and to PSW instructions, the prints terminal to both a virtual a termination (virtual machine spooled printer and activities on both the printer stops program execution after the trace output to the terminal and enters CP command mode. Note: If a Diagnose code X'008' is being traced, NORUN has no effect and prograa execution does not stop. RUN continues the program execution after the trace output to the terminal has completed and does not enter CP command mode. Notes: -':--If your virtual machine has the virtual=real option and NOTRANS set on, CP forces CCW translation while tracing either SIO or CCW. When tracing is terminated with the TRACE END command, CCW translation is bypassed again. 2. If the virtual machine assist feature is enabled on your virtual machine, CP turns it off while tracing SVC and program interrupts Section 8: Format and Usage Rules for CP Commands 335 GC20-1804-3 Page Modified by TNL GN20-2659 TRICE (SVC, PBIV, BRINCH, INSTRUCT, or ILL). Ifter the tracing is terminated with the TRACE END command line, CP turns the assist feature on again. The following symbols are used in the responses received from TRACE: ~~!~Q! vvvvvv tttttt rrrrrr xxxxxxxx yyyyyyyy ss ns zz zzzzzzzz type V vadd R radd mnem int code CC n IDIL *** ==) ~~!B!B9 virtual storage address virtual transfer address or new PSW address real storage address virtual instruction, channel command word, CSW status real instruction, CCW argument byte (SSM-byte) for SSM instruction new system mask after execution of STOSM/STNSM low order byte of R1 register in an execute instruction (not shown if R1 register is register 0) referenced data virtual device name (DISD, TAPE, LINE, CONS, RDR, PRT, PUB, GRIP, DEV) virtual device address real device address .nemonic for instruction interrupt type (SVC, PROG, EXT, I/O) interrupt code number (in hexadecimal) condition-code number (0, 1, 2, or 3) Indirect data address list virtual machine interrupt privileged operations transfer of control TRICE STIR TED This response is issued when tracing is initiated. TRACE ENDED This response is issued when tracing is suspended. I/O vvvvvv TCH xxxxxxxx type vadd CC n I/O vvvvvv mnem xxxxxxxx type vadd CC n type radd CSW XXXX I/O vvvvvv mnem xxxxxxxx type vadd CC n type radd CSW xxxx CAW vvvvvvvv CCW vvvvvv xxxxxxxx xxxxxxxx rrrrrr yyyyyyyy yyyyyyyy CCW IDAL vvvvvvvv vvvvvvvv IDAL OOrrrrrr OOrrrrrr CCW SEEK xxxxxxxx xxxxxx SEEK yyyyyyyy yyyy 336 IBM VM/370: Command Language Guide for General Users TRICB The IDAL or SEEK line is included only if applicable. The virtual IDIL is not printed if the real CCI opcode does not match the real CCI. I!~lBQ£!!ON l~!£I!§: f!:iv!legeg l!l§!.!:!!ct!gn: ··.... ·.. ··.... · .... ··.. ·.. vvvvvv vvvvvv vvvvvv vvvvvv vvvvvv vvvvvv vvvvvv vvvvvv vvvvvv SS! SS! STOS! STOS! STIS! STBS! LPSW LPSI ane. xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx ss ss ns ns ns ns (normal SSII) (switch to/fro. translate mode) (normal STOS!) tttttt (switch to translate mode) (normal STIS!) tttttt (switch from translate mode) tttttttt tttttttt (lilT bit on) (lilT bit not on) ==> tttttttt tttttttt (all others) tttttt vvvvvv EI xxxxxxxx zz vvvvvv mne. xxxx xxxxxxxx Por an executed instruction, where zz (see preceding explanation of symbols) is nonzero, the mnemonic for the executed instruction is given as if the zz byte had been put into the instruction with an OR operation. vvvvvv mnem xxxxxxxx xxxx vvvvvv anea xxxxxxxx ==> tttttt *** vvvvvv int code ==> tttttt I/O IBTlliRURI (Pirst line given only if "CSI" was specified): CSI V vadd xxxxxxxx xxxxxxxx R radd yyyyyyyy yyyyyyyy *** vvvvvv I/O vadd ==> tttttt CSI xxxx BR1BCH TR1C~: (ILL option selected) Bntry for 'branch from' instruction vvvvvv mne. xxxxxxxx tttttt Bntry for 'branch to' instruction ==> vvvvvv mnem xxxxxxxxxxxx Section 8: Por.at and Usage Rules for CP Commands 337 TRANSFER TRANSFER Use the TRANSFER comaand to direct your input file to a specified reader or to reclaim virtual reader files that you spooled to another user. The TRANSFER coaaand does not transfer any active spool files. The format of the TRABSFER command is: r TRANsfer SPOOlid} CLass c { ALL , ITo userid I Ir , I II Froll { USerid} II II ALL II IL ~ I L ~ spoolid is the input file to be directed to the nailed userid. or retrieved froll CLASS c transfers all input files of the specified class (c). The c is a one-character alphameric field with values from A to Z and from 0 to 9. ALL transfers all input spool files. [TO] userid is the user to whom the files are to be directed. If the optional keyword TO is ollitted, the userid aay not be TO or T. The file is deleted from your reader if you use this option. [ FROB] {userid} ALL is the user from whom input spool files are to be reclaimed. ALL aay be specified to reclaim input spool files that were originated by your virtual machine froll all users. !!~~on~§ RDi FILE spoolid TRAN SFERRED {TO } use rid PROB .!he£!: spoolid is the spool file identification nuaber of the file that is spooled. The number does not change. TO userid is the response to the user who currently owns the file and userid is the recipient of the file. FROB userid is the response to the user who receives transferred file and userid is the sender. the { ~~nn} FILES TRANSFERRED This is the response you receive when you issue the command. It is not displayed if you issued the CP SET command line. 338 IBB VB/310: COllmand Language Guide for General Users TRABSPER IBSG OPP Appendixes A. punctions of Yft/370 COllmands B. Debugging a problea program with Yft/370 C. Using the CftS Batch Pacility D. CftS ftacro Instructions E. Disk Deteraination P. Reserved Piletype Descriptions Appendixes 339 GC20-1804-3 Page Modified by TNL GN20-2659 Figures 36 through 44 present a functional summary of commands available 'L._ ___ .. __ ..: _ ~u .L. ~u~ 1rM ~~..,n Yn/~'v ~1~~~W. , r-----I I Function Command I I Subcommand I I or , I option IType I ----I-- Begin terminal session (identify user to VM/370 system) • LOGON End terminal session. LOGOFF Communicate with other VM/370 users and with the system operator. MESSAGE Connect a terminal to a multi-access virtual machine. DIAL CP Disconnect a user's terminal from a virtual machine. DISCONN CP Test terminal hardware. ECHO CP Start or stop console spooling. SPOOL Control terminal input and output. • Indicate if accounting data is to be SET received at the terminal. • Indicate if messages from other users SET are to be received at the terminal. SET • Control output of certain informational SET responses. • Control line editing functions. SET • Control format of messages received at SET the terminal. SET • Set up program function key cataloged SET procedures. • Print the current screen display on thel SET printer (remote display units only) • , • Get information about terminal control , QUERY parameters. I QUERY , QUERY • Set attention handling mode. , TERMINAL • Specify method of password entry. I TERMINAL • Specify use of additional translation I TERMINAL tables. I • Specify terminal line size. , TERMINAL • Specify ATTN key handling procedures. ,TERMINAL • Specify that ATTN key will not stop the, SET virtual machine. I • Specify characters to indicate CPU ,SET time interval reporting. I • Specify format of CMS READY message. ,SET • Indicate character translations to be I SET done during terminal input and output. , SET L-_ _ _ _ __ Figure 36. I CP I I I CP , , I CP CONSOLE CP ACNT CP MSG WNG IMSG CP CP CP LINEDIT RED TYPE EMSG PFnn CP CMS CP CP PFnn COpy APL CP CP CP CP CMS CP CP CP LINESIZE ATTN RUN CP CP CP BLIP CMS RDYMSG INPUT OUTPUT CMS CMS CMS TERMINAL PFnn REDTYPE MODE IUSK Commands to control a Terminal Session Appendix A: Functions of VM/370 Commands 341 Function Co •• and Subcom.andl or I Option Type Change attributes of a spooled file. CHAIGE CP Create a source progra. file from the terminal. EDIT CMS Invoke the System Assembler to assemble a source program. ASSEMBLE CMS Invoke the VS BASIC Compiler. VSBASIC CMS Invoke the PL/I optimizing Compiler. PLIOPT CMS Invoke the PL/I Checkout Compiler. PLIC CMS Invoke the PL/I Checkout Compiler and Execute a Program. PLICR CMS Invoke the FORTRAN Code and Go Compiler. TESTFORT CMS Invoke the FORTRAN G Compiler. FORTGI CMS Invoke the FORTRAN H Complier. FORTHI CMS Create or list macro libraries to be used during assemblies or compilations. MACLIB CMS Create or list subroutine libraries. TITLIB CMS specify macro libraries to be searched during assemblies or compliations. GLOBAL MACLIB CMS Specify subroutine libraries to be searched during LOAD and INCLUDE function. GLOBAL TITLIB CMS Bring object code into main storage. LOAD INCLUDE CMS CMS Create a MODULE (core-image) file. GENMOD CMS Bring MODULE files into storage. LOAD MOD CMS Print a storage map of a MODULE file. MOD MAP CMS Build auxiliary GENDIRT CMS START CMS module directories. Begin execution of programs which were previously loaded into main storage. L- Figure 37. 342 Commands to Develop Programs and Process Data (Part 1 of 2) IBM VM/370: Command Language Guide for General Users GC20-1804-3 Page Modified by TNL GN20-2659 Function Command simulate os Data Definition (DO) JCL cards during program execution. FILEDEF 1Subcommand 1 1 or 1 I Option IType I ----1--1 CMS 1 1 List information about os data sets or DOS files. LISTDS Load and execute object (TEXT) files. RUN eMS Compile, load, and execute source files. RUN CMS Load and execute core-image (MODULE) RUN CMS I CMS files. L-_____________________________ ___ Figure 37. Commands to Develop Programs and Process Data (Part 2 of 2) ------------------------, ISubcommand Command Function -------- ---------- 1 I or Option I 1 Type I stop execution at a specified virtual machine location. ADSTOP DEBUG BREAK CP CMS Resume execution of a stopped virtual machine. BEGIN DEBUG GO CP CMS Display virtual storage, registers, PSi, and so on. DISPLAY DEBUG DEBUG DEBUG GPR PSi X CP CMS CMS CMS Print the contents of virtual storage locations on the spooled printer. DUMP DEBUG DUMP CMS CMS Change the contents of registers and storage locations. STORE DEBUG DEBUG STORE SET CP CMS CMS Trace virtual machine SVC calls. SVCTRACE CMS Trace virtual machine instructions, I/O operations, SVC calls, and so on. TRACE CP convert system ABEND dumps to printed output. VMFDUMP CMS Trace events that occur on the real machine. MONITOR MONITOR L-______________________________________________________ Figure 38. START CP TRACE STOP CP TRACE CP CP Co.mands to Test and Debug a Program Appendix A: Functions of VM/370 Commands 343 r--------------------------------------------------- I I I Punction Co •• and create a file from ter.inal input. EDIT create a file from card input. READCARD DISK Verify the existence of a file on disk. STATE Erase a file ERASE ACCESS (or files) from disk. I Subcommand I I or I I Option IType CMS LOAD CMS CMS CMS ERASE CMS CMS List names of files on disk and their attributes. LISTPILE CMS Display the contents of a file at the terminal. TYPE CMS print the contents of a file or a member of a library on a spooled printer. PRINT CMS Punch the contents of a disk file on a spooled punch. PUNCH DISK Sort the records of a file into ascending order based on specified sort fields. SORT CMS Copy one disk file to another disk file. MOVEFILE COPYPILE CMS CMS Combine several files into one file. COPYPILE CMS Copy data from one device type to another device type. MOVEPILE CMS Change the name of a CMS file. RENAME CMS Compress a file by encoding multiple contiguous occurrences of a single character. COPYPILE Rearrange the contents of records in a disk file. COPY PILE Perform character translations on specified characters in a disk file. COPYPILE TRANS CMS Append one file to the end of another file. COPY PILE APPEND CMS Remove trailing blanks from records in a file. COPYPILE TRUNC CMS Compare the contents of two disk files. COMPARE CMS Change records in a file based on record sequence numbers. UPDATE CMS DUMP PACK 344 CMS CMS L-- Pigure 39. CMS CMS Commands to Update Data Piles (Part 1 of 2) IBM VM/370: Command Language Guide for General Users COllmand Punction Subcollllandl or I Option IType I --I CP Terminate spooling operations on a virtual unit record device or console. CLOSE Load the virtual forms control buffer (PCB) • LOADVPCB CP Indicate order of processing for spooled files. ORDER CP Remove spooled files from the system. PURGE CP print documents according to the control words in the document file. SCRIPT CftS Change options in effect for spooling opera tions. SPOOL CP Spool input files to or from another user. TRANSPER CP copy data from tape to disk. TAPE LOAD CftS copy data from disk to tape. TAPE DUftP CftS Convert OS partitioned data set (PDS) files or card-image files on tape to format on disk. TAPPDS Pigure 39. CftS Commands to Update Data Files (Part 2 of 2) Command Punction Subcommand or Option Type Logically connect a disk to a virtual machine. LINK CP Logically disconnect a device from a virtual machine. DETACH CP ftake files on a disk a.ailable to a user. ACCESS CftS Remove accessibility to files. RELEASE CftS Dump a disk to tape. DDR DUftP CftS Restore a disk from tape. DDR RESTORE CftS Format disk space in CftS format. PORftAT Pigure 40. CftS Commands to Control Disks Appendix A: Functions of Vft/370 Commands 345 Function Command ISubcollaandl I or I I Option Type Load a virtual aachine operating system. IPL CP Alter the virtual machine configuration. DEFINE CP Disconnect the user's terminal from the Vft/370 systea. DISCOBB CP Enter control prograa commands froa a CftS virtual machine. cp CftS Coaaunicate with other virtual machine users or with the system operator. ftSG CP Simulate an external interrupt for a virtual machine. BITERBAL CP Simulate 'not ready' for a virtual device. NOTREADY CP Simulate functions of buttons on the real CPU console. SYSTEK CP place virtual machine console in dormant state with keyboard locked. SLEEP CP Perform tape rewind action. RBWIND TAPE REi CP CftS Establish Vft/370 directory entries. DIRECT efts Simulate device end interrupt to a virtual machine device. READY CP Simulate console interrupt. ATTIf REQUEST CP CP Reset pending interrupts for virtual devices. RESET CP Invoke table of synonyms for CftS comaand names. SYlfOBYft CftS Set the functions controlling forms for command operand, options, names. SET Pigure 41. 346 ABBREV IKPBI IftPCP Coamands for Virtual ftachine Control (Part 1 of 2) IBK Vft/370: COlllland Language Guide for General Users CftS CKS CKS GC20-1804-3 Page Modified by TNL GN20-2659 Function Command ISubcommandl I or I I Option IType Indicate if I/O is to be done as specified by the virtual machine with no ccw translation by CPo SET NOTRANS CP control timer updating. SET TIMER CP Change or set the number of loader tatles for a CMS virtual machine. SET LDRTELS eMS Indicate if pages of storage are to be released after the execution of certain CMS commands. SET RELPAGE CMS Get information about virtual machine status. QUERY set Virtual Machine Assist feature on or off. SET ASSIST CP Set the pseudo page fault portion of VH/VS Handshaking feature on or off. L-_ _ __ SET PAGEX CP Figure 41. CP Commands for Virtual Machine Control (Part 2 of 2) Appendix A: Functions of VM/370 Commands 347 GC20-1804-3 Page Modified by TNL GN20-2659 ,,.-, Function Command ,Subcommand, , or I , Option IType Create accounting records for logged on users and reset accounting data. ACNT CP Logically connect or dedicate devices to a virtual machine or to CPo ATTACH CP Logically disconnect devices from a virtual machine or from CPo DETACH CP Disable communication lines. DISABLE CP Enable communication lines. ENABLE CP Force a specific user to log off CPo FORCE CP Terminate active channel CP program on a specific device. HALT CP Control paging activity. LOCK UNLOCK CP CP Request information about real and virtual machine characteristics. QUERY CP Establish system parameters. SET CP Terminate functions and checkpoint system. SHUTDOWN CP Transmit high priority messages to users. WARNING CP Control 3704/3705 control program functions. NETWORK LOAD DUMP ENABLE DISABLE TRACE HALT SHUTDOWN POLLDLAY QUERY VARY DISPLAY '----Figure 42. 348 Commands to Control VM/370 IBM VM/370: Command Language Guide for General Users CP Function Command Restart or reposition the current output of an output spooling device. ----- BACKS PAC 1Subcommand 1 1 or 1 1 Option IType 1 1-- 1 CP 1 Change attributes of a closed spool file. CHANGE CP Terminate spooling activity on a virtual spooled unit record device or console. CLOSE CP Halt operations of specified spooling devices following co.pletion of current activity. DRAIN CP Cancel current output on a real unit record device. FLUSH CP Cancel spool HOLD status. FREE CP Defer spooled output of a particular user. HOLD CP Load printer UCS or FCE buffer. LOADBUF CP Cause spooled files to be processed in a specific order. ORDER CP Remove closed spool files from the system. PURGE CP Request information about spool files. QUERY CP Repeat printing or punching of current file on a specific output device. REPEAT CP Force a printer to single space output. SPACE CP Modify spooling'options for reader, printer, punch, and console spool files. Initiates and terminates virtual console spooling. SPOOL CP start spooling device after draining or changing output class. START CP Spool files to or from a user's card reader. TRANSFER CP Direct a file to a remote location. SPOOL TAG CP CP Assign attributes and/or characteristics to a spool file. TAG SPOOL CP CP TAG CP Request display of the attributes and characteristics associated with a spool file. L-____________________________ ___ Figure 43. Commands for Spooling Control Appendix A: Functions of VM/370 Commands 349 GC20-1804-3 Page Modified by TNL GN20-2659 ,. Function COlllland Subcommand or Option Type Display real storage at terminal. DCP CP Dump real storage to virtual spooled printer. DMCP CP Display conditions that may affect system loading. INDICATE Find locaticns of control blocks. LOCATE Record samples of system data for performance analysis. MONITOR Save virtual lIachine storage space on disk. SAVESYS Perform intensive recording of device activity information. SET RECORD CP Set the error recording mode for soft machine checks. SET MODE CP Dump error information which has been recorded by error recording routines. CPEREP LOAD USER QUEUES I/O PAGING CP DISPLAY ENAELE INTERVAL START STOP 350 CP CP L-- Figure 44. CP Co •• ands for System and Hardware Analysis IBM VM/370: Command Language Guide for General Users CMS Appendix B: Debugging a Problem Program with VM/370 How To Start Debugging Before you can correct any problem, you must recognize that one exists. Next, you aust identify the problem, collect information and determine the cause so that the problem can be fixed. When running V~/370r you aust also decide whether the problem is in CP, the virtual machine, or the problem program. Once you determine that the problem is in CP or the virtual machine, refer to !~L37Q: System Pr~~~~~~ Guide. A good approach to debugging is: 1. Recognize that a problem exists. 2. Identify the problem type and the area affected. 3. Analyze the data you have available, collect more data if you need it, then isolate the data that pertains to your problem. 4. Pinally, determine the cause of the problem and correct it. DOES A PROBLE! EXIST? There are four types of problems: 1. 2. 3. 4. Loop wait state ABEND (Abnoraal End) Incorrect results The most obvious indication of a problem is the abnormal termination of a program. Whenever a program abnormally terminates, a message is issued. Another obvious indication of a problem is unexpected output. If your output is missing, incorrect, or in a different format than expected, some problem exists. Unproductive processing tiae is another symptom of a problem. This problem is not as easily recognized, especially in a time- sharing environment. IDENTIPYING THE PROBLE! Two types of probleas are easily identified: abnormal termination is indicated by an error message, and unexpected results become apparent once the output is exaained. The looping and wait state conditions are not as easily identified. Appendix B: Debugging a Problea Prograa with ,"/370 351 ihen using '!/370, you are normally sitting at a terminal and do not have the lights of the CPU control panel to help you. You .ay have a looping condition if your program takes longer to execute than you anticipated. Also, check your output. If the number of output records or print lines is greater than expected, the output may really be the sa.e infor.ation repeated .any ti.es. Repetitive output usually indicates a program loop. Another way to identify a loop is to periodically exa.ine the current PSi. If the PSi instruction address always has the same value, or if the instruction address has a series of repeating values, the program probably is looping. The wait state is also difficult to recognize when at the terminal. Again, the console lights are unavailable. If your program is taking longer than expected to execute, the virtual machine may be in a wait state. Display the current PSi on the terminal. periodically, issue the CP co.mand QUERY TI!E and compare the elapsed processing time. ihen the elapsed processing time does not increase, the wait state probably exists. ANALYZING TBE PROBLE! Once the type of problem is identified, the cause of it must be determined. There are recommended procedures to follow. These procedures are helpful, but they do not identify the cause of the problem in every case. Be resourceful. Use whatever data you have available. If the cause of the problem is not found after the recommended debugging procedures are followed, it may be necessary to undertake the tedious job of desk-checking. The section, "Bow To Use '!/370 Facilities To Debug," describes procedures to follow in determining the cause of various problems that can occur in the Control Program, in the virtual machine, or in the problem program. If you determine that there is a problem in CP or the virtual machine operating system, refer to VM/370: ~l§~ Program.er·s 2~id~ for debugging procedures. How To Use VM/370 Facilities To Debug Once the problem, and the area where it occurs, are identified, you can gather the information needed to determine the cause of the proble•• The type of information you want to look at varies with the type of proble •• The tools used to gather the information vary depending upon the area in which the problem occurs. For example, if the problem is looping, you will want to exa.ine the PSi via the CP DISPLAY co.mand. The following sections describe specific debugging procedures for the various error conditions. The procedures tell you what to do and what debug tool to use. For example, the procedure may say dump storage using the CP DUMP co.mand. The procedure will not tell you how to use the debug tool. Refer to sections 7 and 8 for a detailed description of each debug tool, including how to invoke it. 352 IBM VM/370: Co.mand Language Guide for General Users PROBLEM PROGRAK ABEND When an operating system or program does abnormally terainates. not know how to continue, it If a dump was taken, it was sent to the virtual printer. Issue a CLOSE command to the virtual printer to have the dump print on the real printer. If the prob1ea can be reproduced, it may be helpful to trace the processing using the CP TRACE command. Also, you can set address stops, and display and alter registers, control words (such as the PSW), and data areas. The CP commands can be very helpful in debugging because you can gather information at various stages in processing. A dump is static and represents the system at only one particular time. Debugging on a virtual machine can often be more flexible than debugging on a real machine. VM/370 may terminate or reset a virtual machine if a nonrecoverable channel check or machine check occurs in that virtual machine. Hardware errors usually cause this type of virtual machine termination. One of the following messages: DKKKCB6161 KACHINE CHECK; USER userid TERKINATED DKKCCH6041 CHANNEL ERROR: DEV xxx; USER userid; KACHIIE RESET appears on the CPU console. The address of the problem program area. instruction causing the ABEND is found in the Use the PSW and program listing to determine the cause of the ABEND. If the problem is not readily detected, use the CP debugging facilities to monitor the progress and status of the program as it executes. If the program is running under the control of CKS, you can use the CKS debug facilities as well. UNEXPECTED RESULTS IN A PROBLEK PROGRAK If a program has inaccurate, missing, or redundant output, a problem exists. Instead of taking dumps of storage and output and dOing a lot of desk-checking, you can use the interactive facilities of the virtual aachine environment to debug. Using the CP ADSTOP command, you can set an address stop. set the address stop at a strategic point in the processing, such as before a data transfer or computation. When execution stops, you can display or alter storage and set the next address stop. Also, consider using the CP TRACE command. You can often debug a problem program directly from the terminal. Both the CP and CKS commands can control of CKS. be used to debug prograas under the PROBLE! PROGRAK DISABLED LOOP When a disabled loop in a problem program exists, you cannot communicate with the virtual machine's operating system. That means that signalling attention once does not cause an interrupt. Appendix B: Debugging a Problem Program with VK/370 353 Enter CP mode. 1. Use the CP TRACB command to trace the entire loop. Display general and extended control registers via the CP DISPLAY command. 2. Take a dump via the CP DUMP command. 3. IPL the virtual machine again. Use the information just gathered, along with find the entry into the loop. listings, to try to PROBLEM PROGRAM ENABLED LOOP should perform the following sequence cause of an enabled loop: yOU when attempting to find the 1. Use the CP TRACE command to trace the entire loop. CMS users can use the CP TRACE command or the CMS SVCTRACE command. Display the PSW and the general registers. 2. Use the CP DUMP command to dump your virtual storage. CMS users can use the debug DUMP subcolmand. A standalone dump may be used, but be aware that such a dump destroys the contents of some areas of storage. 3. Consult the source code to search for the faulty instructions, examining previously executed subroutines if necessary. Begin by scanning for instructions that set the condition code or branch on it. 4. If the lanner of loop entry is still undetermined, assume wild branch has occurred and begin a search for its origin. that a PROBLEM PROGRAM DISABLED WAIT The VM/370 Control Program does not allow the virtual machine to enter a disabled wait state or certain interrupt loops. Instead, CP notifies you of the condition with one of the following messages: DMKDSP450W DMKDSP451W DMKDSP452W DMKDSP453W CP CP CP CP ENTERED; ENTERBD; ENTERED; ENTERED; DISABLED WAIT PSW INVALID PSW EXTERNAL INTERRUPT LOOP PROGRAM INTERRUPT LOOP and enters the CP mode. Use the CP information on the terminal. • • • • commands to display the following PSW CSW General registers Control registers Then use the CP DUMP co •• and to take a dump. If you cannot find the cause of the wait or loop from the information just gathered, try to reproduce the problem, this time tracing the processing via the CP TRACE co •• and. 354 IBM VM/370: Command Language Guide for General Users If CMS is running in the virtual machine, the C"S debugging facilities may also be used to display information, take a dump, or trace the processing. The CMS SVCTRAC! and the CP TRACE commands record different information. Figure 45 compares the two. PROBLEM PROGRAM ENABLED WAIT If the virtual .achine is in an enabled wait state; try to find out ¥hy no I/O interrupt has occurred to allow processing to resume. The Control Program treats one case of an enabled wait in a virtual machine the saae as a disabled wait. If the virtual machine does not have the "real tiaer" option and loads a PSW enabled only for external interrupts, CP issues the aessage DMKDSP450W CP ENTERED; DISABLED WAIT STATE Since the virtual timer is not decremented while the virtual machine is in a wait state, it cannot cause the external interrupt. A "real tiaer" runs in both the problem state and wait state and can cause an external interrupt which allows processing to resume. Appendix B: Debugging a Problem Program with V"/370 355 Comparison of CP and CMS Facilities for Debugging If you are debugging problems while running CMS, you can choose the CP or CMS debugging tools. Refer to Figure 45 for a comparison of the CP and CMS debugging tools. r t I Function CP CMS I IIsetting ---------------------------------------------------------------------------1 Can set only one address stop at a time. Can set up to 16 address stopsl laddress I stops. I IDumping Icontents I lof storagel Ito the I I printer. I I I I I I I at a time. I I I The dump is printed in hexa- I decimal format. The storage I address of the first byte of I each line is identified at thel left. The contents of general I and floating-point registers I are printed at the beginning I of the dump. I The dumF is printed in hexadecimal format with EBCDIC translation. The storage address of the first byte of each line is identified at the left. The control blocks are formatted.. -------------------------------------------------------------------------1 The display is typed in hexa- I Displaying I the conI tents of I storage I and I control I registers I at the I terminal. I The display is typed in hexadecimal format with EBCDIC translation. The CP command I displays storage keys, floating-point regi-I sters and control registers. I I I I I storing information. The amount of information stored by the CP command is limited only by the length of the input line. The information can be fullword aligned when stored. CP stores data in floating-point and control registers, as well as in general registers. CP stores data in the PSW, but not in the CAW or CSW. However, data can be stored in the CSW or CAW by specifying the hardware address in the STORE command. decimal format. The CMS com- I mands gQ nQ~ display storage I keys, floating-point registers or control registers as the CP command does. 1 The CMS command stores up to 12 bytes of information. CMS stores data in the general registers but not in the floating-point or control registers. CMS stores data in thel PSW, CAW, and CSW. 1 I I I ---------------------------------------------------------------------------------1 Tracing CP traces: CMS traces all SVC interrupts. 1 information. • All interrupts, instructions, and branches • SVC interrupts • I/O interrupts • Program interrupts • External interrupts • Privileged instructions • All user I/O operations • Virtual and real CCWts • All instructions CMS displays the contents I of general and floating-point I registers before and after 1 a routine is called. The parameter list is recorded before a routine is called. The CP trace is interactive. You can stop it and display other fields. Figure 45. 356 Comparison of CP and CMS Facilities for Debugging IBM VM/370: Command Language Guide for General Users Appendix C: Using the CMS Batch Facility The C8S Batch Facility is a V8/370 programming facility that runs under C8S. It allows a V8/370 user to run jobs in batch mode by queuing jobs from either his own virtual .achine or the real card reader to a virtual machine dedicated to running batch jobs under the Batch Facility. The Batch Facility machine then executes these jobs, freeing the user's machine for other uses. The accounting routines charge the time used in the batch machine to the originating user. The Batch Facility virtual machine is generated and controlled at a terminal console under a userid dedicated to execution of jobs in batch mode. The system operator generates a batch machine by performing an IPt of C8S, then entering a command (C8SBATCB), which specifies that the machine is to execute jobs in batch mode. After each job is executed, the Batch Facility reloads itself, thereby providing a continuously running batch machine. Jobs are queued to the batch machine's virtual card reader from either user terminals or the system card reader and executed sequentially. When its virtual reader is empty, the Batch Facility waits for more input. The Batch Facility is designed for the non-CMS user who requires a system for compiling or executing batch jobs loaded from the real system card reader. The Batch Fac"ili ty is also useful for the interactive user who has compute-bound jobs such as assemblies and compilations, and for execution of large user programs. This allows interactive users to continue work at their terminals while their time-consuming jobs are run in another virtual machine. Execution time for CP and C8S equivalent to that of co.mands interactive CP/C8S session. commands under the Batch Facility is typed in at a terminal during an Using the Batch Facility Virtual Machine The Batch Facility is generated on any ter.inal attached to the V8/370 system. The userid used to run the Batch Facility should be known by all users in the installation. The interactive users of the Batch Facility must spool their batch jobs to the virtual reader of the batch userid and the non-interactive users must precede the real deck of batch jobs with a CP ID card specifying the userid of the Batch Facility virtual machine. The ID card takes the form: ID userid where ID must begin in card column one and be separated from userid (the Batch Facility virtual machine userid) by one or more blanks. Appendix C: Using the C8S Batch Facility 357 INPUT TO THE BATCH PACILITY VIRTUAL MACHINE Any user application or development program written in a language supported by VM/370 may be executed on the Batch Pacility virtual aachine. However, there are restrictions on programs using certain CP and CMS commands, as described later in this section. Programs to be executed under the Batch Pacility must be delimited by IJOB, and 1* control cards. Another control card, the ISET card, may also be used with an input program to set certain, limits on the execution of the prograa. Input records for the Batch facility must be in Any record not in card-iaage for.at is flushed. card-image format. The IJOB card identifies the name and userid of a job and provides accounting inforaation for the system. A IJOB card must precede each job to be executed under the Batch Pacility. It takes the fora: IJOB userid accntnum [jobname] [coaments] .!!!~: userid specifies the user identification of the user who sent the job to the batch aachine. This userid is charged by the CP accounting routines for the systea resources used during a job. accntnum is the user's account number. This account number appears in the accounting data that is generated at the end of a user's job. This account number will override the account number in the CP directory entry for that userid. jobname is an optional parameter that specifies being run. comments may be any information the user wishes. the name of the job The use rid and jobname parameters are used by the Batch Pacility for printing of distribution codes for spooled output and for directing job status messages to the interactive user's terminal. The 1* card indicates the takes the form: end of a job to the Batch Pacility. It 1* The Batch Pacility treats all 1* cards after the first as null cards. Therefore, if you want to ensure against the previous job not having a 1* end-of-job indicator, you should precede your IJOB card with a 1* card. The only exception to the way the Batch Pacility handles the 1* cards is in the case of the CMS MOVEPILE command. When the input PILBDEP specifies a terainal read, for example PILEDEF INFILE TERM, a 1* card must be supplied by the user to delimit that file. 358 IBM VM/370: Command Language Guide for General Users The ISET card sets limits on a system's time, printing, and punching resources during the execution of a job. It takes the form: /SET [TIME seconds] [PRINT lines] [PUNCH cards] seconds is a decimal value that specifies the maximum seconds of virtual CPU time a job can use. lines is a decimal value that specifies a job can print. cards is a decimal number that specifies the maximum number of cards a job can punch. number of the maximum number of lines The default values for the Batch Facility are set at 32,767 seconds, printed lines, and punched cards per job. Any new limits defined using the ISET card must be less than these maximum settings. The system resources can be set at lesser values than the default values by an installation's system programmer; be sure you know the maximum installation values for batch resource limits before you use the /SET card. EXEC files can be used as input to the Batch Facility virtual machine, providing a greater level of programming flexibility for Batch Facility users. The following list shows a few of the uses for EXEC files in manipulating the batch machine. EXEC files can be used: To store control statements execution of queued jobs. • To sUbstitute keyword values into a program so that be given variable input. • To skip over statements. • To identify other EXEC files to be used during program execution. • To integrate many files into a Batch Facility. portions of (/JOB, /*, • programs using and /SET) required for the program can conditional EXEC single file for execution control under the The uses of EXEC files in manipulating the input to the Batch Facility virtual machine are limited only by the programmer's imagination and the rules for writing EXEC files. For rules for writing EXEC files and how they can be used, see the !AtJIQ: !!EC US~~!2 Guid~. Appendix C: Using the CMS Batch Facility 359 The Batch Facility permits the use of most exceptions are noted in the follcwing lists. only the following virtual machine: CBAIGE' CLOSE' DETACH2 DUftP DISPLAY LIIK3 CP co •• ands are CP and CftS allowed to commands. control the The Batch ftSG QUERY BEIIID SPOOL' STORE TAG The following CMS commands are disabled under the Batch Facility: SET READCARD DISK LOAD The FILEDEF com.and is also disabled card reader. for use in defining the virtual BATCH PACILITY OUTPUT The Batch Facility's virtual machine runs with its output spooled to the terminal console and to the printer. If the batch machine's virtual console is connected, CP messages are also printed at the console. The printed copy resulting from execution of a program is printed at the real printer under the su~.itting userid, with the user's distribution code and a spool file name and type of CftSBATCH JOB (unless a job name was specified on the /JOB card). CftS console output is spooled to a file that is printed followipg the user's program execution output at the real system printer, with the submitting user's distribution code, a spool filename of BITCH, and a spool filetype of COl SOLE. since all the closed printer files are queued for system output under the submitting userid, the submitting user can control (CHAIGE, PUBGE, or ORDER) these files before processing on the system printer. At job termination, all spooling devices are closed and all files are released. If the CP TAG command was used to identify spool files or to direct these files to other virtual machines or remote work stations, the Batch Pacility resets the spooling devices for the next job. If disk devices were linked to during the job, they are detached by the Batch Pacility at job termination time. The Batch Pacility eMS system is then reloaded, nucleus data areas and work areas in storage. reinitializing all Ilso at the end of the job, accounting information is punched to the system card punch. This accounting information is in the same format as CP/CMS accounting information. 'May not be used to affect the virtual card reader. 2ftay not be used to affect spooling devices or the system or IPL disks. 3ftust be in the following format: CP LIIK userid vaddr vaddr mode password 360 IBM Vft/370: Command Language Guide for General Users When a user job terminates abnormally, the Batch Pacility sends an ABEID aessage in the appropriate userid terminal console. types the message to the BATCH CONSOLE file, and spools a CP dump of the virtual machine (with a heading of userid and jobname) to the printer. The Batch Facility then performs the normal cleanup tasks and starts the next job. Since the Batch Facility reloads itself (via IPL) after each job, that portion of a job following an ABEID is treated as a new job, which is subsequently flushed. Appendix C: Using the CftS Batch Facility 361 Appendix D: eMS Macro Instructions The macro definitions that are used by the Conversational ftonitor System (CftS) are contained in the files CftSLIB ftlCLIB and OS!lCRO !ICLIB, which reside on the system disk. CftSLIB !lCLIB contains the macros which provide linkages to the CBS function routines, and OS!lCRO !ICLIB contains Operating System macros which are simulated by CftS. Only the CftS macros are discussed in this section. To obtain a iist of the names and locations of macro definitions in a macro library called libname ftlCLIB, the command ftlCLIB !IP libname may be issued. The macros described in this section deal primarily with linkage to the disk and terminal handling routines. WRTER! and RDTBR! handle terminal input/output, and PSCB, PSST1TE, PSOPBI, PSRB1D, PSWRITB, PSER1SE, and PSCLOSE handle I/O to disk. The offline unit record devices may be accessed from an lssembler Language program by using RDC1RD, PRIITL, and PUICHC. The iRTER! and RDTERft macros each set up a parameter list inline, and issue a CBS supervisor call. Por disk I/O, the parameter list is set up in a constant area by the PSCB (Pile system Control Block) macro, or generated inline if the PSCB option is not specified. The label of that macro is used as a parameter of the PSiRITB, PSRB1D, PSOPBI, and PSSTITE macros. The example in Pigure 46 shows a typical sequence for writing and readi~g disk files. The program example in Pigure 46 shows the use of I/O macros. The program copies a file, the "input file," to a new file, the "output file~" If the program were processed by GBI!OD into a module named BBGII, it would be invoked with a command line of the form: "BBGII PILB1 BIBC 11 PILB2 BIBC 11," which would copy PILB1 BIEC (input file) to PILI2111C (output file). The PSST1TB macro determines the existence of the input file. The error branch will be taken if it does not exist. This is not needed for the output file, since, if it didn't exist, it would be created. If the output file already existed, the new records would be appended to it. The program then alternates between reading and writing records, until PSREID returns an error code. Control then goes to BOP, which tests whether end-of-file or some other error occurred. If it was end-of-file, a return code of zero is passed back to the command level in register 15. If an error occurs, an appropriate response is typed using the iRTBR! or LIIBDIT macros. Use of the LIREDIT macro at !RR2 and IRR3 causes the value of the return code from PSRBAD ~r PSiRITI to be substituted, in decimal, for the dots in the text of the message to be typed. lote that, if desired, the PSOPIR and PSCLOSI macros could have been used to open and close the files. It was not necessary to do so in this program because the 'SRIAD and 'SiRITI macros open the file to be read or written. The CftS system automatically closes all files at the end of each command execution. Appendix D: CftS !acro Instructions 363 STftT SOURCB ST1TBBENT CSECT PRINT NOGEN SlYB (14,12) ,,* B1LR 12,0 EST1BLISH lDDRESS1BILITY USIIG *,12 Ll 2,8(,1) R2=lDDR OP INPUT PILEID IN PLIST Ll 3,32(,1) R3=lDDR Ol OUTPUT lILEID II PLIST DETERftINE IP INPUT PILE EXISTS PSST1TE (2) ,BRROR=ERRl 1 BEGIN 2 3 8 9 10 11 12 13 * 28 * REID 1 RBCORD PROft IIPUT lILE liD WRITE ON OUTPUT PILE 29 RD FSREAD (2) ,ERROR=EOP,BUPPER=BUPP1,BSIZE=80 52 PSWRITE (3) ,BRROR=ERR2,BUllER=BUlll,BSIZE=80 75 B RD LOOP B1CK POR IEXT RECORD 77 * COBE HERB IF ERROR RE1DING IIPUT PILB 78 EOP C 15,=F I 12 1 END OF PILE 1 79 BIB BRR3 BRROR IP NOT 81 RETURN (14,12) ,RC=O 85 * IP INPUT PILE DOES lOT EXIST 86 ERR1 WRTERft IPILB lOT POUNDI,BDIT=YBS 96 B ERRET 98 * IP ERROR WRITING PILB 99 ERR2 LR 10,15 SlYE RBT CODE IN RBG 10 100 LINEDIT TEXT='ERROR CODE ••••• II WRITING PILE',sUB=(DEC, (10» 115 B BRRBT 117 * IP RB1DING ERROR Wls lOT NORB1L BND Ol PILB 118 BRR3 LR 10,15 slYE RET CODE IN REG 10 119 LIIBDIT TEXT=IBRROR CODE ••••• II RE1DIIG PILBI,SUB=(DEC,(10» 135 ERRET RETURI (14,12),RC=1 RETURI TO C1LLBR 141 BUPF1 142 143 144 145 146 147 DS BID Pigure 46. 364 CL80 =CL8 I RDBUl' =CL8 I WRBUP' =1 (BUll1) =F 1 80 1 =P'12 1 1 sa.ple Listing of a Progra. that Uses CBS Bacros IBB Yft/370: Co •• and Language Guide for General Users COftPSWT !ACBO COMPSWT Macro PU~POS!: The COftPSWT macro causes the COftPSWT flag in the OSSPLAGS byte lucleus constant Area to be turned on or off. of the [label] I COftPSWT I OllOPP USAG!: The co.piler switch flag COftPSWT in the lucleus Constant Area determines whether the OS .acros LIII, LOAD, ICTL, and ATTACH will use the CftS IICLUDB co •• and or the CftS LOADftOD co.jand. With COftPSWT off, the progra. called by LIII, LOAD, ICTL, or ATTiCH .ust be a relocatable object module residing in a file with the filetype TBIT or TITLIB. It is called via the IICLUDB com.and. with CO!~SWT on, the program called by LIBI, LOAD, ICTL, or ATTACH must be an absolute core-image module in a file with the filetype ftODULB. It is called via the LOADftOD co •• and. Appendix D: CftS ftacro Instructions 365 FSCB MACRO FSCBMacro The FSCB macro creates a File system control Block, which is used as the parameter list to the file system routines. [label] FSCB [fileid] [,RECFft=format] [,BUFFER=buffer] [,BSIZE=size] [,RECRO=number] [,NOREC=numrec] label is an optional statement label. fileid specifies the file identifier enclosed in separated by blanks ('filename filetype file mode is omitted, "Al" is assumed. format F indicates fixed-length records (default). V indicates the variable-length records. buffer specifies the address of the I/O buffer. size specifies the size of the buffer in bytes. number specifies the relative record number of accessed (default = 0). numrec specifies the number of records to be read (default = 1). !g!~: quote marks filemode') • the next record to be The above options must be specified as self-defining teras. The FSCB macro generates a File system Control Block file. It may be used as the parameter list to routines. for the specified the file system Errors in macro operand coding will cause Assembler errors. 366 and If IBft Vft/370: Command Language Guide for General Users FSCLOSE MACRO FSCLOSE Macro The FSCLOSE macro causes status saved on the disk. an open file to be closed and its current c l[label]1 L-__________________________________________________________ FSeLOSE I [fileid] [,FSCB=fscb] [,ERROR=erraddr] ~ label is an optional statement label. fileid specifies the file identifier. 'fileid' FSCB= is also specified. It may be: 'fn ft f.' (reg) fscb erraddr fileid enclosed in quote marks and separated by blanks. If fm is omitted, "Al" is assumed. a register from 2 to 15 containing the address of the fileid (18 characters). specifies the address of an FSCB. label (reg) may be coded even if It may be: the label on the FSCB macro. a register containing the address of an FSCB. specifies the address of an error routine to be given control if an error is encountered. If ERROR= is not coded, control returns to the next sequential instruction in the calling program if an error occurs, as it does if no error occurs. lSCLOSE should be used within EXEC procedures to close files tha~ are no longer needed for processing. The FSCLOSE macro causes the specified file to be closed. Either a fileid or FSCB must be specified. If an error occurs, processing terminates, and control is passed to erraddr (if one was provided) or back to the calling program's next sequential instruction. Register 15 contains the following error code: fte~!!!g File not· open Appendix D: CftS Macro Instructions 367 F SERA SE f'-ACRO FSERASE Macro The PSERASE macro causes one or more files to be deleted from the user's disk. I l[labe1]1 PSERASE l[fi1eid][,PSCB=fscb][ ,ERROR=erraddr] I label is an optional statement label. fi1eid specifies the file identifier. 'fi1eid' PSCB= is also specified. It may be: 'fn ft fm' (reg) fscb fi1eid enclosed in quote marks and separated by blanks. If fm is omitted, "Al" is assumed. a register other than 0 or 1 containing the address of the fi1eid (18 characters). specifies the address of an PSCB. label (reg) erraddr may be coded even if It may be: the label of an PSCB macro. a register containing the address of an PSCB. specifies the address of an error routine to be given control if an error is encountered. If ERROR= is not coded, control returns to the next sequential instruction in the calling program if an error occurs, as it does if no error occurs. The PSERASE macro causes the specified file to be deleted from user's disk. Either a fi1eid or PSCB must be specified. the If an error occurs, register 1 points to the PSCB for the file having the error and register 15 contains one of the following error codes: ~!~!'!!.9 Parameter list error Pile not found 368 IBft Vft/370: Command Language Guide for General Users FSOPEN MACRO FSOPEN Macro The FSOPER macro output. [label] causes the file to FSOPER be made ready for [fileid] [,lSCB=fscb] [,options] [,ERROR=erraddr] label is an optional statement label. fileid specifies the file identifier. 'fileid' PSCB= is also specified. It may be: 'fn ft f.' (reg) fscb may be coded even if the fileid enclosed in quote marks and separated by blanks. If fm is omitted, "Al" is assumed. a register other than 0 or 1 containing the address of the fileid (18 characters) specifies the address of an FSCB. label (reg) either input or It may be: the label on an lSCB macro. a register containing the address of an FSCB. If FSCB= is not coded, an fscb is created inline, pointed to by register 1, upon return from the macro call. options any of the options of the FSCB macro instruction may be specified here. Only the BUPFER, RECNO, NOREC, and BSIZE (variable file only) options have any effect for an already existing file. These options may be specified as either a self-defining term or a register enclosed in parentheses. erraddr specifies the address of an error routine to be given control if an error is encountered. If ERROR- is not coded, control returns to the next sequential instruction in the calling prograa if an error occurs, as it does if no error occurs. The FSOPER macro causes the FSCB to be filled in from the file status table for an already existing file. A file status table entry is created for a new file. Either a fileid or FSCB must be specified. On return, register 1 points to the FSCB for the file. FSOPEN is used mainly to determine the existence of the file about to be processed. If an error occurs, processing terminates, and control is passed to erraddr (if one was provided) or back to the calling program's next sequential instruction. Register 15 contains one of the following error codes: MeaniBg File does not exist Invalid file identifier Appendix D: CMS Macro Instructions 369 PSREAD ftACRO FSREAD Macro The PSREAD macro causes a record to be read from disk. ~Q!Hl!I: [label] FSREAD [fileid] [,FSCB=fscb] [,options] [ , ERROR=erraddr] label is an optional statement label. fileid specifies the file identifier. 'fileid' FSCB= is also specified. It may be: 'fn ft f.' (reg) fscb the fileid enclosed in quote marks and separated by blanks. If f. is o.itted, "Al" is assu.ed. a register other than 0 or 1 containing the address of the fileid (18 characters). specifies the address of an FSCB. label (reg) may be coded even if It may be: the label of an FSCB macro. a register containing the address of an PSCB. options the BUFFER, NOREC, BSIZE, and RECNO options of the FSCB .acro instruction may be specified here. If the PSCB parameter is omitted, the BUPPER and BSIZE options must be specified. These options may be specified as either a self-defining term or a register ~nclosed in parentheses. erraddr specifies the address of an error routine to be given control if an error is encountered. If ERROR= is not coded, control returns to the next sequential instruction in the calling prograa if an error occurs, as it does if no error occurs. The PSREAD macro reads one record into the user's buffer. If the RECNO option is specified, that specified record is read. otherwise, the next record in the file is read. If RECNO is specified, it must be reset to zero by the next ~SREAD in order to read the file sequentially from the originally specified record number. lither a fileid or PSCB must be specified. On return, register 0 contains the number of bytes read. Register 1 points to the PSCB. If an error occurs, processing terminates, and control is passed to erraddr (if one vas provided) or back to the calling program's next sequential instruction. Register 15 contains one of the following error codes: .§.!.!ni.!!.9 File not found Invalid buffer address Per.anent I/O error 370 IBft Vft/370: Co.mand Language Guide for General Users FSREAD MACRO ~!!~!Bg 7 8 9 11 12 13 14 15 Number of records is less than or equal to zero, or greater than 32768 Invalid record format (only checked for at the first read after finis or iplj Incorrect length File open for output Nu.ber of records greater than 1 for variable length file End of file Variable length file has invalid displacement in active file table Invalid character in filename Invalid character in filetype Appendix D: CMS Macro Instructions 371 F SSTATE MACRO FSSTATE Macro The FSSTATE macro returns specified file. to the user the current status of the 1.Q~: •l[labe1]1 FSSTATE I [fi1eid] [,FSCB=fscb] [,ERROR=erraddr] I label is an optional statement label. fi1eid specifies the file identifier. Ifi1eid' FSCB= is also specified. It may be: Ifn ft fm' (reg) fscb the fi1eid enclosed in quote marks and separated by blanks. If f. is oaitted, "A1" is assumed. a register other than 0 or 1 containing the address of the fi1eid (18 characters). specifies the address of an FSCB. label (reg) erraddr may be coded even if It may be: the label on an FSCB macro. a register containing the address of an FSCB. specifies the address of an error routine to be given control if an error is encountered. If ERROR= is not coded, control returns to the next sequential instruction in the calling program if an error occurs, as it does if no error occurs. The FSSTATE .acro causes the existence of the specified file to be verified. Begister 1 points to a copy of the Pile status Table (PST) for the specified file. Either a fileid or FSCB must be specified. If an error occurs, processing terminates, and control is passed to erraddr (if one was provided) or back to the calling progra.'s next sequential instruction. Register 15 contains one of the following error codes: Code -2024 28 36 312 fteaniBg Invalid character in fi1eid Invalid fi1e.ode Pile not found Disk not accessed IBft Vft/310: Co •• and Language Guide for General Users FSWRITE MACRO fST,VRITE lr1acl'o The FSWRITE macro causes a record to be written to the disk. ,.-------I [label] I FSWRITE ------, [fileid] [,FSCB=fscb] [,options] [,ERROR=erraddr] L- I label is an optional statement label. fileid specifies the file identifier. 'fileid' FSCB= is also specified. It may be: 'fn ft fm' (reg) fscb i I the fileid enclosed in quote marks and separated by blanks. If fm is omitted, "A 1" is assumed. a register other than 0 or 1 containing the address of the fileid (18 characters) • specifies the address of an FSCB. label (reg) may be coded even if It may be: the label on an FSCB macro. a register containing the address FSCB= is not coded, BUFFER= and coded. of an FSCB. BSIZE= must If be options any of the options of the FSCB macro instruction may be specified here. Only the BUFFER, RECNO, and BSIZE options have any effect on an already existing file. These options may be specified as either a self-defining term or a register enclosed in parentheses. erraddr specifies the address of an error routine to be g1ven centrel if an error is encountered. If ERROR= is not ceded, centrol returns to the next sequential instruction in the calling program if an error occurs, as it does if no error occurs. The FSWRITE macro writes one record onto the user's disk. If the RECNO option is specified, that specified record is written. Otherwise, the next sequential record in the file is written. To write a file beginning with a specific record in the file, two FSWRITE statements must be issued: the first to specify the record number where the writing is to begin, for example, RECNO=5 begins the write operation at record number 5 in the specified file. The second FSWRITE statement must set the RECNO option to zero, which will cause the remaining records in the file to be written sequentially. Either a fileid or FSCB must be specified. On return, register 1 points to the FSCB for the file. Using the BSIZE option of the FSCB macro, you can write multiple records in a single FSWRITE statement. For example, if you wish to write 20 records at once, you code BSIZE=1600 (the length of the record times the number of records). Variable length records cannot be written like this, however. They must be written sequentially each with its own length specified. Appendix D: CMS Macro Instructions 373 GC20-1804-3 Page Modified by TIL GN20-2659 FSWRITE MACRO If an error occurs, processing terminates, and control is passed to erraddr (if one was provided) or back to the calling program's next sequential instruction. Register 15 contains one of the following error codes: Code --"24 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20 21 374 ~~g!!!!!g Invalid buffer address First character of filemode is illegal Second character of filemode is illegal Itea number too large Attempt to skip over unwritten variable length item Buffer size not specified Pile open for input Maximum number files reached Record format not P or V Attempt to write on read-only disk Disk is full Length of fixed length item not the same as previous item Record format specified not the same as file Variable length item greater than 65K bytes Number of records greater than 1 for variable length file Maxiaua number of data blocks per file reached (16060) Invalid character detected in filename Invalid character detected in filetype IBM VM/370: Command Language Guide for General Users HNDEX~ !!ACRO HNDEXT Macro The HNDEXT macro causes external interrupts to be passed routine for processing. [label] HRDEXT to the user's function[,address] label is an optional statement label. function specifies whether cleared (CLR). address specifies the address of the routine to process interrupts. This parameter is required only when the function is specified. the interrupts are to be trapped (SET) or the SET The BNDEXT macro causes C!!S to pass control to the user's routine when an external interrupt occurs. When the user is given control, all virtual interrupts except multiplexer are disabled. On entry to the user's routine, register 1 points to a save area used for saving the registers and PSW at the time of the external interrupt, starting at label GRS, as shown below. Register 13 points to an 18-fullword save area starting at label UAREA, shown below. Register 14 contains the address the user's routine must return to when this processing is complete, and register 1S contains the address of the user's processing routine. After HRDEXT CLR is issued, an external interrupt other than a timer interrupt will cause DEBUG to be entered. l!gbe! GRS FRS PSW UAREA END Displacement _!!!!.£- -!!~o 0 64 40 96 60 108 68 180 B4 None. Appendix D: C!!S !!acro Instructions 315 BNDINT KACRO HNDINT Macro The BNDINT macro causes interrupts for the specified passed to the user's routine for processing. [label] BNDINT devices to be function, (devname[ ,address,devaddr,when]) ••• [ ,ERROR=erraddr] label is an optional statement label. function specifies whether cleared (CLR). devname specifies a four character symbolic name for the device. address specifies the address of the routine to process the interrupts. An address of zero indicates interrupts for the device are to be ignored. devaddr specifies the device address, in hexadecimal, of whose interrupts are to be trapped. when specifies that the interrupts are to be reflected immediately (ASAP) or only after the WAITD macro is issued (WAIT). erraddr specifies the address of an error routine to be given centrol if an error is encountered. If ERROR= is not coded, control returns to the next sequential instruction in the calling program if an error occurs, as it does if no error occurs. Note: address, devaddr, specified. and the interrupts are when need not to be be trapped (SET) or specified the device if CLR is The BNDINT macro causes CKS ta pass control to the user's routine when an interrupt is received from one of the specified deviGes. The user routine will be entered immediately if ASAP is specified or a WAITD macro has been issued for the device. If neither condition exists, the interrupt will be stacked, until a WAITD macro is issued for the device. When the user is given control, all I/O interrupts and external interrupts are disabled. On entry to the user's routine, registers 0 and 1 contain the I/O old PSW, registers 2 and 3 contain the CSW, register 4 contains the interrupting device address, register 14 contains the address that the user's routine must return to when his processing is complete, and register 15 contains the address of the user's processing routine. When processing is complete, the user must return to CKS via register 14 and indicate in register 15 whether processing is complete. A zero in register 15 indicates that the user has completed handling the interrupt and a nonzero register 15 indicates that another interrupt is expected. The CLR function indicates that the user is finished processiing interrupts for this device. Por additional information, see the documentation for WAITD. If an error is detected, register 15 contains a 1, devaddr or address is invalid. 376 indicating that the IBK VK/370: Command Language Guide for General Users HNDSVC ftACRO HNDSVC Macro The HNDSVC macro causes interrupts for the specified supervisor call (SVC) numbers to be passed to the user's routine for processing. [label] HNDSVC {set I clr},{ (svcnum ,address) I svcnum} [ , { (svcnum,address) I svcnum}] ••• [ , ERROR=erraddr ] label is an optional statement label. svcnum specifies a number from 0 to 200 or 206 to 255 that corresponds to the SVC number to be handled by the user routine. (SVC's 204 and 205 are reserved for future use.) address specifies the address of interrupt. This field need function. erraddr specifies the address of an error routine to be given control if an error is encountered. If ERROR= is not coded, control returns to the next sequential instruction in the calling program if an error occurs, as it does if no error occurs. the routine to process the not be specified with the eLR The HNDSVC macro causes CftS to pass control to the user's routine when one of the specified SVC instructions is issued. On entry to the user's routine the following conditions exist: Register __ __ 0-11 and 15 J!.Q~ 12 13 14 ,..,..., ..... ~_---..L _ ~~!!~~!!.~~ As they were when the SVC was executed. Address of user SVC handler routine. Address of an 18-fullword save area for use user's SVC handler routine. Return address in Cfts. by the The user must return to CftS via register 14 when he has completed processing the interrupt. The CLR function indicates that the user is finished handling interrupts for the specified SVC number. If an error occurs, p~ocessing terminates, and control is passed to erraddr (if one was provided) or back to the calling program's next sequential instruction. Register 15 contains one of the following error codes: fte~.!!.!.!!.9 Invalid SVC number or address SVC number set replaced previously set number SVC number cleared was not set Appendix D: CMS ftacro Instructions 377 LINEDIT ftACRO LINEDIT Macro The LINEDIT macro provides a aethod for performing conversions EBCDIC, and, optionally, typing the results at the terminal. [label] LIHEDIT into [ftF='!ILI (E,addr) I (B, (reg»] [,TEXT='message-text'] [,TEXTA=address I (reg) ] [,COftP=!~~INO] [ ,DOT=YB21 NO] [,SUB=(type,value[ ,type,value] •• )] [,DISP=1 rP !INONBISIO IPRINTICPCOftft] [ , BUFF A= address I (reg) ] [ , RENT=!ES I NO ] [,ftIXSUBS=number] where the option list (described in greater Parameters") : consists of detail in ftF='!ILI (E,addr) I (E, (reg» the the following keyword parameters section on "LINEDIT ftacro to specify macro form TEXT= , message-text , to spec1fy message text TEXTA=addressl (reg) to specify message text address COftP=!l~IBO to suppress multiple blank compression to suppress final period on message text DOT=YE~INO SUB=(type,value[,type,value] ••• ) to specify a substitution list where: type = = = = = = = HEX HEXA DEC DECI HEX'll CHARA CHAR81 value= expression = (reg) = address = (address, length) length being equal either to number or (reg) DISP=lYPEIBOBEISIOIPRINTICPCOftft to specify lIessage text. the action to be taken with BUFFI=address I (reg) to specify return buffer address RENT=I~§lno to specify whether reentrant code must be generated. MIXSUBS=number to specify MP=L. the maxillull number of sUbstitutions !2~: with Registers 1 and 15 should not be used as argument registers to the LINEDIT macro; they are used as work registers by the macro. 378 IBft VM/370: Comlland Language Guide for General Users LINEDIT ftieBO LINEDIT ftieBO PABAftETEBS The ftP parameter specifies whether the form of the macro is to !i§!, or ~~~£Yte. This parameter is coded as follows: be st~~g~~, ftl=! IL I (E, addr) I (E, (reg» with the following meanings: ftP=l (Standard form) This is the most usual form, and the default. It generates an inline PLIST, and generates a call to the LINEDIT routine so that the message will be typed at the terminal. The standard form will generate only reentrant code, and may be used under all circumstances except the following: • If more than one substitution is made. • If TEITI=(reg) is used. Bote that the standard form, with the address address constant. • If the BUF1A parameter is used. ftl=(E,addr) or ftl=(E,(reg» TEITA=address can be used in referenced in the PLIST by an (Execute fora) If used in this form, the macro will generate code to construct a PLIST at the specified address, rather than using an inline PLIST. The code will then call LINEDIT, passing the address of the newly constructed PLIST. The address of the construction area for the PLIST is given by "addr," to specify an address which can be obtained by a Load Address (L~ instruction, or by "(reg)," where the register specified points to the area. In either case, the specified area must be large enough to construct a PLIST. The size of a PLIST is variable, depending upon the number of substitutions made, and whether BU1PA was specified. The list form of the LIBBDIT macro is used to reserve space for the PLIST. ftl=L (List fora) This fora generates a PLIST only. It does not generate any executable code. It is used to reserve space for a PLIST to be constructed using the ftl= (E, •••• ) execute form. ' The size of the area reserved depends upon the number of sUbstitutions to be made, as specified with the ftAISUBS parameter. lor example, LINEDIT ftl=L,ftAISUBS=5 reserves space parameters. for a PLIST which may hold up to five sUbstitution Appendix D: eftS ftacro Instructions 379 LIIBDIT !ACRO TBXT Paraaete£ This paraaeter specifies the aessage text as a character string between single quotes. single quotes appearing in the aessage text should be coded as two single quotes. This paraaeter is coded as follows: TBXT=lmessage-textl If the TEXT coded. Paraaeter is coded, the TEXTA parameter must not be This parameter is an alternative to the TEXT parameter. It specifies the address of the message text. The aessage text consists of a one-byte length field, followed by the actual text of the message. The parameter is coded as follows: TBXTA=ad4ressl (reg) If used in the standard or list for. of the aacro, the "address" is used in an address constant. The "(reg)" form then may not be used. If used in the execute fora, the "address" is obtained by a Load Address (LA) instruction. If the "(reg)" form is used, then the specified register (other than registers 1 and 15) contains the address of the message text area. If the TBXTA parameter is coded, the TEXT parameter aust not be coded. This parameter specifies how multiple blanks in the message are to be handled. With CO!P=YBS, the default, the LIIEDIT routine compresses all aultiple blanks in the message into a single blank. If CO!P=IO is coded, this coapression is not done. The DOT paraaeter indicates whether the end of the message will have a period. with DOT=YES, the default, the LIIEDIT routine places a period (dot) at the end of the message. If DOT=IO is coded, this is not done. This paraaeter is used to specify a sUbstitution list that allows a message to have a value substituted into it at execution time. Whenever the LIIEDIT scanning routine discovers two or more consecutive periods in the message text, it assumes that a substitution is to be made. 380 IS! '!/370: Co •• and Language Guide for General Users LIBEDIT ftACBO The number of consecutive periods indicates the length (or length) of the substituted field, after conversion, if any. parameter is coded as follows: maximull The SUB where each "type,value" pair specifies the type and value SUbstitution. possible "type,value" substitutions are: of the HBI, (reg) The value in the specified register (other than registers 1 and 15) is to be converted to graphic hexadecillal form. If fewer than eight consecutive periods are coded in the message text, then leading digits will be truncated. Leading zeros are not automatically truncated. HBI,expression The given expression, which will be evaluated by means of a Load Address (LA) instruction, is converted as indicated above into graphic hexadecimal form. HBIA ,address The "address" specifies a fullword that is to be converted to graphic hexadecimal, as above. HEIA, (reg) The register (other than registers 1 and 15) points to a fullword that is to be converted to graphic hexadecimal form, as above. DEC, (reg) The value in the specified register (other than registers 1 and 15) is to be converted to graphic decimal form and inserted into the aessage text. Leading zeros will be suppressed. If the nUllber is negative, then a leading minus sign will be inserted. DEC, expression The given expression, which will be evaluated by means of a Load Address (LA) instruction, is converted as indicated above into graphic decillal. DECA,address The "address" specifies a graphic d~cimal, as above. fullword which is to be converted to nBCA, (reg) The specified register (other than registers 1 and 15) contains the address of ~ fullword that is to be converted to graphic decimal, as above. HBl4A,address or HBI4A,(reg) Is used for graphic hexadeciaml dumps of other than fullwords. The "a4dress" (or a register other than 1 or 15) points to the first byte to be converted to graphic hexadecimal for.. A blank is inserted into the message text after each four characters of input (eight characters of output) have been coverted. Thus, if an 8-byte input field (16 hexadecimal digits) is to be converted, 17 periods should be coded. The output field length is deterllined by the number of periods in the message text. The length, in bytes, of the field to be converted may be specified as follows: HBI4A, (address I (reg) ,length I (reg» Appendix D: CftS ftacro Instructions 381 LINEDIT !!ACBO CBlBl,address or CBlRl,(reg) The "address" (or a register other than 1 or 15) points to the first byte of a field that is to be substituted as a character string. The output field length is deterained by the number of consecutive periods in the message text. The length, in bytes, of the field to be substituted .ay be specified as follows: CBlBl, (address I (reg) , length I (reg» CBAB8A,address or CBlR8l, (reg) Is useful if a string of PLIST arguaents (for exallple, a fileid) is to be substituted into the message text. LIIEDIT will insert a blank after each 8 characters of the substitution string. Thus, to substitute an 18-byte fileid, code 20 periods in the message text, to allow for the inserted blanks. The "address" (or a register other than 1 or 15) points to the first byte of the input substitution string. The length, in bytes, of the input string may be specified as follows: CBAB8A,(addressl (reg),lengthl (reg» Note that registers 1 length specification. and 15 may not be used for the address or This option specifies what LINEDIT is to do with the message has created. Specifications for the DISP parameter are: which it. DISP=TYPE (the default) specifies that the message is to be typed on the terminal using TYPLIN. DISP=SIO specifies that the message is to be typed at the terainal using SIO. This option is necessary if, for example, free storage pointers are destroyed. No CONWAIT function is performed. DISP=NONE specifies that no output whatsoever is to occur. is useful with the BUPPA parameter, described below. DISP=PRINT specifies that printer. the line is to be printed This option on the virtual DISP=CPCO!!!! specifies that the line is to be passed to CP to be executed as a CP console co.mand. DISP=ERR!!SG specifies that the line is to be checked to see if it qualifies for "error message editing". If it does it is displayed as an error aessage rather than a regular line. The first ten characters of the line are the "code" and the rest of the line is the "text" of an error aessage. In a standard V!!/370 error message, the code of an error message is in the following format: mmmmllllnnnt where amll •• a is the nalle of the 1I0dule issuing the lIessage, nnn is the lIessage number, and t is the lIessage type. With LIIEDIT, you can code error messages for your own programs. You need not follow the V!!/370 conventions for the first nine characters of the code, but the tenth character must specify a recognized V!!/370 aessage type if error message editing is to occur. The recognized types are: 382 IB!! V!!/370: Com.and Language Guide for General Users LINBDIT MACRO Tenth Character of .§!§§~L1ine I Ii Me~g~L1IE! IIPORMATION liARNIIG BRROR B If one of these letters is the tenth character in the line, the line will be typed in accordance with the current BMSG conditions that are controlled by the CP SET EMSG command. If the tenth character is anything else, the entire line will be typed as a regular line, with no distinction aade between code and text. This parameter specifies follows: the address of a buffer. It is coded as BUPPA=address I (reg) If a register is specified, it must not be register 1 or 15. If this option is specified, then, in addition to the action specified by the DISP paraaeter, the message text is copied into the buffer at the specified address. The length of the text is inserted into the first byte of the buffer, and the message text into subsequent bytes. The "standard" fora of the LIIBDIT macro generates reentrant code unless one of the following is true: • • • TBITA=(reg) is specified. BUPPA=(req) is specified. More than one substitution pair is specified. If reentrant code is not generated, and REIT=YES (the default) is in effect, the LIIEDIT macro expansion contains an MNOTE stateaent warning the user that nonreentrant code is being generated. If the user does not object to nonreentrant code, and does not wish to have the MIOTE appear, he should code REIT=BO. The REIT=IO coding aerely suppresses the BIOTE statement; it has no effect on the expansion of the LIBEDIT aacro. T~is paraaeter is used only in the list fora (BP=L) of the macro, which is used to reserve space. It specifies the maximum nuaber of substitutions to be aade, so that enough space for those sUbstitutions can be reserved. It is coded: ftAISUBS=nuaber Appendix D: CftS ftacro Instructions 383 tIIEDIT !ACBO tIIEDIT CODIIG EXA!PLES The following exaaples illustrate some options of the tIIEDIT aacro. Because of the liaitations of space, soae of the longer coding exaaples appear on two lines. However, normal coding conventions for continuation stateaents should be used in actual coding. Bxaaple 1 The siaplest use of the tIIEDIT aacro is to type substitutions whatsover. LIIEDIT TBIT='THIS causes the following executed: to IS be A a aessage without any LIIE' typed out on the terminal when it is THIS IS ALliE. lote that aultiple blanks are reaoved is placed at the end of the line. from the message, and a period Exa.pl!·~ The real pover of the LIIBDIT aacro is in the capability of making substitutions. Whenever the LIIEDIT processor finds two or aore consecutive periods in the aessage text, it aakes a substitution fro. the 'SUB' list provided in the aacro call. To illustrate the siaplest type of substitution, using option, suppose the following is executed: LIIBDIT TEXT='TBB VALUB IS SUB=(DEC,VALUE+5) the DEC ....... •, If the Asseabler language program contains a stateaent of "VALUE EQU 2003", then when this aacro is executed, the line, the fora THB VALUB IS 2008. is typed at the terainal. Usually soae value coaputed during execution of the program is requested. To type out the contents of a register, the following can be used: LIIEDIT TEXT='VALUE = •••••• ·,SUB=(DEC,(3» If, when this macro is executed, register 3 contains the value 10345, then the following line is typed out: VALUB = 10345. 384 IB! V!/310: Coaaand Language Guide for General Users decimal LIIEDIT "ACBO !.!aIBP1! ~ The DECA option is used to specify the address of a fullword in storage which contains the value to be typed out. The address of evaluated by 'means of a Load Address (Ll) instruction. Execution of: LIIEDIT TEXT='VALUE = •••••• ·,SUB=(DECA,LOC) would cause the value in the fullword at location LOC to be typed out in decimal format. Similarly, the macro call LINEDIT TEXT='VALUE = •••••• ·,SUB=(DECA,(3» would cause the value in the fullword be typed out in decimal. whose address is in register 3 to lote: AS the exaaples given show, when the keyword (such as DEC) does D2i--end in an '1', then a y~ is being specified as the next argument. When the keyword (such as DECA) ~ end in '1', then the ~gg~~~~ of a value is being specified. When the next argument is enclosed in parentheses, the value or address is to be found in the register, other than 1 or 15, that vas specified. The number of consecutive periods appearing in the message text is usually significant. In DEC and DECA, it indicates the maximum number of characters (including the minus sign) which will appear in the number. If the number is too large to fit in the field, then high-order digits will be truncated. To be certain that high-order digits will never be truncated, code ten periods in the message text for DEC and DECA, as in: LIIEDIT TEXT='VALUE = ••••••••••• , SUB= (DEC, (3» I!Yl!le ~ The HEX option is similar in use to the DEC option, except that the substituted values are typed out in hexadecimal rather than in decimal. Execution of: LIIEDIT TEXT="'LOC" SUB=(HEX,LOC) IS LOCATED AT ...... . would cause the value of LOC to be substituted in hexadecimal format, so that the following might be typed out: 'LOC' IS LOCATED AT 0201AC. lote that the leading zeros are not removed. Appendix D: C"S "acro Instructions 385 LINEDIT ftACRO Parentheses are used to type out the current value of a register in hexadecimal. Par example, if register 3 contained the value C0031PC8, then the macro LINEDIT TEXT='VALUE = ••• ·,SUB=(HEX,(3» would cause the line, VALUE = PC8. to be typed out. Notice that since three periods were specified, just the last three hexadecimal digits of the register contents were typed out. The HEXA option is used if the address of a fullword containing the desired value is specified. Execution of: in storage LINEDIT TEXT='HEI VAL = ••••• ·,SUB=(HEIA,VAL) will cause the last five hexadecimal digits of the fullword at VAL to be substituted into the message text. And if LINEDIT TEXT='HEI VAL = •••••• ·,SUB(HEXA,(5» is executed, then the last six hexadecimal digits of the fullword whose address is in register 5 will be substituted. I~ampl~ ~ The BEX4A option is used for dumping a variable number storage on the terminal. The dump has the format: of bytes of hhhhhhhh hhhhhhhh hhhhhhhh hhhhhhhh •••• where each "h" stands for a hexadecimal digit. The number of periods in the message text specifies the size of the output fieid and, hence, indirectly specifies the number of bytes of "input" data to be converted. Each byte of input data is converted into two hexadecimal digits for substitution. After each four bytes of input (eight bytes of output), a blank is inserted. Thus, if a dump of seven bytes of data in this format is requested, 15 periods must be coded. The extra period is for the blank to be inserted. The macro, LINEDIT TEIT='VALUES ARE ••••••••••••••••• , SUB=(BEI4A,(6» would cause a line to be displayed as follows: VALUES ARE OA23P115 78ACPE. where the values being dumped start at register 6. 386 the address that is specified in IBft V8/370: Command Language Guide for General Users LINEDIT MACRO ~.!amp!! '!'Q The CHARA option is used to .ake a straight character substitution. The number of 'periods indicates the nu.ber of characters to be substituted: LINEDIT TEXT=!NA~E IS SUB=(CHARA,LOC) !! •••••••••• , would cause the seven characters starting at location substituted into the text, to produce a message such as: LOC to be NAME IS 'LUCIIDA'. Multiple blanks in the sUbstituted string will be removed. !~ID!E!! 11 The CHIR8A option is siailar to the CHARA option, except that a blank is inserted into the output text after each group of eight characters. This is particularly useful for dumping PLISTs, since a blank is inserted after each doubleword in the PLIST. Por example, LIIEDIT TEXT='PILE •••••••••••••••••••• lOT POUID',SUB=(CBAR8A,PLIST+8) could cause the following output: PILE X ASSE8BLE A1 lOT POUID. Note that 20 periods were coded, to include space for the two inserted blanks. In the final edited line, multiple blanks are reduced to a single blank. If the CHARA option had been used, with 18 periods specified, then the same message would have appeared as: PILE X ISSE8BLEA1 lOT POUND. To make several sUbstitutions in a given line, it is necessary only to code several groups of periods in the message text, and several pairs of substitution values in the SUB parameter list. The following macro: LIIEDIT TEXT='VALUES ARE ••••• AND SUB=(DEC,(3) ,HEXI,LOC) ...... , , would generate a line like the following: VALUES ARE -45 AND PPE3C2. Each group of periods represents one substitution, and SUB arguments represents one value to be substituted. each pair of Appendix D: CMS Macro Instructions 387 LI NEDIT "ICRO To reserve space in a work area for a LINEDIT PLIST, the "list" form of the LIBEDIT macro (ftl=L) must be used. Specifying LINLIST LINEDIT ftl=L,ftAXSUBS=6 will reserve space for a LIBEDIT PLIST, and give that space the label ILINLISTI. The parameter IftAXSUBS=6 1 indicates that enough space is to be reserved so that a PLIST with space for six or fewer sUbstitution pairs can be built. If a larger ftlXSUBS value is specified, then a larger amount of space is reserved for PLIST contruction. The execute form of the LIBEDIT macro does not generate a PLIST as part of its expansion, as does the standard form. (Examples 1 through 12 use the standard form of the macro.) Instead, the execute form expands to create a PLIST in a work area. The space for the PLIST should have been reserved using ftl=L as indicated in Example 13. To call LIBEDIT after creating a PLIST in the work area reserved by the LINEDIT macro in the last example, the following form could be used: LINEDIT Ml=(E,LIBLIST),other options ••• The "other options" may be any of the options discussed in preceding examples, including TEXT and SUB parameters. !~~E!~ 12 ~~~i!Ii~g §Y~§~itu~!g~ J~ngth -- In all the examples shown, the length of the argument being substituted was determined by the number of periods in the message text. The number of periods indicated the size of the output field, and indirectly determined the exact size of the input data area. sometimes it is desirable to determine at execution time the size of the input data area. These sizes can conversion types. be specified with the CBIRA, CBAR81, and BEX41 The following substitution list might appear in a LINEDIT macro: SUB=(CBIRA,LOC,BEX4A, (3» When specified in this manner, the lengths of the input data fields are determined by the number of periods in the message text. To specify the length of the input data field, the following alternative form may be used: SUB=(CBARA, (LaC, (4» ,BEX41, «3), (5») In the latter format, where each substitution pair has the form "type, (address,lengt~", register 4 is specified as containing the length of the data area at location LaC, and register 5 is specified as containing the length of the data area pointed to by register 3. 388 IBM Vft/370: Command Language Guide for General Users LIIEDIT !tACBO ~!~E!! 1~ specifying a length is particularly useful in the special case where only one character is to be changed in a CHABA substitution. To do this, two periods aust be coded into the message, and a length of one aust be specified, as in the exaaple: LIIBDIT TBIT=IILLEGAL !tODB LETTEB SOB=(CBABA,(PLIST+24,1» .. I , Th~ single letter (length=l) at location PLIST+24 the field consisting of two periods. ~s sUbstituted into lote: 10 matter what input length is specified, the final substituted result cannot be longer than the nuaber of periods in the aessage text. If the input field length and the output length (specified by the nuaber of consecutive periods) conflict, the output length will govern, and the input length will be truncated accordingly. Appendix D: C!tS !tacro Instructions 389 PRINTL "ACRO PBINTL Macro The PRINTL macro causes a line to be written to a virtual printer. I.QR"AT: 1 [label] I PRIITL I line [,length] [,ERROR=erraddr] I , label is an optional statement label. line specifies the line to forms: length erraddr be printed. It may be in one of three 'linetext' text enclosed in quote marks. lineaddr the sy.bolic address of the line. (reg) a register containing the address of the line. specifies the length of the line to be printed. If omitted, 133 is assumed unless the text is enclosed in quotes. In this case, the number of characters between the quotes is used. The length may be specified in two ways: (reg) a register containing the length. n a self-defining term indicating the length. specifies the address of an error routine to be given control if an error is encountered. If ERROR= is not coded, control returns to the next sequential instruction in the calling program if an error occurs, as it does if no error occurs. The PRINTL macro causes the specified line to be written to the printer. The maximum length allowed is 151 characters if printing on a virtual 3211 or 133 characters if printing on a virtual 1403. The first character in the line is used as the carriage control character. It must be ASCII control character code or a machine carriage control code other than I'Cl' or I'C3'. Since I'Cl' and I'C3' are valid for both ASCII control character and machine carriage control code, if coded, they are interpreted as ASCII control character codes. If a valid control character is not specified, a write command with a carriage control character to space one line after printing is used. The valid ASCII control characters are as follows: 1!!!!_~Qg.! 40 PO + 390 60 41 "eani.!!,9 Space 1 line before printing Space 2 lines before printing Space 3 lines before printing Suppress space before printing IB" VM/370: Co •• and Language Guide for General Users GC20-1804-3 Page Modified by TNL GN20-2659 PRINTL MACRO fh~X2£1~I ~~!_fQ~g 1 2 F1 F2 3 4 5 6 7 8 9 A F3 F4 F5 F6 F7 F8 F9 Cl B C C2 C3 Mc~n;nrr Skip Skip Skip Skip Skip Skip Skip Skip Skip Skip Skip Skip .:.:~..::::.:.:=!!~ to to to to to to to to to to to to channel 1 channel 2 channel 3 channel 4 channel 5 channel 6 channel 7 channel 8 channel 9 channel 10 channel 11 channel 12 If an error occurs, processing terminates, and control is passed to erraddr (if one was provided) or back to the calling program's next sequential instruction. Register 15 contains one of the following error codes: ~Qg~ 1 2 3 4 5 100 11~g!!!!!g Line too long. Channel 12 punch sensed (virtual 3211 only). Channel 9 punch sensed (virtual 3211 only). Intervention required. Unknown error. Printer not attached. Note: If the error was a result of sensing a channel 9 or 12 punch while writing to a virtual 3211 using ASA control characters, the operation terminated after the carriage movement but before writing the line. In order to avoid an extra blank line, the print buffer should be rewritten using the 01 channel command code (write without spacing). Appendix D: CMS Macro Instructions 391 PUNCHC MACRO PUNCHC Macro The PUNCHC macro causes a line to be written to a virtual card punch. XQ!Ht!~ : r-----------------------------------------, I [label] I PUNCHC I line [, ERROR=erraddr] I ----------' '-- label is an optional statement label. line specifies the line to forms: erraddr be punched. It may be in one of three 'linetext' text enclosed in quote marks. lineaddr the symbolic address of the line. (reg) a register containing the address of the line. specifies the address of an error routine to be given control if an error is encountered. If ERROR= is not coded, control returns to the next sequential instruction in the calling program if an error occurs, as it does if no error occurs. !!.§!g~: The PUNCHC macro causes the specified line to punch. No stacker selecting is allowed. The characters. be written to the card line length must be 80 If an error occurs, processing terminates, and control is passed to erraddr (if one was provided) or back to the calling program's next sequential instruction. Register 15 contains one of the following error codes: £2g~ 2 3 100 392 ~~~!!'!!!.9 Unit check. Unknown error. Punch not attached. IBM VM/370: Command Language Guide for General Users RDCARD l!ACRO RDCARD Macro The RDC1RD macro causes a line to be read from a virtual card reader. I I [label] RDCARD I buffer [, length] [, ERROR = erraddr] label is an optional statement label. buffer specifies the buffer address into which read. It may be either of two forms: bufaddr (reg) length to be the symbolic address of the buffer. a register containing the address of the buffer. specifies the length of the card to be read. If omitted, 80 is assumed. The length may be specified in one of two ways: n (reg) erraddr the card is a self defining term indicating the length. a register containing the length. specifies the address of an error routine to be given control if an error is encountered. If EBBOR= is not coded, control returns to the next sequential instruction in the calling program when an error occurs, as it does if no error occurs. The RDCARD macro causes a line to be read from the card reader. No stacker selecting is allowed. On return register 0 contains the length of the card read. If an error occurs, processing terminates, and control is passed to erraddr (if one was provided) or back to the calling program's next sequential instruction. Register 15 contains one of the following error codes: Code 1 2 3 5 100 ~~~.!!ing End of file. unit check. Unknown error. Length not equal to requested length. Device not attached. Appendix D: Cl!S l!acro Instructions 393 RDTAPE !ACRO RDTAPE Macro The RDTAPE drive. aacro causes [label] a record to be read froa the specified tape buffer,length [,device] [,80DE=aode] [ , ERROR=erradr ] RDTAPE label is an optional statement label. buffer specifies the buffer address into which the record is read. It aay be specified in either of two ways: length device aode to be lineaddr the symbolic address of the buffer. (reg) a register containing the address of the buffer. specifies the length of the record to be read. A 65,535-byte record is the largest record that can be read. It may be specified in either of two ways: n a self-defining tera indicating the length. (reg) a register containing the length. specifies the oaitted, TAP 1 two forms: device from which the line is to be is assumed. It may be specified in TAPn ~ cuu indicates the virtual device address. read. If either of indicates the symbolic tape number. specifies the number of tracks, density, and tape recording technique options. It must be in the following form: ([ track], [ density], [trtch]) track 1 9 indicates a 1-track tape (implies density=800 and trtch=O) • indicates a 9-track tape (implies density=800) • density 200, 556, or 800 for a 1-track tape. 800 or 1600 for a 9-track tape. trtch indicates the 1-track tape. specified: o OC OT E IT 394 tape recording technique for One of the following must be odd parity, converter off, translator off. odd parity, converter on, translator off. odd parity, converter off, translator on. even parity, converter off, translator off. even parity, converter off, translator on. IB! V8/310: Coaaand Language Guide for General Users RDTAPE MACRO !Q~~: Mode need not be specified for a read operation to a 9-track tape or to an 800 BPI odd parity 7-track tape with the Data Converter and the Translator off. erraddr specifies the address of an error routine to be given control if an error is encountered. If ERROR= is not coded, control returns to ~ne next sequent1ai instruction in the calling program if an error occurs, as it does if no error occurs. The RDTAPE macro causes a record to drive. On return, register 0 and the contain the number of bytes read. be read from the specified tape eighth word of the parameter list If an error occurs, processing terminates, and control is passed to erraddr (if one was provided) or back to the calling program's next sequential instruction. Register 15 contains one of the following error codes: ~2g~ 1 2 3 4 5 ~~!~!~~ Invalid function or parameter list. End-of-file or End-of-tape. Permanent I/O error. Invalid device ide Tape not attached. Appendix D: CMS Macro Instructions 395 GC20-1804-3 Page Modified by TNL GN20-2659 RDTERM MACRO RDTERM Macro The RDTERM macro causes a line to be read from the user's terminal. -------------------------, .-I I [label] I I RDTERM buffer [,EDIT=codeJ r r" [LENGTH=lengthJIATTREST=ll~21 I I II INO III L ________________________________________________________ I L ____ .J.J J __ L- label is an optional statement label. buffer specifies the address of a 130-character buffer into which the line is to be read. It may be either of two forms: lineaddr the symbolic address of the buffer. (reg) a register containing the address of the buffer. specifies the type of editing, if any, to be performed on the input line. If this is not coded, YES is assumed. code NO indicates that a logical line is to be editing is to be done. read and no PAD requests that the input line be padded to the length specified. with blanks UPCASE requests that the line be translated to upper case. YES indicates PAt+UPCASE. PHYS indicates that a physical line is to be read. When PHYS is specified, the LENGTH and ATTREST operands may also be entered. length specifies the length of the caller's buffer area. specified, 130 is assumed. When EDIT=PHYS, as many bytes may be read. If not as 2030 ATTREST= specifies the handling of an attention signal during a read operation. The normal handling (ATTREST=X]2) is to restart the operation. If EDIT=PHYS and an explicit LENGTH is given, NO may be specified. In these cases, an attention signal is treated as a normal end of the operation. The RDTERM macro causes a line to be read from the user's terminal. return, register 0 contains the number of characters read. When an codes: 396 error occurs, register 15 contains one of the IBM VM/370: Command Language Guide for General Users On following error GC20-1804-3 Page Modified by TNL GN20-2659 RDTERM MACRO 2 An invalid parameter was given. 4 The read was terminated by an attention signal. when ATTREST=NO possible only Appendix D: CMS Macro Instructions 396.1 REGEOU ftACRO REGEQU Macro The REGBOU macro equates symbolic names to floating-point, and extended-control registers. the general-purpose, !.Qnll: RBGEOU The RBGBOU macro causes the following equate statements to be generated. The symbolic names may be used as register specifications in assembly language stateaents. The register usage will then appear in the cross reference listing. General Registers: RO Rl R2 R3 R4 R5 R6 R1 R8 R9 Rl0 Rl1 R12 R13 R14 R15 EQU BQU EQU BOU BQU EOU BOU EQU BQU EOU EQU BOU BOU BQU BOU EOU Bxtended-Control Registers: 0 1 2 3 4 5 6 1 8 9 10 11 12 13 14 15 CO Cl C2 C3 C4 C5 C6 C1 C8 C9 Cl0 Cll C12 C13 C14 C15 EQU BQU EOU BOU BQU EQU EQU EOU BOU EOU BOU EOU EOU EOU EQU BOU 0 1 2 3 4 5 6 1 8 9 10 11 12 13 14 15 Floating=point Registers; FO 12 14 16 EQU BOU EOU BQU 0 2 4 6 Appendix D: CftS ftacro Instructions 391 T1PECTL !ICRO TAPECTL Macro The TIPECTL macro causes the specified tape to to the specified function code. be positioned according i t l[label]ITIPECTLlfunction [,device][ ,!ODE=mode][,ERROR=erraddr]1 , I label is an optional statement label. function specifies the control function to one of the following codes: ~Qg~ It must be A£!i2! Rewind the tape. Rewind and unload the tape. Erase a gap. Backspace one record. Backspace one file. Forward space one record. Forward space one file. write a tape mark. REW RUB ERG BSR BSF FSR FSF WT! device be performed. specifies the tape on which the control performed. If omitted, TAP1 is assumed. of two foras: operation is to be It may be in either indicates the symbolic tape number. TAPn ~ cuu indicates the virtual device address. specifies the number of tracks, density, and tape recording technique options. It must be in the following form: mode ([ tr ack], [ density], [trtch]) track 7 9 indicates a 7-track tape (implies density=800 and trtch=O). indicates a 9-track tape (implies density=800). density 200, 556, or 800 for a 7-track tape. 800 or 1600 for a 9-track tape. trtch indicates the 7-track tape. specified: a OC aT E ET erraddr 398 tape recording technique for One of the following must be odd parity, converter off, translator off. odd parity, converter on, translator off. odd parity, converter off, translator on. even parity, converter off, translator off. even parity, converter off, translator on. specifies the address of an error routine to be given control if an error is encountered. If ERROR= is not coded, control returns to the next sequential instruction' in the calling program if an error occurs, as it does if no error occurs. IBK VK/370: Co •• and Language Guide for General Users TAPECTL BACRO The TAPECTL macro causes the control specified tape drive. operation to be performed on the If an error occurs, processing terminates, and control is passed to erraddr (if one was provided) or back to the calling progra.'s next sequential instruction. Register 15 contains one of the following error codes: ~~g~ 1 2 3 4 5 6 ~~~~i~ Invalid function or parameter list. End-of-file or End-of-tape. Permanent I/O error. Invalid device ide Tape is not attached. Tape is file protected. Appendix D: CftS Bacro Instructions 399 iAITD IUCRO WAITDMacro The iAITD macro causes the program occurs for the specified device. to wait until the next interrupt i I [label] WAITD I device ••• [,devicen] [,Error=erraddr] I label is an optional statement label. devicen specifies the device(s) to following may be specified: symn indicates where: the be symbolic waited device for. name One of the and number, sym is COB, DSK, PRT, PUB, RDR, or TAP. n user erraddr indicates the device number. a name of up to four previous HBDIBT macro. characters specified in a specifies the address of an error routine to be given control if an error is encountered. If ERROR= is not coded, control returns to the next sequential instruction in the calling program if an error occurs, as it does if no error occurs. The WAITD macro causes the program to wait for an interrupt from one of the specified devices. It should be issued to ensure completion of an I/O operation. If an interrupt has been received and not processed from a device specified in the WAITD macro (the when parameter in the HBDIBT macro had to be WAIT) the interrupt for the device will be entered. When the interrupt has been completely processed, control will be returned to the caller with the name of the interrupting device in Register 1. If an interrupt has been received and processed from a device specified in the WAITD macro (the when parameter in the HBDINT macro has to be ASAP) the wait condition is considered satisfied and return to the caller is made as previously described. An interrupt received from a device specified ASAP in an HBDINT macro will be handled. Processing this interrupt will satisfy a WAITD issued later for that device. The interrupt routine determines if an interrupt is considered "processed" or if more interrupts are necessary to satisfy the wait condition. Por additional information see the HNDIBT macro documentation. When an error is detected, register 15 invalid device number was specified. qOO contains a 1 to indicate that an IBM VM/370: Command Language Guide for General Users WAT'I'T MACRO WAITT Macro The WAITT macro causes the program to wait until all of the pending I/O operations to the user's terminal are completed. i I [label] • label WAITT is an optional statement label. The WAITT macro is used to synchronize terminal I/O operations. lone. Appendix D: CMS Macro Instructions 401 WRTlPB BlCBO WRTAPE Macro The iBTlPB drive. macro causes a [label] record to be written on the buffer,length [,device] [,BODE=aode) [,BRROR=ERRlDDR] iRTlPB label is an optional statement label. buffer specifies the address of the record in either of two foras: length It may be the symbolic address of the line. (reg) a register containing the address of the line. specifies the length of the line to specified in either of two ways: be written. It .ay be a self-defining term indicating the length. (reg) .ode to be written. lineaddr n device specified tape a register containing the length. specifies the device to which the record is to be written. If omitted, TlPl is assumed. It may be in either of tvo forms: indicates the symbolic tape number. TlPn ~ cuu indicates the virtual device address. specifies the number of tracks, density, and tape recording technique options. It must be in the following form: ([track], [density], [trtch]) track 7 9 indicates a 7-track tape (implies density=800 and trtch=O). indicates a 9-track tape (implies density=800). density 200, 556, or 800 for a 7-track tape 800 or 1600 for a 9-track tape. trtch indicates the 7-track tape. tape recording technique for One of the following must be ~pecified: o OC OT I ET erraddr 402 odd parity, converter off, translator off. odd parity, converter on, translator off. odd parity, converter off, translator on. even parity, converter off, translator off. even parity, converter off, translator on. specifies the address of an error routine to be given control if an error is encountered. If ERROR= is not coded control returns to the next sequential instruction in the calling program if an error occurs, as it does if no error occurs. IBft Yft/310: Co •• and Language Guide for General Users WRTAPE MACRO The WRTAPE drive. macro causes a record to be written to the specified tape If an error occurs, processing terminates, and control is passed to erraddr (if one was provided) or back to the calling program's next sequential instruction. Register 15 contains one of the following error codes: Code --1- 2 3 4 5 6 ~~g~i~g Invalid function or parameter list. End-of-tape or End-of-file. Permanent I/O error. Illegal device ide Tape not attached. Tape is file protected. Appendix D: CMS Macro Instructions 403 GC20-1804-3 Page Modified by TNL GN20-2659 WRTERM MACRO WRTERM Macro The WRTERM macro causes a line to be displayed at the user's terminal. r- I [label] I WRTERM line [,length] [,EDIT=code ] [ ,COLOR=color ] L- label is an optional statement label. line specifies the forms: length code line to be displayed. It may be one of three 'linetext· text enclosed in quote marks. lineaddr the label on the statement containing the line. (reg) a register containing the address of the line. specifies the length of the line. If the line is specified within quote marks in the macro, the length parameter may be omitted. The length may be specified in either of two ways: n a self defining term indicating the length. (reg) a register containing the length. specifies whether the line is to be edited: YES indicates that trailing blanks are to be removed carriage return added to the end of the line. Ne indicates that trailing blanks are no carriage return is to be added. and a net to be removed and LONG indicates the line may exceed 130 bytes, and is to be transmitted from the caller's buffer area. No editing is performed. color 404 indicates in which color the line is to typewriter terminal has a two-color ribbon: be typed if B indicates that the line is to be typed in black. R indicates that the line is to be typed in red. IBM VM/370: Command Language Guide for General Users the GC20-1804-3 Page Modified by TNL GN20-2659 WRTERM MACRO The WRTERM macro causes the specified line to be displayed at the user's terminal. The maxi.um line length is 130 characters for a black line and 126 characters for a red line. If EDIT=LONG, COLOR must be given as 'B'. In this case, as .any as 1760 bytes may be sent with a single WRTERM macro. The caller is responsible for properly embedding terminal control characters in the data, and for the inteqritv of the data from issuance of WRTERM until the data has been sent.-The-WAITT macro may be used to ensure that I/O is complete before the buffer is modified. None. Appendix D: CMS Macro Instructions 404.1 Appendix E: Disk Determination (Filemode Management) Figure 47 relates CMS commands, method of specifying filemode, and the criteria used in choosing a disk directory for reading and writing. Symbols used in the table are: ~yllbo1 command fm 11.§~.!!.!.!!.9 d Command ACCESS N/A N/A ASM3705 *R R,1W,*W Explicit mode specified letter can ASSEMBLE *R R,1W,*W BASIC *R R,1W COBOLI *R R,1W,*W N/A N/A be Refer to all search order disks in a Default mode: let determine the mode set system * fm *R CONVERTI fm fm fm COPYFILE fm fm N/A *R fm CP N/A N/A DEBUG N/A N/A fm *R 1R N/A N/A N/A N/A 1W fm *R 1R fm N/A N/A N/A fa *w 1W *R N/A fm 1R *R N/A fm 1W N/A fm COMPARE The criteria for choosing disk from which to read N/A Not applicable, co.mand does not cause any reading to be done DIRECT Read from the specified disk DISK DUMP 1R Refer to all disks standard search order in the fm * d the Read only from the primary disk fm * Reading *R mode d DISK LOAD EDIT fm * d *cuu All occurrences of the address writing Indicates criteria for selecting the disk to write onto N/A Not applicable, command does not cause any writing to be done EXEC Write onto the specified disk FILEDEF ERASE fm * d fm fm d R write onto the disk from which a file was read (or its parent) Writing fm 1R Null mode; unable to specify mode letter in this command fm Filemodel Reading CMS command name write disk to Read disk * r------------------------------------------~ FORMAT * mode R N/A R R FORTGII *R FORTHXI *R FORTRANI *R write to the specified address GBN3705 *R 1W *WS First read/write disk with enough space GENDIRT N/A N/A *1 First disk where file is found if disk is in read/write status *w Choose any read/write disk in the standard search pattern 1W Attempt to write onto the primary disk cuu IIBM Program Products Figure 47. Disk Determination (Part 1 of 3) Appendix E: Disk Determination (Filemode Management) 405 r I Command Filemodel Reading writing Comlland N/l N/l N/l fll 1W 1W REN1ME GLOBIL N/l N/l RUN GOFORTl *R R,*W INCL UDE *R 1W GENMOD fll * d LISTDS Writing = fm *R N/l fll N/l R fm * d fm *R 1R N/l N/l N/l SlVENCP *R N/l SCRIPT2 *R 1W SET N/l N/l fm .R fm R,1W N/l 1W N/l N/l N/l N/l N/l N/l N/l N/l fll * fm *R 1R 1W 1W 1W LKED *R R,1W,*W LOID *R 1W LOIDMOD *R fm N/l N/l MICLIB *R R, 1 W SVCTR1CE MODM1P *R N/l SYNONYM MOVEFILE N/l N/l fm * d fll *R 1R N/l N/i N/l NCPDUMP *R 1W T1PE DUMP PLICl *R R,1W,*W PLICRl *R R, 1W, *W fm * d fm d PLIOPTl *R R,1W,*W fm *R 1R N/l N/l N/l N/l N/l N/l N/l fm 1W N/l N/l fm d N/l N/l fm 1W TESTCOBl TESTFORTl *R *R R,1W,*W *L,*WS TITLIB *R R,1 W fm * d fm *R 1R N/l N/l N/l fm d * *R fm 1R *R *R R,1 W fm,R,1W 1W R,1W R,1 W *R R LISTFILE fm * d Filemodel Reading SORT ST1RT STITE fm T1PE LOID fm d * fm 1R *R N/l N/l N/l PUNCH fll d * fm 1R *R N/l N/l N/l N/l N/l TYPE fm d * N/l N/l N/l fm 1W 1W UPDITE mode *cuu fm REIDC1RD RELE1SE fm * d TIPE SC1N TIPE SKIP PRINT QUERY fm * T1PPDS cuu fm VSB1SICl lIEM Program Products ZAP Figure 47. Disk Deterllination (Part 2 of 3) lIBM Program Products 2IBM User Installed Program Figure 47. Disk Determination (Part 3 of 3) 406 IBM VM/370: Command Language Guide for General Users Appendix F: Reserved Filetype Descriptions Figure 48 shows filetypes that have special uses in CMS. Format Filetype Command ASSEMBLE ASSEMBLE ASM3705 Filename RECFM input fn F 80 Assembler language source statements i ASM3705 GEN3705 input output fn fn (nn) F F 80 80 3704/3705 assembler source statements AUIxxxx UPDATE input fn F 80 Auxiliary update file BASIC BASIC input fn F ~256 BASIC language source statements fn U ~3440 User input and output files BASDATA BASIC execution Usage executiontime files LRECL Con tents I CMSUT1 READC1RD COPYFILE DISK TAPE UPDATE INCLUDE LOAD MACLIB intermediate work file READ COPYFILE DISKLOAI: TAPELOAD fn DMSLDR DMSLDR DMSLBM F 80 CNTRL UPDATE input fn F 80 Control file updatel COBOL COBOLl input fn F 80 COBOL source statements COpy MACLIB input fn F 80 COpy control cards and macro definitions DIRECT DIRECT input fn F 80 User Directory entries EIEC EIEC LISTFILE GEN3705 input output output fn CMS fn F 80 EXEC statements F 80 FREEFORT GOFORTl input fn v ~81 FREEFORM FORTRAN source statements FORTRAN FORTGIl FORTHIl GOFORTl TESTFORTl input fn F 80 FORTRAN source sta tements input/ output fn FTnnF001 FORTRAN lexecution I User input and output files lIBM Program Products Figure 48. Reserved Filetypes (Part 1 of 3) Appendix F: Reserved Filetype Descriptions 407 Pormat Filename RECFM LRECL output output fn fn F 121 Processor printed output output fn output input fn fn F 121 COEOL processor output used as input to SOURCE subcommand of TESTCOB LKED output fn F 121 Listing LOADLIB LKED ZAP output input fn fn V V 5260 5260 3704/3705 control program load modules MACLIB GLOBAL MACLIB library MAC LIB fn fn MACRO MACLIB input fn MAP INCLUDE LOAD MACLIB TXTLIB output output output output LOAD Piletype COlllland LISTING ASSEMBLE ASM 3705 GOFORTI FORTGll FORTHXl COBOL 1 PLICI PLICRI PLIOPTI TESTCOBI LK!DIT Usage MEMO Library contains dictionary and members P 80 Content s Macro definitions Macro definit ions Macro definitions Module map Module map Library map Library map L01D fn fn fn F 80 MODULE GENMOD LOADMOD MODMAP output input input fn fn fn V Non-relocatable object file PLI or PLIOPT PLIOPTI PLIC PLICR input input input fn fn fn P PL/I source statements SCRIPT SCRIPT2 input fn V 5133 SYNONYM SYNONYM reference fn F 80 SYSUT1,2,3 ASM3705 ASSEMBLE COBOLI LKED PLIOPTI work work work work work fn fn fn fn fn V lIEM Program Products 2IBM Installed User Program igure 48. 408 Reserved Filetypes (Part 2 of 3) IBft Vft/370: Command Language Guide for General Users Input to SCRIPT processor Command name synonyms r-------------.------------------------------------------------------------------------~ Format "---- Filetype RECPM U;;)C1Y-= LRECL Contents COBOLl LKED PLIC PLICR TESTCOBl input TESTFORT TESTFORTl output fn TEXT ASSEMBLE ASM3105 output output fn fn COBOLl GEN 3705 output output fn fn (Ln) INCLUDE LKED input input fn fn LOAD PLIOPTl TITLIB GOFORTl FORTGIl FORTHll TESTFORTl input output input output output output input fn fn fn fn TXTLIB GLOBAL TITLIB library output fn fn UPDATE UPDATE input fn F UPDLOG UPDATE output fn F UPDATE UPDATE input fn F 80 VSBASIC VSBASIC input fn F ~256 VSBASIC language source statements VSBDATA VSBDATA execution time files fn V ~140 VSBASIC user input/I output files 1 SY SUT4 work fn F 80 512 Used as input to TESTCOB VB 125 Processor printed output F F 80 80 F 80 Object code 3704/3705 source code and job control language statements Object code Linkage editor control statementsl for 3704/3705 1 control programs 1 Object code 1 Object code and 1 LKED control cards Object code Object code Object code Object file Library contains dictionary and members 80 Object decks UPDA TE cont rol cards UPDATE log Local updates ----------------------------------1I lIBM Program Products I Figure 48. Reserved Filetypes (Part 3 of 3) Appendix F: Reser~ed Filetype Descriptions 409 Index ¢, line delete logical editing symbol 49 &ARGS control statement, of EXEC command 128 &BEGPUNCH control statement, of EXEC command 128 &BEGSTACK control statement, of EXEC command 128 &BEGTYPE control statement, of EXEC command 128 &CONCAT built-in function, of EXEC command 130 &CONTINUE control statement, of EXEC cOllmand 128 &CONTROL control statement, of EXEC command 128 &DATATYPE built-in function, of EXEC cOBlmand 130 &END control statement, of EXEC command 128 &ERROR control statement, of EXEC command 128 &EXIT control stateBlent, of EXEC command 129 &GOTO control statement, of EXEC command 129 &IF control statellent, of EXEC command 129 &LENGTH built-in function, of EXEC command 130 &LITERAL built-in function, of EXEC command 130 &LOOP control stateBlent, of EXEC comBland 129 &PUNCH control statement, of EXEC comlland 129 &READ control statement, of EXEC command 129 &SKIP control statement, of EXEC command 129 &SPACE control statement, of EXEC command 129 &STACK control statement, of EXEC comlland 129 &SUBSTR built-in function, of EXEC command 130 &TIME control statellent, of EXEC command 130 &TYPE control statment, of EXEC command 130 &variable control statement, of EXEC command 128 $DUP subcommand, of EDIT command 123 $MOVE subcommand, of EDIT command 123 * command 17 described 249 summary 245 /* control card, for the CMS batch facility 358 /JOB control card, for the eMS batch facility 358 /SET control card, for the CMS batch facility 359 1 subcommand, of EDIT command 123 1, use of with the FILEDEF DISK operand 138 I, line end logical editing symbol ICP command described 250 summary 245 a, 49 symbol delete logical editing symbol 49 ", escape symbol logical editing symbol 49 A ABBREV operand of CMS QUERY command 185 of CMS SET command 198 abbreviations for commands 19 controlling 198 ABEND, problem program 353 ACCESS command 29 CMS responses to 81 described 78 ERASE option 79 examples of 80 NODISK option 79 NOPROF option 79 summary 73 to access a disk you defined via DEFINE 29 used after linking to a virtual disk 29 used to alter the search order for virtual disks 30 used to change read/write status of a virtual disk 31 used with OS data sets and DOS files 40 access mode of virtual disks 29 accessing a read-only OS disk 80 accessing CMS with no virtual disks attached to your virtual machine 79 Index 411 accessing virtual disks 29 access1ng your virtual machine 29 accounting information displaying 312 for the CMS batch facility 358 ACNT cOllmand, summary 245 ACNT operand, of CP SET command 312 acquiring disk space 78 ADD operand of the MACLIB command 170 of TITLIB co.mand 220 adding records to a file 118 adding to a file, using EDIT command in INPUT mode 16 adding to a macro library 170 adding to a TEIT library 220 adding to the EIEC file created using LISTFILE command output 158 A-disk 27 accessed after IPL CMS 80 ADS TOP command described 252 OFF operand 252 summary 245 ALIGN option, of ASSEMBLE command 85 alignment of boundaries in assembler program statements 85 ALL operand of (CP) QUERY command 298,298 of CHANGE command 256 of PURGE command 295 of the TRANSFER command 338 of TRACE command 335 ALLOC option, of LISTFILE command 158 ALOGIC option, of the ASSEMBLE command 82 ALTER subcommand of EDIT command 119 altering characters in a record 119 altering constants using LOAD command 166 altering instructions using LOAD command 166 altering read/write status of virtual disks 30 altering records of a file 119 altering the attributes of a virtual printer file 256 altering the attributes of a virtual punch file 256 altering the attributes of a virtual reader file 256 altering the logical editing symbols 331 altering the search order of virtual disks 30 altering your virtual machine environment 264 alternating operating system execution 65 OS job stream 66 VM/370 directory 67 analysis, system and hardware, commands used for 350 annotating your console sheet 249 Any user, described 242 APL character translation tables, controlling 331 APL operand, of TERMINAL command 332 APPEND option of COPYFILE command 96 of LISTFILE command 158 appending one file to another 91 412 ASM3705 command, summary 73 ASSEMBLE command 13 ALIGN option 85 ALOGIC option 82 BU!'SIZE option 85 DECK option 84 described 82 DISK option 84 ESD option 83 example of 57 FLAG option 83 LIBMAC option 83 LINECOUN option 83 LIST option 83 listing control options for 82 MCALL option 83 MLOGIC option 83 NOALIGN option 85 NOALOGIC option 83 NODECK option 84 NOESD option 83 NOLIBMAC option 84 NOLIST option 83 NOMCALL option 83 NOMLOGIC option 83 NONUMBER option 85 NOOBJECT option 84 NOPRINT option 84 NORENT option 86 NORLD option 83 NOSTMT option 85 NOTERM option 85 NOXREF option 84 NUMBER option 85 OBJECT option 84 PRINT option 84 RENT option 86 RLD option 83 STMT option 85 summary 73 SYSPARM option 86 SYSTERM listing 85 TERMINAL option option 85 TEST option 84 used with OS data sets and DOS files 40 IRE!' option 84 ASSEMBLE filetype 36 assembler diagnostic messages, controlling the listing of 83 assembler inner macro instructions, controlling the listing of 83 assembler listing, controlling the production ~f 83 assembler macro instructions, controlling the listing of 83 assembler relocation dictionary, controlling the listing of 83 assembler conditional assembly statements, controlling the listing of 82 controlling number of lines printed by 83 controlling the listing of the External Symbol Dictionary (ESD) 83 output control options for 83 overriding CMS file defaults 86 under CMS 13 using under CMS 82 IBM VM/370: Command Language Guide for General Users assembling a program file, example of 57 assembling a program using OS macros 39 ASSIST o·perand, of CP SET command 314 asterisk (*), used in the file.ode field 44 ATTACH command, summary 245 attaching devices to virtual machine 59 attention handling, terminal control of 331 attention interrupt effect On virtual console in CP mode 25 effect on virtual console in VM mode 24 entering from your virtual console 254 for a virtual machine 309 Attention key how to use 22 used to interrupt execution of a command 22 used to switch command environments 22 ATTN command described 254 summary 245 ATTN operand, of TERMINAL command 333 attributes of a spool file, changing 256 attributes of virtual devices, modifying 318 AUTO option of INCLUDE command 151 of LOAD command 162 AUTOREAD option, of CMS SET command 199 AUTOSAVE subcommand, of EDIT command 119 auxiliary directory, creation of 145 B BACKSPAC command, summary 245 BACKWARD subcommand, of EDIT command 119 batch facility ID card 357 batch facility CMS, using 357 command restrictions for 360 described 357 input to 358 output 360 BCD characters, converting to EBCDIC 95 BDAM OS access method 41 B--disk 27 BEGIN command described 255 summary 245 used with the DISCONN command 271 beginning execution with an INCLUDE command 151 blanks, as delimiters 16 blip characters for your virtual machine 197 displaying 184 BLIP option for CMS QUERY command 184 for CMS SET command 197 BLKSIZE option, of PILEDEP command 136 BLOCK option, of PILEDEP command 136 blocksize, for CMS files 137 BOTH operand, OP TRACE command 335 BOTTOM subcommand, of EDIT command 53,119 boundary alignment, of statements in an assembler program 85 BRANCH operand, of TRACE command 335 branches, tracing 334 BREAK subcommand, of DEBUG command 115 ...... ,..."'''''''lr..,. . . . . ..:_. u .... "'QJ\.!:'V.4u.. 111: 1 1..1 buffer size, assembler, controlling size of 85 BUFSIZE option, of ASSEMBLE command 85 C Cancel key 59 carriage control characters for PRINT command, specifying 179 CASE subcommand, of EDIT command 119 CAW (Channel Address Word) 114 CAW operand, of DISPLAY command 274 CAW subcommand, of DEBUG command 115 CC option, of PRINT command 179 CCW operand, of TRACE command 335 CCW translation, controlling 313 C-disk 27 CHANGE command ALL operand 256 CLASS operand 256 COpy operand 256 described 256 DIST operand 257 HOLD operand 256,258 NAME operand 257 NOHOLD operand 257 PRINTER operand 256 PUNCH operand 256 READER operand 256 summary 245 CHANGE option, of PILEDEP command 135 CHANGE subcommand, of EDIT command 54,120 changing extended control registers in your virtual machine 325 changing floating-point registers in your virtual machine 325 changing general registers 1n your virtual machine 325 changing records in files 118 changing the attributes of a spool file 256 changing the contents of a record 54 changing the contents of control words 114 changing the filename of a spool file 257 changing the Program Status Word (PSW) in your virtual machine 325 changing the spool class of a file 256 changing the spoolid of a file 256 changing virtual storage locations in your virtual machine 324 Channel Address Word (Cl W) 114 displaying 272 Channel Status Word (CSW) 114 displaying 272 CHANNELS operand of (CP) QUERY command 297 of DEFINE command 265 channel-to-channel adapters, virtual, connecting 261 character delete logical editing symbol 49 character set 17 character string translation 120 character strings, replacemen~ of 54 Index 413 character translation 91 character translation tables, APL, controlling 331 characters of a record, moving to different positions 91 CBARDEL operand, of TERKINAL command 331 CLASS operand of (CP) QUERY command 299 of CBANGE command 256 of PURGE command 295 of SPOOL command 319 of the TRANSFER command 338 class privilege for CP commands 13 for CP commands 243 spool, changing for a file 256 virtual device spool, modifying 318 CLEAR operand of FILEDEF command 133 of IPL command 282 of the SYSTEK command 327 CLEAR option of INCLUDE command 150 of LOAD command 161 of SYNONYK command 208 clearing a file definition set by FILEDEF 138 clearing interrupts from a virtual machine 310 clearing storage to zeros 150,161,282,327 clearing synonyms from a synonym table 208 CLOSE command CONSOLE operand 258 described 258 DIST operand 259 NAKE operand 259 ROBOLD operand 258 PRINTER operand 258 PUNCB operand 258 PURGE operand 259 READER operand 258 summary 245 CLOSE operand, of SPOOL command 321 closing a virtual device 318 closing files 258 CKS (§~g Conversational Konitor System) CKS assemble file defaults 86 CKS command language, basic description of 13 CKS commands immediate 77 summary of 73 using READCARD command 46,62 using TAPE command 45 using TAPPDS command 45 CKS Editor described 52 used to create files 33 CKS files relationship to DOS files 132 relationship to OS data sets 132 CKS libraries 18 CKS subcommand, of EDIT command 120 CKSBATCB command described 88 summary 73 COBOL command, summary 73 414 COL option, of TYPE command 224 COL1 option, of TAPPDS command 218 command environment CP 15 defined 15 switching 15 VK 15 command execution, halting 238 command language CKS, basic description of 13 CP, basic description of 13 command name 16 com.and operands 16 com.and options 17 defined 17 command search order CKS for filetype EXEC 20 for filetype KODULE 20 levels of search in 21 nucleus resident commands 20 transient area com.ands 20 command, mode, EDIT 52 commands abbreviation of 19,69 CKS search order for 20 summarized 73 CP, privilege classes for 13 interrupting the execution of 22 minimum truncation for 19,69 notational conventions for 69 summary of use 341 system-defined 15 truncation of 19 used for debugging, summary of 343 used for disk control, summary of 345 used for testing, summary of 343 used to control a terminal session, summary of 341 used to control a virtual machine, summary of 346 used to develop programs, summarized 342 used to update files, summary of 344 user-defined 15 comments control statement, for UPDATE command 230 comments, how to write 17 COKP operand, of KACLIB co •• and 170 compacting members in a macro library 170 COKPARE command described 89 summary 73 comparison of CP and CKS debugging facilities 356 compiling, loading, and starting execution of a file 195 compressing a file 91 COKPSWT, CKS macro instruction 365 CONCAT option, of FILEDEF command 135 concatenating data sets 135 concatenating files 135 conditional assembly statements, assembler, controlling the listing of 82 configurating virtual machines addresses 67 device types 67 IBK VK/370: Command Language Guide for General Users connecting a remote terminal to a virtual machine 269 virtual channel-to-channel adapters 261 console input/output, terminating- 318 CONSOLE operand of (CP) QUERY command 297 of CLOSE command 258 of DEFINE command 264 of SPOOL command 319 console sheet, annotation of 249 spool file 12 modifying 318 spooling, controllinq 318 virtual~ what you should know before using 48 constants, altering using LOAD command 166 CONT operand, of SPOOL command 319 continuation mark, example of entering 56 continuous reading of an entire file 318 control card /*, for the CMS batch facility 358 /SET for the CMS batch facility 359 control functions for tapes 213 setting for your virtual machine 312 Control Program, basic description of 11 control statements for DDR command 104 for the UPDATE command 226 control words, changing and examining the contents of 114 controlling a terminal session, summary of commands used 341 devices on your virtual machine 13 listing of conditional assembly statements 82 number of lines printed by the assembler 83 program development, summary of commands used for 342 the listing of assembler diagnostics messages 83 the listing of inner macro instructions 83 the production of the assembler listing 83 Conversational Monitor System basic description of 11 card reader 46 tape handling 45 transferring reader files 46 unit record support 46 CONVERT command, summary 73 converting BCD characters to EBCDIC characters 95 key punch characters 91 COpy function control statement, of DDR cOllmand 107 COpy operand of CHANGE command 256 of SPOOL command 321 COPYFILE command APPEND option 96 described 91 EBCDIC option 95 examples of 99 FILL option 96 FOR option 93 FRLABRL option 93 FROM option 93 incompatible options listed 99 LOWCASE option 95 LRECL option 93 NEWDATE option 93 NEWFILE option 95 ROPROMPT option 93 NOSPECS option 98 NOTRUNC option 94 NOTYPE option 93 OLDATE option ql OVLY option 96 PACK option 94 PROMPT option 93 RECFM option 93 REPLACE option 95 responses 101 specification list 97 SPECS option 96 summary 73 TOLABEL option 93 TRANS option 98 TRUNC option 93 TYPE option 93 UNPACK option 95 UPCASE option 95 copying data from one file to another 91 files from one device to another 104 correcting errors on an input line 48 COUNT option, of DDR command TYPE/PRINT function control statement 110 COUPLE command described 261 summary 245 CP (§gg Control Program) CP and CMS commands, entering 16 CP command described 263 description of 103 entering from the VM environment 263 environment 15 privilege classes for 13,241 privilege classes, described 243 summary 73,245 CP mode, on virtual console 59 CP/CMS, as an integrated command language 15 CPEREP command, summary 73 creating a file 52 using the Editor in INPUT mode 16 a load map of a file 162 a map of a load module 151 a map of files in a TEXT library 221 a program file, example of 56 a SYNONYM file 20 an auxiliary directory 145 an EXEC file containing of output froll the LISTFILE command 158 files 33,118 files on disk 189 macro libraries 170 Index 415 reference information about members of macro library 170 user file directory (ACCESS com.and) 78 cross-reference table, assembler, controlling the listing of 84 CSECTs, duplicate, for the LOAD command 163 CSW (Channel Status Word) 114 csw operand of DISPLAY command 274 of TRACE command 335 CSW subcommand, of DEBUG command 115 CTCA operand, of DEFINE co •• and 265 CTL option of UPDATE co •• and 226 detailed description of 232 current line pointer 119 described 53 moving down in a file 54 moving up in a file 54 cylinders, counting number of on a virtual disk 142 D DAM DOS access method 41 DASD Dump Restore program, invoking via the DDR command 104 DASD operand, of (CP) QUERY com.and 297 data extents for DOS files 41 data·set keys 41 data set labels 41 data sets, concatenating 135 data, overlaying in a file 91 DATE option, of LISTFILE command 158 DCP command, summary 245 D-disk 27 accessed after IPL CMS 80 DnR command COpy function control statement 107 COUNT option of TYPE/PRINT function control statement 110 description of 104 DUMP function control statement 107 example of TYPE/PRINT output 111 GRAPHIC option of TYPE/PRIBT function control statement 110 HEX option of TYPE/PRINT function control statement 110 IBPUT control statement 105 PRINT function control statement 109 responses 110 RESTORE function control statement 107 summary 73 SYSPRINT control statement 106 TYPE function control statement 109 used with OS data sets and DOS files 40 DDR control statements 104 DEBUG command 13 described 114 sumllary 73 DEBUG subcommand environment 16 DEBUG subcomllands, listed 115 debugging a program using VM/370 351 facilities of CP and CMS, compared 356 programs using the DEBUG com.and 114 summary of commands used for 343 416 DECK option, of the ASSEMBLE command 84 default file attributes, summarized 405 DEFINE command 29 adding temporary disks 31 CHANNELS operand 265 CONSOLE operand 264 CTCA operand 265 described 264 GRAF operand 265 LINE operand 265 PRINTER operand 264 PUNCH operand 264 READER operand 264 STORAGE operand 266 summary 245 TIMER operand 265 T2305 operand 266 T2314 operand 266 T2319 operand 266 T3330 operand 266 T3340 operand 266 use 59 used to define a temporary virtual disk 27 1403 operand 265 3211 operand 265 DEFINE subcommand, of DEBUG command 115 defining a virtual device 264 a virtual I/O device for your virtual machine 265 DOS files under CMS 132 OS data sets under CMS 132 temporary virtual disks 29 virtual disk addresses 28 DEL operand of MACLIB command 170 of TXTLIB command 220 delete control statement, for UPDATE command 229 DELETE subcommand, of EDIT command 120 deleting a line from a file 54 files from virtual disk 125 from a TEXT library 220 members of a macro library 170 records from a file 118,229 delimiting fields of command line 17 DEN option of FILEDEF command 135 TAPE command 214 density of tapes, specifying 214 description of OS data sets, listing of 155 DETACH command described 267 summary 245 detaching a device from your virtual machine 267 determining the status of devices on your virtual machine 297 developing program files, summary of commands used for 342 device-end interrupt pending for a virtual device, specifying 308 devices attaching to virtual machine 59 defining for virtual machine 59 IBM VM/370: Command Language Guide for General Users linking to 59 linking to a virtual machine 284 making ready 59 tape devices for virtual machine 60 virtual purging from your system 295 simulating not ready status for 293 DIAL command described 269 summary 245 dictionary: for a TEXT library 221 DIRECT command, summary 73 directory, VM/370 user 11 DISABLE command, su.mary 245 disabled loop, in a problem program 353 disabled wait, for a problem program 354 DISCOII command 64 described 271 HOLD operand 271 summary 246 disconnecting the terminal 64 your virtual console 271 your virtual machine 288 disk addresses, for virtual disks 27 DISK command described 116 DUMP operand 116 LOAD operand 116 summary 73 disk control, summary of commands used for 345 disk files comparison of formats for 89 created from OS tapes 217 punching to a virtual card punch 116 disk identifier, for a virtual disk 27 disk letter, of filemode field 43 DISK operand of CMS QUERY command 186 of FILEDEF command 133 interactive use of 138 DISK option of MICLIB command 171 of QUERY command 32 of TAPE command 214 of the ASSEMBLE command 84 of UPDITE command 226 disk space, acquiring 78 disk storage capacity, displaying status of 186 disks determining status of 184 OS, reading as data sets on 40 releasing from your virtual machine 192 virtual deleting files from 125 formatting 51 initializing 142 DISP option, of FILEDEP command 134 DISPLAY command CAW operand 274 CSW operand 274 described 272 PSW operand 274 summary 246 displaying accounting information 312 BLIP characters for your virtual machine 184 Channel Address Word (CAW) 274 Channel status Word (CSW) 274 extended control registers 273 filenames on a tape disk 213 first record of a file 53 floating-point registers 273 general registers 273 last record of a file 53 load map at your terminal 162 map of a load module 151 names of members of a library 224 Program Status Word (PSW) 274 records in a file 54 selected positions of a record 224 virtual storage locations 272 DIST.operand of CHANGE command 257 of CLOSE command 259 distribution code, for an output file 257 DMCP command, summary 246 DOS disks accessing 80 formatting of 28 reading DOS files on 40 DOS files file-id 41 handled via PILEDEP and MOVBPILE commands 42 listing of 155 multivolumes 41 reading 40 restrictions for reading 41 under CMS 132 user labels and data extents 41 with security indicator on 41 DOS libraries 41 DOS POWER, spooling in a virtual machine 63 DOWN subcommand, of EDIT command 54,120 DRAIN command, summary 246 DUMMY operand, of PILEDEP com.and 133 DUMP command described 277 summary 246 DUMP function control statement, of DDR command 107 DUMP operand of DISK command 116 of TIPE command 212 format of tape created by 215 DUMP subcommand, of DEBUG command 115 dumping disk files to tape 104 files from disk to tape 212 DUP option of INCLUDE command 151 of LOAD command 163 duplicate CSECTs, for the LOID command 163 E EBCDIC option, of COPYPILE command 95 EBCDIC representation of a file, displaying 223 Index 417 ECHO command described 280 summary 246 E-disk 27 EDIT command 13,15 SOUP subcommand 123 SMOVE subcommand 123 1 subcommand 123 ALTER subcommand 119 AUTOSAVE subcommand 119 BACKWARD subcommand 119 BOTTOM subcommand 53,119 CASE subcommand 119 CHANGE subcommand 120 CMS subcommand 120 DELETE subcommand 120 described 118 DOWN subcommand 54,120 EDIT mode 52 example of 52 FILE subcommand 55,120 FIND subcommand 120 FMODE subcommand 120 FNAME subcommand 120 FORWARD subcommand 120 GETFILE subcommand 120 IMAGE subcommand 120 INPUT mode 52 INPUT subcommand 120 LINEMODE subcommand 120 LOCATE subcommand 121 LONG subcommand 121 LRECL option 119 NEXT subcommand 121 nnnnn subcommand 123 OVERLAY subcommand 121 PRESERVE subcommand 121 PROMPT subcommand 121 QUIT subcommand 121 RECFM subcommand 121 RENUM subcommand 121 REPEAT subcommand 121 REPLACE subcommand 121 RESTORE subcommand 121 RETURN subcommand 121 REUSE subcommand 121 SAVE subcommand 122 SCROLL subcommand 122 SERIAL subcommand 122 SHORT subcommand 122 STACK subcommand 122 summary 74 TABSET subcommand 122 TOP subcommand 53,122 TRUNC subcommand 122 TYPE subcommand 54,54,122 UP subcommand 54,122 used to create a SYNONYM file VERIFY subcommand 122 X subcommand 122 Y subcommand 122 ZONE subcommand 122 EDIT INPUT mode 16 EDIT mode 16 of EDIT command 52 EDIT subcommand environment 16 EDIT subcommands, listed 119 418 20 editing symbols controlling 331 logical, controlling use of 313 Editor described 52 invoking 52 EMSG operand, of CP SET command 313 ENABLE command, summary 246 enabled loop, in a problem program 354 enabled wait, for a problem program 355 END operand, of TRACE command 335 END option, of TAPPDS command 218 entering a CP command from a CMS virtual machine 103 a CP command from the VM environment 250,263 CP and CMS commands 16 the DEBUG environment 114 ENTRY control card, for the loader 166 EOF operand, of SPOOL command 320 EOF option, of TAPE command 214 EOT option, of TAPE command 214 equal sign (=), used in the filemode field 44 ERASE command described 125 NOTYPE option 125 summary 74 TYPE option 125 ERASE option, of ACCESS command 79 erasing old files 79 the contents of a virtual disk 28 error message handling, controlling 313 error recovery, in batch mode 361 errors, on an input line, correcting 49 escape logical editing symbol 49 ESCAPE operand, of TERMINAL command 332 ESD option, of the ASSEMBLE command 83 examining the contents of control words 114 EXEC command 13,15,15 &ARGS control statement 128 &BEGPUNCH control statement 128 &BEGSTACK control statement 128 &BEGTYPE control statement 128 &CONCAT built-in function 130 &CONTINUE control statement 128 &CONTROL control statement 128 &DATATYPE built-in function 130 &END control statement 128 &ERROR control statement 128 &EXIT control statement 129 &GOTO control statement 129 &IF control statement 129 &LENGTH built-in function 130 &LITERAL built-in function 130 &LOOP control statement 129 &PUNCH control statement 129 &READ control statement 129 &SKIP control statement 129 &SPACE control statement 129 &STACK control statement 129 &SUBSTR built-in function 130 &TIME control statement 130 &TYPE control statement 130 &variable control statement 128 IBM VM/370: Command Language Guide for General Users described 127 summary 74 used to invoke a user-defined command 18 EXEC control statements 18 listed 127 EXEC files as input to the CMS batch facility 359 created by LISTFILE command, adding to 158 created from output of the LISTPILE cOiimand 158 EXEC filetype 36 EXEC option, of LISTFILE command 158 EXEC procedure as a user-defined command 18 explicit specification of 18 EXEC procedures 36 EXEC subcommand environment 15 EXEC, PROFILE 18 executing a procedure by invoking its filename 127 a program using OS macros 39 a program using the LOAD command 162 a program, example of 58 a user-defined command 127 files 195 operating systems 65 programs 202 programs in a virtual machine, passing arguments 68 execution beginning with an INCLUDE command 151 halting at an instruction address 252 of a CMS command, halting 238 of a module, setting the starting point for 161 of a virtual machine, resuming 255 starting point resetting 150 setting 150 extended control registers changing your virtual machine 325 displaying 272 printing 277 extending one virtual disk from another 30,78 extensions, of virtual disks 30 EXTERNAL command described 281 summary 246 external interrupt, simulated 281 EXTERNAL operand, of TRACE command 335 External Symbol Dictionary (ESD) 83 F PCB operand, of LOADVPCB command 287 F-disk 27 PILE subcommand, of EDIT command 55,120 file access mode 28 definition, determining status of 184 entering continuation mark 56 example of entering at terminal 56 groups created by language processors 37 identifier (§~~ ~!§Q filemode field of filename field of filetype field of for eMS files fileid) 33 33 33 33 search order, specifying 44 FILEDEF command BLKSIZE option 136 BLOCK option 136 CHANGE option 135 CLEAR operand 133 CONCAT option 135 DEN option 135 described 132 DISK operand 133 DISP option 134 DUMMY operand 133 examples of 139 KEYLEN option 134 LIMCT option 134 LOWCASE option 134 LRECL option 136 MEMBER option 134 NOCHANGE option 135 OPTCD option 134 PERM option 135 PRINTER operand 133 PUNCH operand 133 READER operand 133 RECFH option 136 responses 140 summary 74 TAPEn operand 133 TERMINAL operand 133 TRTCH option 135 UPCASE option 134 used to define OS data sets 33 used with MOVEPILE to handle OS data sets and DOS files 42 used with OS data sets and DOS files XTENT option 134 7TRACK option 135 9TR!CK option 40 135 PILEDEF definitions clearing of 138 displayed 187 FILEDEF operand, CMS QUERY command 187 fileid 33 filemode field, of the file identifier 33 filemode number, of file mode field 43 filemode numbers defined 35 described 35 filemode described 34 explicit specification of 44 implicit specification of 44 filename field, of the file identifier 33 filename, described 33 FILES operand, of (CP) QUERY command 297 files adding records to 118 adding to 16 assembling, example of 57 changing records in 118 changing the spool class of 256 changing the spoolid for 256 closing 258 Index 419 CMS calculating blocksize 137 calculating logical record length 137 co.mands used to update, summary of 344 concatenating 135 copying 104 creating 16 example of 56 creation of 33,52,118 defined 12,33 definitions for, displayed 187 deleting from virtual disk 125 deleting lines from 54 deleting records from 118,229 disk, punching to a virtual card punch 116 displaying 223 displaying records in 54 displaying the first record of 53 displaying the last record of 53 distribution code for 257 executing, example of 58 external references for 19 holding before output processing 256 holding from further processing 258,318 input, for the UPDATE command 230 inserting records in 228 listing information on 157 loading, example of 58 modification of 33 modifying 16 moving from device to device 176 multiple linking of 150 used to update a file 226 numbering records on 226 on disk, dumping to tape devices 104 on tape, restored to disk 104 output, for the UPDATE command 230 overlaying 96 printing a hexadecimal listing of 180 printing of 179 processed by TAPE command, listed 214 punched, restoring to disk 116 punching on a virtual card punch 181 purging 258,318 relating to OS ddname 132 relocatable 19 renaming 193 displaying new names for 193 reordering closed spool files 294 replacing records in 229 saving on disk, via AUTOSAVE 119 sorting records in 200 source modifying 225 replacing 225 spool, changing filename for 257 starting execution of 195 storing 55 tape updating 218 writing to disk 213 terminating processing of 258 transferring to another user 318 transmitted, reclaiming 338 transmitting to a virtual reader 338 420 verifying the existence of 203 with reserved filetypes 407 filetype EXEC, in CMS command search order 20 filetype field, of the file identifier 33 filetype MODULE, in CMS command search order 20 filetype ASSEMBLE 36 described 34 EXEC 36 for files containing a listing 36 for object files 36 LISTING 36 MODULE 19,36 reserved by CMS 407 rules for usage 35 SYNONYM 20 TEIT 19,36 PILL option, of COPYPILE com.and 96 PIND subcommand, of EDIT co.mand 120 PLAG option, of the ASSEMBLE command 83 floating-point registers changing your virtual machine 325 displaying 272 printing 277 PLUSH command, summary 246 PMODE option, of LISTPILE command 158 PMODE subcommand, of EDIT co.mand 120 PNAME option, of LISTPILE co.mand 158 PNAME subcommand, of EDIT command 120 POR option, of COpy PILE command 93 PORCE command, summary 246 PORMAT command 28,29 description of 142 examples of 143 initializing a temporary disk 31 LABEL option 142 RECOMP option 142 response 143 summary 74 PORMAT option of LISTDS command 156 of LISTPILE command 158 formatting a CMS virtual disk 28,142 a disk in your virtual machine 51 forms controls for a 3211 printer, specifying 287 PORTGI command, summary 74 PORTHI command, summary 74 PORWARD subcommand, of EDIT command 120 PREE command, summary 246 PRLABEL option, of COPY PILE co.mand 93 PROM operand, of the TRANSPER command 338 PROM option of COPY PILE command 93 of GENMOD command 146 PSCB, CMS macro instruction 366 PSCLOSE, macro instruction 367 PSERASE, CMS macro instruction 368 PSOPEN, CMS macro instruction 369 PSREAD, CMS macro instruction 370 PSSTATE, CMS macro instruction 372 PSWRITE, CMS macro instruction 373 PTYPE option, of LIST PILE command 158 functions, tape control 213 IBM VM/370: Command Language Guide for General Users G gaining access to your virtual machine 290 gaining the attention of the virtual machine 309 G-disk 27 GEN operand of MACLIB command 170 of TXTLIB command 220 GENDIRT command description of 145 summary 74 general registers changing in your virtual machine 325 displaying 272 printing 277 general user, described 242 generating a heading for LISTFILE command output 157 a macro library 170 a module file 146 a TEIT library 220 generation of a module, initializing storage for 147 GENMOD command 19,36 description of 146 FROM option 146 MAP option 146 NOMAP option 146 NOSTR option 147 STR option 147 summary 74 SYSTEM option 147 TO option 146 GEN3705 command, summary 74 GETFILE subcommand, of EDIT command 120 GLOBAL command 18 described 148 example of 57,149 MACLIB operand 148 summary 74 TITLIB operand 148 used with OS data sets and DOS files 40 GO subcommand, of DEBUG command 115 GOFORT command, summary 74 GPR subcommand, of DEBUG command 115 GRAF operand of (CP) QUERY command 297 of DEFINE command 265 GRAPHIC option, of DDR command TYPE/PRINT function control statement 110 H HALT command, summary 246 halting execution at an instruction address 252 execution of a CMS command 238 recording of trace information 237 terminal output 237 hardware analysis, summary of commands used for 350 HEADER card format, for punch files 182 header card, inserting in a punch file 181 HEADER option of LISTFILE command 157 of PUNCH command 181 heading, generating for output of the LISTFILE command 157 HEI option of DDR command TYPE/PRINT function control statement 110 of PRINT command 180 of TYPE command 224 hexadecimal representation of a file, displaying 223 hiding your password 290 HNDEXT. eMS macro instruction 375 HNDINT, CMS macro instruction 376 HNDSVC, CMS macro instruction 377 HO command, summary 77 HO immediate command 237 HOLD command, summary 246 HOLD operand of CHANGE command 256,258 of DISCONN command 271 of LOGOFF cQmmand 288 of SPOOL command 319 holding a file before output processing 256 files from further processing 258,318 HT command, summary 77 HT immediate command 237 HI command, summary 77 HI immediate command 238 HI subcommand, of DEBUG command 115 I IBCDASDI disk initialization program 28 ICS (Include Control Section) control card, for the loader 165 ID card CP, described 189 of the batch facility 357 identifier, virtual disk 27 IEBPTPCH utility, as 217 IEBUPDTE utility, OS 217 IEHMOVE utility, as 217 IMAGE subcommand, of EDIT command 120 immediate commands, described 237 IMPCP operand of CMS QUERY command 185 of CMS SET command 199 IMPEl operand of CMS QUERY command 185 of CMS SET command 199 implied CP status displaying 185 setting 199 implied EXEC status displaying 185 setting 199 IMSG operand, of CP SET command 313 INC option, of UPDATE command 226 INCLUDE command 19 AUTO option 151 CLEAR option 150 description of 150 DUP option 151 examples of 153 INV option 151 LIBE option 151 MAP option 151 Index 421 NOAUTO option 151 NOCLEAR option 150 NODUP option 151 NOLIBE option 151 NOREP option 151 NOTYPE option 151 ORIGIN option 150 REP option 151 RESET option 150 SAME option 151 START option 151 summary 74 TYPE option 151 Include Control section (ICs) card, for the loader 165 incompatible options for the COPYFILE command 99 INDEX operand, for LOADVFCB command 287 initial program load (IPL) automatic, suppression of 290 of a virtual machine operating system 282 initializing a virtual disk 142 storage for generation of a module 147 inner macro instructions, assembler, controlling the listing of 83 INPUT control statement, for DDR command 105 input files for the UPDATE command, described 230 input for the CMs batch facility, EXEC files as 359 input lines correcting errors on 48 entering 53 INPUT mode, of EDIT command 52 INPUT operand of CMs QUERY command 186 of CMs SET command 198 INPUT subcommand, of EDIT command 120 input to the CMs batch facility 358 input/output operations, tracing 334 insert control statement, for UPDATE command 228 inserting a header card in a punch file 181 records in a file 228 INSTRUCT operand, of TRACE command 335 instructions, altering using LOAD command 166 interactive entering of FILEDEF DISK operand 138 interrupting execution of a command 22 interrupts clearing from a virtual machine 310 device-end, specifying for a virtual device 308 external, simulating 281 for a virtual machine 309 handling using the DEBUG command 114 tracing 334 INV option of INCLUDE command 151 of LOAD command 162 invoking a synonym table 208 invoking libraries for use during processing 148 422 invoking macro libraries 148 invoking TEXT libraries 148 invoking the Editor 52 I/O devices virtual defining for your virtual machine 265 spooling to 12 I/O operand, of TRACE command 335 IPL command CLEAR operand 282 described 282 example of 50 for named systems 283 NOCLEAR operand 282 PARM operand 282 STOP operand 282 summary 246 IPL procedure, stopping 282 IsAM DOS access method 41 IsAM 05 access method 41 K KEYLEN option, of FILEDEF command 134 keypunch characters, converting 91 keys for data sets 41 program function, controlling 314 storage, printing of 277 L LABEL option of FORMAT command 142 of LIsTFILE command 158 label for data sets 41 writing on a virtual disk 142 language processors file groups created by 37 files created by permanent 37 temporary 37 filetypes for 35,36 under CMs 13 LDRTBLs operand of CMs QUERY command 185 of CMs SET command 198 LEAVE option, of DDR command INPUT/OUTPUT control statement 106 LIBE option of INCLUDE command 151 of LOAD command 162 LIBMAC option, of the ASSEMBLE command 83 libraries CMs macros 45 displaying the filenames of members in 224 displaying those to be searched during processing 188 invoking for use during processing 148 MACLIB 44 macro, displaying the members of 188 making available 45 05 macros 44 IBM VM/370: Command Language Guide for General Users punching member files in 181 releasing 45 TEXT adding to 220 creating a map of files in 221 deleting from 220 dictionary 221 displaying members of 188 generating 220 listing filenames of members 220 TSO macros 45 TXTLIB 44 used under CMS 18 used when processing CMS commands 148 LIBRARY control card, for the CMS loader 161 library member, printing 180 LIBRARY operand, of CMS QUERY command 188 LIMCT option, of FILEDEF command 134 line delete logical editing symbol 49 line editing symbols, controlling 313 line end logical editing symbol 49 line length, controlling at your terminal 333 line number generation for assembler SYSTERM listing 85 LINE operand, of DEFINE command 265 line pointer current 119 described 53 LINECOUN option, of the ASSEMBLE command 83 LINEDEL operand, of TERMINAL command 332 LINEDIT operand, of CP SET command 313 LINEDIT, CMS macro instruction 378 LINEMODE subcommand, of EDIT command 120 LINEND operand, of TERMINAL command 332 LINES operand, of (CP) QUERY command 298 lines, controlling number of printed by assembler 83 LINESIZE operand, of TERMINAL command 333 LINK command adding temporary disks 31 described 284 passwords 285 summary 246 use 59 linking a device to your virtual machine 284 multiple files 150 TEXT files in storage 161 to another user's virtual disk 29 LINKS operand, of (CP) QUERY command 298 LIST option, of the ASSEMBLE command 83 LISTDS command description of 155 example of 156 FORMAT option 156 PDS option 156 summary 74 used with OS data sets and DOS files 40 LISTFILE command ALLOC option 158 APPEND option 158 DATE option 158 described 157 example of 159 EXEC option 158 FMODE option 158 FNAME option 158 FORMAT option 158 FTYPE option 158 HEADER option 157 LABEL option 158 NOHEADER option 157 summary 74 LISTING filetype 35,36 listing controlling production of by the assembler 83 descriptions of OS data sets and DOS files 155 hexadecimal, printing 180 information about CMS files 157 of files processed by the TAPE command 214 of format information describing an OS data set or DOS file 156 the assembler External Symbol Dictionary (ESD) 83 the filenames of members of a TEXT library 220 the members of an OS Partitioned Data Set 156 LKED command, summary 74 LOAD and GENMOD commands, used to generate a module 15 LOAD command 19,36 AUTO option 162 CLEAR option 161 described 161 DUP option 163 duplicate CSECTs 163 example of 58 executing a program using 162 INV option 162 MAP option 162 NOAUTO option 162 NOCLEAR option 161 NODUP option 163 NOINV option 162 NOLI BE option 162 NOMAP option 162 NOREP option 162 NOTYPE option 162 ORIGIN option 162 REP option 162 RESET option 161 START option 162 summary 74 TYPE option 162 LOAD control cards described 163 ENTRY card 166 Include Control Section (ICS) card 165 LIBRARY card 167 Loader Terminate Card (LDT) 165 Replace (REP) card 166 Set Location Counter (SLC) 164 LOAD key, simulation of via IPL command 282 load map file creation of 163 definition of 163 load map of a file, creation of 162 Index 423 load map creating for a module file 175 displaying at your terminal 162 generated by the GENMOD command 146 replace card image in 151 load module creating a map of 151 displaying the map of 151 lOAD operand of DISK command 116 of TAPE command 213 load tables, displaying the number of 185 lOADBUF command, summary 246 loader Terminate Card (lDT) control card, for the loader 165 loading a module file 169 loading a program, example of 58 loading an operating system in a virtual machine 50,60 loading multiple TEXT libraries 150 loading point for a file, specifying 162 loading TEXT files into virtual storage 161 lOADMOD command described 169 summary 74 lOADVFCB command described 287 FCB operand 287 INDEX operand 287 summary 246 lOCATE command, summary 246 lOCATE subcommand, of EDIT command 121 location counter, setting for the LOAD Command 164 lOCK command, summary 246 logging off of your virtual machine 58,288 logging on your virtual machine 50,290 logical editing symbols altering 331 character delete 48 controlling 331 controlling use of 313 escape 48 line delete 48 line end 48 used to alter a file being edited 53 logical record length changing 91 for CMS files 137 logically connected terminal 269 lOGMSG operand, of (CP) QUERY command 306 lOGOFF command described 288 HOLD operand 288 summary 246 lOGON command described 290 MASK operand 290 NOIPl operand 290 summary 246 logon procedure, hiding your password during 290 lONG subcommand, of EDIT command 121 loop disabled, in a problem program 353 enabled, in a problem program 354 424 lOWClSE option of COPYFIlE command 95 of FIlEDEF command 134 lowercase letters converting to uppercase 91 translating to uppercase 119 using PRINT command 180 lowercase records, translating to uppercase 118 lRECL option of COPYFIlE command 93 of EDIT command 119 of FIlEDEF command 136 M machine, determining the status of virtual devices on 297 MlClIB command lDD operand 170 COMP operand 170 DEL operand 170 described 170 DISK option 171 GEN operand 170 MlP operand 170 PRINT option 171 REP operand 170 summary 74 TERM option 171 MlClIB libraries 44 MlClIB operand of CMS QUERY command 188 of GLOBAL command 148 macro definitions, controlling the listing of 83 macro libraries adding to 170,172 compacting 173 compacting members of 170 creating and updating 170 creating information about members in 170 creation of 148 deleting members of 170 displaying members of 188 generating 170,171 invocation of 148 replacing 172 replacing members of 170 macros CMS 363 COMPSWT 365 FSCB 366 FSCLOSE 367 FSERlSE 368 FSOPEN 369 FSRElD 370 FSSTlTE 372 FSWRITE 373 HNDEXT 375 HNDINT 376 HNDSVC 377 lINEDIT 378 PRINTl 390 PUNCHC 392 RDClRD 393 RDTlPE 394 IBM VM/370: Command Language Guide for General Users RDTERM 396 REGEQU 397 TAPECTL 398 WAITD 400 WAITT 401 WRTAPE 402 WRTERM 404 OS assembling a program using 39 executing a program using 39 simulated by eMS 38 using under CMS 37 manipulating the translate table 198 MAP operand of MACLIB command 170 of TITLIB command 221 KAP option of GENMOD command 146 of INCLUDE command 151 of LOAD command 162 map of a load module, displaying 151 of files in a TEIT library, creating 221 MA SK operand of LOGON command 290 of TERMINAL command 332 lIasking of passwords, controlling 331 your password during the logon procedure 290 master file directory 12 of a virtual disk 27 searching 78 updating entries in 193 MAITEN option, TAPPDS command 219 MCALL option, of the ASSEMBLE command 83 MEMBER option of FILEDEF command 134 of PRINT command 180 of PUNCH command 181 of TYPE command 224 MESSAGE command described 292 summary 247 message handling, error, handling 313 MESSAGE operand, OPERATOR command 292 messages controlling transmission of 312 replying to 59 sending to other users 292 Mini disks (§~g virtual disks) minimum abbreviation for commands, controlling 185,198 minimum truncation of commands 19 MLOGIC option, of the ASSEMBLE command 83 MODE operand, of TERMINAL co~and 23,333 MODE option, of DDR command INPUT/OUTPUT control statement 106 mode setting of virtual console 22 MODESET operand, of TAPE command 213 modifying files 33 using the Editor in EDIT mode 16 source files 225 spooling control options 318 storage, using ADSTOP command 252 virtual device attributes 318 MODMAP command described 175 summary 75 module file creating a load map for 175 generation of 146 MODULE filetype 19,35,36 module generation of by LOAD and GENMOD loading in storage 1n169 19 ;1 ",...,,~ ~_ """It. _ _ ....... _ _ u~cu Q~ Q ~VWWQUU ,~ MONITOR command, summary 247 MOVEFILE command default device attributes 176 described 176 example of 177 PDS option 176 summary 75 used with FILEDEF to handle OS data sets and DOS files 42 used with OS data sets and DOS files 40 moving files from device to device 176 strings of characters 91 MSG operand, of CP SET command 312 multilevel updates using the UPDATE command, examples of 234 multiple files linking of 150 used to update a file 226 multiple input lines, entering 53 multivolume DOS files 41 N NAME operand of CHANGE command 257 of CLOSE command 259 named systems, IPL command for 283 NAMES operand, of (CP) QUERY command 306 naming files 33 NCPDUMP command, summary 75 NETWORK command, summary 247 NEWDATE option, of COPYFILE command 93 NEWFILE option, of COPYFILE co~mand 95 NEIT subcommand, of EDIT command 121 nnnnn subcommand, of EDIT command 123 NOALIGN option, of ASSEMBLE command 85 NOALOGIC option, of the ASSEMBLE command 83 NOAUTO option LOAD command 162 of INCLUDE command 151 NOCC option, of PRINT command 180 NOCHANGE option, of FILEDEF command 135 NOCLEAR operand, of IPL command 282 NOCLEAR option of INCLUDE command 150 of LOAD command 161 NOCOLl option, of TAPPDS command 218 NOCONT operand, of SPOOL command 319 NOCTL option, of UPDATE command 226 NODECK option, of the ASSEMBLE command 84 NODISK option, of ACCESS command 79 NODUP option of INCLUDE command 151 of LOAD command 163 NOEND option, of TAPPDS command 219 Index 425 IOEOF operand, of SPOOL command 320 IOESD option, of the ASSEMBLE command 83 MOBElDER option of LISTFILE command 157 of PUNCH command 181 MOBOLD operand of CHANGE command 257 of CLOSE command 258 of SPOOL command 320 MOIMC option, of UPDATE com.and 226 MOINV option, of LOlD command 162 NOIPL operand, of LOGON command 290 MOLIBE option of INCLUDE command 151 of LOAD command 162 NOLIBMAC option, of the ASSEMBLE command 84 NOLIST option, of the ASSEMBLE command 83 MOMAP option GENMOD command 146 of LOAD command 162 NOMAXTEN option, of TAPPDS command 219 NOMCALL option, of the ASSEMBLE command 83 NOMLOGIC option, of the ASSEMBLE command 83 NONUMBER option, of ASSEMBLE command 85 NOOBJECT option, of the ASSEMBLE command 84 NOPDS option, of TAPPDS command 218 NOPRINT option of TAPE command 214 of the ASSEMBLE command 84 NOPROF option, of ACCESS command 79 NOPROMPT option, of COPYFILE command 93 NORENT option, ASSEMBLE command 86 NOREP option of INCLUDE command 151 of LOAD command 162 of UPDATE command 225 NORLD option, of ASSEMBLE command 83 NORUN operand, of TRACE command 335 NOSEQ8 option, of UPDATE command 226 NOSPECS option, of COPY FILE command 98 NOSTD option, of SYNONYM command 208 NOSTK option of UPDATE command 226 detailed description of 233 NOSTMT option, of ASSEMBLE command 85 NOSTR option, of GENMOD command 147 notational conventions 69 NOTERM operand, of SPOOL command 322 NOTERM option of ASSEMBLE command 85 of UPDATE command 226 NOTRANS operand, of CP SET command 313 NOTREADY command described 293 summary 247 NOTRUNC option, of COPYFILE command 94 MOTYPE option of COPYFILE command 93 of ERASE command 125 of INCLUDE command 151 of LOAD command 162 of RENAME command 193 NOUPDIRT option, of the RENAME command 193 NOWTM option, of the TAPE command 214 NOXREF option, of the ASSEMBLE command 84 426 nucleus protection against writing over 199 protection feature, displaying status of 186 number of cylinders on a virtual disk, resetting 142 NUMBER option, of ASSEMBLE command 85 numbering records of your file 226 o object data, generated by language processors 37 object deck, assembler, controllin'g the generation of 84 OBJECT option, of the ASSEMBLE command 84 OFF operand of SPOOL command 321 of the ADSTOP command 252 of TRACE command 335 OLDATE option, of COPYFILE co •• and 93 operands, command 17 operating system for a virtual machine, passing parameters to 282 initial program load for 282 loading in your virtual machine 50 OPERATOR operand, of MESSAGE command 292 operator, sending messages to 292 OPTCD option, of FILEDEF command 134 options, command 17 ORDER command described 294 summary 247 ORIGIN option of INCLUDE command 150 of LOAD command 162 ORIGIN subcommand, of DEBUG command 115 OS cards, contained in a TEXT library 221 da ta sets handled via FILEDEF and MOVEFILE commands 42 reading 40 restrictions for reading 41 under CMS 132 disks accessing 80 formatting of 28 reading OS data sets on '40 job stream, for alternating operating system execution 66 macros assembling a program using 39 executing a program using 39 simulated by CMS 33 simulated by CMS 38 using under CMS 37 Partitioned Data Sets, specifying via FILEDEF 135 programs, using under CMS 37 spooling in a virtual machine 63 tapes containing Partitioned Dats Sets 217 used to create CMS disk files 217 utility IEBPTPCB 217 IBM VM/370: Command Language Guide for General Users IEBUPDTE 217 IEHMOVE 217 OUTPUT control statement, for DDR command 105 OUTPUT operand of CMS QUERY command 186 of CMS SET command 198 output control options for the assembler 83 files for the UPDATE command, described 230 from the batch facility 360 OVERLAY subcommand, of EDIT command 121 overlaying data in a file 91 files 96 OVLY option, of COpy FILE command 96 P PACK option, of COPYFILE command 94 parameters, passing to a virtual machine operating system 282 PARM operand, of IPL command 282 Partitioned Data Sets generating a listing of members 156 OS tapes containing 217 passing parameters to your virtual machine operating system 282 password controlling masking of 331 entering at your virtual console 48 hiding during logon procedure 290 with the LINK command 285 PDS option of LISTDS command 156 of MOVEFILE command 176 of TAPPDS command 217 PERM option, of FILEDEF command 135 permanent files created by language processors 37 virtual disks, defined in the VM/370 directory 28 PFnn operand of (CP) QUERY command 299 of CP SET command 314 PLIC command, summary 75 PLICR command, summary 75 PLIOPT command, summary 75 pointer current line 119 to the current line, described 53 positioning of tapes 213 PRESERVE subcommand, of EDIT comamnd 121 primary user disk 27 PRINT command CC option 179 described 179 HEX option 180 MEMBER option 180 NOCC option 180 summary 75 PRINT function control statement, of DDR command 109 PRINT option of MACLIB command 171 of TAPE command 214 of the ASSEMBLE command 84 of UPDATE command 226 printer (3211), virtual, specifying forms controls for 287 printer files, virtual, altering the attributes of 256 PRINTER operand of (CP) QUERY command 298 of CHANGE command 256 of CLOSE command 258 of DEFINE command 264 of FILEDEF command 133 of PURGE command 295 of SPOOL command 319 of TRACE command 335 printer, virtual, spooling to 214 printing a CMS file 179 a hexadecimal listing of a file 180 a member of a library 180 records at the printer 104 at the terminal 104 the contents of virtual machine components 277 the Program status Word (PSW; 277 virtual storage keys 277 virtual storage locations 277 PRINTL, CMS macro instruction 390 PRIV operand, of TRACE command 335 privilege classes for CP commands 13 defined 243 summarized 243 privileged instructions, tracing 334 problem analysis 352 problem determination, description of process for 351 problem program ABEND 353 disabled wait 354 enabled wait 355 PROFILE EXEC 18,79 definition of 79 execution of 79 for reconnected virtual machine 65 program ABEND 353 program function keys, controlling 314 PROGRAM operand, of TRACE command 335 program products, using under CMS 43 Program Status Word (P SW) 114 changing your virtual machine 325 displaying 272 printing 277 programs, beginning execution of 202 PROMPT option, of COPYFILE command 93 PROMPT subcommand, of EDIT command 121 PROTECT operand of CMS QUERY command 186 of CMS SET command 199 protecting against writing on nucleus 199 PSW (Program Status Word) 114 PSi operand, of DISPLAY command 274 PSi subcommand, of DEBUG command 115 PUNCH command description 181 HEADER card format 182 HEADER option 181 Index 427 MEMBER option 181 NOHEADER option 181 sUllllary 75 punch files, virtual, altering the attributes of 256 PUNCH operand of (CP) QUERY command 298 of CHANGE com.and 256 of CLOSE command 258 of DEFINE com.and 264 of FILEDEF command 133 of PURGE command 295 of SPOOL command 319 PUNCHC, CMS macro instruction 392 punched files, restoring to disk 116 punching a file on a virtual card punch 181 a member of a library file 181 disk files to a virtual card punch 116 PURGE command ALL operand 295 CLASS operand 295 described 295 PRINTER operand 295 PUNCH operand 295 READER operand 295 summary 247 PURGE operand of CLOSE command 259 of SPOOL command 321 purging files 258,318 virtual devices from your system 295 Q QUERY command (CMS) ABBREV operand 185 BLIP operand 184 described 184 DISK operand 186 FILEDEF operand 187 IMPCP operand 185 IMPEX operand 185 INPUT operand 186 LDRTBLS operand 185 LIBRARY operand 188 MACLIB operand 188 OUTPUT operand 186 PROTECT operand 186 RDYMSG operand 184 REDTYPE operand 185 RELPAGE operand 185 SEARCH operand 186 summary 75 SYNONYM SYSTEM operand 187 TXTLIB operand 188 used to find the read/write status of a virtual disk 32 used with OS data sets and DOS files 40 QUERY command (CP) ALL operand 298,298 CHANNELS operand 297 CLASS operand 299 CONSOLE operand 297 DASD operand 297 described 297 428 FILES operand 297 GRAF operand 297 LINES operand 298 LINKS operand 298 LOGMSG operand 306 NAMES operand 306 PFnn operand 299 PRINTER operand 298 PUNCH operand 298 READER operand 298 SET operand 297 STORAGE operand 298 summary 247 TAPES operand 298 TERMINAL operand 297 TIME operand 297 UR operand 298 USERS operand 306 VIRTUAL operand 297 QUIT subcommand, of EDIT command 121 R RDCARD, CMS macro instruction 393 RDTAPE, CMS macro instruction 394 RDTERM, CMS macro instruction 396 RDYMSG operand CMS SET command 197 of CMS QUERY cOllmand 184 READ control card format 191 READCARD command 46,62 described 189 format of operands 190 summary 75 reader files, virtual, altering the attributes of 256 READER operand of (CP) QUERY command 298 of CHANGE cOllmand 256 of CLOSE command 258 of DEFINE command 264 of FILEDEF command 133 of PURGE command 295 of SPOOL command 319 reading an entire file continuously 318 cards from a remote station 62 cards from a virtual card reader 116 cards in a virtual machine 62 DOS files on DOS disks 40 restrictions for 41 OS data sets on OS disks 40 restrictions for 41 records from a virtual card reader 189 read/only status of virtual disks 31 read/write access, with LINK command 285 read/write status of virtual disks 31 alteration of 30 READY command described 308 summary 247 use 59 Ready Message CMS, described 51 displaying 184 setting 197 IBM VM/370: Command Language Guide for General Users real computer RESET button, simulating 327 RESTART button, simulating 327 RECFM option of COPYFILE command 93 of FILED!F command 136 RECFM subcommand, of EDIT command 121 reclaiming transmitted files 338 RECOMP option, of FORMAT command 142 record format, changing 91 recording technique taper specifying 214 recording trace information for SVC instructions 204 records changing the contents of 54 displaying selected positions of 224 in a file, numbering 226 REDTYPE operand, of CMS QUERY command 185 REDTYPE option, of CMS SET command 199 references, undefined, resolving via LOAD command 162 REGEQU, CMS macro instruction 397 registers extended control displaying 273 printing 277 floating-point displaying 273 printing 277 general displaying 273 printing 277 relating an OS ddname to a CMS file 132 RELEASE command 29 described 192 summary 75 used with OS data sets and DOS files 40 releasing a disk from your virtual machine 192 pages of storage after command execution 185,198 virtual disks 29 RELPAGE operand of CMS QUERY command 185 of CMS SET command 198 Remote Spooling Communications Subsystem 11 receiving files 323 spooling to remote locations 12 TAG command 328 transmitting files 323 remote terminal, connecting to a virtual machine 269 re.oving a virtual device from your virtual machine 267 RENAME command described 193 NOTYPE option 193 NOUPDIRT option 193 summary 75 TYPE option 193 UPDIRT option 193 renamed file, displaying new name for 193 renaming your files 193 RENT option, ASSEMBLE command 86 RENUM subcommand, of EDIT command 121 REP (Replace) control card, for the loader 166 REP operand, of MACLIB command 170 REP option of INCLUDE command 151 of LOAD command 162 of UPDATE command 225 REPEAT command, summary 247 REPEAT subcommand, of EDIT com.and 121 replace control statement for UPDATE command 229 image of in a load map 151 REPLACE option r of COPYFILE command 95 REPLACE subcommand, of EDIT command 121 replacing a source file 225 an input file with an output file 95 character strings 54 members in macro libraries 170 records in a file 229 replying to messages on virtual system console 59 REQUEST command described 309 summary 247 Request key 59 reserved filetypes, in CMS 407 RESET button, simulating 327 RESET command described 310 summary 247 RESET operand, of the SYSTEM command 327 RESET option of INCLUDE command '150 of LOAD command 161 resetting execution starting point 150 the number of cylinders on a virtual disk 142 resolving external references for a file 19 referenced TEXT files via the LOAD command 162 undefined references by INCLUDE command 152 via LOAD command 162 RESTART button, simulating 327 RESTART operand, of the SYSTEM command 327 RESTORE function control statement, of DDR command 107 RESTORE subcommand, of EDIT command 121 restoring dumped files on disk 212 files to disk from tape 104 punched files to disk 116 terminal output 239 restrictions for reading DOS files 41 for reading OS data sets 41 for use of CP and CMS commands in batch mode 360 results, unexpected in a problem program 353 resume execution of your virtual machine 255 tracing 238 use of your virtual machine after disconnecting it 271 retaining options set by an INCLUDE or LOAD command 151 Index 429 RETURN subcommand of DEBUG command 115 of EDIT co.mand 121 REUSE subcommand, of EDIT command 121 REWIND command described 311 summary 247 REWIND option, of DDR command INPUT/OUTPUT control statement 106 rewinding a real tape 311 ribbon, two-color, controlling use of 185 RLD option, of the ASSEMBLE command 83 RO command, summary 77 RO immediate command 238 RSCS (2~~ Remote Spooling Communications Subsystem) RT command, summary 77 RT immediate command 239 RUN command described 195 summary 75 RUN operand of CP SET command 313 of TRACE command 335 S SAME option, of INCLUDE command 151 sample program 55 SAVE subcommand, of EDIT command 122 saved systems, IPL command for 283 SAVENCP command, summary 75 S!VESYS command, summary 247 saving a file on disk 119 disk files on tape 104 virtual machine data 324 SCAN operand, of TAPE command 213 SCRIPT command, summary 75 SCROLL subcommand, of EDIT command 122 S-disk 28 accessed after IP CMS 80 SEARCH operand, of CMS QUERY command 186 search order for CMS commands 20 for files 44 of virtual disks 30 searching master file directory (ACCESS command) 78 TITLIB files for unresolved references 151 selected positions of a record, displaying 224 sending messages to other users 292 to the operator 292 sequence control statement, for UPDATE command 227 sequence numbers 226 SEQ8 option, of UPDATE command 226 SERIAL subcommand, of EDIT command 122 service representative, described 242 SET command (CMS) ABBREV option 198 AUTO READ option 199 BLIP option 197 430 described 197 determining status of SET operands for your virtual machine environment 184 IMPCP option 199 IMPEl option 199 INPUT option 198 LDRTBLS option 198 OUTPUT option 198 PROTECT option 199 RDYMSG option 197 REDTYPE option 199 RELPAGE option 198 summary 76 SET command (CP) ACNT operand 312 ASSIST operand 314 described 312 EMSG operand 313 IMSG operand 313 LINEDIT oeprand 313 MSG operand 312 NOTRANS operand 313 PFnn operand 314 RUN operand 313 summary 247 TIMER operand 314 WNG operand 312 set Location Counter (SLC) control card, for the loader 164 SET operand, of (CP) QUERY command 297 SET subcommand, of DEBUG command 115 setting CMS functions for your virtual machine environment 197 control functions for your virtual machine 312 the blip characters for your virtual machine 197 the number of loader tables 198 the starting point for execution 150,161 SHORT subcommand, of EDIT command 122 SHUTDOWN command, summary 247 simulating not ready status for a virtual device 293 the IEBUPDTE OS utility under CMS 218 the RESET button on a real computer 327 the RESTART button on a real computer 327 single line of input, entering 53 SIO operand, of TRACE command 335 SKIP operand, of TAPE command 213 SKIP option, of DDR command INPUT/OUTPUT control statement 106 SLEEP command described 317 summary 247 SO command, summary 77 SO immediate command 239 SORT command described 200 storage requirements 200 summary 76 sorting records in a file 200 source files modifying 225 replacing 225 IBM VM/370: Command Language Guide for General Users source symbol table, assembler, generation of 84 SPACE command, summary 247 specification list for COPYPILE command 97 specifying a device-end interrupt for a virtual device 308 carriage control characters, for PRINT command 179 first instruction to be executed in a file 101 the file mode field 43 the loading point for a file 162 SPECS option, of COPYFILE command 96 spool class for a file, changing 256 modifying 318 SPOOL command 62 CLASS operand 319 CLOSE operand 321 CONSOLE operand 319 CONT operand 319 COpy operand 321 described 318 EOP operand 320 HOLD operand 319 NOCONT operand 319 NOEOF operand 320 NOHOLD operand 320 BOTER! operand 322 OPP operand 321 PRINTER operand 319 PUNCH operand 319 PURGE operand 321 READER operand 319 START operand 321 STOP operand 322 sum.ary 247 SYSTE! operand 320 TER! operand 322 TO operand 320 use with TAG command 322 spool file 12 altering TAG information 330 changing filename for 257 changing the attributes of 256 console 12 reordering 294 spoolid 322 TAG co.mand 328 transmitting to remote locations 322 spool files, transmitting to remote location 329 spoolid number 322 spooling across a teleprocessing network 12 control options, modifying 318 summary of commands used 349 defined 12 disconnected terminal 64 DOS POWER spooling in a virtual machine 63 in a virtual machine 63 operator, described 242 OS spooling in a virtual machine to a virtual printer 214 to virtual I/O devices 12 63 virtual console I/O 61 with RSCS 12 STACK subcommand, of EDIT command 122 START command described 202 example of 58 summary 76,247 START operand, of SPOOL command 321 START option of IBCLUDE command 151 of LOAD command 162 starting point for execution of a module, setting 161 STATE command described 203 summary 76 used with OS data sets and DOS files 40 statement number generation, for assembler SYSTER! listing 85 status of virtual machine environment 184 status of your virtual machine, determining general information on 297 words, tracing 334 STCP command, summary 247 STD option, of SYNONY! command 208 STK option of UPDATE command 226 detailed description of 233 ST!T option, of ASSEMBLE command 85 STOP operand of IPL com.and 282 of SPOOL command 322 stopping the intial program load (IPL) procedure 282 STORAGE operand of (CP) QUERY command 298 of DEFINE command 266 storage clearing to zeros 161,282 keys, printing 277 locations, virtual, displaying 272 modification of 252 releasing pages of after command execution 185,198 STORE command described 324 summary 247 STORE subcommand, of DEBUG command 115 storing CPU status for virtual machine 326 files, using the EDIT FILE subcommand 55 virtual machine data 324 STR option, of GENMOD command 147 string translation, character 120 strings of characters, moving 91 subcommand environments, defined 15 sutcommands DEBUG BREAK 115 CAW 115 CSW 115 DEFINE 115 DU!P 115 GO 115 GPR 115 HIllS Index 431 listed 115 ORGIN 115 PSW 115 RETURN 115 SET 115 STORE 115 X 115 summary of CMS commands 73 of commands used for debugging 343 of commands used for disk control 345 of commands used for system and hardware analysis 350 of commands used for testing 343 of commands used to control a terminal session 341 of commands used to control a virtual machine 346 of commands used to control spooling 349 of commands used to develop programs 342 of commands used to update files 344 of CP commands 245 suppressing automatic IPL of a virtual machine operating system 290 the PROFILE EXEC 79 suspending trace recording 239 SVC instructions, tracing 204 SVC operand, of TRACE command 335 SVCTRACE command described 204 responses 205 summary 76 switching command environments 15 using the Attention key 22 SYNONYM and SET ABBREV commands, relationship between 209 SYNONYM command 20 CLEAR option 208 described 208 example of 211 NOSTD option 208 STD option 208 summary 76 SYNONYM operand, of CMS QUERY command 187 SYNONYM SYSTEM operand, of CMS QUERY command 187 synonym table clearing 208 creating 208 described 209 entries in 209 format for entries in 209 invoking 208 use of with SYNONYM command 20 SYNONYM, filetype 20 synonyms displaying user-defined 187 for commands 20 system, displaying 187 SYSPARM option, ASSEMBLE command 86 SYSPRINT control statement of DDR command 106 system analysis, summary of commands used for 350 system analyst, described 242 432 SYSTEM command CLEAR operand 327 described 327 RESET operand 327 RESTART operand 327 summary 248 system disk 28 SYSTEM operand, of SPOOL command 320 system operator, primary, described 242 SYSTEM option, GENMOD command 147 system programmer, described 242 system resource operator, described 242 system synonyms, displaying 187 system-defined commands 15 SYSTERM data set, assembler, writing of 85 SYSTERM listing assembler controlling line number generation 85 controlling statement number generation 85 SYSTERM options, assembler 85 T tab settings 118 TABSET subcommand, of EDIT command 122 TAG command altering TAG information 330 described 328 summary 248 transmitting files to remote location 329 use with SPOOL command 322 TAPCMD operand, of the TAPE command 213 TAPE command 45 DEN option 214 described 212 DISK option 214 DUMP operand 212 EOF option 214 EOT option 214 LOAD operand 213 MODESET operand 213 NOPRINT option 214 NOWTM option 214 PRINT option 214 SCAN operand 213 SKIP operand 213 summary 76 TAPCMD operand 213 TAPn option 214 TERM option 214 TRTCH option 214 WTM option 214 7TRACK option, 214 9TRACK option 214 tape control functions 213 restrictions when using 215 tape devices, dumping disk files to 104 tape files restoring to disk 104 updating 218 writing to disk 213 tape handling commands CMS 45 for virtual machine 60 IBM VM/370: Command Language Guide for General Users TAPE MAP described 214 generated by the TAPE command DISK option 214 tape marks, writing on tape 214 tape recording technique, specifying 214 TAPECTL, CMS macro instruction 398 TAPEn operand, of FILEDEF command 133 TAPES operand, of (CP) QUERY command 298 tapes density of, specifying 214 displaying the filenames on 213 positioning to a specified point 213 rewinding 311 writing tape marks on 214 7-track, specifying 214 9-track, specifying 214 TAPn option of TAPE command 214 TAPPDS command 218 TAPPDS command 45 COLl option 218 described 217 EID option 218 MAXTEI option 219 10COLl option 218 ROEID option 219 10MAXTEN option 219 10PDS option 218 PDS option 217 summary 76 TAPn option 218 UPDATE option 218 temporary disks adding 31 initializing 31 temporary files created by language processors 37 temporary virtual disks, defining via the DEFIlE command 29 TERM operand, of SPOOL command 322 TERM option of MACLIB command 171 of TAPE command 214 of UPDATE command 226 TERMINAL command APL operand 332 ATTI operand 333 CHARDEL operand 331 described 331 ESCAPE operand 332 LINEDEL operand 332 LINEND operand 332 LIIESIZE operand 333 MASK operand 332 MODE operand 23,333 summary 248 used to set the mode of your virtual console 23 TERMINAL operand of (CP) QUERY command 297 of FILEDEF command 133 of TRACE command 335 TERMINAL option, of ASSEMBLE command 85 terminal console, disconnecting from your virtual machine 271 control of attention handling 331 disconnected, log off 64 input/output processing, controlling 331 line length, controllinq 331 operating 47 output halting 237 restoring 239 remote, connecting to a virtual machine 269 session commands used to control, summary of 341 determining the length of time of 297 testing using the ECHO command 280 termina ting console input/output 318 processing of files 258 TEST option, of the ASSEMBLE command 84 TESTCOB command, summary 76 TESTFORT command, summary 76 testing summary of commands used for 343 your terminal 280 TEXT files linking in storage 161 loading into virtual storage 161 resolution of via the LOAD command 162 TEXT filetype 35,36 TEXT libraries adding to 220 deleting from 220 dictionary 221 displaying members of 188 generation of 220 invocation of 148 listing filenames of members 220 multiple, loading for execution 150 used to contain OS cards 221 TEXT, filetype 19 TIME operand, of (CP) QUERY command 297 time, determining length for a terminal session 297 TIMER operand of CP SET command 314 of DEFINE command 265 timer, virtual, controlling 314 TO operand of SPOOL command 320 of the TRANSFER command 338 TO option, of GENMOD command 146 tokens, in an EXEC control statement 127 TOLABEL option, of COPYFILE command 93 TOP subcommand, of EDIT command 53,122 TRACE command ALL operand 335 BOTH operand 335 BRANCH operand 335 CCW operand 335 CSW operand 335 described 334 END operand 335 EXTERNAL operand 335 INSTRUCT operand 335 I/O operand 335 NORUN operand 335 OFF operand 335 Index 433 PRINTER operand 335 PRIV operand 335 PROGRAM operand 335 RUN operand 335 SIO operand 335 summary 248 SVC operand 335 TERMINAL operand 335 trace information, halting recording of 237 tracing resuming after temporarily halting 238 suspending recording temporarily 239 SVC instructions 204 virtual machine activity 334 trailing fill characters, removing from records 91 TRANS option, of COpy FILE command 98 TRANSFER command 62 ALL operand 338 CLASS operand 338 described 338 FROM operand 338 summary 248 TO operand 338 transferring files to a virtual reader 338 files to another user 318 output of virtual machine 65 translate table displaying 186 manipulation of 198 translating character strings 120 characters 91 from lowercase to uppercase 119 from uppercase to lowercase 119 lowercase letters to upper letters, using PRINT command 180 records from lowercase to uppercase 118 from uppercase to lowercase 118 translation of CCW, controlling 313 TRTCB option of FILEDEF command 135 of TAPE command 214 TRUNC option, of COPYFILE command 93 TRUNC subcommand, of EDIT command 122 truncating commands 19,69 two-color ribbon, controlling use of 185,199 TITLIB command ADD operand 220 DEL operand 220 described 220 GEN operand 220 MAP operand 221 summary 76 TITLIB libraries 44 TITLIB operand of CMS QUERY command 188 of GLOBAL command 148 TYPE command COL option 224 described 223 BEl option 224 MEMBER option 224 summary 76 434 TYPE function control statement, of DDR command 109 TYPE option of COPYFILE command 93 of ERASE command 125 of INCLUDE command 151 of LOAD command 162 of RENAME command 193 TYPE subcommand, of EDIT command 54,122 TYPE/PRINT output of DDR command 111 T2305 operand, of DEFINE command 266 T2314 operand, of DEFINE command 266 T2319 operand, of DEFINE command 266 T3330 operand, of DEFINE command 266 T3340 operand, of DEFINE command 266 U undefined references in an INCLUDE command, resolution of 152 resolving via LOAD command 162 unit record devices, CMS 46 UNLOAD option, of DDR command INPUT/OUTPUT control statement 106 UNLOCK command, summary 248 UNPACK option, of COPY FILE command 95 unresolved references, in an INCLUDE command 151 unresolved TEIT files, resolved via the LOAD command 162 UP subcommand, of EDIT command 54,122 UPCASE option of COPY FILE command 95 of FILEDEF command 134 of PRINT command 180 UPDATE command control statements 226 CTL option 226 detailed description of 232 described 225 description of input files for 230 description of output files for 231 DISK option 226 error handling for 235 errors that can occur using 235 INC option 226 multilevel updates, examples of 234 NOCTL option 226 NOINC option 226 NOREP option 225 NOSEQ8 option 226 NOSTK option 226 detailed description of 233 NOTERM option 226 PRINT option 226 REP option 225 SEQ8 option 226 STK option 226 detailed description of 233 summary 76 TERM option 226 warnings by 235 UPDATE control statement comments 230 delete 229 IBM VM/370: Command Language Guide for General Users insert 228 replace 229 227 --_.::1-sequence .... _ , __ U}lUdl.t: ..Lvy for UPDATE command operations generating at your terminal 226 generating on disk 226 UPDATE option, of the TAPPDS command 218 updating files summary of commands used for 344 using multiple files 226 macro libraries 170 tape files 218 UPDIRT option, of RENAME command 193 uppercase character, translated to lowercase 119 uppercase letters, converting to lowercase 91 uppercase records, translating to lowercase 118 UR operand, of (CP) QUERY command 298 user file directory, creating 78 user label for DOS files 41 USER operand, of (CP) QUERY command 306 user-defined commands 15 how to write 18 user-defined synonyms, displaying 187 userid, entering at your virtual console 48 using OS macros under CMS 37 using OS programs under CMS 37 using program products under CMS 43 V VARY command, summary 248 VERIFY subcommand, of EDIT command 122 verifying the existence of a file 203 virtual console disconnecting from your virtual machine 271 mode setting 22 spooling 61,319 what you should know before using 48 virtual dev ices closing 318 defining 264 detaching from your virtual machine 267 determining number of for your virtual machine 297 determining the status of 297 purging from your system 295 removing from your virtual machine 267 simulating not ready status for 293 specifying a device-end interrupt for 308 virtual disk addresses, defining 28 virtual disk cylinders, counting number of 142 virtual disks access mode of 29 accessing 29 CMS disks 78 adding temporary disks 31 addresses of 27 allocating cylinders for 27 altering the search order of 30 CMS 12 eMS standard search order 30 CP and CMS access 31 defined 27 defining the size of 12 deleting files from 125 description of 11 erasing the contents of 28 extensions of ~V,~I finding the read/write status of 32 formatting 28,51 identifier 27 initialization of 142 linking to another user's 29 master file directory 27 maximum number allowed 27 read-only status of 30 read/write status of 30,31 releasing 29 resetting the number of cylinders on 142 search order for 30 temporary, defining 29 writing a label on 142 virtual I/O devices defining for your virtual machine 265 spooling to 12 Virtual Machine (VM) environment, entering CP commands from 250 virtual machine environment, determining the status of 184 Virtual Machine Facility/370, basic description of 11 virtual machine activity, tracing 334 alternating execution of operating systems 65 attaching devices 59 batch facility, described 357 components of 11 configuration, altering 264 configurations 67 controlling the devices on 13 defined 11 determining general information on the status of 297 device, linking to 284 disconnecting 288 disconnecting the terminal 64 execution 68 resuming 255 gaining access to 290 loading with operating system 50,60 logging off of 58,288 logging on 50,290 operating system, passing parameters to 282 placing in a dormant state 317 printing and punching 63 reading cards into 62 setting control functions for 312 spooling 63 storing information from 324 summary of commands used to control 346 transferring output 65 VIRTUAL operand, of (CP) QUERY command 297 Index 435 virtual printer (3211), specifying forms controls for 287 virtual printer, spooling to 214 virtual storage locations changing in your virtual machine 325 printing 277 virtual system console differences from real console 59 replying to messages 59 virtual timer, controlling 314 VM environment 15 entering a CP command from 263 VMFDUMP command, summary 76 VM/370 (§gg Virtual Machine Facility/370) VM/370 directory 11,28 entry, description of 29 for alternating operating system execution 67 VSAM DOS access method 41 VSAM OS access method 41 VSBASIC command, summary 76 VSBUTIL command, summary 76 W wait disabled, for a problem program 354 enabled, for a problem program 355 WAITD, CMS macro instruction 400 WAITT, CMS macro instruction 401 WARNING command, summary 248 warning messages, generation of for errors in UPDATE command execution 226 WNG operand, of CP SET command 312 writing cards to a virtual disk from a virtual card reader 116 comments in VM/370 17 tape files to disk 213 user-defined commands 18 WRTAPE, CMS macro instruction 402 WRTERM, CMS macro instruction 404 WTM option, of TAPE command 214 Y Y subcommand, of EDIT command Y-disk 27 accessed after IPL CMS 80 X subcommand of DEBUG command 115 of EDIT command 122 122 Z ZAP command, summary 76 Z-disk 27 zeros, clearing storage to 282,327 ZONE subcommand, of EDIT command 122 1 1403 operand, of DEFINE command 19E virtual disk address 28 accessed as Y-disk 80 190 virtual disk address 28 accessed as S-disk 80 191 virtual disk address 27 accessed as A-disk 80 192 virtual disk address 27 accessed as D-disk 80 265 3 3211 operand, of DEFINE command 265 3211 printer, virtual, specifying forms controls for 287 7 7TRACK option of FILEDEF command 135 of TAPE command 214 7-track tapes, specifying 214 9 x 436 XREF option, of the ASSEMBLE command 84 XTENT option, of FILEDEF command 134 9TRACK option of FILEDEF command 135 of the TAPE command 214 9-track tapes, specifying 214 IBM VM/370: Command Language Guide for General Users READER'S COMMENTS Title: IBM Virtual Machine Facility /370: Command Language Guide for General Users Order No. GC20-1804-3 Please check or fill in the items; adding explanations/comments in the space provided. Which of the following terms best describes your job? o Customer Engineer o o Engineer Instructor o o o Manager Mathematician Operator o Programmer o Sales Representative o Student/Trainee o o o Systems Analyst Systems Engineer Other (explain below) How did you use this publication? o Introductory text o Reference manual o Student/D Instructor text o Other (explain) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ .! • &. Did you find the material easy to read and understand? 0 Yes o No ( explain below) Did you find the material organized for convenient use? 0 Yes o No (explain below) 0 ~o ClIo c: 0 ({ 0 0 : : ~: .~ Specific criticisms (explain below) Clarifications on pages Additions on pages Deletions on pages Errors on pages Explanations and other comments: Thank you for your cooperation. No postage necessary if mailed in tht:; U.S.A. '-1 :3 GC20-1804-3 : l;- '0 • :J ·cc :-1 .~ • U)' YOUR COMMENTS PLEASE ... Your views about this publication may help improve its usefulness: this form will be sent to the author's department for appropriate action. Using this form to request system assistance and/or additional publications or to suggest programming changes will delay response, however. For more direct handling of such requests, please contact your IBM representative or the IBM Branch Office serving your locality. Your comments will be carefully reviewed by the person or persons responsible for writing and publishing this material. All comments or suggestions become the property of 18M. FOLD FOLD FIRST CLASS PERMIT NO. 172 BURLINGTON, MASS. BUSINESS REPLY MAIL co NO POSTAGE STAMP NECESSARY IF MAILED IN U.S.A. s: s: < POSTAGE WILL BE PAID BY ·'W '" :0 IBM CORPORATION :() .0 '3 : 3 VM/370 PUBLICATIONS " 24 NEW ENGLAND EXECUTIVE PARK Q) ':::1 :a. :r BURLINGTON, MASS. 01803 • Q) • :::I • to 'G) :c - .~ : CD ·:Q 'G) 'CD ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• :::I FOLD FOLD : - ·c :~ .~ • ell :"'0 · ~. ':::1 • r-+ 'CD :a. : 3' ·c :c.n :~ International BUllnell Machlnel Corporation Data Proceiling Dlvllion 1133 Weltchelter Avenue, White Plalnl, New York 10604 (U.S.A. only) 'G) :() • !'oJ :9 · ..... • (X) IBM World Trade Corporation 821 United Natlonl Plaza, New York, New York 10017 (International) '0 :w '';:'
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37 Producer : Adobe Acrobat 9.13 Paper Capture Plug-in Modify Date : 2009:09:09 17:44:47-07:00 Create Date : 2009:09:09 17:44:47-07:00 Metadata Date : 2009:09:09 17:44:47-07:00 Format : application/pdf Document ID : uuid:37406bbb-b15b-478c-83b6-8fb713612b72 Instance ID : uuid:c4f8815a-839f-40e9-a523-63a0f6fa37af Page Layout : SinglePage Page Mode : UseOutlines Page Count : 458EXIF Metadata provided by EXIF.tools