Text preview for : GC28-2032-6_Time_Sharing_System_Assembler_Programmers_Guide_Apr76.pdf part of IBM GC28-2032-6_Time_Sharing_System_Assembler_Programmers_Guide_Apr76 IBM 360 tss GC28-2032-6_Time_Sharing_System_Assembler_Programmers_Guide_Apr76.pdf
Back to : GC28-2032-6_Time_Sharing_ | Home
File No. S360-21
Order No. GC28-2032-6
Systems Reference Library
IBM Time Sharing System
Assembler Programmer's Guide
This publication explains the use of the Time Sharing System
(TSS) for assembler language programmers. It describes how to
assemble, store, and execute programs in TSS, introduces the com-
mand system, and explains the basic rules of task and data man-
agement. Numerous examples are given showing typical user-
system interaction. The appendixes include information on
assembler options, output, and restrictions, as well as program
SEVENTH EDITION (April 1976)
This is a revision of, and makes obsolete GC28-3032-5 and Technical News-
letter GN28-320L This new edition of the A,scillbler Programmer's Guide
includes revised user-system interaction examples and editorial changes,
and deletes an outdated appendi,.
This edition is current with Rele370 (TSS;370), and remains in eRect for all subsequent \ersions or modifi-
cations of TSS unless othen\ise noted. Significant changes or additions to
this publication will be prodded in IH~\\ t'ditions or Technical l'\ewsletters.
Requests for copies of IB\I publications should he made to your IS\\
repre,cntati\e or to the IS!>.I hr.mch office serving your locality.
A form is provided at the baek of this publication for readers' comments.
If the form has been remowd, c-ommt'nh may be addressed to IB\I Cor-
poration, Time Sharing System - Dep'lrtment 80\!, 113.1 \\'estchester
Avenue, \Vhite Plains, :\ew York 1060-1.
:e Copyright International Busill{,SS \bchill'" Cmporation 1967, 1968, 1970,
1971,1976
Preface
This publication is a guide to the use of the assembler but rather the use of the system. The assembler lan-
language facilities of TSS. It is intended for applications guage is specified in these publications:
programmers who code in the assembler language.
IBM Time Sharing System: Assembler Language,
The publication is divided into four parts.
GC28-2000
Part I is an overview of the Time Sharing System,
outlining the major concepts of the system. IBM Time Sharing System: Assembler User Macro
Part II describes the basic task and data management Instructions, GC28-2004
information you will need to use the system effectively:
You will also need to refer to:
how to execute tasks in conversational and nonconver-
sational mode, and how to name, catalog, store, and IBM Time Sharing System: Command System User's
manipulate your data sets. It also explains specific Guide, GC28-2001, for a complete description of
system facilities available to you as an assembler pro- the command system.
grammer.
Part III comprises a series of examples that illustrate
typical activities you will perform while using the sys- Associated Publications
tem. They begin with the most straightforward neces- Other publications you may wish to refer to for details
sities, such as logging on, and in succeeding examples not presented in this guide are:
progress to increasingly sophisticated concepts. These
IBM Time Sharing System: Terminal User's Guide,
examples may be read for instruction or used as models
GC28-20l7, for instructions on how to operate the
for accomplishing specific tasks.
various terminals supported by TSS.
Part IV is a set of appendixes containing additional
information on the use of the system. This reference IBM Time Sharing System: Linkage Editor, GC28-
material includes descriptions of assembler options, 2005, for a description of the linkage editor pro-
output, and restrictions, as well as explanations of pro- gram.
gram control system use, interrupt handling, and com-
IBM Time Sharing System: Data Management Fa-
mand creation.
cilities, GC28-2056, for a description of access
methods and data management facilities.
Prerequisite Publications Once you begin using the system, you will note
You must be familiar with the basic concepts and that a number of messages are issued by the system.
terminology of TSS as described in IBM Time Sharing For a detailed description of these messages and for
System: Concepts and Facilities, GC28-2003. information on any responses you may have to make
You should be familiar with the TSS assembler lan- to them, consult the publication IBM Time Sharing
guage, since this book does not describe the language System: System Messages, GC28-2037.
Contents
Part I: Introduction . 1 PUNCH Command . 21
The System and Your Relationship to It 1 Assembler Language Facilities 22
Communicating with the System 1 Input/Output During Program Execution .. 22
How You Gain Access to the System. 1 Conventional Problem Program Input/Output .. 22
Commands at Your Disposal .. 1 General Service Macro Instructions ........... . 23
How Storage is Handled. 2 DCB Macro Instruction. 23
Virtual Storage 2 DCRD Macro Instruction. 23
Sharing Time 2 OPEN Macro Instruction 23
Catalog and Library Concepts. 2 CLOSE .Macro Instruction. . ......... . 24
System Catalog 2 Duplexing a Data Set. . ............. . 24
Program Libraries 2 Dynamic Input/Output for the Assembler Language .. 24
How to Use This Manual. 2 GATRD ................................... . 26
GAT\VR 26
CT\VRC 26
Part n. How To Use TSS 3
GTWAR 26
Task Management 3 GTWSR 26
Conversational Mode 3 SYSIN 26
Initiating Your Task 3 PAUSE 26
Executing Your Task 3 COMMAND 26
Entering Commands 4 Communication with the Operator. 27
SYSIN and SYSOUT 4 Communication with the System Log 27
Assembling and Running a Program 4 Commands and Macro Instructions 28
Checking Out and Modifying Programs .. 4 Macro Instructions Used in Examples .. 34
Multitcrminal Task (MIT). 5
Nonconversational Mode 5
Initiating Your Task. 5 Part III. Examples 35
Executing Your Task 8 Example 1: Initiating and Terminating a Conversational
Terminatin(! Your Task. 8 Task ... . . .. ... 36
Mixing Modes' 8 Example 2: Assembling and Correcting from the Terminal 38
Remote Job Entry (RJE) 8 Example 3: Assembling and Executing. . .. 42
Task Management Commands .. 8 .Example 4: Corrccting and Reassembling a Prestored
Data Set Management. 10 Source Program 44
Naming and Cataloging Your Data Sets. 10 Example 5: Writing a Data Set and Printing It. 47
Naming Your Data Sets ... 10 Example 6: Reading and Writing Cataloged Data Sets. 49
System Catalog 10 Example 7: Multiple Assemblies and Program Linkage .. 51
Catalog Structure 10 Example 8: Use of PCS Immediate Statements 56
Generation Data Groups. 11 Example 9: Use of pes Dynamic Statements. 58
Cataloging Your Data Sets. 12 Example 10: Input and Output on Magnetic Tape 61
Data Set Organization. 12 Example 11: Conversatilmal Initiation of Nonconversational
Virtual Storage Data Sets. 12 Tasks 64
Physical Sequential Data Sets. 13 Example 12: Preparing a Job for Nonconversational Pro-
Data Set Residence .... . ..... 13 cessing 67
Maintainmg Program Librariers 13 Example 13: Storing DDEF Commands for Later Use .... 69
Using Public and Pnvate Volumes 14 Example 14: Writing and Updating Virtual Index Sequen-
Volume and Data Set Labels 14 tial Data Sets 71
Tailorjng TSS to Meet Your Needs 14 Example 15: Missing Subroutines 74
User Profile 14 Example 16: Entering Data for Later Use. 75
Defining Your Data Set. 15 Example 17: Data Set Considerations When Interrupting
Data Control Block. 15 Program Execution 77
Identification of Assembler Data Sets 17 Example 18: Sharing Data Sets 78
Data Definition Commands. 17 Example 19: SWitching Between Terminal and Card
System Inquiry Commands .. 17 Reader for Input 80
Data Set Establishment. 18 Example 20: Anticipating an Interrupt in a Nonconversa-
The Text Editor 18 tional Task 82
Prestoring Data in the System. 18 Example 21: Housekeeping 84
Data Command 18 Example 22: Use of Generation Data Groups. 86
Operator-Assisted Input 18 Example 2:}: Creating and Using a User Macro~Library. 89
Command Procedure Data Set 18 Example 24: Use of the Linkal!e Editor 92
Data Card Data Set 19 Example 25: Tape and Disk-Medium Transfers of Virtual
Sharing and Protecting Your Data Sets 19 Access Method Data Sets. 94
Data Set lIfanipulation 21 Example 26: The Text Editor Facility. 95
Copying, Modifying and Erasing Data Sets .. 21 Example 27: The Text Editor Facilitv. 96
Transferring Data to Standard Output Devices 21 Example 28: Use of Proccdure Definition (PROCDEF). 98
PRINT Command 21 Example 29: Use of the BUILTIN Procedure 99
~'T Command 21 Example 30: The User Profile Facility. 100
Part IV. Appendixes. 101 CALL Macro Instruction. 132
SAVE Macro Instruction 133
Appendix A. Use of the TSS Assembler 102 RETURN Macro Instruction. 133
Problem-Program Preparation 102 EXIT Macro Instruction. 133
Language Proce;,sing. . . 102 ABEND Macro Instruction .. 133
Langnage Processing in Conversational Mode 102 Object Module Combination 133
Language Processing in Nonconversational Mode . 103 Static Linking 134
Entry and Correction of Assembler Souree Statements 103 Dynamic Linking 135
Format of Source Lines 103 l'rogram Control System. 136
Input Sources 103 Program Control Commands 137
Statement Boundaries--Card Format 103 Program Control Statements 137
Continuation Lines-Card Format. 103 PCS and the Internal Symbol Dictionary 138
Character Sets-Card Format 104 Using PCS Without an ISD. . ...... . 138
Statement Boundaries-Keyboard Format. 104 Evaluating Expressions . . ... . 139
Continuation Lines-Kevb';ard Format .. 104 Floating-Point Constant Conversion 139
Character Sets-Keyboa~d Format 104 pes Diagnostics 139
I\Hxed Card and Keyboard Input 104 Miscellaneous Considerations 140
Caution When Changing Card-Origin Statements . 104 CALL, GO, and BRANCH Commands. 140
Efficient Correction Techniques .. . . . . . ..... . 105 AT Command 141
Entry of Keyboard Souree Statements for Later Punch- Operational Considerations 141
ing and Recompilation 106 Conversational Mode 141
Assembler Options and Related Output .. 107 Nonconversational Mode 141
Assembler Parameters 107
Explicity Defaulted 107
Implicity Defaulted 107 Appendix C. Programming Considerations. 142
Structure and Description of Assembler Listings .. 109 Writing Programs in TSS ............................. . 142
Source Program Listing . .... ......... .. 109 Creation of Unnamed Control Sections. 147
Object Program Listing 109 Pooling of Literals 147
Cross-Reference Listing .. . 113 System Macro Instruction Usage ... . ........... . 147
Symbol Table Listing .. . 114 Floating-Point Computations ............ ....... . 148
Internal Symbol Dictionary Listing .. 114 References to Module Names of Link-Edited Modules. 148
Program Module Dictionary Listing. 114 EXIT and PAUSE Macro Instructions ...... . 148
Destination of Output. .. ... . .... 116 Assembler Language Linkage Conventions .. 148
Object Program Module Format. 116 Linkage Conventions .. . ...... . .. . 148
Program Module Dictionary .. 116 Proper Register Usage. 148
Text.. . ... . . ..... . 116 Reserving a Parameter Area. 149
Internal Symbol Dictionary .. 117 Reserving a Save Area . . 149
Assembling in Express Mode .. . 117 CALL, SAVE, and RETURN Macro Instruction Usage 149
Assembler Restrictions .. . .. . 117 CALL Macro Instruction. ... . . . . . . .. . ...... . 149
Assembler Diagnostic Action. . . . . .. ..... 122 SAVE Macro Instruction 149
Use and Structure of a User Macro Library. 122 RETURN Macro Instruction .. 151
Reasons for Using a User Macro Library ..... . 122 Object Modules Initiated by a CALL C~~~~nd' 151
TSS Assembler Processing of Macro Definitions 123 Example of Module Interaction ............... . 152
Detailed Description of User Macro Library Creation Interroutine Communication ...... . 152
and Format 123 Shared Code (PUBLIC) Considerations. 156
Index Header ......... . 125 Efficient Use of Virtual Storage 157
Index Entry .... . . . . . . 125 Guidelines for Efficient Use ............... . 158
Control Section Names and Attributes. 126 Internal Organization of Program Modules .. 158
Shared Object Program Modules. 127 External Organization of Program Modules. .. . ... . 158
Programming Techniques . . .................... . 158
Control Section Rejection ~nd Linking Control Sections .. 159
Recovering from Errors When Dynamically Loading. 159
Appendix B. Problem Program Checkout and Library Management .. .. .......... . ..... . 160
Modification . . 128 Program Library List Control. 160
Program Versions 161
Assembler 128
Sharing Libraries 161
Prompting and Diagnostic Facilities. 128
System Naming Rules. 162
Conversational Mode, Source Statements from
User-Assigned Names 162
Terminal 128
Reserved Names 162
Conversational Mode, Source Statements from
External Symbols 162
Prestored Data Set. 129 Internal Symbols . .'. . ................ .
Nonconversational Mode, Source Statements from 162
Reserved Names Associated with Data Sets .. 162
SYSIN ... ...... . 130
Nonconversational Mode, Source Statements from
Presto red Data Set 130 Appendix D. Interrupt Considerations 164
Program Listings and Related Aids. 130 Program Interrupts 164
Linkage Editor .. . ..... 130 Attention Considerations 165
Prompting and Diagnostic Facilities. 130 Interrupting Execution 165
Program Listings and Related Aids 130 Levels of Interruption. 165
Object Program Module Linking. 130 Resuming Execution 165
Time Sharing System Program Structure 130 The Intervention Prevention Switch (IPS) 165
Symbolic Linkage 131 Writing Interrupt-Handling Programs .. 166
Linkage Conventions 131 Establishing Interrupt Routines .'. 166
Linkage Macro Instructions ... 132 Processing an Interrupt. 167
Appendix E. Data Set Characteristics