GC30 2004 6_OS_BTAM_Sep72 6 OS BTAM Sep72

GC30-2004-6_OS_BTAM_Sep72 GC30-2004-6_OS_BTAM_Sep72

User Manual: GC30-2004-6_OS_BTAM_Sep72

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

DownloadGC30-2004-6_OS_BTAM_Sep72 GC30-2004-6 OS BTAM Sep72
Open PDF In BrowserView PDF
File No. S360-jU
Order No. GC30-2004-6

Systems Reference Library

IBM System/3S0 Operating System
Basic TelecDmmunicatiDns Access Method
Program Number 360S-CO-513

This publication describes the Basic Telecommunications
Access Method (BTAM) available with Release 20.6/20.7
and Release 21 of the System/360 Operating System combined with the Independent Component Release containing
BTAM support for the IBM 3270 Display System. BTAM
provides facilities that enable an assembler-language
programmer to write a teleprocessing control program
that effects communications at the Read/Write level
between a System/360 and a variety of computers and
terminals connected to the System/360 over commoncarrier or private-wire communications networks.
BTAM provides similar facilities for the local IBM BTAM
3270 Display System. BTAM employs both start-stop
and binary synchronous communications (BSC) techniques, depending on the type of remote station.
Typical BTAM applications include data acquisition,
message switching, and inquiry processing.
The publication explains some concepts of teleprocessing and BTAM, describes line control and message
transmission techniques, and describes each of the BTAM
macro instructions and facilities needed to construct a
control program. The READ and WRITE macro instructions
applicable for each type of remote station and line
configuration are given, along with the channel programs generated for each type.
Prerequisite to use of this publication is a knowledge of System/360 assembler language and data management facilities.

Appendix J of this publication lists the types of terminals that
are supported by the Basic Telecommunications Access Method
component of the System/360 Operating System.
Terminals which are equivalent to those explicitly supported
may also function satisfactorily. The customer is responsible
for establishing equivalency. IBM assumes no responsibility for
the impact that any changes to the I BM-supplied products or
programs may have on such terminals.

Seventh Edition (September 1972)
This edition, GC30-2004-6, is a revision of GC30-2004-5 and associated
Technical Newsletters GN30-2551, GN30-2563, GN30-2568, GN30-2569,
GN30-2570, and GN30-2571. This edition applies to OS Release 20.6/20.7
and Release 21 combined with the Independent Component Release
containing BTAM support for the IBM 3270 Display System.
Significant changes or additions to the specifications contained in this
pUblication are continually being made. When using this publication in
connection with the use of IBM equipment, check the latest SRL Newsletter for revisions or contact the local IBM branch office.
Requests for copies of IBM publications should be made to your IBM
representative or to the IBM branch office serving your locality.
A form is provided at the back of this publication for reader's comments.
If the form has been removed, comments may be addressed to IBM
Corporation, Dept. 636, Neighborhood Road, Kingston, New York 12401.

© Copyright International Business Machines Corporation 1967, 1968, 1969, 1970

PREFACE
This publication describes the BTAM
facilities and macro instructions needed
to write an application program that
defines, activates, and controls a
System/360-based teleprocessing system
or local 3270 display system or both.
Effective use of this publication does
not presuppose a knowledge of
teleprocessing techniques, but it does
require a knowledge of the System/360
assembly language and of data management
techniques. The publication does not
contain detailed information on the
terminal equipment and computers that
may be used as remote or local stations
in a BTAM-controlled system.
For this
information, see the listing of
publications below.
This publication is organized as
follows:
~

Teleprocessing and BTAM Concepts
explains concepts of teleprocessing in
general, and of BTAM in particular, for
the reader who is not already familiar
with these concepts. This chapter also
defines many terms used throughout the
publication.

e Defining the TP System tells how to
define to the Operating System the
characteristics of the communications
lines and equipment comprising the teleprocessing system.
It includes information on the system generation procedure.
The DCB macro instruction, among others,
is given here.

o Buffer Hanagement tells how to construct
buffer pools and how to obtain and
release buffers as needed to accommodate
message data.
• Code Translation describes the facilities BTAM provides for accomplishing the
necessary translation between the transmission code used on communications
lines and the internal code of System/
360 (EBCDIC). Th~ ASMTRTAB and TRNSLATE
macro instructions are explained here.
~

Activating and Deactivating the TP Systemtells what procedures to follow in
initializing the user program prior to
message transmission, and in deactivating the system upon conclusion of message transmission. The OPEN, LOP EN , and
CLOSE macro instructions appear here.

o Line Control and Message Transmission
briefly explains the techniques for controlling communications lines of various
kinds (switched, nonswitched, contention, polling), and presents the READ

and WRITE macro instructions, used in
message transmission operations. Also
given are the WAIT, TWAIT, and RESETPL
macro instructions.
• Start-Stop Read and Write Operations
lists the types of Read and Write operations applicable to each type of remote
terminal, and give.s the channel program
for each.
• BSC Read and Write Operations lists the
types of Read and Write operations applicable to each kind of line configuration, gives the channel program for
each, and indicates the types of remote
stations for which each type can be
used.
o Local 3270 Display System Read and
Write Operations lists the types of
Read and Write operations applicable
to the local 3270 display system and
gives the channel program for each type.
o Error Recovery Procedures and Error
Recording explains the BTAM-provided facilities for diagnosing and attempting
to recover from a variety of error conditions, and for indicating and recording the occurrence of these errors.
• On-Line Testing describes the facilities
available for diagnosing line and equipment troubles.
• Sixteen appendixes appear at the back of
the publication; these show control
block, information table, macro instruction, and error message formats, and
code charts.
Before using this manual, the reader
should be familiar with the following
publications:
OS Assembler Language, GC28-6514
IBr1 System/360 Operating System: Supervisor Services and Macro Instructions,
GC28-6646
Os Data Management Services Guide,
GC26-3746
OS Data Management Macro Instructions,
GC26-3794
The BTAM user will also need the level
of knowledge of information contained in
the following publications that apply to
the transmission control units and terminals in his equipment configuration:

3

• Transmission Control units:
IBM 2701 Data Adapter Unit, Component
Description, GA22-6864
IBM System/360 Component Description:
IBM 2702 Transmission Control, GA22-6846
IBM System/360 Component Description:
IBM 2703 Transmission Control, GA27-2703
• Start-Stop Terminals:
IBM 1030 Data Collection System,
GA24-3018
IBM 1050 Reference Digest, GA24-3020
IBr.1 1050 System Summary, GA24-3471
IBM 1050 Data Communications System,
Principles of Operation, GA24-3474
IBM 1050 Operator's Guide, GA24-3125
IBM 1060 Data Communications System,
GA24-3034
IBM System/360 Component Description:
IBM 2260 Display Station; IBM 2848 Display Control, GA27-2700
IBM System/360 Component Description:
IBM 2265 Display Station; IBM 2846 Display Control, GA27-273l
IBM 2740 Communications Terminal,
GA24-3403
IBM 2740/2741 Communications Terminal
Operator's Guide, GA27-300l
IBM 2760 Optical Image Unit Component
Description, GA27-301l

IBM System/3 RPG-II Telecommunications
Programming Reference Manual, SC21-7507
IBM 1130 Functional Characteristics,
GA26-5881
IBM 1130 Synchronous Communications
Adapter Subroutines, GC26-3706
IBM 2770 System Components, GA27-3013
IBM 2780 Data Transmission Terminal,
Component Description, GA27-3005
IBM 2790 Data Communication System, Component Description, GA27-30l5
IBM 2972 Models 8 and 11 General Banking
Terminal System, Component Description,
GL27-3020
IBM 50 Magnetic Data Inscriber, Component Description, GA27-2725
IBM 3270 Information Display System,
Component Description, GA27-2749
IBM 3735 Programmable Buffered Terminal
Concept and Application, GA27-3043
IBM 3735 Programmer's Guide, GC30-3001
• Local 3270 Display System:
IBM 3270 Information Display System,
Component Description, GA27-2749
To assemble, linkage edit and execute a
BTAM program requires knowledge of the
information in:

• BSC Stations:
OS Linkage Editor and Loader, GC28-6538
IBM SRL General Information -- Binary
Synchronous Communications, GA27-3004

4

OS System Generation, GC28-6554

CONTENTS

TELEPROCESSING AND BTAM CONCEPTS • . • •
Categories of Communications Lines • • •
Line and Station Configurations
•
Duplex Vs. Half-Duplex Transmission •
Transmission Techniques
.•
Transmission Codes •
• •
Line Control. • • • • • • • •
• •
Establishing Contact
•••
Switched Lines. •
• ~
Terminal Lists. •
. •••••
Positive and Negative Responses
Buffering • . • • • • • • . • • • . • •
Dynamic Buffering
••.•••••
Conventions Used in this Publication • •
BTAM MACRO INSTRUCTION FORMATS .
Positional Operands
Keyword Operands •
Continuation Lines
Coding Aids • • • •

11
11
11
14
14
14
14
15
16
16
16
17
17
18

21
• • 21
21
21
• 22

DEFINING THE TELEPROCESSING SYSTEM •
23
Defining Communications Line Groups
23
DCB (Define Data Control Block)
Macro Instruction • • • • . • •
25
Defining and Modifying Terminal Lists • 35
DFTRMLST (Define Terminal List)
Macro Instruction
• • • . . • 35
CHGNTRY (Change Terminal Entry)
Macro Instruction
37
BUFFER MANAGEMENT
• • • .
• •
Constructing Buffer Pools
Using the BUILD Macro Instruction •
Using the GETPOOL Macro Instruction
BTAM Construction of Buffer Pools •
Programmer Buffering •
.•.••
Dynamic Buffering
• • • •.
Read Operations • • • •
Write Operations •
• . • • • ••
Buffer Management Macro Instructions •
REQBUF (Request Buffer) Macro
Instruction • • • • • • • • • .
RELBUF (Release Buffer) Macro
Instruction
•
CODE TRANSLATION • •
ASMTRTAB (Assemble Translation
Table) Macro Instruction • •
TRNSLATE Macro Instruction •

39
39
39
39
39
39
40
40
43
43
43
44

• • 45
45
• • 45

ACTIVATING AND DEACTIVATING THE
49
TELEPROCESSING SYSTEM . • • • •
49
Program Initialization .
Opening and Closing Line Group Data
49
Sets . • • • • • • • • .
OPEN Macro Instruction . •
· • 50
LOPEN Macro Instruction
• • 51
CLOSE Ma€ro Instruction . • • •
51
LINE CONTROL AND MESSAGE TRANSMISSION
Line Control

• 53
· 53

Contention System • • • • • • .
Centrally-Controlled System . • •
Switched Systems • • • • • • • • •
Error Detection and Message Blocking
Channel Programs • • . • • • • • • •
Message Transmission • . • • . • • • •
User Program Analysis • • • • • •
Use of Line Control Characters • •
Terminal Lists • • . • • • . . • •
Data Event Control Block • • • • •
READ and WRITE Macro Instructions
RESETPL (Reset Polling List or
Reset Line) Macro Instruction
WAIT Macro Instruction • •
· •
TWAIT Macro Instruction
• •
Read Skip Operations • • . • • • •

•
•
•
•
•
•
•
•
•
•

53
53
54
54
54
54
55
55
56
56
57

•
•
•
•

63
64
65
65

START-STOP READ AND WRITE OPERATIONS • •
IBM 1030 Data Collection System
Defining Terminal Lists
•
Read Operations •• • • •
Write Operations . . •
•••••
READ Macro Instructions
•
WRITE Macro Instructions • •
• •
IBM 1050 Data Communications System -Nonswitched Lines
• •
Defining Terminal Lists
•
Read Operations
• • •
Write Operations . • • .
• • •
READ Macro Instructions
. •
• •
WRITE Macro Instructions
IBM 1050 Data Communications- System -Switched Lines • • • • . • • • • • • •
Defining Terminal Lists
• •
Read Operations
• • •
Write Operations • . . . • • • • • •
READ Macro Instructions • • • • • •
WRITE Macro Instructions . • • • • . •
IBM 1060 Data Communication System • • •
Defining Terminal Lists • • • • •
Read Operations • • .
•
Write Operations • . . . • • •
READ Macro Instructions
WRITE Macro Instructions •
• • •
IBM 2260-2848 Display Complex (Remote)
IBM 2265-2845 Display Complex (Remote) •
Defining Terminal Lists . • • •
•
Read Operations
• •
Write Operations • • • . • • • • • •
READ Macro Instructions . • • •
•
WRITE Macro Instructions .
•
IBM 2740 Communications Terminal
General Information
•
IBM 2740 (Basic) • • • • .
•
READ Macro Instructions
• •
WRITE Macro Instructions
.••••
IBM 2740 with Checking Feature •
•
READ Macro Instructions
• •
WRITE Macro Instructions • • •
••
IBM 2740 with Dial-up Feature • • • • •
Defining Terminal Lists
• •
Read Operations • . . . •

67
67
67
67
67
67
67

0"

69
69
69
69
69
69
71
71
71
71
71
72
74
74
74
74
74
74
76
76
76
76
76
78
80
82
82
82
83
83
83
85
85
85
5

Write Operations • . . . . . . • . . 85
READ Macro Instructions • • • • . . . 85
WRITE Macro Instructions • . . . • . . 85
IBM 2740 with Dial-up and Checking
Features • • . • . • • • .
· 86
Defining Terminal Lists • . • • • · . 86
Read Operations
· • 86
Write Operations • • • • .
· . 86
READ Macro Instructions
• . 86
WRITE Macro Instructions •
· . . 86
IBM 2740 with Dial-up and Transmit
Control Features • • . • .
· • • 88
Defining Terminal Lists
· . . 88
READ Macro Instructions . . . . • • . 88
WRITE Macro Instructions
• • • . . 88
IBM 2740 with Dial-up, Transmit
Control, and Checking Features . . • • . 90
Defining Terminal Lists
· • 90
READ Macro Instructions
· . 90
WRITE Macro Instructions
• . 91
IBM 2740 with Station Control Feature · 92
Defining Terminal Lists
· . 92
Read Operations
• 92
Write Operations • . •
· . 92
READ Macro Instructions
• . 92
WRITE Macro Instructions •
· • 92
IBM 2740 with Station Control and
Checking Features . • . .
• • 93
Defining Terminal Lists
. . 93
Read Operations • . . . • . • • • • 93
Write Operations • . . • • • • • . • 93
READ Macro Instructions
• 93
WRITE Macro Instructions
. . 93
IBM 2760 Optical Image Unit - General
Information • • • • • • • . • .
. 95
Operation and Message Formats
• • 95
Filmstrip Positioning . . • .
. . 95
Modes of Operation • . • • • . . • • • 95
Response Points and Coordinates
96
Image Index Counter
. . • . . 97
Message Formats . . • • • •
. • 98
Signals to Operator . • • • • • • • . 99
Error Detection and Recovery .
. • 99
On-Line Testing • • . • • • .
. .100
Prog+amming Considerations
.lOl
IBM 2740 with Checking Feature and 2760
Optical Image Unit • • • . • .
. .104
READ Macro Instructions
• . 104
WRITE Macro Instructions. .
. . . 104
IBM 2740 with Dial-up and Checking
Features and 2760 Optical Image Unit . . 107
Defining Terminal Lists . . . • . • . 107
READ Macro Instructions • • • . . • . 107
WRITE Macro Instructions. • • .
.108
IBM 2741 Communications Terminal
. . 111
G~neral Information
• . 111
READ Macro Instructions
• . 112
WRITE Macro Instructions
. . 112
Disigning a Message Control Routine .113
Programming Considerations • . . . • . 113
AT&T 83B3 Selective Calling Stations . . 116
Defining Terminal Lists
. • • 116
Read Operations
. . 116
Write Operations. • .
. .116
READ Macro Instructions
. • 116
WRITE Macro Instructions
• . 116
Terminal-to-Terminal Operation
. • 116
WU Model 33/35 TWX Terminals • .
. .118
.6

Defining Terminal Lists • . • • . . • 118
Read Operations
. . • • . • . 118
Read Conversational Operation • • • 118
Write Operations . . .
. .118
READ Macro Instructions . . . . . . . 118
WRITE Macro Instructions . . . . . • . 119
Western Union Plan lISA Outstations . • 120
Defining Terminal Lists
. • 120
Read Operations
• .120
Write Operations. . .
. .120
READ Macro Instructions
.120
WRITE Macro Instructions. .
. .120
Terminal-to-Terminal Operation
. • 120
World Trade Telegraph Term~nals
. • 122
General Information . . . . •
• .122
Telegraph Adapter Description . • • 122
Contention Resolution
. • 122
Defining Terminal Lists
• .123
READ Macro Instructions
. • 123
WRITE Macro Instructions
•• 124
Programming Considerations for use of
Auto Poll (Start-Stop) . . . .
. .125
Channel Programs . . . .
. .125
BSC READ AND WRITE OPERATIONS
· .127
General Information • . . . .
· .127
Transmission Codes • . . . .
· .127
Remote Station Compatibility and
Intermixing . . . . . .
. .127
User Program Analysis
• • • . • 127
Line and Message Control Functions • . 128
ID Verification
. . . . • • • 128
Error Inform~tion Byte (EIB) Mode .128
Double Addressing (Multipoint
Lines) . • . . . • . . • . . • • . • 129
Message Formats • . . • . . • • . . . 129
Use of Line Control Characters • . . 130
Use of SOH and STX Characters . . • 130
Coordinating BSC Central and Remote
Programs • . . • . . • . .
. .130
Responses
. • . .
• .130
Responses to Message Text
.130
Responses to ENQ
•• 131
Responses to EOT (Switched Line
Only)
• • • • . . .
· .131
BSC Npnswitched Point-to-Point
Operation . • . . . . • •
. .132
READ Macro Instructions
. . 132
WRITE Macro Instructions
•• 133
BSC Nonswitched Multipoint Operation . • 136
Defining Terminal Lists
. • 136
READ Macro Instructions . . . • . . .136
WRITE Macro Instructions . . . . • • . 138
BSC Switched Point-to-Point Operation .142
Defining Terminal Lists.
. .144
Defining Terminal List (SWLST) for
Expanded ID Verification
. . • • • 145
READ Macro Instructions
• .148
WRITE Macro Instructions
. • 151
.156 .. 1
LOCAL READ AND WRITE OPERATIONS
.156.1
Local IBM 3270 Display System
.156.1
READ Macro Instructions
.156.1
WRITE Macro Instructions
PROGRAMMING CONSIDERATIONS FOR REMOTE
COMPUTERS . • . • . • . .
. • • • .157
IBM 2780 DATA TRANSMISSION TERMINAL -PROGRAMMING CONSIDERATIONS . • . • • • .159

Initiating Transmission to an IBM 2780 .159
End-to-End Control Characters
•• 160
Component Selection • • • •
• .161
Horizontal Format Control
.162
Multiple Record Transmission.
• .163·
Programming Considerations • •
• .165
IBM 2790 DATA COMMUNICATIONS SYSTEM •• 167
2715 Pulse Count Feature. •
• .167
2715 Tables
• • • 170
Macro Instructions .
.173
programming Notes • • • •
• • 182.5
Message Format • • •
• • 182.7
Control Transactions .
• • 182.13
External Alarm Contact Feature •• 182.14
IBM 2770 DATA COMMUNICATION SYSTEM
PROGRAMMING CONSIDERATIONS •
System Configuration • • • . •
Transmission Codes • • • • • •
Terminal Polling and Selection
Temporary Transmission Delays
Terminal Function Control • • • •
Field-Control Operation
Record Formats • • • • •

.183
· .183
.183
• .183
• .184
.185
.186
• .187

IBM 2972 GENERAL BANKING TERMINAL
SYSTEM -- PROG&M4MING CONSIDERATIONS •• 189
IBM 3735 PROGRAMMABLE BUFFERED TERMINAL -PROGRAMMING CONSIDERATIONS
• • • • • 190
IBM 3270 DISPLAY SYSTEM -- PROGRAMMING
CONSIDERATIONS. • • • • • •
.190.1
3270 Devices Supported. • •
• .190.1
3270 Capabilities Supported
• • • 190.1
Remote 3270 Display System . • • • • • 190.1
Defining Communications Line Groups.190.l
Defining and Modifying Terminal
Lists • • • • • • • . ••
• •• 190.1
Defining Terminal Lists
.190.2
Modifying Terminal Lists.
.190.3
Buffer Management . • • • •
.190.3
Code Translation • • • • • •
.190.3
Activating and Deactivating the
Teleprocessing System
• . • • • 190.4
Line Control and Message
Translation • • • •
.190.4
Read Operations • • • • • • • • • 190.4
Write Operations.
. .190.8
Programming Notes
. • 190.9
Error Recovery Procepures and Error .
Recording • • • • • • • .
.190.9
Error Conditions. • •
• .190.9
Exceptional Conditions.
.190.9
Retry Options • • • • • •
.190.9
On-Line Testing • • • • • • • • • • 190.9
Local 3270 Display System
• 190.10
Defining the Local 3270 Display
System • • • . • • • • • • • • • • 190.10
Identifying Local 3270 Devices. 190.10
Grouping Local 3270 Devices
190.10
Buffer Management • • • • • • • • 190.11
Code Translation . • • • • • • • • 190.11
Activating and Deactivating the Local
3270 Display System • • • • • • • 190.12
Attention Interruptions and Read
Initial Operations • • • • • • • • 190.12

CHGNTRY Macro Instruction
• 190.12
RESETPL Macro Instruction
. 190.13
Read and Write Operations
• • 190.13
Read Operations •• • • •
• 190.14
write Operations. • • . •
• 190.15
Error Recovery Procedures and Error
Recording • • • •
• • • • 190.16
Retry Options
• 190.16
On-Line Testing
190.16
System Generation
• 190.16
Storage Estimates
••
190.16
Fixed Main Storage Requirements • 190.16
Dynamic Main Storage Requirements. 190.16
Auxiliary Storage Requirements •• 190.18
Storage Estimates for BTAM
Modules
• • • •
• 190.18
On-Line Testing
. • • • 190.18
Conversion • • • .
190.18
ERROR RECOVERY PROCEDURES AND ERROR
RECORDING
• • • • • . • • • .191
Basic Functions • • • • • • •
. .192
Additional Functions. • • • .
• .192
LERB (Line Error Recording Block)
Macro Instruction . • • •
.192
LERPRT (Line Error Recording
Print) Macro Instruction. •
.194
Error Detection and Analysis. • •
.194
User Program Analysis Procedure • • 195
BTAM ERP Error Analysis and Recovery
Actions • • • • • • • • • • • • • • • • 197
Start-Stop Error Recovery Procedures • • 198
Error Recovery Actions for Start-Stop
Operations • • • • • . • • • • • • • • 204
BSC Error Recovery Procedures • • • • • 208
Local 3270 Display System Error Recovery
Procedures • • • • • • • • • • • • • • 228.1
Errors Detected by the Device or Control
Unit and Channel Data Check Errors •• 228.1
Error Conditions
• • • • • • • • 228.1
Recovery Actions • • . • • • • • • • 228.1
Errors. Detected by the Channel (Except
Channel Data Check Errors • • • • • • 228.3
Error Conditions.
.228.3
Recovery Actions. • • •
• .228.3
SUGGESTED RETRY OPTIONS FOR BSC READ
AND WRITE OPERATIONS • • • • • • • • • • 229
SUGGESTED RETRY OPTIONS FOR LOCAL READ
AND WRITE OPERATIONS
.232.2
ON-LINE TESTING
.233
On-Line Testing for Start-Stop
Communications Lines • • • • • • • • • • 233
Test Type Codes •• • • • •
.234
Terminal Test Restrictions • • • • • • 236
On-Line Testing for Binary Synchronous
Communications Lines
• • 237
Types of Tests .
. • ••
.237
Type 00
• • 237
Type 01
• • 238
Types 02-34
• • • • • . 238
BTAM Responses to Reqeust-for-Test
Messages. • •
• • • • • • • • • • 238
BTAM Initiation of Request-for-Test
Messages • • • • •
.239

7

ONLTST (On-Line Test) Macro
Instruction • • • • • • • •
• .239
Formats of RFT, Test, and Console
Messages • • • • • • • • • •
• .241
Request-for-Test Messages
• • 241
Test Messages • • • • • •
• .242
Console Messages • • • • •
• .244
On-Line Testing for Local 3270 Display
System. • • • • • • • • • • •
• .246
Types of Tests • • • • • • •
• .246
BTAM Response to Request-for-Test
Messages • • • • • • • • • . • • • • • 246
Formats of RFT, Test, and Console
• .246
Messages • • • • • • • • •
• • • 246
Request-for-Test Message •
.246.1
Test Messages
.246.1
Console Messages • • • • •

IOCONTRL Macro Instruction.
.283
IODEVICE Macro Instruction • • • • • 283
APPENDIX E: CODE CHARTS FOR BINARY
SYNCHRONOUS COMMUNICATION AND THE
LOCAL 3270 DISPLAY SYSTEM • • • •

287

APPENDIX F: WORLD TRADE TELEGRAPH
TERMINALS: TRANSLATION TABLE
MODIFICATIONS • • • • . • • • • .

289

APPENDIX G: BTAM MACRO INSTRUCTION
FORMAT CHARTS • . • •

.291

APPENDIX H: BTAM CHARACTER SET AND
CODE CORRESPONDENCE CHART

• .295

APPENDIX I: TRANSMISSION CODE CHART

• • 306

APPENDIX A: FORMAT OF TERMINAL LISTS • • 247
APPENDIX B: DATA EVENT CONTROL BLOCK • • 257
Fields Defined by User. •
• .263
APPENDIX C: BTAM ERROR MESSAGES AND
ABEND CODES
• • • • • • 265
Assembly Errors
• • • • • • . • • .265
I/O Error Message • • • • • • • . • • ~272
Line Error Recording Messages
• • 273
Transmission Control unit Inoperative
Message • • • • . • • • • • • • •
.274
Remote BSC Station Error Messages
.275
Error Status Messages (IBM 2770) • • • 276.1
Terminal Error Status Message (IBM
2715)
~..........
. • • 276.1
Error Status Hessage (Remote IBM 3270) .277
BT Al'1 Abend Codes • . • • • • . • . . .278.2
APPENDIX D: SYSTEM GENERATION MACRO
INSTRUCTIONS • • • • • • • • •
• .283
TELCMLI~ Macro Instruction.
• .283
DATAMGT Macro Instruction . . • . • 283

8

APPENDIX J: LINE AND STATION
CONFIGURATIONS SUPPORTED BY BTAM •

.311

APPENDIX K: IBl-1 2980 CHARACTER SET AND
TRANSMISSION CODE CHART
.313
APPENDIX L: THE TPEDIT MACRO INSTRUCTION
(IBM 50 MAGNETIC DATA INSCRIBER) • • • • 319
APPENDIX M: SAMPLE 2715 TABLE LOAD MACRO
ASSEMBLY • • • • • • • • • • • • •
.329
APPENDIX N: SAMPLE START-STOP AND BSC
PROGRAMS • • • • •
• • • • • • • • .345
APPENDIX 0: LOCAL 3270 S~1PLE
PROGRAM • • • • . • • • . • •

.362.1

APPENDIX P: REMOTE 3270 SAMPLE
PROGRAM
. • • • • 362.31'
INDEX

• .363

INDEX OF BTAM AND SYSTEH HACRO
INSTRUCTIONS . . . • . •

.374.1

FIGURES

Figure 1. Basic Elements of a
Teleprocessing System • . . • . . . • . 12
Figure 2. Line and Sta,tion
Configurations . • . . • . .
• 13
Figure 3. Sample Line Addresses and
Associated TCU and Station Types
. 24
Figure 4. Sample Line Group Makeup . 25
Figure 5. Relative Line Numbers for
Example 1
.•..•..•...
· 25
Figure 6. Relative Line Numbers
for Example 2 • . . • . • . • . .
· 25
Figure 7. Constructing Buffer Pools
Using DS and BUILD • • . . . •
· 41
Figure 8~ Constructing ~uffer Pools
Using GETMAIN and BUILD . . . .
· 42
Figure 9. Constructing Buffer Pools
Using GETPOOL • . • • • . . . .
• 42
Figure 10. Constructing Buffer Pools
Automatically • ~ . . . . • . .
. 42
Figure 11. Establishing Addressability
for DCBs and DECBs • . . . . . . • . . 49
Figure 12. Initializing Your Program. 50
Figure 13. Formats of OPEN and
CLOSE Macro Instructions . • . . . . • 52
Figure 14. F (Function) Character
Codes . . .
. • . . . • .
95
Figure 15. A1/11 and A2 /12 Character
Codes . . . . . . . . • . . . . . • . . 95
Figure i6. V & H (Vertical &
Horizontal) Response Point
Coordinate Codes • . . . .
• 97
Figure 17. Message Formats.
· 99
Figure 18. Examples of WRITE TIO and
WRITE TCO Macro Instructions
. . 106
Figure 19. Examples of WRITE TIO,
WRITE TVO, and WRITE TCO
. • . . . 110
Figure 20. WT Telegraph Code . . • . . 122
Figure 21. Example of a BSC Message
Control Routine . . . • • . . .
. .131
Figure 22. Multipoint Polling/
Addressing Operations for 2780
• .160
Figure 23. Examples of Component
Selection for 2780 • . . . . . • . . . 162
Figure 24. Vertical Forms Control
Escape Sequences • • • • . .
· .162
Figure 25. Example of a 2780 Format
Record
. • . . . . . . • . . . 163
Figure 26. IBM 2780 Records: Number
.164
and Length . . . . • . . . .
Figure 27. Examples of Defining
.177
Transaction Groups for Data Entry
Figure 27.1. 2798 GDU Guidance
Panels
. . . . . . • . .
.180.6
Figure 28. Message Formats • . • . • 182.7
Figure 29.
IBM 2213 Vertical Forms
Control Escape Sequences
• .186
Figure 30. IBM 2265 Erase and
Write-at-Line Address Control
.187
Characters . . . . . • . . . .
Figure 3270-1. Control Unit Addresses
for Polling List Entries and for
Identification in Input Messages . . 190.2

Figure 3270-2. Control Unit Addresses
for Selection List Entries • . • . • 190.2
Figure 3270-3. Device Addresses. for
Polling and Selection List Entries and
for Identification in Input
Messages . • • • . • • • . • . . . . 190.2
Figure 3270-4. I/O Interface Code
for Six-Bit Structured Data • . . . • 190.3
Figure 3270-5. Sample Input Message
(showing translation from ASCII to
EBCDIC) . . . . • • • • • • . . • . . 190.4
Figure 3270-6. Sample Output Message
(showing translation from EBCDIC
to ASCII) . . . . • . . . . . . . . . 190.4
Figure 3270-7. Sample Local 3270
Display Systems Showing Device
Addresses . . . . . • . • • . . • • 190.10
Figure 3270-8. Line Groups and
Relative Line Numbers for
Example 1 . . . . . • . • . . • . . 190.11
Figure 3270-9. Line Groups and
Relative Line Numbers for
Example 2 . . . • . . . • . •
• 190.11
Figure 3270-10. Coding Space
Estimates. . • . . . • . • .
. 190.17
Figure 3270-11. Control Information
Space Estimates for Each Device
Type . • . . . . • . . . • .
190.17
Figure 3270-12. Control Block Space
for Each Line Group or Device
Group. . . . . . . . .
190.17
Figure 3270-13. Control Block Space
for Each Line or Device. . .
190.17
Figure 3270-14. Control Block Space
for Each READ or WRITE Macro
Instruction. . . . • .
190.17
Figure 3270-15. Channel Program Space
Estimates for Each line or Device. 190.17
Figure 3270-16. Auxiliary Storage
Requirements for BTAM • . • . • • . 190.17
Figure 31. Format of Control Byte
for OPENLST and WRAPLST Entries • . • . 247
Figure 32. Open Polling or
Addressing List (OPENLST): Format
and Examples . . • . • • • • • . • . • 248
Figure 33. Wraparound Polling List
(WRAPLST): Format and Example..
.249
Figure 34. Dial List (DIALST):
Format and Examples . • . . • •
.249
Figure 35. Identification List
(IDLST)= Format a~d Example . • . • . • 252
Figure 36. Open and Wraparound Auto
Poll Lists for Start-Stop (SSALST,
SSAWLST) and BSC (AUTOLST,AUTOWLST):
Format • • . . . . • . . . • . . . . .253
Figure 37. BSC Dial List (BSCLST)
(for S/360-S/360): Format and
Examples • • . • . . . . . • ••
.2.53
Figure 38. WT Terminal List
(WTTALST): Format and Examples
.254
Figure 39. Calling and Answering
Lists for Expanded ID Verification (SWLST): Format . . . • . • • • . • . • 255
9

Figure 40. Format of Data Event Control
Block
• • • • • • . • . • . . • • .264
Figure 41. IBM 50 MDI Control Codes • . 322
Figure 42. Examples of Erroneous Records
(IBM 50 MDI) • • . . . . • . . . . • • .326
Figure LJ.3a. Initial Format on Modell
3277 Display Station • • • .
.362.4
Figure 43b. Initial Format on Model 2
3277 Display Station • • • •
.362.4
Figure 44a. Verification Format on
Modell 3277 Display Station
.362.4
Figure 44b. Verification Format on
Model 2 3277 Display Station
.362.5
Figure 45a. Control Options Format
on Modell 3277 Display Station • • • 362.5
Figure 45b. Control Options Format
on Model 2 3277 Display Station • • • 362.6
Figure 46a. Ending Format on Modell
3277 Display Station
• . • • • . 362.6
Figure 46b. Ending Format on Model 2
3277 Display Station
• • • • . • 362.6

10

TABLES

Table 1. Keyword Operands for the
BTAM Communications-Line-Group DCB
Macro Instruction • • • • • . • •
27
Table 2. Format of Data Control
Block (DCB) • • . • • . • . . . . . . . 32
Table 3. DCB Field Contents
• 34
Table 4. Code Translation Tables
Provided by BTAM • • • • • • • •
• 46
Table 5. READ and WRITE Options
for Start-Stop . • • . • . • • . .
58
Table 6. READ and WRITE Options
for BSC • • • . • • • . • . • • .
• 60
Table 6A. READ and WRITE Options
for Local 3270 Display System . .
60.1
Table 7. IBM 2260 and 2265
Display Line Addresses • • . . . • • • 78
Table 8. Summary of BSC Switched
Line READ and WRITE Macro and
Terminal List Options • • . •
. . • 143
Table 8.1. 2715 Macro Storage Size
Estimates • . • . • • . . • •
.174.1
Table 9. AS Macro ID Parameter
Decimal and Hexadecimal Equivalents . • 176
Table 9.1. 2798 GDU Keyboard Character
Conversion. • • . • • . . . • •
.180.6
Table 10. ASLIST Operand Values . • . 182.1
Table 11. Transaction Control
Byte Usage
. . . • •
182.11
Table 12. Counter Control
Operations • • . • • • • .
. 182.14
Table 13. User Program Status
.196
Analysis . • • • • . . • • •
Table 14. User Program Sense Byte
Analysis . • . • • . • • • • • • • • .196
Table 15. Should-Not-Occur Error
Conditions Posted by BTAM ERP
• •. 197
Table 16. Status Analysis -Start-Stop
• • • . . . • .
.198
Table 17. Sense Byte Analysis
Start-Stop . . • • . • • • .
• .198
Table 18. Unit Exception -Start-Stop • . • • . • • • .
• .199
Table 19. Lost Data -- Start-Stop . • • 199
Table 20. Timeout -- Start-Stop • • • • 200
Table 21. Intervention Required
Start-Stop
• .201
Table 22. Bus Out Check
Start-Stop • • • . • •
• • • . • • 201
Table 23. Data Check -- Start-Stop . • 202
Table 24. Overrun -- Start-Stop • . . • 203
Table 25. Command Reject -start-Stop • . . • . • • . . • • • . • 203
Table 26. Index to BSC ERP Tables . • • 209
Table 27. Status Analysis -- BSC • • • 209
Table 28. Channel Data Check -- BSC • . 210
Table 29. Equipment Check -- BSC
.210
Table 30. Command Reject -- BSC • • . • 211
Table 31. Sense Byte Analysis
BSC .
. . • • • . . •
• .211
.212
Table 32. Bus Out
BSC
Table 33. Overrun -- BSC
• .213

Table 34. Intervention Required-BSC •
••.••••••
. .213
Table 35. Data Check -- BSC
• . 214
Table 36. Lost Data -- BSC
. • 215
Table 37. Timeout -- BSC
. • 216
Table 38. Unit Exception -- BSC •
.217
Table 39. Special Return Code Action .220
Table 40. Error Post Actions • . • • . 226
Table 40A. Error Conditions (according
to CSW and sense byte)
• . • • • • • 228.1
Table 40B. Recovery Actions (by error
condition and failing command)
. • • 228.2
Table 40C. Error Conditions {according
to ERPCODES field in ERPIB} • . • • • 228.3
Table 40D. Recovery Actions (by error
condition and failing command)
. • . 228.3
Table 41. Retry Options for Write
Operations (Nonswitched Point-toPoint Line [BSCl])
• . . • • . • • 229
Table 42. Retry Options for Read
Operations -- Answering (Switched
Point-to-Point [BSC2])
• • . • . • • . 230
Table 43. Retry Options for Read
Operations -- Calling (Switched
Point-to-Point [BSC2])
• • • • . . • • 230
Table 44. Retry Options for Write
Operations (Switched Point-toPoint Line [BSC2])
••••
• • • 231
Table 45. Retry Options for Read
Operations (Nonswitched
Multipoint Lines [BSC3])
• • • • • • • 232
Table 46. Retry Options for Write
Operations (Nonswitched
Multipoint Line [BSC3]) • •
• • 232.1
Table 46A. Retry Options for Local
3270 Read and Write Operations
.232.2
Table 47. Summary of BSC On-Line
Test Options (except for remote 3270
test options) • . • • • • • . • .
.245
Table 47A. Summary of BSC On-Line
Test Options for Remote 3270
Devices • • . • • • . . • . • . • • • 246.1
Table 47B. Summary of On-Line Test
.246.2
Options for Local 3270 Devices
Table 47C. Suggested actions
according to remote 3270 error
.278
status message
. . • • .
Table 48. World Trade Telegraph
• • 290
Codes ITA2 and ZSC3
Table 49. Format of Error
. .324
Description Word • . . •

lOA

TELEPROCESSING AND BTAM CONCEPTS

This chapter explains some fundamental
aspects of computer-based data communications systems (often called teleprocessing
systems) of the kind accommodated by the
IBM System/360 Basic Telecommunications
Access Method (BTAM), and explains some
basic terminology used throughout the publication. As this discussion is intended
to explain teleprocessing (TP) systems for
the BTAM user, it does not attempt to
encompass all kinds of TP systems. Thus,
while some of the terms defined apply to
all or most communications systems, other
terms are limited to communications programming usage, or specifically to BTAM.
Moreover, concepts and terminology are presented from the programmer's viewpoint,
rather than from the engineer's.
Viewed in its ~ost elementary aspect, a
teleprocessing system consists of (1) a
central computer and associated transmission control equipment, (2) remote stations, and (3) the electrical circuits
(called communication lines or data links)
that connect the remote stations to the
central computer (See Figure 1). For the
purpose of this discussion, the central
computer equipment comprises the central
processing unit (CPU) and the equipment by
which the CPU is connected to the communications lines. The generic name of this
equipment is transmission control unit
(TCU).
The equipment constituting a remote station can be either a terminal or another
computer. A terminal consists of a control
unit and one or more input and output
devices, each of which is called a component of that terminal. Each input device
and each output device is considered a
separate component.
Remote stations in a BTAM-controlled
teleprocessing system are usually separated
from the central computer by a .distance
sufficient to require common carrier facilities and transmission techniques to accomplish communication between central computer and remote stations. (Communications common carriers are companies that
furnish communications services to the
public.) However, it is the method of connection to the central computer, rather
than the distance from the computer, that
determines whether a station is classed as
remote. A station is considered remote if
it is connected to the central computer
through a transmission control unit (TCU).
(A station connected directly to a computer
data channel is termed a local station.)

Except for the local 3210 display system,
the System/360 Operating System version
of BTA! supports only remote stations,
which must be connected to the central
computer by means of an IBM 2701 bata
Adapter Unit or an IBM 2102 or 2103
Transmission Control. Local 3210 display
systems are connected directly to a
selector, multiplexer, or block multiplexer
channel of the central computer.
An operator's console is an input/output
device whose function is to control the
operati=ons of the computer.
The console and its terminal control
unit make up a terminal that can communicate with the operating system and with problem programs but cannot communicate with
other terminals. If the operating system
includes the Multiple Console Support (MCS)
option, BTAM can communicate with those
operator's consoles that are connected to
the central computer through a 2101, 2702,
or 2703 transmission control unit.
CATEGORIES OF COMMUNICATIONS LINES
Communications lines can be categorized by
several sets of attributes" some of which
are discussed below. Some attributes have
significance for the user's BTAM program,
others need only be specified at system
generation time, similar to the way in
which toe programmer specifies the attributes of local I/O devices.
LINE AND STATION CONFIGURATIONS
A communications line can be classified
according to whether it connects two or
more than two stations, and whether or not
the electrical connection between the central computer and the station is continuously established. Figure 2 illustrates a teleprocessing system comprising
several types of line and station configurations, the elements of which are
explained below.
A nonswitched line is one that continuously links the stations associated
with it, regardless of the amount of time
it is in use for message traffic. This
kind of line is usually furnished by a common carrier on a contractual basis, between
specified locations for a continuous
period" or regularly recurring periods, for
the exclusive use of one customer.
Teleproce·ssing and BTAM Concepts

11

A nonswitched line is called point-topoint if it connects the computer to a
single remote station; or multipoint, if
several remote stations are connected to
the line.
A switched line is one in which an
electrical connection between the central
computer and a remote station is establis~ed by dialing, similar to the manner in
which ordinary telephone calls ~re made.
As in the public telephone network, the
actual communication path for a given
transmission is not fixed, but is automatically selected from a variety of possible
paths by common carrier switching
equipment.
Each remote station on a switched line
is continuously connected to the common
carrier switching cent.er (exchange) by an
access line in the same way as a telephone.
A telephone number is associated with the
ac~ess line.
Similarly, each transmission
control unit at the central computer is
connected to the exchange by access lines.
usually, a TCU has several access lines,
each witn its own telephone number; multiple access lines permit simultaneous communication with several remote stations.
Each connection of an access line at the
TCU is called a switched line termination,
or line appearance.

Common carriers usually charge for
switched lines on a time-used rather than a
contractual basis.
A switched line is always considered
point-to-point, as communication occurs
with only one remote station on a line during any call. Switched line connections
are established by~anual dialing. or by
automatic dialing under program control.
The dialing operation may be performed at
the central computer or at the remote station" and the called station answers manually or automatically. Not all of these
options are available for all types of line
configurations and remote stations. Within
the limitations imposed by equipment or
programming, the user chooses between them
on the basis of the requirements of his
application. For example, if the application involves collection of batched data
from a number of remote stations after
normal working hours, it would be appropriate to have each station equipped with an
automatic answering facility and the central computer equipped with the calling facility. This would allow the program automatically to call the unattended stations
and receive the batched data.

4:

Inpvt

Output --....,~~

,----I

CPU

I
IMvltiplexer
IChannel

IL ___ _

Terminal

Computer

Transmi"iOnl~::::
____------------------~~~~~------------------l-------'
Control
r
Unit
(fCU)
Terminal

Central Compvter

Figure 1.

12

Basic Elements of a Teleprocessing System

OS BTAM SRL

Remote Stations

,
I

I

,

r'~
L___ 'p~fr---

I

lCU

Centr,l
Computer

Nonswitched multipoint

CPU

Nonswitched multipoint
Nonswitched multipoint
Gi
c
c
o
..l:

lCU

U

"1

I

I

I

I
I
I

I

lCU

I
I
I

I

j---)m---I

I
I

r

I
I

Switched point-to-point
Remote station

1m

o

Data set (modem)
Common-carrier exchange

_A_ Access line

Figure

2.

Line and Station Configurations

Teleprocessing and BTAM Concepts

13

DUPLEXVS. HALF-DUPLEX TRANSMISSION
The term duplex is applied to a communications line that can accomodate data transmission in both directions at once.
Halfduplex lines permit transmission in only
one direction at a time.
In a BTAMcontrolied teleprocessing system, data
transmission is always in half-duplex mode;
messages are never transmitted in both
directions at once.

TRANSMISS~ON

TECHNIQUES

Transmission technique is the way in which
data characters are represented on the communications line. The two techniques used
by computers and terminals supported by
BTAM are start-stop and binary syn!chronous.
Detailed explanations of these techniques are not given here, as the programmer need not concern himself with them
except to specify to BTAM which technique
is used. ,Binary synchronous communication
(BSC) is.~sed for high-speed data transmission between the central computer and
another remote computer or high-speed terminal. start-stop transmission (also
called asynchronous transmission) is used
for data transmission at lower speeds
between the central computer and remote
terminals of various types.

of I/O equipment comprising a teleprocessing system requires a discipline to
effectively manage the flow of message
traffic. A significant difference should
be noted, however.
In a conventional computing system, the various I/O devices are
at the service of the programmer; the
requirements of his program and the characteristics of the data to be processed
largely determine which input and output
devices are to be activated and when.
Moreover, the I/O de·vices are within reach
of the computer operator; he can intervene
when a device malfunctions to correct the
condition or assign a different device.
In
a teleprocessing system, on the other hand,
the central computer receives data at random from remote stations, and the operator
at the central computer cannot exercis~ any
direct control over remote stations.
He
cannot, for example, correct a malfunctioning device at a remote station.
A further distinction between a computing system and a teleprocessing system lies
in the handling of errors in data. With
current techniques for transmitting data
over long distances, errors are frequently
introduced into message data by unavoidable
transient line conditions such as crosstalk
and lightning strikes. Transmission errors
occur much less often in a computing system. A discipline for a teleprocessing
system must accommodate the facility to
detect transmission errors and, when possible, to correct them (as by retransmitting
the message containing the errors).
If the
error is irrecoverable, its occurrence must
be signaled to the user program so that
appropriate action can be taken.

TRANSMISSION CODES
Data can be represented on a communications
line by any of several transmission codes.
The code used on a given line is determined
by the kind of station or the class of stations connected to the line. Some stations
allow a choice of transmission codes. The
BTAM programmer must be aware of the code
used on a line since he must sometimes
specify, in the form of bit patterns, certain data characters to be transmitted by
BTAM. At the back of this manual are
charts giving the specific bit patterns of
the characters contained in the character
sets of the various transmission codes or
station types.

LINE CONTROL
Just as a computing system, with its variety of peripheral input/output equipment,
requires some means to coordinate the functioning of the various parts, the variety
14

OS BTAM SRL

The scheme of operating procedures and
signals by which a teleprocessing system is
controlled is called line control (for
binary synchronous communications l the term
data link control is often used). A line
control scheme must consider the functional
characteristics and capabilities of the
equipment and communication lines composing
the system, as well as the operational
requirements of the system.
Some specific
factors that line control must consider
are: How is contact to be established
between a sending and a receiving station?
How is a message to be directed to a specific station on a multistation line? What
if two stations try to send at the same
time? What should be done if a station
fails to respond to a message?
Line control can be classified in two
ways. The first way is by the transmission
technique (start-stop or binary synchronous) that is used for the line under consideration. With each of these techniques
is associated a set of control characters
and rules for their use to effect the
needed function$.
Some of the control

characters are used for both start-stop and
BSC transmission, while others are peculiar
to one or the other of the transmission
techniques. The specific line control
characters are explained under the discussions of these techniques in the Line Control and Message Transmission chapter.
The second way in which line control can
be classified is by the communication line
configuration with which it is used. For
example, line control for a switched line
differs from that for a nonswitched line.
While the general capabilities and functions of a given line control scheme are
identified in terms of transmission technique and line configuration, individual
variations in capability and function arise
from differences in the kind of stations to
be controlled, and by the presence or
absence in the stations of certain fea~
tures. For example, a given line control
scheme may include the control characters
needed to indicate occurrence of a transmission error and to request automatic
retransmission, but some types of station
equipment that use that line control scheme
may not oe capable of error checking or
automatic retransmission. Generally speaking, all stations connected to a given line
must be designed to use the same line control scheme, and where a certain capability
is provided by some stations but not by
others, the capability cannot be used.
It is not necessary for the BTAM programmer to specify the line control scheme
to be used for a given line; this information is provided implicitly at system
generation time, and at assembly time in
the DCB macro instruction for the line
group of which the given line is a member.
The programmer must, however, have a general understanding of line control concepts
in order to correctly structure that portion of his program that performs message
transmission. Also, the programmer must
know the meanings of each of the line control characters, as he must regularly
insert certain of them into output areas
and arrange his program to look for them in
input areas.
Line control functions can be considered
in two categories: the functions needed to
establish contact between central computer
and remote stations, and those needed to
produce orderly flow of message traffic.

ESTABLISHING CONTACT
Contact may be established in several ways"
depending in part upon the line configuration involved.

In some line control schemes one of the
stations on a point-to-point nonswitched
line can "bid" for use of the line so that
it can send a message to the other station.
Occasionally both stations may simultaneously bid for use of the line. When
this happens, the stations are said to contend with each other; a system in which
this situation can occur is called a contention system.
The line control schemefor a contention system must provide some
means for resolving contention, that is,
determining which of the contending stations is to be given the opportunity to
send its message. Once one station is
given control, the other is blocked from
sending.
A contention system is more frequently used for a point-to-point line configuration (i.e., involving only two stations) than for a multipoint configuration.
BTAM currently provides contention line
control only for a point-to-point line.
The alternative to a contention system
is a system in which a control station
(i.e.~ the central computer) periodically
contacts each of the remote stations in
turn and allows it to send any input messages it has ready.
("Ready" means that
the terminal operator is prepared to enter
data from a keyboard, or that some medium
such as cards or paper tape has been placed
in an input device so that the data can be
transmitted automatically when the control
station activates that device.)
In this
kind of system, each remote station has a
unique identifier consisting typically of
one or two characters, which, when sent
over the line by the control station,
causes that remote station, and no other,
to respond. In a BTAM-controlled teleprocessing system only the control station,
that is, the central computer, activates
stations in this manner. The process of
contacting in turn each, of several stations
on a line to determine if any has input
ready is called polling, and the station
identifiers are called polling characters.
Often, the first polling character identifies the station and the second identifies
a particular component from which data is
solicited. A system in which stations ar~
polled is called a polling system (in contrast to a contention system).
Although the term polling taken in its
conceptual sense implies a nonswitched line
to which is attached several stations, each
of which is solicited in turn, the actual
function of polling (that is, sending a
station identifier) sometimes applies as
well to a point-to-point nonswitched line
or to a switched line. In the case of a
switched line, the central computer may
dial the telephone number of the station
(or the station dials the computer) and
then the computer transmits the polling
characters for that station.
Teleprocessing and BTAM Concepts

15

In this discussion of contention versus
polling, systems, the distinction between
the two was based on establishing contact
for the purpose of receiving inpu~ data
from a remote station. The distinction is
less clear in the case of output data.
In
either a contention or a polling system,
the central computer must send a station
identifier to select the specific station
that is to receive an outgoing message.
The station identifier in this case is
called addressing characters (or selection
characters), and the process is called addressing (or selection). As with polling
characters, the first addressing character
may identify the station and the second, a
particular component.

Sll'li tched Lines
It should be understood that, in the case
of a switched line, the polling and addressing functions are independent of
whether the central computer or a remote
station initiated the telephone connection.
Typically, the operator at a remote station
dials the computer only when the remote
station has data to send to the computer,
and the computer would therefore poll the
station after the line connection is established. Similarly, the central computer
might dial a remote station only when the
computer has data to send, and would therefore address (or select) the remote station. These conventions do not always prevail, however. For example, some applications require that certain stations be
polled after working hours when the stations are unattended. with the proper common carrier equipment at the station, the
computer can dial the station, then poll
the input devices that the operator previously loaded with, for example, a deck of
cards or a paper tape.
In establishing contact over a switched
line, two situations should be avoided.
First, dialing a wrong number can result in
establishing contact with a station other
than the one intended. Second, an unauthorized station, if provided with the
telephone number of the central computer,
could establish contact (assuming that the
polling or addressing characters corresponded to the characters for authorized
stations) •
To prevent message transmission under
either of these circumstances, identification verification may be used.
(This is an
optional facility available for certain
kinds of stations.) In order to use this
facility, each remote station that is permitted to call the computer over a specific
swi tched line termination (i. e,., by call ing
16

OS BTAM SRL

a specific telephone number), must have an
identification sequence that it automatically sends after the line connection has
been established. The program compares the
received sequence against a programmerdefined sequence.
If they match, message
transmission can proceed; if they differ,
BTAM signals the fact by setting a flag
bit, and inhibits message transmission.
The user's program must check the flag bit
and take appropriate action, which
ordinarily will be to break the line
connection.
If the remote station is a computer, the
identification sequence is provided by the
programmer, and each computer, central and
remote, can check the identity of the
other. If the remote station is a terminal, the sequence is mechanically or electrically established when the terminal is
installed, and only the central computer
can perform the checking function.
Because the central computer has no way
of uniquely identifying a station that
calls it, all polling and addressing characters and identification sequences must be
the same for any station that is to be permitted to call in over a given switched
line termination.
The function of identification verification is not applicable to nonswitched
lines, since the user determines, when the
TP system is installed, which stations are
to be connected to a specific nonswitched
line.

Terminal Lists
When establishing contact with a remote
station, the BTAM program gets the telephone numbers, polling or addressing characters, and identification sequences needej
from a control table called a terminal
list, which the programmer generates at
assembly time using a BTAM macro instruction provided for this purpose.
The structure and contents of the terminal list vary
according to the kind of line configuration
and rem6te station for which the list is
being generated.
(Terminal lists are not
used for contention systems.)

Positive and Negative Responses
The discussion on how contact is established between stations has up to this
pOint considered only the action taken by
the originating station (i.e.,the station
that initiates the contact). Before mes-

sage transmission can proceed, the responding station (the station being contacted)
must indicate to the originating station
whether or not it is ready to receive or
send a message. This indication is generally called a response or answerback, and
is termed positive if the station is ready,
negative if it is not ready. The specific
characters used for positive and negative
responses vary with the type of station and
the kind of line control (start-stop or
binary synchronous) under consideration.

BUFFERING
Buffering is a data management technique
often used in conventional (nonteleprocessing) applications because, by
permitting greater utilization of input/
output areas it minimizes the amount of
main storage needed for these areas. This
advantage is even more evident in a teleprocessing system, especially one involving
many communication lines and varying message lengths.
Each Read or write operation that
involves transfer of text data between a
central computer and a communication line
requires that an input or output area be
assigned to that line. However, to permanently assign main storage areas to each
communication line is wasteful, because
these areas are idle except during the
relative small proportion of ti~e that text
transfer to or from the communication line .
is in progress.
Because data transfer operations are
virtually never in progress simultaneously
on more than a small proportion of the
lines in a system, only a relatively small
number of main storage areas are needed to
service many communication lines. Buffering permits these areas to be shared among
the lines.
Buffering involves defining a group (or
pool) of main storage areas, called buffers; assigning buffers from this pool to
Read and Write operations as needed; and
then returning them to the pool when they
are no longer needed, so they may be used
for subsequent Read or write operations.
When the buffer pool is formed, all buffers are chained together by placing a link
field containing the address of the next
buffer in the chain in the first full word
of each buffer. The link field of the last
buffer contains zeros. Adjacent buffers in
a chain are not necessarily in contiguous
storage locations.

Buffers can be withdrawn from the pool
singly or in chains. A buffer control
block (BCB) associated with the pool always
contains the address of the first available
buffer of those remaining in the pool.
When buffers are returned to the pool they
are automatically inserted into the chain.
A control block associated with each
Read and write operation contains the
address of the first buffer in the buffer
chain that is assigned to the operation, so
the programmer can always determine the
address where the received data begins, or
where the data to be sent must be placed.
BTAM and the operating system automatically perform the functions necessary to
set up a buffer pool when the programmer
provides certain information such as the
number of buffers he requires and the
length of each.
(All buffers in a pool
have the same length). In addition, BTAM
can automatically obtain buffers from the
pool and provide them to the Read or write
operation; this is called dynamic buffer
allocation, or dynamic buffering. If the
programmer does not specify the use of
dynamic buffering, the program must request
the required l1umberof buffers before
initiating the Read operation. This is
called Erogrammer buffering.

DYNAMIC BUFFERING
As mentioned earlier, buffering in general
provides a significant increase in main
storage utilization; dynamic buffering
further increases the utilization. With
programmer buffering, the programmer must
anticipate the length of the message to be
received; if messages can be of different
lengths, he must request enough buffers to
accommodate the longest message that can be
expected, even if messages of this length
are infrequently received. Furthermore,
all buffers are provided in advance of the
Read operation, even though they will not
all be used at once.
When dynamic buffering is used, however,
buffers are obtained singly as the Read
operation progresses (by means of program
controlled interrupts), and only as many
buffers as needed are obtained.
When BTAM
detects an ending character in a buffer, it
does not get any more buffers. Besides
allowing delayed acquisition of buffers,
dynamic buffering allows buffers that are
no longer needed to be progressively
released to the buffer pool, instead of
remaining idle until the end of the Read or
Write operation, and then being released as
a group. This technique is possible
because, with dynamic buffering, BTAM sets
Teleprocessing and BTAM Concepts

17

a completion code in the high-order byte of
each buffer when the Read or write operation has finished filling or emptying the
buffer. This completion code is of the
same kind that is set in the event control
block (ECB> at the end of the entire Read
or Write operation. ~he program can check
each buffer in turn for this completion
code and release the buffer when the code
is set.
Whether or not dynamic buffering is employed, BTAM does not release buffers that
contain data. The programmer must do this
himself, and failure to do so will result
in exhaustion of the buffer supply.
Should
this occur, no more Read or write operations could be performed.
To summarize, dynamic buffering maxi-"
mizes buffer utilization by (1) obtaining
only as many buffers as are needed for an
operation, (2) obtaining them just before
actual use, and (3) allowing the programmer
to release them, one at a time, immediately
after use.
Further information on buffering will be
found in the chapter on Buffer Management.

CONVENTIONS USED IN THIS PUBLICATION
To explain the use of BTAM, this publication must frequently express functional
relationships between different parts of a
teleprocessing system, at varying levels of
detail. To express these relationships
clearly and concisely requires that certain
conventions be observed.
station, Computer, Terminal: The term station, when not qualified, refers to any of
the computers and terminals, whether central or remote, connected to a BTAMcontrolled communication line. Central
computer means the computer in which the
user program under consideration is running.
Where the unqualified word computer
appears, it means the central computer.
The general term remote station denotes
a computer or terminal being controlled by
the central computer. Where the context is
appropriate, the specific term remote computer or remote terminal is used. For
example, in discussions limited to startstop communication lines, the phrase remote
terminal is generally used since start-stop
lines do not accommodate remote computers.
In discussions of binary synchronous lines,
however, the more general phrase remote
station is used since BSC lines accommodate
both computers and terminals.
18

OS BTAM SRL

Direction of Transmission: The terms input
and output are always used relative to the
computer in which the BTAM program under
consideration is being run.
Thus, whether
BTAM is running in the central computer or
a remote computer, input denotes data
transmission from the remote station, and
outpht denotes data transmission from the
central computer.
In expressing a specific direction of
transmission, the sending and receiving
stations are always identified:
as in
"transmission from central computer to a
terminal." The phrase "transmission
between central computer and terminal," on
the other hand, implies transmission in either direction.
Data, Messages, Text, Control Characters:
The term data is the most general of these
terms; with respect to communication lines,
i t refers to any sequence of transmission
code bit patterns, whether the patterns
represent graphic characters, control characters, or binary information. Message
means any sequence of data characters, considered as a unit, and includes any control
characters necessary for transmission on a
communication line. Text refers to the
data characters comprising the information
to be conveyed, such as plain language or
binary data. Control characters are characters needed either to control transmission on the line (called line control or
data link control characters) or to activate mechanical or formatting functions at
a station (end-to-end control characters).
Examples of line control characters are
SOH, STX, and EOT (start of heading, start
of text, end of transmission). Examples of
end-to-end control characters are CR, LF,
VT, and BEL (Carriage Return, Line Feed,
Vertical Tab, Bell).
Usually, the name of a character and the
function it performs are the same. e.g., an
EOT character indicates the end of transmission. In some cases, however, a particular function is effected by a different
character or character sequence. For
example, the EOA (end-of-address) character
is sometimes used as a positive response
signal, and for certain non-IBM terminals
the characters FIGS H LTRS are employed as
an end-of-transmission sequence. Where
these disparities of function and character
name occur, the intended meaning is made
clear.
The text portion of an output message is
given by the user to BTAM in a work area or
buffer. The user also must provide certain
line control characters in the buffer.
Read and Write Operations: The sequence of
events by which data characters are sent or
received is called a Read operation for

input messages, and a write operation for
output messages.
Each Read or write operation is produced
by a READ or WRITE macro instruction issued
by the user's program (except for some
operations performed automatically by error
recovery procedures and on-line testing facilities). The term Read (or write) operation may be qualified at several levels.
For example, the phrase wRead operation"
refers to any of several types of Read
operation; the phrase -Read Initial operation" refers to any of several variations
of Read Initial operations, and so on.
Where a specific type is intended, the
corresponding type code is usually given,

as in "Read Initial Conversational (TIV)
operation."
A Read or write operation is performed
by a sequence of commands executed by the
channel to which the transmission control
unit (TCU) is connected. These channel
commands cause the TCU to transmit data
characters and control signals on the line
or, conversely, to respond to data characters and signals received from the line.
In discussions of Read and write operations, the term command means a channel
command, as represented in main storage by
a channel command word (CCW).

Teleprocessing and BTAM Concepts

19

BTAM MACRO INSTRUCTION FORMATS

BTAM macro instructions, like other operating system macros, are written in the
assembler language, and accordingly are
subject to the rules given in IBM System/
360 Operating system: Assembler Language
(GC28-6514). BTAM macros, like all
assembler language macros, are coded in
this format:

r---------T----------T--------------------,
IOperation IOperands
I

I Name

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

ISymbol orlMacro NamelOne or more operands I
I __________ I ____________________
s epar at ed by commas. JI

Blank
LI_________

~

~

phrase in small letters one of the values
shown in the macro instruction format
chart.
If a specific character sequence follows
the equal Sign, code the entire operand
exactly as shown.
Code commas and parentheses exactly as
shown. Unlike positional operands, no
comma need be coded in place of an omitted
optional keyword operand.

The operands are used to specify the facilities to be included, services to be
.
performed, and various parameters needed by
BTAM. Operands are coded according to the
following rules.
The operand field of a macro instruction
can be continued on one or more additional
lines as follows:
Positional Operands
1.

Enter a continuation character (any
nonbl.ank character that is not part of
the operand coding) in co~umn 72 of
the line.

2.

Continue the operand field on the next
line, starting in column 16. All
columns to the left of· column 16 must
be blank.

Positional operands are shown as either
small letters or capital letters. Small
letters describe the kind of information to
be coded; capital letters indicate the
exact characters to be coded.
If the operand is shown as small letters
(e.g., inarea), substitute for it one of
the values shown in the macro instruction
format chart, Appendix G.

Code commas and parentheses exactly as
shown. If an optional operand is omitted a
comma must still appear, except that no
commas need follow the last operand coded.

The operand field being continued can be
coded in one of two ways. You may code the
operand field through column 71, with no
blanks, and continue the coding in column
16 of the next line, or you may truncate
the operand field at the end of an operand
(including the comma that follows the
operand), then start the next operand in
column 16 of the next line.

Keyword operands

r-----T---------T---------------------T---l
IName IOperationloperand
ICol1

If the operand is shown as capital letters (e.g., OPENLST), code it exactly as
shown.

Examples:

I
Keyword operands are shown as a word, in
capital letters, followed by an equal sign,
followed by (1) a descriptive word or
phrase, in small letters, or (2) a specific
character or sequence of characters, in
capital letters.
If small letters follow the equal Sign,
code the keyword and equal sign exactly as
shown, and substitute for the word or

I

I

172 I

~-----+---------+---------------------+---~

INAME11 0P1
I
I
I
I
I*
I

IOPERAND1,OPERAND2,OPEIX
IRAND3,OPERAND4,OPERANIX
ID5,OPERAND6 THIS IS I
I
ONE WAY I

I
I
I
I

~-----+---------+---------------------+---~

I NAME 2 I OP2
IOPERAND1,OPERAND2,
IX I
I
I
IOPERAND3,
THIS IS IX I
I
I
I OPERAND4
ANOTHER I
I
1*
I _________ I
·
WAY
I ___ JI
L _____ L
_____________________
~

~

BTAM Macro Instruction Formats

21

then one of the items, or none, may be
coded. If one of the choices is underlined, the option associated with
that choice is assumed to be specified
if that operand is not coded.

Coding Aids
The symbols
(brackets), { } (braces),
and
(ellipsis) are used to aid in
defining macro instruction formats; they
are never coded. Their meanings are as
follows.

} indicates that one of the enclosed
operands must be coded.

indicates that the enclosed operand is
optional, or is coded under certain
conditions.
If more than one operand
is stacked within brackets, as for
example,

1
[CLBAR=r~o
CLEAK=YESJ

22

OS BTAM SRL

}

defines the limits of a syntactical
unit, where the unit consists of more
than one operand, e.g., ({operandone,
operandtwo}, ••• ). The { } ana ellipsis signifies that the two operands
may be repeated in sets. The enclosing parentheses must be coded.

DEFINING THE TELEPROCESSING

Defining a teleprocessing system Deans
specifying to BTAM and the operating system
the characteristics of the communications
lines, transmission control units, and
remote stations comprising the system.
using this information, the operating system establishes the appropriate program
interfaces between the user program and
data management input/output routines.
At system generation, the programmer
must specify the types of transmission control units and remote stations composing
the TP system, and the features associated
with each TCU and station. Appendix D
explains how to code system generation
macro instructions to provide this information. (See the System Generation publication for general information on the system
generation procedure.)
At assembly time and during program
execution, the programmer must define communications line groups and terminal lists,
as explained below.
Por information about defining the
local 3270 display system and about
attention interruption handling, see the
section "IBM 3270 Display System programming Considerations."

DEFINING COMMUNICATIONS LINE GROUPS
A communications line group is a logical
a$sociat~on of lines having characteristics
similar enough that the same channel programs can be used for all lin~s in the
group. These characteristics are as
follows;
• All lines in a group must be start-stop,
or all mqst be binary synchronous: both
types cannot be mixed in the same group.
• All lines must be of the same type. For
start-stop lines, this means that all
lines in the group must be nonswitched,
or all must be switched. For binary
synchronous lines, all lines in the
gro~p must be nonswitched point-topoint, nonswitched multipoint, or
switched point-to-point.
• All remote terminals connected to startstop lines in a group must be of the
same type, must have the same features,
and must use the same transmission code.

•

SYSTE~

All remote stations connected to binary
synChronous (BSC) lines in a line group
must have the same features and must use
the same transmission code, but they
need not all be of the same type. That
is, more than one type (e.g., Systeml360
Model 20, 1130, 2770, etc.) can be connected to the same nonswitched multipoint line, or more than one type can
call or be called by the central computer over the same switched line termination (i .. e., the same telephone number at
tbe central computer).
• Any optional functions that are specified apply to all lines in the group.
For example, if dynamic buffering is
specified for the line group, all lines
must use dynamic buffering.

CODPunications line groups are considered as data sets, although they do not
conforD to the usual definition of data set
(a named, organized collection of logically
related records). Like other data sets, a
communications line group is represented by
a data control block (DCB), which you
define using tne DeB macro instruction.
You may establish a line group in either
of two ways. First, you may specify durin~
system generation what lines are to constitute the group, then symbolically identify
the group during program execution by means
of the UNIT parameter of a DO statement.
Second, you may specify the makeup of the
group during program execution, again using
UNIT parameters on DO cards. ~hichever
method is used, during system generation
you must identify to the operating system
(1) what kind of transmission control unit
is connected to each line, and (2) what
kind of terminals (start-stop) or what type
of line (SSC) is associated with each line
address ..
A series of examples will make this
clear. Assume that the teleprocessing network comprises seven lines -- five startstop and two binary synchronous (BS~)
lines. Assume further that IBM 1050 terminals are connected to the five start-stop
lines, and that any type of BTAM-supported
BSC station is connected to the two Bse
lines. See Figure 3. (The decision as to
what types of remote stations are to be
connected to which lines is part of the
installation planning function: this
example assumes that this decision has
already been made.>
Defining the Teleprocessing System

23

Before establishing the makeup of a line
group, you must specify with IOCONTRL
macros the type of TCU (2701, 2702, or
2703) associated with each control unit
address, and then, via IODEVICE macros,
specify the type of terminal (for startstop lines) or type of line (for BSC lines)
associated with each line address.
IOCONTRL
IOCONTRL

UNIT=2702,ADDRESS=02
UNIT=2703,ADDRESS=03

The addresses 02 and 03 represent the control unit addresses to which the TCUs are
connected. Note that one IOCONTRL macro is
issued for each control unit position
(denoted by the second digit of the line
address).
IODEVICE
IODEVICE
IODEVICE
.IODEVICE
.IODEVICE
IODEVICE
IODEVICE

UNIT=1050,ADDRESS=021,
UNIT=1050,ADDRESS=022,
UNIT=1050,ADDRESS=025,
UNIT=1050,ADDRESS=027,
UNIT=1050,ADDRESS=02E,
UNIT=BSC3,ADDRESS=031,
UNIT=BSC3,ADDRESS=033,
TCU

Control
Unit
Position

2701

•••
•••
•••
•••
•••
.••
•••

Line
Address

Station
Type

021
022
025
027
02E

1050
1050
1050
1050
1050

5/360
Channel

031---(BSC)

IODEVICE operands, including FEATURE,
ADAPTER, and SETADDR. These are explained
in Appendix D.
Assume now that you wish to establish
three line groups from the seven lines, as
shown in Figure 4. Two examples show how
to do this.
Example 1: To define the groups at system
generation, you would code a UNITNAME macr~
for each line group:
UNITNAME UNIT=(021,022,025,02E),NAME=GROUP1
UNITNAME UNIT=(027),NAME=GROUP2
UNITNAME UNIT=(031,033),NAME=GROUP3
During program execution, you would associate these line groups with specific data
control blocks in your program by issuing
for each group a DD statement identifying
the group by its name, and indicating the
number of lines in the group:
//DDGRP1 DD
//DDGRP2 DO
//DDGRP3 DD

UNIT=(GROUP1,4), •••
UNIT=(GROUP2,1), •••
UNIT=(GROUP3,2), •••

The name of the DD statement (e.g., DDGRP1)
must be the same as the DDNAME parameter in
the data control block. In the foregoing
DO statements the number of lines indicated
for each group is the same as the number of
lines specified at system generation in the
UNITNAME macros. You may, however, specify
any lesser number of lines to be in the
group when you issue a DO statement. Lines
are always included beginning with the lowest line address.

2703
033--_(BSC)

Figure

3.

Sample Line Addresses and Associated TeU and Station Types

For example, if you code
//DDGRP1 DD

UNIT=(GROUP1,2), •••

the two lines associated with the two lowest addresses in the original four-line
group, 021 and 022, constitute the group.

Notice that the UNIT operands in the
first five macros specify the type of terminal, while those in the remaining two
macros specify "BSC3" -- this value represents the type of line, in this case nonswitched multipoint. To specify a nonswitched point-to-point line you would
specify BSC1; for a switched point-to-point
line, BSC2. See the description of the
IODEVICE macro in Appendix D.

Example 2: Alternatively, you may elect
not to define the groups at system genera~
tion, but to id~ntify the lines in the
group individually during program execution. To do this, code a separate DD
statement for each line, specifying the
actual line address instead of the name of
a line group, as in example 1.

In these macros, toe three-digit
addresses represent communications lines,
not specific devices as would be the case
in defining local I/O equipment. The
ellipses represent other appropriate

//DDGRP1 OD
//
DO
//
DD

24

as BTAH SRL

UNIT=021, •••
UNIT=02E, •••
UNIT=027, •••

Line Address

leu

, g~ ----------+-: }
·: ~i1i1:

027 ---+- Li ne Group 2
02E

:$

Line Group 1

Line
Address

leu

•

:{~:::

leu
leu

Figure

4.

m-.-R-L-N-1----L-i-n-e-!i~r~~~)
..

1.1

02E

1=

Line Group 1

• RLN 4

dI~:

031-+RLN 1 } .
Line Group 3

.:illllll;

033~RLN

:111111

}

2

Sample Line Group Makeup

Figure

5.

Relative Line Numbers for
Example 1

These DD statements establish a group
containing three lines.
Even if you have defined a line group by
using a uNITNAME macro at system generation
you may redefine it by using DD statements
as shown in this example.
Relative Line Numbers: In READ and WRITE
macro instructions, you must specify the
line over which the Read or Write operation
is to take place. Rather than specify an
actual line address, you code in the macro
a relative line number (RLN), which refers
to the numerical position of the actual
line address relative to other lines in the
group. Thus, in Example 1, the relative
line numoers are as shown in Figure 5; in
Example 2, as shown in Figure b.
(In
Example 2 four lines are not defined in any
group. )
If you define a line group at system
generation, using the UNITNAME macro, the
relative line numbers are assigned such
that they represent an ascending numerical
order of addresses, regardless of the actual sequence in which the addresses were
arranged in the macro. If, however, you
define a line group by a sequence of DD
statements, relative line numbers are applied in the same sequence in which the DD
statements are coded.
See Appendix D for further information
on system generation macroinstructions
involved in generating a BTAM system, and
see the System Generation publication for
complete information on generation
procedures.

Line
Address

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

E
':!l!:

leu

:~r: ----025----

.~: : :

027-------~~RLN

jij\:

"

~ RLN ~1 }

02E

Line Group 1

~ RLN

:f~::

tf: ----031----

leu

i

Figure

---033----

6.

Relative Line Numbers for
Example 2

DCB (Define Data Control Block) Macro
Instruction
The DCB macro instruction defines the
structure of a data control block and
includes in it certain information that you
have coded in the macro. You must issue a
separate DCB macro for each line group data
set.
Of the parameters that appear in the
data control block, you must code certain
ones in the macro, while others may either
be coded in the macro or be supplied from
an alternate source. The alternate source
for an operand is indicated in the description of the operand, as follows:
Defining the Teleprocessing System

25

• PP means you can enter the parameter
into the data control block yourself
during program execution, any time prior
to opening the line group data set.
• OE means you can enter the parameter
into the data control block yourself
during program execution, at any time up
to and including the DeB exit taken during the opening process.

r-------T----------T----------------------,
IOperation 'Operands
,

I Name

~-------+----------+----------------------~

Isymbol
operands
L_______ i lOeB
__________ i Ikeyword
______________________
JI

26

as BTAM SRL

symbol
Is the name of the DeB macro instruction.
It must be specified.
keyword operands
Are the operands that can be included
"(Table 1).

Table

1.

Keyword Operands for the BTAM Communications-Line-Group DCB
Macro Instruction (Part 1 of 5)

r-----------------------------------------------------------------------,
Operand and Description
I
I~eyword

~-----------------------------------------------------------------------i
IDSORG=CX
I
I
Identifies the data set organization as that of a communications I
line group.
I
I
~----------------------------------------------------------------------i
I{MACRF=,

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

I
I

The following six operands apply only to line groups for World I
T.rade Telegraph terminals:
I

,-----------------------------------------------------------------------i

I
I MON=YEsl
I UVlON=i~O J

I

r

I

I
I
I
I
I
I
I

I

I

-

1

YES
Specifies that each terminal of the line group is equipped with
the optional Motor-On feature.
NO
Specifies that the terminals are not equipped with the Motor-On
feature.
NO is assumed if this operand is omitted.

I
I
I
I
I
I
I

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

1

I [MoNDLy=nn
I MONDLY=15J
~

I
I
I
I
I
I
I

nn

I
I
I
I

specifies the number of Mark Characters corresponding to a 1.5I
second time-out when the terminal is not equipped with the option-I
al Motor-On feature. MONDLY=10 corresponds to 50-baud service,
,
MONDLY=15 corresponds to 75-baud service, and MONDLY=20 correI
sponds to lOa-baud service. When this operand is omitted or nn
I
exceeds 20, MONDLY=15 is assumed.
I

~-----------------------------------------------------------------------,

I [IAM=Y£S~
I IAM=NO
I
..
I
YES
I
Specifies that the terminal can ask for the computer identificaI
tion sequence by sending FIGS D.
I
NO
I
Specifies that the terminal cannot ask for the identification
I
sequence of the computer. NO is assumed if this operand is
I
IL ______________________________________________________________________
omitted.
_

,

I.[WRU=YES]
I WRU=NO J
J

I
I
I
I
I
I
I
I
I

YES

Specifies that by sending FIGS Dr either the computer or the terminal can ask for the identification sequence of the other. When
WRU=YES is specified, IAM=YES is assumed.
NO
Specifies that the computer cannot ask for the identification
sequence of the terminal. NO is assumed if this operand is
omitted.

L __________ ~------------------------------------------- ________________ _

30

OS BTAM SRL

Table

1.

Keyword Operands for the BTAM Communications-Line-Group DCB
Macro Instruction (Part 5 of 5)

r-----------------------------------------------------------------------,I

I Keyword Operand and Description

~rt~~:~~~:~--J-----------------------------------------------------------~
l~OtJj=x' hhlF'
WRU
Specifies that the end-of-message signal is the WRU signal.
X'hh'
Specifies that FIGS x is used as the EOM signal.~ hh is the hexadecimal representation of FIGS x set in the adapter.
X'hhlF'
Specifies that FIGS y LTRS is used as the EOM signal.~ hh is the
hexadecimal representation of FIGS y set in the adapter. WRU is
assumed if this operand is omitted.
~-----------------------------------------------------------------------i
I rr:;OT=2EOM 1
I L'::OT=X'hhlFj

J
2EOI"1

Specifies that two consecutive EOM signals will be recognized by
BTAM as end-of-transmission, except when IAM=YES and EOM=WRU are
specified.
X'hhlF'
Specifies that FIGS y LTRS is used as the EOT signal. 1
EOM=X'hhlF' cannot be specified for the EOM signal.

Therefore,

Note: A time-out is also recognized as EOT. Moreover, two consecutive EOM signals are always recognized as an EOT signal,
except when IAM=YES and EOM=WRU are specified~
~-----------------------------------------------------------------------~

I

I
I
I
I the time of installation of the equipment.
IL _______________________________________________________________________ JI
11X and yare the values assigned by the user and set in the adapter at

Defining the Teleprocessing System

31

Table

2.

Format of Data Control Block (DCB) (Part 1 of 2)

Displacement
Hex

Decr----------T----------T----------T----------,
I

I

I

I

I

10

16 I DCBBQFLG I DCBWTEOM I DCBWTEOT I DCBWTPAD I

14

20 I DCBBUFNO I DCBBUFCB
I
~----------J..----------T---------------------i
24 I DCBBUFL
I DCBDSORG
t

18

IL __________ J.I __________ J.I. __________ J.I. __________ JI
r-----~----T--------------------L-----------,

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

24

28 I DCBDEVTP I DCBIOBAD
I
~----------+----------T----------r--------32 I DCBBFTEK I DCBERROP I DCBBUFCT I
I
~----------+----------J..----------L---------~
36 IL__________
DCBEIOBX I DCBEXLST
--JI

28

40 I DCBDDNAM

2C
30

44 I
I
~----------T----------T--------------------i
48 IL__________
DCBOFLGS I __________
DCBIFLG I DCBMACR
JI

28

40 I DCBTIOT

2C

44 I DCBIFLGS I DCBDEBAD
I
~----------+-------------------------------~~
48 IL__________
DCBOFLGS JI

1C
20

30

Common
Interface

.. -----t--

J.. ______________________________

Foundation Extension

_____t__

r-------------------------------------------,I -----f--

I

I

~

J..____________________

Foundation
Before

_::::L

r---------------------T---------------------1
I DCBMACRF
I

~----------T----------J..---------------------i

30
48

r __________

I=~~~~~~~~~I~~=========--====]

34

52 IL___________________________________________
D C B L E R B IJ

38

56

I

3C

60

I

40

64

I

r----------T----------T--------------------,
I DCBXCODE I
I

~----------J..----------J..-----------------i
DCBBSTSX
I
~---------------------------------------i

/

I
IL________

32

World Trade Telegraph
(before and after
the Open Function)

~Interface

OS BTAM SRL

(reserved)
~

I

/

I
I

________________________________ J

Foundation
After

_~:=~t

__

-::::l--·
Interface
_____

1 __

-;~;-l--

Interface
(before Open)

_____i __

Table
38

56

3C

60

40

64

44

68

48

72

4C

76

50

80

54

84

60

96

2.

Format of Data Control Block (DCB)

(Part 2 of 2)

r---------T----------T---------~----------l

I DCBXMODE I DCBXCODE I DCBBSRSV I DCBBSWBT I
~----------+----------+----------+----------~
I DCBBSTSX I DCBBSSTX I DCBBSTEX I DCBBSETX I
~----------~----------+----------~----------~
I
DCBBSAKO
I
DCBBSAKl
I
~----------T----------+---------_r----------~
I DCBBSENQ I DCBBSNAK I DCBBSETB I DCBBSDLE I
~----------+----------+----------+----------~
I DCBBSEOT I DCBBSSYN I DCBBSTBE I DCBBSTEB I
~----------~----------+----------~----------~
I
DCBBSONL
I DCBBSSAK
I
~---------------------+---------------------~
I
DCBBSRVI
I
(reserved)
I
~---------------------~---------------------~

BSC
Interface

_:::[:_openl

I
I
I
I
I
I
I
(reserved)
I
I
I
I
I
IL___________________________________________ JI

Def~ning

the Teleprocessing System

33

Table

3.

DCB Field Contents

•
r----------------T----------------------------------------------------------------------1
I Field
I contents
I

~----------------+----------------------------------------------------------------------i

JDCBBQFLG
DCBWTEOM
DCBWTEOT
DCBTPAD

World Trade Telegraph flag byte.
The EOM character (WT terminals)
The EOT character (WT terminals)
Number of pad (LTRS) characters reqbired for Motor-on delay (WT
terminals) .
DCBBUFNO
Nurr~er of buffers, obtained by open-routine for this DCB.
DCBBUFCB
Address of buffer control block.
DCBBUFL
Buffer length (length of buffers to be obtained by Open for a BTAMprovided buffer pool, and/or the buffer length to be used if length
parameter of a Read or Write macro is coded as'S').
Data seot organization (bit 3=1 for BTAM)
DCBDSORG
DCBDEVTP
Index to device entry in Device I/O directory.
DCBIOBAD
lOB (Input/output Block) address.
DCBBFTEK
Buffering technique, (Bit 4=1 indicates dynamic buffering)
DCBERROP
Error recovery procedures defined by DCB EROPT operand.
DCBBUFCT
Max. no. of buffers to be obtained by BTAM for a Read or Write
operation (dynamic buffering).
DCBEIOBX
Extended lOB index.
DCBEXLST
Address of a user-provided exit list.
DCBDDNAi'Vl
DD name of the line group data set.
DCBOFLGS
Flags used by OPEN, and checked by programmer to determine if data
set has been opened.
DCBIFLG
Flags used by Input/Output Supervisor (lOS).
DCBMACR
Macro instruction reference.
DCBTIOT
pointer to DD entry in task I/O table.
DCBMACRF
Same as DCBMACR.
DCBIFLGS
Same as DCBIFLG.
DCBDEBAD
Address of associated Data Extent Block (DEB).
DCBOFLGS
Same as DCBOFLGS above.
DCBREAD/DCBWRITE Address of Read/Write module.
DCBLERB
JAddress of line error recording block (LERB).
DCBXMODE
ITransmission mode for BSC lines.
DCBXCODE
ITransmission code for BSC lines.
DCBBSRSV
IThe OLE character.
DCBBSWBT
I (reserved)
DCBBSTSX
IDLE character.
DCBBSSTX
ISTX character.
DCBBSTEX
IDLE character.
Hexadecimal representation
DCBBSETX
IETXcharacter.
of
DCBBSAKO
IACK-O sequence 1 •
transmission
DCBBSAK1
ACK-l sequence 2 •
code
DCBBSENQ
ENQ character.
I DCBBSNAK
NAK character.
I DCBBSETB
ETB character.
JDCBBSDLE
DLE character.
JDCBBSEOT
EOT character.
I DCBSSYN
SYN character.
JDCBBSTBE
OLE character.
I DCBBSTEB
ETB character.
JDCBBSONL
SOH % characters.
I DCBBSSAK
WACK sequence 3 •
JDCBBSRVI
RVI sequence 4 •

~----------------~----------------------------------------------------------------------i

11
J

ACK-O is two characters

1 2 ACK-1

DLE x'70'

is two characters -- DLE /

I

(EBCDIC), DLE 0 (USASCII), or DLE - (TRANSCODE).I

(EBCDIC), DLE 1 (USASCII), or DLE T (TRANSCODE).

I
I

I
13WACK is two characters -- X'106B' (EBCDIC), X'103B' (USASCII)
I
I4
I
1L _______________________________________________________________________________________
RVI is two characters -- X'107C' (EBCDIC), X'103C' (USASCII)
JI

34

OS BTAM SRL

DEFINING AND MODIFYING TERMINAL LISTS
A terminal list is a table from which BTAM
obtains the information it needs to establish contact with a remote station when you
issue a READ Initial or WRITE Initial macro
instruction (and occasionally other types
of READ and WRITE). This information consists of telephone numbers (dial digits),
polling and addressing sequences, and identification sequences to be sent to remote
stations, or against which an incoming
sequence can be checked to ensure that contact has been established with a valid
station.
There are several kinds of terminal
lists, having 'different names and formats.
For example, a polling list is one kind of
terminal list; it is used for supplying the
polling sequences BTAM needs to activate
certain kinds of remote stations. Another
kind is a dial list, used in operations
over switched lines. Appendix A shows the
formats of terminal lists and gives
examples of what they contain.
Two macro instructions, DFTRMLST and
CHGNTRY, provide the ability to define terminal lists and to modify an existing list.

~:

The DFTRMLST macro instruction
is not used for the local 3210 display
systein.

For more information about the DFTRMLST
macro instruction for the remote 3210
display system, see "Defining ~erminal
Lists" under the heading "Defining and
Modifying Terminal Lists" in the section
"IBM 3210 Display System - programming
Considerations. "

r--------T---------T----------------------,
I Name
I Operation I Operand
I
~--------+---------+----------------------~

I symbol
IDFTRMLST Ilist type,
I
I
I
I
I device-dependent
.
I ________ I _________ loperands
L
______________________
JI
~

~

list type
Specifies the format of the terminal
list. Code one of the following, as
required by the remote station or
line configuration involved.
OPENLST (start-stop, BSC; multipoint line)
Generates an open polling list (for
programmed polling of start-stop terminals) or an addreSSing list (for
addressing of start-stop or BSC
stations).
WRAPLST
(start-stop; multipOint line)
Generates a wraparound polling list
(for programmed polling).

DFTRMLST (Define Terminal List) Macro
Instruction
DFTRMLST generates a terminal list having
the format and contents required by the
type of station and kind of communication
line involved in the Read or write operation that uses the list. The macro specifies the format and provides telephone numoers, polling or addressing characters, and
identification sequences, as required by
the Read or Write operation.

SSALST
(start-stop; multipoint line)
Generates an open polling list for
Auto Poll operations.
SSAWLST

(start-stop: multipoint line)
a wraparound polling list
for Auto Poll operations.

Generate~

DIALST
(start-stop, BSC; switched line)
Generates a calling list or an answering list.
IDLST

Described below are each of the operands
that may be coded in a DFTRMLST macro
instruction; only a few of these will be
coded for a particular list. To determine
which ones to code for a particular Read or
write operation, see the discussion on terminal lists in the section of the Startstop Read and write Operations or BSC Read
and Write Operations chapters that covers
the particular type of remote.station or
line configuration for which the terminal
list is required.
A separate DFTRMLST macro must be issued
for each list to be defined. Appendix A
illustrates the formats of various kinds of
lists, with examples.

(start-stop [TWX only]:
switched line)
Generates a calling list or an answering list with ID verification.

BSCLST
(BSC: switched line)
Generates a calling or an answering
list (for switched lines), with ID
verification. This kind of list specifies an identification sequence to
be sent to a remote SSC station: and
specifies what identification
sequence will be accepted from a
remote BSC station.
AUTOLST
(SSC; multipoint line)
Generates an open polling list for
Auto Poll operations.
Defining the Teleprocessing System

35

AUTOWLST
(Bse: multipoint line)
Generates a wraparound polling list
for Auto Poll operations.

dial chars
the digits of the telephone number
to be dialed. Example: 5672022.

WTTALST

numrec
one or two decimal digits representing the number of characters in
an identification expected from a
remote station.

(start-stop [WT telegraph only]:
nons witched point-to-point line)
world Trade telegraph terminal list
containing the identification
sequence expectfi!d from a remote station and the identification to be
sent to the remote station when
transmission begins.

WTL1ST
(BSCi switched line)
Generates a terminal list to be used
for Read and Write operations involv....
ing manual dialing of a remote station or manual answering of calls
from remote stations, where the
expanded 10 verification facility is
not to be used (i.e., when only one
unique 10 sequence is to be accepted
from any remote station that calls or
is called oy the central computer).
SWLST
(BSe: switched line)
Generates a terminal list to be used
for Read and write operations involving automatic or manual dialing of a
remote Bse station or automatic answering of calls from remote Bse stations, where the expanded ID verification facility is to be used (i.e.,
when any of several authorized 1D
sequences is to accepted from a
remote station).
device-dependent operands
Specify the information to be placed
in the list.
xx
two hexadecimal digits representing
the transmission bit pattern of a
single polling or addressing
character. Example: 62 (representing the polling character A in
transmission code [1030]).
xxyy
four hexadecimal digits representing the transmission code bit patterns of a two-character polling or
addressing $equence. Example:
E202 (representing the polling
characters Ai in transmission code
[1050]).

dial count
one or two decimal digits representing the number of dial digits
in the telephone number of the
remote station to be called.
Example: 1.

36

OS BTAM SRL

ridseq
hexadecimal digits representing the
transmission code bit patterns of
the identification sequence to be
received.
numsent
one or two decimal digits representing the number of characters in
the identification sequence to be
sent to a remote station.
tidseq
hexadecimal digits representing the
transmission code bit patterns of
the identification sequence to be
sent.
numcnsent
one or two decimal digits representing the number of characters in
a terminal control sequence to be
sent to a TWX station.
cntrlseq
hexadecimal digits representing the
transmission code bit patterns of
the terminal control sequence to be
sent.
length
the number of characters composing
a "data tone" (an audible signal to
be sent to a remote station that
calls the central computer). Code
this operand only for lists of the
WTLIST type.
(A sequence of X'FF'
characters is recommended for the
data tone.)
area
the address of the area containing
the data tone charact~~ sequence.
Code this operand only if you code
the length operand.
faaseq (2760 only)
hexadecimal digits representing the
transmission code bit patterns of
the three-character frame change
sequence (F,A1.,A a characters).

pro9~ammin9 Note:
The OFTRMLST macro cannot d~fine open or wraparound lists of the
OPENLST or WRAPLST types having more than
31 entries.
If a larger list is required,
you must define it yourself; see Appendix ~
for the required format.

CHGNTRY (Change Terminal Entry) Macro
Instruction

listaddr
Specifies the address of the first
entry of the terminal list containing
(1) the entry to be skipped or activa.ted, or (2) the SWLST entry the
control byte value of which is to be
changed.
listype
specifie~

CHGNTRY is used to cause BTAM to suspend or
resume polling or addressing of a sp~cific
remote station or component represented by
a terminal list entry or to change the
value of a control byte in an answering
list of the SWLST forro. 1 For a programmed
polling list or an addressing list, CHG~TRY
sets the skip bit of the entry to 1, if
polling or addressing is to be skipped; or
sets the bit to 0, if polling or addressing
is to be resumed. For an Auto Poll polling
list, CHGNTRY moves an entry to be skipped
to the end of the list so that all active
entries appear at the beginning of the
list, and all entries to be skipped appear
at the end of the list. CHGNTRY moves an
entry to be reactivated back to its original position in the list.
You must issue a separate CHGNTRY for
each list entry you wish to skip or activate, or for each SWLST control byte value
to be changed.
You can change a terminal list entry
only if the -list is not currently in use by
a Read or Write operation.
You should
therefore issue CHGNTRY only after making
sure that no Read or write operation is in
progress on the line to which the list applies. If you wish to change the list
while wraparound polling is in progress,
first issue a RESETPL macro to terminate
polling, then issue a CHGNTRY for the entry
to be changed.
CHGNTRY cannot be used to modify a terminal list of the IOLST or BSCLST format.
!~~

A special form of the CHGNTBY macro
instruction is used for the.local 3270
display system. See "Attention
Interruptions and Read Initial Operations"
in the section "IBM 3210 Display Systemprogramming Considerations •••

r--------T---------T----------------------,
I operation I Operand
I

I Name

~--------+---------+----------------------i

I [symbolllCHGNTRY I listaddr,listype,
I
I
I
Ilistposition,numchars, I
IL ________ I _________ I action
______________________ JI
~

~

1CHGNTRY cannot be used to change the control byte value of a calling list of the
SWLST form.

the type of list, as coded
in the DFTRMLST macro that defined
the list: OPENLST, WRAPLST, DI~LST,
SSALST, SSAWLST, AUTOLST, AUTOWLST,
or SWLST.
(IDLST, BSCLST and WTTALST
are invalid operands.)
listposition
Specifies the original relative position in the list of the entry to be
changed. Code a 1 if the first entry
is to be changed, 2 if the second
entry, etc.
numchars
Soecifies the number of polling or
atidressing characters in each entry
of the list. This operand may be
omitted if listype is SSALST,
SSAWLST, or SWLST.
action
Specifies the action to be performed
on the entry:
• For listypes other than SWLST:
SKIP
indicates that polling or addressing is to be suspended. ,
ACTIVATE
indicates that polling or addressing is to be resumed.
• For a listype of SWLST:
The following operands specify the
action to be performed when the 10
ENQ sequence is received from a
remote station on a Read Connect
operation.
ACTIVATE
specifies that BTAM is to send
the 10 ACK-O sequence contained
in the idsent field of the answering list, and then read a
message block, if any. ACTIVATE
sets the control byt.e to xi' 00 • •
OISC
specifies that BTAM is to send
the disconnect signal (OLE EOT)
and then break the line connection.
(The two commands that
perform this function are part of
the Read Connect channel program.) BTAM then restarts the
Defining the Teleprocessing System

37

channel program at the Enable
command to await a new call.
DISC sets the control byte to
X'Ol'.
POST
specifies that BTAM is to post
the Read Connect operation complete. The -user program then
must take the appropriate action.
POST sets the control byte to
X' 02' •

Return C~~§~ After you issue a CHGNTRY
macro with a listype of SSALST, SSAWLST,
AUTOLST, or AUTOWLST only, ETAM indicates
the result of the operation, by means
of a return code in register 15:
Meaning
X'OO'

38

The requested action was oerformed, or it was already"performed Ci.e.,polling or address-

OS BTM1 SRL

ing was already suspended or
resumed) •
X'04'

The requested action was not performed, because the terminal list
is in use by a Read or Write
operation.

X'OS'

The requested action was !l2.! performed, because the value coded
in the listposition operand
exceeded the number of entries in
the list, i.e., no such entry
exists.

BUFFER MANAGEMENT

This chapter describes how to construct
buffer pools, obtain buffers through both
programmer buffering and dynamic buffering,
and release buffers after use. Dynamic
buffering for Read and for write operations
is differentiated.

CONSTRUCTING BUFFER POOLS
If you intend to use buffers for holding
input and output messages, a buffer pool
must be constructed in one of several ways,
as illustrated by Figures 7 through 10.
Only those operands of concern in constructing buffer pools are shown. The
BUILD, GETMAIN and GETPOOL macro instructions mentioned below are fully explained
in the Supervisor and Data Management Macro
Instructions publication.

Figures 7 and 8 show examples that use
DS statements and the GETMAIN macro.

Using the GETPOOL Macro Instruction
You may issue a GETPOOL macro instruction
either before opening the data control
block to be associated with this buffer
pool or during the DCB exit routine.
In
the GETPOOL macro specify the address of
the data control block and the number and
length of the buffers you need. You must
also specify the buffer length in the DCB
macro (BUFL operand).
GETPOOL obtains sufficient storage to
accommodate the pool, structures the buffer
control block and the buffer chain, and
places the buffer control block address in
the data control block. See Figure 9.

Using the BUILD Macro Instruction

BTAM Construction of Buffer Pools

First, reserve a storage area at assembly
time using DC orDS instructions, or issue
a GETMAIN macro instruction to obtain the
space. The area must begin on a fullword
or doubleword boundary, and must contain
enough space for an eight-byte buffer control block and the number of buffers
needed.

If you wish for BTAM to provide the buffer
pool automatically, you simply specify the
number of buffers (BUFNO) and their length
(BUFL) in the DCB macro for the line group
that is to use the buffer pool. During the
opening of the data control block, BTAM
uses the operating system data management
facilities to obtain main storage for the
buffer pool, and then structures it. See
Figure 10.

Then issue a BUILD macro instruction
specifying the number of buffers, their
length, and the address of the area
reserved at assembly time or obtained by
the GETMAIN macro (GETMAIN provides the
address, in a register, of the area it has
obtained). The BUILD macro constructs the
buffer control block and the buffer chain.
The length of each buffer must be four
bytes longer than the length of the data to
be placed in the buffer, because BTAM uses
the first four bytes of each buffer as a
link field containing the address of the
next buffer.
If this caution is not
observed, the data, when placed in the buffers, may overlay the link field, which
will destroy the link addresses and thus
cause loss of data.
In the DCB mac~o instruction for each
line group that is to use this buffer pool,
specify the address of the buffer control
block (BUFCB operand).

Once a buffer pool has been constructed,
you can either request buffers yourself,
before the Read or Write operation that
will use them (programmer buffering), or
let BTAM obtain them automatically (dynamic
buffering) .

PROGRAMMER BUFFERING
To obtain buffers yourself, issue a REQBUF
macro instruction, specifying how many you
need. Then check the return code in register 15 to determine whether all of the buf~
fers you requested, some of them, or none
of them are available to you. If any are
available,REQBUF provides, in a register
you have designated, the address of the
first buffer. Simply specify this address
in the READ or WRITE macro instruction.
In
Buffer Management

39

the case of a WRITE macro, you move the
message to be written into the buffers,
beginning at the address of the first
buffer.
In moving an output message into a buffer chain, remember that each buffer begins
with a fullword link field. You must fill
each buffer individually, inspecting the
link field each time to learn the location
of the next buffer. The address of the
buffer, plus four bytes, yields the address
where the message data should begin.
After you issue a REQBUF macro instruction, the return code in register 15 may
indicate that only some of the buffers you
requested are available, or none of them.
If some buffers are available, they are
assigned to you. The address of the first
one is in the register you designate, and
register 0 indicates how many of the buffers that you requested were unavailable.
The action you take when the full number
of buffers is not available depends on your
application. Either use the number of buffers supplied (if any) and issue another
REQBUF for the remainder: or, issue a
RELBUF macro to release the ones supplied
to you and reissue the REQBUF for the orig~
inal number of buffers you requested.
If
the insufficient-buffer condition occurs
infrequently, the cause is probably a
momentary peak of activity on several lines
at once.
In this case, you will most likely obtain the buffers you need the next
time you issue the REQBUF macro. On the
other hand, frequent recurrence of this
condition indicates that you should
increase the number of buffers in the pool,
as the amount of transmission activity on
the lines using the pool exceeds the present capacity of the pool.

READ OPERATIONS
The first buffer for a Read operatio~ may
be obtained in one of two ways: either you
supply the buffer yourself, by giving its
address in the area operand of the READ
macro, or you let BTAM provide the first
buffer by coding'S' as the area operand.
BTAM places the address of the first buffer
it obtains in the DECAREA field of the DECB
for the line. This tells you where the
received message begins. Regardless of
which method you choose BTAM automatically
obtains all subsequent buffers needed to
contain the data being received. If you
provide the first buffer yourself, BTAM
automatically places the address of the
first buffer it provides in the high-order
fullword of your buffer and reads data into
your buffer beginning at the second
fullword.
An advantage of supplying the first buffer yourself is that it need not be a buffer from the buffer pool; it can be an area
you have defined in your program as the
place where all incoming messages begin;
this affords you the convenience of always
beginning your message processing at the
same main storage address. Another advantage is that this area can be small compared to the size of your buffers allowing
short messages to be read into this small
area rather than into a regular buffer.
Improved buffer utilization results, especially when the pool consists of a small
number of large buffers.
After each buffer is full, it is
posted complete. The first word of each
buffer is treated as an event control
block (ECB). A completion code is set
in the high-order byte of the ECB, and
the address of the next buffer is placed
in the three low-order bytes.

DYNAMIC BUFFERING
To be able to use dynamic buffering for
a line group, you must specify BFTEK=D in
the DCB macro instruction for the line
group. Because channel programs differ for
dynamic buffering and programmer buffering,
and all lines in a line group use the same
channel programs,you must use either
dynamic buffering or programmer buffering
for all lines in the group; you cannot use
dynamic buffering for some lines, and programmer buffering for others.
Note: Dynamic buffering cannot be used
for the local 3270 display system. If
dynamic buffering is specified, the
specification is ignored.
Read operations and Write operations
employ dynamic buffering somewhatdifferently.
40

OS BTAM SRL

The user program may wait for the
entire message block to be read by issuing
a WAIT macro for the primary ECB, in the
same manner as is done without dynamic
buffer allocation. Alternatively, the
user program may wait for each buffer
to be posted complete. This is
accomplished by obtaining the address
of the first buffer from the DECB and
using that address as the ECB address
in a WAIT macro instruction. After the
first wait completes, the user program
may obtain the address of the second
buffer from the chain address field of
the first buffer and issue a WAIT macro
instruction for the second buffer.
Succeeding buffers are waited for in a
similar manner. After each buffer
completes, the user program must check
for a zero chain address, which indicates
that it is the last buffer in the chain.

As the Read operation progresses, BTAM
obtains buffers successively until it
detects the receipt of an ending character
such as ETB, ETX, or EOT. When this
occurs, BTAM does not obtain any more buffers.
If by the time the ending character
is received BTAM has obtained another buffer, BTAM releases that buffer automatically, unless the ending character is in
the last byte of the current buffer. In
this event, you must release the extra buffer yourself. You may check for this condition in one of two ways.
1.

Compare the residual count in the
DECCOUNT field against the buffer
length in the DCBBUFL field, minus
four.
If count and length-minus-four
are equal, the last buffer BTAM
obtained for the Read operation is
unused.
(This method cannot be used
if the Read operation includes the
Reset function r e.g., the Read Initial
and Reset (TIR) option.)

2.

Test the last byte of the next-to-last
buffer for an appropriate ending character.
If one is present, the last
buffer is unused.

When you detect an unused buffer,
release it with a RELBUF macro pnd place
zeros in the low-order three bytes of the
high-order word of the next-to-Iast buffer

_______
_____________
_________
_________
J
~

~

~

WRITE Erase (TS)
WRITE Erase and Reset (TSR)
(Display Only)
WRITE Erase has the same function as a
WRJTE Initial, but also causes the display
station screen to be erased before the message is displayed.

IBM 2260---2848, 2265---2845

1. Write
2. Write
3. Write
4. Read
5. Write
6. write
7. Read
8. Write

STX and 15 EOT's
Addressing sequence
Erase code
Response
STX
Text
Response
(TSL only)
STX EOT EOT EOT

WRITE continue (TT)
WRITE Continue and Reset (TTR)
(Display or Printer)

Write
Write
Read
write

STX
Text
Response
STX EOT EOT EOT

(TTR only)

(TA~

WRITE Positive Acknowledgment ~rites a
posit~ve acknowledgment and an EOT to indicate that the computer received the message
text without error and to stop line activity.
This macro is for use following a Read
operation when you ,wish to stop receiving
from the display station.
1. Write

WRITE continue writes a message block and
receives a response. This macro is for use
following any Read or Write operation that
did not include the Reset function.
1.
2.
3.
4.

WRITE Positive Acknowledgment
(Display Only)

STX EOT

WRITE Negative Acknowledgment (TN)
.(Display Only)

WRITE Negative Acknowledgment ~rites an
EOT, which constitutes a negative response
indicating that the computer received the
message text with an error and to stop line
activity. This macro is for use following
a Read operation when you wish to stop
receiving from the display station.
1. Write

EOT

Start-stop Read and Write' Operations

79

IBM 2740 --- General Information

received the message incorrectly and
the program should resend the same
message).

IBM 2740 COMMUNICATIONS TERMINAL--GENERAL
INFORMATION
The IBM 2740 Communications Terminal
(Model 1 or 2) is available with several
features or combinations of features. Of
these, BTAM supports the following:

3.

Each message sent to a 2740 Model 2
that is equipped with the Buffered
Receive feature must end with an EOT
character; the EOT must be s~pplied by
the user program.

4.

Multiple-block messages must not be
sent to a 2740 Model 2 that is
equipped with the Buffered Receive and
Checking features, because (a) the
contents of the buffer are printed
only when an EOT is received from the
computer, and (b) all blocks are read
into the same buffer. This means that
if a multiple-block message is
received, only the block received just
prior to the EOT will be printed; all
previous blocks will have been successively overlaid in the buffer.

5.

In sending message text to a 2740
Model 2 with the Buffered Receive feature, be careful to avoid a buffer
overflow condition that will occur if
the central computer sends a message
block exceeding the capacity of the
terminal buffer. This can happen even
when the length of the message block
in main storage is less than the buffer size. For each change in case
(upper' to lower, or vice versa).11 the
TCU inserts a shift character in the
data stream going to the terminal.
You should ensure not only that the
length of the message block in main
storage ~s shorter than the 2740 buffer, but 'that it is shorter by an
amount sufficient to allow for the
inserted shift characters.

6.

The Model 2 responds to addressing
with a two-character reply.
If the
response is positive, the first character indicates whether an error
occurred during the previous write
operation while transferring data from
the buffer to the printer; if an error
occurred, its nature is indicated.
The second character is the positive
response R

2740 on Nonswitched Lines:
Basic 2740
2740 with Checking
2740 with Station Control
2740 with Checking and station Control
2740 with Checking and 2760 Optical
Image Unit
2740 on switched Lines:
2740 Dial
2740 Dial, with Checking
2740 Dial, with Transmit Control
2740 Dial, with Checking and Transmit
Control
2740 Dial, with Checking and 2760
Optical Image Unit
The channel programs differ for the
various feature combinations and are therefore explained separately on the following
pages.
(See a subsequent heading, IBM 2760
optical Image Unit, for information about
the 2760.)
Programming Notes:
1.

2.

80

Operator awareness:
The 2740 wit~out
station control and transmit control
does not react to a transmission control
unit (TCD) timeout, nor does it tiMe
out along with the ~CU. Following a
TCD timeout, the 2740 is left in transmit
text mode anJ is unresnonsive to channel
commands. The terminal operator must
then depress the EDT key or pow~r down
and back up to place the 2740 in control
receive mode.
Only 2740 terminals equipped with the
Checking feature provide an automatic
response to messages received from the
computer. For 2740s not having this
feature, responses, if desired, must
be entered manually from the 2740 keyboard, and the program must be able to
receive such responses. That is, each
write operation for which a response
is required must be followed by a Read
operation.
It is up to the user to
establish a convention for responses;
for example, to consider the letter Y
received from the terminal as a positive response (the terminal received
the message correctly) and the letter
N received from the terminal as a
negative response (the terroinal

OS BTAM SRL

®.

If the response is negative, the first
character indicates the reason for
that response; the second character is
the negative response,®.
The two-character response is receivej
in the DECRESPN field of the DECB for
the line.
The operation is posted complete, with
or without error, in the event control

IBM 2740 --- General Information

block for the line, and the appropriate bits are set in the DECFLAGS field
of the DECB.
Following each Write operation you
should examine the first byte of the
DECRESPN field to determine whether an
error occurred, and .what kind it is.

Negative response (second character is

~

First
Character
X'04'

The characters (in .hexadecimal notation) and their meanings are as
follows.

X'02'

X'20'

Positive response (second character is

X'lO'
X'13'

First
Character

X'08'

(!)

X'Ol'
X' 23'
X'2S'
X'29'

Meaning
(No error; buffer successfully printed)
Failure in electronic
circuit
I/O device failure
VRC error in text received
on line

Parity error in text
received on line.
When the first character
is other than X'Ol', BTAM
prints message IEAOOOI (I/O
ERR) at the central computer console (and/or teleprocessing or other console, if the operating system includes multiple console support). See Appendix C for the format of
this message.

Meaning
Terminal is in Bid mode
Terminal is in Communicate mode
Terminal is in Communicate mode with document
device down
Terminal is in Local mode
Terminal is in Communicate mode but is out of
paper
Contents of buffer are
being printed.

When the first character is X'10, X'13', or
X'20', BTAM posts the
operation complete-witherror (completion code
X'41' in DECSDECB) and
prints message IEAOOOI
(I/O ERR) at the central
computer console (and/or
teleprocessing or other
console, if the operating
system includes multiple
console support). See
Appendix C for the format
of ~his message. When the
first character is X'02',
X'04', or X'()8', ilTA!'·l posts
the operation with normal
completion.

start-stop Read and write Operations

81

IBM 2740 --- Basic

IBM 2740 (BASIC)

WRITE MACRO INSTRUCTIONS

Read and Write· operations for the basic
2740 require no terminal lists.

WRITE Initial (TI)
WRITE Initial and Reset (TIR)

READ MACRO INSTRUCTIONS

WRITE Initial writes an EOA to place the
terminal in receive state, then writes message text. This is the only macro used to
send text.

READ Initial (TI)
READ Initial monitors the line for an EOA
sent by the terminal and reads the message
block that follows. This is the only macro
used to receive text.
1.
2.
3.

Write
Prepare
Read

EOT

82

OS BTAM SRL

Text

1.
2.
3.

write
write
Write

EOA and 15 Idle Characters
Text
EOT (TIR only)

IBM 2740··· Checking

IBM 2740 WITH CHECKING FEATURE
The macro instructions in this section
apply to a 2740 used as an operator's console (under the Multiple Console Support
option of the operating system) as well as
to a 2740 used as a regular terminal.
Read and Write operations for the 2740
with the checking feature require no terminal lists.

WRITE MACRO INSTRUCTIONS

programming Notes
1.

Each outgoing message block must end
with EOB.

2.

Once it is in receive mode, the terminal cannot begin sending message text
until it receives EOT. Therefore,
following one or more Write operations, you must arrange to send EDT
to put the terminal in stand-by mode.
This may be done by specifying the reset
option in the last Write operation (i.e.,
TIR, TTR, or TVR) , or by following the
last Write operation by a Write TN macro.

READ MACRO INSTRUCTIONS
READ Initial (TI)
READ Initial and Reset (TIR)
READ Initial monitors the line for an EOA
sent by the terminal and reads the message
block that follows.
1.
2.
3.
4.
5.

Write
Prepare
Sense
Re:ld
Write

EOT EOT EOT
Text
EOA EOT EOT EOT (TIR only)

READ Continue (TT)
READ Continue and Reset (TTR)
READ continue writes a positive response
and reads a message block. This macro is
for use following a successful READ Initial
(TI), READ Repeat (TP), or another READ
continue to receive another message block
from the same terminal and component that
sent the previous block.
1.
2.
3.

Write
Read
Write

G)

Text
EOA EOT EOT EOT (TTR only)

READ Repeat (TP)
READ Repeat and Reset (TPR)
READ Repeat writes a negat.ive response and
reads a message block. This macro is for
use following an unsuccessful READ Initial
(TI), READ continue (TT), or another READ
Repeat, to receive the same message block
read by the previous operation.
1.
2.
3.

Write
Read
Write

Restriction:
If a Read Initial operation inmediately
follmvs a :"1ri te \'1i th Reset operation,
t~e first byte of data may be lost.

@

Text
EOA EO'!' EOT EOT (TPR only)

WRITE Initial (TI)
WRITE Initial and Reset (TIR)
WRITE Initial writes an EOA to place the
terminal in receive state and turn on. the
terminal motors, writes message text, and
reads the response.
1.
2.
3.
4.

write
write
Read
Write

EDA and 15 idle Characters
Text
Response
EDT (TIR only)

WRITE continue (TT)
WRITE continue and Reset (TTR)
WRITE Continue writes a message block and
reads a response from the terminal. This
macro is for use following a WRITE Initial
(TI) or another WRITE Continue.
1.
2.
3.

write
Read
Write

Text
Response
EDT (TTR only)

WRITE Conversational (TV)
WRITE Conversational and Reset (TVR)
WRITE Conversational writes an EOA to place
the terminal in receive state, writes message text, and reads the response. This
Start-Stop Read and Write Operations

83

IBM 2740 --- Checking

macro is for use following a Read operation, to change from receiving text to
sending text.
1.
2.

3.
4.

write
Write
Read
write

WRITE Positive Acknowledgment writes a
positive acknowledgment and an EOT sequence
to indicate to the terminal that the computer received message text without error
and to stop line activity. This macro is
for qse after a Read operation, when you
wish to stop receiving from the terminal
before the terminal has sent an EOT.

EOA
Text
Response
EOT (TVR only)

WRITE Continue Conversational

WRITE Positive Acknowledgment (TA)

('!'TV)

1.
WRITE continue Conversational writes a message block and reads a response from the
terminal, then resets it to control mode,
monitors the line for an EOA from the terminal and reads the message block that
follows.
1.
2.
3.
4.

5.
6.

Write
Read
Write
Prepare
Sense
Read

Text
Response
EOT EOT EOT
Text

Programming Note: WRITE TTV performs
exactly the same functions as would be performed by a WRITE continue (TT) followed by
a READ Initial (TI), but saves coding
effort by allowing you to verify successful
initiation and conclusion of the operation
(i.e., by checking return and completion
codes) just once, instead of after each of
the two separate macro instructions.

84

OS BTAM SRL

write

EOA EOT EOT EOT

WRITE N§gative Acknowledgment (TN)
WRITE Negative Acknowledgment writes an Eor
sequence to indicate to the terminal that
the computer received text with an error
and to stop line activity. The terminal
interprets the EOT sequence as a negative
response. This macro is for use after a
Read operation, ~hen you wish to stop
receiving from the terminal before the terminal has sent an EOT, or after one or more
write operations, when you wish to begin
receiving from the terminal via Read operations (the terminal cannot begin sending
text until it receives EOT).
1.

Write

EOT EOT EOT

IBM 2740 --- Dial-up

IBM 2740 WITH DIAL-UP FEATURE

after a previous READ or WRITE macro has
established the line connection.

DEFINING TERMINAL LISTS

1.
2.
3.
4.

Read Operations
A Read Initial operation requires an answering list, which you define ry coding
the operand field of a DFTRMLST macro like
this:

Prepare
Read
Text
write
EaT (TVR only)
Disable (TVR only)

WRITE M..l\CRO INSTRUCTIONS

r-----------------------------------------,

IL _________________________________________
DIALST,O
JI

write Operations
A Write Initial operation .requires a calling list, which you define by coding the
DFTRMLST operand field like this:

r-----------------------------------------,

Il _________________________________________
DIALST,dialcount,dialchars
JI

WRITE Initial (TI)
WRITE Initial and Reset (TIR)
WRITE Initial dials a terminal, writes an
EOA to place the terminal in receive state,
and writes message text.

1.
2.
3.
4.
5.
6.

7.

Disable
Dial
Dial digits
Write
Pad characters
Write
EOA
Write
Text
EaT (TIR only)
Write
Disable (TIR only)

READ MACRO INSTRUCTIONS
WRITE Conversational (TV)
WRITE Conversational and Reset (TVR)
READ Initial (TI)
READ Initial and Reset (TIR)
READ Initial answers a call from a terminal
and reads a message block.
1.
2.
3.
4.
5.
6.

Disable
Enable
Prepare
Read
Text
Write
EOT (TIR only)
Disable (TIR only)

READ Conversational (TV)
READ Conversational and Reset (TVR)
READ Conversational monitors the line for
an EOA sent by the terminal and reads the
message text that follows.
This macro is
for reading a message block from a terminal

WRITE Conversational writes an EOA to place
the terminal in receive state and writes
message text. This macro is for use following a Read operation to change from
receiving text to sending text, when the
line connection is already established.
1.
2.
3.
4.

write
EOA
Write
Text
Write
EaT (TVR only)
Disable (TVR only)

WRITE Disconnect (TN)
WRITE Disconnect breaks the line
connection.
1.
2.

Write
Disable

EaT

start-stop Read and Write Operations

85

IBM 2740 --- Dial-up, Checking

IBM 2740 WITH DIAL-UP AND CHECKING FEATURES

1.
2.
3.
4.

®

Write
Read
Text
Write
EOA EOT (TTR only)
Disable (TTR only)

DEFINING TERMINAL LISTS
READ Reoeat (TP)
READ Reoeat and Reset (TPR)

Read Operations
.A Read Initial operation requires an answering list, which you define by coding
the operand field of a DFTRMLST macro like
this:
r-------~---------------------------------,

IL_________________________________________
DIALST,O
JI

READ Repeat writes a negative response and
reads a message block. This macro is for
use following an unsuccessful READ Initial
(TI), READ Continue (TT), or another READ
Repeat, to receive the same message block
read by the previous operation.
1.
2.
3.
4.

Write
Read
Write
Disable

®

Text
EOA EOT (TPR only)
(TPR only)

write Operations
A Write Initial operation requires a calling list, which you define by coding the
DFTRMLST operand field like this:

READ Conversational (TV)
READ Conversational and Reset (TVR)

r-----------------------------------------,

READ Conversational monitors the line for
an EOA sent by the terminal and reads the
message block that follows. This macro is
for use following a write operation, to
change from sending text to receiving text.

~

IL _________________
DIALST,dialcount,dialchars
_______________________ JI

READ MACRO INSTRUCTIONS
READ Initial (TI)
READ Initial and Reset (TIR)
READ Initial answers a call from a terminal, monitors the line for an EOA sent by
the terminal, and reads the message block
that fo1.lows.
1.
2.
3.
4.
5.
6.

Disable
Enable
Prepare
Read
Text
Write
EOA EOT (TIR only)
Disable (TIR only)

READ Continue (TT)
READ Continue and Reset (TTR)
READ Continue writes a positive response
and reads a message block. This macro is
for use following a successful READ Initial
(TI), READ Repeat (TP), or another READ
Continue to receive another message block
from the same terminal and component that
sent the previous block.
86

OS BTAM SRL

1.
2.
3.
4.
5.

write
EOT
Prepare
Read
Text
Write
EOA EOT (TVR only)
Disable (TVR only)

WRITE MACRO INSTRUCTIONS
Programming Note: Each outgoing message
block must end with EOB.

WRITE Initial (TI)
WRITE Initial and Reset (TIP)
WRITE Initial dials a terminal, writes an
EOA to place the terminal in receive state,
writes message text, and reads the response
to text.
1.
2.
3.
4.
5.
6.
7.
8.

Disable
Dial
Dial digits
Write Pad characters
Write EOA
Write Text
Read
Response
write EOT (TIR only)
Disable (TIR only)

IBM 2740 --- Dial-up, Checking

WRITE continue (TT)
WRITE continue and Reset (TTR)

5.

WRITE Continue writes a message block and
reads a response fro~ the terminal.
This
macro is for use following a WRITE Initial
(TI) or another WRITE Continue.

Programming Note: WRITE TTV performs the
same functions as would be performed by a
WRI~E continue (TT) followed by a READ Conversational (TV), but saves coding effort
by allowing you to verify successful
initiation and conclusion of the operation
(i.e., by checking return and completion
codes) just once, instead of after each of
the two separate macro instructions.

1.
2.
3.
4.

Write
Text
Read
Response
Write
EOT (TTR only)
Disaole (TTR only)

6.

Sense
Read

Text

WRITE Conversational (TV)
WRITE Conversational and Reset (TVR)

WRITE Positive Acknowledgment and
Disconnect (TA)

WRITE Conversational writes an EOA to place
the terminal in receive state, writes message text, and reads the response. This
macro is for use following a Read operation, to change from receiving text to
sending tex:t.

WRITE Positive Acknowledgement and Disconnect writes a positive response to text (an
EOA) and breaks the line connection. This
macro is for use following a successful
READ operation when you wish to break the
line connection instead of receivin9 the
remaining blocks of a message.

1.
2.
3.
4.

5.

write
write
Read
write
Disable

EOA
Text
Response
EOT (TVR only)
(TVR only)

1.
2.

write EOA EOT
Disable

WRITE Negative Acknowledgment and
Disconnect (TN)
WRITE continue Conversational (TTV)

WRITE Continue Conversational writes a message block and reads a response from the
terminal, then resets it to control mode,
monitors the line for an EOA from the terminal and reads the message block that
follows.

1.
2.
3.
4.

write
Read
write
Prepare

Text
Response
EOT EOT EOT

WRITE Negative Acknowledgment and Disconnect writes a negative acknowledgment (the
EOT character serves this purpose) and
breaks the line connection. This macro is
for us~ following an unsuccessful Read
operatfon when you wish to break the line
qonnection instead of receiving the remaining blocks of a message. The macro may
also be used after a write operation when
you wish to break the line connection.
1.
2.

Write
EOT
Disable

start-stop Read and Write Operations

87

IBM 2740 --- Dial-up, Transmit Control

IBM 2740 WITH DIAL-UP AND TRANSMIT CONTROL
FEATURES
caution: A 2740 having the Transmit Control feature is equipped with a Transmit
Control switch.
This switch must always be
in the MTC position when the 2740 is under
BTAM control.

DEFINING TERMINAL LISTS
A Read Initial or Write Initial operation
that answers a call from a terminal
requires an answering list, which you
define by coding the operand field of a
DFTru~LST macro like this:

the response is positive, reads a message
block.
If the response is negative, the
operation is posted complete.

1.
2.
3.
4.
5.
6.
7.
8.

Disable
Enable
Write
Pad characters
Write
Selection sequence
Read
Response
Read
Text
Write
EOT (TIR only)
Disable (TIR only)

READ Conversational (TV)
READ Conversational and Reset (TVR)

r-----------------------------------------,
IL_________________________________________
DIALST,O
I
J

A Read Initial or Write Initial operation
'that calls a terminal requires a calling
list, which you define by coding the
DFTRMLST operand field like this:

r-----------------------------------------l

IL_________________________________________
DIALST,dialcount,dialchars
JI

READ Conversational writes a selection
sequence, and if the response is positive,
reads a message block.
If the response is
nega~ive, the operation is posted complete.
This macro is for use following a Write
operation, to change from sending text to
receiving text.

1.
2.
3.
4.
5.

Write
Selection sequence
Response
Read
Read
Text
EOT (TVR only)
Write
Disable (TVR only)

READ MACRO INSTRUCTIONS
WRITE MACRO INSTRUCTIONS
READ Initial (TI)
READ Initial and Reset (TIR)
(Using Calling List)
READ Initial dials a terminal, writes a
selection sequence, and if the response is
positive, reads a message block. If the
response is negative, the operation is
posted complete.

WRITE Initial (TI)
WRITE Initial and Reset (TIR)
(Using Calling List)
WRITE Initial dials a terminal, writes an
EOA to place the terminal in receive state,
and writes message text to the terminal.

1.
1.
2.
3.

4.

s.
6.
7.
8.

Disable
Dial
Write
write
Read
Read
Write
Disable

Dial digits
Pad characters
Selection sequence
Response
Text
EOT (TIR'only)
(TIR only)

READ Initial (TI)
READ Initial and Reset (TIR)
(Using Answering List)
READ Initial answers a call from a terminal, writes a selection s~quence, and if
88

OS BTAM SRL

2.
3.
4.
5.
6.
7.

Disable
Dial
Dial digits
Pad characters
Write
Write
EOA
Write
Text
EOT (TIR only)
write
Disable (TIR only)

WRITE Initial (TI)
WRITE Initial and Reset (TIR)
(Using Answering List)
WRITE Initial answers a call from a terminal, writes an EOA to place it in receive
state, and writes message text to the
terminal.

IBM 2740 --- Dial-up, Transmit Control

1.
2.
3.
4.

s.

6.

7.

Disanle
Enable
Write
Pad characters
Writ;e
EOA
Write
Text
EOT (TIR only)
Write
Disable (TIR only)

WRITE Conversational (TV)
WRITE Conversational and Reset (TVR)
WRITE Conversational writes message text to
the terminal.
This macro is for use following a Read operation, to change from
receiving text to sending text.

1.
2.
3.
4.

Write
EOA
write
Text
write
EOT (TVR only)
Disable (TVR only)

WRITE Disconnect (TN)
WRITE Disconnect breaks the line
connection.
1.
2.

Write
Disable

EOT

Start-Stop Read and Write Operations

89

IBM 2740··· Dial-up, Transmit Control, Ch~cking

IBM 2740 WITH DIAL-UP, TRANSMIT CONTROL,
AND CHECKING FEATURES

the response is positive, reads a message
block.

1.
2.
3.
4.
5.
6.
7.
8.

Caution: A 2740 having the Transmit Control feature is equipped with a Transmit
Control switch. This switch must always be
in the MTC position when the 2740 is under
HTAM control.

Disable
Enable
write Pad characters
write Selection sequence
Read
Response
Read
Text
write EOA EOT (TIR only)
(TIR only)
Disable

DEFINING TERMINAL LISTS
READ Continue (TT)
READ continue and Reset (TTR)
A Read Initial or Write Initial operation
that answers a call from a terminal
requires an answering list, which you
define by coding the operand field of a
DFTRMLST macro like this:

r-----------------------------------------,

Il _________________________________________
DIALST,O
JI
A Read Initial or· Write Initial operation
that calls a terminal requires a calling
list, which you define by coding the
DFTRMLST operand field like this:

READ continue writes a positive response
and reads a message block. This macro is
for use following a successful READ Initial
(TI), READ Repeat (TP), or another READ
Continue to receive another message block
from the same terminal and component that
sent the previous block.

1.
2.
3.
4.

o

Write
Read
Text
Write
EOA EOT (TTR only)
Disable (TTR only)

r-----------------------------------------,

Il _________________________________________
DIALST,dialcount,dialchars
JI
READ Repeat (TP)
READ Repeat and Reset (TPR)
READ MACRO INSTRUCTIONS
READ Initial (TI)
READ Initial and Reset (TIR)
(Using Calling List)
READ Initial dials a terminal, writes a
selection sequence, and if the response is
positive, reads a message block. If the
response is negative, the operation is
posted complete.
1.
2.
3.
4.
5.
6.
7.
8.

Disable
Dial
Dial digits
Write Pad characters
Write Selection sequence
Read
Response
Read
Text
Write EOA EOT (TIR only)
Disable (TIR only)

READ Initial (TI)
READ Initial and Reset (TIR)
(Using Answering List)
READ Initial answers a call from a terminal, writes a selection sequence, and if
90

OS BTAM SRL

READ Repeat writes a negative response and
reads a message block. This macro is for
use following an unsuccessful READ Initial
(TI), READ continue (TT), or another READ
Repeat, to receive the same message block
read by the previous operation.

1.
2.
3.
4.

®

Write
Read
Text
EOA EOT (TPR only)
Write
Disable (TPR only)

READ Conversational (TV)
READ Conversational and Reset (TVR)
READ Conversational writes a selection
sequence, and if the response is positive,
reads a message block.
If the response is
negative, the operation is posted complete.
This macro is for use following a write
operation, to change from sending text to
receiving text.

1.
2.
3.
4.
5.
6.

EOT EDT EOT
Write
Selection sequence
Write
Response
Read
Text
Read
EOA EOT (TVR only)
Write
Disable (TVR only)

IBM 2740 ._. Dial-up, Transmit Control, Checking

WRITE MACRO INSTHUCTIONS

WRITE Conversational (TV)

WRrTEConVersatIOrlaI--ar:idReset

(TVR)

Programming Note:
Each outgoing message
block must end with EOB.

WRITE Initial (TI)
WRITE Initial and Reset (TIR)
(Using Calling List)

WRITE Conversational writes anEOA to place
the terminal in receive state. writes message text, and reads the response.
This
macro is for use following a Read operation, to change from receiving text to
sending text.

WRITE Initial dials a terminal, writes an
EOA to place the terminal in receive state,
writes message text to the terminal, and
reads a response from the terminal.

1.
2.
3.
4.
5.

1.
2.
3.
4.

s.
6.
7.
8.

Disable
Dial
Dial digits
write
Pad characters
write
EOA
Write
Text
Read
Response
Write
EOT (TIR only)
Disable (TIR only)

WRITE Initial (TI)
WRITE Initial and Reset (TIR)
(Using Answering List)
WRITE Initial answers a call from the terminal, writes an EOA to place i t in receive
state, writes message text to the terminal,
and reads a response from the terminal.

1.
2.
3.

4.
5.
6.
7.
8.

Disable
Enable
write
Write
Write
Read
Write
Disable

WRITE Positive Acknowledgment and
Disconnect (TA)

WRITE Positive Acknowledgment and Disconnect writes a positive response to text (an
EOA) and breaks the line connection.
This
macro is for use following a successful
Read operation when you wish to break the
line connection instead of receiving the
remaining blocks of a message.
1.
2.

Write
Disable

EOA EaT

WRIT~

Pad characters
EOA
Text
Response
EaT (TIR only)
(TIR only)

WRITE continue (TT)
WRITE continue and Reset (TTR)
WRITE Continue writes a message block and
reads a response from the terminal.
This
macro is for use following a WRITE Initial
(TI) or another WRITE Continue.
1.
2.
3.
4.

write
EOA
Write
Text
Read
Response
Write
EOT (TVR only)
Disable (TVR only)

Negative Acknowledgment and
Disconnect (TN)

WRITE Negative Acknowledgment and Disconnect writes a negative acknowledgment (the
EOT character serves this purpose) and
breaks the line connection.
This macro is
for use following an unsuccessful Read
operation when you wish to break the line
connection instead of receiving the remaining blocks of a message.
The macro may
also be used after a write operation when
you wish to break the line connection.
1.
2.

Write
Disable

EOT

Write
Text
Read
Response
write
EaT (TTR only)
Disable (TTR only)

start-stop Read and Write Operations

91

IBM 2740 --- Station Control

IBM 2740 WITH STATION CONTROL FEATURE

READ MACRO INSTRUCTIONS
READ Initial (TI)

DEFINING TERMINAL LISTS
READ Initial successively polls the terminals in the polling list, and upon
receiving a positive response to polling,
reads a message block.

Read Operations
A Read Initial operation requires an open
or wraparound polling list. The list may
have one or more terminal entries, each
containing a single polling character that
identifies the terminal. To define a polling list, code the operand field of a
DFTRMLST macro like this:

1.
2.
3.
4.
5.

Write
Write
Write
Read
Read

EOT EOT EOT
Polling character
Space character
Response
Text

WRITE MACRO INSTRUCTIONS
r------------~----------------------------,

IlOPLNLSTl

I

I

WRAPL3T~,(XX,
••• )
_______________________________________
JI

l_~

Write Operations
A Write Initial operation requires an ad-

dressing list having a single entry, containing a single addressing character that
identifies the terminal that is to receive
the output message. To define an addressing list, code the operand field of a
DFTRMLST macro like this:
"

r-----------------------------------------,

IL_________________________________________
OPENLST ,xx
JI

92

OS BTAM SRL

WRITE Initial (TI)
WRITE Initial and Reset (TIR)
WRITE Initial addresses a terminal, and if
the response is positive, writes an EOA to
set the terminal to receive state and
writes message text to the terminal. If
the terminal sends a negative response to
addressing, the operation is posted
complete.

1.
2.
3.
4.
5.
6.
7.

Write
Write
Write
Read
Write
Write
Write

®

EOT EOT EOT
Addressing character
Space character
Response
EOA
Text
EOT EOT EOT (TIR only)

IBM 2740 ... Station Control, Checking

IBM 2740 WITH STATION CONTROL AND CHECKING
FEATURES

READ Continue (TT)
READ Continue and Reset (TTR)
READ Continue writes a positive response
and reads a message block. This macro is
for use following a successful READ Initial
(TI), READ Repeat (TP), or another READ
continue to receive another message block
from the same terminal and component that
sent the previous block.

DEFINING TERMINAL LISTS
Read Operations
A Read Initial operation requires an open
or wraparound polling list. The list may
have one or more terminal entries, each
containing a single polling character that
identifies the terminal. To define a polling list, code the operand field of a
DFTRMLST macro like this:

r-----------------------------------------,

IIOPENLST\

1.
2.
3.

Write
Read
Write

®

Text
EOA EOT EOT EOT (TTR only)

READ Repeat (TP)
READ Repeat and Reset (TPR)

I

WRAPLST ,(xx, ••• )
I _________________________________________
L
JI

write Operations
A Write Initial operation requires an addressing list having a single entry, containing a single addre~sing character that
identifies the terminal that is to receive
the output message. To define an addressing list, code the operand field of a
DFTRMLST macro like this:

r-----------------------------------------,I
IOPENLST,xx
L _______________ - - - - - - -___________________ J

READ Repeat writes a negative response and
reads a message block. This macro is for
use following an unsuccessful READ Initial
(TI), READ Continue (TT), or another READ
Repeat, to receive the same message block
read by the previous operation.
1.
2.
3.

write
Read
Write

WRITE

~CRO

®

Text
EOA EOT EOT EOT (TPR only)

INSTRUCTIONS

Programming Note: Each outgoing message
block must end with EOB.

READ MACRO INSTRUCTIONS
WRITE Initial (TI)
WRITE Initial and Reset (TIR)
READ Initial (TI)
READ Initial and Reset (TIR)
READ Initial successively polls the terminals in the polling list, and upon
receiving a positive response to polling,
reads a message block.
1.
2.
3.
4.
5.
6.

Write
Write
write
Read
Read
Write

EOT EOT EOT
Polling character
Space character
Response
Text
EOA EOT EOT EOT (TIR only)

WRITE Initial addresses a terminal, and if
the response to addressing is positive,
writes EOA followed by message text and
reads the response from the terminal.
1.
2.
3.
4.
5.
6.
7.
8.

Write
Write
write
Read
Write
Write
Read
Write

EOT EOT EOT@)
Addressing character
Space character
Response
EOA
Text
Response
EOT EOT EOT (TIR only)

Start-Stop Read and Write Operations

93

IBM 2740 --- Station Control, Checking

WRITE continue (TT)
WRITE continue and Reset (TTR)

for use after a Read operation, when you
wish to stop receiving from the terminal
before the terminal has sent an EOT.

WRITE Continue writes a message block and
reads a response from the terminal. This
macro is for use following a WRITE Initial
(TI) or another WRITE Continue.

1.

1.
2.
3.

WRITE Negative Acknowledgment (TN)

Write
Read
write

Text
Response
EOT EOT EOT (TTR only)

WRITE Positive Acknowledgment (TA)
WRITE Positive Acknowledgment writes a
positive acknowledgment and an EOT sequence
to indicate to the terminal that the com~
puter received message text without error
and to stop line activity. This macro is

OS BTAM SRL

EOA EOT EOT EOT

WRITE Negative Acknowledgment writes an EOT
sequence to indicate to the terminal that
the computer received text with an error
and to stop line activity. The terminal
interprets the EOT sequence as a negative
response. This macro is for use after a
Read operation, when you wish to stop
receiving from the terminal before the terminal has sent an EOT.

1.

94

Write

Write

EOT EOT EOT

IBM 2760 --- General Information

IBM 2760 OPTICAL IMAGE UNIT - GENERAL
INFORMATION

OPERATION AND MESSAGE FORMATS
This section describes the essential functions of the IBM 2760 optical Image Unit
and explains their relationship to the formats of messages to and from the computer.
(See the 2760 component description publication listed in the Preface for detailed
information on this terminal device.)

FILMSTRIP POSITIONING
After the operator inserts the filmstrip
cartridge lnto the front of the 2760, the
filmstrip drive mechanism positions the
filmstrip in accordance with instructions
from the user program. These instructions
are received in the form of a message of
predefined format, called a frame change
message. Three characters, designated F,
A1 , and A2 , determine how the filmstrip is
to be positioned. The F (function) character specifies the direction of filmstrip
movement (this character has other functions, discussed below). The A1 and A2
characters are codes indicating the amount
(i.e., number of frames> of filmstrip movement. Figure 14 gives the meanings of the
possible values of the F character; Figure
15 gives the codes for the A1 and A2
characters.

Mode
of Operation

Character
Transmitted
AllIl

0

Space (C Bi t)

0

Space (C Bit)

32

@

I

@

64

-

2

-

96

&

3

&

128

1

4

1

Film
Movement

Space

Reverse

Auto EOM

Disabled

1

Forward

Auto EOM

Disabled

2

Reverse

Manual EOM

Disabled

3

Forward

Manual EOM

Disabled

4

Reverse

Auto EOM

Enabled

5

Forward

Auto EOM

Enabled

6

Reverse

Manual EOM

Enabled

7

Forward

Manual EOM

Enabled

Frames of
Film
Movement
or
Number in
Image
Index Counter

Character
Transmitted
A2112

160

/

5

/

192

j

6

j

224

a

7

a

256

2

8

2

288

$

9

s

320

k

10

k

352

b

11

b

384

3

12

3

416

t

13

t

448

,e

14

1

480

c

15

c

16

4

17

u

Manual
Frame Advance

F
Char.

Figure 14.

Frames of
Film
Movement
or
Number in
Image
Index Counter

18

m

19

d

20

5

21

v

22

n

23

e

24

6

25

w

26

0

27

f

28

7

29

x

30

P

31

g

MODES OF OPERATION
In addition to indicating the direction of
filmstrip movement, the F character designates whether the unit is to operate in
Manual or Automatic EOM mode and whether or
not in Manual Frame Advance mode.

F (Function) Character Codes

start-Stop Read and write Operations

95

IBM 2760 .,. General Information

Manual vs.

Automatic EOH Mode

The 27bO operates in one of two modes
when sending a message to the computer.
In
automatic EOH (end of message) mode the
message contains a single set of response
point coordinates (explained below), and
the message is sent automatically when the
terminal operator probes a response point.
In manual EOM mode, more than one set of
response point coordinates can be sent in
the same message.
In this mode, the terminal operator indicates the end of the message by probing the End Entry response
point (one of the three utility response
points).
Manual Frame Advance
Positioning of the filmstrip is ordinarily
performed upon instruction from the user
program. The ~ilmstrip may alternatively
be positioned by the terminal operator;
this, in conjunction with Manual EOM mode,
allows the operator to enter a message containing response points from more than one
image (frame). Use of this feature results
in fewer program interruptions for repositioning the filmstrip and is therefore more
economical of CPU time.
Its use also simplifies logical program organization in that
the program does not have to provide a
frame change message for every possible
circumstance.

96

OS BTAM SRL

The terminal operator moves the filmstrip
by means of the Film switch on the front of
the 2760. He can use the switch only when
it has been made operational ("enabled") by
the program. The F character sent by the
program determines whether the switch is
enabled or disabled.

RESPONSE POINTS AND COORDINATES
Each of the two halves of the Optical Image
Unit screen, the image screen (right half)
and auxiliary screen (left half) has 120
possible response points, in a 10 (horizontal) by 12 (vertical) matrix.
Only a
few, or perhaps one, of these points will
be utilized in any given image (frame) or
overlay.
Each response point is represented by a set of vertical and horizontal
(V and H) coordinates.
It is these coordinates that are sent to the computer when
the operat.or probes a response point. The
user program must contain a table that
associates with each valid response point
some value or bit. setting representing the
response probed by the operator.
Figure 16 gives the V and H coordinates
for each of the response points. Each
coordinate is represented by a character,
which on the communication line is represented by the corresponding bit pattern in
transmission code.

IBM 2760 --- General Information
t-----------------Horizontal P05ition5--------------------..t.1

"""
.
I.

I

I

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

L

15

Id

1m

lu

14

Ie

II

It

13

Ib

Ik

Is

12

la

Ij

1/

11

1&

1-

I@

T

t5

td

tm

tu

t4

tc

tl

tt

t3

tb

2

tk

ts

t2

ta

tj

tl

tl

t&

t-

t@

3

35

3d

3m

3u

34

3c

31

3t

33

3b

3

3k

3s

32

3a

3i

31

31

3&

3-

3@

8

b5

bd

bm

bu

b4

bc

bl

bt

b3

bb

4

bk

bs

b2

ba

bj

bl

bl

b&

b-

b@

K

k5

kd

km

ku

k4

kc

kl

kt

k3

kb

5

kk

ks

k2

ka

kj

kl

kl

k&

k-

k@ k space UNLOAD

55

sd

sm

su

s4

sc

sl

st

s3

sb

6

sk

ss

52

sa

sj

sl

s1

s&

s-

s@

25

2d

2m

2u

24

2c

21

2t

23

2b

7

2k

2s

22

2a

2j

21

21

2&

2-

2@

a@

2

A

I

a5

ad

am

au

a4

ac

al

at

a3

ab

8

ak

as

a2

aa

oj

al

al

a&

j5

jd

jm

ju

j4

jc

jl

jt

j3

jb

9

jk

js

j2

ja

jj

jl

il

j&

j-

j@

15

Id

1m lu

14

Ic

II

It

13

Ib

10

/k

Is

12

la

Ii

II

II

1&

1-

I@

15

ld

1m

lu

14

lc

11

It

13

lb

11

lk

15

12

la

lj

1/

11

1&

1-

1@

&5

&d

&m

&u

&4

&c

&1

&t

&3

&b

12

&k

&s

&2

&a

&j

&I

&1

&&

&-

&@

D

M

U

4

C

T

3

B

2

A

(V) Vertical
Coordinates*

Auxiliary Screen

I

Vertical Positions

I

I
I

I
I
I

I

a-

K

21

&

I

5 space

LOAD
I

I
a space

@-

END
ENTRY

( H) HorizontaI
Coordinates*

Image Screen

* Shown in upper case for ease of reading. The 2760 operates in lower case shift automatically. No case shift characters are required or permitted in messages to or from the unit.

Figure 16. V & H (Vertical & Horizontal) Response Point Coordinate Codes
Utility Response Points
Three special response points appear in a
vertical row to the right of the image
screen. The Load response point, when
probed, indicates to the user program that
the terminal operator has inserted a filmstrip cartridge into the optical Image unit.
Upon receiving the V and H coordinates of
this response point, the user program
should send a frame change message to the
2760 that causes it to advance" the fi.lmstrip to the first frame.
The Unload response point, when probed,
indicates to the user program that it
should send a message that retracts the
filmstrip into the cartridge and ejects the
cartridge.
The End Entry response point is probed at
the end of each message, when the 2760 is
operating in Manual EOM Mode.

IMAGE INDEX COUNTER
Within the Optical Image Unit is an electronic counter called an Image Index Count-

er, which is incremented and decremented in
step with filmstrip movement. The counter
thus maintains a continuous record of which
frame of the filmstrip is currently being
projected. The content of this counter is
transmitted to the computer at the beginning of each message to the computer or,
when manual frame advance is being used, at
the beginning of each sequence of response
points from a given image. The two characters representing the content of the counter are designated 11 and 1 2 •
Upon receipt by the comput'er of each message from the 2760, the user program should
check the 11 12 characters to ensure that
the correct image is being displayed.
Figure 15 shows the characters that
represent the numerical content of the
.image index counter.
If the program sends to the 2760 a message that instructs the mechanism to move
the filmstrip to a point that is beyond its
last frame, an interlock is activated that
prohibits filmstrip movement. This in turn
prevents the image index counter from being
incremented.
Start-Stop Read and Write Operations

97

IBM 2760 --- General Information

MESSAGE FORMATS
Each message from the computer to the IBM
2760 begins with the sequence EOA'PRE 0
(end-of-address, prefix, lowercase 0).
The
PRE o characters indicate that the message
is intended for the 2760 and not for the
IBM 2740 with which it is associated.
Similarly, each message from the 2760 to
the computer begins with EOA PRE o.
The
user program should check the input area
for the presence of these two characters.
(The PRE 0 sequence is represented by
X'3E4C' in transmission code.)
Each message in either direction ends with an EOB
(end-of-block) character.
Figure 17 presents the formats for messages between the computer and the Optical
Image Unit.

computer to IBM 2760
Output messages, referred to as frame
change messages, direct the optical Image
Unit to move the film forward or backward,
set the mode for the subsequent response
message, and specify the amount of filmstrip travel (i.e., number of frames).
See
Figure 14 for the meanings of the possible
values of the F character; see Figure 15
for the coded values representing amount of
filmstrip movement (A 1 and A2 characters>.

IBM 2760 to Computer
Input messages, referred to as response
messages, indicate to the user program
which filmstrip frame is being displayed
for the current response, and give the V
and H coordinates of the response point or
points the operator has probed.

98

OS BTAM SRL

Auto EOM Mode:
In this mode, each probe
action by the terminal operator causes a
complete message, containing the coordinates of one response point, to be sent
to the computer.
Manual EOM Mode, Film Switch Disabled:
In
this mode, a message may contain any number
of response point coordinates.
The
sequence EOA PRE 0 11 12 V1 H1 is sent to
the computer when the first response is
probed.
Each subsequent set of V and H
coordinates is sent individually as each
response point is probed.
The EOB character is automatically sent after the coordinates when the End Entry response point
is probed.
The user program should check for the Enj
Entry response point to ensure that the
message contains the correct number of
responses.
Manual EOM Mode, Film Switch Enabled:
In
this mode, the terminal operator may reposition the filmstrip to a new frame while
entering response points, so that the input
message contains responses from more than
one image.
The image index counter is
incremented or decremented each time the
filmstrip is moved.
The first probe action by the terminal
operator following manual positioning of
the filmstrip causes the sequence PRE a 11
12 V1 H1 ••• to be sent to the computer.
Figure 17 illustrates the message resulting
from entering response points for three
different images.
The only times the operator cannot move
the filmstrip, when the Film Switch is
enabled, are when the image index counter
contains a value of 2 or less, in which
case reverse movement is inhibited; when
the 2760 detects the hole in the tenth
trailer frame, in which case forward,movement is inhibited; and when the 2760 is at
that moment receiving or executing a message from the computer.

•

IBM 2760 --- General Information

In describing 2760 operations, the term
answerback is used instead of response, to
avoid confusion with responses entered by
the terminal operator.)

Computer to 2760 (Frame Change Message)

2760 to Computer (Response Message)

Manual EOM Mode

Automatic EOM Mode:

Manual EOM Mode; Film Switch Disabled:
IEOAI PRE I

0

III

1121

VI I HI I

v21H21···1

----.-

Vn I Hn IEOBI

End Entry
response

Manual EOM Mode; Film Switch Enabled:

In this mode, the On-Line light comes on
when the terminal operator ~robes the first
response point and remains on throughout
the remainder of the message. This should
alert the operator that the terminal is in
Manual EOM mode and accordingly is subject
to the inter-character time-out imposed by
the transmission control unit.
That is,
each subsequent response should be made
within that time limit1. The On-Line light
goes off when the computer replies with a
EOA, or EOT.

0,

(Manual Frame Advance)

(Manual Frame Advance)

End Entry
response

Figure 17.

Message Formats

The audible tone sounds as each response
point is probed, to inform the operator
that the response has been sent to the computer and that he may probe again.
The
final probe action (End Entry) results in
the tone only after the computer replies
with a@ or EOA. This signifies to the
operator that the complete message was
received without error.
If a response point is incorrectly
probed, the tone does not sound and the
Probe Check light appears.
This indicates
that the probe touched the screen at too
small an angle from the vertical or that it
touched outside the designated response
point area.

SIGNALS TO OPERATOR
ERROR DETECTION AND RECOVERY
Two kinds of Signals inform the terminal
operator that his probe actions are
correct. One is a visible indicator: the
On-Line light. The second is an audible
tone.
The use of these signals differs for
Automatic EOM, and Manual EOM mode.

Automatic EOM Mode
When the operator enters responses in this
mode, the On-Line light comes on when he
probes the response point. The audible
tone sounds and the light goes out when the
computer has returned a positive answerback, indicating that it received the message without error. The positive answerback may be a @ or an EOA (see Error Detection and Recovery).

Messages to and from the IBM 2760 are
checked for errors by the Record Checking
facility of the 2740 to which the 2760 is
attached.
In addition, the 2760 checks
messages from the computer for proper
length; all messages from the computer have
the same length.
If a text error or record length error is
detected in a frame change message, the
2760/2740 sends a@ (negative answerback)
character in response to the EOB that ends
the frame change message.
If the EROPT
operand of the DCB macro for the line group
specifies W (retry of write-text errors),
1It may be well
operator of the
suitable phrase
frame for which

to specifically inform the
time limit by means of a
on the image, for each
the limit applies.

Start-stop Read and Write Operations

99

IBM 2760 --- General Information

BTAM error recovery procedures cause the
frame change message (without the EOA character) to be retransmitted up to two more
times. If the error condition persists
beyond the thr~e attempts, or if EROPT does
not specify W, the error condition is posted in the data event control block (DECB)
for the line.
If the frame change message is rec~ed
without error, the 2760/2740 sends a(9
(positive answerback> character. BTAM
responds to the(~with an EOT, which causes
the 2760 to execute the instructions contained in the frame change message.
If a text error is detected in a response
message, and the EROPT operand of the DCB
macro for the line group specifies R (retry
of read-text errors), BTAM error recovery
procedures send a@to the 2760/2740, then
reread the response message. If the optical Image Unit is in Automatic EOM mode, it
automatically res ends the message; if it is
in Manual EOM mode, the terminal operator
must re-enter the entire response message.

ible tone within a reasonable interval after probing.
For information on error indicators at
the Optical Image Unit, see the IBM 27£Q
opti£al Ima~ Unit
Component Description
publication.

=

ON-LINE TESTING
On-line tests for the IBM 2760 are
initiated at the IBM 2740 terminal keyboard. The test request message can be
keyed in whenever the user program issues a
READ macro instruction (other than READ
Skip) without the Reset option, or it may
be keyed in after the filmstrip has been
moved by a WRITE TCO macro.
In order to
use the on-line test facility, the EROPT
field in the DCB for the line group must
specify T.

The error recovery procedures respond
wi th (N) and reread the message up to two
more'E1mes.
If the error condition persists beyond the three attempts, or if
EROPT does not specify R, the error condition is posted in the DECB for the line.

Two tests are available for the 2760:
frame change test (type 10) and scan point
test (type 11). They are designed to test
the filmstrip transport mechanism and the
probe response accuracy of the 2760. See
Test Type Codes in the chapter On-Line
Testing for descriptions of these tests.

If the response message is received
without error, the operation on which the
message was received is posted complete.
The EOA character that begins the next
frame change message serves as a' positive
answerback to the 2760/2740.

On-line tests will generally be run by
the IBM Customer Engineer during periods of
inactivity or as a startup procedure. Once
the testing is completed, the Customer
Engineer will unload the filmstrip and the
operator can continue operation.

It is possible that the terminal operator
will probe the screen of the 2760 at a time
when the probe is activated but there is no
Read command in effect to receive the data.
Should this occur, the next operation
executed for the line to which that 2760 is
connected will be posted complete-witherror, indicating that probe data was lost.
In order to recover from an error of this
kind, you may wish to take one of these
suggested actions:

The terminal operator can also interrupt
his data entry operation at any time to run
a terminal test. However, some provision
must be made to reposition the filmstrip to
the frame being displayed when the test was
begun, and to reset the modes in effect at
the time. A recommended way of doing this
is for the user program to save (1) the
image index value expected in the response
message that would have been received had
not the test request message been received
instead, and (2) the F-character contained
in the last previous frame change message.

•

Issue a WRITE TCO macro that moves
the filmstrip to an error-handling
frame that will aid the terminal
operator in recovering the lost data.

•

Issue a WRITE TV macro to write an
error message on the printer of the
2740 to which the 2760 is attached.

•

Issue a READ TI macro (nonswitched
line) or READ TV macro (switched
line) to read the next message from
the terminal. The operator should be
instructed to re-probe the previous
response if he does not hear the aud-

100

OS BTAM SRL

Then, upon conclusion of the test, the
program would (1) calculate the difference
between the values of the image index at
the beginning and at the end of the test,
and from this difference determine the A~
and A2 characters to be sent in the next
frame change message; and (2) determine,
from the modes at the beginning of the test
and the sign of the difference in the image
index values, the appropriate F-character
for the frame change message. Sending that
message to the 2760 would properly position
the filmstrip and set the correct modes.

IBM 2760 ... General Information

As an example, assume that the filmstrip
was positioned at frame 27 at the beginning
of the test and that the modes in effect
were t-1anual EOM, Manual Frame Advance disabled.
If the previous filmstrip movement
had been in the forward direction, the last
F-character sent would be 3 (see Figure
lq). Then assume that at the end of the
test the filmstrip was positioned at frame
qq.
To reposition it to frame 27 would
require a reverse movement of 17, hence the
A1 , A2 characters in the next frame change
message would be Space U (see Figure 15)
and the F-character would specify reverse
direction.
To restore the modes to their
original settings (Manual EOM, Manual Frame
Advance disabled), the F-character should
be 2.
In computing the ~-character, it is
useful to know that the filmstrip direction
is determined by bit 6 (O=reverse, 1=
forward), the Manual Frame Advance mode is
determined by bit q (O=disabled, 1=
enabled), and the EOivj mode is determined by
bit 5 (O=automatic, l=manual).
To request one of the 2760 tests, the
following message must be keyed from the
27qO:

xx

10 for frame change test
11 for scan point test

q

specifies that the test
is for the 27qO
terminal (of which the 2760
is a component)

F

and that can be answered by probing
response points on the Optical Image
Unit screen.
Responses may be Yes-No
choices, mUltiple choices, alphabetic
or numeric data, etc.

3.

Design the sequence of questions to
request the information in the most
efficient order.
Make sure that the
questions are coordinated so that
each piece of information is obtained
at the proper point in the data entry
procedure.

q.

Make a preliminary design of all the
filmstrip frames that request information.
Decide on the wording of the
questions and the wording and location of the response points.

5.

Design, on the basis of the frame
layouts, a system of tables that will
enable the user program to recognize
the valid and invalid responses to a
question on a frame.

6.

Make a final design of all the frames
that request information, and modify
the tables as necessary to make them
more efficient ..

7.

Arrange the filmstrip layout to minimize film movement (e.g., error
frames and other frequently displayed
frames should be in the middle of the
filmstrip) •

8.

Design a method of initialization so
that the program can locate the frame
containing the first application
image that requests information from
the operator even if some of the
leader frames have been cut off. The
section, Initializing Images, suggests a means for doing this.

9.

Design the frames necessary for
ini tializ ation.

10.

Code the user program on the basis of
the tables and frames.
The program
must include the initialization routine as well as the error routine for
detecting and notifying the operator
of invalid responses.

function control character
amount of film movement

If the operation in effect when a test
request message is entered is a Write Invitational Optical (TCO) operation, the online test facility performs, at the conclusiori of the test, a Read Initial (TI)
operation (nonswitched line) or Read Conversational (TV) operation, to receive the
next regular message block.

PROGRAMMING CONSIDERATIONS
General steps for preparing the User
Program

1.

Define the information the user program is to obtain from the terminal
operator.

2.

Divide the required information into
questions and statements that are
meaningful to the terminal operators

Initializing Images
Once the filmstrip cartridge is inserted in
the optical Image Unit, five steps of the
filmstrip drive mechanism are required to
advance the filmstrip out of the cartridge
to the point where the first frame can be
displayed.
It is recommended that three
blank frames be left at the beginning of
Start-stop Read and Write Operations

101

IBM 2760 --- General Information

the filmstrip to serve as a leader, to
absorb the greater wear that the beginning
of the strip receives. The first frame
beyond the blank frames is called the
initializing image. This image contains a
probe response point \"lhose position is
unique for that filmstrip, thus serving to
identify the filmstrip to the program so
that the correct data entry procedure routine can be determined.
A further recommendation is that several
initializing images be used, so that a new
leading edge can be trimmed on the filmstrip as the original edge becomes worn
through use. Each of the initializing
images would have response points whose
meanings are the same, but whose position
differs with each frame. Thus the program,
when receiving a response message following
the first frame change message, can identify which of the initializing images is
being displayed. This information can then
be used to modify the Image Index values
received in subsequent response messages,
thereby compensating for any ch~lge in
position of the application images (relative to the leading edge of the filmstrip)
caused by removing worn frames.
Assume, for example, that a new filmstrip
has three blank frames, followed by three
initializing frames. The first frame
change message would specify a film movement of eight frames. When the filmstrip
is new, this message causes the first
initializing image to be projected. When
the first blank frame is cut off, to provide a new leading edge, the same frame
change message will cause the second
initializing image to be displayed.
Since
all subsequent application images are now
one frame closer to the leading edge of the
filmstrip, it is necessary to subtract one
from each image index value received in
response messages, in order for the program
to correctly identify the frame being displayed for the response points received.
By determining which initi~lizing image is
being displayed, the program can set the
proper decrement value in an index register
to modify the received image index values.

Startup Procedure
When the terminal operator is ready to
begin a data entry operation, he inserts
the appropriate filmstrip cartridge into
the optical Image Unit and probes the Load
response point.
(If the terminal is connected to the computer by a switched line,
he must dial the computer before probing
the Load response point.) For either a
switched or a nonswitched line, the standby
light on the 2740 must be on and a Read

102

OS BTAM SRL

Initial operation must be in progress at
the computer. When the operator probes the
Load response point, a message containing
the coordinates of that pOint is transmitted to the computer. The program should
check the input area for the presence of
the Load coordinates, s Space (X'2501'),
and upon detecting them, issue a WRITE
macro that sends the appropriate frame
change message to the 2760. The A1 and A2
characters in the frame change message
should specify sufficient frame movement to
cause the initializing image to be displayed. Assuming that the initializing
image is the fourth frame from the beginning of the filmstrip, a forward movement
of eight frames is required to position
that image for projection.
When the operator probes the response
point for the initializing image, the program should issue a frame change message
that positions the filmstrip to the first
application image to be viewed by the
operator. If more than one initializing
image is used, as recommended under Initializing Images, the particular frame being
viewed by the operator when he enters his
response determines the value of the A1 , A2
characters in the frame change message.
For example, assume that the first application image to be viewed is ten frames from
the first initializing image. A response
entered for the first initializing image
should cause the next frame change message
to specify eight frames of filmstrip movement. If the response was entered for the
second initializing image, however, the
frame change message would have to specify
a filmstrip movement of seven frames to
reach the first application image ..
The values of A1 " A2 in all subsequent
frame change messages would be independent
of which initializing image was displayed.

Receiving Multiple Message Blocks
Following receipt of a message block from a
2760, the computer must reply with a positive answerback.
In the usual conversational operation, in which a sequence of
WRITE TCO macros alternates the sending of
frame change messages and the receiving of
response messages, the macro itself
supplies as the positive answerback the EO~
character that begins the next frame change
message.
If, however, instead of alternating messages in this manner you wish to receive a
message from the 2760 and then receive a
message block from the 2740 or the 2760,
you should use the READ Continue with Leading Acknowledgment (TTA) macro.
This macro

IBM 2760 --- General Information

sends a positive acknowledgment to the 2760
and then receives another message block
from the terminal.
The recommended method for receiving multiple probes from the·same filmstrip frame
is to specify, in the frame change message
that positions that frame, a function character specifying Manual EOM mode.
If more
than one message block is required to
accommodate the response data to be entered
from that frame, you should specify Manual
EOM mode and receive subsequent response
messages by means of a READ TTA macro or a
WRITE TCO macro that specifies no filmstrip
movement.
YoU should not issue a READ continue (TT)
macro following receipt of a response message from the 2760, fOrm
t
following
reason. READ TT sends a Y (positive answerback) to the 2760, whic causes the 2760
to return an EOT to the computer and to
release the probe interlock, which allows
the terminal operator to probe response
points. When the Read Continue operation

receives the EOT, the operation is posted
complete; therefore r no Read operation is
in effect to receive~e next message from
the terminal.
(Both(9and EOA are
recognized by the termin~as a positive
answerback; however, the Y causes the terminal. to reply with an EO but the EOA does
not. )

sending Message Blocks Alternately to the
2760 and 2740
If it is necessary to send message blocks
alternately to the 2760 and the 2740, the
message block to the 2760 should be sent
first, followed by the message block to the
2740. If the line is not put in control
mode after sending to the 2760, the message
block to the 2740 must begin with text and
must end with an EOB.
If the line is put
in control mode after sending to the 2760,
the message block to the 2740 must begin
with an EOA and must end with an EOB.

Start-stop Read and Write Operations

103

IBM 2740 --- Checking, 2760

IBM 2740 WITH CHECKING FEATURE AND 2160
OPTICAL IMAGE UNIT

1.
2.
3.

write
Read
Write

G)
Text
EOA EOT EOT EOT (TTR only)

Read and Write operations for the 2740 with
the checking feature and ,2160 Optical Image
Unit require no terminal lists.
READ continue with Leading Acknowledgment
Once the line group data set has been
opened, a READ Initial macro may be issued
to establish contact with the 2140 to which
the 2760 is attached. If the terminal
operator wishes to send from the 2140 keyboard, he presses the Bid key and enters
the data. If he wishes to begin data entry
with the Optical Image Unit, he inserts the
appropriate cartridge into the front of the
unit and touches the probe to the Load
response point.
Either action causes the
data to be placed in main storage at the
location specified by the area operand of
the READ macro.
The user program can determine whether
the message came from the keyboard or the
Optical Image Unit by testing for the presence of the PRE 0 characters at the beginning of the input area.
All data sent to the Optical Image Unit
is in the form of the fixed-length message
EOA PRE 0 F A1 A4 EOB, where F represents
the function control character and A1 and
A2 are characters designating the amount of
filmstrip movement as explained under IBM
2760 Optical Image Unit -- General
Information.

READ MACRO INSTRUCTIONS

(TTA)

READ Continue with Leading Acknowledgment
is for use when you wish to positively acknowledge a message, reset the terminal to
standby status, and receive message text
from either the 2160 or the 2140.
READ TTA should be used specifically to
receive message text from the 2140 or 2760
following receipt of text from the 2160.
The EOA is a positive acknowledgment (answerback) to the message block received from
the 2160. and causes the audible tone to
sound and the 2160 probe to become activated (i.e., releases the probe interlock).
The EOT sequence resets the terminal to
standby status so that either the 2160 or
the 2140 may enter message text.

1.
2.
3.
4.

Write
Prepare
Sense
Read

1.
2.
3.
4.
5.

Write
Prepare
Sense
Read
write

Text

READ Repeat (TP)
READ Repeat and Reset (TPR)
READ Repeat writes a negative response and
reads a message block. This macro is for
use following an unsuccessful READ Initial
(TI), READ Continue (TT), or another READ
Repeat, to receive the same message block
read by the previous operation.

READ Initial (TI)
READ Initial and Reset (TIR)
READ Initial monitors the line for an EOA
sent by the terminal and reads the message
block that follows.

EOA EOT EOT EOT

1.
2.
3.

Write
Read
Write

@
Text
EOA EOT EOT EOT (TPR only)

EOT EOT EOT

WRITE MACRO INSTRUCTIONS

Text
EOA EOT EOT EOT (TIR only)

Programming Note: Each outgoing message
block must end with EOB.

READ Continue (TT)
READ Continue and Reset (TTR)

WRITE Initial (TI)
WRITE Initial and Reset (TIR)

READ Continue writes a positive response
and reads a message block. This macro is
for use following a successful READ Initial
(TI), READ Repeat (TP), or another READ
continue to receive another message block
from the same terminal and component that
sent the previous block.

WRITE Initial writes an EOA to place the
terminal in receive state and turn on the
terminal motors, writes message text, and
reads the response.

104

OS BTAM SRL

1.

Write

, EOA and 15 Idle characters

IBM 2740 ... Checking, 2760

2.
3.
4.

Write
Read
Write

Text
Response
EOT EOT EOT (TIR only)

WRITE Continue (TT)
WRITE Continue and Reset (TTR)
WRITE Continue writes a message block and
reads a response from the terminal.
This
macro is for use following a WRITE Initial
(TI) or another WRITE Continue.

1.
2.
3.

Write
Read
Write

1.
2.
3.
4.
5.

Write
Write
Write
Read
Write

EOA PRE 0
Frame Change Characters
EOB
Answerback
EOT EOT EOT

programming Note:
If input from the 2760
is expected following execution of the
Write Initial Optical operation, you should
issue a READ Initial (TI) macro immediately
after completion of the Write TIO
operation.

Text
Response
EOT.EOT EOT (TTR only)
WRITE Invitational Optical (TCO>

WRITE Conversational (TV)
WRITE Conversational and Reset (TVR)
WRITE Conversational writes an EOA to place
the terminal in receive state, writes message text, and reads the response.
Th~s
macro is for use following a Read operation, to change from receiving text to
sending text.

1.
2.
3.
4.

Write
Write
Read
Write

EOA
Text
Response
EOT EOT EOT (TVR only)

WRITE Initial Optical (TIO)
This option is for use when you wish to
send a frame change message, but do not
require a response from the terminal operator (as when retracting the filmstrip and
ejecting the cartridge at the end of a data
entry operation), or when you wish to
receive the response using a subsequent
macro. The macro writes the sequence EOA
PRE 0, to indicate to the 2740 terminal
that the message is intended for the 2760,
writes the frame change characters and the
EOB character, then reads the answerback
(response to checking).

This option is for use when you wish to
send a frame change message and read a
response message from the terminal.
The
macro functions identically to the WRITE
Initial Optical (TIO) macro, but in addition receives message text from the Optical
Image Unit or the 2740 keyboard.
The Prepare command (see below) monitors the line
for an EOA character; when it is received,
the Read Text command reads into the input
area that follows the EOA.
You must speci.fy in the entry operand of
the WRITE TCO macro the address of the main
storage location containing the F A1 A2
sequence; in the area operand you must
specify the address of the input area into
which the response message is to be
received.
If dynamic buffering is used to
read the response message, you should specify the length operand as'S'.
The WRITE TCO macro is the principal
macro used in a 2760 application, as it is
a convenient means for alternately sending
frame change messages and receiving
responses from the operator.

1.
2.
3.
4.

If the answerback is positive, the macro
ends the operation by sending an EOT to the
terminal.
If the answerback is negative,
the channel program is ended at this point
and the error condition is posted in the
DECB for the line, except that if Write
retries are specified (EROPT=W in DCB),
BTAM error recovery procedures resend the
frame change characters up to two additional times before posting the error
condition.
You must specify in the entry operand of
the WRITE TIO macro the address of the main
storage location containing the threecharacter F A1 A2 sequence.

5.
6.

7.
8.

Write
Write
Write
Read
Write
Prepare
Sense
Read

EOA PRE 0
Frame Change Characters
EOB
Answerback
EOT EOT EOT
Text

Examples of WRITE TIO and WRITE TCO
Figure 18 illustrates how WRITE TIO and
WRITE TCO are coded.
The WRITE TIO macro
sends a frame change message to move the
film forward six frames.
The WRITE TCO
macro sends a frame change message to move
the filmstrip forward 37 f~ames and then
Start-Stop Read and Write Operations

105

IBM 2740 --- Checking, 2760

r----------------------------------------------------------------------,

I

WRITE

DECBNAME,TIO,DCBNAME",FRMSG1"MF=E

I
I
I
I
I
I
I

WHITE

DECBNAME,TCO,DCBNAME,INAREA,20,FRMSG2"MF=E

(1 SP J (LOWERCASE»
IFRMSGl
DC
X'020143
(1 @ / )
IFRMSGl
DC
X'02200B'
IINAREA
DS
SF
L ________________
____________________________________________________
_
~

Figure 18.

Examples of WRITE TIO and WRITE TCO Macro Instructions
(Nonswitched Line)

reads a response message from the terminal.
(The A1 character, @, represents a film
movement of 32 frames (see Figure 15); its
hexadecimal equivalent is X'20'. The A2
character, /, represents a movement of five
frames; its hexadecimal equivalent is
X'OB'. Together, the two characters specify a film movement of 37 frames.)

for use after a Read operation, when you
wish to stop receiving from the terminal
before the terminal has sent an EOT.

In each case, the F character, 1
(X'02'), specifies (in addition to forward
movement) that the response from the 2760
is to be made in Automatic EOM mode with
the Film switch (Manual Frame Advance)
disabled.

WRITE Negative Acknowledgment (TN)

WRITE positive Acknowledgment (TA)
WRITE positive Acknowledgment writes a
positive acknowledgment and an EaT sequence
to indicate to the terminal that the computer received message text without error
and to stop line activity. This macro is

1~

WRITE Negative Acknowledgment writes an Eor
sequence to indicate to the terminal that
the computer received text with an error
and to stop line activity. The terminal
interprets the EOT sequence as a negative
response. This macro is for use after a
Read operation, when you wish to stop
receiving from the terminal before the terminal has sent an EOT.
This macro is also used to cause the 2760
to execute the instructions it received in
the preceding frame change message.
1.

106

as BTAM SRL

Write EOA EOT EOT EOT

Write EOT EOT EOT

IBM 2740 --- Dial-up, Checking, 2760

IBM 2740 WITH DIAL-UP AND CHECKING FEATURES
AND 2760 OPTICAL IMAGE mUT
Once the line group data set has been
opened, either the terminal or the computer
may establish the line connection.
If the
terminal is to establish the connection

Disable (TIR only)

2.
3.
4.
5.
6.
7.

READ Continue (TT)
READ Continue and Reset (TTR)
RE~~

continue writes a positive response
and reads a message block.
This macro is
for use following a successful READ Initial
(TI), READ Repeat (TP), or another READ
Continue to receive another message block
from the same terminal and component that
sent the previous block.
1.
2.
3.
4.

o

Write
Text
Read
Write
EOA EOT EOT EOT (TTR only)
Disable (TTR only)

READ Continue with Leading Acknowledgment
(TTA)
DEFINING TERMINAL LISTS

Read Operations
A Read Initial operation requires an answering list, which you define by coding
the operand field of a DFTRMLST macro like
this:
DIALST,O

READ continue with Leading Acknowledgment
is for use when you wish to positively acknowledge a message, reset the terminal to
standby status, and receive message text
from either the 2760 or the 2740.
READ TTA should be used specifically to
receive message text from the 2740 or 2760
following receipt of text from the 2760.
The EOA. is a positive acknowledgment (answerback) to the message block received from
Start-Stop Read and Write Operations

107

IBM 2740 --- Dial-up, Checking, 2760

the 2760, and causes the audible tone to
sound and the 2160 probe to become activated (i.e., releases the probe interlock).
The EOT sequence resets the terminal to
standby status so that either the 2160 or
the 2140 may enter message text.
1.
2.
3.
4.

write
Prepare
Sense
Read

Text

READ Repeat writes a negative response and
reads a message block. This macro is for
use following an unsuccessful READ Initial
(TI), READ continue (TT), or another READ
Repeat, to receive the same message block
read by the previous operation.

2.
3.
4.

write
Read
write
Disaole

8.

Write
Read
Write
Disable

Text
Response
EOT EOT EOT (TIR only)
(TIR only)

WRITE Continue (TT)
WRITE Continue and Reset (TTR)

EOA EOTEOT EOT

READ ReEeat (TP)
READ ReEeat and Reset (TPR)

1.

5.
6.
1.

@
Text
EOA EOT EOT EOT (TPR only)
(TPR only)

READ Conversational (TV)
READ Conversational and Reset (TVR)
READ Conversational monitors the line for
an EOA sent by the terminal and reads the
message block that follows.
This macro is
for use following a write operation, to
change from sending text to receiving text.

WRITE Continue writes a message block and
reads a response from the terminal.
This
macro is for use following a WRITE Initial
(TI) or another WRITE Continue.

1.
2.
3.
4.

Write
Read
Write
Disable

Text
Response
EOT EOT EOT (TTR only)
(TTR only>

WRITE Conversational (TV)
WRITE Conversational and Reset (TVR)
WRITE Conversational writes an EOA to place
the terminal in receive state, writes message text, and reads the response.
This
macro is for use following a Read operation, to change from receiving text to
sending text.

1.
2.
3.
4.
5.

Write
Write
Read
Write
Disable

EOA
Text
Response
EOT EOT EOT (TVR only)
(TVR only)

WRITE Initial Optical (TIO)
1.
2.
3.
4.

5.
6.

Write
Prepare
Sense
Read
Write
Disable

EOT EOT EOT
Text
EOA EOT EOT EOT (TVR only)
(TVR only)

WRITE MACRO INSTRUCTIONS
Programming Note:
Each outgoing message
block must end with EOB.
WRITE Initial (TI)
WRITE Initial and Reset (TIR)
WRITE Initial dials a terminal, writes an
EOA to place the terminal in receive state,
writes message text, and reads the response
to text.
1.
2.
3.
4.

108

Disable
Dial
Write
write

Dial digits
Pad characters
EOA

OS BTAM SRL

This option is for use when you wish to
establish the line connection and send a
frame change message to the Optical Image
Unit.
The macro issues a Disable command to
disable the line in case this was not done
previously, dials the terminal, and writes
pad characters to provide time fill to
allow the terminal motors to reach operating speed.
The macro then writes the
sequence EOA PRE 0, to indicate to the 2140
terminal that the message is intended for
the 2160, writes the·frame change characters (F, A1 and A2 ) and the EOB character,
then reads the answerback (response to
checking).
If the answerback is positive, the macro
ends the operation by sending an EOT to the
terminal. If the answerback is negative,
the channel program is ended at this point
and the error condition is posted in the
DECB for the line, except that if Write
retries are specified (EROPT=W in DeB),
BTAM error recovery procedures res end the
frame change characters up to two addition-

IBM 2740 --- Dial-up, , Checking, 2760

al times before posting the error
condition.

al times before posting the error
condition.

You must specify in the entry operand of
the WRITE TIO macro the address of a terminal list defined by a DFTRMLST macro as
follows:

You must specify in the entry operand of
the WRITE TVO macro the address of the main
storage location containing the threecharacter F A1 A2 sequence.

LIST

DFTRMLST

DIALST,dialcount,
dialchars,faaseq

DIALST specifies the type of list; dialcount and dialchars specify the number of
digits in the telephone number and the
digits themselves; and faaseq specifies the
three characters constituting the frame
change message text. faaseq must be coded
as the hexadecimal equivalent of the transmission code bit pattern for the desired
characters.

1.
2.
3.
4.
5.
6.
7.
8.

Disable
Dial
write
Write
Write
Write
Read
Write

Dial digits
Pad characters
EOA PRE 0
Frame change characters
EOB
Answerback
EOT EOT EOT

Programming Note:
If input from the 2760
is expected following execution of the
Write Initial optical operation, you should
issue a READ Conversational (TV) macro
immediately after completion of the write
TIO operation.

WRITE Conversational optical (TVO)
This option is for use when you wish to
send a frame change message after the
switched line connection has been establi~hed, but do not require a response from
the terminal operator (as when retracting
the filmstrip and ejecting the cartridge at
the end of a data entry operation), or when
you wish to receive the response using a
subsequent macro. The macro writes the
sequence EOA PRE 0, to indicate to the 2740
terminal that the message is intended for
the 2760, writes the frame change characters and the EOB character, then reads the
answerback (response to checking).
If the answerback is positive, the macro
ends the operation by sending an EOT to the
terminal.
If the answerback is negative,
the channel program is ended at this point
and the error condition is posted in the
DECB for the line, except that if write
retries are specified (EROPT=W in DCB),
BTAM error recovery procedures res end the
frame change characters up to two addition-

1.
2.
3.
4.
5.

write
write
write
Read
write

EOA PRE 0
Frame Change Characters
EOB
Answerback
EOT EOT EOT

programming Note:
If input from the 2760
is expected following execution of the
Write Conversational Optical operation, you
should issue a READ Conversational (TV)
macro immediately after completion of the
write TVO operation.

WRITE Invitational optical (TCO)
This option is for use after the line connection has been established, when you wish
to send a frame change message and read a
response message from the terminal.
The
macro functions identically to the WRITE
Conversational Optical (TVO) macro, but in
addition receives message text from the
Optical Image Unit or the 2740 keyboard.
The prepare command (see below) monitors
the line for an EOA character; when it is
received, the Read Text command reads into
the input area the data that follows the
EOA.
You must specify in the entry operand of
the WRITE TCO macro the address of the main
storage location containing the F A1 A2
sequence; in the area operand you must
specify the address of the input area into
which the response message is to be
received. If dynamic buffering is used to
read the response message. you should specify the length operand as'S'.
The WRITE TCO macro is the principal
macro used in a 2760 application, as it is
a convenient means 'for alternately sending
frame change messages and receiving
responses from the operator.

1.
2.
3.
4.
5.
6.
7.
8.

write
Write
write
Read
write
Prepare
Sense
Read

EOA PRE 0
Frame Change Characters
EOB
Answerback
EOT EOT EOT
Text

Start-Stop Read and Write Operations

109

IBM 2740 --- Dial-up, Checking, 2760

Examples of WRITE TIO, WRITE TVO, and WRITE
TCO
Figure 19 illustrates how WRITE TIO, WRITE
TVO, and WRITE TCO macros are coded. The
WRITE TIO macro dials the telephone number
of the 2740 terminal and sends a frame
change message; the F A1 A2 sequence is
coded in the DFTRMLST macro. In this
example, the F character is a Space
(X'Ol'), designating reverse movement, and
A1 and A2 are both "c" (X'67'), representing a filmstrip movement exceeding the
length of the filmstrip. This message
therefore causes the filmstrip to be
retracted and the cartridge ejected. The
A1 and A2 characters could alternatively be
coded as Space Space (X'0101'), representing zero filmstrip movement, then a subsequent WRITETVO macro could be used to
specify the filmstrip movement. This is
useful where the amount of film movement
may vary from one loading of the filmstrip
to another, and so cannot be specified in a
terminal list. The same WRITE TIO would be
issued regardless of the film movement needed;the subsequent WRITE TVO would use register notation for the entry operand to
provide the needed frame change characters.
The WRITE TVO macro sends a frame change
message to move the film forward three
frames. The F character, 1 (X'02') specifies Automatic EOM Mode with Film switch
(Manual Frame Advance) disabled. The
response would be read by a different macro
(a READ macro, for example), as the WRITE
TVO macro does not read response messages.
The WRITE TCO macro sends a frame change
message to move the filmstrip backwards 32

frames, sets the 2760 in Manual EOM mode
with the Film switch (Manual Frame Advance)
enabled, and reads a response message from
the 2760 (or the 2740).

WRITE positive Acknowledgment and
Disconnect (TA)
WRITE positive Acknowledgment and Disconnect writes a positive response to text (an
EOA) and breaks the line connection. This
macro is for use following a successful
READ operation when you wish to break the
line connection instead of receiving the
remaining blocks of a message.
1.
2.

write
EOA EOT EOT EOT
Disable

WRITE Negative Acknowledgment and
Disconnect (TN)
WRITE Negative Acknowledgment and Disconnect writes a negative acknowledgment (the
EOT character serves this purpose) and
breaks the line connection. This macro is
for use following an unsuccessful Read
operation when you wish to break the line
connection instead of receiving the remaining blocks of a message. The macro may
also be used after a Write operation when
you wish to break the line connection.
1.

2.

write
EOT EOT EOT
Disable

r------------~---------------------------------------------------------,

WRITE

DECBNAMEiTIO,DCBNAME",LIST"MF=E

WRITE

DECBNAME,TVO,DCBNAME",FRMSG1"MF=E

WRITE

DECBNAME,TCO,DCBNAME,INAREA,20.FRMSG2"MF=E

LIST
DFTRMLST DIALST,4,5003,016767
(SP C C (LOWERCASE»
(1 SP &)
FRMSG1
DC
X'020161"
(6 Q) SP)
FRMSG2
DC
X'OD2001'
IINAREA
DS
5F
L ______________________________________________________________________
J
Figure 19.

110

Examples of WRITE TIO, WRITE TVO, and WRITE TCO
Macro Instructions (Switched Line)

OS BTAM SRL

IBM 2741

IBM 2741 COMMUNICATIONS TERMINAL

GENERAL INFORMATION
The line control scheme for the IBM 2741
differs from that for some other start-stop
terminals (e.g., the IBM 1050), in that the
terminal and line do not alternate between
control mode and text mode, and the polling
and addressing functions are absent.
Instead the 2741, when in communicate mode
(all subsequent discussion presupposes
this), alternates between two states:
receive and transmit. The 2741 is in a
third state, control-receive, between the
time it sends an EOT and the time it
receives an EOA or EOT from the computer;
this state is also entered momentarily when
the terminal power switch is turned on or
when the mQde switch is switched from local
to communicate mode. In transmit state,
the keyboard is unlocked and the terminal
operator can key in data for transmission
to the computer. In receive state the keyboard is locked and the terminal can only
accept and print data received from the
computer. The principal indicator of the
state of the terminal is the keyboard. If
it is unlocked, allowing the operator to
enter data, the terminal is in transmit
state; otherwise, it is in receive state.
The terminal alternates between states
whenever an end-of-transmission (EOT) character is sent on the line. An EOT sent by
the computer always places the terminal in
transmit state, and an EOT sent by the terminal always places the terminal in receive
state.
The terminal sends an EOT whenever the
operator presses the Attention key or the
Carrier Return key. These two keys accordingly are the means by which the terminal
operator tells the computer that he has
finished entering a line of data. The computer sends an EOT whenever it executes a
channel program that is to receive data
from the terminal, i.e., any Read channel
program.
Communication between terminal and computer is always initiated by the terminal
operator, and can occur anytime after the
program sets up the first Read operation,
which must be a Read Initial. Conversation
begins when the terminal operator sets the
mode switch to Communicate (this action
sends an end-of-address (EOA) character to
the computer). For switched lines, the
operator follows this by manually dialing
the telephone number of the computer and
switching the common-carrier data set to

data mode*.
Line control discipline for the 2741 differs from that for other start-stop termin~ls in the following significant
respect. With most terminals, control of
the communication line remains vested in
the program, except during the relatively
small proportion of time that the terminal
is in text mode and is actually sending
data. If the terminal stops sending data
for a period of about 25 seconds" a timeout function in the terminal returns it to
control mode. When this happens, the program is again able to initiate activity on
the communication line, and the terminal
begins monitoring the line for control signals from the c·omputer. This control
scheme prevents one terminal on a line from
monopolizing use of the line so that the
computer is unable to communicate with
other terminals on the same line.
The 2141, on the other hand. is intended
for conversational use: there is only one
terminal per line, and input by the terminal ope~ator and response by the computer
alternate, as in an ordinary telephone ~~n_
versation, until the terminal operator
chooses to end the conversation. Each time
the terminal is in transmit state" the terminal operator has control; that is, the
program can initiate no new activity on the
line until the terminal operator returns
control to the program oy sending an EDT
character. The 2741 has no time-out function by which control can be returned to
the computer.
Only the terminal operator can end a conversation, either by switching the terminal
mode switch to Local or by turning off the
terminal power switch.
The sequence of operations between the
time the terminal operator begins and ends
the conversation with the computer depends
upon the logical structure of the program
and ~pon the communications conventions established between terminal operator and the
program. These in turn depend on the system application.
Although the differences between line
control for the 2741 and for other startstop terminals result in dissimilar channel
programs, you code your READ and WRITE
macro instructions in the same way as for
other terminals, with the exception of the
ftentryn operand. Because 2741s use no terminal lists, ftentryn is not used, and if
c~ded~ it is ignored.
*See the IBM 2740/2741 Operator's Guide,
for detailed dial-up procedures.
start-Stop Read and Write Operations

111

IBM 2741

Channel Commands for the IBM 2741
1•

The functions of the commands comprising
the channel programs for the 2741 are given
below.
(The commands are described as they
apply to Read and Write operations for the
2741; no inferences should be drawn as to
their applicability for other terminals.)
write EOT
Write EOA
Inhibit

Enable
Disable

prepare

Sets the termina.l to transmit
state.
Sets the terminal to receive
state.
(1) Receives text from terminal into input area.
(2) Receives text from terminal but does not place it
in input area. Used for
purging the communication
line of unneeded text
data (used in Read Skip
channel program).
For switched lines, conditions the TCU to accept calls
from terminals.
When Disable is the first
command of Read Initial or
Write Disconnect (switched
line), it disables the line
if, through program logic
error, the line is in the
enabled condition when the
current channel program is
started. If the line is
already in the disabled condition, which is the normal
case, the Disable command has
no effect.
For switched lines, causes
the TCU to monitor the line
for incoming data.

The function of an Inhibit command, like
that of a Read command, is to receive data
from a terminal. The difference is that a
Read command is terminated by expiration of
a timeout interval (if not terminated sooner by receipt of data), while an Inhibit is
not ended in this way. channel programs
for the IBM 2741 use Inhibit commands,
rather than Read commands, because in 2741
operation under BTAM, an indefinite period
may elapse between initiation of a channel
program and receipt of data from a
terminal.

2.

Prenare
Inhibit

(receives EOA)
(receives text)

READ Initial (TI)
(Switched Line)
READ
this
then
EOA)
1.
2.
3.
4.

Initial disables the line (in case
was not done previously) '. enables it.
receives message text (beginning with
from the terminal.
Disable
Enable
Prepare
Inhibit

(receives EOA)
(receives text)

READ Continue (TT)
READ Conversational (TV)
READ Continue and READ Conversational are
identical operations. Each sets the terminal to transmit state. then receives message text (beginning with EOA) from the
terminal.
1.
2.
3.

Write
Prepare
Inhibit

EOT
(receives EOA)
(receives text)

READ Skip (TS)
READ Skip receives message text from the
terminal but does not place it in main
storage.
1.

Inhibit (received text is discarded)

WRITE MACRO INSTRUCTIONS
WRITE Continue (TT)
WRITE Continue sends a message segment to
the terminal. It is for use after a WRITE
Conversational has set the terminal to
receive state.

READ MACRO INSTRUCTIONS

1.

READ Initial (TI)
(Nonswitched Line)

WRITE Conversational (TV)

READ Initial receives message text
(beginning with EOA) from the terminal.

WRITE Conversational sets the terminal to
receive state and sends it a message seg-

112

OS BTAM SRL

Write Text

IBM 2741

ment.
It is for use after a Read operation
to reverse the direction of transmission.
1.
2.

Write
Write

EOA
Text

WRITE Continue Conversational (TTV)
WRITE Continue Conversational sends the
terminal a message segment followed by EOT,
which sets the terminal to transmit state,
then receives message text (beginning with
EOA) from the terminal. WRITE TTV is for
use following a WRITE Continue or WRITE
Conversational, to reverse the direction of
transmission.
1.
2.
3.
4.

Write
Write
Prepare
Inhibit

Text
EOT
(receives EOA)
(receives text)

WRITE Disconnect (TN)
(Switched Line)

EOT character only. The program can check
the last two characters received from the
terminal to determine the action to take:
NL EOT indicating that a Read operation
should be executed to receive the next text
segment from the terminal operator; EOT
alone indicating that the program should
reply.
If the program is to reply, it should
execute a write Conversational operation.
If desired, you can send the reply in several segments by using write continue
operations. After the last Write, you
should execute a Read Initial (nonswitched)
or Read Conversational (switched) operation
to permit the terminal operator (1) to
resume sending input (in which case the
sequence just described is repeated) or (2)
to signify to the program that he has
finished by turning the ~ode switch to
Local or by turning off the terminal power
switch. You may substitute a write Continue Conversational (TTV) for the last of
a sequence of Write Continues, to avoid
executing a separate Read Initial or Read
Conversational; the WRITE TTV performs the
functions of the Write continue and the
subsequent Read.

WRITE Disconnect disables the line to break
off communication with the terminal.
1.

Disable

PROGRAMMING CONSIDERATIONS
Operations on Switched Lines

DESIGNING A MESSAGE CONTROL ROUTINE
This section explains how Read and write
operations may be combined to permit conversational communication between terminal
and computer.
The first operation, once the line group
has been opened, must be a Read Initial.
When the terminal operator establishes
communication, the first line of text he
types is read into the input area. The
Read Initial ends with receipt of the EOT
character sent when the terminal operator
presses the Return key or the Attention
key.
The program should then determine whether
it should receive more text from the terminal. This decision might be based on analysis of the data just received. For
example, an operating convention might be
established by which the terminal operator
presses the Return key to signify that he
has further input and the Attention key to
indicate that he has finished sending. The
Return key causes transmission of the new
line (NL) character followed by EOT. The
Attention key causes transmission of the

When the terminal operator switches the
terminal to Local mode or turns off the
power, the operation in progress at that
moment is terminated with an indication of
Channel End, Device End, and Unit Check in
the csw status byte, and Intervention
Required in the sense byte. . These indications will be posted in the DECB for the
line as DECSDECB=X'41' and DECFLAGS=X'04'.
You should check for the presence of these
indicators after each Read and write operation and take appropriate action; ordinarily, the Read Initial should be reissued.
For some applications it will be appropriate for the terminal operator to end the
conversation only when the terminal is in
transmit state, that is, not to turn off
power while receiving text from the computer.
It might then be appropriate for the
program to record whether the operation in
effect when the terminal went off-line was
a Read or a Write.

start-stop Read and Write Operations

113

IBM 2741

Operations on Nonswitched Lines

•

In a conversationat environment, it
is usually sufficient that the data
is made available to the terminal
operator,. without the necessity that
he actually receives it. If it is
imperative that the message be
received by the operator, he may be
required to acknowledge receipt. The
acknowledging message is received via
the Read operation that follows the
sequence of write operations.
If during transmission from computer
to terminal, the terminal operator
chooses to break off reception of the
message, the data set (modem) that
connects the,terminal to the line
cannot signal this fact to the transmission control unit (TCU). When the
operator breaks off reception, the
sequence of write operations then in
progress proceeds to conclusion just
as though the terminal were still
receiving. All write operations are
posted complete without error; that
is, completion code is X'7F' and
DECFLAGS equals zero.

•

For half-duplex nonswitched lines, a
Read operation is not posted complete
until a message has been received.
This may mean that your program must
accept "sign-on" messages in any Read
operation. If it is desirable to
recognize the end of a conversation,
the program may wait an appropriate
amount of time and, if no message has
been received yet, assume that the
terminal operator has ended the conversation. If necessary to purge the
Read operation you may issue an
IOHALT macro for the line. This will
halt the operation and cause posting
of the Read. You may then issue
another Read Initial operation, with
changes to the area and/or length
operands. For example, the new Read
operation may be intended to receive
a ·sign-on" message into a different
area than regular messages.

Using the Attention Key and 2741 Interrupt
Facility
When the terminal is in transmit state, the
operator may press the Attention key to
signal the computer that he has finished
entering data. Pressing this key sends an
EOT to the computer and returns the terminal to receive state. The keyboard locks,
and the operator can resume entering data
114

OS BTAM SRL

only after the program returns the terminal
to transmit state by means of a Read operation or Write continue Conversational
operation.
If the 2741 is equipped with the Interrupt feature, the Attention key can be pressed while the terminal is in receive state
to interrupt data transmission from the
computer, when, for example, the operator
has a high-priority message to enter.
Pressing the Attention key causes the Write
operation then in progress to terminate,
and the Channel\End, Device End, and Unit
Check indications to be set in the CSW status byte and the Intervention Required
indication in the sense byte. These indicators will be posted in the DECB for the
line as DECSDECB=X'41'and DECFLAGS=X'02'.
You should check after each Write'\operation
for the presence of thes.e indicators. When
present, it is generally appropriate to
issue a Write continue that sends a NL
character to return the terminal's print
element carrier to the beginning of the
next printing line.
General considerations

•

Dynamic buffering cannot be used for
the 2741.

•

The usual considerations regarding
use of the WAIT and TWAIT macro
instructions should be observed.
Before issuing any of these macros,
you must always check the return code
resulting from a Read or Write operation to ensure that the operation was
started. successfully.

•

Messages sent to a terminal must not
contain any EOT characters, as these
cause the program to lose control.

•

IBM 2741 terminals do not perform an
automatic carrier return when the
print element reaches the end of the
print line. To avoid character pileup at the end of the line, the text
sent to the terminal must contain NL
(new line) characters at intervals
not exceeding the length (in characters) of the line.

•

Any printable characters received by
the terminal during the time the terminal is executing a carrier return,
horizontal tab, or index (line feed)
function will be printed erratically.
To avoid this occurrence, each New
Line (NL), Horizontal Tab (BT), and
Line Feed (LF) character must be followed by one or more nonprinting
characters, such as the Idle
character.

IBM 2741

For the line feed function, you
should place one Idle character after
each LF character in text to be sent
to the terminal. For the new line
and tab functions, the number of Idle
characters needed equals 1.5 plus the
number of inches of carrier travel
caused by the function, rounded off
to the next higher integer. In addition, you may need to place Idle
characters at the beginning of each
block of text the program sends to
the terminal following receipt of an
EOT character from the terminal.
The number of Idles required depends
on several factors, such as line
turn-around time and model of data

set used. A recommended practice is
to use the same number of characters
as are used following a NL character
that results in the longest carrier
travel. Example: Assume the length
of a print line for a particular application is 7-3/4 inches and tab settings are at 2 and 6 inches. Each HT
character should be followed by 1.5 +
4=5.5, or 6 Idles (the 4 derives from
the maximum distance of carrier travel [4 inches], caused by an HT character). Each NL character should be
followed by 1.5 + 7.75=9.25, or 10
Idles. Also, each block of text sent
to a 2741 following receipt of EOT
from the terminal should begin with
10 Idles.

start-stop Read and Write Operations

115

AT&T 8383

AT&T 83B3 SELECTIVE CALLING STATIONS

WRITE MACRO INSTRUCTIONS

DEFINING TERMINAL LISTS

WRITE Initial (TI·)
WRITE Initial and Reset (TIR)

Read Operations
WRITE Initial addresses a terminal, and if
the response to addressing is positive,
writes message text to the terminal.
A Read Initial operation requires an open
or wraparound polling list. The list may
have one or more terminal entries, each
containing a two-character polling sequence
(which for the 83B3 is called a Transmitter
start Code).
To define a polling list, code the
operand field of a DFTRMLST macro like
this:

r-----------------------------------------,
IjOPENLSTl,(xxyy, ••• )
I

IL_________________________________________
WRAPLST~
JI

A single V or M character constitutes a
positive response; a negative response is
indicated by no response at all. A negative response for any terminal in the list
is an abnormal condition. Theoperation
ends and is posted complete-with-error.

1.
2.
3.
4.

5.
6.

Write
Write
Write
Read
Write
Write

FIGS H LTRS
CDC
LTRS
Response
Text
FIGS H LTRS (TIR only)

Programming Notes:
Write Operations

1.

Each output message must begin with
the sequence CR LF LTRS (this serves
as the end-of-addressing indicator>.

A Write Initial operation requires an addressing list having one or more terminal
entries, each containing a two-character
addressing sequence (which for the 83B3 is
termed a Call Directing Code).

2.

You must specify in the WRITE macro
the exact length of the message.

3.

If you are sending a message with a
WRITE TI macro, code FIGS H LTRS at
the end of the message (this is the
end-of-transmission sequence).
If you
are sending a message with a WRITE TIR
mac.ro, the macro supplies the FIGS H
LTRS sequence.

To define an addressing list, code the
DFTRMLST macro like this:

r-----------------------------------------,

IL _________________________________________
OPENLST, (xxyy, ••• )
JI

TERMINAL-TO-TERMINAL OPERATION
READ MACRO INSTRUCTIONS

READ Initial (TI)
READ Initial successively polls the terminals in the polling list, and upon
receiving a positive response to polling,
reads a message block.
A single V or M character constitutes a
negative response; the message text itself
signifies a positive response.

1.
2.
3.
4.

116

Write
write
Read
Read

FIGS H LTRS
TSC
Response
Text

OS BTAM SRL

BTAM does not provide control for terminalto-terminal traffic on a line on which BTAM
provides control of traffic between computer and terminal; however, BTAM does not
interfere with terminal-to-terminal traffic.
In a system in which such traffic can
occur, the operation is as follows.
A READ Initial macro polls the terminal
that will become the sending terminal. The
sending terminal responds with the addressing code of the terminal with which it
wishes to communicate. This code appears
to the Read Response command like data, and
is therefore received in the input area.
The next character is a V or M sent by the
receiving terminal as a positive response.
It, too, is read into the input area.
The
sending terminal recognizes the V or M as a
positive response and sends a message to

AT&T 83B3

the rece~v1ng terminal; this message text,
too, is read into the input area. Thus,
while BTAM does not influence the terminalto-terminal operation, it does receive into
main storage any message sent between the
terminals.

start-stop Read and Write Operations

111

WU 33/35 TWX

WU MODEL 33/35 TWX T¥RMINALS

DEFINING TERMINAL LISTS
Read Operations
A Read Initial operation requires an answering list containing a sequence of control and identification characters to be
sent to a terminal that calls the computer.
The sequence has from 7 to 18 characters.
A recommended sequence is:
NullCR LF DEL (1 to 12 graphic
characters) CR LF XON
To code an answering list, code the operand
field of a DFTRMLST macro like this:

r-----------------------------------------,I
I IDLST,O,numsent,sentchar
L _______________________________________ J

Write operations

A Write Initial operation requires a calling list containing ,the same sequence of
characters as the called terminal sends
when it answers the call from the computer.
To define a calling list, code the operand
field of a DFTRMLST macro like this:

r-----------------------------------------l

IL _________________________________________
IDLST,dialcount,dialchars,numsent,tidseqlJ

Example: TO define an answering list containing the foregoing character sequence
(using RALEIGH as the graphic sequence),
you would code:

Example: To qefine a calling list for a
terminal whose telephone number is 887-4444
and wbichwill answer with the sequence

r---------~-------------------------------,
L _________________________________________
IDLST,O,14,01B150FF4B8233A393E212B15088 J

I

If the Read Conversational operation is
preceded by a Write Initial operation, a
recommended sequence is XON (1 to 4 characters of your choice) XOFF~ if the preceding
operation was a Read Initial, tbe single
character, XON, may be used. Tbese
sequences start the tape transmitter of tbe
terminal. If you wish to read from the
keyboard, an appropriate sequence is G Bell
A Bell; GA means go abead, and the bell
alerts tbe terminal operator.

I

CR LF IBM

3 5 A S R

# 1 CR LF XON

you would code:
The characters following the third comma
are the hexadecimal representations of the
transmission code bit patterns for the
recommended sequence:
01B150FF -4B8233A393E212
B15088 --

1r-----------------------------------------,
IDLST,7,8874444,17,B1509342B205CCAC82CA I
L
JI
I _________________________________________
4B05c58DB15088

Null CR LF DEL
RALEIGH
CR LF XON
READ MACRO INSTRUCTIONS

This sequence prints the computer identification, RALEIGH, at the be9inning of the
next line, and turns on the tape
transmitter.

Read Conversational Operation
A Read'COnversational operation requires a
list containing a sequence of control
characters to be sent to the terminal to
prepare it to transmit. For this purpose
you define an answering list containing the
desired characters~ the list is not used
for the answering function. Define the
list by coding the DFTRMLST operand like
this:

r-----------------------------------------,JI
I IDLST,O,numcnsent,cntrlseq
L _________________________________________

118

OS BTAM SRL

Programming Note: Each message sent f£Qm
the terminal (i.e., an incoming message)
must end with either the wau, XON" or XOFF
character, or with the EOT sequence. If it
ends witb the EOT sequence, the next operation must be a Read Initial or ~rite Initial (EOT resets the terminals to control
mode). If the message ends with wau, XON,
or XOFF, tbe next operation can be a Read
Conversational or Write Conversational.

READ Initial (rI)
READ Initial and Reset (TIR)
READ Initial answers a call from a terminal, writes the identification and control
sequence, and .reads a message block from
the terminal.

WU 33/35 TWX

1.
2.

3.
4.
5.

o.

7.

Disable
Enable
Write
Pad characters
ID-control sequence
Write
Read
Text
EOT (TIR only)
Write
Disable (TIR only)

nal. If the received ID matches the
expected ID that is contained in the terminal list, the macro writes message text to
the terminal. If the two IO's do not
match, the operation is posted completewith-error; the message text is not sent.
1.
2.

READ
READ

Conversational (TV)
Conversational and Reset

(TVR)

Conversational writes a control
sequence to the terminal and reads message
text from the terminal. This macro is for
use following a READ Initial or a WRITE
Conversational when the line connection is
already established.

3.
4.
5.
6.

Disable
Dial
Read
Write
Write
Disable

Dial Digits
Terminal ID sequence
Text
EOT (TIR only)
(TIR only)

READ

1.
2.
3.

4.

Write
Read
Write
Disable

Control sequence
Text
EOT (TVR only)
(TVR only)

WRITE Conversational (TV)
WRITE Conversational and Reset (TVR)
~RITE Conversational writes message text to
the terminal. This macro may be used following a Read operation, to change from
receiving text to sending text, and may be
issued as many times in succession as
necessary to send a message.

WRITE MACRO INSTRUCTIONS
1.

programming Note~ Outgoing messages should
not end with a control character or a
sequence of control characters (e.g., XON,
or XON (user-selected characters) XOFF.

2.
3.

~rite
~rite

Disable

~RITE

WRITE Initial (TI)
WRITE Initial and Reset (TIR)
WRITE Initial calls a terminal and reads
the identification sequence of the termi-

Text
EOT (TVR only)
(TVR only)

Disconnect (TN)

~RITE Disconnect breaks the line
connection.

1.
2.

~rite

Disable

EOT

Start-stop Read and write Operations

119

WU 115A

WESTERN UNION PLAN 115A OUTSTATIONS

WRITE MACRO INSTRUCTIONS

DEFINING TERMINAL LISTS

WRITE Initial (TI)
WRITE Initial and Reset (TIR)

Read Operations

WRITE~Initial

A Read Initial operation requires an open
or vraparound polling list. ~he list may
have one or more terminal entr~es, each
containing a two-character polling
sequence. The first character is always an
X (X'17' is the transmission code bit pattern); the second identifies the terminal.
To define a polling list, code the
operand field of a DFTRMLST macro like
this:

r-----------------------------------------,I

addresses a terminal, and if
the response to addressing is positive,
writes message text to the terminal.
A single V or M character constitutes a
positive response; a negative response is
indicated by no response at all. A negative response for any terminal is an
abnormal condition; the operation ends and
is posted complete-with-error.
1.
2.
3.
4.
5.

Write
Write
Read
Write
Write

FIGS B LTRS
Addressing sequence
Response
Text
FIGS B LTRS (TIR only)

'lOPENLST(I{XXYY, ••• >

Il ________________________
WRAPLST~
.________._________ J,

Programming Notes:
1.

Each output message must begin with a
Space character (this serves as the
end-of-addressing character).

2.

You must specify in the WRITE macro
the exact length of the message.

3.

If you are sending a message with a
WRITE TI macro, code FIGS B LTRS at
the end of the message (this is the
epd-of-transmission sequence). If you
are sending a message with a WRITE TIR
macro, the macro supplies the FIGS H
LTRS sequence.

Write Operations
A Write Initial operation requires an ad-

dressing list having one or more terminal
entries, each containing a two-character
addressing sequence. The first character
is the circuit call code; the second identifies the terminal that is to receive the
output message.
To define an addressing list, code the
DFTRMLST operand field like this:

r-----------------------------------------,

TERMINAL-TQ-TERMINAL OPERATION

READ MACRO INSTRUCTIONS

BTAM does not provide control for terminalto-terminal traffic on a line on which BTAM
provides control of traffic between computer and terminal; however, BTAM does not
interfere with terminal-to-terminal traffic.
In a system in which such traffic can
occur, the operation is as follows.

JI
IL_________________________________________
OPENLST, (xXYY,···)

READ Initial (TI)
READ Initial successively polls the terminals in the polling list, and upon
receiving a positive response to polling,
reads a message block.

A single V or M character constitutes a
neg:ative response; the message text itself
signifies a positive response.

1.
2.
3.
4.

Write
Write
Read
Read

120

FIGS H LTRS
Polling sequence
Response
Text

OS BTAM SRL

A READ Initial macro polls the terminal
that will become the sending terminal. The
sending terminal responds with the addressing code of the terminal with which it
wishes to communicate. This code appears
to the Read Response command like data, and
is therefore received in the input area.
The next character is a V or M sent by the
receiving terminal as a positive response.
it, too, is read into the input area. The
sending terminal recognizes the V or M as a
positive response and sends a message to
the receiving terminal; this message text.
too, is read into the input area. Thus,

WU 115A

while BTAM does not influence the terminalto-terminal operation, it does receive into
main storage any message sent between the
terminals.

Start-Stop Read and Write Operations

121

World Trade Telegraph

WORLD TRADE TELEGRAPH TERMINALS

GENERAL INFORMATION
The name WOI:'ld Trade (WT) telegraph terminals refers to various European teletypewriters using a start-stop 5-level code
with two shifts (lettershift and figureshift) to transfe~ data over point-to-point
telegraph lines.
WT terminals use either the International Telegraph Alphabet No. 2 or the Figure
Protected Code ZSC3. World Trade telegraph
terminals employ the contention system of
line control. When a terminal and the computer each try to send a message, simultaneously, both transmissions are immediately stopped; this is called contention.
A terminal is always ready to receive or
to send a message. Normally, the motor of
the terminal is off and the first lettershift character (LTRS) sent or received by
the terminal starts the motor, which
requires 1.5 seconds to reach operating
speed. During this period, the terminal
cannot correctly send or receive characters. The motor stops when no character
has been transmitted during a period of
from 10 to 30 seconds. When the terminal
is operating i.n this manner, it is said to
be in Motor-Off mode. optionally, the terminal can be equipped with a heavy-duty
motor which is never switched off; in this
case, the terminal is said to be operating
in Motor-On mode.

Telegraph Adapter Description
The World Trade Telegraph Adapter in the
TCU recognizes two message end conditions:
FIGS x and FIGS y LTRS. These are established when the IBM 2701, 2702 or 2703 to
which the WT terminal is connected is
installed: x and yare assigned by the
customer on a per-system basis, as follows.
When a terminal is equipped with the
Automatic Answerback Unit, FIGS x must be
code combination 4 (FIGS D) sent by the
terminal WRU key. This character is
referred to as the WRU signal. If the terminal is not equipped with the Automatic
Answerback Unit, FIGS x may be any other
code combination.
The two characters, x and y, cannot be
the same. FIGS y immediately followed by a
LTRS character causes a Read operation to
end. Therefore, FIGS y can be sent by a
terminal as data only if it is not followed
by LTRS.
The above terminations of a Read operation can be used as end-of-message (EOM)
signals. The FIGS y LTRS termination (if
not yet used as an EOM signal) or two consecutive EOM signals can represent the endof-transmission (EOT) signal.
The transmission control unit deletes
all incoming LTRS and FIGS characters and
updates a shift bit (S) which is added to
each character transferred to main storage.
Conversely, each change in shift bit setting along a character sequence causes the
TCU to send a LTRS or FIGS character ahead
of the first message character for which
the shift bit was reversed.

When a terminal is operating in MotorOff mode, the MO~DLY parameter of the DCB
macro instruction enables you to specify
the number of Mark (Idle) characters corresponding to the 1.5 second period. When
you issue a WRITE macro instruction, BTAM
recognizes the motor mode of the terminal
(motor-off or motor-on) and generates a
LTRS character (this can be followed by a
user-specified number of Mark characters)
that precedes the data to be sent over the
line.

Figure 20 shows the relationship of a
Systern/360 byte and a telegraph character
configuration.

Most terminals can be equipped with
another optional feature called the Automatic Answerback Unit. This feature
enables a sequence of up to 20 identification characters, generated by a mechanical
drum, to be sent over the line by either
pressing the lAM key or receiving code combination 4 in figures shift.

Figure 20.

122

OS BTAM SRL

r-----------------------------------------,

I

10123 4 567
I (System/360-byte configuration)

I

I
I
I
I

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

I
I
I S 1 2 345
I
(Telegraph-character configuration)
Il _________________________________________
JI
WT

T~legraph

Code

Contention Resolution
When contention occurs, BTAM sets a completion code of X'7F' in the ECB and turns on
bit 3 of DECFLAGS. Contention is resolved

World Trade Telegraph

by the user prOgram coding and the local
operator's action, according to one of the
following procedures:
If priority is to be given to the computer, the terminal operator must wait: the
program should repeat the Write (or Read
TE) operation.
If priority is to be given to the terminal, the program must follow with a READ
continue macro the operation during which
contention occurred. The terminal operator
continues sending his message.

DEFINING TERMINAL LISTS
In World Trade telegraph operation terminal
lists are used only for the READ continue
with Identification Exchange (TE) macro.
(They are not used for READ Initial
operations.)

1.
2.
3.

Prepare
Sense
Read
Text

programming Note: A RESETPL macro is effective only if issued when message transmission is not in progress.

READ continue (TT)
READ Continue reads message text from a
terminal following receipt of an EOM character, or when the terminal is given the
right to transmit when contention has
occurred. The operation ends when an EOM,
EOT, or WRU is received.
1.

Read

Text

READ Continue with Identification Exchange
(TE)
If The Terminal's Identification Sequence
is to be Requested
To define a terminal list, code the operand
field of a DFTRMLST macro like this:

r-----------------------------------------,

IL ________________
WTTALST,O,numrec,ridsent,numsent,tidseq
________________________ JI
~

READ Continue with Identification Exchange
writes to the remote terminal the computer's identification sequence (defined in
the terminal list) and a wau character.
The operation also reads the identification
sequence of the terminal (and optionally,
message text) into the input area, only if
you code WRU=YES in the DeB macro for the
line group.
1.

If The Computer Identification is to be
sent to the Terminal

r-----------------------------------------,

IL __________________________________________
WTTALST,O,O,O,O,numsent,tidseq
·JI
Programming Note: tidseq may specify from
1 to 20 characters (computer identification
sequence).

READ MACRO INSTRUCTIONS
Read Initial (TI)
READ Initial monitors the line for a message from a terminal, and reads it into the
input area. The Read operation ends when
an EOM, EOT, or WRU character is received.

2.
3.
4.
5.

Write
Write
Write
Read
Read

Mark characters
computer identification
WRU (or LTRS)
Terminal identification
Text

Note 1
seq.
Note 2
Note 3

Note 1: One LrRS character plus n Mark
characters are sent, where n represents the
number of Mark characters, as follows:
a.

When the terminal is equipped with the
Motor-On optional feature, n is always
zero.

b.

When the terminal is not equipped with
the Motor-On optional feature, n can
take one of the following values:
n=O
if the previous operation was a
Write, or if a Read operation ended
with EOM or wau Signal.
n=the value given to the MONDLY keyword operand of the DeB macro
instruction.

Start-stop Read and Write Operations

123

World Trade Telegraph

Note 2: The computer sends the WRU signal
to ask for the terminal identification,
provided that WRU=YES is coded in the DCB
macro instruction. Otherwise, the computer
sends a LTRS character.

WRITE MACRO INSTRUCTIONS

WRITE Initial (TI)
Note 3: The terminal sends its own identification. If the received ID and the
expected ID do not match, the operation is
posted as complete; no message text is
read. Bit 3 of DECFLAGS is set to 1.

Write Initial sends an output message, preceded by 12 LTRS characters
1.

2.
Programming Note: The value of the length
parameter of the READ macro instruction
must equal or exceed the length of the
identification sequence generated by the
Automatic Answerback Unit. If equal, only
the terminal identification sequence is
sent to the computer. If the length parameter exceeds the identification sequence
length, message text can also be read.
This is applicable when WRU=YES is specified in the DCB macro instruction; otherwise, command (4) is not generated.

3.

Note:

~ITE

2.
Note:

os

BTAM SRL

Mark characters
Pad characters
Message

Note

(See, Note 1 under READ TE above.)

continue (TT)

WRITE Continue sends an output message.
1.

124

write
Write
Write

write
Write

Mark character
Message

Note

(See Note 1 under READ TE above.)

Programming Considerations --- Auto Poll (Start-Stop)

PROGRAMMING CONSIDERATIONS FOR USE OF AUTO
POLL (START-STOP)
Read Initial operations on lines for which
the Auto poll feature is used require polling lists different from those used in programmed polling. ,They are referred to as
start-stop Auto Poll lists. The list may
be of the open type (SSALST) or wraparound
type (SSAWLST), and may have one or more
terminal entries, each containing a single
polling character (IBM 1030) or a twocharacter polling sequence (other terminal
types). They are specified in the same' way
as in lists for programmed polling, with
the exception of the 2740. The second
polling character in a list for the 2740
must be Space.

returns a positive response to polling,
that is, all terminals send negative
responses. Execution of command (3) ends
the Read operation, which is posted complete in the event control block.
If some terminal in the list returns a
positive response, command (3) is skipped;
command (4) reads into the first two bytes
of the input area the index byte indicating
which terminal responded, and the first
message character. Command (S) reads the
remaining message text into the input area.
Programming Notes:
1.

To determine which terminal responded,
examine the index byte. You should
obtain this index byte not from the
input area but from the DECPOLPT field
of the DECB for the line. DECPOLPT
always contains the index byte, while
an I/O error during transmission may
prevent the index byte from being
placed in the input area.

2.

In specifying the length in the READ
macro, be sure it is at least one
greater than the expected text length,
in order to accommodate the index
byte.

TO define an Auto Poll polling list,
code the operand field of a DFTRMLST macro
like this:

r-----------------------------------------,1

1 (SSALST \

L _________________________________________
ItSSAWLS~
,(xx, ••• )
(for 1030)1J

r-----------------------------------------,

1 (sSALST 1
1
1L _________________________________________
tSSAWLSTJ, (xxyy, ••• ) (for 10S0, 1060,2740) J1

READ Initial (TI)
READ Initial and Reset (TIR)
(Wraparound Auto Poll List)

CHANNEL PROGRAMS
Read Initial operations (and Read Continue
and Read Repeat operations, on the 1030 and
1060) using Auto Poll require channel programs different from those used in programmed polling. They are explained below
by referring to the use of the specific
commands that form the program.

The channel program is:
1.
2.
3.
4.

S.
READ Initial (TI)
READ Initial and Reset (TIR)
(Open Auto Poll List)
The channel program
1.
2.
3.
4.

S.
6.

i~:

Write EOT EOT EOT
Poll
NOP
Read
Index
Read ,Text
Write EOA EOT EOT EOT (TIR only)

Command (1) sets the terminals on the line
to control mode, as with programmed polling. Command (2) initiates the polling
operation. Command (3) is executed only if
no response is received from a terminal in
the list, or if no terminal in the list

6.
7.
8.
9.

Write
Poll

Eor EOT EOT
(Beginning with entry specified
in macro)
(to command S)
TIC
(to command 7)
TIC
Poll (beginning with first entry in
list)
(to command S)
TIC
Read
Index
Read
Text
Write EOA EOT EOT EOT (TIR only)

Command (1) sets the terminals on the
line to control mode. Command (2)
initiates the polling operation, beginning
with the terminal specified by the "entry",
operand in the READ macro. If before the
end of the list is reached a positive
response is returned, the status modifier
is set, causing the next command, (3), to
be skipped; command (4) transfers to command (7), followed by (8), which functions
like commands (4) and (S) in the "opentype" Auto Poll operation.
If;, however, the end of the list is
reached and no positive response has been
Start-stop Read and Write operations

12S

Programming Considerations --- Auto Poll (Start-Stop)

received, command (3) is executed, g1v1ng
control to command (5), which restarts the
polling operation at the beginning of the
polling list. Polling proceeds automatically, and. each time the end of the list is
reached, command (6) gives control to'(5),
and the polling starts again. If during a
pass through the list, a positive response
is received, command (6) is skipped (just
as command (3) is skipped above), and commands (7) and (8) are executed as before.
Programming Notes: The same programming
notes given above apply to Auto Poll operations with a wraparound list.

other Types of READ and WRITE
With two exceptions, all other types of
READ macro (such as READ continue) and all.
types of WRITE macro generate the same
channel programs as are shown under the
corresponding type in the appropriate sections for the type of terminal concerned:
IBM 1030 Data Collection System, IBM 1050
Data Communication System, IBM 27QO with
Station Control Feature, and IBM 27QO with
station Control and Checking Features. The
exceptions are READ Continue and READ
Repeat for the IBM 1030 and 1060, as shown
below. (READ Continue and READ Repeat for
the 1050. and for the 2740 with Station Control and Checking are the same as for the
non-Auto poll operations for these ter-

126

os BTAM SRL

minals; READ Continue and READ Repeat are
not provided for 27QO with Station Control
and without Checking.)

READ Continue (TT) (1030.,1060)
The channel program for READ Continue is
identical to the program for READ Initial
(using either SSALST or SSAWLST). except
that the first command is:
1.

Write

0

EOT EOT EOT

This channel program sends a positive
response, then repolls the terminal and
receives message text, as in a Read Initial
operation.

READ Repeat (TP) (1030,1060)
The channel program for READ Repeat is
identical to the program for READ Initial
(using either SSALST or SSAWLST), except
that the first command is:
1.

Write

® 'EOT

EOT EOT

This channel program sends a negative
response., then repolls the terminal and
receives message text, as in a Read Initial
operation.

BSC READ AND WRITE OPERATIONS

GENERAL INFORMATION

2-1) and the O-bit and l-bit are always
set to zero (off). Only bits 2-1 are
sent over the line.

TRANSMISSION CODES

REMOTE STATION COMPATIBILITY AND
INTERMIXING

Binary synchronous communications under
BTAM control uses one of three transmission
codes, as follows:
System/360 to System/360
(including Model 20), System/3,
1800, 2110, or remote 3210
EBCDIC
or USASCII

Unlike start-stop terminals, ESC stations
of different types are compatible in use of
line control procedures, so that it is
unnecessary to specify at system generation
time what specific type or types of remote
station are connected to a given communication line. Instead, one of the three types
of line supported by BTAM is coded in the
UNIT operand of the system generation IODEVICE macro:

System/360. to 1130:

EBCDIC

System/360 to 2115:

EBCDIC
(transparent)

• BSCl indicates that the line is a nonswitched point-to-point line.

system/360 to 2180:

EBCDIC, USASCII
or Transcode

• BSC2 indicates that the line is a
switched point-to-point line.

System/360 to 2912:

EBCDIC

• BSC3 indicates that the line is \a nonswitched multipoint line.
\

Only EBCDIC may be used between System/
360 and a 2110 or 2180 when messages are
sent in transparent mode. Only EBCDIC may
be used if the central System/360 is com~
municating with a remote System/360 that is
running under BOS (Basic Operating System)
or BPS (Basic programming System). These
codes are shown in Appendix E.
You must sometimes enter into message
output areas certain line control characters in their USASCII or TRANSCODE form;
they must appear in main storage according
to the following rules.
• In main storage, bits 1-1 in a System/
360 byte correspond to bits b7-b~,
respectively, of the US'ASCII character.
The zero-bit is always zero (OFF).
When the control unit receives a byte,
a parity bit is sent over the line
along with bits 1-1 of the byte. Conversely, when 1 bits plus a parity bit
are received by the transmission control unit from the line, the 1 (data)
bits are read into main storage rightjustified in a byte and the zero-bit is
set to zero.
• For TRANSCODE,' a similar rule holds.
The hexadecimal equivalent is rightjustified in a System/360 byte (bits

In earlier releases of BTAM, a value
reptesenting a specific station type had to
be coded in the UNIT operand. For Release
19 of the Operating System, it is still
permissible for the UNIT operand to specify
station types: S360, 2020 (S/360 Model
20), +130, and 2180.
(See Appendix D for
more information).
For lines to which
an IBM System/3, 2115, 2110, 2192, remote
3210, or 1800 is to be connected, however,
the UNIT operand must specify one of the
values BSC1, BSC2, or BSC3.
For releases
of the operating system subsequent to
Release 19, only BSC1, BSC2, and BSC3
will be valid UNIT parameters for a binary
synchronous line.
USER PROGRAM ANALYSIS
As discussed under Message Transmission in
the Line Control and Message Transmission
chapter, the user program must analyze the
results of each Read or Write operation to
determine whether it completed successfully
or unsuccessfully, and what if any exceptional condition occurred. The User Program Analysis Procedure section of the
Error Recovery Procedures and Error Recording chapter describes a procedure to fol-

BSC Read and Write Operations

127

low. In addition, the chapter, Suggested
Retry options for BSC Read and Write Operations, recommends appropriate READ and
WRITE macro instructions to issue following
various error and exceptional conditions.

the user program. Typically, the program
would use this address to determine which
remote station called or answered the
central computer.

LINE ANO MESSAGE CONTROL FUNCTIONS

The control byte of an entry contains a
user-specified indicator specifying what
action BTAM is to take after the 10
sequence (or other data) has been received.
Examples of actions following a Read Connect operation are: continue with the
remainder of the Read Connect operation to
read a message block; disconnect the line;
or post the operation as complete, without
reading a message block.

10 verification

Identification sequences may be exchanged
between the central computer and some kinds
of~emote BSC stations with which communication has been established over a switched
line. This facility affords either or both
stations (i.e., central computer and remote
station) the opportunity to verify the
identity of the'other before message text
is transmitted. The terminal list associated with the REAO or WRITE macro instruction that established the contact contains the 10 sequence to be sent to the
remote station, and one or more 10
sequences that will be accepted from the
remote station.
10 verificatioA is available at either
of two levels, which may be termed -regular- and -expanded·. In regular 10 verification, only one unique 10 sequence can be
accepted from the remote station, regardless of which of many stations has called
(or been called by) the central computer.
Further, BTAM makes only one decision
regarding continuance of the Read or Write
operation. That is, if the received
sequence matches the expected sequence (the
terminal list contains only one expected
sequence), the operation continues, resulting in transfer of text between the stations. If the received sequence does not
match the expected sequence, the operation
is halted, and text transfer does not
occur.
In the expanded ID verification, the
user can designate, in the terminal list,
many different IDsequences, any of which
will be accepted from the remote station;
this allows each station to send a unique
sequence. Also, contact can be established
with stations that do not send 10 sequences
as well as with those that do. For
expanded 10 verification, a terminal list
having mUltiple entries is used; this type
of list is designated as SWLST. Each entry
has a field containing a valid 10 sequence
that will be accepted from a remote station, and a control byte.
(Each entry
may also have a user-data area, at the
user's option. This is discussed below.)
After the line connection has been established and an 10 sequence (or other
data) has been received from the remote
station, BTAM scans the terminal list for a
matching 10 sequence. If one is found,
BTAM places the address of the entry COntaining the sequence in the first fullword
of the terminal list, for possible use by
128

OS BTAM SRL

By setting up the control byte prior to
the Read or write operation, and by checking completion codes and indicators in the
OECB following receipt of an 10 sequence
(or other data) from a remote station, the
user program can both determine the status
of the operation and influence subsequent
BTAM actions.
Each terminal list entry may contain a
four-byte user-data field. In this field
may be placed a relocatable expression as
an address that is to be associated with
the 10 sequence (or ENQ character) contained in that entry. Typically, the userdata field would contain the address of a
subroutine to be called when the remote
station represented by the 10 establishes
contact with the central computer,.
For more detailed information on use of
expanded 10 verification, see the descriptions of the READ Connect, WRITE Cqnnect,
DFTRMLST, and CHGNTRY macro instructions.
Error Information Byte (EIB) Mode
BTAM provides the option of specifying, in
the OCB macro, whether the TCU is to operate in EIB mode or non-EIB mode. The distinction is as follows: In EIB mode, the
TCU, during a receive operation, sends an
error information byte into main storage
following each IUS (US), ETB, and ETX character received from the communication line.
In non-EIB mode, the TCU does not send the
EIB into main storage following these
characters.
The EIB indicates the presence of either
a data check or an overrun error (or no
error at all) in the sub-block that immediately preceded the IUS (US>, ETB, or ETX
character. BTAM does not analyze EIBs.
The user program may check them and~ where
an error is found, take appropriate action,
such as issuing a READ Repeat with Leading
Graphics macro instruction to request
retransmission of that part of the message
block that is in error.

Whether or not the TCU is operating in
EIB mode, it recognizes the IUS (EBCDIC) or
US (USASCII) character as signifying the
end of an intermediate block.
(IUS is
Interchange Unit Separator [an EBCDIC
character], and US is Unit Separator [a
USASCII character]; the two are equivalent
character·s. )

Double Addressing (Multipoint Lines)
Transient conditions such as lightnin~,
impulses or switching pulses can introduce
errors in data transmitted over a communication line. Often~ such errors consist of
inverted bit settings within the bit pattern representing a character. While
errors of this kind occurring in message
data are normally detected through checking
techniques, they are undetected when they
occur in polling and addressing (selection)
sequences, which are unchecked. An error
wherein one valid polling or addressing
character is changed to another can result
in polling or addressing the wrong station.
To avoid such an occurrence, double addressing may be employed for certain BSC-stations. In this technique, a remote station is represented by two identical characters, rather than one character as in
single addressing.
When polled or addressed, the remote
station that recognizes the first character
compares it with the second. If the two
are identical, the station address is presumed to be correct, and the station
returns a positive response. If they
differ, a transmission error is presumed to
have altered one or both of the characters,
and the station does not return a response.
The increased polling and addressing
reliability this technique affords stems
from the improbability that both of the
characters would be changed in precisely
the same way by a transmission error. For
example, the characters BB are far less
likely to be converted by an error to CC
than they are to be converted to BC, or KB,
or FC1. If a station whose address is K
was attached to the line, that station
would recognize the first character of the
erroneous address KB, but would not respond
because the two characters did not match.
1Each of these conversions could result
from a single-bit error in each character,
where the transmission code is EBCDIC.
For example, the letter B, the bit pattern
for which is X'C2' (1100 0010), become~ a
C (X'C3', 1100 0011) or a K (X'D2', 1101
0010) through a single-bit error.

Thus, a message intended for station B
would not be sent to station K instead.
For System/360 Model 20, System/3,
1800, 2715, 2770, 2972, and remote 3270
stations in a multipoint network, doubleaddressing ~ust be used.
As is always the case in terminal lists,
all list entries must have the same length.
Therefore, if addresses of different
lengths are to be contained in a list (as
when single-addressing is used for some
stations, double-addressing for others),
the shorter addresses must be padded with
leading SYN characters so that they are the
same length as the longer addresses.

MESSAGE FORMATS
In nontransparent mode, messages appear on
the line in the format:

r----T--//------y--------------,

STXI __(text)
(or ETX) JI
lI ____
/ / ______ IETB
______________
~

~

The STX (start of Text) character is
required at the beginning of each message
block. (SOH may appear at the beginning of
the first message block, however.) ETB
denotes the end of a message block and ETX
denotes the end of the last block of a message. You must supply in the output area
the SOH, STX, ETB and ETX characters. In
calculating the length to be specified in a
WRITE macro, include the STX and ETX in the
number of message characters.
Messages in nontransparent mode may not
contain line control characters.
In transparent mode, messages appear on .
the line in the format:

r---T---T-//---T---T----'

IOLEISTXI (text)
IOLEJETX
I
___
__ ____ J

l ___ ___
~

~_//

~

~

Transparent mode allpws you to include
any bit pattern in the message, regardless
of whether the bit pattern represents a
line control character.
The OLE STX must appear at the beginning
of each message block. OLE ETX denotes the
end of the message. You must supply the
DLE STX in the beginning of the output
area. You do not provide the DLE ETX, as
each Write operation of the transparent
type automatically sends these characters
following your text.
When coding a WRITE macro for sending
text in transparent mode, the length must
include the OLE STX; the length should not
BSC Read and t'1ri te Operations

129

include the ending characters, OLE ETX, as
these are sent by a separate command.
When you receive a transparent message
from a remote station, it has the format:
OLE STX. (text) ETB (or)
DLE STX (text) ETX
The DLE preceding the ETB or ETX is
removed by the TCU before the message
enters main storage.
If you issue any wRITE macro that specifiesbotn conversational operation and use
of dynamic buffering, the BUFL operand of
the DCB macro for the line group must specify at least 24 bytes.

Use of Line Control Characters

central and remote programs so they remain
in step. This requires that you be aware
of the responses that are valid for message
text and for each control character that
may be sent over the line. These are as
follows.
RESPONSES
Responses to Message Text
ACK-O or ACK-l
(Pos. response)

The remote station
received the text
correctly.

NAK

The remote station wishes
to have the text
retransmitted.

(Neg. response)
WACK
(Wait-beforetransmit)

successful transmission of data between
central computer and remote station demands
thorough familiarity with line control
(data link control) procedures. See the
general discussion of this subject under
Use of Line Control Characters in the Line
Control and Message Tran~mission chapter.

Use of SOH and STX Characters
Since either an SOH or an STX character
appearing at the beginning block of a message resets, but is not included in, the
block check character that follows the
block, tne following practice is recommended. Include as the first character of
a heading, following the SOH character,
some specific non-control character that is
never used as the first character following
STX in a nontransparent text transmission.
you may use any character other than a data
link control character or the percent sign
(I). Consistent observance of this rule
will prevent the processing of text data as
a heading or of a heading as text data
owing to a transmission error th~t changes
STX to SOH or vice versa. When a. message
olock is received without error, presence
6f the specific character identifies the
block as heading, while absence of that
character identifies it as text.

Coordinating SSC Central and Remote
Programs
In order to achieve message transmission
between two computers using SSC communication,youmust be careful to coordinate the
130

OS BTM SRL

The remote station wishes
to delay transmission.
(The only valid response
to WACK is ENQ (or EOT);
the central computer cannot continue sending message text, but must send
ENQ until the remote station responds with the
positive acknowledgment
for the last message
block it received. The
central computer may,
however, respond to WACK
with an EOT, to end the
tr ansmiss ion. )

When a remote 3270 printer has
been started, WACK is a pO$itive response.

RQ1~1

leading graphics

The remote station is
transmitting usersupplied, non-control
characters.

EOT

The remote station is
aborting reception of the
message because of equipment malfunction or (if
the remote station is a
computer) program error.

OLE EOT

The remote station is
aborting reception of the
message and is disconnecting the line because
of equipment malfunction
or (if the remote station
is a computer) program
error.

RVI

The remote station wishes
temporarily to stop
receiving text. The user
program may continue
sending text, however, or
may send an EOT. to end
the transmission.

esc --Responses to ENQ
ACK-O

ACK-1

Responses to EOT (Switched Line Only)
1. The remote station is
ready to receive text.
2. Positive response to
text.
positive response to
text.

WACK

The remote station wishes
to delay transmission.

EOT

The remote station does
not wish to receive text.

EOT

The remote station does
not wish to transmit but
does not wish to disconnect the line.

ENQ

The remote station wishes
to transmit text.

DLE EOT

The remote station is
going to disconnect the
line.

You should pay close attention to the commands wi thin channel programs.. Figure 21
is an example of how central and remote
channel programs should be matched. This
example is for System/360-to-System/360
communication on a nonswitched point-topoint line.. It shows only the sequence of
Read and write operations; it omits checking of return and completion codes and
omits WAIT or TWAIT macros.

The remote station did
not acknowledge the last
transmission.
\iessage text

General Information

Last receipt was text.

r---------------------------------------------------------------------------------------,
Prepare
Write ENQ
READ TI
READ TT
WRITE TT
WRITE TQ
WRITE TQ
WRITE TQ
WRITE TTV
(Note 2)
WRITE TTR

Read ENQ.
Write response
Read text~

.-Read response
Write text
.... Read response

Write response-~~~==----------------------------~
Write text
Read text---4
p" {Read response
____---------------------------- Read text
Write text
Read response ~-------------------------------Write
~
___-------------------------------------------~~-Read ENQ
Write ENQ
Read response .'4.------------------------------Write
____-----------------------------------------~lr_Read ENQ
Write ENQ
Read response ...
..------------------------------Write

WRITE TI

WRITE TTV

sequence

WRITE TW
(Note 1)

sequence

WRITE TW
(Note 1)

sequence

WRITE TW
(Note 1)

-Read ENQ
Write ENQ __----------------------------------------~..
Read response -.------------------------------Write
..
response

READ TT

_Read text
Write text ______--------------------------------------------~..
Write graphics
Read response}
-.--------------------------- { Write response
Read text

READ TTL

..

_______---------------------------~
.. Read text
Write textRead response..
Wri te response
Write EOT
.. Read text

READ TT

~---------------------------------------------------------------------------------------i

I Notes:
I
I
I
I 1. The number of times the WRITE TW is executed depends on how long you wish to
I
I
delay transmission. The WRITE TW must be followed by WRITE TW, READ TT. READ
I
I
TP, READ TTL, READ TPL, or READ TRV.
I
I
I
___________________________________________
JI
!L___________________________________________
2. On a WRITE TTV the response is read into
an input area or user-created buffer.
~

Figure 21.

Example of a BSC Message Control

Routin~

BSC Read and Write Operations

131

Bse --- Nonswitched Point-to-Point
BSC NONSWITCHED POINT-TO-POINT OPERATION

READ Continue with Leading Graphics (TTL)

The macro instructions contained in this
section may be issued for any of the types
of remote BSC stations that can be connected to a nonswitched point-to-point
line, except as noted in individual macro
instruction descriptions.

READ Continue with leading graphics functions the same as a Read Continue. but precedes the positive response with leading

Since BSC operations on nonswitched
point-to-point lines use contention-type
line control, no terminal lists are used.
The channel programs in this section
correspond to an IODEVICE macro UNIT
operand of BSC1.

graphics~

1.
2.
3.

Write
Write
Read

Leading Graphics
ACK-O or ACK-1
Text

This macro instruction may be issued for
any type of remote BSC station except an
IBM 2780 using Transcode; however_ the IBM
System/3, 1800, 2715, and 2770 ignore the
leading graphics characters that precede
the response. That is, these characters
are neither received into core storage
(2715) or terminal buffer., nor passed to
any output device attached to the station.

READ MACROINSTRUCTIONS

READ Initial (TI)

READ Repeat (TP)

READ
sent
tive
that

READ Repeat writes a negative response to
the remote station and reads a message
block.

1.
2.
3.
4.

Initial monitors the line for an ENQ
by the remote station, writes a posiresponse, and reads ~he message block
follows.
Prepare
Read
ENQ
write Response
Read
Text

1.
2.

Write
Read

NAK
Text

READ Repeat with Leading Graphics (TPL)
READ Initial Inquiry (TIQ)
READ Initial Inquiry monitors the line for
an ENQ sent by the remote station.•
1.
2.

Prepare
Read
ENQ

READ continue (TT)
READ continue writes a positive response to
the remote station and reads a message
block.
1.
2.

Write
Read

ACK-O or ACK-1
Text

Note: The text received is either message
text or an EOT.
132

OS BTAM SRL

READ Repeat with Leading Graphips functions
the same as a Read Repeat., but precedes the
negative response with leading graphics.

1.
2.
3.

Write
write
Read

Leading Graphics
NAK
Text

This macro instruction may be· issued for
any type of remote BSC station except an
IBM 2780 using Transcode; however. the IBM
System/3, 1800, 2715, and 2770 ignore the
leading graphics characters that precede
the response. That is, these characters
are neither received into core storage·
(2715) or term~al buffer. nor passed to
any output device attached to the station.

READ Inquiry (TQ)
READ I~quiry reads an ENQ from the remote
station.

Bse ---

1.

Read

ENQ

READ Interrupt (TRV)
READ Interrupt writes a Reverse Interrupt
(RVI) sequence to indicate to the remote
station that the central computer wishes
temporarily to stop receivi.ng message text;
then issues a Read Text command, which will
receive from the remote station either an
EOT, signifying end of text transmission,
or further text.
The RVI sequence is
equivalent to, and is recognized by the
remote station as, the proper alternating
positive acknowledgment (ACK-O or ACK-1).

Programming Note: This macro instruction
cannot be used to send message text to an
IBM 2715, because text transmission to this
type of station must always be in transparent mode.

WRITE Initial Transparent (TIX)
WRITE Initial Transparent and Reset (TIXR)
WRITE Initial Transparent functions the
same as the write Initial~ except that
after writing message text it writes the
ending characters that must follow the
transparen~ data.

1.
READ Interrupt is for use in lieu of a
READ continue.
1.
2.

Write
Read·

RVI sequence
Text

Programming Notes:
1.

2.

Receipt of the RVI sequence does not
force the remote station to break off
message transmission.
L~ is onLY an
indication that the central computer
wishes to stop receiving.
The remote
station may continue sending message
text until such time as it wishes to
yield to the central computer by sending EOT.
The program in the central
computer should therefore be arranged
to issue READ Continue macros until
the remote station does respond with
EOT instead of text.
The READ Interrupt macro must not be
issued more than once during a transmission, as incorrect alternating
acknowledgments may result.

Nonswitched Point-to-Point

2.
3.
4.
5.
6.

Write
Read
Write
Write
Read
write

ENQ
Response
Text
DLE ETX
Response
EOT (TIXR only)

Programming Note:
This macro instruction
should not be issued for an IBM 2770 or
2780 on a point-to-point line if the 2770
or 2780 requires component selection characters in the message text.~
If both component selection and transparent message text transmission are
desired, the component select~on characters
should be sent in a separate message by a
Write Initial operation, followed by a
Write TTX (or TTE) or Write TTVX operation
to send the transparent text.

WRITE Initial Transparent Block (TIE)
WRITE Initial Transparent
the same as WRITE Initial
except that it writes OLE
DLE ETX following message

Block functions
Transparent (TIX)
ETB instead of
text.

WRITE MACRO INSTRUCTIONS

1.
WRITE Initial (TI)
WRITE Initial and Reset (TIR)
WRITE Initial writes an ENQ to gain use of
the line, and if the response to the ENQ is
positive (ACK-O), writes message text and
reads the response to text.
If the
response to ENQ is other than ACK-O, the
operation is posted complete, with appropriate indicators set in DECFLAGS.
1.
2.
3.
4.

5.

Write
Read
write
Read
Write

ENQ
Response
Text
Response
EOT (TIR only)

2.
3.
4.
5.

Write
Read
write
Write
Read

ENQ
Response
Text
DLE ETB
Response

Programming Note: This macro instruction
should not be issued for an IBM 2770 or
2780 on a point-to-point line if the 2770
1Component selection characters are
required unless the Job Select switch
(2770) or Mode switch (2780) is set for
printing or punching (or some other output
device, for 2770), in which case the message is printed or punched, regardless of
the component specified by these
characters.
BSC Read and Write Operations

133

BSC --- Nonswitched Point-to-Point

or 2780 requires component selection characters in the message text. 1
If both component selection and transparent message text transmission are
desired, the component selection characters
should be sent in a separate message by a
write Initial operation, followed by a
write continue (TT) or write continue Transparent (TTX) operation to send the trans~
parent text.

WRITE Initial Conversational (TIV)
WRITE Initial Conversational writes an ENQ
to gain use of the line, and if the
response to ENQ is ACK-O, writes message
text and reads a response, which may be the
first two characters of a message block, an
alternating acknowledgement, or NAK.
If
the response is message text, the remaining
text is read; if not, the operation is
posted complete.

1.
2.
3.
4.
5.

write
Read
write
Read
Read

2.

This macro instruction cannot be used
to send message text to an IBM 2715,
because text transmission to this type
of station must always be in transparent mode.
This macro instruction may be used for
all other types of remote BSC stations; however, the IBM 1800 and 2770
do not transmit text as a response' to
text received from the central computer; they return the usual alternating
acknowledgment (ACK-O or ACK-l).

1Component selection characters are
required unless the Job Select switch
(2770) or Mode switch (2780) is set for
printing or punching (or some other output
device, for 2770), in which case the message is printed or punched, regardless of
the component specified by these
characters.
134

WRITE Initial Conversational Transparent
writes an ENQ to gain use of the line, and
if the response to ENQ is ACK-O, writes
message text and the ending characters, DLE
ETX, that must follow the transparent data.
The macro then reads a response, which may
be either the first two characters of a
message block or NAK.
If the response is
message text, the remaining text is read,
if not, the operation is posted complete.

1.
2.
3.
4.
5.
6.

OS BTAM SRL

Write
Read
Write
Write
Read
Read

ENQ
ACK-O
Text
DLE ETX
Response
Text

.Programming Notes
1.

ENQ
ACK-O
Text
Response
Text

Programming Notes

1.

WRITE Initial Conversational
Transparent (TIVX)

This macro instruction may be used for
all types of BSC stations (except as
noted in 2,. below). However, the IBM
1800, 2715. and 2770 do not transmit
text as a response to text received from
the central computer; they return the
usual alternating acknowledgment (ACK-O
or ACK-1).

2. This macro instruction should not be
issued for an IBM 2770 or 2780 on a
point-to-point line if the 2770 or 2780
requires component selection characters
in the message text. 1

WRITE Continue (TT)
WRITE Continue and Reset (TTR)
WRITE continue writes message text and
reads a response from the remote station.

1.
2.
3.

Write
Read
Write

Text
Response
EOT (TTR only)

WRITE Continue Transparent (TTX)
WRITE Continue Transparent and Reset (TTXR)
WRITE Contine Transparent writes message
text and the ending characters, DLE ETX,
that must follow transparent data. and
reads a response from the remote station.

esc --- Nonswitched Point-to-point
1.
2.
3.

4.

Write
Write
Read
write

Text
DLE ETX
Response
EOT (TTXR only)

WRITE Continue Transparent Block (TTE)
WRITE Continue Transparent Block writes
message text and the ending characters, DLE
ETB that must follow transparent data, and
reads a response from the remote station.
1.
2.
3.

Write
Write
Read

Text
DLE ETB
Response

or NAK.
If the response is message text,
the remaining text is read; if not, the
operation is posted complete.
1. Write
2. Write
3. • Read
4.
Read

Text
DLE ETX
Response
Text

Programming Note: This macro instruction
may be used for all types of remote BSC
stations. However, the IBM 1800, 2715, and
2770 do not transmit text as a response to
text received from the central computer;
they return the usual alternating acknowledgment (ACK~O or ACK-1).

WRITE Inquiry (TQ)
WRITE Continue Conversational (TTV)
WRITE Continue Conversational writes message text and reads a response, which may
be the first two characters of a message
block, an alternating acknowledgment, or
NAK. If the response is message text, the
remaining text is read; if not, the operation is posted complete.
1.
2.
3.

Write
Read
Read

Text
Response
Text

Programming Notes:
1.

This macro instruction cannot be used
to send message text to an IBM 2715,
because text transmission to this type
of station must always be in transparent mode.

2.

This macro instruction may be used for
all other types of remote BSC stations;
however, the IBM 1800 and 2770 do not
transmit text as a response to text
received from the central computer;
they return the usual alternatinq acknowledgment (ACK-O or ACK-1).

WRITE Inquiry writes an ENQ and read5
a response. This macro is for requesting
the remote station to transmit its last
response (ACK-O, ACK-1, NAK, or a
conversational text. reply).
1•

2.
3.

~·:r i

te
Read
Read

E~JQ

Response
Text

WRITE Wait-Before-Transmit (TW)
WRITE Wait-before-transmit writes a WACK
sequence to a remote station and reads an
ENQ. The purpose of this macro is to temporarily stop the remote computer from
sending. You may issue it in place of READ
Continue or READ Repeat., or in response to
a conversational-type write operation
executed by the remote station (if a computer). The only valid responses to WACK
are ENQ and EOT. You may issue Write TW
repeatedly for as long as necessary to
delay your regular response.
1.
2.
3.

Write WACK
Prepare
Read
ENQ

WRITE Reset (TR)
WRITE continue Conversational
Transparent (TTVX)
WRITE Continue Conversational Transparent
writes message text and the ending character, DLE ETX, and readS a response, which
may be the first two characters of a message block, an alternating acknowledgment,

WRITE Reset writes an EOT to relinquish use
of the line. After sending the EOT" the
next operation must be an initial-type Read
or Write operation(, to again gain use of
the line.
1.

Write

EOT

BSC Read and Write Operations

135

sse --- Nonswitched Multipoint
BSC NONSWITCHED MULTIPOINT OPERATION
The macro instructions contained in this
.section may be issued for any of the types
of remote BSC stations that can be connected to a nonswitched multipoint line,
except as noted in individual macro instruction descriptions.
The channel programs shown in this section correspond to an IODEVICE macro UNIT
operand of BSC3.

In defining a polling list of either the
open (AUTOLST) or wraparound (AUTOWLST)
kind, you must code, following the entries
for the stations to be polled, an entry of
length equal to the others, and containing
EOT characters (in hexadecimal equivalent
of the transmission code bit patterns).
For example, if the entries for the stations each contain five polling characters
plus ENQ, the last entry must be coded as
six EOT characters.
Addressing List

DEFINING TERMINAL LISTS

To define an addressing list for any type
of BSC station or combination of stations
on a multipoint line, code the DFTRMLST
operand field like this:

In order to achieve Read and Write operations over multipoint lines, you must
define appropriate terminal lists (i.e.,
polling or addressing lists) and refer to
these lists in your initial-type READ and
WRITE macro instructions.

r-----------------------------------------,
I OPENLST,(tidseq, ••• )
I
~-_-------------------------------_J

See the explanation of theDFTRMLST
macro instruction for general information
on defining those lists. Given below are
the specific coding requirements for multipoint· operations.

L __

___

tidseq consists of between one and seven
addressing characters" followed by an ENQ
character, all of which must be coded as
the hexadecimal 'equivalents of their transmission code bit patterns.

Each Read Initial operation requires an
open or wraparound polling list, and each
initial-type Write operation (Write Initial, write Initial Transparent, etc.)
requires an open addressing list.

All addressing list entries must be the
same length. Therefore, if addresses of
different lengths are to be contained in a
list, the shorter addresses must be padded
with leading SYN characters so that they
are the same length as the longer
addresses.

Polling List

Note: See the discussion of double addressing in ~he General Information section
at the beginriing of this chapter.

To define a polling list for any type of
BSC station or combination of stations on a
multipoint line, code the operand field of
a DFTRMLST macro like this:

r-----------------------------------------,
l.rAUTOLST \
.
I

L _________________________________________
JI
IlAUTOWLSTj,(tidseq,
••• )

tidseq defin~s an entry in the polling
list, and consists of between one and seven
polling characters, followed by an ENQ
character, all of which must be coded as
the hexadecimal equivalents of their transmission code bit patterns.
All polling list entries must be the
same length. Therefore, if polling
sequences of different lengths are to be
contained in a list, the shorter sequences
must be padded with leading SYN characters
so that they are the same length as the
longer sequences.
136

OS BTAM SRL

READ MACRO INSTRUCTIONS
READ Initial (TI)
(Using Open Polling List [AUTOLST)
READ Initial initiates an Auto Poll operation to cause the TCU automatically to poll
each of the stations in the polling list.
If a positive response to pOlling is
received from any station, the macro reads
into the input area the index byte indicating which station is sending the message,
followed by the message block. The first
byte of the input area contains·the index.
1.
2.

3.
4.
5.

write EOT
Poll (at list entry specified in READ
macro)
NOP
Read Index
Read Text

Command (1) sets the stations on the line
to control mode. command (2) initiates the
polling operation. Command (3) is executed
only if no response is received from a station in the Auto Poll list, or if no station in the list returns a positive
response to polling, that is, all stations
send negative responses. Execution of command (3) ends the Read operation, .which is
posted complete in the event control block.
If some station in the list returns a
positive response, command (3) is skipped;
command (4) reads into the first two bytes
of the input area the index byte indicating
which station responded, and the first message character. Command (5) reads the
remaining message text into the input area.

programming Notes

1.

2.

To determine which station responded,
examine the index byte. You should
obtain this index byte not from the
input area out from the DECPOLPT field
of the DECB for the line. DECPOLPT
always contains the index byte, while
an l/O error during transmission may
prevent the index byte from being
placed in the input area.
In specifying the length in the READ
macro, be sure it is at least one
greater than the expected text length,
in order to accommodate the index
byte.

Command (1) sets the stations on the line
to control mode. Command (2) initiates the
polling operation, beginning with the station specified by the "entry" operand in
the READ macro. If a positive response is
returned before the end of the list is
reached, the status modifier is set, causing the next command, (3), to be skipped;
command (4) transfers to command (7), followed by (8), which functions like commands
(4) and (5) in the "open-type" Auto Poll
operation.
If, however, the end of the list is
reached and no positive response has been
received, command (3) is executed" giving
control to command (5), which restarts the
polling operation at the beginning of the
polling list. Polling proceeds automatically, and each time the end of the list is
reached, command (6) gives control to (5),
and the polling starts again. If a positive response is received during a pass
through the line, command (6) is skipped
(just as command (3) is skipped above), and
commands (7) and (8) are executed as
before.

Programming Notes
The same programming notes given above
apply to Auto Poll operations with a wraparound list.

READ continue (TT)
READ continue writes a positive response to
the remote station and reads a message
block.

READ Initial (TI)
(Using wraparound Polling List [AUTOWLST])
READ Initial initiates an Auto Poll operation to cause the TCU automatically to poll
each of the stations in the polling list.
If a positive response is- received from any
station, the macro reads into the input
area the index byte indicating which station is sending the mess~ge, followed by
the message block. The first byte of the
input area contains the index.
1.
2.
3.
4.

5.
6.
7.

8.

Write EOT
Poll (at list entry specified in
READ macro)
TIC
(to command (5»
(to command (7~)
TIC
Poll (at beginning of list)
TIC
(to command (5»
Read Index
ReaJ Text

1.
2.

Write
Read

ACK-O or ACK-1
Text

Note: The text received is either message
text or an EOT.

READ continue with Leading Graphics (TTL)
READ Continue with leading graphics functions the same as a Read Continue" but precedes the positive response with leading
graphics ..
1.
2.
3.

Write
Write
Read

Leading Graphics
ACK-O or ACK-1
Text

This macro instruction may be issued for
any type of remote BSC station except an
BSC Read and Write Operations

137

IBM 2180 using Transcode or a remote IBM
3210; however, the IBM System/3, 180~,
2715, and 2770 ignore the leading graphics
characters that precede the response.
That is, these characters are neither
received into core storage (2715) or
terminal buffer, nor passed to any outpmt
device attached to the station.
READ Repeat (TP)

READ Interrupt is for use in lieu of a
READ continue.
1.

2.

Write
Read

1.

Receipt of the RVI sequence does not
force the remote station to break off
message transmission. It is only an
indication that the central computer
wishes to stop receiving. The remote
station may continue sending message
text until such time as it wishes to
yield to the central computer by sending EaT. The program in the central
computer should therefore he arranged
to issue READ Continue macros until
the remote station does respond with
EaT instead of text.

2.

The READ Interrupt macro must not be
issued more than once duri"ng a transmission, as incorrect alternating
acknowledgments may result.

3.

The remote 3210 always responds to
the READ Interrupt macro with an E~T.
The problem program must determine
whether all data vas received by
checking for an ETX at the end of
the previous message block. If an
ETB is present instead, all data vas
not received. If the rest of the
data is wanted, the problem program
can reread the message.

NAK
Text

READ Repeat with Leading Graphics (TPL)
READ Repeat with Lead~ng Graphics functions
the same as a Read Repeat, but precedes the
negative response with leading graphics.
1.
2.
3.

Write
Write
Read

Leading Graphics
NAK
Text

This macro instruction may be issued
for any type of remote BSC station except
an IBM 2180 using Transcode or a remote
IBM 3270; however, the IB~ System/3, 1800,
2715, and 2710 ignore the leading graphics
characters that precede the response.
That is, these characters are neither
received into core storage (2115) or
terminal buffer, nor passed to any output
device attached to the station.
READ Inquiry (TO)
READ Inquiry reads an ENQ from the remote
station.
1.

Read

ENQ

READ Interrupt (TRV)
READ Interrupt writes a Reverse Interrupt
(RVI) sequence to indicate to the remote
station that the central computer wishes
temporarily to stop receiving message text;
then issues a Read Text command, which will
receive from the remote station either an
EaT, signifying end of text transmission,
or further text. The RVI sequence is
equivalent to, and is recognized by the
remote station as, the proper alternating
positive acknowledgment (ACJ(-O or ACJ(-l.)

138

as BTAM SRL

RVI sequence
Text

Programming Notes:

READ Repeat writes a negative response to
the remote station and reads a message
block.
1.
2.

Write
Read

WRITE MACRO INSTRUCTIONS
WRITE Initial (TI)
WRITE Initial and Reset (TIR)
WRITE Initial addresses a remote station
and if the response to addressing is positive, writes message text. then reads the
response.
1.
2.

3.
q.

5.
6.

Write
write
Read
write
Rea-i
Write

EOI'

Addressing sequence
Response
Text
Response
EO'!' (TIR only)

Programming Note: This macro instruction
cannot be used to send message text to an
IBM 2715, because text transmis~ion to this
type of sta.tion muet always be in transparent mode.

W~ITE Initial Transparent (TIX)
WRITE Initial Transparent and Reset (TIXR)

WRITE Initial Transparent addresses a
remote station, and if the response to addressing is positive, writes message text
and' ending characters DLE ETX w then reads
the response.
1.
2.
3.
4.
5.

6.
7.

write EOT
write Address ing. sequence
Read
Response
Write Text
Write OLEETX
Response
Read
Write EOT (TIXR only)

program,ina_li!!: This macro instruction
cannot be us~d to send message text to
an IBft 2912 or a remote IBft 3210, because
text transmission to these types of
stations must always be in nontransparent
a04e.

!lITI Initial Transparent Block (TIE)
. .lTE Initial Transparent Block addresses a
reMOte atation~ and if the reeponae to addreaaing is positive, writes message text
and ending characters DLE ETB, then reads
the response.
1.

EOT
Addressing sequence
3.
Response
4.
Text
5.
OLE ETB
6. ~ead
Response
'Eograaling_!2!~:
This macro instruction
cannot be used to send message text to
an IB! 2912 or a remote IB! 3270, because
text transmission to these types of
stations must. always be in nontransparent
2.

Write
Write
Read
Write
write

.ode.

waITE Initial Conversational (TIV)
-'ITE Initial Conversational addresses a
remote station and if the response to addreSSing is poSitive, writes message text
and reads a response, which may be the
first two characters of a message block, an
alternating acknowledgment, or NAK. If the
response is message text, the remaining
text is read, if not, the operation is
posted complete.
1.
2.
3.
4.

5.
6.

Write
Write
Read
Write
Read
Read

EOT

Addressing sequence
Response
Text
Ites pons e
Text

Programming Notes
1.

2.

This macro instruction cannot be used
to send message text to an IBM 2715,
. because text transmission to this type
of station must always be in transparent mode.
This macro instruction may be used for
all other types of remote BSC stations.
However, the IBM 1800, 2770, and 2972
do not transmit text as a response to
text received from the central computer, they return the usual alternating
acknowledgment (ACK-O or ACK-l).

!ftITE Initial Conversational
Transparent (TIVX)

WRITE Initial conversational Transparent
addresses a remote station., and if the
response to addressing is pOSitive, writes
message text and the ending characters, DLE
ETX, that must follow the transparent data.
The macro then reads a response: which may
be the first two characters of a message
block, an alternating acknowledgment, or
NAK. If the response is message text, the
remaining text is read; if not, the operation is posted complete.
1.

2.
3.
4.
5.
6.
1.

Write
Write
Read
Write
Write
Read
Read

EOT
Addressing sequence
Response
Text
OLE ETX
Response
Text

Pre. 'lranuning Notes:
1.

This macro instruction cannot be used
to send message text to an IBM 2912
or a remote IBM 3270, because text
transmission to these types of stations
must always be in nontransparent moae.

2.

This macro instruction may be used for
all other types of remote SSC stations.
However. the IBM 1800. 2715, and ~770
do not transmit text as a response to
text received from the central computer; they return the usual alternating
acknowledgment (ACK-O or ACK-l).

WRITE continue (TT)
WRITE continue and Reset (TTR)
WRITE Continue writes message text and
reads a response from the remote station.
BSC Read and write Operations

139

1.
2.
3.

Write
Read
Write

1.

Text
Response
EOT (Tl'R only)

2.
3.

Write
Read
Read

Text
Response
Text

Programming Notes

programming Note: This macro instruction
cannot be used to send message text to an
IBM 2715, because text transmission to this
type of station must always be in transparent mode.

1.

This macro in$truction cannot be used
to send message text to an IBM 2115,
because text transmission to this type
of station must always be in transparent mode.

WRITE Continue Transparent (TTX)
WRITE Continue Transparent
and Reset (TTXR)

2.

This macro instruction may be used for
all ot~er types of remote BSC stations.
However., the IBM 1800. 2710, and 2912
do not transmit text as a response to
text received from the central computer; they return the usual alternating
acknowledgment (ACK-O or ACK-l).

WRITE continue Transparent writes message
text and the ending characters, DLE ETX,
that must follow transparent data, and
reads a response from the remote station.
1.
2.
3.
4.

Write
Write
Read
Write

Text
OLE ETX
Response
EOT (TTXR only)

groqramming_!Qte: This macro instruction
caBnot be used to send message text to
an IBM 2912 or a remote IBM 3210, because
text transmission to these types of
stations must always be in nontransparent
mode.

WRITE Continue Conversational Transparent
(TTVX)

WRITE Continue Conversational Transparent
writes message text and the ending character, OLE ETX, and reads a response, which
may be the first two characters of a message block, an alternating acknowledgment,
or NAK. If the response is message text,
the remaining text is read; if not, the
operation is posted complete.
1.
2.
3.
4.

WRITE continue Transparent Block (TTE)

Write
Write
Read
Read

Text
OLE ETX
Response
Text

Programming Notes
WRITE continue Transparent Block writes
message text and the ending characters, DLE
ETB, that must follow transparent data, and
reads a response from the remote station.
1.
2.
3.

Write
Write
Read

Text
OLE ETB
Response

1.

This .ac~o instruction cannot be used
to send meSSage text to an IBM 2912
or a remote IBM 3210, because text
transmission to these types of stations
must always be in nontransparent mode.

2.

This macro instruction may be used for
all 'other types of remote BSC stations.
However, the IBM 1800, 2115, and 2110
do not transmit text as a response to
text received from the central computer; they return the usual alternating
acknowledgment (ACK-O or ACK-l).

p~ogramming~12!~~
This macro instruction
cannot be used to send message text to
an IBM 2972 or a remote IBM 3210, because
text transmission to these types of
stations must always be in nontransparent
mode.

WRITE Inquiry (TQ)
WRITE Continue Conversational

(TTV)

WRITE continue Conversational writes message text and reads a response., which may
be the first two characters of a message
block, an alternating acknowledgment, or
NAK. If the response is message text, the
remaining text is read; if not, the operation is posted complete.
140

OS BTAM SRL

WRITE Inquiry writes an ~NQ and reads .
a response. This macro 1S for request1ng
the remote station to transmit its last
response (lCK-O, ACK1, N1K or a
Conversational Text reply).
1.

2.
3.

Write ENQ
Read Response
Read Text

sse ---

WRITE Wait-Before-Transmit (TW)
WRITE Wait-before-transmit writes a WACK
sequence to a remote station and reads an
ENQ.
The purpose of this macro is to temporarily stop the remote computer from
sending. You may issue it in place of READ
Continue or Read Repeat, or in response to
a conversational-type Write operation
executed by the remote computer. The only
valid responses to WACK are ENQ and EOT.
You may issue Write TW repeatedly for as
long as necessary to delay your regular
response.

1.
2.

Write
Read

Nonswitched Multipoint

WACK
ENQ

WRITE Reset (TR)
WRITE Reset writes an EOT to relinquish use
of the line.
After sending the EOT, the
next operation must be an initial-type Read
or write operation, to again gain use of
the line.
1.

Write

EOT

BSC Read and Write operations

141

Bse --- Switched Point-to-Point

BSC SWITCHED POINT-TO-POINT OPERATION
The macro instructions contained in this
section may be issued for any of the types
of remote BSC stations that can communicate
with the central computer over a switched
line, except as noted in individual macro
instruction descriptions.

transmitting a "data tone" to signify
to a calling station that data transfer
can proceed, or must the user program
supply the data tone?
•

Once contact has been established, is
the central computer to send an 10
sequence to the remote station, is the
central computer to receive an 10
sequence from the remote station, or
both (or neither>? If 10 sequences are
to be received from remote stations. do
all stations with which contact may be
established have to send the same 10
sequence? Or can each send a unique
sequence?

•

Once contact has been established, is
the direction of the first message
transmission to be toward the remote
station (i.e., a Write Text operation),
or toward the central computer (i.e., a
Read Text operation>?

contact between central computer and a
remote station over a switched line can be
established in numerous ways, representing
the various combinations of these
alternatives:
•

•

•

142

Is the central computer to call a
remote station or answer a call from a
remote station?
Is the calling or answering function to
be automatic or manual? That is, are
the TCU and the common carrier equip~
ment at the central computer equipped
to perform the calling (dialing> Or answering function under program control,
or must the operator at the central
computer perform these functions?
Is the data set (modem> at the central
computer capable of generating and

OS BTAM SRL

Each of the various available combinations
of the foregoing alternatives is represented by a combination of a specific READ
or WRITE macro instruction option and a
terminal list having a specific format and
content. These are shown in Table 8.

Bse ---

Table

8.

Switched Point-to-Point

Summary of BSC Switched Line READ and WRITE Macro and Terminal List options

r--------------------T------------T------------------T------------T----------------------,
I
I
I.
I
Imacro that refers
I

I
I TO:

I
I and to...

I
110

and if EXPANDEDlto be used
Verification ••. I issue a...

Ito a terminal list
I defined like this:

I
I

~--------------------+------------+------------------+------------+----------------------~

CALL a remote
station, using...

IRead text
I
I
I

Automatic Calling

I
I
IWrite text
I
I
I
I
I
I
I
I

I
I
I
I

is not 3

IREAD TI
I
I
I

I BSCLST,dialcount,
Idialchars,numrec.
Iridseq,numsent,tidseq
I (See Note 1)

~------------+------------------+------------+----------------------

I
I
I
I
I
I
I

is

IWRITE TC
I SWLST,AD, dialcount,
I (followed byldialchars,entrylength,
IWRITE TT)
I [userlength],idcount
I
lidsent[{,(authI
Isequence[.controlI
Ivalue] [,userI
Idata])} ••• ]

~------------------+------------+----------------------I

I
I
I

is not

I
IWRITE TI6
I

I BSCLST,dialcount,
I
Idialchars,nurnrec,
I
Iridseq,numsent,tidseq I

~--------------------+------------+------------------+------------+----------------------~

I
I
I
I
I

I

IManual Calling
I
I
I

I
I
I WRITE TC
I SWLST"MD, entryI
I
I
is
I (followed by I length, [userlength]. I
I
I
IWRITE TT)
lidcount,idsent
I
I
I
I
I [{, (authsequence
I
I
I
I
I
I [,controlvalue]
I
I
I I [, userdatal ) } ••• ]
I
IWrite text~ ~------------------+------------+----------------------j
I
I
I WRITE TC
I WTLI ST, 0, numrec,
I
I
I
is not
I (followed by I ridseq, numsent,
I
I
I
IWRITE TT)
Itidseq
I

~--------~-----------+------------+------------------+------------+----------------------i
~--------------------+------------+------------------+------------+----------------------1

I
I
I ANSWER a remote
Istation,using...
I
I
I
I Automatic Answering
I
I

I
I
I
IRead text
I
I
I
I
I
I

I
I
I
I
I
I

is

I
I
I READ TC or
ITCW
I
I

ISWLST.AN.entrylength.
I [userlength] ,
I idcount, idsent
I [{,(authsequence
I [, control value]
I [.userdatal) },••• ]

I
I
I
I
I
I

~---------------·----t------------+----------------------I

I
is not
-I READ TI
I
I
I I

I BSCLST, 0, numrec,
I ridseq. numsent,
Itidseq (see Note 2)

I
I
I

~--------------------+------------+------------------+------------+----------------------~

Manual Answering

I
I
I
I
I
IReadtext 5
I
I
I
I
I
I
I

is not 3

~--------------------i------------i------------------i

READ TI

(if data set [modem]
automatically generates tone)
BSCLST,O,numrec,
ridseq,numsent,tidseq

I
I
I
I
I

(if data set [modem]
does not automatically generate
tone) WTLIST,
O,numrec,ridseq.
numsent, tidseq,
length, area

I
I
I
I
I
I
I

----------------------1

____________ i _______

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

11 Alternatively, if no ID sequences are required, the list may be coded as:
I
I
DIALST,dialcount, dialchars
I
12 Alternatively, if no ID sequences are required, the list may be coded as: DIALST.O
I
13 Expanded ID verifi~ation not available.
I
I~Text cannot be
read from the remote station.
I
15 Text cannot be written to the remote station.
I
60r WRITE TIX, TIV, or TIVX.
1L ________________________________________________________________________________________
JI

BSC Read and write Operations

143

sse -

Switched Point-to-Point

DEFINING TERMINAL LISTS
See the explanation of the DFTRMLST macro
instruction for general information on
defining these lists. Given below are the
specific coding requirements for switched
point-to-point operations.

Automatic Calling and Answering - With
Expanded ID Verification
To define a calling list, code the operand
field of a DFTRMLST macro instruction like
this:
r--------------~----------------------------,

To define an answering list, code the
OFTRMLST operand field like this:

r-----------------------------------------,I

IBSCLST,O,numrec,ridseq,nurnsent,tidseq

L _______ ~--------------------~------------J

The ridseq operand must end with ENQi
the tidseq operand must end with ACK-O.
This type of list is for use with a READ
Initial macro instruction.
Omitting 10 Sequence: If no 10 sequences
are desired, omit, in the ridseq and tidseq
operands, all but the ENQ and ACK-O characters. When no 10 characters are specified,
the numrec, ridseq, nurnsent, and tidseq
operands are as follows:

ISWLST,AD,dialcount,dialchars,entrylength,1
I [userlengthl,idcount,idsent
I
I
I [{,(authsequence[,controlvaluel
IL______________
[,userdata)} •••____________________________
l
JI

calling List

Answering List

~

This type of list is for use with a
WRITE Connect (TC) macro instruction.
To define an answering list, code the
operand field of a DFTRMLST macro like
this:

r-------------------------------------------,

I SWLST"AN, entrylength,
I
I [userlengthl,idcount,idsent
I
I
I [{,(authsequence[,controlvaluel
IL___________________________________________
[,userdatal)}.~.l
JI

nurnrec

2

1

ridseq1

ACK-O

ENQ

nurnsent

1

2

tidseq1

ENQ

ACK-O

(Alternatively, if 10 sequences are not
desired, you may define a calling list
using a DFTRMLST in which the operand field
is coded DIALST,dialcount,dialcharsi an answering list using a DFTRMLST in which the
operand field is coded DIALST~O.)

This type of terminal list is for use
with a READ Connect (TC) or Read Connect
with Tone (TCW) macro instruction.
See the section DFTRMLST Macro -- SWLST
Form, for detailed information on coding
DFTRMLST macros of the SWLST form.

ManuaiCalling 2
Verification

-

with Expanded ID

To define a calling list, code the operand
field of a DFTRMLST macro like this:
Automatic Calling and Answering - without
Expanded ID Verification

r-----------------------------------------,I

I SWLST,MD,entrylength,
I [userlengthl,idcount,idsent

I
I [{,(authsequence[,controlvaluel
I
IL _________________________________________
[,userdatal)} ••• l
JI

TO define a calling list, code the operand
field of a DFTRMLST macro like this:

r-------------------------------------------,

This type of list is for use with a
WRITE Connect (TC) macro instruction.

IBSCLST,dialcount,dialchars,numrec,r~dseq,1

Inumsent,tidseq
L
_________________________________________ JI
The ridseq operand must end with ACK-Oi
the tidseq operand must end with ENQ. This
type of list is for use with a READ Initial
or WRITE Initial macro instruction.

144

OS BTAM SRL

1The ridseq and tidseq operands must be
coded in hexadecimal representation of the
appropriate transmission code bit patterns
of the ENQ and ACK-O characters.
2Manual answering with expanded 10 verification is not available.

Bse --- Switched Point-to-Point

Manual Calling and Answering - Without
Expanded ID Verification
To define a calling list, code the operand
field of a DFTRMLST macro like this:

r-----------------------------------------,

Il _________________________________________
WTLIST,O,numrec,ridseq,numsent,tidseq
JI
The ridseq operand must end with ACK-O;
the tidseq operand must end with ENQ. The
sequence specified by tidseq may contain up
to 15 characters (excluding the ENQ).
This
type of list is for use with a WRITE Connect macro instruction.
An answering list may be coded in one of
two ways, depending on whether the data set
(modem) at the answering station (i.e.,
central computer) is or is not designed to
automatically generate a data tone upon
receiving a call.
Data sets without Tone:
If the data set
does not generate a tone, BTAM sends a
user-specified character sequence that the
operator at the calling station hears as an
audible tone.
To define an answering list for a line
equipped with a data set that does not generate a tone, code the operand field of a
DFTRMLST macro like this:

r-----------------------------------------,

I WTLIST,O,numrec,numsent,tidseq,length,
I
area
lI ___________________________________
_____ JI

r-----------------------------------------,

IL_________________________________________
BSCLST,O,numreq,numsent,tidseq
JI
The ridseq and tidseq operands are as
explained above (under Data Sets Without
Tone)~
This type of list is for use with a
READ Initial macro.
If no ID sequences are desired, omit in
the ridseq and tidseq operands all but the
ENQ and ACK-O characters. When no ID
characters are specified, the numrec, ridseq, numsent, and tidseq operands are as
shown above under Automatic Calling and Answering (Without Expanded ID Verification).

DEFINING TERMINAL LIST (SWLST) FOR EXPANDED
ID VERIFICATION
Answering List
A READ Connect macro for Automatic Answering, with Expanded ID Verification,
requires an answering list defined as
follows:

r------T---------T------------------------,

I Name I Operation \ Operands
I
~------+---------+------------------------~
IsymbollDFTRMLST ISWLST,AN,entrylength,
I
\
~
I [userlength],idcount,
\
I
I
\idsent[{, (authsequence I
I
I
I [,controlvalue]
I
IL______ I _________ I ________________________
[,userdata])} ••• ]
JI
~

~

~

SWLST
The ridseq operand must end with an ENQ;
the tidseq operand must end with ACK-O.
The sequence specified by tidseq may contain up to 15 characters (excluding the
two-character sequence, ACK-O).
The length and area operands specify the
length of the character sequence used as a
data tone and the address of that sequence.
The data tone should be about three
seconds long.
To obtain a tone of this
duration requires a length of about 255
characters, for a 600 bits-per-second communication line, or about 450 characters,
for a 1200 bps line. A sequence of X'FF'
is recommended for the data tone.
This
type of list is for use with a READ Initial
macro.
Data sets with Tone: To define an answering list for a list for a line equipped
with a data set that generates a tone, code
the DFTRMLST operand field like this:

Specifies a list structure for
expanded BSC 1D verification.
AN
Specifies that an answering list (to
be used by the READ Connect or Read
Connect with Tone macro) is to be
defined.
entry length
Specifies the number of bytes to be
allocated for each list entry containing a user-defined authorized ID ENQ
sequence.
The integer specified
should equal the number of bytes
required to accommodate the authorized
ID ENQ sequence of maximum length,
plus the userdata field, if present (4
or 0), plus one (for the entry's control byte).
Authorized ID ENQ
sequences of less than the maximum
length are assembled left-justified
within the fixed-length 10 field allocated for each entry.
Each userdata
field (if any) and control byte have
the same offset within all entries.
BSC Read and Write Operations

145

Bse ---

Switched Point-to-Point

(The value specified may be zero if no
other sequence than ENQ, alone, is
expected and ENQ is not put in the
list. )

using the list. The values and corresponding BTAM actions are:

o
userlength
Specifies whether a four-byte userdata
field is ·to be allocated for each list
entry containing an authorized 10 ENQ
sequence. A code of 4 means to allocate; 0 mean.s not to allocate.
The
default option is o.

Sp.ecifies that BTAM is to send the
idsent sequence and read a message
block (if any) from the calling
station. If you omit the controlvalue suboperand within a sublist,
this value is assumed.
(If the
control value operand is omitted,
two commas must precede a coded
userdata operand in the same sublist, because .they are positional
operands within the sUblist.) You
may specify this value for a list
entry containing an ID ENQ sequence
or the single ENQ character.

idcount
Specifies the length (in bytes) of the
field required to accommodate the 10
characters (if any) and ACK-O defined
by the idsent operand. The range permitted is 2 (ACK-O alone> through 17;
up to 15 10 characters may be
specified.
1

idsent
Specifies the hexadecimal representation of the 10 ACK-O sequence to be
sent to the remote st.ation. While the
10 characters (if ~ny) are of your
choosing, the ACK-O sequence is
required. Upon receiving an 10 ENQ
sequence during execution of a READ
Connect, BTAM checks the control byte
value of the corresponding list entry,
and transmits the 10 ACK-O sequence if
the checked value is o.
(See the discussion of the control value suboperand, or the discussion of the Read
Connect channel program, for the
explanation of the BTAM actions performed for the various control byte
values.)
authsequence
Specifies the hexadecimal representation of an authorized 10 ENQ sequence.
Each 10 ENQ sequence is defined in a
separate sublist along with its
corresponding control byte value and
user data (if any). You should code a
separate 10 ENQ sequence for each
authorized sequence that can be
received on a Read Connect operation
using the particular answering list
being defined. 10 ENQ sequences of
varying lengths can be defined within
the same OFTRMLST macro.
Each
sequence specified must include the
ENQ character at the end. You may
define ENQ alone as an a utL3eguence
operand to service remote stations not
employing 10 verification.
controlvalue
Each list entry assembled for an authseguence sequence has an associat~
control byte, the value of which
determines the automatic BTAM action
to De performed when the sequence is
received on a Read Connect operation
146

OS BTAM SRL

Specifies that BTAM is to break the
line connection and restart the
channel program at the Enable command (to await a new call). You
may specify this action if BTAM is
not to servi~e a particular calling
station at the time of the call.
Typically, this action would be
specified for reasons of priority
(time-of-day scheduling). You may
specify this value for a list entry
containing an .10 ENQ sequence or
the single ENQ character.
2

Specifies that BTAM is to post
normal completion of the Read Connect immediately, with the address
of the received ENQ character in
the first word of the answering
list~
This permits control to be
returned to the user program so
that it can specify the subsequent
actions to be performed. You may
specify this value only for a list
entry containing a single ENQ character (i.e., not containing an 10
sequence). This permits the user
program to issue a subsequent READ
Continue or READ Repeat macro to
send ACK-O or NAK to a calling station that is not prepared to
receive an 10 sequence.
userdata
Specifies the relocatable expression
to be assembled right-justified in the
userdata field of the associated list
entry.
If you omit this suboperand
and userlength specifies 4, four noninitialized bytes are allocated for
the corresponding list entry.
(No
boundary alignment can be assumed for
the user data field.)

Bse ---

Notes:

1.

2.

A maximum of 194 sublists can be coded
for an answering list of the SWLST
form.
The CHGNTRY macro can be used to change
the control byte of an answering list
of the SWLST form during program
execution.

The first fullword of the list is the
area in which BTAM stores the address of
the entry containing the ID ENQ sequence
corresponding to the received sequence.
See Appendix A for the format of the
assembled answering list.

Calling List
E'or Automatic or Manual Calling, with
Expanded ID Verification, A WRITE Connect
macro requires a calling list defined as
follows:

r------T---------T------------------------,

I Name
I Operation I Operands
I
~------+---------+------------------------~
IsymbollDFTRMLST ISWLST,~ADt,
I
I
I
I
1MD~
I
I
I
I [dialcount, dialchars, 1
I
lentrylength, [userI
I
I
I
IlengthJ,idcount,idsent
I
I
I'
I
I
I [{, (authsequence
I
I
I [,controlvaluel
I
[ , userdatal ) } ••• 1
IL ______ i I _________ i I ________________________
JI

Switched Point-to-Point

ters (bytes) used in the dialing
operation.
Code this operand only if
you code AO a? the preceding operand.
dialchars
Specifies the decimal digits of the
telephone number to be dialed.
Code
this operand only if you also code AD.
entrylength
Specifies the number of bytes to be
allocated for each list entry containing a user-defined authorized 10 ACK-O
sequence.
The integer specified
should equal the number of bytes
required to accommodate the authorized
ID ACK-O sequence of maximum length,
plus the userdata fiel~, if present (4
or 0), plus one (for the entry's control byte). Authorized 10 ACK-O
sequences of less than the maximum
length are assembled left-justified
within the fixed-length IO field allocated for each entry.
Each userdata
field (if any) and control byte have
the same offset within all entries.
userlenqth
Specifies whether a four-byte userdata
field is to be allocated for each list
entry containing an authorized 10
ACK-O sequence.
A code of 4 means to
allocate; 0 means not to allocate.
The default option is o.
idcount
Specifies the length (in bytes) of the
field required to accommodate the 10
characters (if any) and ENQ defined by
the idsent operand.
The range permitted is 1 (ENQ alone) through 16; up
to 15 ID characters may be specified.

SWLST
Specifies a list structure for
expanded BSC ID verification.
AD
Specifies that an auto~dial calling
list is to be defined.
In this case,
the dial count and dialchars operands
are required so that program-initiated
dialing can occur. The corresponding
Write Connect channel program begins
with a Dial command.
MD
Specifies that a manual-dial calling
list is to be defined.
In this case,
omit the dialcount and dialchars
operands, because th~ dialing operation is initiated by the central computer operator. The Write Connect
channel program with which a manualdial calling list is used begins with
an Enable command.
dialcount
Specifies the number of dial charac-

idsent
Specifies the hexadecimal representation of the ID characters (if any) and
ENQ to be sent to the remote station.
Typically, the 10 characters to be
sent will convey station identification.
The 10 characters, if any, are
of your choosing; the ENQ character is
required.
authsequence
Specifies the hexadecimal representation of an authorized 10 ACK-O
sequence.
Each ID ACK-O sequence is
defined in a separate sublist along
with its corresponding control byte
value and user data (if any).
You
should code a separate IO ACK-O
sequence for each authorized sequence
that can be received from remote (answering) stations. ACK-O must be
coded following each 10 sequence; it
must not be coded where no 10 sequence
is used.
BTAM checks for reception of
ACK-O or NAK, alone, on a Write ConBSC Read and Write Operations

147

sse --- Switched Point-to-Point

nect operation without requlrlng that
they appear in the list.
controlvalue
Each list entry assembled for an authsequence sequence has an associatea--control byte. For any received ID
sequence terminated by ACK-O, BTAM
ignores the control byte. When a
valid ID sequence terminated by NAK is
received during a Write Connect operation, BTAM examines the control byte
of the entry whose ID matches the
received ID. The control byte value
determines the BTAM action to be performed. The values and BTAM actions
are:

o
Specifies that upon receipt of the
sequence, BTAM is to post completion of the operation immediately.

READ MACRO INSTRUCTIONS
READ Initial (TI)
(Using Automatic Calling List -- BSCLST
DIALST)
READ Initial calls a remote station, writes
the central computer's identificatIon
sequence and ENQ to the station, and reads
the identification sequence of the remote
station and a response. If the identification matches the identification contained
in the terminal list, and the response is
positive (ACK-O), the operation continues
by writing EOT (indicating that the central
computer does not wish to send), reading
ENQ and responding with ACK-O. then reading
a message block from the remote station.
If the identifications do not match, the
Read operation ends with command (3) and is
posted as complete.

1

specifies that upon receipt of the
sequence, BTAM is to resend the ID
ENQ sequence. This option has
meaning only when the ID NAK
sequence has been sent, indicating
that the remote station is not
ready to receive, and you wish to
retry, expecting that the remote
station will shortly become ready
to receive. The maximum number of
retries performed for this control
nyte value is seven. If more
retries than this are desired, you
can reissue the WRITE Connect
macro; BTAM bypasses the initial
Enable or Dial command if the line
connection is already established.
userdata
Specifies the relocatable expression
to De assembled ri'ght- justified in the
userdata field of the associated list
entry.
If you omit this suboperand
and userlength specifies 4, four non~
initialized bytes are allocated for
the corresponding list entry.
(No
boundary alignment can be assumed for
the user data field.)
Notes:
1.

A maximum of 192 sublists can be coded
for a calling list of the SWLST form.

2.

The control byte values for a calling
list cannot be changed by use of the
CHGNTRY macro.

The first fullword of the list is the area
in which BTAM stores (prior to completion
posting) the address of the list entry
associated with the received ID sequence.
See Appendix A for the format of the
assembled calling list.
148

OS BTAM SRL

1.
2.
3.
4.
5.
6.

7.

Dial
Write
Read
Write
Read
Write
Read

Dial Digits
ID ENQ
ID ACK-O
EOT
ENQ
ACK-O
Text

READ Initial (TI)
(Using Automatic Answering List -- BSCLST,
DIALST)
READ Initial answers a call from a remote
station, reads the identification sequence
of the remote station and an ENQ, writes
ACK-O to indicate that the central computer
is ready to receive, and reads a message
block from the remote station.

1.
2.
3.
4.

Enable
Read
ID ENQ
Write ID ACK-O
Read
Text

READ Initial (TI)
(Using Manual Answering List -BSCLST,WTLIST)
A READ Initial macro using a manual answering list is ·for use where the central computer is not capable of automatically answering calls from remote stations; the
operator at the central computer must answer them manually. Operation is as follows.
The channel program first enables the
line so that calls can be received. When
the telephone rings, the computer operator
answers it, and may verify the identity of

sse --- Switched Point-to-Point

the calling station (if that call was
initiated by the remote station operator
rather than automatically).
The operator
then places the data set 
Another end-to-end control character is
EM Cend-of-medium). When the card reader
detects this character punched in a card it
is currently reading, the reader ejects the
card. When the EM character .is sent to the
card punch, it causes the punch to eject
the card. These functions occur, however,
only when the EM appears in nontransparent
·text. If it appears in transparent text,
it is ignored. Regardless of whether it is
in nontransparent or transparent text,
however, it is punched in the card, when
sent to the card punch.

The remaining two end-to-end characters
are ESC (Escape) and HT (Horizontal Tab).
The ESC character is used in component
selection (except multipoint lines), in
vertical forms control, and in horizontal
formatting. The HT character is used in
horizontal formatting, when the 2780 is
equipped with the Printer Horizontal Format
Control feature~
The use of the ESC and HT characters is
discussed under the functions with which
they are associated.

COMPONENT SELECTION
In communicating with an IBM 2780 over a
switched or nonswitched point-to-point line
(but not a multipoint line), you must perform component selection when transmitting
messages to the 2780, if the Mode switch at
the 2780 is set at Transmit or Receive. If
the Mode switch is set to Print or Punch,
the 2780 ignores component selection messages; all messages it receives are automatically printed or punched.
The Mode
switch is manually set by the 2780
operator.
Component selection is accomplished-by
sending a nontransparent message beginning
with a two-character escape sequence. To
select the punch, begin the message (following tne STX character) with ESC 4. To
select the printer, begin the message
(after STX) with anyone of the vertical
forms control escape sequences (e.g., ESC
/, ESC A, ESC B). Thus, the vertical forms
control escape sequences (discussed below)
perform the dual function of selecting the
pri~ter and controlling the forms motion
for the records in which they appear.
Once a component is selected, you need
not reselect it in successive records to be
sent to that component.
Because the 2780 recognizes component
selection escape sequences only· in nontransparent messages it receives, the first
message, and any subsequent messages containing component selection sequences, must
always be in nontransparent mode.
Intervening messages can be in transparent mode.
Figure 23 illustrates the use of component
selection sequences.

Nonswitched point-to-Point Line
When the 2780 finishes sending messages to
the central computer, it transmits ETX (or
OLE ETX). The computer responds to this
with a positive acknowledgment (ACK-O or
ACK-1) if it detected no errors. Upon
receiving the positive acknowledgment, the
2780 sends an EOT to the computer.
When the 2780 is equipped with the Automatic Turnaround feature, the card punch
automatically enters ready status after the
card reader reads a blank card.
This permits the computer, upon receiving EOT, to
immediately bid for the line (by sending
ENQ) and select the punch. Without this
feature, selection of the punch following a
card reader operation requires operator
intervention. Automatic selection of the
printer, however, does not require the presence of the Automatic Turnaround feature.

Switched Point-to-Point Line
The 2780 normally does not transmit the

disconnect signal (OLE EOT) to the central
computer; it thus lets the uSer program at
the central computer decide when to break
the switched line connection after a transmission.
AS mentioned above, when the 2780
receives a positive acknowledgment to the
last message it sends, it returns an EOT to
the computer.
The user program may then
send the disconnect signal (OLE EOT) or,
via a WRITE Inquiry macro, bid for use of
the line.
When the user program sends anEOT to
the 2780, the 2780 reacts in one of two
ways.
If the card reader is in ready status,
the 2780 bids for use of the line by sending ENQ.
Upon receiving the ENQ, BTAM
posts normal completion (X'7F' in the
OECSDECB field of the 9ECB). The user program may, if it is ready to receive, then
issue a READ Continue (TT or TTL) macro.
If the card reader is not in ready status, the 2780 does not respond to the EOT.
Instead, it continues to monitor the line
for an ENQ from the computer.
If it
receives no ENQ within about 20 seconds,
the 2780, if equipped with the Automatic
Answering feature, will then break the line
connection (go "on-hook").

IBM 2780 Data Transmission Terminal

-~

Programming Considerations

161·

Exampl e 1: Nontransparent mode
Computer
Sends:

2780 Replies:

-3T
ACK_o1
T-CT

STX ESC 4 -

Text -

US -

Punch
Selected

Text -

STX -

ETB

Text -

US ESC A -

Example 2: Transparent mode
Computer
STX ESC 4 ETB

Sends:

2780 Replies:

I

-

OLE STX -

~

ACK-1

Punch
Selected

Text -

OLE ETB

-

OLE STX -

ACK -0

ETB

STX -

Text -

••••
00

Print and
Single Space

Print and
Skip to 1

Printer
Selected

80:"character ,records
to be Punched

Text -

OLE ETB

STX ESC/"

'-v-'

ACK -1

1

Printer
Selected

80 - character records
to be punched

Figure 23. Examples of Component Selection for 2780
vertical Forms control
Vertical positioning of forms at the 2780
printer is controlled by predefined escape
sequences. These are shown in Figure 24.
You must place the sequence in the first
two character positions of each message
block (print line record) you send to the
printer. Exception: If you wish single
spacing arid, for a switched or nonswitched
pOint-to-point line, you require no component selection characters, you may omit
the escape sequence (ESC /, for EBCDIC, or
ESC Q, for USASCII). For double or triple
spacing, or skipping to a channel of the
printer carriage control tape, you must
begin the print line record with the appropriate escape sequence.
See Example 2 of
Figure 22 for examples of escape sequencEs
for vertical fOrms control.

r-----------------------------------------l
EscaQe Seguence
USASCII

EBCDIC,
Transcode

Forms Motion
After Printi!!9.

ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC

ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC
ESC

Single space
Double space
Triple space
Skip to ch. 1
Skip to ch. 2
Skip to ch. 3
Skip to ch. 4
Skip to ch. 5
Skip to ch. 6
Skip to ch. 7
Skip to ch. 8

Q

R
S
A
B
C
0

E
F
G

H

/

S
T
A
B
C
0

E
F
G

H

(In EBCDIC, the ESC character is identical to the PRE (Prefix) character.)
____________________________
._____ - - ______ J
Figure 24.

Vertical Forms Control Escape
Sequences

HORIZONTAL FORMAT CONTROL
The IBM 2780 may be equipped with the
Printer Horizontal Formatting Control feature. This feature allows the printer of
the 2780 to receive from the line instruc162

OS BTAM SRL

tions on arranging across the page the text
contained in subsequent print line records
it receives. To tell the 2780 the format
desired, the user program at the central
computer must send a format record each
time the format is to
changed. The format record most recently received by the
printer governs the horizontal format of
all subsequent print line records.
(Sending a format record is equivalent to setting the tab stops on a typewriter.)

be

Each format record must begin with the
ESC rlT sequence. The record contains other
HT characters, and intervening SP (space)
characters such that a HT appears at each
position of the format record corresponding
to the print line position where a stop is
to be made (i.e., a tab stop is to be set),
with SP characters occupying all other format record positions. No characters other
than HT and SP may appear in the format
record. It is not necessary to make the
format record as long as the print line; it
may end at the last HT character. The
final character of the format record is an
ETB. See Figure 25 for an example.

If HT characters appear in nontransparent text when no format record is in
effect, or if it appears in the text beyond
the format record position corresponding to
the last stop on the print line, an error
occurs--overrun of the print line.
If HT characters appear in transparent
text, the 2780 does not recognize them as
end-to-end control characters but treats
them as text characters.
If the 2780 is not equipped with the
Printer Horizontal Formatting Control feature, the 2780 does not recognize HT characters as end-to-end control characters
regardless of whether they appear in transparent or nontransparent text.

--------

STX ESC HT SP SP SP SP HT SP SP SP SP SP SP HT SP SP SP HT ETB

2

3

4

5

6

7

1. Two-character sequence introducing the format record.
2. Indicates print positions 1-4 do not contain a stop.

Format records must always be sent in
nontransparent mode.
The 2780 printer is governed h¥ the
last-received format record until:

3. Indicates a stop at print position 5.
4.

Indicates no stop in print positions 6-11.

5. Indicates a stop at print position 12.

•

it receives a new format record

6. Indi.cates no stop in print positions 13-15.

•

power is removed from the terminal

7.

•

a card is read by the card reader
(EBCDIC and USASCII codes only)

•

a record is received by the card
punch (EBCDIC and USASCII codes only)

For terminals using Transcode, the
printer retains the format record even if
card reading or punching occurs following
use of the printer.
Once a format record has been sent to
the printer, HT characters are used in subsequent print line records the user program
sends to the printer to cause skipping to'
the next stop position on the print line.
This is equivalent to pressing the Tab key
of a typewriter.
Example: Assuming that the printer is
governed by the format 'record shown in
Figure 2~, if you wished to print the two
characters A,B at print positions 1 and 2,
and the three characters C,D,E at pOSitions
12, 13, and 14, you would send this print
line record:
STX A B HT HT C D E ETB
IBM 2780 Data Transmission

Indicates a stop at print position 16.

Figure 25.

Example of a 2780 Format Record

MULTIPLE RECORD TRANSMISSION
The 2780 contains a 400-character buffer
for receiving data from the communications
line. This buffer can accommodate one,
two, or more records depending on whether
the terminal is equipped with the Multiple
Record Transmission feature and whether
transparent or nontransparent mode is used.

2780 without Multiple Record Transmission
Feature
without the feature, the 2780 can receive
or send two nontransparent records per
transmission. The first record is ended by
the unit separator (US) character (also
called interchange unit separator -- IUS
in EBCDIC) which provides the ITB function,
while the second record ends with ETB or
ETX. Thus, in nontransparent mode, a
Term~nal

-- programming Considerations

163

single transmission apppears on the line
as:
STX ••• text •••
ETX)

US •.•

text •••

Although the 27S0 can send two-record
transmissions in transparent mode. BTAM can
send the 27S0 only one record per transmission. The format is:

ETB (or
DLE STX ••• text •••

When received by the 27S0, only the text
is print~d or punched. The us and ETB (or
ETX) cause the punch to eject the card, but
are not themselves punched into the card
(unlike EM (end-of-medium), which is
punched into the card).
The STX character is mandatory at the
beginning of the first record, and optional
at the beginning of the second (after US).
Upon receiving a two-record transmission, the 27S0 checks each record individually. If the first record is valid and the
second is invali4, it prints or punches
only the first record. If the central computer subsequently resends the two-record
transmission, the 27S0 prints or punches
only the second record, as the first has
already been successfully printed or
punched. If in the initial transmission
the first record is invalid, the 27S0
prints or punches neither record, even
if the second record is valid. This
avoids processing records out of sequence.
The 27S0 can send two transparent records per transmission, in this format:

OLE ETB (or OLE ETX)

27S0 with Multiple Record Transmission
Feature
With the feature, the 27S0 can send or
receive up to seven records per transmission, in nontransparent mode, and can send
up to four records, in transparent mode.
BTAM can send the 2780 only one record per
transmission in transparent mode.
The maximum number of records per transmission, and the maximum number of data characters per record, are shown in Figure 26.
Although escape sequences cannot perform
component selection in transparent mode,
they may be used in transparent-mode transmissions to the printer to perform vertical
forms control. They are optional in this
case, however, and do not count as part of
the fixed record length shown in Figure 26.
The only case in which the escape sequence
is mandatory in transparent mode is if the
first data character in the record coincides with the ESC character.

DLE STX ••• text ••• OLE US DLE STX ••.
text ••• OLE ETB (or OLE ETX)
(The distinction between ETB and ETX is
that ETX is used to end the last block in a
transmission. )

r----------------T-----------------------T------------------------------,

I
IMaximum number of
I Maximum number of
I
1
Irecords per
Idata characters 1
1
1Mode
1transmission
1per record
1
~----------------+-----------------------+--------------~---------------i
1
1
1 (variable length record)
I
1Nontransparent 12 without MRT
ISO (to punch)
I
1
17 with MRT
ISO (from reader)
I
I
I
1print line 2 (to printer)
I
~----------------+-----------------------+------------------------------i
I
I.
I (fixed length record)
I
1Transparent
11 (to 2780)
ISO (to punch)
I
1
12 (from 2780 w/o MRT)
ISO (from reader)
I
I
14 (from 2780 with MRT) Iprint line 2 (to printer)
I
~----------------~-----------------------~------------------------------i

11 Notincluding control characters (STX, US, etc.) or escape sequences. I
12The
print line may be SO, 120, or 144 positions.
L_______________________________________________________________________
JI
Figure 26.
164

IBM 2780 Records:

os BTAM SRL

Number and Length

PROGRAMMING CONSIDERATIONS
Maximum Transmission Length
The maximum number of characters in one
transmission to the 2780 is 400. All
characters in the transmission, including
escape sequences, end-to-end control
characters, US, ETB, and ETX, occupy positions in the buffer, with one exception.
STX characters are deleted by the ~780 control unit as they arrive and do not appear
in the buffer.
The limitation of 400 is in
addition to other restrictions already mentioned, such as print or punch record
length and number of records per
transmission.

Automatic Turnaround Feature
If the 2780 is equipped with the Automatic
Turnaround feature, the first blank card
placed in the card reader hopper behind
cards being read and transmitted will cause
the 2780 to stop card reading and send an
ETX to the central computer.
(The blank
card is not sent over the line). In this
case the last message block from the 2780
will be:
STX ••• text •••

US ETX

Nonmixing of Modes within a Transmission
Within one transmission you cannot send records in both transparent and nontransparent modes. That is, a transmission of
the form
STX ••• text •••
ETB

US DLE STX ••• text •••

DLE

is not permitted.

Responses by 2780 to Abnormal Conditions
There are two possible responses by the
2780 to abnormal conditions occurring when
the 2780 is receiving a transmission from
the central computer: NAK and EOT.
The 2780 sends a response of NAK for
line errors. For example, the received
message bl.ock may contain a parity error.
The 2780 returns a NAK to request the
central computer to retransmit. Another
kind of line error may result in in a

received message block containing too many
characters.
(A user-program error could
produce the same result.)
Again, the 2780
returns a NAK to request retransmission.
Clearly, if the user program has actually
sent too many records or characters in one
transmission, the user program must be
corrected; no amount of retransmission
could clear the error condition.
The 2780 sends EOT in response to certain user-program errors that i t can
detect, such as failure to send a format
record to the printer before sending print
line records containing horizontal format
control, or sending too many characters in
a record.
The 2780 also sends EOT when it detects
certain internal errors, such as a punch
jam, printer forms check, buffer parity
check~ etc.
When these conditions occur,
the 2780 immediately responds to the
central computer with EOT, signifying that
the 2780 operator must intervene before
operation can resume.
Recovery from such a disruption depends
on the user-program restart and recovery
procedures and on the 2780 operator procedures.
The operator's instructions may,
for example, tell him to prepare the 2780
to expect retransmission of the message
block to which the 2780 responded with EOT.
Or he may be instructed to prepare the 2780
to receive a new message block, unrelated
to the previous one.
In any event, the
operator's response and the user program's
response to these conditions should be
consistent.
In certain instances the 2780 will not
immediately respond with EOT when an internal error occurs. This happens only if the
error condition occurs during the printing
or punching of the last record in a
received message block.
Upon verifying
that the last record in a block is free of
error, the 2780 responds with the appropriate acknowledgment to the central computer
and overlaps processing of the lastreceive1 record with receipt of the next
block.
If an internal error occurs during
processing of the last record, the 2780
responds to the next block with an EOT.
The 2780 operator can intervene to process
the record on which the error actually
occurred without retransmission of that
record.
The user program would then
retransmit the next message block.
A description of internal errors and
operator procedures may be found in the
publication IBM 2780 Data Transmission Terminal Component Description, GA27-3005.

IBM 2780 Data Transmission Terminal -- Programming Considerations

165

In sending to the central computer, the
2780 makes special use of the ENQ character
to indicate the occurrence of an internal
error. If a buffer parity or overrun error
occurred in the message block it is sending, the 2780 sends a message block of the
form:

If an internal error occurs during processing of a record being readied for
transmission to the central computer, it
sends STX ENQ (with no text). The 'central
computer and 2780 then exchange NAK and
EOT, as above.,

STX •.• text •••
(or)
STX ••• text •••

When it receives the EOT, BTAM turns on
bit 7 of the DECFLAGS field of the DECB and
posts abnormal completion, with a code of
X'41'. Subsequent transmission by the
2780, after communication with the central
computer is resumed, normally begins with
the record on which the error occurred.

US •••• text ••.

ENQ

ENQ

A message ending with ENQ is invalid, and
BTAM error recovery procedures automatically respond to the 2780 with a NAK character. The 2780 then sends EOT to indicate
that it is aborting transmission until the
operator corrects the error condition.

166

OS BTAM SRL

IBM 2790 DATA COMMUNICATIONS

SYSTE~

BTAM supports Binary Synchronous Communication between a System/360 and an IBM 2790
Data Communications System (via an IBM 2715
Transmission Control unit) over point-topoint (switched and nonswitched) and multipoint nonswitched line configurations.

READ Initial operation, the input area may
contain the index byte and EOT.

The 2715 is available in two models:
local and remote. The local 2715 (2715
Modell) is attached directly to the multiplexer channel of a Systeml360. A Binary
Synchronous Module is provided in the 2715
Model 1 to simulate a Binary Synchronous
Communications Adapter, operating on a
point-to-point nonswitched line. The
remote 2715 (2715 Model 2) can be connected
to an Ia~ 2701 Data Adapter Unit attached
to a System/360 multiplexer or selector
channel, or to an IBM 2703 Transmission
Control attached to a Systeml360 multiplexer channel. Communication between the
system/3bO and the 2715 (local and remote)
follows the line control conventions of
Binary Synchronous Communications. To the
Systeml360 programmer, a local 2715 is
indistinguishable from a remote 2715
(operating on a point-to-point nonswitched
line).

ETAM provides a set of macro instructions to enable the user to describe the
processinq that must be performed on his
input. The 2715 cannot be proqrammed by
the user.
IBM-SUpplied microcode in the
2715 interprets processinq requirements
throuqh a set of tables qenerated by the
user-coded macros. There are 18 user
macros that can be used with the 2790
System.
Seven of the macros are for the
basic system four are for the Pulse Count
feature, and seven are for the 2798 Guidance
Displav Unit.
The 18 macros, when assembled
by the System/360 Assembler, generate
21 types of tables. The tables are
transmitted in object form to the 2715
by the users BTAM program.
These tables
contain pointers and index values, as
well as parameters used by the microcoded
routines.
(See Appendix M for a sample
2790 program.)

For detailed descriptions of the 2790
system, see the IBM 2790 Component Description manual, GA27-3015.

2715 PULSE COUNT FEATURE

The transmission code supported is
transparent EBCDIC. When communicating
with a System/360, the 2715 sends error
information and diagnostic messages to the
system. The type of message (error information or diagnostic) is indicated in a
special header that precedes the message
text and is transparent to the user.

The 2790 Data :ommunications System is a
data collection and data communication system. The 2715 Pulse Count feature is provided to allow the 2790 system user to
dynamically control and monitor production
work flow. This feature adds another major
capability to the 2790 system.

• Diagnostic messages are operator
awareness messages that are printed on
the Systeml360 console or the 2740, if
available. These messages are the
result of the 2715 completing
diagnostics.
• Error information messages are recorded
on disk. These messages are sent when
the 2715 has filled a sector of its
integral disk with error information
data or by user request.
Note:
If one of these diagnostic or error
information messages is received by BTAM on
a READ Initial operation, BTAM changes the
optype to READ Continue and restarts the
operation. The initial flag bit in the
DECB is left on in this case.
If one of
these messages is received on a multipoint

The READ, WRITE, and CONTROL options
available for the 2715 are listed in Table
6.

Some of the highlights of the 2715 Pulse
Count feature are:
• The 2793 Area Station is the only area
station in the 2790 system on which
pulse counters can be attached.
• Up to 63 counters are allowed on a 2793
area station.
• Up to 1008 counters are allowed on a
2790 system.
• These counters can have a decimal count
from 0 to 29,999.
• The READ/WRlrE capability is available
for all counters.
• The overflow interrupt capability is
available on all counters.

IBM 2790 Data Communications System

167

• Implicit/explicit counte,r addressing at
the DEU level is permitted.
• count testing can be performed on up to
504 counters in the system.
• Schedule readout capability is available for up to 504 counters in the
system.
The 2115 Pulse count feature has many
possible uses. Some of the functions that
can be performed with it are:
• Appending counts automatically to
transactions entered on a 2195/2196/
2191 Data Entry unit.
• Monitoring the current progress of
counters by requesting readouts of
counters for printing at the 2140, the
area station 1053 printer, or the
system/360.
• Setting counters to predetermined
counts, and when these counts are
reached, automatic printouts of the
counters are routed to the 2140, the
area station 1053, or the System/360.
• Monitoring for unassigned production
with printout notification at the 2140,
the area station 1053, or the
System/360.
• Monitoring counters on a scheduled
basis and informing the user when a
counter is not advancing. Printouts
can be directed to the 2740, area station 1053, or the System/360 to alert
the user of such "no-count" production
conditions.
• Readout of counters on a scheduled
basis for analysis by users.
• Scheduling up to 15 user-selected time
schedules for flexibility in implementing the "count test" and "scheduled
readout" functions described above.

counter Testing
Two types of counter testing can be automatically performed by the 2715 if the user
so desires. The user specifies one of 15
possible test schedules for each of 504
counters by means of the user table. Be
can also specify the type of count testing
that is to be automatically performed on
each of up to 504 counters. The 2115 will
scan the counter table and perform one of
two count tests, "no count" or "unassigned

168

as

BTAM SRL

production,· depending on what the user
specifies in the tables and also whether or
not count testing is enabled.
The user has the ability to enable or
disable count testing from either the
System/360 or the 2190 DEUs via userspecified transaction lists. When
initiated from a DEU, the desired action
must be specified in the transaction list
(CTRLIST macro). If explicit counter addressing is specified, this address must be
within the data entry. Implicit counter
addressing at a DEU implies counters 1
through 32 only. All count test entries
must be the last data entry from theDEU.
The user can enable or disable count
testing from the Systeml360 or the 2115
operator's console for all counters on an
area station, or all counters on the system. If the user disables count testing
for all counters on the system, he can
enable all counters and either have the
2115 continue from the previous stop point
in the timing of the schedules, or have the
2115 re-initialize all schedules and start
again.
Three possible count testing actions can
be initiated on an individual counter
basis:
1.

No-count test can be started. The
2115 automatically stops unassigned
production testing in this case.

2.

UnaSSigned production test can be
started. The 2715 automatically stops
no-count test in this case.

3.

All count testing can be stopped.

The no-count test informs the user that
a counter is not advancing. The no-count
test is executed on a user-defined schedule
on an individual counter basis. When the
2715 detects that a counter is not advancing, a message signifying a no-count condition is generated and routed to the
destination defined by the user in the
ROUTE operand of the ASCTR macro instruction. The message indicates which counter
has not advanced when it should have. The
2715 then disables further no-count testin~
for that counter until the user has
corrected'the situation and has enabled
further testing. Count testing for all
other counters remains in progress.
The unassigned production test informs
the user that a counter is advancing when
it should not. The unassigned production
test is executed on a user-defined schedule
on an individual counter basis. When the
2715 detects a counter advancing, a message

signifying an unassigned production test
condition is generated and routed to the
destination designated by the user, in the
ROUTE operand of the ASCTR macro instruction. This message indicates which counter
has advanced when it should not. The 2115
then disables further unassigned production
testing for that counter until the user has
corrected the situation and has enabled
fur'ther testing. Count testing for all
other counters remains in progress.

high-order digit of the value. This digit
must be 0,1, or 2, because the value cannot
exceed 29,999. The user specifies the loworder four digits of the counter value in
the four digit-rocker switches on the 2196
or by keying them in on the manual entry
digit keys of the 2191.
Note: There are 6 possible manual entry
positions on the 2191. Only the 4 loworder positions are used for the low-order
value of the set counter operation.

Scheduled Counter Readout
An individual counter readout function is

provided so that the 2715 will automatically read up to 504 counters on userdefined schedules if the user so desires.
The user specifies one of 15 possible schedules for each of up to 504 counters in the
table macros (CTRGROUP and CTRSCHED). As
the 2115 reads a counter, the transaction
header is attached and the transaction is
stored automatically on disk as deferred
data. The transaction header contains the
counter address and associated time stamp.
The user can enable or disable scheduled
readout from the System/360 or the 2115
operatoris console for all counters on an
area station or all counters on the system.
He can also enable or disable scheduled
readout for a single counter from the
system/3bO. If the user disables scheduled
readout for all counters on the system, h~
can enable scheduled readout on all counters and either have the 2115 continue from
the previous stop point in the timing of
the schedules or have the 2115 reinitialize all schedules and start again.
DEU Set Counter Capability
The initiating transaction from a DEU consists of one or more data entries. For
multiple data entries, the set counter
function is contained within the last data
entry. There is no set counter capability
on the 2795 DEU. Only the 2196 and 2791
DEUS have this capability. The user
selects the proper transaction list by setting the top left knob on the 2196 or the
left knob on the 2197.
(Transaction expansion may not be used.) The last step in
the transaction list must be the counter
appendage. The counter control byte in the
counter appendage step of the transaction
list specifies the set counter operation
and also specifies whether or not implicit
or explicit counter addressing is to be
used. For implicit addressing, the user
does not have to specify the counter
address. The DEU address is automatically
translated to a counter address. The user
specifies the high-order byte of the 5digit value to which the counter is to be
set by turning the top right knob on the
2196 or the right knob on the 2191 to the

Explicit addressing requires that the
counter address be contained in the data
entry. Explicit addressing may be accomplished by DEU manual entry or by manual
entry and card or badge entry. If manual
entry is used, the lower left and lower
right knobs on the 2196 or the two high
order positions of the 2191 manual entry
field specify the counter address. If
manual and card or badge entry are used,
columns 71 and 18 of the card or columns 19
and 20 of the badge must contain the counter address.
The status of a DEU-initiated set counter operation is indicated via normal status
reporting. Unsuccessful set counter transactions initiated by a DEU are signified
by raising the red error flag on the DEU.
Set counter functions may not be routed to
ASLOG printer.
DEU Read Counter Capability
The initiating transaction from the DEU
consists of one or more data entries. For
a transaction that contains multiple data
entries, the last data entry must contain
the information necessary to initiate a
read counter. The 2195, 2196, and 2191
DEUs have the read counter capability. The
user selects the proper transaction list by
setting the left knob on the 2795 or 2191
or the top left knob on the 2196. rhe last
step in the transaction list must be the
counter appendage. The counter control
byte in the counter appendage step of the
transaction list specifies the read counter
operation to be performed, and alsospecifies ~hether implicit or explicit counter
addressing is to be used. Read counter
values are appended to the normal transaction and routed according to the userdefined routing designation in the transaction list.
The read counter capability includes
both implicit and explicit counter
addressing for all read operations except
Read Group and Read Group Residual, for
which explicit counter addressing must be
used. The following read operations may be
defined in the last step of the transaction
list:
IBT'-1 2790 Data Communications System

169

• Read (single or group)
• Read Residual (single or group)
• Read and Reset (single counter)
• Read and Set. (single counter)
.For 2196 and 2191 only.
For implicit counter addressing, the
user does not have to specify the counter
address. The DEU address 1S automatically translated to the counter address.
For explicit counter addressing,
the user may manually set the lower-left
and lower-right knobs on the 2796 to the
counter address, or he may put the counter
address in columns 11 and 18 of the card or
columns 19 and 20 of the badge. For the
2191, the user may manually enter the two
digits for the counter address in the manual entry digit keys (these two digits must
be left justified), or he may put the counter address in columns 11 and 18 of the
card or columns 19 and 20 of the badge.
Explicit counter addressing for the 2195
may only be specified from columns 71 and
78 of the card or columns 19 and 20 of the
badge. Manual entry is not possible on the
2795.

For explicit counter addressing on the
Read Group or Read Group Residual, the user
may manually set the lower-left and lowerright knobs on the 2796 to the starting
counter address, and the first two digitrocker switches to the ending counter
address, or he may put the starting and
ending counter addresses in columns 77-80
of a card or 19-22 of a badge. For the
2797, the user may manually enter the two
digits for the starting counter address
followed by the two digits for the ending
counter address in the manual entry digit
keys (these four digits must be left justified), or he may put the starting and ending counter addresses in columns 77-80
of a card or columns 19 through 22 of a
badge. For the 2795, the user must specify
the starting and ending cqunter addresses
in columns 77-80 of a card or columns
19 through 22 of a badge. For a Read and
Set operation, the user specifies the set
counter value in the same way as for the
set counter operation (transaction expansion may not be used), with the top right
knob and the four digit-rocker swit~hes on
the 2796, or the right knob and the four
low-order digits from the manual entry
digit keys on the 2197.
The counter transaction and count value
may be logged at any area station for 1053
display by message routing, but the counter
transaction must consist of only one step
in addition to the counter appendage. Any

170

as

BTAM SRL

of the read operations (except Read Group
and Read Group Residual) may be routed to
an area station 1053 printer by implicitly
or explicitly specifying the output
destination. Read and Set operations
(READSET) may not be routed to the ASLOG
printer. The implicit routing address is
in the transaction list, while the explicit
routing address is from the card or badge
entry. Implicit message routing is done by
using both the left and right knobs on the
2795 and 2191 or the upper left and right
knobs on the 2196 to address the transaction list. For explicit message routing to
an area station 1053, the user must specify
the 1053 address in columns 11 and 12 of
the card or columns 13 and 14 of the badge.
This applies to any DEU.
Note: Transaction expansion is a prerequisite to message routing. Storage expansion
(32K) is a prerequisite to transaction
expansion.
setting a counter to a certain value
implies that the user wants to know when
the counter reaches that value. The set
counter function sets a counter to a value
of 29,999 minus the value specified, so
that when the user-specified count is
reached, the user is alerted to an overflo~
interrupt for that counter. The read counter function allows the actual value of the
counter to be read. The read residual
counter function allows the value of the
counter to be subtracted from 29,999, so
that the residual difference is read.
For example, if a user sets a counter to
a value of 10 and immediately performs a
read counter function, the value read will
be 29,989. If he immediately performs a
read residual function on the counter, the
value read will be 10.

2715 TABLES

The types of tables are:
• Table Definition Block.
• Area Station Table.
• Data Entry Unit Table.
• Transaction Group Tables.
• Transaction List Tables.
• Area Station Sequence Table.
• Area station counter Table.

• Counter Table.
• Schedule Table.
• Data Entry Unit Sequence Table.
• Data Entry unit Index Table.

The position of the entry in the table
is relative to the position of the area
station address within the valid range of
addresses. For example, the first entry in
the DEU Table is for the data entry units
attached to the area station with 10=0; the
second for those attached to the area station with ID=l~ etc.

• System Parameter Table.
• Transaction Table.
• GDU List Table.
• Parameter List Number Table.

Each entry in the DEUTable is one byte
and is used to gain access to the transaction group associated with all the data
entry units attached to the area station.
This indicates that all data entry units
attached to an area station must use a common transaction group.

• Parameter List Table.
• Display Guioance Table.
• GDU Area Station Table.
• GDU Sequence Table.
• Identification Table.
• Translate Table.
Descriptions of these tables and the
macros that generate them follow.
Note: The user must assemble all his
macros at the same time since the relationship among the tables is established by
labels.
Table Definition Block: The Table Definition Block contains a pointer to each of
the other tables. It is defined by the
CONFIGUR macro instruction.
Area Station Table (AS Table): The Area
Station Table contains one entry per area
station. Each entry is one byte and contains a numeric pOinter that relates the
specified area station to a particular
transaction group within the Transaction
Group Table. The maximum size of the AS
Table is 100 bytes for a 2115 having 32K
bytes of storage and 64 bytes for a 2115
having 16K bytes of storage. The AS Table
is defined by the AS macro instruction.
Data Entry Unit Table (DEU Table): The
Data Entry Unit Table contains one entry
for each area station defined in the system. This entry (0-99) is used for all
data entry units attached to the designated
area station. If there are no attached
data entry units, the entry contains a
value to indicate this condition. The DEU
table is defined by the AS macro
instruction.

Transaction Group Table (TGROUP Table):
Each transaction group consists of nine
halfword (two-byte) entries that contain
pointers to a transaction list or to another transaction group. Each entry corresponds to a transaction code (a transaction
key on an area station or the value of the
left rotary knob on a 2195 or 2191 or the
top left rotary knob on a 2196 Data Entry
Unit). Each entry contains a pointer to a
transaction list that defines the ooeratin~
procedure associated with the specified
transaction code. If nine transaction
lists are not sufficient, an indication can
be set in one or more of the transaction
group entries to permit a transaction
expansion function in which a secondary
value (the first digit of input from an
area station or the value of the right hand
rotary knob on a data entry unit) is used
to index another transaction group. Therefore, it is possible for an area station or
data entry unit to refer to nine TGROUP
entries, any or all of which may indicate
secondary indexing. This allows a data
entry unit to perform a maximum of 81 distinct transaction functions, while allowing
81 functions for area stations (see TGROUP
in the Macro Descriptions section).
All area stations that have the same
operating characteristics must refer to the
same transaction group, using the area station address and the corresponding entry in
the AS Table. The same is true for data
entry units, using the area station address
and the corresponding entry in the DEU
Table. There can be up to 63 transaction
groups, each of which uniquely specifies an
area station or data entry unit capability.
The transaction groups are defined by
TGROUP macro instructions.
Transaction List Tables (TRLIST Tables):
Each Transaction List Table consists of a
three-byte identification and routing header field and either an internal message or
from one to sixteen data entry steps. The

IBM 2790 Data Communications System

111

header field determines the destination of
the completed transaction. Each data entry
step is generated by an ASLIST or DEULIST
macro and determines whether checking is to
be performed on the input. If an ASLIST
macro generated a data entry step, the step
contains the number of the next guidance
light to be turned on (more than one guidance light number is included if the user
chooses to include error checking in his
transaction step, for example, via LENGTH
and DIGIT operands of the ASLIST macro).
A TRLIST Table is defined in anyone of
three ways:
• A TRLIST macro followed by one or more
ASLIST macro instructions,
• A TRLIST macro followed by one or more
DEULIST macro instructions,
• A TRLIST macro followed by one or more
ASLIST (OEULIST) macro instructions witn
specification for message routing with
an inte:t;'nal message.
The first Transaction List Table always
refers to all IBM 1035 Badge Readers, if
there are any on the system.
Area station Sequence Table (AS-SEQ Table):
A transaction from an area station may comprise a discrete number of processing steps
(for example, badge, card, card). The ASSEQ Table keeps track of the last step of
the transaction entered from each area station. The AS-SEQ Table has one entry per
area station. Each entry is one byte and
contains the step number (0-15). The maximum size of the AS-SEQ Table is 100 bytes,
one byte for each of the 100 possible area
stations. The AS-SEQ Table is defined by
the AS macro instruction.
Area Station Counter Table (ASCTR Table):
The Area Station Counter Table contains one
entry per area station. Each entry is two
bytes and contains a displacement to the
group of counters in the Counter Table for
that particular area station. Each entry
also contains routing information for counter overflow and count test response messages. All counters attached to an area
station nave counter overflow and count
test response messages routed to the same
destination.

172

as DTAH SRL

Each entry in the Area Station Counter
Table is used to gain access to the counters in the Counter Table associated with
this area station. The displacement in
each entry, plus the counter address,
allows the 2715 to index to individual
counters. Scheduled readout and count
testing are performed at the individual
counter level.
The maximum size of the Area station
Counter Table is 202 bytes: 2 bytes for
each of 100 area stations, plus 2 additional control bytes. This table is truncated
at the highest assigned area station.
Unassigned area stations below the highest
assigned area station require 2 bytes of
unused main storage. However, the highest
assigned area station with counters can be
any assigned area station less than or
equal to the highest assigned area station
defined by the AS macro operand IO=n. The
Area station Counter Table is defined by
the ASCTR macro instruction.
Counter Table (CTR Table): The Counter
Table consists of 2 bytes of control information for each counter in the system that
requires testing. This table is organized
on a group basis. Each area station that
has one or more counters (to be tested)
constitutes a group. Each group is truncated at the highest counter address.

counters for which scheduled readout and
count testing are not to be done require 2
bytes each in the counter table if their
addresses are less than the highest counter
address. only 504 counters can be ~efined
in the counter Table. The Counter rable is
defined'by CTRGROUP macro instructions.
Each CTRGROUP macro defines a single
counter.
Schedule Table: The Schedule Table consists of 2 bytes for each user-defined
count test schedule or readout schedule.
The maximum number of schedules that can be
defined is 15, so the maximum size of the
Schedule Table is 30 bytes. These schedules determine the frequency (in minutes)
with which the Counter Table entry will be
tested. Scheduled readout and count test
operations can refer to any of the 15 schedules that are defined. The maximum frequency that can be specified is 2047.

~~!em

Parameter· Table:. The System
.
Parameter Table has a f1xed core locat10n
and maintains an index of other 2798 GOU
table locations.
The System Parameter
Table contains the following information:
System error quidance:
Invalid function error quidance
Premature termination error guidance
Monitor key error guidance
Table pointers:
GDU Sequence Table pointer
Transaction Table pointer
Parameter List Number Table pointer
Identification Table pointer
Translate Table pointer
GOU AS Table pointer
Identification characters:
"Get" identificat ion character
"Store" identification character
counts:
GOU list count
Identifier count
The System Parameter Table is generated by
the CONFIGUR macro.
The informaticn in the
table is determined from the CONFIGUR macro
operands.
There is only one System Parameter Table per 2790 System with 2798 GDUs.

Transaction Table: The Transaction Table
I~-used to index the desired GOU list from
a GDU operator entered transaction code.
Each entry in the Transaction Table may
con~ain a pointer to a GDU list associated
with a transaction code.
There are 100
possible transaction codes so there are
100 possible entries in the Transaction
Table.
Each entry in the table is 2 bytes
lonq for a maximum table size of 200 bytes.
The table is truncated at the highest
assiqned transaction code. But for each
entry skipped between zero and the highest
assiqned value two bytes of core are reserved, iust as if this value had been
assiqned. - Each entry in the Transaction
Table is generated by a GOUTRANS macro.
GDU List Table:
The GOU List Table
contains up tc 100 GOU lists.
Each GDU
list entry will contain a transaction
header, a variable number of GOU steps
(up to 16), an all zero byte, and implicit
t~xt (if specified).
Each GDU list entry
is qenerated ty a combination of the TRLIST
macro and from 1 to 16 GDULIST macros.
The
TRLIST macro generates the transaction
header.
Each GDULIST macro generates a 5
byte GOU step with the following information
• A one-byte parameter list number.
• Two bytes of normal guidance to be sent
to the cperator quidance panel on the

GDU.
This guidance is used to light a
combination of 16 liqhts.
• A two-byte display guidance pointer
. used tQ:
a. Point to a display quidance message
in the Display Guidance Table, or
b. Point to an identifier in the
Identifier Table
Implicit text is defined in the last GDULIST
macro in the GOU list entry.
Each GOU list
entry can contain a minimum of 10 bytes and
a maximum of 85 bytes plus implicit text.
Earameter List Number-Table:
The Parameter
List Number Table contains up to 127 addresses of the parameter lists.
Each entry
in the table is two bytes for a maximum
table size of 254 bytes.
This table is
qenerated by PARAMNUM macros, each of which
qenerates a two byte entry.
The table is
truncated at the highest defined parameter
list number defined by the FlN operand of
the PARAMNUM macro.
Parameter-List Table:
The Parameter List
Table contains up to 127 entries.
The data
in each parameter list entry defines the
types of checks that are performed on a
data entry.
The first two bytes of a parameter list contain a check field and a
function field in which the checks and/or
functions associated with this list are
denoted.
Following these two bytes are
the check lists if any are required.
These check lists provide the test
information and error guidance for the
checks performed on a data entry.
The
check li~ts are variable lengths, depending
on the tests to be done.
The parameter
lists are packed decimal.
Each parameter
list is generated by a PAru1LIST macro.
Oi§J2lay_Guida1l£LTabl~:
The Display
Guidance Table contains the various
messaqes used as display guidance for the
GDUs on the loop.
Each entry in the
Display Guidance Table contains a length
byte and from 1 to 16 data bytes.
Each
entry in the table is generated by a
OISPGUID macro.
Guidance Disp11tI-Unit Area_Statien 'Iabl£
{GOUAS Table}.: The Guidance Display Unit
Area station Table, in con;unction with the
GOU device address, contains pointers
which provide entries into the GDU Sequence
Table. Each entry is two bytes and is
qenerated by the GDUAS macrc.
The maximum
size of the GtUAS table is 200 bytes.
This
table is truncated at the highest assigned
area station.
Unassiqned area stations
below the hiqhest assiqned area station
require two bytes of unused main storage.
Guidance Dis~Unit Sequence Table:
The
Guidance Display Unit Sequence Table consists of one byte of zeroes for each GOU

IB~,1

2790 Data Communications Sys tcrl

172. 1

on the 2790 system.
Each byte is used for
inquiry display and GOU sequence.
This
table is qenerated by the GOUTRANS macro.
Identification 7able~
The Identification
Table contains the areas to maintain the
GOU identifiers. Fourteen bytes are generated for each identifier. The total
number of identifiers is specified in the
System Parameter Table. This table is
qenerated by the STENO macro.
Translate-Table: The Translate Table is
used in conjunction with the translate
functiGn and contains a maximum of eight
entries.
Each entry contains a translate
character, the length of the text into
which it is tc be translated, and from 1
to 14 bytes of text.
One byte of zeroes
follows the last entry in the table.
The maximum table size is 129 bytes. Each
entry in this table is generated by a
TRANSLAT macrc.
Data Entry Unit Sequence Table (OEU-SEQ
Table): A transaction from a data entry
unit may comprise a discrete number of
steps. The OEU-SEQ Table keeps track of
the last step entered from each data entry
unit on the system. Each one-byte entry
contains the step number (0-15) of the
transaction initiated by each data entry
unit. The maximum size of the OEU-SEQ
Table is 1,024 bytes (one byte for each of
the 1,024 data entry units available on the
2790 system). The OEU-SEQ Table is defined
by the AS macro instruction.
Data Ent~Unit Index Table (DEU-INOEX
Table): When a data entry is received from
data entry unit, the 2715 receives the
area station address and the data entry
unit address. The area station address is
used as an index to the desired entry in
the OEU-INOEX rable.
(There is one entry
per area station.) The one-byte entry in
the OEU-INDEX Table contains a pointer to
the desired entry in the OEU-SEQ Table.
However, since the OEU-SEQ Table can be up
to 1,024 bytes long, two additional bits
are necessary. Using bits 6 and 7 of the
corresponding entry in the OEU Table
extends the addressing capability of the
DEU-INDEX rable entry to the full 1,024
possible entries of the OEU-SEQ Table. Use
of the data entry unit address allows
indexing to the specific counter associate3
with the data entry unit sending the transaction. The OEU-INOEXTable is defined by
the AS macro instruction.

a

Loading the Tables

write a BTAM routine to load these tables
into the 2715. During transmission of the
object text from the system/360 to the
2715, the user must include two headers
before each card's data: a message header
and a transaction header (Figure 28). The
user must provide DLE STX in front of the
message (see format below). BTAM provides
the ending characters. All cards must be
transmitted, one at a time, to the 2715.

r---------T-------T-----------T-----------,

I D S IMessagelTransactionlObject Cardl
I L
T IHeader IHeader
I
I
Il _________
E X 12
bytes I ___________
8 bytes
180
bytes
_______
___________
JI
~

172.2

OS BTAM SRL

~

When loading the tables, the user must
first be sure that the 2790 systeni is inactive. This is accomplished by USing the
defined control transactions to -stop 2790
input- and to purge the disk of all
deferred data (-Read deferred data-). When
activity at the 2715 has ceased, the user
must initially send a -table load startcontrol transaction. This is followed by
the transmission of the table object cards
as -table load data- control transactions
(see the Message Format section).
Columns 73-80 of the object deck contain
a progr~ identification and a sequence
number, which are checked by the 2715. The
program identification (columns 73-76) is
determined from a named TITLE card
.~
generated by the CONFIGUR macro instruction. Both the identification and the
sequence are checked by microcoded routines
in the 2715. The completion of the data
load is signaled by the END card (END in
columns 2-4). After transmitting the END
card, the user must send a -table load endcontrol transaction. If an error is found
in either the program identification or the
sequence field of any card, the table load
is rejected.
When transmitting the tables, the maximum message length is 128 bytes. When the
last message of the table load has been
sent, the user should transmit an EOT. The
2715 bids for the line and then transmits a
message indicating the status of the table
load (see the Message Format section). The
table load is rejected if any of the fol~owing conditions occurs:
1.
2.
3.

The assembly output of the user macros is a
set of tables, in object form, needed for
the 2715 internal operation. The user must

~

4.
5.

Invalid program identification
sequence field.
Improper control field in transaction
header.
2715 table size exceeds storage
available.
Data has not been purged from the 2715
integral disk.
The system is active.

MACRO INSTRUCTIONS
The macros coded for the 2790 System must
be in the following order:
• CONFIGUR
• AS
• GDUAS (optional)
• TGROUP

•
•

•
•
•
•
•

ASCTR (c.·ptional)
CTRGROUP (optional)
CTRSCHED (optional)
GDUTRANS (optional)
PARAMNUM (optional)
PARMLIST (01=t iona 1)
DISPGUID (opt ional)

• TRANSLAT (optional)

• TRLIST
• ASLIST
• DEULIST (cptional)
• CTRLIST (optional)
• GDULIST (optional)
• STEND
Configuration Macro_(CONFIGUR): The Confi9uration macro generates the table definition block that contains pointers to the
other user tables.
Area station Definition Macro (AS): The
Area station Definition macro permits
building an exhaustive list of all area
stations present in the system. In addition, each macro logically attaches area
stations and data entry units to their
associated transaction groups.
Guidance Display Unit Area Station Macro
{GDUAS)s The GDUAS macro is used to build
an entry in the GDU Area Station Table.

or with the top left-hand knob positions of
a group of 2196 Data Entry Units.
With each of the nine transaction keys
on an area station, the operator can select
up to nine transaction lists. With each
position of the left-hand knob on a 2195 or
2197 or of the top left-hand knob on the
2196 Data Entry Unit, the operator can also
select up to nine transaction lists (position 0 is reserved). Normally, each transaction key or position of the left-hand
knob is associated with only one transaction list. Since groups of area stations
and groups of data entry units usually have
the same operating procedure, a given set
of area stations must have corresponding
transaction keys associa~ed with identical
transaction lists.
Area Station Counter Macro (ASCTR): By
coding the ASCTR macro, the user defines
each area station that has pulse counters,
and establishes a displacement to the counter group in the Counter Table associated
with each particular area station. In
addition, the user defines routing information for counter overflow and count test
response me55a~es for all the counters on
each area station.
Counter Group Macro (CTRGROUP): By coding
the CTRGROUP macro, the user can define two
bytes of control information for each counter on an area station f~ which scheduled
readout or count testing is to be done.
Counter Schedule Macro (CTRSCHEO): The
CTRSCBED macro defines the count test schedules and the readout schedules that can be
used by all the counters on the system.
Guidance-Display-Uni! Transaction Macro
jGDUTRANS1: The GDUTRANS macro is used to
build an entry in the Transaction Table. A
GDUTRANS macro must be coded for every
transaction code that will be used in
communication with the 2198 GDUs.
Parameter- List Number- Macro - (PARAMNUMt~
The PARAMNUM macro is used tc define an
entry in the Parameter List Number Table
for use with 2198 GDUs.
Parameter-List Macro- {PARMLIST}; The
PARMLIST macro is used tc qenerate an
entry in the Parameter List Table. The
data in this entry defines the types of
checks that are performed cn a data entry
from a 2798 GDU.
~isRlay

Transaction Groge Macro (TGROUP): By coding the Transaction Group macro, the user
establishes a pointer to a set of transaction lists that can be associated with the
transaction keys of a group of area stations, with the left-hand knob positions of
a group of 2195 or 2191 Data Entry Units,

Guidance Macro {DISPGUIRt: The
DISPGUID macro is used to define a display
guidance message in the Display Guidance
Table.

Iranslate-Table Bacro- (TRANSLAT) % The
TRANSLAT macro is used to build an entry
in the Translate Table.
IBf.1 2790 Data Communications System

173

Transaction List Macro (TRLIST):
The
Transaction List macro is used with the
Area station List macro or the Data Entry
Unit List macro to define a transaction, or
it is used to define a user-specified message. Tbe TRLIST macro enables the user to
control the destination of the completed
transaction or a predefined message. Each
transaction list has a DEU or AS transaction code associated with it.

CONFIGUR (Configuration) Macro Instruction
The CONFIGUR macro is used to generate the
table definition block, which contains
pointers to the 2715 tables. The format of
the CONFIGUR macro;is:

r---------r-----------I--------------------------,
: Name

:

Operation:

Operand

:

CONFIGUR

.[CORE=~32}.] [,PC=~~SJ]

:

t----------t------------I---------Ib'--------·--""'[----t
Area Station List Macro (ASLIST): When the
transaction is to be initiated by an area
station, the Transaction List macro is followed by one or more Area Station List
macros. The ASLIST macro is used to define
one step of a transaction for a 2791 Area
Station; the transaction code is the value
of the transaction key pressed by the
operator.
Data Entry Unit List Macro (DEULIST): When
the transaction is to be initiated by a
data entry unit, the Transaction List macro
is followed by one or more Data Entry Unit
List macros. The DEULIST macro is used to
define one step of a transaction for a data
entry unit; the transaction code is the
value of the left-hand rotary knob of a
2795 or 2797 and of the top left-hand
rotary knob of a 2796.

[symbol]

:
I

I

statement End Macro (STEND): The Statement
End macro indicates the end of all user
macros.
Macro Descriptions
The macros are arranged in the following
section in the same order as they must
appear in the assembly.
The macros must be assembled together.
The first assembly statement must be the
CONFIGUR macro (there must not be a TITLE,
CSECT, or START card). The last assembly
statement must be the END card. There must
not be any other macros or code inserted
into the assembly of the user tables.
174

OS BTAM SRL

[,FUNCERR=(absexp, ••• )]
[,ENDERR= (absexp, ••• )]
[,MONERR=(absexp, ••• )]
[ ,GETID=qbsexp]
[ ,STORID=absexp]
[,IDtOUNT=absexp]

!L ________ ---------------------------[,INQDISP={~~~--] _______ _
symbol
The name of the macro is optional.
CORE
The CORE parameter specifies the 2715
storage size. The only valid values
are 16 and 32. If an invalid value is
specified, an MNOTE is issued and no
code is generated. If the CORE parameter is omitted, 16 is assumed.

Guidance-Display unit List Macro-1Q!QLIST1:
The GDULIST macro is used to define one
step of a GDU transaction list for a 2791
or 2793 Area station with 2798 GDUs attached.
counter List Macro (CTRLIST): When the
transaction is to be initiated by a data
entry unit, the TRLIST macro is followed by
one or more DEULIST macros, and, optionally, by a CTRLIST macro instruction. The
CTRLIST macro defines the last step of a
transaction for a data entry unit that is
attached to a 2793 Area Station using pulse
counters.

NO }
[,GDU= YES ]

If CORE=16 is coded, then the size of
all tables built must not exceed 1,280
bytes.
If CORE=32 is coded, then the
size of all tables built must not
exceed 4.096 bytes. 'The size of all
tables built is calculated by usinq
Table 8.1. The size will be the total
of all macros used.
PC
The PC operand indicates whether pulse
count macros are coded in this assembly. If PC=YES is specified, pointers
to the Area Station Counter Table, the
Counter Table, and the Schedule Table
are included in the Table Definition
Block. Coding PC=YES adds six bytes
to the Table Definition Block. If
PC=dO is coded, the pointers to the
Area Station Counter Table, the Counter Table, and the Schedule Table are
omitted, but two bytes of zeros are
added. If the PC operand is omitted,
PC=dO is assumed.
The PC operand is valid only if CORE=
32 is specified. If PC=YES is coded
and CORE=16 (or the CORE operand is
omitted), an MNOTE is issued and no
code is generated.

Table 8.1

2715 Macro Storaqe Size Estimates

----------t------+-------------------------------------------.
I,MIN. I
ADDITIONAL
I
MACRO

I BYTES I
I USED :

I
:

CONSIDERATIONS

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

CONFIGUR

22

Add 4 if PC=YES.
Add 22 If GDU=YES.
Add 14 times the number coded if IDCOUNT~n.

AS

4

Add 4 for each skipped ID in sequence.
Add 1 for each DEU attached.

GDUAS

1

Add 1 for each skipped ID in sequence.

TGROUP

18

ASCTR

2

Add 2 for each skipped ID in sequence.
Add 2 after last ASCTR macro.

CTRGROUP

2

Add 2 for each skipped counter in sequence.

CTRSCHED

2

For each schedule.

GDUTRANS

2

Add 2 for each skipped TRCODE operand.

PARMLIST

2

Add 3 for CKLNGTH=.
Add 3 for CKMODll=.
Add 3 for CKMODIO=o
Add 8 for CKOR=.
Add 3 for CKNONUM=.
Add 3 for CKNUM=.
Add 5 for CKRANGE= plus 1 for each position
in CKRANGE field.
Add 3 for CKAND= plus 1 for each position
in CKAND field.

DISPGUID

1

Add 1 for each text character.

TRANSLAT

16

T:RLIST

5

ASLIST

5

Add 1 for each implicit text character.

DEULIST

5

Add 1 for each implicit text character.

GDULIST

5

Add 1 for each implicit text character.

CTRLIST

5

Add 1 for each implicit text character.

STEND

0

_ _ _ _ _ ._ _ _ 1 _ _ _

Add 1 for each area station in system
if INQDISP=YES in CONFIGUR macro. _ _ _ _ _ ...J

....J _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

FUNCERR
This operand indicates the error
quidance that will be returned to the
2798 GDU when the fcllowing invalid
functions are recognized:
• An invalid length is specified on a
Get Identifier function.
Normally,
the GDUoperator keys the 'Get ID'
character, the two diqit identifier
address, and the ENTER key upon
entering a GDU step having a get

condition in its function field.
An invalid length occurs when more
than two characters are entered
for the identifier address foIling the 'Get ID' character.
• An invalid length on a Translate
function.
This error occurs when a
GDU step is entered that has a
translate function associated with
i t and more than one keyed char-

IBM 2790 Data Communications System

174.1

• An invalid address on a Get Identifier or Store Identifier function.
This error occurs when the two
diqit identifier address is not in
the Identifier Table, or the two
diqit identifier address has not
been specified.
• A non-translatable character is
specified on a Translate function.
This error occurs when the character to be translated is not found
in the Translate Table.
• A non-numeric character is recognized durinq a ranqe check.
The value of each suboperand in this
operand may ranqe from 1 to 16 and up
to 16 suboperands may be coded. This
operand indicates exactly which lights
on the Guidance Display Panel the user
wants to turn on when the error occurs.
(See FiQure 27.1).
ENDERR
This operand indicates the error guidance that will be returned to the 2798
GDU when a premature terminatic·n occurs.
A premature termination occurs when the
number of characters received in a data
entry from a 2798 is not sufficient to
complete all of the checks specified by
this GDOLIST macro (with exceptioB of
the CKLENGTH check specified by the
PARMLIST macro). The value of each
suboperand in this operand may range
from 1 to 16 and up to 16 suboperands
may be coded. This operand indicates
exactly which lqhts on the Guidance
DisplayP,anel the user. wants to turn
on when the error occurs. (See
F iq ure 27. 1) •
MOttERR
This operand indicates the error
quidance that will be returned to the
2798 GDU when a Monitor key check
error occurs. The value of each
suboperand in this operand may
ranqe from 1 to 16 and up to 16
suboperands may be ceded. This
'operand indicates exactly which lights
on the Guidance Display Panel the
user wants to turn on when the error
occurs.
(See FiQure 27 1)

STORID
This operand specifies the Store identification character that is used for the
Store Identifier function. The value
of this operand is the hexadecimal
equivalent of any of the characters:
A-Z, 0-9. and any of the spec ia 1 characters: • $ & - / , # (j) II = : ? ! : *
+ TAB NEWLINE SPACE LINEFEED.
(See
Table.9.1)
IDCOUNT
This operand specifies the number of
identifiers that will be used. The
value of this operand may be from 0
to 100. This operand must be coded
if GDU=YES. Every time the 2715 is
ICPLed, the predefined text 'NOT USED'
will be defined in every identifier
in the identifier table. The user
should use the Store Identifier function prior to using the Get Identifier function after an ICPL if he
expects useful information to be in
the identifier table.
INQDI SP
This operand
Display will
this operand
is assumed.
CORE=32 must

indicates whether Inquiry
be used on the 2715. If
is emitted. INQDISP=NO
If INQOISP=YES is coded,
also be coded.

AS (Area Station) Macro Instruction
The AS macro is used to build an entry in
the Area Station Table and the Data Entry
unit Table, and a corresponding entry in
the Data Entry Unit Index Table. In each
table, the position of the entry to be
built relative to the beginning of the
table is determined from the 10 parameter.
Each AS macro requires (4 + absexp) bytes
of 2715 storage (absexp is the value of the
DEGROUP operand). The format of the AS
macro is:

r--------T-----T--------------------------,
lOper-I Operand
I

I Name

I

lati~1

io

GETID
This operand specifies the GET Identification character that is used for the
GET Identifier function. The value of
this operand is the hexadecimal equivalent of any of the char~cters: A-Z,
0-9, and any of the special characters:
$ & - / , # Q) .. = : ? 1 1 • + TAB
NEWLINE LINEFEEO SPACE. (See Table 9.1)
174.2

as

BTAH

SRL

I

~--------+-----+--------------------------i
l[symbolllAS
IID=absexp[,ASGROUP=symbolll
IL-.;_______ J.I _____ J.I __________________________
(,DEGROUP=(symbol,absexp)llJ

symbol
The name field is optional.
10

Each area station is assigned a specific address (X'SO' - X'E3') at system installation time, and the value
of -absexp· is the decimal representation of that address (see Table 9).
IO is used to determine the position

of an entry in the AS Table, OEU
Table, and OEU-INOEX table. The value
of the 10 parameter must be from 0 to
99 when CORE=32 in the CONFIGUR macro;
however, all values in this range neej
not be specified. The value of the 10
parameter must be from 0 to 63 when
CORE=16 or when the CORE operand is
omitted in the CONFIGUR macro; however, all values in this range need not
be specified. If one is omitted, a
warning message is generated. The
values 100 through 128, which would
generate hexadecimal values E4 through
FF, are not valid. The AS macros must
be in ascending sequence by 10. An AS
macro found to be out of sequence or
in error terminates the assembly of
this macro instruction. The 10 of a
macro in error is subsequently handlej
the same as an omitted 10.
ASGROUP
The ASGROUP parameter is valid for the
2791 only. The value of "symbol" is
the name of the transaction group for
this area station and must appear in
the name field of aTGROUP macro. If
the name does not appear, an assembly
error occurs. The ASGROUP parameter
builds an entry in the AS table.
OEGROUP
symbol
The name of the transaction group
with which the data entry units
on this area station are associated is
specified by ·symbol". It must appear
in the~name field of a TGROUP macro;
if not, an assembly error occurs.
·symbol· builds an entry in the OEU
Table. "symbol" must be identical to
the name of the first (or only> TGROUP
macro that defines a transaction group
for data entry units. That is, "symbol" must be the same as the name of
the transaction group for the 2795s
connected to this area station, or of
the dummy transaction group that precedes the transaction group for the
2796s connected to this area station
(see Figure 27 for examples).
absexp
The value of the absolute expression
is the number of data entry units
attached to this area station. This
number must not exceed 32, since this
is the maximum number of data entry
units that can be attached to anyone
area station. The value is used to
build an entry in the DEU-INDEX table.
The DEGROUP operand may be omitted if no
data entry units are attached to this area
station. The entries in the DEU table and
the DEU-INDEX table corresponding to this

area station are then defined with a value
indicating there are no DEUs. The DEGROUP
parameter must be coded for the 2793.
~DUA~-1~yidance Dis~l~it

Area Stationl

Macro Ipstruction
The GOU Area station macro instruction is
,used to build an entry in the GDU Area
Station Table. ~he position of the entry
to be built relative to the beqinninq of
the table is determined from the ID operand.
Each GOUAS macro requires 2 bytes of 2715
storaqe. The format of the GOUAS macro is:

r--------r---------r------------------------l
: Operation: Operand
:
r--------r---------T------------------------;

: Name

: ________
[symbol]: _________
GDUAS
ID=absexp, GDUNUMB=absexp :
L: ________________________
~

~

~

symbol
The name field of this macro is optional.
ID
Each area station with attached 2798
GDUs is assiqned a specific address
(XI SO' - X'E3') at system installaticn
time, and the value of labsexpl is the
decimal representaticn of that address
(see Table 9). ID is used to determine
the position of an entry in the GDUAS
Table. The value of the ID operand
must be from 0 to 99. The GDUAS macros
must be in ascending sequence by ID. A
GDUAS macro found to be out of sequence
or in error terminates the assembly of
this macro instruction.
GDUN'UMB
This operand specifies the number of
GDUs on this area station. The value
of this operand can be from 1 to 16 for
a 2793 and from 1 tc 12 for a 2791
Model 3.
The GDUAS macro should only be coded
for an Area Station with 2798 GOUs attached.
The GDUAS macro must be coded once for
every area station with 2798 GOUs attached.

~ete:

TGROUP (Transaction Group) Macro
Instruction
The TGROUP (Transaction Group) macro
defines entries in a TGROUP Table. Each
keyword operand associates a transaction
list with a transaction code. The maximum
number of TGROUP macros allowed is 63. The
TGROUP macro instructions must follow the
IBM 2790 Data Communications System

175

last AS macro instruction coded. A macro
sequence error occurs if they do not. Each
TGROUP macro requires 18 bytes of 2115
storage.
The three types of data entry units
(2195, 2196, and 2191) require separate
transaction groups, one for all 2195s connected to an area station, followed by one
for all 2196s connected to the same area
station, and immediately followed by one

for all 2197s connected to the same area
station.
If all three types of DEUs are connected
to the same area station, the user must
code three TGROUP macro instructions. The
first defines the transaction group for the
2195s, the second defines the transaction
group for the 2796s, and the third defines

-O;;D - - -- - - -Tv:;':

T- - - - - -

I-;;r-- - - - - -

r;~u: ~f-I~
TV;I~e
~
~;
~
Iparameter inlValid
Iparameter inlvalid
Iparameter inlvalid Addresses I
lAS or GDUAS IAddresses of
lAS or GDUAS IAddresses of
lAS or GDUAS lof Area
I
IMacro (Dec- IArea Stations IMacrc. (Dec- IArea Stations IMacro (Dec- IStations
I
limal,
I (Hexadecimal)
limal)
I (Hexadecimal) limal)
I (Hexadecimal)
I
~------------+---------------+------------+---------------+------------+----------------i
o
80
33
A1
66
C2
1
81
34
A2
61
C3
2
82
35
A3
68
C4
3
83
36
A4
69
C5
4
84
31
A5
70
C6
5
.85
38
A6
11
C7
8
86
39
A1
12
C8
7
81
40
A8
13
C9
8
88
41
A9
14
CA
9
89
42
AA
75
CB
10
8A
43
AB
16
CC
11
8B
44
AC
77
CD
12
8C
45
AD
78
CE
13
80
46
AE
79
CF
14
8E
41
AF
80
DO
15
8F
48
BO
81
01
16
90
49
B1
82
02
17
91
50
B2
83
03
18
92
51
B3
84
04
19
93
52
B4
85
05
20
94
53
B5
86
06
21
. 95
54
B6
81
07
22
96
55
B7
88
08
23
97
56
B8
89
09
24
98
57
B9
90
OA
25
99
58
BA
91
DB
26
9A
59
BS
92
DC
27
9B
60
BC
93
DO
28
9C
61
BD
94
DE
29
90
62
BE
95
OF
30
9E
63
SF
96
EO
31
9F
64
CO
97
E1
32
AO
65
C1
98
E2
IL ____________ _______________ ____________ _______________ I __________
99
E3
_______________
_
~

Table 9.

176

j

~

~

~_~

AS Macro ID Parameter Decimal and Hexadecimal Equivalents

as BTM1 SRL

~

the transaction group for the 2797s. If
only 2797s are connected to the area station, three TGROUP macros must still be
coded. The first two define dummy transaction groups and the third defines the
transaction group for the 2797s. If only
2796s are connected to the area station,
two TGROUP macros must be coded. The first
will be a dummy and the second will define
the transaction group for the 2196s. If
only 27958 are connected to the area station, one TGROUP macro must be coded. The
dummy groups are required because the 2715
microcoded routines expect to find the
groups for the three types of DEUS in the
same relative main storage position from
the beginning of the user tables.

r--------T---------T----------------------,
I Operation I Operand
I

I Name

~--------+---------+----------------------i

L
I ________
symbol ~ITGROUP
_________ ~
I ______________________
[TCn=(symboln[,E)]
JI

symbol
The name field is required for this
macro instruction.
TCn

Where two or more TGROUP macros are
coded for the same area station, the name
of the first macro must appear in the
DEGROUP operand of the AS macro for that
area station. The first operand of any'
dummy TGROUP macro must be identical to the
first operand of the following non-dummy
TGROUP macro for the same area station.
Only one operand need be coded for dummy
TGROUP macros.
Figure 27 shows examples of hQi TGROUP
macros may be coded.
The format of the TGROUP macro is:

If TCn=symboln is coded, the transaction code wnw is associated with the
transaction list referred to by ws ymbolnw. At least one TCn operand must
be present. An MNOTE is issued if all
operands are omitted. The value of
WnW must be between 1 and 9 inclusive.
If TCn=(symboln,E) is coded, it indicates that this is a transaction
expansion entry and that the transaction is associated with the transaction group referred to by Wsymbolnw.
rhe transaction group referred to by
Wsymbolnw must have transaction code 1
defined. When using the transaction
expansion function, the format of the
TGROUP referred to varies for area
stations and data entry units. The
first character of data received indicates the desired entry in the TGROUP
Table.

r--------T---------~--------------------------------------------------,

I Name

loperation loperands

I

~--------+----------+--------------------------------------------------i
I.

DEFINING TRANSACTION GROUPS FOR BOTH 2795 AND 2796 DATA ENTRY UNITS

I

I
IGROUP1
IGROUP2

I

I.
I
I

GROUP1
GROUP3

ITGROUP
ITGROOP

IID=59,DEGROOP=(GROUP1,5) (TOTAL OF 5 DEU'S)
ITC1=ATTENDNC,TC2=SETUP,TC3=PRODN, ••• (2795'S)
ITC1=MESSAGE,TC2=RECEIPT,TC3=ISSUE, ••• (2796'S)

I

I

I

I

I

I

I

I

I

I

I
lAS

I

lAS
ITGROUP
ITGROUP

IID=59,DEGROUP=(GROUP1',2)
(TOTAL OF 2 2796'S)
I TC1=MESSAGE
(OOMMY TABLE FOR 2795'S)
ITC1=MESSAGE,TC2=RECEIPT,TC3=ISSUE,...
(2796'S)

DEFINING TRANSACTION GROUP FOR 2795 ONLY

GROUPl
•

I

DEFINING TRANSACTION GROUP FOR 2796 AND DUMMY
TRANSACTION GROUP FOR 2795

I

•

I
lAS

lAS
ITGROOP

IID=59,DEGROUP=(GROUP1,3)
(TOTAL OF 3 2795'S)
ITC1=ATTENDNC,TC2=SETUP,TC3=PRODN, •••
(2195'S)

DEFINING TRANSACTION GROUP FOR 2797 AND DUMMY TRANSACTION
GROUPIFOR 2795 AND 2196

IID=59,DEGROUP=(GROUP1,3)
(TOTAL OF 3 2797'S)
GROUPl ITGROUP
I TC1=MESSAGE (OOMMY TABLE FOR 2795'S)
GROUP 2 ITGROUP
ITC1=MESSAGE 'DUMMY TABLE FOR 2796'S)
IGROUP3
••• (2797'S)
L ________ ITGROUP
_________ ITC1=MESSAGE,TC2=RECEIPT,TC3=ISSUE,
__.__________________________________________
_
~

Figure 27.

~_...;

Examples of Defining Transaction Groups For Data Entry
Units
IBM 2790 Data Communications System

177

Each entry in the transaction group
referred to points to a transaction
list. If the transaction expansion is.
for an area station, the first step of
each of these transaction lists must
be identical. Transaction expansion
must be used when generating the transaction list in which message routing
is to be specified. A transaction .
expansion entry must not refer to
another transaction expansion entry.

The macro is coded once for each area station with pulse counters. The maximum number of ASCTR macros that can be coded is
100.
symbol
The name field is optional.
10
specifies the decimal representation
of the ad~ress of the area station on
which pulse counters are available.
The ID operand is not required for all
area stations, but the ID operands
must be in ascending sequence. An ID
operand out of sequence causes an invalid table assembly. The ID operand
may have values from 0 to 99.

ASCTR (Area Station Counter) Macro
Instr uction
The ASCTR macro is used to generate the
Area station Count~r Table. The Area station Counter Table requires two bytes .of
control information for each of up to 1()0
area stations, plus two additional bytes,
for a maximum of 202 bytes. This table is
truncated at the highest assigned area station, that is, the area station with the
highest 10. Unassigned area stations below
the highest assigned area station will each
have two bytes defined in the Area Station
Counter Table by BTAM at assembly time.
The highest assigned area station with
counters can be any assigned area station
less than or equal to the highest assigned
area station that is defined by the AS
macro operand ID=n.
Associated with each area station with
counters is a displacement that provides
for scanning of the counter table. This
displacement is used with the counter
address to provide an index to individual
counter level control. schedule readout
and count testing are performed at the
individual counter level.

BIGHCTR
specifies the number of the highest
counter on this area station that
scheduled readout or count testing may
be performed on. Values for the
HIGHCTR operand may range from 0 to
63, since only 63 counters are allowej
on any given area station. A value of
o indicates that no area station counters use scheduled readout or count
testing.
ROUTE
specifies the destination of counter
overflow and count test response messages •. At least one destination must
be specified, and if only one is specified, the parenthesis are not coded.
The CPU and DISK suboperands are mutually exclusive.
CPU
specifies that counter overflow and
count test response messages should be
routed directly to the cPU.

This 'llacro also allows routing specification to be specified for counter overflow
and count test response messages. All
counters attached to an area station must
have these messages routed to the same
destination.

DISK

specifies that counter overflow and
count test response messages Should be
routed to the 2115 integral disk.

LOG

specifi"es that counter overflow and
count test response messages should be
routed to the 2140 attached to the

The format of the ASCTR macro instruction is:

2115.
r--------T---------T-------~--------------,

I Name

I Operation I Operand

I

~--------+---------+~---------------------i

I [symbolllASCTR
I
I
I
I
I
I

IID=absexp,
IHIGHCTR-[bsex~,
IROUTEt (CPU \
I
DISK}

I
I
I
I

I
I
I
I

I
I

I

I
I

[,LOG]
I
I
I
[,ASLOG])
I
I
I
[, EXTALRM]
I
I ___:-____ .LI _________ .L-_____________________
I
[, NEXTAS=absexp] JI
L

178

as

BTAt1 SRL

ASLOG

specifies that counter overflow and
count test response messages should be
routed to the area station 1053 printer from which the overflow was
initiated.

EXTALRM
specifies that counter overflow and
count test response messages should be
routed to the 1053 printer on the are~
station from which the overflow was

initiated, and that the external alarm
contact closure at the area station
should be activated.
The above suboperands specifying routing
information for counter overflow and count
test response messages need not be coded in
any given order.
NEXTAS
specifies the decimal representation
of the address of the next higher area
station with pulse counters on which
count testing or readout functions ~y
be scheduled. The NEXTAS operand may
have values from 0 to 99. This
operand must be coded when HIGHCTR=O
is coded, but is not necessary for any
other HIGHCTR value.
NEXTAS=O must be
coded if there is no higher area station that has pulse counters on which
count testing or readout functions may
be scheduled. Unless NEXTAS=O is
coded, the NEXTAS operand must be
greater than the IO operand for this
ASCTR macro.
If the NEXTAS operand is
greater than 0, the ASCTR macro
referred to by the value of the NEXTAS
operand must have a HIGHCTR operand
value greater than o.

CTRGROUP (Counter Group) Macro Instruction
The CTRGROUP mac~o is used to generate the
Counter Table. The macro must be coded
once fOr each counter in the system on
which schedule readout or count test functions are to be performed. A CTRGROUP
macro must be coded for the counter whose
value was specified in the HIGHCTR operand
of the ASCTR macro instruction for this
area station. The counter Table is
organized on a group basis. Each group
consists of the highest counter with scheduled readout 'or testing and all counters
(whether scheduled or unscheduled) below it
on the same area station. Each group is
truncated at the highest counter scheduled
for readout or testing, with a maximum of
63 counters allowed per area station. The
Counter 'rable consists of two bytes of control information for each of these counters
(scheduled and unscheduled) plus two additional bytes at the end of the table. Up
to 504 counters may be scheduled for the
entire system. Each CTRGROUP macro defines
two bytes of control information for a particular counter.
The format of the CTRGROUP macro instruction is:

r--------T---------T----------~-----------l

I Opera tion I Operand
I
~--------+------~--+----------------------i
I [symbol]ICTRGROUP Ictrno,
I
I Name

I
I
I
I
I
I
I
I
I

L------__

I
I
I
I
I
I
I
I

I [sro] ,

I
I
I IO=absexp
I
I [, SROENAB=(!i2
I
I
YEs}
I
I
I
(NULL)
I
I
]
I
I [, CTI NI T= NCT
UNASP
iI _________ iI ______________________
JI

I [cttestJ,

l]

symbol
The name field is optional.
ctrno
identifies the counter on which schedule readout or count testing is to be
done. The value of the ctrno operand
must be from 1 to 63; however, all
!a~ues in this range need not be spec~f1ed.
All counters must be specifiej
in ascending sequence.
sro
indicates which readout schedule is to
be used for this particular counter.
The value of the sro operand must be
from 0 to 15. A 0 value indicates
that schedule readout is not to be
performed for this counter. If the
sro operand is omitted, no schedule
readout will be performed.
This
operanj must not specify a test schedule greater than the highest test
schedule defined by the CTRSCBED macro
instruction.
cttest
indicates which count test schedule is
to be used for this particular counter.
rhe value of the cttest operand
must be from 0 to 15. A 0 value indicates that count testing is not to be
done.
If the cttest operand is
omitted, count testing is not performed.
This operand must not specify
a test schedule greater than the highest test schedule defined by the
CTRSCijEO macro instruction.

IO
specifies the decimal representation
of the adiress of the area station on
which this particular counter is
defined. This operand is required.
SROENAB
specifies whether or not schedule
readout is to be automatically started
by the 2115 at ICPL time.
If SROENAB=
YES is coded, this indicates that
schedule readout is to be
automatically started by the
2715. Coding SROENAB=NO indicates
that schedule readout is not to be
automatically started by the 2115; the
user can initiate schedule readout
IBM 2790 Data Communications System

179

with a control request at a later
time. SROENAB=YES must not be coded
if the sro operand is 0 or is omitted.
If the SROENAB operand is omitted,
SROENAB=NO is assumed. .
CTINIT
specifies an initial count test condition that is to be started by the 2715
after an ICPL for this counter. Coding CTINIT=UNASP indicates that unassigned production testing is tO'be
started by the 2715. Coding CTINI~=
NCT indicates that no-count testing is
to be started by the 2715. Coding
CTINIT=NULL indicates that neither
unassigned nor no-count testing is to
be started by the 2715 for this counter. CTINIT=UNASP or CTINIT=NCT most
not be coded if the cttest operand is
o or is omitted. If the CTINIT
operand is omitted, CTINIT=RESET is
assumed. Count testing can be
initiated later by a control request
if it is not automatically started at
ICPL time.

CTRSCHED (Counter Schedule) Macro
Instruction
The CTRSCHED macro defines the count test
sched~es and the readout schedules to be
used by all the pulse counters· in the 2790
System. The count test and readout schedules may be any of 15 possible schedules
in the Schedule Table.

to the beginning of the table is determined
from the TReODE operand. A GDUTRANS macro
must be coded for every transaction code
that will be used in communication with
the 2798 GDUs. Each GDUTRANS macro requires two bytes of 2715 storage. The
format of the GDUTRANS macro is:

1---------.----------1-----------------------------.

: Name

: Operation: Operand

: [symbol]: GDUTRANS : TRCODE=absexp,TRLIST=symboln

symbol
The name field of this macro is optional.
TRCODE
This operand is the value of a transaction code. Each transaction code is
associated with a particular GDU List.
The TRCODE operand is used to determine the position of an entry in the
Transaction Table. The value of the
TRCODE operand must be from 00 to 99.
However, all values in this range need
not be specified. The GDUTRANS macros
must be in ascending sequence by TRCODE
operands. A GDUTRANS macro found to be
out of sequence or in error terminates
the assembly of this macro instruction.

gAB~!!Y~_jParameter
r--------T---------T--------------~-------,

I Operation I Operand

I

r--------+---------+----------------------iI
l[symbolllcTRSCHED Isched,...
L ________ ~ _________ ~ ______________________ J

symbol
The name field is optional.
sched
specifies a count test schedule or
readout schedule in minutes. This
operand must be coded once for each
schedule interval to be defined, but
the maximum number of schedules that
can be coded is 15. The value of this
operand must be between 1 and 2047.
GDUTRANS jGuid.an£e
Macre Instruction

Di~ill... Un.i.LTran.2~£ti.QD)

The GDU Transaction macro is used to build
an entry in the Transaction Table. The
position of the entry to be built relative
180

os BTAr-i SRL

:

• •
•
•------------~------------------------------------• •
•
•

TRLIST
This operand associates a GDO transaction list with the transaction code
indicated in the TRCODE operand. The
transaction list (TRLIST) referred to
bV 'symboln' is asscciated with the
TReODE operand.

The format of the CTRSCHED macro instruction is:

I Name

:

r-------~----------r-----------------------------,

List Number) Macro

.l.!!ill"yg:ti~H1

The PARAMNUM macro is used to define an
entry in the Parameter list Number Table
for use with 2798 GDUs. The Parameter
List Number macro is coded once for every
parameter list defined by the user with
the PARMLIST macro. Up to 127 PARAMNUM
macros can be coded. This macro requires
two bytes of 2715 storage. The format
of the PARAMNUM macro is:
:L Name
: Operation:
________ L
_________ LOperand
___________________________ :
~

: [symbol]: PARAMNUM : PLN=absexp,PARMLST=symboln
~

________ L_________ L_____________

:

~-------------J

symbol
The name field of this macro is optional.
PLN
This operand specifies the parameter
list number that is to be associated

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

I

Name
I Operation L _
Operand
________
_____________ , I

symbol

PAR!LIST

rCKLNGTH=(length-absexp.
errquidance-absexp •••• ) )
r ,CKl!ONKY=

{;~S } 1

r .CK!OD 11= (lenqth-absexp,

position-absexp,
errquidance-absexp •••• )1
r ,CKRANGE=(positiona1-absexp.
position2-absexp.
hilovchars-absexp •••• ) )
r ,LOWGOID=(absexp, ••• »)
r , HIGUID= (absexp, ••• ) )
ERROR}
r ,RNGETST= { DATA
)
r ,CKl!OD10=(lenqth-absexp,
position-absexp,
errquidance-absexp •••• ) )
r,CKOB=(position-absexp,
checkchar1-hexchar, •••
checkcharn-hexchar) ]
r , ORGUID= (absexp, ••• ) ]
r ,CKAND=(position1-absexp,
position2-absexp,
checkchar1-hexchar, •••
checkcharn-hexchar) )
r,ANDGUID=(absexp, ••• ) ]
r ,CKNONOM=(position1-absexp,
position2-absexp,
errquidance-absexp, ••• )]
r ,CKNO!=(position1-absexp,
position2-absexp,
errauidance-absexD •••• \ 1
r

L _______

..1.

,TR~NSL= {;~S}

1 ..

. -

.
NOr , IDENT=. { YES} J
______________

~

with the parameter list referred to by
the PARMLST operand. The value of this
operand must be between 1 and 121. The
PARAMNUM macros must be in ascending
sequence tv PLN. A PARAMNUM macro
found out of sequence or in error
terminates the assembly of this macro
instruction. The value of the PLN
operand must be 1 greater than the PLN
operand of the previous PARAMNUM macro.
PARMLST
This operand specifies the name of a
parameter list defined by a PARMLIST
macrc·.
PARMLIST lParameter 1ist) Macro Instruction
The PARMLIST macro is used to generate an
entry in the Parameter List Table. The
data in the parameter list detfines the
types of checks that are to be performed on
a data entry from a 2198 GDU. The entries
in the Parameter List Table to be used by
the 2115 are selected by a pointer from
the Parameter List Number Table. Every
PARML~ST macro must be referred to by a
PARMLST operand in the P!RAMNUM macro.
The si~e of the Parameter List entry is
variable depending on the type of tests
requested. The format of the PAR.fl.1LIST
macro is:

IBr.1 2790 Data Communications System

180. 1

symbol
The name field must be specified and
must be the same name as defined by the
PAR~LST operand in the PARAMNUM macro.
CKLNGTH
This operand causes the 2715 to check
the data entry to determine if it is
the length specified.
length
This suboperand specifies the length of
the data entry and its value may be
from 1 to 17. NOj;..§!!
The first byte in
the data entry is the Operational Status
byte that is generated by the 2715.
Therefore, the value specified by the
length suboperand will always be one
more than the number of characters
entered by the GDO operator.
For
example, if the user doesn't expect
any characters to be entered from "the
GDU keyboard he must assign a value of
1to the length suboperand.
errguidance
This suboperand specifies the error
guidance that is returned to the 2798
GDU if the data entry length is incorrect.
The value of each suboperand
may b~ frQm 1 to 16 and up to 16
suboperands may be coded. Each suboperand represents a light on the
quidance panel that is turned on when
(See
a CKLNGTH error condition exists.
Figure 27.1) Exam.R.l§: If the use~
coded CKLNG~H=(8,2,4,16) and the GOU
operator entered any number of characters other than 7, then the error
guidance lights for lines 2 and 4 on
the left panel and line 16 on the
right panel will be turned on.
CKKONKY
This operand indicatEs whether the
2715 will check to determine if the
2798 r1onitor key is on. If CK~10NKY=YES
is coded, the 2715 checks that the
11onitor key is on.
If a ~1onitor key
error is encountered when CKMONKY=YES,
the error guidance, as specified by
the ~-10NERR operand in the CONFIGUR
macro, is returned to the 2798 GDU.
CKKOD11
This operand causes the 2715 to perform
a modulus 11 check on the field specified and tests the data in the field to
ensure that it is numeric. The last
position in the specified field must
contain the self-check character. A
detailed description of modulus 11
checking can be found in Co_penent
Description: IBM 2790 Data-CommunicationSystem, GA21-3015.
lenqth
This suboperand specifies the length
of the modulus 11 check field. The
180.2

OS BTAM SRL

value of this suboperand may be from 1
to 15. The lenqth does not include the
self-check character.
position
This suboperand specifies the starting
position of the modulus 11 check field.
The value of this suboperand may be
between 2 and 16.
err guidance
This suboperand specifies the error
guidance that is returned to the 2798
GDU if the modulus 11 check is not
satisfied. The value of each suboperand may be from 1 to 16 and up to
16 suboperands may be coded.
Each
suboperand represents a light on the
quidance panel that is turned on when
a CK~OD11 error condition exists.
(See
Figure 27.1)
Example: CKMOD11=(6,2,2,10,14) will
result in a modulus 11 check of a 1
digit field (the seventh digit is the
self-check digit) startinq at GDU data
entry position 2. If the self-check
digit does not satisfy the modulus 11
check, the error guidance lights for
line 2 on the left panel and lines 10
and 14 on the right panel will be
turned on.
CKRANGE
This operand causes the 2715 to check
the specified field to ensure that it
is neither less than the specified low
test value nor higher than the specified high test value. This check" also
tests the data to ensure that it is
numeric.
position1
This suboperand specifies the starting
position of the field for which the
range check is performed.
The value
may be from 2 to 17.
position2
This suboperand specifies the last
position of the field for which the
ranqe check is performed.
The value
may be from 2 to 17.
hilowchars
This suboperand specifies the high and
low test digits (0-9) for each character in the field.
Up to 16 'hilowchars' may be coded.
If the high and
low test digits coded for a position
of a field are the same digit, the 2715
will check that the test position is
indeed that digit.
Example:
CKRANGE=(8,10,91,80,63) will
cause the 2715 to check for a 3 digit
number starting in data entry position

8 and ending in position 10. The 3
digit number in positions 8 through 10
must be qreatEr than or equal tc 103
and less than or equal to 986.
l,OWGUID
This operand specifies the errcr
quidance that is returned to the 2198
GDU if the specified field in the
CKRANGE check is lower than the low
test value. The value of each suboperand may be from 1 to 16 and up to
16 suboperands may be coded.
Each
value represents a light on the
quidance panel that is turned on when
the low test condition exits.
(See
Fiqure 21.1)
Izample: From the example associated
with the CKRANGE operand, the user may
code LOWGUID=(8,9) to inform the GDU
operator if the number he entered at
the 2198 GDU is less than 103. If the
number is less, the error guidance
lights for line 8 on the left panel
and line 9 on the right panel will be
turned on.
HIGUID
This operand specit1es the error
quidance that is returned to the
2198 GDU if the specified field in
the CKRANGE check is higher than the
hiqh test value. The value of each
suboperand may be from 1 to 16 and
up to 16 sutoperands may be coded.
Each value represents a light on the
quidance panel that is turned on when
the hiqh test condition exists.
(See
Figure 27.1)
Example: From the example associated
with the CKRANGE operand, the user may
code HIGHGUID=(10,12) to inform the
GDU operator if the number he entered
at the 2798 GDU is greater than 986.
If the number is greater, the error
quidance lights for lines 10 and 12
QD the right panel will be turned on.
RNGETST
This operand indicates the action to
be taken when the data entry fails to
comply with a CKRANGE check. If
RNGETST=EBROB is coded and the CKRANGE
fails, the data entry is not accepted
and the desired error qui dance is
-returned to the 2198 GDU. If RNGETST=
DATA is coded and the CKRANGE fails,
the data entry is accepted and the
desired error guidance is returned ~
the normal guidance for the next step.
RNGETST is the only error condition
for which data can be accepted.

CKKOD10
This operand causes the 2715 to perform
a modulus 10 check cn the field specified and tests the data in the field to
ensure that it is numeric. The last
position in the specified field must
contain the self-check character.
A
detailed description of mod.ulus 10
checking can be found in Compcnent
Description;IBM-2790 Data-Communication System~ GA21-3015
lenqth
This subo~erand specifies the length
of the modulus 10 check field. The
value of this suboperand may be from 1
to 15. The length dces not include
the self check character.
position
This suboperand specifies the startinq
position of the modulus 10 check field.
The value of this subcperand may be
from 2 to 16.
errquidance
This suboperand specifies the error
quidance that is returned to the GDU
if the modulus 10 check is net satisfied.
Each value of this suboperand
may be frcm 1 to 16 and up to 16
suboperands may be coded. Each suboperand represents a light on the
guidance panel that is turned on when
CKMOD10 error condition exists.
(See
Figure 21. 1)
Exampl~:
CKMOD10=(4,1,16) will ~esu~t
in a modulus 10 check of a 5 dig1t f1eld
(the Jifth digit is the self-check
digiti starting at GDU data entry
position 1. If the self-check digit
does not satisfy the modulus 10 check,
the error guidance light for line 16
on the right panel will be turned on.

CKOR
This operand causes a check by the 2715
to ensure that the character received
in the positicn specified in the data
entry is one of the check characters
specified by the user. There may be
one to five unique check characters
associated with this test and cnly one
must compare.
position
This suboperand specifies the position
in the data entry that is checked for
the character comparison. The value
of this suboperandmay be from 2 to 11.
checkchar1,chEckcharn
Each suboperand defines a check character. From 1 to 5 of these suboperands may be coded. The value of
the suboperand may be the hexadecimal
IBM 2190 Data Communications System

180.3

equivalent of any of the characters:
0-9, or any of the special characters: • $ & - / , • " i = : ? ! ; * +
SPACE TAB NEWlINE LINEFEED.
(See Table
9.1)

A~Z,

Example: CKOR=(3,D3,F5,7C,61) will
check the fourth data entry position
(the third character entered by the
operator) to ~nsure that it contains one
of the characters: L,5,~, or /. If the
character is not one of the four specified, the user may code the following
operand.

Example: CIbjec:t of the
aet.,ion, {or eXilmple, the i4entifieat;.iQn
n.umber of tbe.&l='ea station too be restored
(the dat.a field mayor may not. be. present,
depending on the nature of 1:he transaction
Qontrol type).
The control transaction types, as presently defined, are:
• System/360 to 2115 (sent by the user
program):
Bypass area station.
Restore area station.
Bypass segment.
Restore segment.
Stop 2190 input.
Start 2190 input.
User table load start.
User table load data.
User table load end.
CPU restart.
2715 restart.
SOrt area station errors.
Read partial error log.
Reinitialize disk.
Set day stamp.
MOnitor4ay number.
Monitor time.
Reset deferred data mode.
Read deferred data.
All pulse QOuot transactions.
Alarm.
Text.
Alarm and Text.
• 2115 to System/360 (sent to user
program):
Positive response to CPU request.
Negative response to CPU request.
RespQn~ t.O invalid cPU request.
Positive response to 2115 request.
Negative response to 2115 request.
Response to invalid 2115 request.
User defined.
Automatically initia~ed response.
CE-tnitiated response.
Unsolicited 2115 response.
Pulse QOunt responses to 2115
operator-initiated requests.
Pulse count transactions destined
for CPU
CE-initiated response for pulse
counters.
In addition to the above transactions,
there are two types of messages that are

transparent to the user (i.e., non-user
data) •
1.

Error records are recorded by BTAM on
a disk file; and

2.

Diagnostic information (automatic or
resulting from Customer Engineer
intervention at the 2115 local) is
prin~ed by BT~M on the System/360 Consol·e or the 2140, if available. Diagnostic information from the 2115
r~mote goes to the 2140 Data Communie~tions Terminal.

Pulse CQunt Transactions
All pulse count transactions initiated from

a System/360 have a control byte' of X'FC'

in byte 1 of the 8-byte transaction header.
Byte 2 contains the area station address
and byte 3 the counter address (in hexadecimal). Particular kinds of pulse counter
operations are specified in the transaction
text or data. The first byte of the
transaction text is the counter control
byte. This byte specifies the counter
operation requested. Only one data byte
(the counter control byte) is required for
all counter operations except the Set functions, the Read and Set functions, and the
Read Group functions.
For tbe Read Group and Read Group Residual operations, two additional data bytes
must follow the counter control byte.
These two bytes are the EBCDIC value of the
last counter in the group. The upper limit
of the last counter is 63, since there can
be only 63 counters on a single area
station.
For the Set functions and the Read and
Set functions, five additional data bytes
must follow the counter control byte.
These five bytes contain the EBCDIC value
to which the counter is to be set. The
value must be between 0 and 29,999 in
EBCDIC. These five additional data bytes
are required for the following operations:
• Set Counter
• Set counter and Set No-Count Testing
and Reset Unassigned Production Testin~
• Set Counter and Reset No-Count Testing
and Set Unassigned Production Testing
., Set Counter and Reset all count testing
functions
• Read and Set
• Read and Set and Set No-Count Testing
and Reset Unassigned Production Testing
• Read and Set and Reset No-Count Testin~
and Set Unassigned Production Testing
• Read and Set and Reset all count testing functions
IBM 2790 Data Communications System

182.13

The counter control operations and the
hexadecimal representation of the counter
control bytes are shown in the following
table:
Counter Control
Byte (in hex)

counter Control Operation
Set no-count testing (NCT), reset unassigned production testing (UNASP)
Reset NCT, set UNASP
Reset all count testing functions
Set counter·
Set counter, set NeT, reset QNASP
Set counter, reset NCT, set UNASP
Set counter, reset. all count testing functions
Read counter
Read counter, set NCT, reset UNASP
Read counter, reset NCT, set UNASP
Read counter, reset all count testing functions
Read residual
Read residual, set NeT, reset UNASP
Read residual, reset NCT, set UNASP
Read residual, reset all count testing functions
Read and reset counter
Read and reset counter, set NCT, reset UNASP
Read and reset counter, reset NCT, set UNASP
Read and reset counter, reset all count testing functions
Read and set counter
Read and set counter, set NeT, reset UNASP
Read and set counter, reset NCT, set UNASP
Read and set counter, reset all count testing functions
Read group
Read group residual
Disable schedule readout (single counter)
Enable schedule readout (single counter)
Disable schedule readout and count testing (all counters on an AS)
Enable schedule readout and count testing (all counters on an AS)
Disable all schedule readouts (on 2790 System)
Enable all schedule readouts (on 2790 System)
Disable all count testing functions (on 2790 System)
Enable all count testing functions (on 2790 System)
Disable all schedule readouts and count test functions (on
2790 System)
Enable all schedule readouts and count test functions by continuing
from stop point
Enable all schedule readouts and count test functions by
re-initializing all schedules
Table 12.

01
02
03
20
21
22
23
80
81

82
83

AO
A1
A2
A3
CO

Cl
C2
C3

EO
El
E2
E3
88
C8

BO
B1
B2
B3
B4

BS
B6

B7
BB
'BC

BO

Counter Control Operations

Overflow Interrupt
An overflow interrupt message is transmitted to the user-defined routing indication (specified in the ASCTR macro)
whenever any counter reaches a value of

to the user-defined routing indication
(specified in the ASCTR macro). Until the
power interrupt is reported from the area
station, all counter transactions will be
incomplete transactions.

30,000.
EXTERNAL ALARM CONTACT FEATURE

Power Interrupt
The reporting of initial power-up or power
failure at an area station results in a
power interrupt message being transmitted

182.14

as

BTAM SRL

The Area Station External Alarm contact
feature is provided as a method of alerting
the operator at the area station level that
an alarm condition exists in his area.
This feature on a 2791-1 or 2793-1 Area
Station allows the attachment of an

external device at the area station 1053
printer, which can make use of a contact
closure to operate some kind of external
alarm 'whenever the EBCDIC character for
BELL (X'2F') is received at the area station 1053 printer.
Three types of alarm messages can originate from either the System/360, the 2140
attached to the 2115, or an area station or
data entry unit.

Alarm

2.

Text

3.

Alarm and text

The alarm message causes the 2791/2193
alarm hardware to be activated. The text
message consists of data that is printed on
the 1053 printer. The alarm and text message consists of data that causes the 2191/
2793 alarm hardware to be activated and
that causes the data to be sent to the 1053
printer. If the 1053 is not available,
alarm or alarm and text messages are routed
to the cpu. The 2191/2193 alarm hardware
is activated for the alarm or alarm and
text messages whether or not the 1053
printer is available. Text messages
initi~ted at the System/360 or 2140 must be
supplied by the user with the transaction
request. Area station and data entry unit
requests may have text supplied as explicit
or implicit text.
The alarm messages initiated from the
system/300 are handled as normal System/360
to area station 1053 printer output messages. The transaction control byte
defines the type of alarm message, as
follows:
Control Byte Value

Alarm Message Type

X'CO'
X'CE'
X'CF'

Text
Alarm
Alarm and text

The data can be any normal user data.
For alarm or alarm and text messages, the
2715 generates the alarm character to send
to the 1053 (the user does not have to do
this).
The alarm message initiated from the
2740 is handled as a special control request. This request must be coded as
follows:

r---T--T--T--T----T---'
~

~

~

I
I I I I
I
I
IBIDID11D21D31TextlEOTI
L___ __ __ __ ____ ___ J
~

01 is the type of request and can have
the following values:
Y for alarm message.
Z for text message.
X for alarm and text message.
02 and 03 represent the area station
address to which the message is to be
sent (decimal 00 to 99).
Text is any user text up to 121
characters.

1.

~

where:
BID is the 2140 BID key.

EOT is the 2140 EOT key.
Messages oriqinating at an area station
or data entry unit are initiated by an
input transaction in conjunction with the
2715 user tables. The implicit or explicit
area station address, if other than the
area station address of the originating
station, indicates that two messages will
be created by the 2715. One message will
be the alarm message that will be sent to
the area station than initiated the transaction~
The second message will contain
the data to be rcuteQ to some other area
station 1053 printer. This second message
will normally not be an alarm message. If,
however, the user desires to send alarm and
text to another area 'station, the first
two characters of the text must be the
alarm, text, or alarm and text characters.
If the implicit or explicit area station
address is the address of the transaction
initiator, then only an alarm message will,
be qenerated by the 2715. Message routing
and implicit text will be specified in the
transaction list header for messages originating at an area station or data entry
unit. The first two bytes of implicit text
must define the type of alarm message
desired. For alarm messages, these bytes
will be deleted from text-sent to the' 1053.
The followinq table shows the format of the
first two bytes of the implicit text for
alarm messages. Implicit text is specified
in the 2715 user tables in the MSG operand
of the last ASLIST or DEULIST macrc or the
CTRLIST macro in a defined transaction.
The user must multipunch a 0-7-8-9 sequence
for the EBCDIC BELL character specified in
the table. The SPACE character indicates
that nothing is punched in this column of
the car'd.
Message Type
First Byte Second Byte
Alarm
BELL
SPACE
Text
SPACE
BELL
Alarm and Text
BELL
BELL
2140 TRANSACTIONS
The 2140 Communications Terminal is a standard feature on the 2115 remote and an
optional feature on the 2715 local. It is
used with the 2115 as both an input
IBM 2790 Data Communications System

182.15

(inquiry, control) and output (response,
error logging) device.
A message originated by the System/360
and destined for the 2740 terminal has a
maximum length of 128 bytes (two-byte message header, eight-byte transaction header,
118 bytes of text). These messages have
the following format:
• Bytes 1 and 2: Message'header (these
bytes are not printed on the 2740).
• Bytes 3 through 10: Transaction header
(Bytes 4, 5, and 6 are printed in hex.
Following these six printed characters
(two for each byte] is a space. Bytes
7 thrQughl0 are printed as they appear
in main storage. There will be a total
of 11 characters printed, including the
space. )
• Data: The maximum length of the actual
data text is 118 bytes if the margins

,/

182.16

as BTAM SRL

of the 2740 are set to maximum printing
space.
A message entered from the 2740 may be
formatted by the 2715 as. a normal 2740initiated request and routed directly to
the System/360 user or will be treated as a
control request. The 2715 wil~' format a
standar~ eight-byte transaction header,
inserting the first character entered from
the keyboard in the control byte of the
header. If this ~te is numeric, a fourbyte time stamp will be added, subsequent
characters from the 2740 will be inserted
as text, and tbe message will be routed to
the System/360.

If the first character entered from the
2740 is not numeric, the 2715 will not add
a time stamp and will treat the message as
a control request.

IBM 2770 DATA COMMUNICATION SYSTEM -- PROGRAMMING CONSIDERATIONS

SYSTEM CONFIGURATION
An IBM 2770 can communicate with a System/
360 over a nonswitched line (point-to-point
or multipoint) or' a switched line. The
2772 Control Unit must be equipped with the
Multipoint Data Link Control feature for
use on a multipoint line. A control unit
for use on a switched line can be equipped
with an Automatic Answering feature, if
desired.
'

TRANSMISSION CODES
The IBM 2770 communicates with the System/
360 using either of two transmission codes,
EBCDIC or USASCII, as selected when the
2770 is ordered.
If the 2770 is equipped
with the EBCDIC Transparency feature, text
data can contain any of the 256 EBCDIC hit
patterns. That is, when text data is sent
in transparent mode, the EBCDIC bit patterns representing data link control and
terminal control characters are treated
simply as data, and do not cause the control functions usually effected by these
bit patterns to occur. This feature allows
transmission of various kinds of raw data,
such as packed decimal numb.ers, floatingpoint numbers, and machine-language programs. When transmission is in nontransparent mode, however, the data link and
format control characters are recognized as
such, and thus cannot appear as normal
text.

other terminal types. The specific
adapter-to-device correspondence is establishe8 by the customer engineer when the
2770 system is installed. You must be
aware of the correspondence in order to
select correctly the character sequences
you need. These sequences are given below.

point-to-Point
In point-to-point communication, you may
perform component selection by one of two
methods. The output device may be selected
by the Job Select switch on the 2770 operator control panel, or it may be selected by
the transmission of a device control character. If more than one device is assigned
by the Job Select Switch, the device control character is mandatory. DC1, DC2, and
DC3 are the device control characters for
output devices attac,hed to output adapters
1, 2, and 3.
Device control characters for point-topoint lines may be sent as separate message
blocks, or accompanied by text data, in the
format STX DCx [text] ETB, or STX DCx
[text] ETX. You code this message block in
the Qutput area referenced by a WRITE macro
instruction. A device control character
can be sent only as a nontransparent block,
and it must be the first block of a message, i.e., following EOT or the first
block of conversational reply.
The polling function is not used for a
2770 on a point-to-point line. since message transmission from terminal to computer
is initiated only by the terminal.

TERMINAL POLLING AND SELECTION
In order to activate a terminal so that
data transmission can occur, the central
computer transmits on the communications
line a specific -character sequence that
identifies the input or output component
(and in the case of multipoint lines, the
terminal as well) from which data is to be
received, or to which data is to be sent.
This procedure is called polling when an
input device is involved, and selection
when an output device is involved; the
character sequences are called polling
sequences and selection sequences. Specific polling and sel~ction sequences are
assigned to 2772 Control Unit input and
output adapters, rather than to specific
device types, as is the case with some

Multipoint
Message transmission between computer and
2770 via a multipoint line is intiated only
by the computer, using a Read Ini~ial or
write Initial operation. You code polling
and selection sequences in terminal lists
(called polling lists for polling
sequences, and addressing lists for selection sequences).
(The terms selection and
addressing are used here synonymously.)
The DFTRMLST macro instruction is used to
create the terminal lists. The READ or
WRITE macro instruction that initiates message transmission sends the polling or
selection sequences contained in the list.

IBM 2770 Data Communication System -- Programming Considerations

183

Polling and selection sequences consist
of four characters. ~he first is the terminal address, which may be any alphabetic
character; it identifies an individual terminal and is set by the customer engineer
when the terminal is installed. In a polling sequence, this character must appear in
uppercase, e.g., A. When in a selection
sequence, it must be lowercase, e.g., a.

When this happens., the user program
should ordinarily transmit an EOT and reestablish contact later. 1

The second character is always identical
to the first. The third character in the
sequence is a component polling or selection character. The characters DCl, DC2,
and DC3 select the output devices attached
to output adapter I, 2, and 3, respectively. The characters 5, 6, and 7 poll the
input devices attached to input adapters 1
(keyboard), 2, and 3; 0 causes a general
poll, resulting in receipt of data from any
ready input device.

At the time the 2770 receives an ENQ or
selection characters from the central computer, or after it has already received one
or more message blocks, it may be unable
temporarily to receive text into the buffer. This condition occurs when the current contents of the buffer are being
transferred to an output device. When this
happens, the 2770 sends a WACK sequence
instead of the usual alternating
acknowledgment.

The fourth character in the sequence is
always ENQ (inquiry.), which elicits a
response from the terminal control unit
that indicates whether the polled or
selected component is ready.

Upon receiving the WACK, BTAM turns on
bits 0 and 1 of DECFLAGS ~nd posts a completion code of X'7F'. The user program
should check DECFLAGS for this response"
and if WACK was received, should send an
ENQ character (as by a ,WRITE Inquiry
macro). The ENQ should be sent regardless
of whether the WACK was received in
response (1) to text or (2) to the initial
ENQ character (nonswitched point-to-point
line) "or ID ENQ sequence (switched pointto-point line). For a multipoint line,
however, the ENQ should be sent only if the
WACK wa~ received in response to text. If
it was received in ~esponse to initial
selection., the user program should resend
the selection characters, that is. reissue
the WRITE macro. To determine whether the
WACK was received in response to text or
selection., examine the DECTPCOD field of
the DECB. If it contains X'06', the WACK
was'received in response to selection. If
it does not contain X'O~'. the WACK was
received 'in response to t~xt.

TEMPORARY TRANSMISSION DELAYS
In communication between the IBM 2770 and
the central computer, message transmission
may need to be delayed because of conditions at the·2770. The 2770 signals the
central computer that delay is necessary by
sending one of several data link control
sequences, the specific one depending on
the reason for the delay. These sequences,
and the automatic BTAM response or appropriate user program response to each, are
as follows.

2770 Unable to Send (STX ENQ)
When during tr.ansmission of text from the
2770 to the central computer the 2770
becomes temporarily unable to transmit, it
sends an STX ENQ sequence in lieu of text.
Upon receiving this sequence, BTAM automatically transmits a NAK character.
Transmission of STX ENQ and NAK alternates
until (1) the 2770 once again is able to
transmit, in which case it resumes transmitting text (or EOT, if there is no more
text to transmit), or until (2) the BTAM
retry count of seven is reached. In the
latter event, BTAM turns on bit 7 of
DECFLAGS and posts a completion code of
184

OS BTAM SRL

X' 41' •

2770 Unable to Receive Text (WACK)

The user program should be arranged to
keep responding to WACK sequences in this
manner until the 2770 responds norma~ly or
until the user program wishes to abandon
communication with the 2770 for the time
being. In the latter case, the user program should issue the appropriate macro to
break off transmission.
1If the source of the incoming data is an
IBM 50 Magnetic Data Inscriber cartridge,
it may be desirable for the user program
to send NAK characters until a total of
about 60 seconds has elapsed from the time
the STX ENQ sequence was received. The
MDI cartridge requires 45 seconds to
rewind, and several seconds are required
for the terminal operator to mount a new
cartridge so that transmission can resume.

2110 Wishes to Transmit (RVI)
At the time the 2110 receives a selection
sequence from the central computer (multipoint line only), it may signal the central
computer that it wishes to transmit instead
of receive. To do this, it sends an RVI
sequence instead of an ACK-O (the normal
respon$e to selection) BTAM accepts the RVI
in lieu of the ACK-O, turns on bits 1 and 6
of DECFLAGS, and posts a completion code of
X'7F'. The user program should check
DECFLAGS.for this response and proceed as
follows.
When the RVI is received in response to
selection, the program should issue a READ
Initial macro if it wishes to allow the
2770 to transmit.
TERMINAL FUNCTION CONTROL
There are six characters in each code
(EBCDIC and USASCII) that control terminal
functions. These are sometimes referred to
as end-to-end control characters (as distinguished from data link
characters) •
• EM (end-of-medium)
Tbis character is used to indicate the
end of data on paper or magnetic tape.
It is transmitted as data and reproduced
in paper tape at the 1018 paper tape
punch. (It is not sent to the IBM 50
Magnetic Data Inscriber, as this is an
input device only.)
• IRS (Interchange Record Separator)
(EBCDIC)
RS (Record Separator) (USASCII)
This character is used to indicate the
end of data in a punched card. When the
contents of a card are read into the
buffer, the control unit inserts an IRS
(RS) character into the buffer follOWing
the last data character read from the
card. If the contents of a buffer are
sent to the paper tape punch, the IRS
(RS) characters are also punched in the
tape, so that cards can be punched from
the tape. When sending data from the
buffer to the card punch or printer,
each IRS (RS) character encountered in
data causes the control unit to command
the card punch to eject a card, or the
printer to perform the new line
function.
• NL (New Line)
The NL character defines a print line
when data is to be printed. If data
containing NL characters is sent to a
card punch or paper tape punch, the NL
characters are punched.

• DCl
DC2
DC3

(Device Control)

These characters are used to activate
specific devices attached to the 2172
control unit. Their use is explained
under Terminal Polling and Selection.
• ESC (Escape)
This character and a defined graphic
character that follows it are called an
escape sequence. Escape sequences are
used to control formatting of data on
output devices, as explained under 2213
Printer and 2265 Model 2 Display
station.
• VT (Vertical Tab)
FF (Forms Feed)
These two characters are used to control
formatting on the 2213 printer, as
explained under 2213 Printer.
Placing terminal function control
characters in message text is not a BTAM
function; they must be placed there by the
terminal operator, programmer, or preparer
of input media (e.g., cards, tape).

2213 Printer
Vertical forms control for the printer may
be regulated by a carriage control tape
contained within the printer, or by control
commands consisting of escape sequences
(ESC followed by a defined character). An
escape sequence specifies the number of
line spaces to be skipped following printing of the line in which the escape
sequence appears, or specifies the channel
number of the carriage control tape that is
to govern forms motion. The escape
sequence must be contained in the first two
positions of a record sent to the printer.
These two characters· are not printed on the
forms. The escape sequences and their
corresponding functions are given in Figure
29.

Vertical forms control may also be
actuated by the Vertical Tab (VT) character, which causes skip-to-channel-2 of the
carriage control tape and the Forms Feed
(FF) character, which causes skip-to~
channel-i. These two characters differ in
effect from the escape sequences in that
forms motion takes place immediately upon
detection of the VT or FF character,
whereas forms motion caused by detection of
an escape sequence does not occur until the
entire line containing the escape sequence
has been printed.

IBM 2770 Data Communication System -- programming Considerations 185

2265 Model 2 Display Station
Two 2265 Model 2 Display Station control
functions are activated by two-character
escape sequences contained within the message data sent to the display station via a
write operation. These functions and their
associated escape sequences are:
Erase/Write (ESC

U)

Ir--------T--------T--------------T--------,
I
I
I Skip to I
I EBCDIC IUSASeII IForms Motion I Carriage I
ISequencelSequencelAfter PrintinglControl I
(or) Tape I
I
I
I
IChannel I
I
I
I

~--------+_------_+--------------+--------i
IESC /
IESC Q
I Single space I
I
~--------+--------+-~------------+--------i
I ESC S
IESC R
I Double space I
I
~--------+_------_+--------------+--------i

Write at Line Address (ESC

I ESC T
I).

The escape sequence must be the first
two characters following the STX character
that begins a message or message block.
Both the ESC U and ESC 'sequences may be
contained in a single message (though not
in the same block).

I Triple space

I

I

~--------+-------_+--------------+--------t
I ESC C
I ESC C
I
I
3
I

~--------+-------_+--------------+--------i
I ESC 0
I
I
"
I
~--------+------~-+--------------+--------i

I ESC D
I ESC E

Erase/Write: To erase the screen of a display station the station must be selected
and the program must send:

I ESC S

I~--------+--------+--------------+--------t·
ESC .A
I ESC A
I
I
1
I
~--------+--------+--------------+--------i
IESC B
IESC B
I
I
2
I

I ESC E

I

I

5

I

~--------+--------+--------------+--------i
I ESC F
I ESC F
I
I
6
I
~--------+--------+--------------+--------i
G
I ESC G
I
I
7
I

I ESC

~--------+-------_+--------------+--------f

STX ESC

U

(text) ETX or

STX ESC

U

(text) ETB.

IESC H
I
I
8
I
~--------+--------+--------------+--------i
IESC I
IESC I
I
I
9
I
~--------+-------_+--------------+--------t
IESC J
IESC J
I
I
10
I
IESCH

~--------+-------_+--------------+--~-----f
The screen is erased, the cursor is
positioned at the first available display
position of the screen (upper left corner),
and the data represented by (text) is
displayed.

IESC K

IESC K

STX ESC " x (text) ETX or
STX ESC • x (text) ETB
where x represents the line address. The
line address is a hexadecimal code spe~ify­
ing the display line where the message data
is to begin. Display line numbers and
corresponding line addresses are shown in
Figure 30.

I

11

I

~--------+-------_+--------------+--------f
I ESC L
I ESC L
I
I
12
I

}--------+-------_+--------------+--------i
I ESC M
I ESC M
I Space suppress I
I
L ________ L-_______ ~ ______________ ~ ________J

Figure 29.
Write at Line Address: This control function allows the program to select a specific line where the data containing the·
escape sequence is to be displayed. The
program must send:

I

IBM 2213 Vertical Forms Control
Escape sequences

Conversational Mode
This special feature enables the 2772 to
accept a text response to an inquiry
without having to be selected before
receiving the response. With this feature,
the user may include in his BTAM program
the coding required to initiate a Write
Continue operation to the 2770 immediately
following the last block of data received
from the same 2770 on a Read operation.
This Write continue operation may be followed by other Write Continue operations to
the same 2770. ro read more data from the
2770, the user must issue another READ Initial macro to poll the input unit again.
FIELD-CONTROL OPERATION
This special feature permits operator or
program entry of three field modifiers that
can be entered individually in any given
character location in the display buffer.

186 OS BTAM SRL

r-------------T---------------------------,

I Function
I Escape Sequence
I
~-------------+---------------------------i
IErase screen I ESC U
I
~------------+---------------------------i
IErase screen I ESC U (text)
I
I and display I
I
I message
I
I

~-------------+---------------------------i
IWrite at
I ESC • x (text)
I
I Line Address I
I
~-------------+---------------------------i
Display Line
Number
Address Code

1
2
3
4
5
6
7

15
lines
1
2
3
4
5
6
7

12
lines
-12
3
4
5
6
7

8
9

8
9

8
9

A
10
A
B
B
11
12
C
C
13
D
14
E
L-____________
_________________________
__
15
F
~

Figure 30.

IBM 2265 Erase and write-atLine Address Control Characters

Protected Data
Two of the three field modifiers provided
by the Field-Control Operation special feature serve to identify the beginning and
end of a field of data that is to be protected. They are:
• Protected-Data-Field Modifier (ESC Z):
The presence of this modifier in the
display buffer identifies the start of a
field of protected data and prevents
manual erase or over-write of the data.
• End-Field Modifier (ESC 9): The presence of this modifier in the display
buffer identifies the end of a
protected-data field and automatically
terminates the field-control operation.
These field-control modifiers are
entered into the system via escape (ESC)
sequences. The characters Z and 9 are
stored in the display buffer and they are
reproduced on the display screen as:
Protected Data Field Modifier
End-Field Modifier
)

When the ( and ) symbols are not preceded
by ESC, they may be used as normal data.
During a Read or Write operation, if the
display cursor encounters a Protected-OataField Modifier it moves over the field
until it reaches the End-Field Modifier.
The cursor then locates in the next display
position beyond the End-Field Modifier and
normal Read or Write operation continues.

Tab Set
The presence of the Tab Set Character Field
Modifier in the display buffer identifies
the position as a Tab Set character location. When a Horizontal Tab (HT) is
received from the central computer or from
the keyboard, the BT character is stored in
the first unprotected character space, and
then the cursor automatically advances to
one character space beyond the next Tab Set
character.
The Tab Set Character Field Modifiers
are entered into the system via a format
message. The first data in this message
should be ESC BT, to set up a tab-set
sequence. Each HT following this represents a Tab set character. A vertical bar
is displayed in each line from and including the line containing the cursor to the
bottom of the screen for each Tab Set character. This character cannot be written
within a protected field. caution must be
exercised to see that the cursor is not
positioned in a protected field when a Tab
Set character is to be written. The tabset sequence is not terminated until the
New Line (NL) character is entered.
Once this format message has been
stored, messages may be transmitted without
spaces, as they need contain only the Horizontal Tab (HT) character to provide formatting. The HT character is stored and
will be read back to provide printer formatting and/or better communications line
efficiency. If an BT is sent and there are
no Tab Field Modifiers, the cursor is positioned at the beginning of the next line •

RECORD FORMATS
The basic 2772 control unit has two 128byte buffers. As a special feature the
2772 can have buffers of 256 bytes each.
The basic 2772 can send or receive one message block per transmission. Thus, in nontransparent mode, messages appear on the
line in the format:

IBM 2770 Data Communication System -- Programming Considerations

187

r---T----------T---------------,
ISTxl·· .• text ••• 1 ETB (or ETX) 1
L ___ ~ __________ ~ _______________ J

In transmission to the 2772, only the text
portion of the message is transferred to
the output device. The definition of text
depends on the type of device.
For the paper tape punch, text consists
of the data characters and any end-to-end
control characters present in the data.
For the card punch, any escape sequences,
NL and EM characters are considered text
and do not cause ejecting of a card from
the punch; the IRS (RS), ETB, and ETX do
cause card ejection. For the printer, the
NL and IRS (RS) characters and escape
sequences are not considered part of text.
In nontransparent mode, the maximum
record length is 128 characters for the
basic 2772 and 256 characters for the
27j2 with the Expanded Buffer feature.
The STX, ETB, ETX, and the device control
characters (DCx) do not go into the buffer.
Records exceeding the buffer size cause
an I/O buffer to overrun error, which
causes the 2772 to send a NAK in response
to the received block. BTAM will retry
the Write operation seven times, then
post the operation complete with error.

Each IRS (RS) character in data transferred from the buffer to the card punch
causes the card currently being punched to
be ejected and a new card fed. This action
also occurs if no IRS (RS) character has
been detected by the time 80 consecutive
data characters have been sent to the
punch.
Printing: Data to be sent to the printer
may be formatted into print lines of 132
characters or less by the use of IRS (RS)
or NL characters. If neither of these
characters is detected by the time 132
characters have been sent to the printer,
successive data is printed on the next
line. The new line. function also occurs if
the printer reaches a tab stop.

188

OS BTAN SRL

Display: Records exceeding the length of
the display line are not truncated, but are
continued on the next display line. In
nontransparent mode, variable length records may be sent to the 2772. The number
of records per transmission is not
restrict"ed except by buffer size. rhe STX,
ETB, ETX, and DCx characters do not enter
the buffer. All other characters, including escape sequences and end-to-end control
characters, occupy positions in the buffer.
In transparent mode, variable length blocks
may be sent to the 2772. A block consists
of one record, since end-to-end controls
are not recognized in transparent mode.
The length of the block may not exceed the
buffer size.

TranSmission of Blank Cards

Basic 2772: In either transparent or nontransparent mode, blank cards are read into
the buffer and transmitted just as are
cards containing data.
2772 with Expanded Buffer Feature: In nontransparent mode, data from the card reader
is packed. That is, each card is read into
the buffer, then scanned from column 80
backward until a data character is reached.
The control unit then inserts an IRS (RS)
character in the buffer at the next position. The next card is read into the buffer beginning at the next following position. Thus, card definition is maintained
while unnecessary blanks at the end of the
card are deleted. For this reason, the
2772, when equipped with the Expanded Buffer feature, does not transmit blank cards,
in nontransparent mode. In transparent
mode, data is not packed in the manner
indicated above, and blank cards are
transmitted.

IBM 2972 GENERAL BANKING TERMINAL SYSTEM -- PROGRAMMING CONSIDERATIONS

Communication between the central computer
and the station control unit of an IBM 2972
General Banking Terminal system employs an
eight-bit transmission code and ESC multipoint data link control procedures. The
makeup of the character set is as follows.
BSC Data Link Control Characters
The transmission code bit patterns for the
data link control characters are identical
to the EBCDIC bit patterns for the same
characters. The 2972 station control unit
can send and can receive and respond functionally to, these data link control characters and sequences:
Character
STX
ETX
OLE

ETB
ENQ
SYN
EOT
NAK

ACK-O
ACK-l
WACK
RVI

Bit Pattern (Hex)
02
03
10
26
2D
32
37
3D
1070
1061
106B
107C

The 2972 does not send the SOH (X'Ol') and
ITB (X'lF') characters. However, i t can
receive them, but does not respond functionally to them.
(This provides compatibility with other types of remote BSC stations that may be attached to the same multipoint line.)

Graphic and Terminal Function Control
Characters
Graphic characters are the alphabetic and
n~eric characters and the special symbols
that can be printed on the 2980 teller and
administrative stations, or that these stations can send to the central computer. HT
(horizontal tab), NL (new line), and Passbook Index are examples of terminal function control characters. The 2972 station
control unit passes graphic and control
characters between the communications line
and the 2980s connected to the station control unit.
The character sets for the different
models of the 2980 vary in the specific
characters they include and in the individual transmission code bit patterns that
represent the characters. For example, the
bit pattern X'D3' represents a 6, in numeric shift" and L, in alphabetic shift, for
the 2980 Modell. For the Model 4, however, the same bit pattern, X'D3'., represents
L" in numeric shift, and Q" in alphabetic
shift.
BTAM does not provide translation tables
for user-program translation between EBCDIC
and transmission codes. Appendix K shows
the correspondence between each transmission code bit pattern and the characters
that bit pattern represents, for each of
the models (1/, 2, and 4) of the 2980
stations.

IBM 2972 General Banking Terminal System -- programming Considerations

189

IBM 3735 PROGRAMMABLE BUFFERED TERMINAL--PROGRAMMING CONSIDERATIONS

The 3735 Programmable Buffered Terminal
is a stand-alone programmable terminal.
The 3735 contains a communication interface
and the controls necessary to use the
BTAM BSC facilities to transmit properly
assembled and structured Form Description
programs to any terminal in the network,
and to receive messages and data from
the 3735 terminals.
Detailed information on the facilities
that the 3735 Programmable Buffered
Terminal provide is found in the 3735
Programmer's Guide, GC30-3001.
The Programmer's Guide describes the
methods and facilities necessary to design,
write, and generate form description
programs.

190

OS BTAM SRL

The control units, di~play stations, and
printers that make up the IBK 3270
Information Display System are supported
by BTAK under control of the MFT or KVT
options of the System/360 Operating system.
Support for local or remote 3270 display
systems or both can be included in BTAK.

BTAM supports the following remote 3270
control unit and devices:

•
•
•
•
•

3271 control unit, models 1 and
2
3211 display station, models 1
and 2
3215 display station, models 1
and 2
3284 printer, models 1, 2, and
3
3286 printer, models 1 and 2

The 3271 control unit must be attacned
to either a 2701 Data Adapter Unit or
a 2103 Transmission Control Unit.
BTAK supports the following local
3270 control unit and devices:

•
•
•
•

2312 control unit, models 1 and
2
3271 display station, models 1
and 2
3284 printer, models 1 and 2
3286 printer, models 1 and 2

The 3272 control unit must be attached
to a selector, multi plexer ,or block
multiplexer channel.
For more information about remote
and local 3270 configurations, see I~~
127Q. lnform.iliQ!! !!is£!U ~te1!, ~2!:e2!!~lt~
Desc~iption, GA21-2749.
CAPABI~!!IE~~~fQ!I~!!

1110

BTAM supports the following remote and
local 3270 capabilities:
•
•
•
•
•

Read modified fields from device
buffer
write to device buffer
Erase and write to device buffer
Erase all unprotected fields in
device buffer
Bead modified fields fr.om device
buffer from position

•

~

Read from device buffer
Read from device buffer from
position

In addition, BTAK supports the remote
3270 capability of copying from the buffer
of one remote device into the buffer of
another remote device on the Same control
unit.,
For remote 3270 display systems,
capabilities are used through a combination
of BTAM READ and WRITE macro instructions
for nonswitched multipoint BSC stations
and data link and end-to-end control
characters in output .essages. For local
3270 display systems, capabilities are
used through local types of BTAM READ
and WRITE macro instructions (sepcified
by means of the optype operand).
For more information about remote
and local 3270 capabilities, see ~ 1lZQ
Iniorma t 1on Pisp!~ ~21~, Comp~~
DesiriR!ion. GA27-2749.

Remote 3270 display stations and printers
are supported by BTAM as BSC stations
connected to nonswitched multipoint lines
using either EBCDIC or ASCII transmission
code.
DEFINING COKMUNICATIONS LINE GROUPS
See "Defining Communications Line Groups"
in the general section "Defining the
Teleprocessing System," and see Appendix
D.
The UNIT operand of the IODEVICE
system generation macro instruction must
specify Bse3 for the remote 3270 display
system. The DCB macro inscruction operands
that apply to the remote 3270 display
system are: DSORG, KACRF, DDNAKE, BUFMO,
BUFL, BOFCB, EILST, BFTEK, LERB, EROPT,
DEVD, MODE, and CODE.
DEFINING AND KODIFYING TERMINAL LISTS
See "Defining and Kodifying Terminal
Lists" in the gene ral section "Defining
the Teleprocessing System," see "Defining
Terminal Lists" under the heading "BSC
Nonswi tched l!ultipoint Operation" in the
section "BSC Read and Write Operations,"
and see Appendix A.

IBM 3270 Display System-Programming Considerations

190.1

The DFTRMLST macro instruction is used
to define terminal lists for the remote
3210 display system.
Each control unit has a one-character
polling address (see Figure 3210-1) and
a one-character selection address (see
Figure 3270-2). Each display station
or printer has its own one-character
address for specific polling and selection.
(see Figure 3210-3), and all d~vices share
a one-character address for general polling
(see Figure 3210-3). Double addressing
is used for both control unit and devi=e.
Each five-character polling or selection
sequence has the format:

Control
Unit
Number

Address
Character

EBCDIC
Hexadec i ma I
Representation

o
I
2

/

3
4
5
6
7
8
9

T

S
U
V

W
X

Y

z

10

(\)

,

II
12

0/0

13
14
15
16

o

17
18
19

I

FO
Fl

2
3
4
5
6
7

0
1
2
3
4
5
6
7
8
9
10
II
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Address
Character
SP
A

B
C
D
E
F
G
H
I
¢ ([)

<(
+

I
&

J
K
L
M
N
0
P
Q
R
I (])

$

--,

Figure 3270-1.

190.2

40
Cl
C2
C3
C4
C5
C6
C7
C8
C9
4A
4B
4C
4D
4f
4F
50
Dl
D2
D3
D4
D5
D6
D7
D8
D9
5A
58
5C
5D
5f
5F

20
41
42
43

44
45

46
47
48
49
5B
2E
3C
28
2B
21
26
4A
48
4C
4D
4E
4F
50
51
52
5D
24
2A
29
38
5f

8

Control Unit Addresses for
Polling List Entries and for
Identification in Input
Messages (with hexadecimal
representations in EBCDIC
and ASCII)

as BTAM SRL

2C
25
5F
3E
3F
30

31
32

33

34
35
36
37

38
39
3A
23
40
27

7B

7C
7D
7E
7F

Figure 3270-2.

Address
Character

o

SP

1

A

2
3
4

B

C
D
E
F

5
6
7

G
H

J
¢ ([)

<
(
+

I

&

J
K
L

M
N

o

22
23
24
25
26
27
28
29
30
31
General Poll

7C

7A
#
@

30
31

8
9

5C

F8
F9

29

10
II
12
13
14
15
16
17
18
19
20
21

57

58
59

F7

9

27
28

Device
Number

54

55
56

F2
F3
F4
F5
F6

26

ASCII
Hexadecimal
Representation

53

6E
6F

22

EBCDIC
Hexadecimal
Representation

2D
2F

E2
E3
E4
E5
E6
E7
E8
E9
6A
6B
6C

?

23
24
25

Control
Unit
Number

60
61

6D

'5

20
21

where XX is the hexadecimal representation
in EBCDIC or ASCII of the control unit
address for polling or selection, II is
the hexadecimal representation of the
device address, and ENQ is X'2D' for
EBCDIC or X'OS' for ASCII. In the polling
list, the last entry must be five EOT
characters (X'37' for EBCDIC or X'04'
for ASCII).

ASCII
Hexadecimal
Representation

P
Q
R
I

(])

$

Figure 3270-3.

3D

22

Control Unit Addresses for
Selection List Entries (with
hexadecimal representations
in EBCDIC and ASCII)
EBCDIC
Hexadecimal
Representat ion
40
Cl
C2
C3
C4
C5
C6
C7
C8
C9
4A
4B
4C
4D
4E
4F
50
Dl
D2
D3
D4
D5
D6
D7
D8
D9
5A
58
5C
5D
5f
5F
7F

ASCII
Hexadecimal
Representation

20
41
42
43

44
45
46
47
48
49
5B
2E
3C
28
2B
21
26
4A
4B
4C
4D
4f
4F
50
51
52
5D
24
2A
29
3B
5f

22

Device Addresses fo~ Polling
and Selection List Entries
and for Identification in
Input Messages (with hexa·decimal representations in
EBCDIC and ASCII)

Examples: To define an open polling list
for devices 1, 2, and 3 on control unit
7 using EBCDIC transmission code:
OPLIST

DFTRKLST

AUTOLST,(C7C7C1C12D,
C7C7C2C22D,C7C7C3C32D"
3737373737)

the WCC and CCC, attribute character,
cursor and buffer addresses, remote control
unit address, remote device address, and
sense and status bytes; for more
informa t.ion* see III 111Q. !.nfona ti2B
RisPID ~ISI~!!l' ~2!lEQ!Utl!1 ~§£~io D..
·GA27-214 •

To define a wraparound polling list
for devices 1, 2, and 3 on control unit
7 and a general poll on control unit 8
using ASCII:
WPLIST

DFTRKLST

Alrl'OWLST, (474741414105,
4747424205,4747434305,
4848222205,0404040404)

To define a selection list for devices
1, 2, and 3 on control unit 7 using EBCDIC:
SLI5T

DFTRMLST

OPENLST,(E7E7C1C12D,

~7E7C2C2D,E7E7C3C32D)

The CHGNTRY macro instruction is used
to modify terminal lists for the remote
3270 display' system.
(if wraparound
polling is being done. the RESETPL macro
instruction is used first to terminate
polling. )
To suspend the poll on device
3 (frolll the .first example under "Defining
Terminal Lists"j:

!~mpl~:

SPOLL CHGNTRY

OPLIST,AUTOLST,3,5"SKIP

00
40

0000
SP

01 0000
50
&

60

00
CI

0001
A

01 0001
DI
J

00 0010
C2
B

01 0010
D2
K

00 0011
C
C3

10 0000

II
FO

0000
0

10 0001
61
/

II

0001
I

10 0010

II

E2

S

F2

01 0011
D3
l

10 0011
E3
T

II

00 0100
C4
D

01 0100
D4
M

10 0100
E4
U

00 0101
E
C5

01 0101
D5
N

10 0101
E5
V

00 OliO
C6
F

01 OlIO
D6
0

10
E6

OliO
W

CO 0111
C7
G

01

0111
P

10
E7

0111

11

X

F7

0111
7

00 1000
C8
H

01 1000
Q
D8

10
E8

1000
Y

II
F8

1000
8

00 1001
C9
I

01 1001
R
D9

10
E9

1001

II

Z

F9

1001
9

00 1010
4A
c

01 1010
5A
I

10
6A

1010

II

1010

01
5B

10
6B

lOll

D7

-

I
I

FI

F3
II

F4
II

F5
II

F6

0010
2
0011
3
0100
4
0101
5
OliO
6

7A

:

BUFFER KANAGEMENT
00
4B

See the general section "Buffer
Management." Programmer buffering or
dynamic buffering can be used for the
remote 3270 ~isplay system.

lOll

lOll
$

To allow remote 3270 messages to be
translated between EBCDIC and ASCII using
the BTAM RASA and SASA translation tables,
in the I/O interface code for six-bit
structured data in all 3270 messages,
the setting of the two high-order bits
is determined by the setting of the six
low-order bits in the byte (see Figure
3270-4).· Six-bit structured data includes

EBCDIC
Bits
234567-

•

II

lOll

7B

#

00 1100
4C

01 1100
5C
*

10 1100
%
6C

II

1100

<

7C

@

00 1101
(
4D

01 11 01
)
5D

10
6D

1101

11 1101
I
7D

01
5E

11 10

10
6E

II 10

01
5F

1111

10
6F

I II I
?

CODE TRANSLATION
See the general section "Code Translation."
and see Appe~dix E.

,

00
4E

II 10

00
4F

1111
I

+

;

--,

-

>

II

1110

7E

=

II

1111

7F

"

.~

L,Graphic

EBCDIC
Hex

Character

Note: The I/O interface code is obtained by.overlaying columns 4,5,6,
and 7 of standard EBCDIC code on columns C,D,E, and F.

Figure 3270-4.

I/O Interface Code for SixBit Structured Data

IBM. 3270 Display System-ProgramrningConsiderations

190.3

CD
CD

o
CD

ASCII
message
(in hexadecimal)
Message
characters
EBCDIC
translation
,
(in hexadecimal)
Message
content

H

DCI

70

C4

C8

II

STX

G

A

02

C7

CI

control device: AID:
ENTER
I
unit:
key
7

start
of
text

EBCDIC
message
(in hexadecimal)

SBA
order

cursor
address:

20

4A

0

Space

J

C4

40

01

2E

4B

0264

20

53

40

49

54

48

03

Space

S

M

I

T

H

ETX

40

E2

04

C9

E3

C8

03

message text:
J. SMITH

buffer
address:
0256

escape
command:
I

WCC

SBA
order

buffer
address:
0064

SF
attribute
order byte

02

27

FI

C3

Il

CI

40

, STX

ESC

I

C

DCI

A

Space

IB

31

43

Il

41

20

ASCII
translation
(in hexadecimal)

Figure 3270-6.

02

end
of
text

10

end
of
text

message text:
ENTER

60

C5

05

E3

C5

09

03

C~S} -

E

N

T

E

R

ETX

45

4E

54

45

52

03

10

20

Sample Output Message (showing translation from EBCDIC to ASCII)

Examplg§: Line 1 of Figure 3270-5
represents a message received frolll- a
display station using ASCII transmission
code.
(If the control unit and 'device
addresses are to be checked against the
entry in the polling list, this should
be done before translation, since the
terminal list entries are in transmission
code.) Line 2 of Figure 3270-5 indicates
the characters contained in the m~ssage.
Line 3 shows the message after the TRNStATE
macro ~ns~ruction has been used to
translate from ASCII to EBCDIC. Line
4 indicates the content of the message
for the problem program.
Line 1 of Figure 3270-6 indicates
the content of a message from the problem
program. tine 2 shows the message before
the TRNStATE macro instruction has been
used to traBslate from EBCDIC to ASCII.
Line 3 indicates the characters contained
in the mes$age. Line 4 represents the
message to be sent to a display station
using ASCII transmission code.
ACTIVATING AND nEACTIVATING raE
TELEPROCESSING SYSTEM
See the general section "Activating and
Deactivating the teleprocessing System."
190.4

44

Sample Input Message (showing translation from ASCII to EBCDIC)

Message
content

Message
characters

0

27

0

o
o

I

41

Figure 3270-5.

CD

48

47

start
of
text

II

44

02

OS BTAM SRL

LINE CONTROL AND MESSA GE TR AN SMISSION
See the general section "tine Control
and ftessage Transmission," see ~READ Macro
Instructions" and WRITE Macro Instructions"
under the heading "BSC Nonswitched
Multipoint 0 peration" in the section "Bse
Read and Write Operations," and see
AppendixesB and G.
Read Opera!i2!!§

t.2!: QR~n!.2.I IilID!!:
To poll a device or control unit and,
after some action by the display station
operator, to raad a message block, use
the READ TI .acro instruction. The polling
list entry either specified by or in the
polling list specified by the entry operand
determines whether a single device or
all devices on a control unit are polled.

~ead I1odif!~g li§!~

•

If the operator pressed the ENTER
key, pressed a PF key, or selected
a detectable field with the selector
pen, the READ TI macro instruction
causes a normal read. If the
device buffer vas for.atted, the
buffer specified by the inoutareaoperand contains an index byte
and a message block with the format:

STX

CU
address

device
address

AID

cursor
address

buffer
address

SBA

2

Text

buffer
address

SBA

J

2

2

If the device buffer was
unformatted, the buffer specified
by the inoutarea operand contains
an index byte and a message block
with the format:

00

~

Text

1

_:~_:_~_rs _ _~~ lo~;}I

EOJ--L.._S_BA_........

.......T_e_x_t

The message block following a bl~ck
ending with an ETI has the format:
I

Data from remote 3270 devices is
blocked with a nominal length of
25£ bytes (including data link
control characters). The actual
length of a block can be calculated
from the DECCOUNT field in the
DECB.
Since a response may contain more
than one block, use REiD TT wac~o
instructions to read blocks until
an EOT is received.
If a specific
poll was used and the device buffer
was formatted, subsequent message
blocks have the format:

~1--L._S_B_A_.L-_:~_:_fr:_~s_.&......_Te_x_t---'--:~ IC:~} I
If a specific poll was used and
the device buffer was unformatted,
subsequent message blocks have
the format:

STX

Text

~~ETB}

---_......_-...,
"

.

STX

CU

address

device
address

cursor
address

AID

SBA
.J

2
I
I

buffer
address

Text

SBA

buffer
address

Text

(

)
\

2

2

If a general poll was used and
the. device buffer was unformatted,
a message block following a block
ending wi~h an ETB has the format:

STX

Text

)~I ~i~}

I

1

The messpge block following a block
ending with an ETX has the format:
CU
oddress

STX

device
address

AID

cursor
address

Text

~

~

ETX

J

1

1

A general poll may result in
messages from more than one device
attached to the control unit polled.
The last block of a message ·from
one device ends with an ETX. If
a general poll was used and the
device buffer was formatted, a
message block following a block
ending with an ETB has the format:

Not~:A message block received
in response to a BEAD TT macro
instruction is not preceded by
an index byte.

•

If the operator pressed the CLEAR
key or pressed a PI key, the READ
TI macro instruction causes a short
read. The buffer specified by
the inoutarea operand contains:

IBM 3270 Display System-Programming Considerat.ions

190.5

index
byte

•

•

STX

CU

device
address

address

AID

ETX

If a card or cards were read by
means of the operator
indentification card reader, the
buffer specified by the inoutarea
operand contains:

If a test request message was
entered and EROPT=T was not
specified in the DCB, the buffer
specified by the inoutarea operand
contains:

Follow the WRITE macro instruction with
READ TT macro instructions.
In the first message block, if the
AID byte contains neither C·_· nor C'Y'
or if the first byte is an SOH, the buffer
speci,tied by the inoutarea opearnd contains
a message block with one of the formats
described under "Read Modified Fields
for Operatot Input." Otherwise, the
contents of the buffer are unpredictable;
the message is probably nonexistent or
incomplete.
Examples of WRITE and READ macro
instructions for reading modified fields
are:
WRITE

index

SOH

~yte

•

%

/

STX

Text

READ

ETX

If an error s~atus message was
read, the buffer specified by the
inoutarea operand cOBtains:

Beag l1odif!~g ti~ill f!:Q~2§iti2!!: To
select a device and read from the device,
use a WRITE TI macro instruction with
the entry operand specifying the selection
entry of the device and the inoutarea
operand specifying a buffer that contains
(ift EBCDIC or ASCII) :

I
To terminate a read operation, issue
a READ TRV .aero instruction after
receiving a message block e~ding with
an ETX. If a permanent 1/0 error occurs,
either issue a READ TP macro instruction
to reread the block or issue a WRITE TR
macro instruction to terminate the
operation.
Examples of READ macro instructions
for reading modified fields for operator
input are:
READ
READ

STX

1

1

1

BTAl-1 SRL

SBA

11:
>

buffer
address

ETX

2

Any data strea,mvalid for a write operation
may be used, but the WCC should inhibit
reset of modified data tags and the last
buffer address should indicate where the
read modified operation is to start.
Follow the WRITE TI macro instruction
with a WRITE TTV macro instruction with
the outarea operand specifying a buffer
that contains (in EBCDIC or ASCII):

STX

os

wee

1

Ese

DECB1,TI.DCB1,INBUF1,256,PNTRY1,2
DECB2,TT,DCB1,INBUF2,256,,2

.Read Kodifi~LFie!cls: To select a device
and, independe~tly of action by the display
station operator, to read from the device,
use a WRITE TIV macro instruction with
the entry operand specifying the selection
entry of t.e device and the outarea operand
specifying a buffer that contains (in
EBCDIC or ASCII);
190.6

DECB1,TIV,DCB1,(INBUF1,OUTBUF),
(256,ij),SYNTRY2,3
DECB2,TT,DCB1,INBUF1,256. r 3

6

ETX

Follow the WRITE TTV macro instruction
with READ TT .acro inst.ructions.

'/

Ell

Input message blocks are the same
as those described under "R-ead Kodified
Fields."

WRITE
WRITE

DECB1,TI,DCB1,OUTBF1,8,SNTRI2,1
DECB2,TTV,DCB1,(INBUF1,OUTBUF2),
(256,4) ,,1
DECB3,TT,DCB1,INBUF1,256,,1

READ

1

text

WRITE

ETX

2

I

~~ IU~~ I

Examples of WRITE and READ macro
instructions for reading a buffer are:

READ
STX

~

~

If the device buffer was unformatted,
subsequent message blocks have the format:

STX

Read Buffer: To select a device and read
from the device, use a WRITE TIV macro
instruction with the entry operand
specifying the selection entry of the
device and the out area operand specifying
a buffer that contains ~IN EBCDIC or
ASCII) :

text

attribute

I

I

Examples of WRITE and READ macro
instructions for reading modified fields
from position are:

SF

DECB1,TIV,DCB1, (INBUF1.0UTBUF),
(256,4),SYNTRY2,2
DECB2,TT,DCB1,INBUF1,256,,2

Read Buffer from Position: To select
a'deiice and-read-frOi~e device, use
a WRITE TI macr~ instruction with the
entry operand specifying the selection
Antrv of tbe

d~vi~A

~na

th~

inout~rAA

6p~~~nd-speci£yi~g-a -b~ff~~ th~t-~~~tains

Follow the WRITE TIV macro instruction
with READ TT Illacro instruct ions.

(in EBCDIC or ASCII):

If the device buffer was formatted,
the first message block in the buffer
specified by the inoutarea operand has
the format:

STX

SBA

ESC
I

buffer
address

ETX

2

I

/

CU
address

STX

device
address

AID

\

cursor
address

I

2
I

I

\

SF

attribute

text

(

Llliill

)

I

Follow the WRITE TI macro instruction
with a WRITE TTV macro instruction with
the outarea operand specifying a buffer
that centains (in EBCDIC or ASCII):

1

If the device buffer was unforma~ted,
the first message block in the buffer
specified by the inoutarea operand has
the format:

STX

CU
address

device
address

AID

cursor
address
2

text

Any data stream valid for a write operation
may be used, but the WCC should inhibit
reset -of modified data tags (if their
setting is wanted in the input message),
and the last buffer address should indicate
where the read buffer operation is to
start.

~
I

If the device buffer was formatted,
subsequent message blocks have the format:

ISTX

I

ESC

2

ETX

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

Follow the WRITE TTV macro instruction
with READ TT macro instructions.

IBH 3270 Display System-Programming Considerat.ions

190.7

Input aessage blocks are the same
as those described under "Read Buffer."

Examples of WRITE macro instructions
for writing a buffer are:

Examples of WRITE and READ macro
instructions for reading a bu..ffer from
position are:
WRITE
WRITE
REAt

DECB1,TI,DCB1,OUTBF1,8,SNTRI3,3
DECB2,TTV,DCB1, (INBUF1,OUTBF2) ,
(256,4) ,,3
DECB3,TT,DCB1,INBUF1,256,,3

write Buffer: To select a device and
write a message block or blocks, use one
of the folowing sequences of WRITE macro
instructions:

•

WRITE TIR

•

WRITE TI
WRITE TR

•

WRITE TI
WRITE TTR

•

WRITE TI
WRITE TT

WRITE

DECB1,TIR,DCB1,OUTBUF,128,SNTRll,2

WRITE
WRITE

DECB1,TI,DCB1,OUTBUF,128,SNTRY1,2
DECB2,TR,DCB1,.,,2

WRITE
WRITE

DECB1,TI,DCB1,OUTBF1,256,SNTRY2,3
DECB2,TTR,DCB1,OUTBF2,128,,3

WRITE
WRITE
WRITE

DECB1,TI,DCB1,OUTBF1,256,SNTRY3,2
DECB2,TT,DCB1,OUTBF2,256,,2
DECB3,TR,DCBl ,.",2

WRITE
WRITE
WRITE

DECB1,TI,DCB1,OUTBF1,256,SNTRY2,1
DECB2,T~,DCB1,OUTBF2,256,,1

DECB3,TTR,DCB1,OUTBF3,128,,1

Erase and Wri~~!!~: To select a
device, clear its buffer to nulls (binary
zeros), and write a message block or
blocks, use one of the sequences of WRITE
macro instructions listed under "Write
Baffer" with the entry operand of the
WRITE TIR or WRITE TI macro instruction
sepcifying the selection entry of the
device and the inoutarea operand of the
WRITE TIR, WRITE TI, WRITE TT, or WRITE
TTR macro instruction specifying a buffer
that contains (in EBCDIC or ASCII):

. WRITE TR
•

WRITE TTR
with the entry operand of the WRITE TIR
or WRITE TI macro instruction specifying
the selection entry of the device and
the inoutar~a operand of the WRITE TIR,
WRITE TI, WRITE TT, or WRITE TTR macro
instruction specifying a buffer that
contains (in EBCDIC or ASCII):

orders and text

For information about the WCC and the
orders and text that may follow it, see
IB~ 3270 IDtorm~tion Displal ~ystem,
COIR'QU~i Descript!gll, GA27-2749.
An
SBA order seq~ence should follow
immediately after the WCC, so that the
write operation can be r~tried if an error
occurs.

190.8

OS BTAM SRL

orders and text

STX

WRITE TI
WRITE TT

Examples of WRITE macro instructions
for erasing and writing a buffer are the
same as those given under "Write Buffer."
~£2§.!LUnprQig£1~_Fie!ft2:

To select a
device and set all unprotected fields
in its buffer to nulls (binary zeros),
use the WRITE TIR macro instruction or
the WRITE TI and WRITE TR macro
instructions with the instructions with
the entry operand of the WRITE TIR or
WRITE TI macro instruction specifying
the seiection entry of the device and
the inoutarea operand specifying a buffer
that contains (in EBCDIC or ASCIIJ:

STX

ESC

?

ETX

For more informa~ion about the results
of this operation, see I~ 127Q InfQ£!~~iQll
~12e.l ay .§Y§.i,g!!l, ~JLQ2!!Sll!! rasc .tl~!5;m,
GA27-2749 ..

Examples of WRITE macro instructions
for erasing all unprotected fields are:
WRITE

DECB1,TIR,DCB1,OUTBUF,4,SNTRI1,2

WRITE
WRITE

DECB1,TI,DCB1,OUTBUF,4,SNTRI1,2
DECB2,TR,DtB1",,2

To select a d,evice and copy into
its buffer the contents of the buffer
of anoxher device on the same control
unit, use the WRITE TIR macro instruction
or the WRITE TI and WRITE TR macro
instructions with the entry operand of
the WRITE TIR or WRITE TI macro instruction
specifying the selection entry of the
device and the inoutarea operand specifying
a buffer that contains (in EBCDIC or
ASCII) :

An error s~atus message should be read
from the remote 3270 device if:
•

A WRITE TI, WRITE TIR, or WRITE
TIV macro instruction receives
an RVI sequence in response to
selection (completion code is
X'7F'; bits 1 and 6 are on in the
DECFLAGS field of the DECB)

•

A WRITE TI, WRITE TIB, or WRITE
TIV macro instruction receives
an EOT in response to text
(completion code is X'41'; bit
1 is on in the DECFLAGS field;
and EOT is in byte 1 of the DECRSPN
field of the DECB)

•

A WRITE TIV or READ TI macro
instruction receives a text block
ending with an ENQ (completion
code is X'41'; bit 1 is on in the
DECFLAGS field)

COfY~

STX

ESC

7

CCC

device
address

ETX

For more information about the CCC and
the device address that follows it, see
ill! ~~ 70 I!!tQ~!i~ Di spgI §.ystem,

£~2Qll~1 Q~~ipt~Q!!,

GA27-27~9.

Examples of WRITE macro instructions
for copying into a buffer are:
WRITE

DECB1,TIR,DCB1,OUTBUF,6,SNTRY1,2

WRITEDECB1,TI,DCB1,OUTBUF,6,SNTRY1,2
WRITE DECB2,TR,DCB1",,2
EROGRA~§_!OT~~

If the response to a READ TI, READ TT,
WRITE TIV, or WRITE TTV macro instruction
is a message block ending with an ETB,
follow with a READ TT macro instruction,
not a WRITE TT or WRITE TTV macro
instruction.
If a WRITE TI macro instruction is
used to erase unprotected fields, follow
with a WRITE TR macro instruction, nQ!
a WRITE TT, WRITE TIV, or WRITE TTV macro
instruction.

To receive the error status message, the
problem program sho~ld issue a READ TI
macro instruction using the polling entry
of the device for which completion was
posted. See Appendix C for a description
of the error status message and suggested
actions based on its contents.
~~~liong!_~Q~giiiQ~§

If the completioti code is X'lF' and bits
1 and 6 are on in the DECFLAGS field of
the DECB, and error status message was
received in response to a READ TI macro
instruction (or in response to a READ
TT maCEO instruction is a general poll
was used).
If the completion code is X'7F' and
bits 0 and 1 are on in the DECFLAGS fields
of the DECB, a WACK was received in
response to a WRITE TI or WRITE TT macro
instruction. If the write operation
started a printer, this is a normal
completion. A WRITE TR mac~o instruction
must follow to reset the line.

If a WRITE TI or WRITE TT macro
instruction is used to start a printer,
follow with a WRITE TR macro instruction,
nQ! a WRITE TT, WRITE TIV, or WRITE TTV
macro instruction.

RETR I OPTIONS

ERROR RECOVERY PROCEDURES AND ERROR
RECORDING

ON-LINE TESTING

See the general section "Error Recovery
Procedures and Error Recording," and see
Appendixes Band C.

See "On-Line Testing for Binary Synchronous
Communications Lines" in the general
section "On-Line Testing."

See the BSC3 retry options in the general
section "Sug~ested Retry options for BS:
Read and write Operations."

IBH 3270 Display System-Programming Considerations

190.cJ

To receive standard IBM maintenance
for a remote 3270 display system, the
on-line testing facility must be available.

!ll. 1170 IJlt o rmtli2!l Display
~2!pon~1 ~~§Qrip1ion,

~~tem,

GA27-2749.

The following system generation
macro instructions are used to identify
the local 3210 display systems shown in
Figure 3270-7:
EX~~~:

The functions provided by BTAK for remote
stations have been extended to support
local 3270 display stations and printers
as local devices using EBCDIC code.
DEFINING THE LOCAL 3270 DISPLAI SISTEM

The control unit and devices in a local
3270 display system are identified as
local during system generation. For the
local 3270 display system, the UNIT
para meter of the IOCONTRL system generation
macro instruction should specify 3272,
and the MODEL parameter should specify
1 or 2. the IODEVICE system generation
macro instruction operands that apply
to the local 3270 display system are:
UNIT, ADDRESS, MODEL, and FEATURE. For
more information amout the IOCONTROL and
IODEVICE system generation macro
instructions, see Appendix D. For more
information about models and features
of the local 3270 display system, see

6

IOCONTRL
IOCONTRL

UNIT=3272,ADDRESS=22, •
UNIT=3272,ADDRESS=23, •

IODEVICE
lODE VICE
!ODf:VICE
IODEileE
IODEVle!
IQDEVICE
IOl)EVlCE

UNIT~3217,ADDRESS=22', •
UNIT=3286,ADDRESS=222,
UNIT.::3277,ADDRESS=225, •
UNIT=3284,ADDRESS=227, •
UNIT=32J7«ADDRESS=22E,
UNIT=3271,ADDBESS=231,
UNIT=3286,ADDRESS=233, • • •

Gr2Y.2!~2.£~210

Devi£!!§

Local 3210 devices are grouped together
in the same way as remote terminals.
Each local 3270 device is equiva1ent to
a communication line. Each group of local
3270 devices is equivalent to a line
group.
Local 3270 devices may be grouped
during system generation by means of the
UNITNAME macro instruction. Or line
groups may be specified during program
execution by means of the UNIT parameter
of the DD statement.
221

3277
Model 1

222
225
Control
Unit
Position

.
I

Control Unit

227

3272
Model 2

22E

II
5/360
Channel

I

3286
Model 1

J

3277
Model 2
3284
Model 2
3277
Model 1

J

22

I

I
lI
I

Figure 3270-7.

23
3272
Model 1

231

3277
Model 1

233

3286
Model 1

Sample Local 3270 Display Systems Showing Device Addresses

RLNI-----,

RLN2-----t
Line
RLN'3-----t- Group I

Control
Unit

ExamEl~:
To define (during system
generation) the line groups and relative
line numbers shown in Figure 3270-8 for
the local 3270 display systems shown in
Fig\lte 3270-1, see "Example 1" under
"Defining communications Line Groups"
in the general section "Defining the
Teleprocessing System."
(Address 221
would be coded in place of 021, 222 in
place of 022, etc.)

RLN I-Line Group
-------~

2
RLN4----"""

R L N l i Un.
Control
Unit

---.J

r-------,

I-----t

Figure 3270-8.

Gcoup 3

RLN 2

Line Groups and Relative
Line Numbers for Example 1.

\ ,r----------I

n

Exampl~~:
To define (during program
exectlt...ion) the line groups and relative
line numbers shown in Figure 3210-9, see
"Example 2" under "Defining Commuriications
Line Groups" in the general section
"nefining the Teleprocessing System."
(Address 221 W9uld be coded in place of
021, 227, in place of 021, etc.)

221

3277

I

RLN

11

For a description of the DCB macro
instruction, see .. Defining Communication s
Line Groups" in the general section
"Defining the Teleprocessing System."
The DeB macro instruction operands that
apply to the local 3210 display system
are~

DSORG:

~ACBF:

DDNAME: BUFNO: BUFL:

BUFCB, EXLST, and EROPT.
Control
Unit

225

Line
Group 1

227
RLN3

The local 3270 device can be identified
in a READ or WRITE macro instruction by
means of the DCB and the relative line
number; no termirial list is needed.
Therefore, the DFTRMLST macro instruction
is not used for the local 3270 display
system.

22E
RLN2

BUFFER KANIGEKENT
See the general section "Buffer
Management." Dynamic buffering cannot
be used for the local 3270 display system.
The REQBUF and RELBUF macro instructions
can be used for manipulating buffer pools.

231
Control
Unit

CODE TRANSLATION
Figure 3270-9.

Line Group and Relative
Line Numbers for Example 2.
Local 3270 devices making up a line
group are associated with one DCB. The
DDNAME in the DCa must be the same as
the name of the DD statement for the line
group. A line group can contain up to
255 devices.
A line group need not include
all the devices on a control unit; it
can include devices from several control
units. Each local 3210 device is
identified by its relative line number
iRLN). The relative line numbers are
determined by the order in which devices
are grouped during system generation or
program execution.

Since only EBCPIC code is used, code
translation does not apply to the local
3270 display system.
In the I/O interface code for sixbit structured data in all 3210 messages,
the setting of the two high-order bits
is determined by the setting of the six
low-order bits in the byte (see Figure
3270-4). Six-bit structured data includes
the wee, attribute character, and cursor
and buffer addresses; for more information,
see IB~ ]212 !nf2I~!i2n Dis~ ~!§~~~,
Comp~ent Dg§£riE~~,

GA21-2749.

IBM 3270 Display System-Programming Considerations

190.11

ACTIVATING

~ND

DEACTIVATING THE LOCAL

3270 DISPLA¥ SYSTEM

See the general section "Activating and
Deactivating the Teleprocessing System."
The OPEN and CLOSE macro instructions
are used to activate and deactivate liD~
groups of local 3210 devices. The LOPE~
macro instruction is used to activate
a specific local 3270 device when the
OPEN macro instruction has been
unsuccessful.

If no attention interruption has
occurred for the display stations
associated with the DCB (when a READ TI
macro instrl.lction is issued), a read
request (that is, a pending read initial
operation) is recorded for the line groap.
When an atte~tion interruption comes from
one of the display stations, the pending
read initial operation is started for
that display station, and the read request
is cleared for the line group_
CHGNTRY MacI2-lB2truction

ATTENTION INTERRtJPTI'ONS AN'» READ INITIAL
OPERATIONS
When the operator of a local 3270 display
station carries out certain actions, such
as pressing the ENTER or CLEAR key,
pressing a PF of PA key, or selecting
a detectable field with the selector pen,
an I/O interruption, called an attention
interruptio~, occurs.
If a DCB has be~n
opened for a line group that includes
the display station, the attention
interruption is recorded for the dispray
station. If a DCB has not been opened,
the attention: interruption is ignored.
The READ TI macro instruction for
the local 3270 display system includes
the de operand, which specifies a DCB,
and the rln operand, which specifies a
local 3270 display station in the line
group associated with the DCB. When a
READ TI macro instruction is issued, it
ca uses a check (beginn ing with the display,
station specified by the rln operand)
of whether an attention interruption has
been recorded for any of the local 3270
display stations in the specified line
group.
If an attention interruption has
occurred, a read initial operation is
started to read a message from the display
station from which the attention
interruption came. When the message has
been received, the READ macro instruction
is posted complete, and the re-lative line
number of the display staion is placed
into the DECPOLPT field of the DECB.
Only one attention interruption is serviced
for each READ TI macro instruction, and
only one message is read. After a READ
TI macro instruction has been issued,
the problem program cannot issue another
READ or WRITJ .acro instruction specifying
the same DCB until either the read initial
operation has been posted co.plete or
the read request has been canceled by
means of the RESETPL macro insd:ruction.
Attention interruptions that occur between
read initial operations are recorded for
the display stations and serviced by later
READ TI macro instructions.
190.12

OS BTAM SRL

A special form of the CHGNTRI macro
instruction is used in handling attention
interruptions from the local 3270 display
station. A CHNGTRY macro instruction
with the SKIP operand is used to have
a display station skipped, so that a read
initia1 operation is not ~tarted (that
is, an EXCP macro instruction is not
issued) for that display station when
a READ TI macro instruction is issued,
even though an attention interruption
has occurred.
(If, when a READ TI macro
instruction is issued, all display stations
in the line group are to be skipped, a
pending read initial operation is recorded
for the line group.) A CHGNTRY macro
~nstrl1ction with the ACTIVATE o'perand
is used to have a display station
activated. SQ that a read initial operation
is started when a READ TI macro instruction
is issued, and an attention interruption
has occurred. If, when the display station
is activated, a pending read initial
operation has been recorded for the line
qr'oup and an attention interruption has
been recorded for that display station,
the pending read initial operation is
started (that is, and EXCP macro
instruction is issued) •

.Note: This form of the CHGN'rRY macro
instruction affects only read initial
operations; it does not affect other local
327~ read or write operations.
Name

Operation

Operand

[symbol]

CHGNTRY

dcbaddr, ATTLST, listposition" (SKIP
}
ACTIVATE

dcbaddr

the address of the DCB
associated with the line group that
iL~ludes the local 3210 display station
to be slkpped or activated.
specifie~

lTTLS'l
s'pecifies that the relative line
numbers of the local 3210 display
stations in the line group associated
with the DCB are to be treated as
an attention list.

listpositioI\
specifies the relative line number
of the local 3270 display station
to be skipped or activated.
SKIP
specifies that the local 3270 display
station is to be skipp~d; that is,
an attention interruption that has
been recorded for the display station
is to be ignored if a READ TI macro
instruction is issued.
ACTIVATE
specifies that the local 3270 display
station is to be activated; that is,
a read initial operation is to be
sta~ted if an attention interruption
has been recorded for the display
station when a READ TI macro
instruction is issued.
Return cod~s for this for.m of the
CHGNTRY macro instruction are the same
as those fo-r the regular form (see "CHNGTRY
Macro Instruction" in the general section
"Defining the Teleprocessing System").

A special fQrm of the RESETPL macro
instruction is used for the local 3270
·display system to cancel a read initial
operation that is pending (because' a READ
TI macro ins traction was issued wheR an
att·ention interruption has not occurred).
Name

Operation

Operand

[symbol]

RESETP L

decbaddr [, ATTENTJ

decb-addr
specifies the address of the DECB
for the pending read initial operation
that is to be canceled.

Prog,gninLliQte§: The RESETPL macro
instruction does not halt re~d initial
operations that have been started; it
does prevent the outstanding READ TI macro
instruction from having any subsequent
attention interruptions serviced. If
a read initial operation is pending (that
is, it has not been started), the lOBs
are marked free, and a completion code
of X'48' is posted 1'n the ECB. If· a read
initial operation has been started, the
lOBs are not marked £ree, and a completion
code is not posted in the ECB by the
RESETPL macro instruction.
Follow the READ TI macro instruction
with a WAIT macro instruction with the
ECBLIST operand (or a TWAIT macro
instruction) that specifies multi~le ECBs,
the ECB in the DECB' spec~fied by the READ
TI macro instruction and another ECB.
To allow the RESETPL macro instruction
to be issued to cancel the read initial
operation, post the other ECB. Provided
that the RESETPL macro instruction gave
a return code of X'OO' or X'04', follow
the RESETPL macro instruction with a WAIT
macro instruction that specifies the ECB
in the DEeB soecified bv the READ TI
macro i~;i~uciion. A c~mpletion code
of X'7F' indicates that a read initial
operation had been started and that it
comple ted sucessfull y. Other READ and
WRITE macro instructions can then be
issued.
Rei~~~g2:

When this form of the
BESETPL macro instruction is used, the
return codes have the following meanings:

00

04

08
ATTENT
specifies that only the instructiQns
required to cancel a pending read
initial operation for a local 3270
display system are to be generated
by this macro instruction.
If no second operand is specified,
instrttctions are generated to determine
the line type, and the proper
instructions for that line type are
executed.

OC
1~

This code is set when the pending
read initial operation for the
specified DECB was canceled
successfully.
This code is set when a read initial
operation for the specified DECB was
started ana will complete normally
{see "Programming 'Notes" above).
This code is set for an illegal request
(that is, BTAM found that the specified
DECB~is not asso~iated with a READ
TI mac~e instruction fo~ a local 3270
display system).
This code is set for an unsuccessful
request (that is. BTAM found an invalid
control block).
This code is set when there was no
read initial operation ~either pending
or s~arted) for the specified DECB.

READ AND WRITE OPERATIONS
Note: If POLLING or ANSRING is
specified as the second operand,
instrnctions for the local 3270 display
system are not generated~

See "Read and Write Macro Instructions"
and TAble 6A in the general section "Line
Centrol and Message Transmission," see

IBM 3270 Display System-Programming Considerations

190.13

"REID Macro IRstructions" and "WRITE Macro
Instructions" under the heading "Local
IBM 3210 Display System" in the section
"Local Read and Write Operations," and
see Appendixes Band G.

Read MMifi~g_Fi~!~f.QLQjH~n12LI1U~!!!:
To read a message from a display station
after an attention interruption has come
from it as the result of some action by
the-display $tation operator, use the
READ TI macro instruction. The rln operand
specifies which display station in the
line group should be checked first for
an attention i~terruption.
•

If the operator pressed the ENTER
key, pressed a PFkey, or selected
a detectable field with the selector
pen, the READ TI macro instruction
causes a normal read. If the
device buffer was formatted, the
buffer specified by the inoutarea
operand contains a message with
the forma t:

•

If a card or cards were read by
means of the operator identification
card reader, the buffer specified
by the inoutarea operand contains:

•

characters

AID

cursor
address

text

ca

2

The length .of the message cah be
calculated from the DECCOUNT field
in the DECB, which contains the
residual count. If the residual
count is zero, the READ TMP macro
instruction may be used to continue
reading data.

•

190.14

If the operator pressed the CLEAR
key or pressed a PA key or if a
card was extracted from the badge
reader, the READ TI macro
instruction causes a short read.
The buffer specified by the
inoutarea operand contains:

OS BTAM SRL

LRC

If a ~~st request message was
entered and EROPT=T vas not
specified in the DCB, the buffer
specified by the inoutarea operand
contains:

SOH

If the device buffer was
unformatted, the buffer specified
by the inoutarea operand contains
a message with the format:

GEOR}
EOI

0-37

AID

%

/

STX

text

The relative line number of t.he display
station from which the message vas read
is placed into the DECPOLPT field of the
DECB.
To cancel the read initial operation
requested by a READ TI macro instruction
(if the operation is pending), issue the
RESETPL macro instruction specifying the
DECB from the READ TI macro instruction.
Do not issue a READ TI macro
ins.truction specifying a DeB assocla ted
with a line group that contains only
printers, since the local 3270 printer
cannot generate attention interruptions.
An example of a READ macro instruction
for readiB9 modified fields for operator
input is:
READ

DECB1,TI,DCB1,INBUF1,256,,2

Read "~difi~d Fields: To read a message
from a device independently of action
by the display station operator, use the
READ TM macro instruction.
If the AID byte in the message contains
neither c'_t nor C'Y' or if the first
byte is an SOH, the buffer specified by

the inoutarea operand contains a message
with one of the formats described under
"Bead "odified Fields for 0 perator Input."
Otherwise, the contents of the buffer
are unpredictable; the message is probably
nonexistent or incomplete.
The length of the message can be
calculated from the DECCOUNT field in
the DECB, which contains the residual
count. If the residual count ls zero,
the READ TKP macro instruction may be
used to continue reading data. The
relative line number of the device from
which the message was read is placed into
the DECPOLPT field of the DECB.
An example of a READ macro instruction
for reading modified fields is:
READ

DECB1,TK,DCB1,INBUF1,256,,3

!n.~ifi~LFields-!!:Q.1LPositiQ!l:

To
read a message from a device, use the
READ TftP macro instruction with the entry
operand specifying an area that contains:

wee

SBA

If the device buffer was unformatted,
the buffer specified by the inoutarea
operand contains a message with the format:

AID

cursor
address

The length of the message can be
calculated from the DECCOUNT field in
the DECB, which contains the residual
count. If the residual count is zero,
the READ TBP macro insxruction may be
used to continue reading data. The
relative line number the device from which
the message was read is placed into the
DECPOLPT field of the DECB.
An example of a READ macro instruction
for reading a buffer is:
READ

DECB1,TB,DCB1,INBUF1,256,,2

Read Buffer from· position: To read a
message from a device~ use the READ TBP
macro instruction with the entry operand
specifying an area that contains:

buffer
address

wec'
The WCC should inhibit reset of mOdified
data tags, and the buffer address should
indicate where the read modified operation
is to start. Data transfer begins with
the first modified field at or following
the buffer address specified.
Input messages are the same as those
described under "Read Kodified Fields."
An example of a READ macro instruction
for reading modified fields from position
is:
DECB1,TMP,DCB1,INBUF1,256,ENTRY1,1

To read a message from a
device, use the READ TB macro ins~ruction.
If the dEvice buffer was formatted, the
buffer specified by the inoutarea operand
contains a message with the format:

~_auffe~:

AID

cursor
address

SF

)~

2

2

READ

text

attribute

text

~

SBA

buffer
address

The wec should inhibit reset of modified
data tags (if their setting is wanted
in the input message), and the buffer
address should indicate where the read
buffer operation is to start.
Input messages are the same as those
described under "Read Buffer."
An example of a READ macro instruction
for reading a buffer from position is:
READ

DECB1,TBP,DCB1,INBUF1,256,ENTRY2,3

WriteOpera!~Qn§

wriie Buff~~~ To write a message to a
device, use the WRITE TI macro instruction
with the inoutarea operand specifying
a buffer that contains:

wec

orders and tex t

~2 ~--"-

IBM 3270 Display System-Programming Considerations

190.15

For information about the WCC and the
orders and text that may follow it, see
IBM 3270 lnIQ~!iQD Qi2Rlal ~Y§tem,
~ompon~nt Q~~£ri~tion, GA27-2749:--An
SBA order sequence should follow
immediately after the WCC, so that the
write operation can be retried if an error
occurs.
An example of a WRITE macro instruction
for writing a buffer is:
WRITE

DECB1,TI,DCB1,OU~BUF,256,,2

ON-LINE TESTING
See "On-Line Testing for Local 3270 Display
System" in the general section "On-Line
Testing. "
To receive standard IBM maintenance
for a local 3210 display system, the online testing facility must be available.
SYSTEM GENERA1IQ!

Erase-and-Write Buffer: To clear its
buffer to nulls (binary zeros) and write
a message to a device, use the WRITE TS
macro instruction with the inoutarea
specifying a buffer that has the same
contents as described under "Write Buffer."

See Appendix D for information about the
operands that must be iricluded in the
IOCONTRL and IODEVICE system generation
macro instructions when generating an
opetating system that includes BTAM support
for the remote 3270 display sy~tem or
the local 3270 display system or both.

An example of a WRITE macro instruction
for erasing and writing a buffer is:

For information about other operands
and other system generation macro
instructions and about the system
genera~ion process, see ~ [I2!~L12Q
Operatl.n..9 ~y§~.!!!: ll~m ~neration,
GC28-6554.
---

WRITE

DECB1,TS,DCB1,OUTBUF,256,,2

Erase Un~otected Fields: To set all
unprotected fields in the buffer of a
device to nulls (binary zeros), use the
WRITE TUS macro instruction with the
inoutarea operand specifying any real
address and the inoutlength operand
specified as one.
For more information about the results
of this operation, see IBM 3210 Information
Qisplay ..§.I§~~Y!, £QJ!.Eonen! De§£riptIQ!!,----GA27-2749.
An example of a WRITE macro instruction
for erasing all unprotected fields is:
WRITE

DECB1,TUS,DCB1,OUTBUF,1,,2

ERROR EECOVERY PROCEDURES AND ERROR
RECORDI:NG
See the general section "Error Recovery
Procedures and Error Recording," and see
Appendix B.

RETRY OPTIONS

See the local 3210 retry options in the
general section "Suggested Retry Options
for Local Read and write Operations."

190.16

OS BTAM SRL

FIXED MAIN STORAGE REQUIREMENTS
BTAM support for the local 3270 display
syst~m adds to the fixed main storage
requl.rements for control program options
described in IBM ~yst~mL360 ~~ing
~Y§~~~
~1Q~~~stimg~, GC28-6551;
the nucleus of an MFT or MVT system is
increased by 850 bytes for a new SVC and
a new attention routine.
DYNAMIC MAIN STORAGE REQUIREMENTS
The dynamic main storage requirement is
estimated by adding together a coding
space estimate, a control information
space estimate, a control block space
estimate by line group, a control block
space estimate by line, a control block
space estimate by READ or WRITE macro
instruction, and a channel program space
estimate by line. Estimates for the 3270
display system are given in Figures 321010, 3270-11, 3270-12, 3270-13, 3270-14,
and 3270-15.
For more information, see OS
GC28-6551.

Estima~~,

~~g~

Description

Local 3270
(in bytes)

Remote 3270
(in bytes)

Primary requirement:

Group Type

Control Blocks

Bytes Required

Remote 3270 line group

DCB, DEB

188 to 204 + 4 per line,

Local 3270 device group

DCB, IRB, IQE, DEB

260 + 4 per line

Figure 3270-12.

• without buffer management

8,500

4,000

• with buffer pool support

8,950

4,450

• with dynamic buffering

10,164

NAl

Control Block Space for
Each Line Group or Device
Group (3270 Display System)

Line or Device Type

Control Block

BSC Line for
remote 3270 devices

lOB

64

UCB

20

Line error block

20

lOB

64

UCB

40

Optional requirement:
660

2,690

• online test
• line error print (LERPRT)

374

• line open (LOPEN)

530

• translate (TRNSLA TE)

158

• change entry (CHGNTRy)2

352

NAl
530
NAl

Figure 3270-13.

600 or 2004

1 NA indicates not bpplicable.
2 The estimate is for each macro instruction expansion.

Macro Instruction

Control Block

READ or WRITE for
remote 3270

DECB

48

DECB

40

I READ
o~ WRITE for
local 3270

3 The lower estimate applies when POLLING is specified.
4 The lower estimate applies when ATTENT is specified.

Figure 3270-10.

Control Block Space for
each Line or Device (3270
Display System)

72

600 or 2563

• reset (RESETPL)2

Local 3270 device

Bytes Required

Bytes Required

Control Block Space for
Each READ or WRITE macro
Instruction (3270 Display
System)

Figure 3270-14.

Coding Space Estimates
(3270 Display System)
Bytes Required

Device Type

Bytes Required

Line or Device Type
Remote 3270 device

328

Local 3270 device

120

Figure 3270-11.

Library

Control Information Space
Estimates for Each Device
Type (3270 Display System)

Number of
Directory Records

BSC Line for Remote 3270 Devices

88

Local 3270 device

24

Figure j270-15.

Channel Program Space
Estimates for Each Line or
Device (3270 Display System)

Number of Tracks Required
2301

2302

2303

2311

2314

2321

2305-1

2305-2

3330

SYS1. SVCLlB

18

7

NA

24

33

16

NA

14

10

10

SYS 1. MACLIB
(blocked)

2

13

65

66

70

37

120

20

18

22

SYS 1. MACLIB
{unblocked}

2

29

79

103

109

69

229

88

49

44

SYS1. TELCMLlB

1

2

2

2

3

2

4

2

2

2

Figure 3270-16.

Auxiliary Storage Requirements for BTAM

IBM 3270 Display System-Programming Considerations

190.17

AUXILIARY STORAGE REQUIREMENTS

STORAGE ESTIMATES FOR BTAM MODULES

BTAM support for the 3270 display system
increases the auxiliary storage
requirements described in ~~age
Estimates, GC28-6551, by adding to the
SVC library, the macro library, and the
subroutine libraries. Auxiliary storage
requirements for BTAM with 3270 display
support are given in Figure 3270-16.

Listed below are storage estimates for
modified and new modules for BTAM support
of the 3270 display system. See sto~~~
Estimates, GC28-6551, for information
about ot~er BTAM modules.

Modified BTAM

~du!g§

~i~_ji.n_!!I!2§1.

Mo~.!!!~

BTAM Open Executor
BTAM Close Executor
Read/write Channel Program Generator
Channel End/Abnormal End Appendage
Line Open
Online Test Control
Online Test Control (Start-stop)
Online Test C~ntrol (BSC)
BTAM BSC EBP Control

IGG0193M
IGG0203M
IGG019MA
IGG019l'IB
IECTLOPN
IGG019l'IR
IGC006F
IGCOD06F
IGE0004C

1024
1024
3158
5516
564
2560
1024
1024
1024

New BTA" Mogules
~ll~_1inJ.I~1.

11~!!1!!

BTAM Open Executor (for Local 3270)
BTAM Open Executor (for Local 3270)
Channe~ End/Abnormal End Appendage
(for Local 3270)
BTAM Local 3270 SVC
First-Level Attention Routine (for
Local 3270)
Second- Level Attention Routine (for
Local 3270)
Local Online Test Control
EBCDIC Test Module (for 3270)
EBCDIC Test Module (for 3270)
ASCII Test Module (for Remote 3270)
ASCII Test Module (for Remote 3270)
Online Test Control (for Local 3270)
EBCDIC Test Module (for 3270)
EBCDIC Test Module (for 3270)
Error Post (for Remote 3270)
Local 3270 I/O Module
3270 Scan Routine

IGG0194P
IGG0194Q

1024
1024

IGG019PA
IECTSVC

455
539

IECT1TEN

303

IGG019PG
IGG019PI
IGCOE06F
IGCOF06F
IGC1006F
IGC1106F
IGC1206F
IGC1306F
IGC1406F
IGE0704B
IGG019PH
IECTSC1N

160
480
1024
1024
1024
1024
1024
1024
1024
1024
143
4096

ONLINE TESTI!§
Test programs for the 3270 display system
can be run under the System/360 Operating
System using the Online Test Executive
Program (OLTEP). For local 3270 control
units and devices, an online test program
and a BTAM application program can be
executed concurrently; only the control
unit or device being tested is unavailable
to the application program. For remote
3270 control units and devices, a BTAM
application program must end use of the
line before an online test program can
be executed.
190.18

as BTAM SRL

For more informa tion about OLTEP,
see IB11 ~§:t2!!LJ.2Q Q,l!erating ~Iste.m.:.
Online Tes! EX~~!~~ ProqEg~, GC28-6650.

For information about converting from
2260 display stations to the 3270 display
system, see IBM 1260 »IAM An~ 11~ 2!!
to IBM Jl1Q ~TAft £Qnve~io!l G!!id!, GC276975.
/

ERROR RECOVERY PROCEDURES AND ERROR RECORDING

BTAM provides facilities called error recovery procedures (ERP) that diagnose a
variety of error conditions that occur during message transmission, and attempt to
recover from those conditions that are considered recoverable so that transmission
can continue.
In addition to the diagnostic and recovery capabilities, error recovery procedures:
• Provide to the user program information
about errors from which ERP could not
recover, so that the program can act
accordingly.
• Accumulate in special data sets, called
the statistical Data Recorder (SDR) and
the Outboard Recorder (OBR), counts of
certain kinds of errors; these are useful to the Customer Engineer in analyzing line and equipment troubles.
• Notify the operator at the central computer console (or some other console,
if the system has the Multiple Console
support facility) of certain kinds of
errors.
In addition to these ERP-provided functions, BTAM provides the capability of
accumulating in a set of counters, collectively called a line error recording block
(LERB), running totals of certain kinds of
error conditions, and printing these totals
at the central computer console (or some
other console, if the system has the Multiple Console Support facility). These
capabilities are provided by the LERB and
LERPRT macro instructions.
Error recovery procedures handle errors
arising from conditions at remote stations,
on communications lines, and at transmission control units. The action with which
ERP responds to an error condition depends
on the kind of error, the type of I/O command (Poll, Read, Write, etc.) being
executed when the error occurred, and the
type of remote station involved. ERP analyzes the error condition, considering each
of these factors, and performs the appropriate action. Error conditions are considered to be in one of three categories:
irrecoverable, temporary, and permanent.
An irrecoverable error is one that is
inherently incapable of being corrected by
program action; that is, some form of human

intervention is required1.. ERP does not
attempt to recover such errors. When an
irrecoverable error occurs, ERP sets indicators denoting the nature of the error in
the data event control block (DECB) for the
line involved in the I/O operation, notifies the operator at the central computer
console by message IEAOOOI (see Appendix C
for the format of this message), and records the occurence of the error in the
Outboard Recorder (OBR), unless the error
is a timeout, data check, or intervention
required error.
These three kinds of
errors can optionally be recorded in the
line error recording block.
If an error is not inherently irrecoverable, ERP attempts to recover from it, usually by reissuing the I/O command for which
the error occurred or issuing other appropriate I/O commands to clear the condition.
If ERP succeeds in clearing the condition,
the error is said to be temporary.. BTAM
records its occurrence in the Statistical
Data Recorder (SDR), and the user program
continues normally.
If ERP is unsuccessful
in clearing the condition., the error is
said to be permanent. BTAM records its
occurrence in the Outboard Recorder (OBR),
sets bits indicating the nature of the
error in the DECB for the line involved in
the I/O operation, and notifies the operator at the central computer console, by
means of message IEAOOOI.
BTAM error recovery procedures attempt
to clear error conditions up to two times.
for operations on start-stop lines., and up
to six times on BSC lines. Thus, permanent
error conditions are indicated in the DECB
after the I/O operation has been attempted
three times (start-stop) or seven times
(BSC). Irrecoverable errors are indicated
in the DECB after only one attempt, since
such errors are not retried.
Once an error condition has occurred and
the ERP facility is trying to recover from
it, any subsequent errors that may occur
during the retries are not indicated in the
DECB to avoid obscuring the original error
1.An exception to this is the bufferunavailable condition, which may occur
when dynamic buffering is in use and the
buffer pool becomes depleted. This condition (indicated by bit 4 in DECFLAGS),
though not recoverable by ERP, can be
anticipated by the user program, which can
request retransmission of the lost
message.

Error Recovery Procedures and Error Recording

191

condition. Neither are subsequent errors
recorded in the SDR, OBR, or LERB, nOr are
they indicated to the console operator.
This ensures that only errors occurring
during I/O operations issued by the user
program are recorded.
Error recovery procedures are divided
into basic functions and additional
functions.

BASIC FUJ.iCTIONS

• When an error occurs during an I/O
operation that does not involve transmission of message text (these are
called non-text errors), ERP retries
the operation.
• ERP records each occurrence of a temporary error in the Statistical Data
Recorder, and each occurrence of a permanent or irrecoverable error in the
outboard Recorder.
• ERP prov'ides, in the data event control
block for the line involved, information on (1) permanent errors, (2) irrecoverable errors, and (3) errors occurring during transmission of message
-text (called Read Text and Write Text
errors) for which ERP does not attempt
recovery. Recovery of Read Text and
Write Text errors is an additional ERP
function, described below.
• ERP sends a mesSage to the operator at
the console of the central computer (or
some other console, if the system has
the Multiple Console support facility)
for each permanent and irrecoverable
error.
Basic ERP functions are optional for
line groups involving start-stop terminals,
but are required for line groups involving
BSC stations. To obtain these basic functions for start-stop terminals, code EROPT=
E in the DCB macro for the line group, or
omit the EROPT operand. To omit the basic
functions, code EROPT=N (valid only for
start-stop line groups).
Coding EROPT=N prevents certain ERP routines from being included in the system,
with a consequent saving in storage space.
It is recommended that EROPT=N be coded for
line groups for AT&T 83B3 and WU 115A terminals, for the reasons given in the
explanation of the EROPT operand in Table
1.
192

OS BTAM SRL

ADDITIONAL FUNCTIONS

• When an error occurs during execution
of a Read Text command (called a Read
Text error), ERP will optionally retry
the operation unless dynamic buffering
is in use. This function is qptional
for the IBM 1050, 2740 (with the Record
Checking feature), and 2260; i t is
unavailable for other start-stop terminals; and it is always required for
BSC stations.
• When an error occurs during execution
of a write Text command (a Write Text
error), ERP will optionally retry the
operation unless dynamic buffering is
in use. This function is optional for
start-stop terminals, and results in an
additional copy of the message text for
each retry (except for messages sent to
a card punch or tape 'punch of an IBM
1050 with the Line Correction feature"
or to a 2260 with the Line Address feature); it is always required for BSC
stations.
• ERP will optionally record, in the line
error recording block, each occurrence
of a data check, time-out. or intervention required error.
These three additional functions are specifiedas follows. To provide recovery
attempts for Read Text errors (start-stop
terminals), code EROPT=R in the DCB macro
for the line group involved; to provide for
recovery from Write Text errors (start-stop
terminals), code EROPT=W. These EROPT
parameters are ignored if dynamic buffering
is specified for the line group, or if they
are specified for a type of terminal for
which recovery is not available.
(It is
not necessary to ~xplicitly specify recovery attempts for Read Text and Write Text
errors for BSC stations; the function is
always performed for BSC.)
To provide for recording of errors in
the line error recording block, code EROPT=
C in the DCB macro, code a LERB macro to
define the LERB, and code the name of the
LERB macro in the LERB operand of the DCB.
Note: Errors occurring during transmission
of test messages by the on-line test' facility are not recorded in the LERB.

LERB (Line Error Recording Block) Macro
Instruction
LERB defines for each line in a line group
an area of main storage called a line error

recording block. This block consists of a
group of counters in which are kept cumulative totals of data check, intervention
required, and non-text time-out errors, and
of the number of transmissions. There are
two sets of these counters for each communications line. The contents of one set,
called the threshold counters, are incremented each time a transmission or an error
occurs, until one of the counters reaches
its threshold value, which is determined by
the LERB macro. When the threshold value
is reached, the contents of all four
threshold counters are printed at the console of the central computer (message IEC8011; see Appendix C for the format). The
contents of the threshold counters are
added to the other set of counters, called
cumulative counters or accumulators, and
the threshold counters are reset to zero.
The contents of the accumulators are
printed, and both sets of counters are
optionally reset to zero when you issue a
LERPRT (Line Error Recording Print) macro
instruction.

r------T---------T------------------------,
I Name
Ioperation I operand
i
~------+---------+------------------------i
I symbol ILERB
Inlines[,{([transmctl
I
I
I
I
I [,datackl,[,intreql
[, nonttol )} ••• 1
I ______ I _________ I ________________________
L
JI
~

~

symbol
is the name of the first line error
recording block defined by this macro.
It must be specified; it must also be
coded in the LERB operand of the DCB
macro for the line group.
nlines
specifies the number of lines composing the line group for which the LERB
macro is defining these blocks. The
allowable range of values is 1 to 255.
transmct
specifies the transmission count
threshold: the number of consecutive
transmissions that when reached causes
the contents of the threshold counters
to be printed, and the counters reset
to zero. You may specify from 1 to
255; if you omit the operand, 255 is
assumed.
datack
specifies the data check error count
threshold: the number of data checks
that when reached causes the contents
of the threshold counters to be
printed, and the counters reset to
zero. You may specify from 1 to the
value of transmct. If you omit the
operandI either 10 or the value of

transmct, whichever is lower., is
assumed.
intreq
specifies the intervention required
error count threshold: the number of
intervention required errors that when
reached causes the contents of the
threshold counters to be printed, and
the counters reset to zero. You may
specify from 1 to the value of
transmct. If you omit the operand,
either 5 or the value of transmct,
whichever is lower, is assumed.
nontto
specifies the non-text time-out error
count threshold: the number of nontext time-out errors that when reached
causes the contents of the threshold
counters to be printed and the counters reset to zero. You may specify
from 1 to the value of transmct. If
you omit the operand, either 5 or the
value of transmct, whichever is lower,
is assumed.
Of these operands, only nlines is mandatory. If you code only this operand~ the
default threshold counts of 255, 10, 5 and
5 are assumed for each of the lines in the
line group.
If you code threshold counts
for one line, the same counts are assumed
for all successive lines for which you do
not code threshold counts; the counts are
effective until you code another set of
threshold counts.
Example:
LG1LERB

LERB 10 I. , (200" 20, " 7) , "
(240, 20,25,,10)

This LERB macro provides line error recording blocks for ten lines:
• The first two lines have assumed
threshold values of 255 (transmct),
10 (datack), 5 (intreq), and 5
(nontto).
• The next three lines have explicit
transmct, datack, and nontto threshold values of 200, 20, and 7~ and an
assumed intreq threshold value of 5.
• The remaining five lines have explicit threshold values of 240, 20,
25, and 10.
Omit the parentheses if you omit all
the suboperands (transmct, etc.)
for a line, as has been done for
lines 1, 2, 4, 5, 7, 8, 9 and 10 in
the example. Also omit trailing
commas (as for lines 7. 8. 9" and 10
above) •

Error Recovery Procedures and Error Recording

193

after the contents of the accumulators
are printed.
If you omit this
operand, CLEAR=YES is assumed.

LERPRT (Line Error Recording Print) Macro
Instruction
LERPRT causes the current contents of the
cumulative counters (a,ccumulators) for a
line to be printed at the console of the
central computer or, in systems with Multiple Console Support, at some other userdesignated console.
(The message number is
IECB02li see Appendix Cfor the format.)
As explained under the LERB macro, the contents of the four threshold counters for
the line are added to the accumulator each
time one of the threshold counters reaches
its threshold value. The contents of the
threshold counters are also added to the
accumulators (and the threshold counters
are reset) when you issue the LERPRT macro.
You may also specify in LERPRT that the
threshold counters and accumulators for the
line be reset to zero.

CLEAR=NO
specifies that the threshold counters
and accumulators are not to be reset
after the contents of the accumulators
are printed.

ERROR DETECTION AND ANALYSIS

I
I
I
I
I
I
I r,CLEAR=YESJ
I
IL ________ I _________ I ______________________
L, CLEAR=NO
JI .

To determine what action to take when an
error occurs requires that the error condition be analyzed. This is true whether
error recovery is to be performed by ERP
routines or by the user program.
If BTAM
ERP is used, all error analysis and recovery attempts are performed before the Read
or Write operation is posted as complete in
the event control block (ECB) for the line.
All user program analysis and recovery
attempts, whether in addition to BTAM ERP
actions or in place of them, occur after
the Read or Write operation is posted as
complete. Thus the user program analysis
and recovery routine should receive control
following each completion of a Read or
Write operation.

dcbaddr
specifies the address of the DCB for
the line group containing the line for
which the contents of the accumulators
are to be printed.

As mentioned previously, BTAM sets
various error indicators in the DECB. Some
of these are set before ERP routines gain
control, others are set by the ERP routines. The DECB fields containing error
inBicators are:

Caution: Issue a LERPRT macro for a line
only if the line group containing that line
is open.

r--------T---------T'----------------------,
I Name
I Operation I Operand
I
~--------+---------+----------------------i

I [symbol] ILERPRT

~

Idcbaddr[,rln] [,cidl

I

~

rln
specifies the relative line number of
the line involved. rln cannot exceed
the number of lines contained in the
line group (as indicated in the nlines
operand of the'LERB macro). If you
omit this operand, all non-zero values
of the accumulators for all lines ~n
the group are printed. '
cid

(applicable only to systems having the
Multiple Console Support facility)
specifies the address of a byte containing the identification of the console at which the message is to be
printed. If youomi:t this operand
when the system includes the MCS facility, the message is printed at consoles having a routing code of B. If
you specify an invalid console 10, the
message is printed at consoles having
a routing code of 1.

CLEAR=YES
speciries that the threshold counters
and accumulators be reset to zero
194

OS BTAM SRL

eDECSDECB. This is the address of the
event control block, which is the first
fullword of the DECB. The first byte
contains the completion code for the
operation.
e DECFLAGS. A one-byte field containing
flags that BTAM sets at the conclusion
of a Read or Write operation. Some of
these flags represent not errors but
exceptional conditions of interest to
the user program. These flags are set
regardless of whether the operation was
completed successfully.
e DECERRST. A one-byte field containing
flags indicating the kind of I/O error
that occurred. These flags are set only
in the event of a true I/O error (as
opposed to an exceptional condition) as
indicated in the event control block by
a completion code of X'41'.
• DECCSWST. A halfword field containing
the status indicators set in the channel
status word (CSW) at the conclusion of
the Read or Write operation.

•

DECSE~SO.

A one-byte field containing
the sense information returned by the
transmission control unit at the conclusion of the I/O operation that resulted
in a Unit Check error.

The preceding discussion mentioned
checking the "appropriate" bits; this simply means those bits that could possibly be
set in a given situation. For example, it
would be appropriate to check bit 0 of
DECFLAGS only if you were analyzing the
result of an operation on a BSC line, as
bit 0 is not used in start-stop operations.

User Program Analysis Procedure
A recommended procedure for checking the
results of a Read or Write operation is as
follows.
First determine whether the operation
was completed successfully or unsuccessfully. A completion code of X'7F' in the
event control block (DECSDECB) indicates
successful completion, and a code of X'41'
indicates unsuccessful completion. A third
completion code, X'48', indicates that the
Read or write operation was halted as a
result of issuing aRESETPL or CLOSE macro
while the operation was in progress.

Normal Completion
If the completion code is X'7F', check the
DEC FLAGS field.
If it contains all zeros,
no exceptional condition has occurred, and
the program can execute whatever Read or
write operation would normally follow the
completed operation. If DECFLAGS does not
contain all zeros, check each of the appropriate flags to determine the exceptional
condition, then take suitable action.

Many factors are involved in determining
what action is suitable in response to a
given kind of error or exceptional
condition.
For exceptional conditions occurring in
conjunction with a successful completion of
a Read or write operation, the question is
not of retrying an operation that failed,
but rather of determining what kind of Read
or Write operation should be executed next.
Some of the factors to be considered in
determining what program action to take in
the event of an error or exceptional condition are the type of Read or write operation (e.g. Read Initial, Write Continue)
and the specific command (e.g. Poll, Read
Text~ Write Response) being executed when
the error occurred, and the type of remote
station or line involved. The charact.eristics of the application will determine
other factors to be considered.
In any
event., it is inadvisable to pursue the same
procedure that the BTAM ERP facility does,
for any given error condition. The tables
and explanations are intended to show what
BTAM ERP has already done to recover, or to
guide you in writing your own recovery procedures; they are not intended to suggest
user analysis actions once error recovery
has been attempted. The next chapter suggests, for BSClines, appropriate macros to
issue after BTAM posts exceptional or error
conditions.

Abnormal Completion
If the completion code is X'41', determine
the nature of the I/O error as follows.
Check the DEC FLAGS and DECERRST fields.
If
DECERRST does not contain all zeros, check
the appropriate bits from among bits 0-4.
(Bit 2 is applicable unless BTAM ERP routines are not present in the system; bit 3
is applicable only if the TCU is an IBM
2701.)
If both DECFLAGS and DECERRST contain
all zeros, check the bits in the CSW status
field, DECCSWST, in the order indicated in
the priority column of Table 13. If the
Unit Check bit is on, check the sense bits
in DECSENSO in the order indicated in Table
14. Then take appropriate action. These
last two fields, DECCSWST and DECSENSO,
contain the same information as was checked
by the ERP routines, if the system includes
the ERP facility.

In general, BTAM error recovery procedures anticipate all of the possible conditions from which recovery may be possible,
and in each case takes appropriate action
to achieve recovery. For this reason, use
of the BTAM-provided error recovery procedures is highly recommended, and saves much
coding effort for the application programmer. In many applications, the appropriate
action for the user program to take when
ERP fails to recover is simply to ignore
the error condition and resend the same
message text with the next Read or Write
operation, or to defer further operations
on the line until an equipment failure or
abnormal condition can be corrected.
Usually, it is appropriate for the program to
notify the operator at the central computer
console or teleprocessing console of the
condition.
The remainder of this chapter provides
detailed explanations of what actions BTAM

Error Recovery Procedures and Error Recording

195

error recovery procedures perform for each
of the error and exceptional conditions,
and for each of the commands and types of
remote stations for which the error can
occur. This information is provided for
users wishing to write their own error analysis and recovery routines, for use either
in place of or in addition to the BTAMprovided ERP facility.
AS mentioned previously, an error analysis routine usually
must consider the type of Read or Write
operation and the type of channel command
on which the error or exceptional condition
occurred. Three fields in the DECB contain
this information:
• DECTYPE indicates the kind of Read or
Write operation being executed.
Note: certain error conditions cause
BTAM ERP to modify the DECTYPE field, so
that this field has a different value at
the end of the Read or Write operation
from the value i t initially had.
No
.
other user-specified DECB field is modified oy ERP.
• DECCMCOD indicates the specific type of
channel program command' on which the
error occurred.
• DECTPCOD indicates the TP Operation Code
associated with the command. Each BTAM
channel command contains this code, in
byte five of the channel command word
(CCW).
This code, which is not present
in CCWs for other (non-TP) environments,
has no effect on channel operations. It
is in effect an extension of the command
code, and identifies the purpose of the
command.
The meanings of the bits in each of
these fields are given in Appendix B.
In
these descriptions, and in the descriptions
of the BTAM ERP actions below, references
are made to types of I/O operations, equipment conditions, and indicators that are
not defined elsewhere in this publication,
as they relate to the operational details
of specific types of transmission control
units and related equipment.
Understanding
of these references and writing of an error
recovery routine requires a knowledge of
the functional complexities of this equipment, which is beyond the scope of this
publication to impart.
Information on
transmission control units may be found in
the publications listed under that heading,
at the front of this publication.

196

OS .aTAM SRL

Table 13.

User Program Status Analysis

r--------T---T-----------------T----------,
I
ICSWI
I
1

IPrioritylBitlCondition
I Remarks I
~--------+---+-----------------+----------~
I 1
145 IChannel Control I
1
I
1
I Check
I
I
~--------+---+-----------------+----------~
I 2
146 I Interface
I
1
I
I
IControl Check
1
I
~--------+---+-----------------+----------~
I 2
144 1Channel Data
1
I
I
I
I Check
1
1
~--------+---+-----------------+----------~
I 3
J32 IAttention
I.
I
~--------+---+-----------------+----------i
I 3
133 Istatus Modifier
I
I
~--------+---+-----------------+-------~--i
1 3
134 I Control Unit
1
I
·1
1
lEnd
I
I
~--------+---+-----------------+----------~
I 3
135 I Bus Y
I
I
~--------+---+-----------------+----------i
I 4
138 IUnit Check
I Check
I
1
I
I
I Sense
I
I
I
1
1 Bits
I
~--------+---+-----------------+----------i
I 5
147 I Chaining Check
I
I.
~--------+---+-----------------+----------i
I
6
142 IProgram Check
1 Program
I
I
I
I
I Error
1
~--------+---+-----------------+----------i
I 6
143 IProtection
1 Program 1
I
I Check
1 Error
1
I
~--------+---+-----------------+----------i
I 7
139 IUnit Exception
1 Possible I
I
1 1
1 Error
I
~--------+---+-----------------+----------i
I 8
141 IIncorrect
I Possible II ________ I ___ I _________________
Length
1__________
Error
L
J1
~

Table 14.

~

~

User Program Sense Byte Analysis

r--------T------T-------------------------,
I
Isense I
I

I Priority I Bit J Condition
I
~--------+------+-------------------------i
I 1
I 3
I Equipment Check
I
~--------+------+-------------------------i
I 2
I 6
I Lost Data
1
~--------+------+-------------------------i
I 3
I 7
I Timeout
I
~--------+------+--~-----------~----------i
I 4
I 1
I Intervention Required
1
~--------+------+-------------------------i
I 5
I 2
I Bus out
I
~--------+-~----+-------------------------i
I 6
I 4
I Data Check
I
~--------+------+-------------------------i
I 7
I 5
1 Overrun
1
~--------+------+-------------------------i
1
8
1______
0
I _________________________
Command Reject
L________
J1
~

~

BTAM ERP ERROR ANALYSIS AND RECOVERY
ACTIONS

undefined for a particular command or combination of hardware conditions. An overrun error, for example, has no meaning for
a Write command.

BTAM routines analyze error and exceptional
conditions by examining the status field of
the channel status word (CSW) and in the
case of a unit Check error, by examining
the sense information provided by the TCU
at the end of the I/O operation.

In some instances, however. ERP can
even from undefined errors. Consider, for example, a lost data error
occurring on a Dial command issued for a
start-stop line. Although this condition,
like lost data on a Write command, is not
defined (and is therefore not mentioned in
the SRL publications for the IBM 2701,
2702, and 2703), ERP does try to recover by
reexecuting the Dial command (see Table 19
and ERP action 20.) After two unsuccessful
retries, ERP disables the line, notifies
the operator, and records the error in the
Outboard Recorder.
rec~ver

More than one indication may be set in
the CSW when an error condition occurs.
Generally, only one of these indicators
properly describes the condition; other
indicators reflect secondary effects.
Similarly, transmission control unit errors
can cause more than one sense bit to be
set. To ensure that the primary condition
is recognized and acted upon, priority
schemes determine the order in which status
and sense bits are tested.

Note that ERP does not attempt recovery
when a lost data error occurs on a Write
command; rather, ERP immediately indicates
a "should-not-occur" error has occurred.
In Table 19, Write falls in the "all other
commands" category; see action 11.

Tables and explanations of actions are
shown separately for start-stop and BSC
operations, as the actions differ considerably for these two categories.
·Should-Not-Occur" Errors

Table 15 shows for variou~ commands the
error conditions OS BTAM ERP considers to
be ·should-not-occur- errors and therefore
does not attempt recovery.

Among the error conditions causing BTAM to
pass control to ERP are those which are
Table 15.

Should-Not-Occur Error Conditions

Posted by BTAM ERP

r------------T-----T----T-------T-------T----~-------T------T----T----'

\ Error
\ Condition

\
I
I
I
I
I
I
I
I
I
IWriteIReadllnhibitIPrepareISenseIDisable\EnableIDial\polll

r------------+-----+----+-------+-------+-----+-------+------+----+----i
I •
.1. I . .
•

ILost Data

\

Timeout
Intervention
Required

I

1 .2

I

I

~

•

Data Check

Unit
Exception

•

I

Bus Out
Check

Overrun

•

•

•

•

•

•

•

•

•

•
•
•

•

•

•

•

•
•

.6

•

•

.6.5

•
•

•

...

r------------~-----~----~--~----~------~-----~-------~------~----~----i

\1Should-not-occur error only for start-stop lines.
I
\2Not a should-not-occur error for any write command that sends
I
\ transparent text (BSC lines), or for a 2260/2848 (start-stop lines).1
\3Should-not-occur error only for write operations on BSC lines.
I
\"Should-not-occur error only if TCU is a 2701, for start-stop lines;
I
\ always a should-not-occur error for BSC lines.
I
\5Should-not-occur error only if TCU is a 2701.
f
1 6 Not a should-not-occur error if TCU is a 2703 and user program
I
\L______________________________________________________________________
issued RESETPL macro.
JI

Error Recovery Procedures and Error Recording

197

START-STOP ERROR RECOVERY PROCEDURES
In the tables, figures in parentheses following the name of a command represent the
TP-OP code of the command, as appearing in the DECTPCOD field of the DECB at completion
of a Read or write operation.
Table 16.

Status Analysis -- Start-Stop

r---T---------------~-------T----------------~-------T-----------,

ICSWICondition
I Remarks
IPriority I Action
I
IBitl
I
I
I
I
~---+-----------------------t----------------t--------t-----------i
I 451Channel Control Check I
I
1
I
1
I
~---t-~---------------------t----------------t--------t-----------i

I 461Interface Control Check I

'
I
2
I
1 .
I
~---t-----------------------t----------------+_-------+-----------i
I 441Channel Data Check
I
I
2
I
1
I
~---+-----------------------t----------------t--------+-----------i
I 321Attention
I
I
3
I
2
I
~---+---------------~-------t----------------t--------+-----------i
I 331 Status Modifier
I
I
3
I
2
I
~---t-----------------------t----------------t--------t-----------i
I 341control unit End
I
I
3
I
2
I
~---t-----------------------t----------------t--------+-----------i
I 351BUSy
I
I
3
I
2
I
~---+-----------------------t----------------+_-------+-----------i
I 381Unit Check
ICheck Sense Bitsl
4
I (See
I
I
I
I
I
ITable 17)
I

t---t-----------------------t----------------f--------t-----------i
I 471Chaining Check
I
I
5
I
3
I
t---t-----------------------t----------------+--------+-----------i
I 421Program Check
IProgram Error
I
6
I
4
I
t---t-----------------------t----~--------~--f--------+-----------i

I 431Protection Check

IProgram Error

I

I

I

t

6

I

4

I

t---t-----------------------t----------------t--------t-----------i
I 391unit Exception
IPossible Error I
7
I (See
I
I

I Table 18)

I

t---+-----------------------t----------------t--------+-----------i
I 411 Incorrect Length
I possible Error I
8
I
11
I
L ___ .L ______·________________

Table 17.

~.J.

________________ .l._ _______ .1. ___________ J

Sense Byte Analysis --Start-Stop

r--------T-----T------------T-------------,
I
I sensei
I
I

I priority I Bit ICondition

I Action

I

t--------t-----+-----------~t-------------i

I
I

1

I

3

I

I Equipment

I Check

I
I

5

I
I

t--------t-----t------------t-------------i
2
I 6 ILost Data
ISee Table 19 I

I

~--------t-----+------------+-------------i

I

3

I

7

ITimeout

ISee Table 20 I

IRequired

I

t--------t-----+------------+-------------i
I
4
I 1 IInterventionlSee Table 21 I
I

I

I

t--------+-----+------------t-------------i
I
5
I 2 IBUS out
ISee Table 22 I
t--------t-----+------------t-------------i
I
6
I 4 IData Check ISee Table 23 I
t--------t-----t------------t-------------i
I
7
I 5 loverrun
ISee Table 24 I
~--------+-----t------------t-------------i

I

8

I

0

I Command

Isee Table 25 I

IL________ .J.I _____ .1.IReject
I _____________ JI
____________ .L

198

OS BTAM SRL

Table 18.

Unit Exception -- start-stop

r----------------------------------------------------------------------,
I Command
Action
I
~----------------------------------------------------------------------i
Write or Poll (03)

2741
83B3 or 115A (Telegraph adapter type I)
all other terminals

7
8

9

Read
Read response to addressing (06)
Terminal adapter type I
2740
all other terminals

10
11 (SNO)

All other types of adapters

11 (SNO)

Read response to text (20)
2740 with station control & checking, or 2260
Write text retries specified (EROPT=W)
write text retries not specified
all other terminals

12
13
11 (SNO)

All other Reads

11 (SNO)

other commands
11 (SNO) _
L All
_____________________________________________________________________
Table 19.

Lost Data -- Start-Stop

r----------------~-----------------------------------------------------1

I Command
Action
I
~----------------------------------------------------------------------i
Read
Read ID response (07)

14

Read response to addressing (06)

15

Read Text (11)·
If residual count = 0
83B3 or 115A (Telegraph adapter type I)
all other terminals
If residual count not

=

0

16
17

J
18 (SNO) I

I
I
I
Dial (01)
20
I
I
other commands
(SNO) JI
L All
____________________________________
._________________________ II
________
Read response to text (20)

19

~

Error Recovery Procedures and Error Recording

199

Table 20.

Timeout

-~

Start-Stop

r------------~---------------------------------------------------------,

I Command

Action

I

r----------------------------------------------------------------------f1
j~lle

2260 or 2265 (Terminal Adapter Type III)
all other terminals

I

21
I
22 (SNO) I

1

Read (or Inhibit)
Read response to addressing (06)
83B3
all other terminals

Read 10 response (07)

23
24

25

Read response to polling (05)
First command is Disable
First command is not Disable

I
I
I
I
I
I
I
I
I
I
I
I
I

Read Index (OA)
First command is Disable
First command is not Disable
Read text (11)

23
26
27

Read response to text (20)
Write text retries specified (EROPT=W)
Operation is write Continue

13

Operation is not Write Continue

1
I
I
I
I
I
I

23
25

First command is Disable
First command is not Disable
Write text retries not specified

IDisable (01)

28
24

13
29

I

IEnable (01)

I
I
I
I

preceded by Disable
not preceded by Disable

IPrepare (01)

I

IDial (01)

I

IPoil (03)

I

24
30(SNO)

25
31
32

IAll
L______________________________________________________________________
other commands
33 (SNO) JI

200

OS BTAM SRL

·.
Table 21.

Intervention Required -- Start-stop

r----------------------------------------------------------------------1

I Command
Action
I
~----------------------------------------------------------------------i
IWrite or Break (23)
34
I

I

I

1

Read (or Inhibit)
Read Index (OA)

I
I
I
I
I
I
I
I
I
1

26

Read response to polling (OA)
Operation is WriteTTV
Operation is not Write TTV

35
36

Read response to text (20)
Read text retries specified (EROPT=R)
Operation is write continue
Operation is not write Continue
Read text retries not specified
All other Reads

37

24
37

39

Dial (01)
'''1'

40

'1"\ _ _ _ _ _ _

r ....

C~Q.""

c

,V..LI

2741

61

All other terminals

36

Poll (03)

I
I

24

I
I

other commands
41 (SNO) J
L All
______________________________________________________________________
Table 22.

Bus Out Check -- Start-Stop

r----------------------------------------------------------------------,
I Command
Action
I
r----------------------------------------------------------------------i
I Write

I
,

prior to Write text

46

Write text (11)
write text retries specified (EROPT=W)
Failing command is last command or next
command is not Read response to text

46

Next command is Read response to text

45

Write text retries not specified
following Write text

44

45

Dial (01)

46

Poll (03)

46

IAII
other commands
11 (SNO) _
L
_____________________________________________________________________

Error Recovery Procedures and Error Recording

201

Table 23.

Data Check -- start-stop

r----------------------------------------------------------------------,
I Command
Action
I
~----------------------------------------------------------------------i

write

83B3, 115A, or TWX (33,35) (Telegraph adapter type I or II)
Error occurred during text transfer
write retries specified (EROPT=W)
write retries not specified

24
39

Error did not occur during text transfer

24

World Trade Telegraph terminals (WTT Adapter)

37

Read (or Inhibit)
Read ID response (07)
Read response to polling (OA) or any
command prior to text transfer

48
othe~

Read

First command in channel program is Disable
First command in channel program is not Disable

49
50

Read text (11)
Dynamic buffering is used

51

Dynamic buffering is not used
Read text retries specified (EROPT=R)
Operation is Read Repeat
Operation is write continue Conversational
All other operations
Read text retries not specified

24
53
54
51

Read response to text (20)
Operation is write continue
All other operations

48
52 (SNO)

Remote terminal is 2740 with 2760 feature, and operation
is write TIO, TCO, or TVO
Poll (03)
L_________________________________________________
IAII
other commands

202

OS BTAM SRL

55
56

~

___________________
52 (SNO) _

Table

24.

Overrun -- Start-Stop

r----------------------------------------------------------------------,

I Command
Action
I
~----------------------------------------------------------------------i
Read
Read Index (OA)

57

Read response to text (20)

58

All other Reads
Dynamic buffering is used

59

Dynamic buffering is not used
Read text retries are specified (EROPT=R)
Read text retries are not specified

60
59

Poll (03)
TCU is 2702
TCU is not 2702

57

11 (SNO)

Inhibit (11)
Read text retries are specified (EROPT=R)
Read text retries are not specified

60
59

L
tAll
_____________________________________________________________________
other commands
11 (SNO> _

Table 25.

Command Reject

~-

Start-Stop

r----------------------------------------------------------------------,
I Command
Action
I

~----------------------------------------------------------------------f

IPol1 (03)

11 (SNO) I

I

I

L ______________________________________________________________________
JI
IAll
other commands
9

Error Recovery Procedures and Error Recording

203

ERROR RECOVERY ACTIONS FOR START-STOP

complete-with-error, notifies the
console operator, and records the
occurrence in the OBR.

OPERATIOi~S

In the descriptions of the actions performed by BTAM error recovery procedures,
the phrase -if applicable", applied to the
action of recording occurrences in the line
error recording block (LERB), means that
the error is so recorded only if it is a
data check, intervention required, or nontext time-out error, and if you have specified that errors be recorded by appropriately coding the EROPT and LERB operands. of
the DCB macro instruction.

4

ERP notifies the console operator.
The error is probably a program
error.

5

ERP notifies the console operator.
The error is caused by control unit
failure, and the communications line
involved should be considered
inoperative.

6

The phrase "ERP notifies the console
operator- means that ERP writes message
IEAOOOI to the console of the central computer, and/or to some other console (e.g.,
teleprocessing console) if the Multiple
Console Support facility is in use. This
allows the operator to take whatever action
is necessary to correct the condition. See
Appendix C for the format of this message.

7

ERP restarts the channel program at
the write or Poll command.
On the
third occurrence of the error" ERP
posts the operation complete-witherror and records the ocCUrrence in
the OBR.
.

8

ERP executes a Break command, then
restarts the channel program.
On the
third occurrence of the error, ERP
posts the operation complete-witherror, notifies the console operator,
and records the occurrence in the

The phrase -ERP posts the operation as
complete-with-error" means that ERP sets
the post flag in the ECB for the line to
indicate conclusion of the operation, and
sets a completion code of X'41' in the ECB,
to indicate that an I/O error occurred.
1

If the Channel Check Handler (CCH) of
the Recovery Management Support facility has been included in the operating system during system generation"
ERP forces a permanent error condition by setting the Unit Check and
Equipment Check sense bits in the
sense byte. This causes ERP for this
condition to notify the console
operator. Operations can proceed
normally for line groups using other
channels. If the CCH facility is
not included in the operating system,
the condition is recorded in the
System Environment Recorder (SER)
and the Supervisor enters vlai t state,
as the error is too serious to allmv
further operations.

2

ERP sets the should-not-occur bit
(bit 1) in DECERRST, posts the operation complete-with-error., notifies
the console operator, and records the
occurrence in the OBR.

3

If the error occurred on a Read command, ERP posts the operation
complete-wi th-'error " noti fies the
console operator, and records the
occurrence in the OBR. If the error
did not occur on a Read command, ERP
sets the should-not-occur bit (bit 1)
in DECERRST, posts the operation

204

OS BTAM SRL

OBR.

The error indicates that data is
being received from the line without
a command.
9

ERP executes a Read Skip command.
If the Read Skip is successful., ERP
restarts the channel program at the
failing command. On the third occurrence of the error, ERP posts the
operation complete-with-error. notifies the console operator, and records the occurrence in the OBR.
The error indicates that data is
being received from the line without
a command.

10

The Unit Exception condition is normal for a 2740 and indicates receipt
of a positive or negative response
( Y or N). If Y was received, ERP
turns off the Unit Exception bit and
restarts the channel program at the
next command.
IfN was received, ERP
posts completion with or without
error. Receipt of a character other
than Y or N is a should-not-occur
condition: ERP sets the should-notoccur bit (bit 1) in DECERRST and
posts the operation complete-with-error.

11

ERP sets the should-not-occur bit
(bit 1) in DECERRST, posts the operation complete-with-error, notifies

console operator, and records the
error in the OBR.

the console operator, and records the
occurrence in the OBR.

12

ERP executes a write Continue channel
program to resend the same message
text. On the third occurrence of
this error, ERP posts the operation
complete-with-error, notifies the
console operator, and records the
occurrence in the OBR.

The error indicates that the Dial
command was sent to a line that was
already in the ·off-hook- condition.
21

ERP builds and executes a Reset channel program. The error occurrence is
recorded in the LERB (if applicable).

22

ERP sets the should-not-occur bit
(bit 1) in DECERRST. posts the operation complete-with-error, notifies
the console operator, and records the
occurrence in the OBR. The occurrence is recorded in the LERB (if
applicable) •

The error indicates a buffer
overflow.
13

ERP posts the operation
complete-with-error.

14

ERP restarts the channel program at
the failing command. On the third
occurrence of this error, ERP disables the line, posts the operation
complete-with-error, notifies the
conso~e operator, and records the
occurrence in the OBR.

23

ERP restarts the channel program at
the third command. On the third
occurrence of the error. ERP posts
the operation complete- with-error
and notifies the console operator.
Each occurrence is recorded in the
LERB (if applicable).

15

ERP restarts the channel program. On
the third occurrence of the error,
ERP posts the operation completewith-error, notifies the console
operator, and records the occurrence
in the OBR.

24

ERP restarts the channel program. On
the third occurrence of the error,
~nr posts the operation completewith-error and notifies the console
operator. Each occurrence is recorded in the LERB (if applicable).

16

ERP executes a Break command" posts
the operation complete-with-error,
notifies the console operator, and
records the occurrence in the OBR.

25

ERP restarts the channel program at
the failing command. On the third
occurrence of the error. ERP posts
the operation complete-with-error and
notifies the console operator. Each
occurrence is recorded in the LERB
(if applicable).

26

ERP restarts the channel program to
resend the polling sequence. On the
third occurrence of the error" ERP
posts the operation complete-witherror and notifies the console operator. Each occurrence is recorded in
the LERB (if applicable).

21

ERP posts the operation completewith-error. The error indicates that
no text was received or that the
elapsed time between successive text
characters exceeded about 28 seconds
(the intercharacter timeout
interval).

28

ERP restarts the channel program at
the third command. On the third
occurrence of the error. ERP posts
the operation complete-with-error.

29

ERP restarts the channel program at
the failing command. On the third
occurrence of the error. ERP posts

The error indicates that the input
message was larger than the input
area specified in the READ macro.
11

ERP executes a Read Skip command,
posts the operation complete- witherror, notifies the console operator,
and records the occurrence in the
OBR.
The error indicates that the input
message was larger than the input
area specified in the READ macro.

18

ERP sets the should-not-occur bit
(bit 1) in DECERRST and posts the
operation complete-with-error.

19

ERP executes a Read Skip command,
posts the operation complete- witherror, and notifies the console
operator, and records the occurrence
in the OBR.

20

ERP restarts the channel program at
the Dial command. On the third
occurrence of the error, ERP disables
the line, posts the operation
complete-with-error, notifies the

Error Recovery Procedures and Error Recording

205

the operation complete-with-error and
notifies the console operator. Each
occurrence is recorded in the LERB
(if applicable).

occurrence is recorded in the LERB
Cif applicable) '.

31
The error indicates that the data
set Cmodem) is failing to disconnect.
30

31

ERP sets the should-not-occur bit
Cbit 1) in DECERRST, posts the operation complete-with-error, and notifies the console operator.
ERP restarts the channel program at
the failing command. On the third
occurrence of the error, ERP posts
the operation complete- with-error
and notifies the console operator.
Each occurrence of the error is recorded in the LERB Cif applicable).

38
39

ERP posts the operation completewith-error and notifies the console
operator.

40

ERP restarts the channel program at
the failing command. 'On the third
occurrence of the error. ERP posts
the operation complete-with-error and
notifies the console operator.

The error indicates that the
remote station is not answering, when
dialed, in the time allotted.
32

ERP restarts the channel program to
resend the polling sequence. On the
third occurrence of the error, ERP
posts the operation complete-witherror and notifies the console operator. Each occurrence is recorded in
the LERB Cif applicable).

The error indicates that the Automatic Calling Unit power is off or
that the addressed line is not connected to an Auto Call adapter.

41

The error indicates that no
response was received from the remote
station.

42

33

ERP sets the should-not-occur bit
Cbit 1) in DECERRST and posts the
operation complete-with-error. The
occurrence is recorded in the LERB
Cif applicable).

44

34

ERP sets the retry count to maximum
and posts the operation completewith-error. The occurrence is re~
corded in the LERB Cif applicable).

ERP restarts the channel program at
the third command to resend the polling sequence. On the third occurrence of the error, ERP posts the
operation complete-with-error and
notifies the console operator. Each
occurrence is recorded in the LERB
Cif applicable).

ERP sets the should-not-occur bit
Cbit 1) in DECERRST. posts the operation complete-with-error, and notifies the console operator. The
occurrence is recorded in the LERB
Cif applicable).

43
ERP posts the operation completewi th-error,. notifies the console
operator, and records the occurrence
in the OBR.
The error is a parity error within
either the command or the text data.

45

The error indicates that the
addressed line has not been enabled.
35

ERP posts the oper?tion completeand notifies the console
operator. The occurrence is recorded
in the LERB Cif applicable).

~ith-error

ERP records the error occurrence in
the SDR and restarts the channel program at the failing command. On the
third occurrence of the error. ERP
posts the operation complete-witherror. notifies the console operator,
and records the occurrence in the
OBR.
The error is a parity error within
either the command or the text data.

46

ERP records the error occurrence in
SDR and restarts tpe channel program. On the third occurrence'of the
error, ERP posts the operation
complete-with-error. notifies the
console operator, and records the
occurrence in the OBR.

th~

36

206

ERP restarts the channel program at
the beginning. On the third occurrence of the error, ERP posts the
operation complete-with-error and
notifies the console operator. Each
OS

~TAM

SRL

error and notifies the console operator. Each occurrence is recorded in
the LERB (if applicable).
(See Note
1.)

The error is a parity error within
either the command or the text data.
47
48

ERP restarts the channel program. On
the third occurrence of the error,
ERP posts the operation completewith-error and notifies the console
operator. Each occurrence is recorded in the LERB (if applicable).
(See
Note 1.)

49

ERP restarts the channel program at
. the third command. On the third
occurrence of the error, ERP posts
the operation complete-with-error and
notifies the console operator. Each
occurrence is recorded in the LERB
(if applicable).
(See Note 1.)

so

51

52

53

54

55

ERP restarts the channel program to
resend the polling sequence. On the
third occurrence of the error, ERP
posts the operation complete-witherror and notifies the console operator. Each occurrence is recorded in
the LERB (if applicable).
(See Note
1. )
ERP posts the operation completewith-error. The occurrence is recorded in the LERB (if applicable).
(See Note 1.)

56

ERP restarts the channel program to
res end the polling sequence. On the
third occurrence of the error, ERP
posts the operation complete-witherror. Each occurrence is recorded
in the LERB (if applicable).

57

ERP restarts the channel program to
resend the polling sequence. On the
third occurrence of the error, ERP
posts the operation complete-witherror and notifies the console
operator.

58

ERP restarts the channel program at
the failing command.. On the third
occurrence of the error, ERP posts
the operation complete-with-error and
notifies the console operatox.

59

ERP posts the operation complete-

with-error, notifies the console
operator, and records the occurrence
in the OBR.

60

ERP builds and executes a Read Repeat
channel program and records the error
occurrence in the SORe On the third
occurrence of the error. ERP posts
the operation complete- with-error,
notifies the console operator. and
records the occurrence in the OBR.

61

ERP issues Write EOT and restarts
the Channel Program at the failing
command.

ERP sets the should-not-occur bit
(bit 1) in DECERRST, posts the operation complete-with-error, and notifies the console operator.
(See Note
1. )
ERP restarts the channel program at
the Read Conversational part. On the
third occurrence of the error, ERP
posts the operation complete-witherror and notifies the console operator. Each occurrence is recorded in
the LERB (if applicable).
(See Note
1. )
ERP builds and executes a Read Repeat
channel program. On the third occurrence of the error, ERP posts the
operation complete-with-error and
notifies the console operator. Each
occurrence is recorded in the LERB
(if applicable).
(See Note 1.)
ERP restarts the channel program at
the Write EOA PRE 0 command. On the
third occurrence of the error, ERP
posts the operation complete-with-

Note 1:

The error is one of the following:

•

A VRC (parity> error was detected in one
or more of the received characters.

•

An LRC error was detected; i.e., the LRC
character received from the remote station did not match the LRC value
generated by the transmission control
unit.

•

A negative response was received as a
response to text.

•

The communication line was in the
"space- condition at stop-bit time,
indicating that the TCU was out of
synchronism.

Error Recovery Procedures and Error Recording

207

BSC ERROR RECOVERY PROCEDURES
The BT~l Channel End/Abnormal End Appendage
will receive control from the supervisor
following an I/O interrupt or after an ERP
routine issues a SVC 15 with no retry specified (i.e., with bit 2 of IOBFLAGl set to
0). When i t receives control, the appendage makes an analysis of such things as
the CSW information, the condition code,
the operation in progress, the response
received, etc., in order to determine the
specific action to be performed based on
the conditions existing.
The appendage passes control back to the
supervisor as follows:
•

At Q ~ Register 14 - the channel program
is posted complete and the request element is made available. This is the
so-called ftnormal return.ft

•

At! ~ Register 14 - the channel program
is not posted complete but the request
element is made available. This return
is made for on-line test or when a SAD
(Set Address). or Enable error occurs.

•

I

At ~ ~ Register 14 - the channel program
is not posted complete and its request
element is placed back on the request
queue so the program can be retried.
This return is used when the channel
program is to be restarted.

The supervisor then determines where
control is to be passed next; if the lOB
exception bit is on (bit 5 in IOBFLAG1=1)
and the DCB indicates that basic error
recovery procedures are provided (i.e •• bit
7 in DCBERROP=O) for this line group, control is passed to the BSC ERP control routine. The control routine will also
receive control from the supervisor following an I/O interrupt when an ERP channel
program has been initiated and the ERP routines, rather than the Channel End/Abnormal
End Appendage, are to analyze the results
of the operation.
The BSC ERP control routine determines
which ERP routine is to receive control,
causes it to be loaded if necessary, and
transfers control to it. Recovery actions,
as indicated in the tables following, are
then performed.
By using Table 26, you can locate the
set of conditions for which you wish to
determine the ERP action. In some cases,
it will be necessary to consult more than
one table to trace the complete sequence of
the actions., as when ERP sets up a special
return code to indicate the existence of a
specific situation as it goes through a
multi-step recovery procedure.
208

OS BTAM SRL

You should note that the tables present
in summary form the actions performed by
ERPi details such as incrementing the retry
count and testing for a need for LERB
recording are not shown.
In the tables, the values in parentheses
following each command, e .• g. Read Text
(11), is the TP-Op code for that command,
in hexadecimal.
Where the phrase ftproceed with error
posting" appears" see Table 4 0 to determine
the actions taken by the Error Post
routine.
Table 27 serves as an entry point for
tracing the ERP-initiated recovery actions.
In many cases, it refers to another tab~e
for further definition of recovery actions.
Tables 39 and 40 indicate the result of
control being passed to the Special Return
routine and the Error Post routine,
respectively.
Two examples of the use of the tables
are as follows:
Example 1: The accumulated block check
character (bcc) does not match the bcc
received following the ETB or ETX ending a
text block, on a Read Text command, causing
a status indication of Channel End/Device
End/Unit Check, with Data Check indicated
il.l the sense byte.
Step 1 - Refer to the Unit Check section of
Table 27. Since Channel End and
Device End are on, you are
referred to Table 31 to find
further actions based on the
results of the ERP analysis of the
sense information.
Step 2 - Refer to Table 31, which refers
you to Table 35.
Step 3 - Refer to Table 35, where the ERP
actions for various commands are
described. Since the error
occurred on a Read Text command,
the ERP action taken depends on
whether or not dynamic buffering
is being used. Assuming that it
is not, ERP will build a channel
program to write NAK and then
transfer-in-channel (TIC) back to
the Read Text command.
(ftFailing
CCW" refers to the CCW on which
the interrupt occurred.>
Example 2: A transmission causes an
incoming ETB or ETX character to be distorted so that it is not recognized as a
control character, the bcc characters are
considered data characters and sent into
main storage" exhausting the count in the
Read Text CCW. The status indication is

Channel End/Device End/Unit Check, with
Lost Data indicated in the sense byte.

Step 4 - Refer to Table 39, Part B, which
indicates that ERP builds a channel program to write NAK and then
restarts the original channel program at the Read Text command.

step 1 - Same as in example 1.
Step 2 - Refer to Table 31, which, for a
Lost Data condition, refers you to
Table 36.
step 3 - Refer to Table 36, which indicates
that, assuming dynamic buffering
is not being used, a special
return code (X'82') is set up in
IOBWORK + 1 (one of the two locations in the Input/Output Block
(lOB) where special codes are
placed for later analysis by the
Special Return routine). Then a
channel program is gene~ated to
read the ENQ that the transmitting
station will send when it does not
receive a response to the block of
text. When the channel program
ends as a result of receiving the
ENQ, the ERP Special Return routine is entered.
Table 27.

Table 26.

Index to BSC ERP Tables

r-----------------------------------------,
Table
Description

27
Status Analysis
28
Channel Data Check
29
Equipment Check
30
Command Reject
31
Sense Byte Analysis
32
Bus Out
33
OVerrun
34
Intervention Required
35
Data Check
36
Lost Data
37
Timeout
38
Unit Exception
39
Special Return Codes
40
Error Post Actions
L ________________________________________
_

Status Analysis -- BSC

r--------------------------T---------------------------------------------------~-~=-====l

I stat us
I
Action
I
~--------------------------+----------------------------------------~-------------------i
I Attention
I 1. set "should Not Occur" bit in DECERRST.
I
Istatus Modifier
I 2. Update statistics table.
I
IControl Unit End
I 3. See Table 29 for further actions.
t
I Busy
I
,
~--------------------------+----------~---------------~---------------------------------i
IStart I/O
I 1. Update statistics table.
I
ICondition Code = 1
I 2. See Table 29 for further actions.
I
I (CSW Stored)
I
,
~--------------------------+------------------------------------------------------------i
,Channel Data
, 1. Update statistics table.
,
,Check
, 2. See Table 28 for further actions.
,
~--------------------------+------------------------------------------------------------i
,Program Check
,1. Set indicator to cause recording of
,
IProtection Check
I
occurrence in the Outboard Recorder (OBR).
,
,Chaining Check
, 2. Notify the console operator.
,
~--------------------------+-----~------------------------------------------------------i
,Unit Check
I 1. If Ch~nnel End and Device End status bits
,
I
,
are both off, update the statistics table.
,
I
I
See Table 29 for further actions.
,
I
I 2. If Channel End and Device End status bits are
,
,
,
not both off, analyze the sense information.
,
,
,
See Table 31 for actions resulting from this analysis. ,
~--------------------------+------------------------------------------------------------i
,Start I/O Condition
,1. write operator message - "IEC0804A xxx
,
ICode = 3
'CONTROL UNIT NOT OPERATIONAL, REPLY CONT
,
' O R POST" where xxx is the line address of
,
, (Not Operational)
the line involved.
,
,
,
,
,2. If reply is "CONT" retry the failing channel
,
,
,
program; if reply is "POST"" post ECB
,
,
,
complete with permanent I/O error; if reply is
,
neither "CONT" nor "POST"" repeat the message.
,
,
,
~--------------------------+------------------------------------------------------------i
,Unit Exception
, This status bit can be turned on by equipment
,
,
, or by BTAM. See Table 38 for action taken
,
, __________________________ , ____________________________________________________________
when this status bit is on.
L
J,
~

Error Recovery procedures and Error Recording

209

Table 2S.

Channel Data Check --- BSC

r--------------------------T------------------------------------------------------------,
I Command
I
Action
I
~-~------------------------+---------------------------~--------------------------------i

IWrite Text (11)
I

I Indicate a permanent I/O error, then proceed with
I error posting.

I
I

~--------------------------+------------------------------------------------------------i

IAny write except
IWrite Text

I If retry limit (7) has been reached, proceed
I with error posting; if not, retry the failing CCW.

I
I

~-------------------------~+-----------------------------------------~------------------i
I If retry limit (7) has been reached, proceed
I

IRead Text (11)
I (Dynamic Buffering
,Not Used)

, with error posting; if not, Write NAK and
, TIC to the failing CCW.

,

IRead Text (11)
I (Dynamic Buffering Used)

I

, Indicate a permanent I/O error, then proceed

,
I

,
~--------------------------+------------------------------------------------------------i

with error posting.

~--------------------------+------------------------------------------------------------i

IRead ENQ (OB)

,

I

I If retry limit (7) has been reached, proceed
if not~ retry the
I failing CCW.

I with error posting;

I
I
I

~--------------------------+------------------------------------------------------------i

,Read Response to ENQ (OC) , Write ENQ and TIC to failing CCW,.

I

~--------------------------+-----~------------------------------------------------------i

IRead Response to
, Write ENQ and TIC to failing CCW.
'Text ( 2 5 ) ,

I
,

~--------------------------+------------------------------------------------------------i

'All other Reads
I set up special r~turn code X'SO' in
,
I
, IOBWORK+l and generate a channel program
,
I __________________________ , ____________________________________________________________
to read a response.
L
J,
~

Table 29.

Equipment Check -- BSC

r---------------------:----T------------------------------------------------------------,
, Command
'Action
I
~--------------------------+-----------------------------------~------------------------i
IWrite Text (11)
, Write ENQ and TIC to the CCW following
,

I (Dynamic Buffering
Inot used)

I the failing CCW (the Read Response to Text
I command).

,
,

~--------------------------+-------....;-----------------------------------------------------i

IRead Text (11)
, (Dynamic Buffering
,not used)

I set up special return code X'SO' in IOBWORK+l
I and generate a Read response channel
, program.

,
,
,

~--------------------------+-----------------------------------------------------~---~--i

IRead or write Text

I Indicate permanent I/O error, then

1(11) (Dynamic

, proceed with error posting.

I Buffering used)

I

,

I
,

~--------------------------+------------------------------------------------------------i

IAny command not
I If retry li~it has been reached,
I
Iduring text transfer
, indicate a permanent I/O error and
I
I (i. e., any TP-Op
, proceed with error posting = i~ not"
,
Icode
other than 11)
, ____________________________________________________________
restart the channel program.
L__________________________
J,
~

210

os BTAM SRL

Table 30.

Command Reject

-~

BSC

r--------------------------T------------------------------------------------------------,
ICommand
I
Act ion
I

~--------------------------+------------------------------------------------------------i
IRead Response to
I If retry limit (7) has been reached,
I
IText (25)
I indicate a permanent I/O error, then
I
I
I proceed with error posting; if not,
I
I
I set up special return code X'04' in
I
I
I IOBERRCT+1 and write DLE ENQ.
I
~--------------------------+------------------------------------------------------------i
IAny command with
I· Check for channel End and Device End
I
la Special Return
I status only. If both bits are on,
I
Icode of x'04'
I clear the special return indicator and
I
I
I return to the supervisor; if not,
I
I
I indicate permanent I/O error. then proceed
I
I
I with error posting.
I
~--------------------------+------------------------~-----------------------------------i
IAII other commands
I Indicate permanent I/O error, then proceed
I
I ____________________.______ .,LI __________________________
with error posting.
L
..,;, _________________________________ JI

Table 31.

Sense Byte Analysis -- BSC

r------------T------------------------------T-------------------------------------------,
Sense Bit
I
Condition
I
Action
o

I
I
I
I
i

I

~

~

Command Reject
I
See Table 30
1
Intervention Required
I
See Table 34
2
Bus Out Check
I
See Table 32
3
Equipment. Check
I
See Table 29
4
I
Data Check
I
See Table 35
5
I
Overrun
I
See Table 33
6
I
Lost Data
I
See Table 36
L ____________
_
7
I ______________________________
Timeout
I __________________________________________
See Table 37

Error Recovery Procedures and Error Recording

211

Table 32.

Bus Out -- BSC

r--------------------------T------------------------------------------------------------,
I Command
I
Action
I

~--------------------------+-----------------------~------------------------------------~

I

I

I

IDial (01)
I
If retry limit (7) has been reached, indicate
I
I
1
a permanent I/O error, then proceed with error
1
I
I
posting; if not., disable the line and TIC to
I
l i t h e first CCW.
1
~--------------------------+------------------------------------~-----------------------~
IPol1 (03)
I
If retry limit (7) has been reached, indicate
I
I
I
a permanent I/O error, then proceed with
1
I
1
error posting; if not, restart the channel
1
I
I
program at the first ccw and start polling
I
I
1
with the failing station.
I
~--------------------------+------------------------------------------------------------~
IWrite -- Prior to
1
Check to see if this is a write EOT command
1
IText Transfer
I
(TP-Op Code 02). If so, restart the channel
I
I (TP-Op Code less
I
program at the failing CCW; if not, restart
I
Ithan 10)
I
the channel program at the ccw following
I
I
.1
the failing CCW.
I
~--------------------------+------------------------------------------------------------~

IWrite -- During
IText Transfer (11)

I

Check to see if the residual count is equal
I
to the original count. If so, restart the
1
I
I
channel program at the failing CCW; if not
l
I
I
indicate a permanent I/O error, then proceed
1
I
I
wi th error posting.
I
~--------------------------+------------------------------------------...;------...:----------~
IAII other writes
I
Check to see if this is the last CCW in
I
I
I
the channel program. If so, restart the
I
I
I
channel program at the failing CCW; if not,
I
I
I
re~tart the channel program at the CCW
I
I
I
following the failing CCW.
I
1

~--------------------------+------------------------------------------------------------i

IAny Read Command
I
I
I
I
I

I

I
I
I
I
I

Check to see if the residual count is
equal to the original count. If so,
restart the channel program at the failing
CCW; if not, indicate a permanent
I/O error then proceed with error

I
I
I
I
I

posti~g.

1

~--------------------------+-------------------------~-------~--------------------------i

IAII
other commands
I____________________________________________________________
Restart the channel program at the failing CCW.
L
__________________________
JI
~

212

OS BTAM SRL

Table 33.

Overrun -- BSC

r--------------------------T------------------------------------------------------------,
ICommand
I
Act ion
I
IRead ENQ (OS)

I

I

I If retry limit (1) has been reached, indicate a
with error posting;
I if not, restart the channel program at the failing CCW.

I permanent I/O error, then proceed

I
I

I

~--------------------------+---------------------------------------------~--------------~

IRead Response
Ito ENQ (OC)
I
I

I If retry limit (1) has been reached, in1icate

I a permanent I/O error, then proceed with error
I posting; if not, restart the channel program
I at the CCW preceding the failing CCW.

I
I
I
I

~--------------------------+------------------------------------------------------------~

IRead Response
Ito Text (25)
I
I

I
I
I
I

If retry limit (1) has been reached, indicate
a permanent 1/0 error, then proceed with
error posting; if not, generate a channel
program to Write ENQ, then TIC to the failing CCW.

I
I
I
I

~--------------------------+------------------------------------------------------------~

IRead Text (11)
I
I
I
I

I If dynamic buffering is
I
I
I
I

specified, indicate
a permanent IIO error, then proceed with
error posting; if not (and if retry
attempts have not been exhausted), generate a channel
program to Write NAK, then TIC to the failing CCW.

I

I
I
I
I

~--------------------------+------------------------------------------------------------~

IAII other commands
I

L __________________________

Table 34.

I set "should not occur" bit in DECERRST, indicate a
I
I ____________________________________________________________
permanent I/O error, then proceed with error posting.
JI

~

Intervention Required -- BSC

r--------------------------T------------------------------------------------------------,
command
Action
Each of the actions described below is preceded by a
test to see whether the retry limit (1) has been
reached. If so, a permanent I/O error is indicated.
then ERP proceeds with error posting; if not, the
action listed below for the appropriate command is
performed. Except for the Dial command, the actions
listed below apply only to a nonswitched line. If an
error occurs on any command other than Dial, for a
switched line, ERP indicates a permanent error and
proceeds with error posting.

~--------------------------+-----------~------------------------------------------------i

IDial (01)
I

I Generate a channel

I
I

progra~ to perform a
I Disable, then TIC to the failing CCW.

~--------------------------+------------------------------------------------------------i

IPrepare (01)

I Restart the channel program at the first

CCW.

I

~--------------------------+------------------------------------------------------------~

IPol1 (03)
I

I Restart the channel program at the first CCW
I and start polling with the failing station.

I
I

~--------------------------+------------------------------------------------------------~

IRead Text (11)
I (Dynamic Buffering
INot Used)
I
I
I
I
I

I set up special return code X'Sl' in IOBWORK+1

I and generate a Read ENQ channel program. If
I this is a Read Initial operation on a multipoint
I line, set up for the Special Return routine
I to retry the Read using the second Read
I command (i.e., the one following the Read Index);
I if not a Read Initial on a multipoint line, set
I up for it to retry the Read using the failing CCW.

I
I

I

I
I

I

I
I

~--------------------------+------------------------------------------------------------~

IRead Text (11)
I (Dynamic Buffering Used)

I Indicate a permanent IIO error, then proceed
I with error posting.

I
I

~--------------------------+----------------------------------------~-------------------~

IWrite Text (11)
I

I

I

I If the residual count is equal to the original

I count, restart the channel program at the failing
I ccw; if not, indicate a permanent I/O error,
I then proceed with error posting.

I

I

I

I

~---~----------------------+------------------------------------------------------------i

IAII
other commands
I _______________
Restart the channel
program at the failing CCW.
L__________________________
____________________________________________
JI
~

~

Error Recovery Procedures and Error Recording

213

Table 35.

Data Check -- BSC

r----------------~---------T------------------------------------------------------------,

ICo.mmand
I
Actio.n
I
~--------------------------+-----~--------------~---------------------------------------i
IRead ENQ (OB)
I If the retry limit (7) has been reached,
I
I
I indicate a permanent I/O erro.r, then pro.ceed
I
I
I with erro.r posting: if nct, reS'tart the
I
I
I
I channel pro.gram at the fa,iling Ccw.
~--------------------------+------------------------------------------------------------i
IRead Response
I If the retry limit (7) has been reached, indica~e
I
Ito. ENQ (OC)
I a permanent I/O erro.r, then pro.ceed with
I
I
I errcr po.sting; if net, restart the c h a n n e l l
I
I pro.gram at the ccw preceding the failing CCW.
I"
~--------------------------+------------------------------------------------------------i
IRead ID Respo.nse
I If the retry limit (7) has been reached, indicate
I
1(07)
I a permanent I/O errcr, then prcceed with errcr
I
I
I
I posting; if nct, restart the channel prcgram
I
I at the preceding CCW if it is a write ID ENQ ccw.
I
I
I If ether than a write ID ENQ ccw, restart at the
I
I
I failing CCW.
I
~--------------------------+------------------------------------------------------------i

I Read Respcnse
Ito. Text (25)
I

I

I

I
I
I
I
I

If the retry limit (7) has been reached,
indicate a permanent I/O errcr, then
pro.ceed with errcr pcsting; if nct,
generate a channel prcgram to. Write ENQ, then
TIC to. the failing CCW.

I
I

I
I

I

~--------------------------+------------------------------------------------------~-----i

IRead Text (11)
I (Dynamic Buff~rin9
INct Used)
I

I

I
I
I

I
I
I
I
I
I
I
I

If the retry limit (7) has been reached,
indicate a permanent I/O errcr, then
pro.ceed with errcr pcsting; if nct, set up special "return ccde X'SB' in IOBWORK+l and generate a channel prcgram to. write NAK, then TIC to. the failing Read CCW.
(TIC to. the previcus CCW if it
is a Read respcnse to. text; ptherwise, TIC to. the
Read text CCW.)

I
I
I

I
I

I
I
I

~--------------------------+------------------------------------------------------------i

IRead Text (11)
I Indicate a permanent I/O errcr has cccurred
I
IDynamic Buffering Used}
I then prcceed with errcr posting.
I
~--------------------------+--~---------------------------------------------------------i
IAII cther ccmmands
I Set "shculd nct cccur" bit in DECERRST,
I
I
I indicate a permanent I/O errcr has cccurred,
I
then prcceed with errcr pcsting.
IL__________ - _______________ I____________________________________________________________
JI
~

214

OS BTAM SRL

Table 36.

Lost Data -- BSC

r--------------------------T------------------------------------------------------------,
I Command
I
Action
I

I

I
,
I
I
I
I

I

I

, unless otherwise specified, each of the actions
,
,
, described below is preceded by a test to
, see whether the retry limit (7) has been
,
I reached. If so, a permanent I/O error is
,
,
I indicated, then ERP proceeds with error
I posting; if not, the action listed below
,
,
I for the appropriate command is performed.
,
~--------------------------+------------------------------------------------------------i
,Dial (01)
I Generate a channel program to perform a
I
,
I
I Disable, then TIC to the failing CCW.
~--------------------------+------------------------------------------------------------i
IPrepare (01)
I Restart the channel program at the failing CCW.
,
~--------------------------+---------------------------------------------------------~--~
,Read ENQ (OB)
, If the CCW is part of a Write Reset channel
I
,
I
, program set the retry count to seven, indicate
I
I
, permanent I/O error, then proceed with error
I
I posting; if not, restart the channel program
I
I
I
, at the failing CCW.
~--------------------------+------------------------------------------------------------i
tRead 10 Response
I set up a special return code X'S3' in
I
1(07)
I IOBWORK+1 and generate a channel program
I
I
I to Read Response (with count =2).
I
~--------------------------+------------------------------------------------------------~
IRead Response
I Generate a channel program to Read Skip and
I
Ito ENQ (OC)
I set up for later restart of the channel
I
I
i program at the ccw preceding the failing CCW.
!
~--------------------------+------------------------------------------------------------i
IRead Response
I Set up special return code X'S3' in IOBWORK+l
I
Ito text (25)
I and generate a channel program to perform
I
I
I a ~ead Skip.
I
~--------------------------+------------------------------------------------------------i
IRead Text (11)
I Set up special return code X'S2' in IOBWORK+l
I
I and generate a channel program to Read
I
I (Dynamic Buffering
INot Used)
I ENQ (with count = 2). If this command is
I
I
I part of a Write Conversational channel
I
I
I
I program, set up for the special return
I
I routine to restart the channel program at
I
I
I
I the CCW preceding the failing CCW instead
I
I of at the failing CCW.
I
~--------------------------+------------------------------------------------------------i
IRead Text (11)
I The retry limit test is not performed. set special
,
I return code X'lA' in IOBERRCT+l, set
,
I (Dynamic Buffering
,Used)
I the retry count to seven, and generate a channel
,
,
I
, program to perform a Read Skip.
~-------------------~------+------------------------------------------------------------f
IAII other commands
I The retry limit test is not performed. Set the
,
,
I
I "should not occur" bit (in DECERRST)
I
I
, and generate a channel program to perform a Read Skip.
I
I Set the retry count to seven and set special
I
I __________________________ I _______
return code X'lA' in IOBERRCT+l.
L
_______________________________ J,
~

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

Error Recovery Procedures and Error Recording

215

Table 37.

Timeout--BSC (Part 1 of 2)

r--------------------------T------------------------------------------------------------,
I Command
I
Action
I
I
I
I
I
I
I
I
I
I

I
I
I
I
I
I
I

Unless otherwise specified, each of the
actions described below is preceded by a
test to see if the retry limit (7) has
been reached. If so, a permanent I/O
error is indicated, then ERP proceeds
with error posting; if not, the action
I listed below for the appropriate command
I is performed.

I
I
I
I
I
I
I
I
I

~--------------------------+------------------------------------------------------------i

IDial (01)
IDisable (01)

I Restart the channel program at the failing
I CCW.

I
I

~--------------------------+------------------------------------------------------------i

Read Response
to EOT (OB)
Read ENQ (OB)

For a failing read ENQ command:
.
If the operation is a Read Initial (X'Ol') for
a switched line, restart the channel program
at the Read ENQ command; if a Read Initial for
a nonswitched line, restart the channel program
at the preceding command.

If the operation is a Read Initial Inquiry
(X'19') restart the channel program at the
preceding command.
If the operation is a Read Inquiry (X'lS'),
and no retries are requested., set the retry
count to seven, then proceed with error posting.
If it is a Read Inquiry and retries are requested, restart the channel program at the
failing command.
If the Read ENQ appears in an operation other
than one of the foregoing, restart the channel
program at the failing command
For a failing Read Response to EOT command,
(The operation is a Write Reset):
Set the retry count to seven and proceed with
error posting.
~--------------------------+------------------------------------------------------------i

IRead Response
Ito ENQ (OC)

I Restart the channel program at the CCW
I preceding the failingCCW.

I

I

~--------------------------+------------------------------------------------------------i

\Read Response
I Restart the channel program at the first
I
Ito polling (OA)
I CCW and start polling with the failing station.
I
~--------------------------+------------------------------------------------------------i
IRead Response
I Restart the channel program at the first CCW.
I
I
I
I to Addressing (06)
~---~----------------------+------------------------------------------------------------i
Read ID Response (07)
If the maximum retry count has not been reached:
If this is the calling station, restart the
channel program at the CCW preceding the failing
CCW; if it is the answering station., restart at
the failing CCW.
If the maximum retry copnt has been reached:
If this is the calling station., set special
return code X'SC' in IOBWORK+l and write DLE EOT,
then disable the line; if this is the answering
station, disable the line and TIC to the
Enable CCW.
------------------------~-~------------------------------------------------------------

216

OS BTAM SRL

Table 37.

Timeout--BSC (Part 2 of 2)

r--------------------------T------------------------------------------------------------,
ICommand
I
Action
I

~--------------------------+------------------------------------------------------------i
IRead Text (11)
I If this is a polling operation., adjust
I
I CCW address and count (if necessary)
I
I (Dynamic Buffering
INot Used)
I to keep index byte location
I
I
I from being overlaid, set up
I
I
I
I return code X' 81' in IOBWORK+l and generate
I
I a channel program to Read ENQ
I
I (with count = 2); if not, restart the channel
I
I
I program at the failing CCW.
I
I _
~--------------------------+------------------------------------------------------------i
IRead Text (11)
I The retry limit test is not-performed.
I
I (Dynamic Buffering
I Indicate a permanent I/O error, then
I
IUsed)
I proceed with error posting.
I
~--------------------------+------------------------------------------------------------i
IRead Response to
I set special return code X'86' in IOBWORK+1 and
I
IText (25)
I generate a channel program to write ENQ, then
I
I
I TIC to the failing CCW.
I
~--------------------------+------------------------------------------------------------~
IWrite Transparent
I Generate a. channel program to Write DLE ENQ,
I
IText (11)
I then TIC to the failing CCW,
I
~--------------------------+----------------------------------------~--------------------i
IAII other
I The retry limit test is not performed.
I
I Set ·should not occur" bit (in DECERRST),
I
I commands
I
I
I indicate a permanent I/O error, then
L
JI
I __________________________ I____________________________________________________________
proceed with error posting.
~

Table 38.

Unit Exception -- BSC (Part 1 of 3)

r--------------------------T------------------------------------------------------------,
I Command
I
Action
I
~--------------------------+----~------------------------------~------------------------i

I

I

I

IWrite ENQ (03)
I If NAK or RVI was received, set improper response
I
r (X'40') in DECFLAGS and restart the channel
I
I
I
I
I program at tQe CCW preceding the failing_ CCW. If
I
I neither NAK nor RVI was received, set special
I
I
I return code x'84' in IOBWORK+1 and generate a
I
I channel program to Read ENQ, with count=2.
I
I
~--------------------------+------------------------------------------------------------f
IWrite Response to
I Set up special return code X'80' in
I
IENQ (08)
I IOBWORK+l and generate a channel program
I
I
I to Read Response (with count=2).
I
~--------------------------+----~-----------------------~------------------------------~
IWrite Text (11)
I Set special return code X'88' in IOBWORK+1 and
I
I
I generate a channel program to Read Response
I
I
I (with count=2).
I
~--------------------------+------------------------------------------------------------i
IWrite Response to
I Set up special return code X'80' in
I
IText (08)
I IOBWORK+1 and generate a channel program
I
I
I
I to Read Response (with count=2).
~~-------------------------+------------------------------------------------------------~
IWrite EOT (21)
I If the operation is a write reset, restart the
I
I
I channel program at the next CCW; if not, set
I
I
I
I special return code X'87' in I OB WORK +1 and
I
I generate a channel program to Read Response,
I
I
I with count=2.
I
t--------------------~-----t------------------------------------------------------------i
!write ~'lACK (01)
: Set up special return code X'SO' in I0W"1()RK+1 and
:
I
I generate a channel program to Rel'td ReSr)onS8 (,.,i th
I
I
I count=2).
:

L _____________ ---..1._ - - - - ______________________ -- _______ ..J
IAII other Writes
I Set '-'should-not-occur" bit (in DECERRST).,
I
I
I
I indicate a permanent I/O error" then proceed
L
______ JI
I __________________________ I _____________________________________________________
with error posting.
~

~

Error Recovery Procedures and Error Recording

217

Table 38.

unit Exception -- (Part 2 of 3)

r--------------------------T------------------------------------------------------------,
j Command
,
Act ion
,

~--------------------------+~-----------------------------------------------------------i
,Poll (03)
, If the failing CCW is the first one in
,
,
, the channel program, set special
,
I
I return code X'88' in IOBWORK+l and generate
I
,
, a channel program to Read ENQ (with count=2); if
I
I
, not, set up to start polling" beginning with the
,
I
, failing station, and restart the channel
I
I
I program at the first ccw.
,
~--------------------------+~-----------------------------------------------------------i
IAny Read command
, If this is the first time through ERP,
,
I
, perform the action described below for
,
I
, the specific type of Read command; if not., turn off the
,
I
, 'ERP-in-control' indicator and restart
,
I
, the channel program. If two consecu~ive RVI's
I
I
, are received, proceed with error posting.
I
~--------------------------+------------------------------------------------------------i
IRead ENQ (OB)
, If EOT was received, proceed with error
,
I
,posting; if not, determine whether the retry
,
,
I limit (7) has been reached. If it
I
,
, has, indicate a permanent I/O error,
,
,
, then proceed with error posting; if not,
,
,
, restart the channel program at the CCW preceding
I
,
, the failing CCW.
,
~--------------------------+------------------------------------------------------------i
,Read Response to
I If the retry limit (7) has not been reached, and NAK or
I
'ENQ (OC)
I RVI was received, indicate improper response (X'40') in
,
I
I DECFLAGS and restart the channel program at the preceding ,
,
I CCW. If the retry limit has not been reached, and neither ,
I
, NAK nor RVI was received, set special return code X' 84'
I
,
I in IOBWORK+l and generate a channel program to Read ENQ.,
,
,
I with count=2. If retry limit has been reached, indicate a ,
,
, permanent I/O error, then proceed with error posting.
,
~--------------------------+------------------------------------------------------------i
Read ID Response (07)
I If the operation is a write connect: If ID NAK
I or an invalid ID was received, restart the
I channel program at the CCW preceding the failing
I CCW. If after 7 retries ID NAK is still received.,
, post the operation normally. If after 7 retries
, an invalid ID is still received, Write DLE EOT
, and disable the line.
, If the operation is a Read Connect: If an
I invalid ID was received, restart the channel
, program at the failing CCW, until the retry
, count of 7 -,is reached; thereafter, disable the line.
, For any other condition, or any other character
, received, set 'should-not-occur' bit (in DECERRST),
, indicate a permanent I/O error., then proceed
, with error posting.
~--------~-----------------t----------------------------------------------~-------------i
'Read Text (11)
1. If ENQ was not the last character received"
,
I
set "should-not-occur" bit (in DECERRST" indicate a
,
,
permanent I/O error, then proceed with error posting.,

I
I

2.

,

I
I
I
I
I

3.

I
,
I
I
If ENQ was the only character received, dynamic buf- I

If ENQ was received and dynamic buffering is being
used, proceed with error posting.

fering is not being used_ the CCW preceding the fail-,
ing CCW is a write Response to Text (TP-Op code 08), I
and the retry limit (7) has not been reached:
I
I
Restart the channel program at the CCW preceding the ,
I
failing CCW .

The ERP control routine proceeds with
its own analysis of the condition
code, status, and sense information
to determine the action to be
taken, rather than being forced to
pass control to a specific
ERP routine.

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

220

OS BTAM SRL

Table 39.

Special Return Codes (Part 2 of 6 )

r---------------------------------------------------------------------------------------,I
IPart B. Actions for Special Return Codes in IOBWORK+l
~-------T-----------------------------T-------------------------------------------------i

I Code
Iset:
I Action
I
~-------+-----------------------------+-------------------------------------------------i
X'SO'
When Equipmerit Check
If ENQ was received:
is detected on a Read
Text CCW.
(for multipoint line) Clear the
special return indicators, resend the
last-sent acknowledgment, and TIC to
the failing CCW.
(for non-multipoint line) Clear the
special return indicators and restart
the channel program at the failing CCW.
If ENQ was not received:·
(if retry limit has been reached) Clear
the special return indicators, then
proceed with error posting.
(if retry limit has not been reached)
Restart the ERP channel program at the
beginning.

r-------+-----------------------------+-------------------------------------------------i
X'Sl'
11. When a Timeout on a
If ENQ was received:
Read Text CCW is

j

2.

detected (multipoint

Clear the special return indicators

line).
When an Intervention
Required error occurs on
a Read Text CCW.

and generate a channel program to
Write NAK and TIC to the failing CCW.

If ENQ was not received:
(if retry limit has been reached) Clear
the special return indicators and proceed with error posting.
(if retry limit has not been reached)
Restart th~ ERP channel program at the
I
beginning.
~~------+----~------------------------+-------------------------------------------------i
IX'S2'
IWhen Lost Data occurs
I Clear special return indicators and
I
I
Ion a Read Text CCW.
I generate a channel program to Write
I
I
I
I
I NAK and TIC to the failing CCW.
r-------+---------------------------~-+-------------------------------------------------i

IX'S3'
IWhen Lost Data occurs
I Clear special return indicators and
I
I
Ion a Read ID Response
I generate a channel program to write
I
I
lor Read Response
I ENQ and TIC to the failing CCW.
I
I _______ Ito
Text CCW.
I _________________________________________________ JI
L
_____________________________
~

~

Error Recovery Procedures and Error Recording

221

Table 39.

Special Return Codes (Part 3 of 6)

r-------T----------------------------~-------------------------------------------------,

I Code
I Set:
I Action
I
~-------+-----------------------------+-------------------------------------------------i

I

X'84'

I

IWhen unit Exception is
I indicated on a Read
Iresponse to ENQ or
IWrite ENQ CCW.

I

I

I
I
I
I

I

If the operation is write Inquiry (X'16 e

):

I

If line is n~nswitched, restart the channel
program at the failing command.
If line is switched:
If ENQ was received, turn on the contention bit (bit 3) in OECFLAGS and clear the
return indicators.
If OLE EOT was received. proceed with
error posting.
If the operation is not write Inquiry:
If ENQ was received:
If the operation is not write Initial
(X'02'), set "should-not-occur" bit (bit
1) in OECERRST, clear the special return
indicators, and proceed with error
posting.
If the operation is a Write ,Initial:
If the line is switched or multipoint,
set "should-not-occur" bit (bit 1) in
OECERRST, clear the special return
indicators, and proceed with error
posting.
If the line is nonswitched:
If this is not the primary station,
turn on the contention bit (bit 3)
in OECFLAGS, restore the CSW information in the CSW, clear the special
return indicators, indicate no more
retries are to be made, and return
control to the supervisor.
If this is the primary station and
the retry limit has not been reached, restart the user channel program
from the beginning.
If this is the primary station and
the retry limit has been reached,
clear the special return indicators
and proceed with error posting.

I
I
I
I
I
I
I
I
_______ iI _____________________________ i

222

OS BTAM SRL

I
I

If ENQ was not received:
If the operation is write Connect (X'lC),
execute a Read Skip command.
If the operation is not write Connect
(X'lC'), restart the channel program at
the failing command.
________________________________________________
_

I
I
I
I
I
I

Table 39.

Special Return Codes (Part 4 of 6)

Clear the special return indicator and proceed with error posting.
If a NAK is the only character received and
dynamic buffering is not being used:
Clear the special return indicator and
restart the channel program ~t the Write
CCW.
If a NAK preceded by other characters is
received:
Clear the special return indicator and proceed with error posting.

I If the proper ACK (ACK-O or

ACK~l)

is received:

Clear the error indicators in IOBFLAGl and
the special return indicators, then return
control to the supervisor.
If something other than NAK. ACK-O, or ACK-l is
received:
(If the retry limit (7) has been reached)
Clear the special return indicators, then
proceed with error posting.
(If the retry limit has not been reached)
Restart the ERP channel program.
If the wrong ACK is received:
(If dynamic buffering is being used) Clear
the special return indicators and proceed
with error posting.
(If dynamic buffering is not being used)
Clear the special return indicators and
restart the channel program at the Write Text I
CCW.
I
2. When timeout has
occurred on a Read
Response to Text~

If the failing CCW is a Write ENQ:

I
I
I
I
I
I

If the maximum retry count (7) has not been
reached, restart the channel program at the
Write ENQ CCW.
If the maximum count has beenl
reached, proceed with error posting.
I

I

_______ _____________________________
~

~

If the correct alternating acknowledgment was I
received:
post normal completion.
_________________________________________________
JI

Error Recovery Procedures and Error Recording

223

Table 39.

Special Return codes (Part 5 of 6)

r-------T----------------------------~-------------------------------------------------,

I Code
I Set:
I Action
I
~~------+-------------~---------------+--------------~----------------------------------i

1

1
I
I

1

I
I

1

1
1

I

I
I
I
I

I
I

I

I
I
I
I
I
I
I
I
I
I
I
I
I
I

If the wrong alternating acknowledgment
was received: If dynamic buffering was
used, proceed with error posting; if
not used, and the failure occurred during a timeout situation, restart the
channel program at the Write Text CCW;
if not used and the failure did not
occur during a timeout situation,
resend the ENQ character.
If NAK was received, restart the channel program at the Write Text CCW.
If EOT or RVI was received" clear the
error indicators in IOBFLAG1 and the
special return indicators, then return
control to the supervisor.

If some character other than one of the
foregoing was received, restart the
channel program at the Write ENQ CCW.
~-------+-------~---------------------+-------------------------------------------------i
X'87'
IWhen Unit Exception is
If ENQ was received:
I indicated on a Reset
Clear the special return indicators
loperation (TP-Op code
and restart the user channel program
121)
at the failing CCW.
I

I

If ENQ was not received.

1
1
1
1

(Failing CCW is the last CCW in user
channel program) Restart channel program at failing CCW.

I
I
I
I

(Failing CCW is not last CCW in user
channel program) Restart channel proI
gram at the following CCW (Disable).
~-------+---------------------------~-+-------------------------------------------------~
IX'8S'
IWhen Unit Exception is
I Clear the special return indicators and
I
I
lindicated on a Poll
I restart the user channel program at the
I
Write Text CCW.
I _________________________________________________
failing CCW.
IL _______ lor
_____________________________
JI
~

224

OS BTAM SRL

~

Table 39.

Special Return Codes (Part 6 of 6)

r-------T---------------------~-------T-------------------------------------------------,

I Code
I set:
I Action
I
~-------+-----------------------------+-------------------------------------------------i
X'S9'
When Unit Exception is
I If EOT was received, set the retry count to
indicated when STX ENQ
\ 7, clear the special return indicators, and
is received.
proceed with error posting.
If EOT was not received and the first
characters are not STX or DLE STX, set
"should-not-occur" bit in DECERRST.
If the first characters are STX ENQ or
DLE STX ENQ, and the maximum retry count
has not been reached, restart the channel
program at the failing CCW; if the retry
count has been reached, proceed with error
posting.
If the first characters are not STX ENQ
or DLE STX ENQ, clear the error indicators
in IOBFLAG1 and the special return indicators,
I
I then return control to the supervisor.
I
~-------+-----------------------------+-------------------------------------------------i
I X' SA'
I When Unit Exception is
I Execute a Read Skip CCW and set special
I
I
lindicate on a first
I return code X'SA' in IOBWORK+1 after the
I
I
iERP Write CCW.
I original return code is saved. After
I
I
I
I executing the Read Skip, restore the
I
I
I original command and return codes.
I
I

,
I

~-------+-----------------------------+-------------------------------------------------~

I X' SB'
I
I
I

I

I

I When Data Check is
lindicated on a Read
IText CCW (TP-Op
I code 11)

I
I
I
I

I

I

1

If ENQ was received" and the maximum retry
count has not been reached, restart the
ERP channel program (Write NAK and TIC
to the Read CCW).

I
I
I
I

I

I If ENQ was not received, clear the special
I
I
I
I return codes and proceed with error
I
I
I
I posting.
I
~-------+-----------------------------+-------------------------------------------------~
IX'Sc'
lWhen timeout is
I Clear the special return indicators and
I
lindicated on a Read
I proceed with error posting.
I
I
I
110 Response CCW (TP-Op
I
I
code 07) _____________________ I _________________________________________________ JI
I _______ I _______
L
~

~

~

Error Recovery Procedures and Error Recording

225

Table 40.

Error Post Actions (1 of 2)

r-------------------------------~------------------------------------------------------,

ICondition
I
Action
I
~---------~----------------------+-----------------------------------------------~------i

I

IRetry count is at
Ilimit (7)
I
I
I
I
I
I

I
I set up new polling or addressing

I
I

characters, if applicable, and restore the
I
original status and sense information to the
I
I
lOB (this indicates the nature of the original
error that occurred during the user channel
I
program arid that caused ERP to be initiated) '.
I
I If a Timeout error has occurred but the message
I
I is to be suppcessed, pass control to the BTAM
I
I
I channel end appendage; if not, pass control to
I
I
I the operating system message writer.
I
r--------------------------------f----------------------------------------~-------------~

I

I
I
I
I
I

I

I

IRetry count is not at
I
I
Ilimit and:
I
I
~--------------------------------f------------------------------~-----------------------i
11. Failing CCW is not an
I Same as for action when retry count is
I
I
ERP CCW
I at the limit.
I
r--------------------------------f-----------------------------------~----~------------~i
12. A special return code
I Set special return code X'lA' in IOBERRCT+l
I
is present and the
I to force control to be returned to
I
I
I
failing CCW is a
I the.Error Post routine when the next
I
write CCW.
I interrupt occurs, indicate that ERP is in conI
I
I
I trol (X' 24' in IOBFLAG1) " and restart the chanI
I nel program at the CCW following the failing
I
I
I
I CCW.
I

r--------------------------------+------------------------------------------------------i
Lost Data is
I Indicate that ERP is in control (X'24'
I

13.
I
I
I

indicated in the s~se
I in IOBFLAG1), and restart the ERP
I
byte following
I channel program at the beginning.
I
execution of an
I
I
I
ERP channel program
I
I
I
for a write connect
I
I
I
operation.
I
I
~--------------------------------+-----~--------~------------------~--------------------i
14. An error other than
I Indicate that ERP is in control (X'24'
I
I
Lost Data has
I in IOBFLAG1) and restart the channel
I
I
occurred following
I program at the CCW that ended with the
I
execution of an
I error that caused ERP to be initiated.
I
I
I
ERP channel program
I
I
I
for a write Connect
I
I
I
operation.
I
I

r--------------------------------+------------------------------------------------------i
15. An ERP write
I Same as action for condition 2, above.
I

CCW has ended
I
I
with an error.
I
I
~--------------------------------f------------------------------------------------------i
I 6. The interrupt
I Return control to the ERP Control routine
I
occurred on an ERP
I
I.
I
I
CCW other than
I
I
Write, and no
I
I
I
sense errors were
I
I
I
I
indicated in the sense
I
I
byte (ignoring Lost Data). I
I
I
I

I

r--------------------------------f------------------------------------------------------i
17. The interrupt
I Same as for action when retry count
I
I
I

I

I

I

occurred on an ERP
other than write,
and the sense byte
indicates that an error

CCW

ct~~nT~~~

IL___ - or
Lost Data occurred.
-__________________________

226

OS BTAM SRL

I is at the limit.
I
I

I
I

I

I

I

I
I
I ______________________________________________________ JI

~

Table 40.

Error Post Actions (2 of 2)

r---------------------------~----T------------------------------------------------------,

1Condi tion
1
Action
I
~--------------------------------+------------------------------------------------------i
18. The interrupt
I Same action as for condition 4, above.
I
1
occurred on an ERP
I
I
1
CCW other than
1
I
1
Write, the sense
I
I
1
byte indicates Timeout
I
I
1
and the Skip bit
1
I
1
of the failing CCW
1
1
1
is on.
1
1
~--------------------------------+----~-------------------------------------------------i
19.
The interrupt
1 Restart the failing ERP channel
1
1
occurred on an ERP
1 program at the beginning.
1
1
CCW other than Write,
1
1
1
the sense byte
1
I
indicates Timeout,
I
1
1
1
and the Skip bit of
1
I
1
the failing CCW
1
1
1
is not on.
1
I
~-------------------------------_+------------------------------------------------------i
110. SOH % E or SOH % C
1 Set up the fields used in printing operatorI
I
message was received.
1 awareness messages generated by terminals for
1
1
1 SYS1.LOGREC.
The control is passed to the
1
1L _______________________________ 1______________________________________________________
Teleprocessing Recorder.
JI
~

Error Recovery Procedures and Error Recording

221

R~PLAI ~~TE~

lOCAL 3270

ABi2R RECOVERY

~EDURES

ERRORS DETECTED BY THE DEVICE OR CONTROL
UNIT AND CHANNEL DATA CHECK ERRORS
Err~

Table 40B indicates (by errcr condition
and failing command) the recovery actions
taken by BTAM error recovery procedures.
If a diagnostic command is found in the
failin9 CCW chain, action 1 is taken.

Conditi2D§

Table 40A lis~s error conditions according
to the bits that are on in the CSW and
sense byte.

CSW Bits

°32

34

36

35

Sense Bits

37

38

39

44

0

1

X

2

3

4

5

6

'7

1

X

X

2

X

X

Error Condi ton

3

X

4

(X)

X

X

X

(X)

X

X

X

(X)

X

X

X

X

(X)

X

X

X

X

(X)

X

X

X

(X)

X

X

X

9

(X)

(X)

X

X

10

X
X

(X)

(X)

X

X

X

(X)

(X)

(X)

X

X

X

(X)

(X)

(X)

X

X

(X)

(X)

(X)

X

X

X

(X)

(X)

(X)

X

X

X

(X)

(X)

(X)

X

X

(X)

(X)

(X)

X

X

X

(X)

X

X

(X)

X

6
7

X

8

X

(X)

X

5

11

X

12
13

X

X

14
15

X

16

X
X

17
18

X
X
X

X

19
20

X indicates that the bit is on.
(X) indicates that the bit may be on if stacking is done by the channel.

Table 40A.

Error Conditions (according to CSW and sense byte)

Local 3270 Display System Error Recovery Procedures

228.1

Error condition (See Table 40A)
Failing
Command

Command
Code

1

2
3
2
CC#3 CC=3
2

1

4

51

6

2

3

2

6

4

1

2

3

4

1

2

6

1

2

1

1

1

1

1

02

62

4

1

2

2

2

6

Read modified

06

6

4

1

2

2

2

Diagnostic
read

OA

1

2

1

1

1

Select

OB

62

4

1

2

2

Write

01

6

Erase write

05

6

Diagnostic
write

09

Read buffer

2

2

2

Erase all
unprotected

OF

6

Sense

04

62

No operation

03

6

2

2

1

7

1

6

1

3

3
2

8

2

6

2

9

10

1J

7

2

7

12

13

14

15

16

17

18

19

20

(1

4

1

3

3

3

2

62

3

3

2

1

4

1

62

62

62

2

62

3

5

1

1

1

1

1

1

1

1

1

1

1

62 3

1

3

62

7

2

2

2

2

2

2

2

2

62

3

62

62

3

6

7

2

2

2

2

2

2

2

2

62

3

62

1

1

1

1

1

1

1

1

1

1

1

1

1

6

3

1

2

62

62

62

7

7

2

2

2

62

3

62

2

62

3

5

2

2

2

3

62

2

62

3

5

2

4

1

2

2

2

6

4

1

2

2

2

2

2

4

1

2

2

2

2

2

6

2

2

7

7

2

2

2

62

2

2

2

2

2

2

2

2

2

2

62

3

5

2

2

2

2

2

2

2

2

2

2

62

3

5

6

1 This error condition may be the result of stacking in the channel.
2 Action 3 is taken instead if it cannot be verified that the preceding command was not a. write command.

Table 40B.

Recovery Actions (by error condition and failing command)
the operation is retried. The error
is logged in the statistics table.

The recovery actions are:
1.

2.

3.

4.'

Permanent error
The request is marked as a permanent
error condition. The operation is
terminated. The error is logged in
the system error log. Unless the
failing device is the console, a
message is issued to the console
operator indicating the failing device,
operation, and conditions.
should not occur
The req"Uest is marked as a
nonrecoverable error condition.
operation is terminated.

Note: If the failing device is the
console, action 3 is taken.
5.

Retry failing eew
Re~tart the channel program on the
failing CCW. When the retry count
exceeds the number for the error
condition and co~mand, action 1 is
taken.

6.

Retry channel program
Restart the channel program on the
fi~st eel in the chain.
When the
retry count exceeds three, action
1 is taken.

The

Nonrecoverable error
The request is marked as a
nonrecoverable error condition. The
operation is terminated. The error
is logged in the system error log.
Assistance needed
The request is held until a temporary
device error condition is corrected.
A message is issued to the cconsole
operator asking for assistance. When
the error condition is corrected,

228.2

OS BTAM SRL

If the channel program cannot
be reconstructed or verified, action
3 is taken.

~:

7.

Busy
The request is held until the device
is ready. Then the operation is
retried.

ERRORS DETECTED BY THE CHANNEL (EXCEPT
CHANNEL DATA CHECK ERRORS)

9.

Should not occur
A message is issued to the console
operator. Action 1 is taken.

Error Conditions
40C lists error conditions according
to the bits that are on in the ERPCODES
field, which is byte seven of the Error
Recovery procedure Interface Block (ERPIB)
built by the Channel Check Handler.

~able

NQte~

Channel data checks are handled

as~hough they were device-detected errors.

Channe1 control checks and interface
control checks are processed only if the
Channel Check Handler is in the system.

10. Nonrecoverable error
A message is issued to the console
operator. Action 1 is taken.
'1. Retry failing CCW
The failing CCW is retried. If the
error occurs a second time, a message
is issued to the console operator,
and action , is taken.

Failing
Command

ERPCODES Bits

5

6

7

Error Condition (See Table 40C)
21

22

23

24

25

26

27

28

Write

01

9

11

11

10

11

10

9'

9

Erase write

05

9

11

11

10

11

10

9

10

Diagnostic write

09

9

8

8

8

8

8

9

8

21

Read buffer

02

9

11

11

11

J1

11

9

11

22

Read modified

06

9

11

11

11

11

11

9

11

Diagnosric read

OA

9

8

8

8

8

8

9

8

Select

08

9

11

11

11

11

11

9

11

Erase all
unprotected

OF

9

II

II

11

11

11

9

11

Sense

04

9

11

11

11

II

11

9

11

No operation

03

9

11

11

11

J1

II

9

11

Error
Condition

X

23

X
X

Command
Code

X

24
25

X
X

X
X

X

X

X

26
27

X

Note: .Action lOis taken instead of action, 11 if it cannot be verified
that the preceding command was not a write command.

28

Table 400.

X indicates that the bit is on.

Table 40C.

Becove~

Recovery Actions (by error
condition and failing command)

Error Conditions (according to
ERRCODES field in ERPIB)

A£ii2A§

Table 40D indicates (by error condition
and failing command) the recovery actions
taken by BTlM error recovery procedures.
If a diagnostic command is found in the
failing ccw chain, action 1 is taken.
The recovery actions are:
8.

Permanent error
The device is unable to recover.
An ERP involving operator intervention
may be given control, and the failing
CCW may be retried.
Locql 3270 Display System Error Recovery Procedures

228.3

SUGGESTED RETRY OPTIONS FOR

sse READ AND WRITE OPERATIONS

Once a user-program-issued Read or write operation is completed, the program must
decide what the next operation should be. This depends largely on the result of
the preceding operation -- whether it was completed normally, with or without some
exceptional condition or abnormally; and if the latter, what kind of error caused
the abnormal completion. The tables in this chapter suggest, for various completion codes and ending conditions, the next READ or WRITE macro it might be appropriate for the user program to issue.
Table 41. Retry Options for Write Operations (Nons witched Point-to-Point Line [SSC1])
r-----T----------T---------------T----------------------------------------T----~--------,

I TP-OP I Completion I Other
I Indications
ICode I Code
I (hex) I (hex)
I (hex)

I
I
I Meaning

I
I
I
I
IRetry Options I

~-----+----------+---------------+----------------------------------------+-------------~

I
I

I
I

I

~----------+---------------+----------------------------------------+-------------~

I

~----------+---------------+----------------------------------------+-------------i

I

I

I
I

OC I
I

I
i

i

I

I

7F
7F
41

I
IDECFLAGS: 40
IDECFLAGS: CO

I
INAK received in response to ENQ

IWACK received in response to ENQ

IENQ in DECRESPNIENQ received in response to ENQ
I
I (MODE=CNTRL in DCB macro)

I
I

I

I
I

1
1,3, or 6

1

I
I
I
I
I

~-----~----+--------------+---------------------------------;...------+-------------i
41
jDECFLAGS: 10 jENQ received in response to ENQ
I 5
I

I

1

(MODE

=CNTRL in DCS macro)

1

I

~-----+----------+---------------+----------------------------------------+-------------i

I 11 I 41
IData check
I (for TIV, TIVX, TTV, TTVX only)
I
I
I
I
I
I Text was received with error
.
I 2
I
~-----+----------+---------------+----------------------------------~-----+-------------i
I
I 7F
IDECFLAGS: 20 IWrong acknowledgment received in
I
I
I
I
I
I response to text
I 3
I

I

I

I

I

I

I

I

I

~----------+---------------+----------------------------------------+-------------i

25 I

7F

IDECFLAGS:

40

IEOT received in response to text

I

1

I

~--~-------+--------------_+---------------------------------------+-------------~

I 7F
IDECFLAGS: 42 IRVI received in response to text
I 7
I
~----------+---------------+----------------------------------------+-------------i
I 7F
IDECFLAGS: CO IWACK received in response to text
I 3 or 6
1
~----------+--------------_+----------------------------------------+-------------~

1

41

IDECFLAGS:

40

INAK received in response to text

1

4

I

t-----~----------~---------------~----------------------------------------~-------------i

IRetry Options:

I

1

I
I

11. Issue a WRITE Initial (TI) macro.
12. Issue a READ Repeat (TP) macro.
13. Issue a WRITE Inquiry (TQ) macro~
14. Issue a WRITE continue (TT) macro.
15. Issue a READ Initial (TI) or READ Initial Inquiry (TIQ) macro.
16. Issue a WRITE Reset (TR) macro.
17.
Continue normally.
L___________________________________________________________________________

suggested Retry Options for

1
I

I

I
I
I

------------J

Bse Read and Write Operations

229

Table 42.

Retry options for Read Operations--Answering (Switched Point-to-Point [BSC2])

r-----T------~---T--------------_y----------------------------------------T-------------,

ITP-Op I completion; I Other
ICode ICode
I Indications
1 (hex) 1 (hex)
1 (hex)

I
I

1Meaning

I
I
1
1
IRetry options 1

~-----+----------+----~----------+--------------~-------------------------+-------------i

1 OB

J

41

1Timeout

·1 ENQ not received

I

1

1

~-----+----------+---------------+----------------------------------------+-------------i

1
1
1
I

1

7F

I

IDECFLAGS:
I

10

IReceived [ID] ENQ did not match
I expected [ID] ENQ

1
1 6

I
I

~----------+---------------+----------------------------------------+-------------i

I

41

1Timeout

I[ID] ENQ not received

I

5

1

~-----+----------+--------------_+----------------------------------------+-------------i

I

1
1
111

I
I

I

1

ILost data, datal
I
I
I check, or
IText was received with error
I 2 or 4
I
I
I overrun
I
I
I
~----------+---------------+-----------------~----------------------+-------------~
I 41
ITimeout
INO text received
I 1,3 or 4
I

1

41

~----------+--------------_+----------------------------------------+-------------i

I

41

IDECFLAGS:

01

ISTX ENQ received in lieu of text

I

4

I

~-----~----------~--------------~----------------------------------------~-------------i

IRetry Options:

I

11.
12.
13.
14.
15.
I

Issue a WRITE Break (TB) macro to disconnect the line.
Issue a READ Repeat (TP) macro.
Issue a READ Inquiry (TQ) macro.
Issue a WRITE Disconnect (TD) macro to disconnect the line.
If expanded ID verification is in use, BTAM automatically disconnects
the line and reissues the READ connect macro. If expanded ID
1
verification is not in use, issue a WRITE Break (TB) macro.
16. If expanded ID verification is in use, BTAM automatically disconnects
1
the line. You may therefore reissue the READ Connect macro. If expanded
1
ID verification is not in use, !issue a WRITE Break (TB) macro.
L ___________________________________ - - - - - - - - - - - - - - - - - - _________________________________ _

Table 43. Retry Options for Read Operations -- Calling (Switched Point-to-Point [BSC2])

r-----T----------T---------------T----------------------------------------T-------------,
I
1
I

ITP-Op I Completion 1other
I Indications
I Code I Code
I (hex) I (hex)
I (hex)

I
IMeaning

I
I
IRetry options I

~-----+---~------+---~-----------+----------------------------------------+-------------i

I OC

I

41

ITimeout

I No response received to ENQ

I

1

I

~-----+----------+---------------+----------------------------------------+-------------i

I OB

I

41

ITimeout

IENQ not received

I

1

I

~-----+----------+--------------_+---------7------------------------------+-------------i

I

I

I
I

7F

I
I
I

41

IDECFLAGS:
I

10

IInvalid ID received in response to
I ID ENQ

I
I

I

2

I

1 or 3

I
I

I 0 7 ~----------+---------------t------------------..:.------------------·---+-------------i
1
I 41
I Timeout
INO response received to [ID] ENQ
I 1
I
~-----+----------+--------------_+----------------------------------------+-----~-------i
I

I

I
1 11
I

ILost data, datal
I chec.k. or
I Text was received with error
I overrun
I
.

I
I
I

I

~----------+---------------+----------------------------------------+-------------i

I

41

ITimeout

I No text received

I

1. 2, or 4

I

~-----~----------~------~--------~----------------------------------------~-------------i

IRetry Options:

I

I
I

11. Issue a WRITE Disconnect (TO) macro to disconnect the line.
I
12. Issue a WRITE Break (TB) macro to disconnect the line.
I
13. Issue a READ Repeat (TP) macro.
I
14.
Issue a READ Inquiry (TQ) macro.
L_______________________________________________________________________________________
JI

230

OS BTAM SRL

Table 44.

Retry Options for Write Operations (Switched Point-to-Point Line [SSC2])

r-----T----------T----------~---~----------------------------------------T-------------,

I TP-Op I Completion I Other
I
I
I
ICode ICode
I Indications
I
I
I
I (hex)
I Meaning
IRetry Options I
I (hex) I (hex)
~-----+----------+---------------+----------------------------------------+-------------i
I
I 7F
IDECFLAGS: 20.
IWrong acknowledgment received in
I
I
I 1 or 4
I
I
I
I
I response to ENQ
I o.C ~----------+--------~------+----------------------------------------+-------------i
I
I 7F
IDECFLAGS: 40. INAK received in.response to ENQ
I 1 or 4
I
~-----+----------+---------------+----------------------------------------+-------------i
I 7F
IDECFLAGS: 10. IInva1id ID received in response to
IIf original I
I
I
I ID ENQ
loperation is I
I
I
I
I Write TI,
I
I
I
I
loption 4.
I
0.7

I
I

I
I
I
I

I
I

I

I

I If original I
I
I
I operation is I
I
IWrite TC,
I
I
I
I
I
loption 5
I
~----------+---------------+---~------------------------------------+-------------i
I 7F
IDECFLAGS: 40.
INAK or ID NAK received in response to
I
I
I
I
lID' ENQ
I 4 or 5
I
~----------+--------------_+----------------------------------------t-------------i
I 7F
IDECFLAGS: co. IWACK received in response to 10 ENQ
I 4 or 5
I

~----------+---------------+-----~-----------~--------~-------------t-------------i
I 41
I Timeout
INO response received to [10] ENQ
IIf original I
I
I
I
loperation is I
I

•

I

I

I
I
I

I

•
I
I

I
I

I...... ...........

I

ILl.... .;+- ...

I
I
I
I
I
I

4"',
I option 4
I
I If original
I operation is
IWrite TC,
I option 5
'itT

,I

I
I
I

I

I
I
I
I
I
I
~-----+----------+--------~------+---~-----------------------------------+-------------i
I 11 I 41
I Lost data, data I (for TIV,TIVX,TTV, TTVX only)
I
I
I
I
I check, or
I Text was received with error
I 3 or 4
I
I
I
I overrun
t
I
I
t-----+----------+---------------+~--------------~------------------------+-------------i
I
I 7F
IDECFLAGS: 10. Iwrong acknowledgment received in
I
I
I 1 or 4
I
I
I
I
I response to text
I 25 ~----------+--------------_+---~----------~-------------------------t-------------i
I
I 41
INAK in DECRESPNINAK ,received in response to text
I 2 or 4
I
~----------+~--------------+---------------~------------------------+-------------l
I
I 41
I Timeout
INO response' received to text
I 1 or "
I
t-~---~----------~--------------~--------------------------------------~-~-------------i
IRetry Options:
I

I

I

I

11. Issue a WRITE Inquiry (TQ) macro.
I
12. Issue a WRITE continue macro to retransmit the text.
I
13. Issue a READ Repeat (TP) macro.
I
14. Issue a WRITE Disconnect (TO) macro to disconnect the line.
I
15.
Reissue the, WRITE Connect (TC) macro.
L ______________________________________________________________________
- - - - - - - - - -_______ JI

Suggested Retry Options for

sse

Read and write Operations

231

TP-OP
Code
(hex)

/

Completion Code
(hex)

Other Indications
(hex)

Meaning

Retry Options

OA

41

Timeout

No index byte was received

1,2, or 4

09

7F

DECFLAGS: 04

Negative response to polling

1, 2, or 4

03

41

Timeout

No terminal responded to polling

1, 2, or 4

Initial read terminated by RESETPl macro

1, 2, or 4

48

11

41

DEC FLAGS: 01

STX ENQ sent in lieu of text

2

41

Lost data, data check,
or overrun

Text was received in error

2 or 3

41

DEC flAGS: 40

Text was received ending with an ENQ

5

7F

DECFLAGS: 02

Error status message was received

6

Retry Options:
1.
2.
3.
4.

5.
6.

Issue a READ Initial (TI) macro to poll the same or a different station.
Issue a WRITE Reset (TR) macro.
Issue a READ Repeat (TP) macro.
Issue a WRITE Initial (TI) macro.
Issue a READ Initial (TI) macro (using the polling entry of the remote 3270 device for which completion was posted)
to receive the error status message.
Issue a READ Continue (TT) macro, and examine the sense/status bytes to determine what action to toke.

Table 45.

232

Retry Options for Read Operations (nonswitched Multipoint Lines (BSC3»

OS BTAM SRL

TP-OP
Code
(hex)

Completion Code
(hex)

06

11

Other Indications
(hex)

Meaning

Retry Options

7F

DECFLAGS: 04

NAK received in response to addressing

1, 2, or 7

7F

DECFLAGS: 42

RVI received in response to addressing

1, 2, or 7

7F

DECFLAGS: 42

RVI received (remote 3270)

2 or 8

7F

DECFLAGS: CO

WACK received in response to addressing

1 or 2

41

Timeout

No response received to addressing

1 or 2

41

Data Check

(TIV, TIVX, TTV, TTVX only)
Text was received with error

2 or 5

(TiVonly)
Text was received ending with an ENQ

8

41

25

DECFLAGS: 40

7F

DECFLAGS: 20

Wrong acknowledgment received in response to text

2 or 4

7F

DECFLAGS: 42

RVI received in response to text

2 or 6

'7F

DECFLAGS: CO

WACK received in response to text

2 or 4

7F

DECFLAGS: CO

WACK received (remote 3270)

9

4]

DECFLAGS: 40

NAK received in response to text

2 or 3

4]

DECFLAGS: 40
DECRESPN: EOT

EOT received in response to text

8

4]

Timeout

No response received to text

2 or 4

Retry Options:

1.
2.
3.
4.
5.
6.
7.

8.
9.

Issue a WRITE Init.ial (TI) macro to address the same or a different station.
Issue a WRITE Reset (TR) macro to terminate selection.
Issue a WRITE Continue (TT) macro.
Issue a WRITE Inquiry (TQ) macro.
Issue a READ Repeat (TP) macro.
Continue normally.
Issue a READ Initial (TI) macro to poll another station.
Issue a READ Initial (TI) macro (using the polling entry of the remote 3270 device for which completion
was posted) to receive the error status message.
If the write operation started a printer, issue a WRITE Reset (TR) macro to reset the line, and continue normally.

Table 46.

Retry Options for Write Operations (Nonswitched Multipoint Line (BSC3»

Suggested Retry Options for BSC Read and Write Operations

232.1

Completion
Code
{hex}

Other
Indications
{hex}

Meaning

Retry Options

OLTEP received control of the device following normal
completion of the I/O operation

1, 2, 3, or 4

DECFLAGS:Ol
{and other error flags}

OLTEP received control of the device following a permanent
I/O error

2, 3, or 5

41

DECERRST :80

Control unit not operational

1, 2, or 3

41

DECERRST :00
DECSENSO:Ol

Incorrect data stream

41

DECERRST:I0

Integrity of the device regeneration buffer is questionable

4

41

Other tha n above

I/O error

5

44

I/O request intercepted

7

48

Read TI canceled

1

7F

DECFLAGS:Ol

41

6

Retry  error
recovery routines after detecting a permanent error on that
line.

~ote:
If this bit is on after execution of error recovery procedures,
the user program must execute an initial-type Read or Write operation,
in order to reestablish the line connection.

Bits 5-7:

(Reserved)

DECCSWST
Contains the status bits from the CSW for the last CCW that was
executed.
DECADRPT
Pointer to the addressing list entry used in the ?revious operation.
DECPOLPT
For programmed polling, contains the address of the current entry in
the polling list. For Auto poll, the high-order byte contains the
index to the current polling list entry. The remaining bytes con·tain the address of the polling list (i.e., the address of the first
entry therein). For BSC on-line test operations, contains the
address of the area in which user-specified text data is placed (for
test messages). For local 3270 read operations, contains the relative
line uumbeL of the de.ice fru. which th~ :essage ~as read.
DECWLNG

Length of the data area in leading-graphics or cODversational operations or when using READ TiC.
DECWAREA

Address of the data area in leading-graphics and con versational
operations or when using READ TiC. The high-order byte of this
field must always contain ~eros.
Fields Defined by User
It may be useful for the user program to maintain application-dependent
information about the line and about the stations connected to the line.
This may conveniently be done by appending to each DECB a sequence of
fields containing the needed information, which might typically include:
• Line status: A one-byte field that indicates the status of the
line; for example, active or inactive. The inactive bit might be
set after a certain number of transmission errors have accumulated"
to indicate to the message control routine that no further Read and
Write operations are to be executed using that line.
• Address of User Terminal Table: This table would contain a series
of fixed-length entries, one for each terminal., containing terminal
information such as whether or not the terminal is active, and the
addresses of the terminal list entries for that terminal.
• Terminal count:
line.

A count of the number of terminals connected to the

• Processing Routine Address:
tine to be given control for
would contain the address of
control upon completion of a

Contains the address of the next routhe line. For example, this field
a line analysis routine to be given
Read or Write operation.
Appendix B:

Data Event control Block

263

DECSDECB
Standard Event Control Block

o

Message Area Length or Buffer Length

Operation Type
,Standard DECB
Fields

4

I

DECLNGTH

DECTYPE

DECONLTT

I

DECDCBAD

I

I

Address of DCB

I
I

Reserved

I

8

I

DECAREA

I

Address of Message Area
or Address of First Buffer

I

I

Reservptj

I

12

I

DECSENSI

DECSENSO

Sense Byte

I

DECCOUNT

CSW Residual Count

Reserved

16
DECCMCOD

I

DEC ENTRY

I

I

Address of Terminal List
or of an Entry Therein

I

Comma nd Code

I

20
DECFLAGS

Relative Line Number

Status Flags
DECB Fields
Peculiar to BTAM

1

DECRLN

24
DECTPCOD

I

DECERRST

TP-OP Code

I

DECRESPN
Response to Addressing
(1 byte for Start/Stop,
2 bytes for BSC)

I
I
I

I

DECCSWST

I

I

Response to
VRC/LRC
(Start/Stop Only)

CSW Status

I/O Error Status

28
DECADRPT

I

I

I

I

Reserved

J

32
DECPOLPT

36

Pointer to Previous (or Only)
Entry in Addressing List

Index byte (Auto Poll only)
Relative line number
(local 3270 only)

I
I

I
I

Address of Current Entry in
Polling List (Programmed Polling)
Address of Polling List (Auto Poll)

I

I

DECWLNG

Length of Data Area (for BSC Write
Conversational and BSC Read with
Leading Graphics operations)

Reserved
Present only in
DECBs for
BSC lines

40
DECWAREA

I
I

I
Reserved

Fields Defined

{

.

Address of Data Area (for BSC Write Conversational and BSC
Read with Leadi.ng Graphics operations)

I

44

Oy u,,,

I

Line Status

Address of User Terminal Table

Terminal Count

Poll ing List Address
Processing Routine Address
Other User - Defined Data

Figure qO.

26q

as

Format of Data Event Control Block

BTAM SRL

APPENDIX C:

BTAM ERROR MESSAGES AND ABEND CODES

This appendix explains each of the BTAM-related error messages that may
be printed during program execution at the console of the central computer, or at some other console, if the system includes the Multiple
Console Support facility, or tn the assembler listing in the SYSPRINT
data set during program assembly. Also given are Abend codes 090 - 098
which may be issued during opening of a BTAM DCB.
Both system-generated and user-generated messages are described
herein.
System-generated refers to those messages printed at a console
(or in an assembly listing) by the operating system; these begin with a
standard identification, e.g., IEC801I.
User-generated refers to those messages that are sent by the user
(e.g., the operator of a remote station) to the central computer for
routing to the user program, console, or an error file on a system residence device.

ASSEMBLY ERRORS
These messages are produced by the assembler program during expansion of
supervisor and data management macro instructions. They appear on the
assembler listing in the SYSPRINT data set.

r--------------------------------------------,

IL ____________________________________________
IHB002 INVALID xxx OPERAND SPECIFIED-yyy JI
Explanation: An operand whose position or name is xxx was
specified as yyy.
The specified .operand is invalid.
System Action: The macro instruction was partially expanded;
expansion stopped on detection of the error. Severity code =
12.
Programmer Response: Probable user error. Correct the invalid operand and reassemble. If the problem recurs, do the following before calling IBM for programming.support:
•

Have the associated program listing available.

r--------------------------------------------,

IL____________________________________________
IHB072 LERB REQUESTED - EROPT=C ASSUMED
JI

Explanation: LERB was coded in the DCB but EROPT=C (indicating a request for line error recording) was not coded.
System Action: The macro instruction was expanded normally
with line error recording provided.
Severity code=*.
Programmer Response:
Probable user error.
Delete the LERB
operand if line error recording is not wanted.
If line error
recording is wanted, code EROPT=C.
If the problem recurs, do
the following before calling IBM for programming support:
•

Have the associated program listing available.
Appendix C:

BTAM Error Message Formats

265

r--------------------------------------------,

IL ____________________________________________
IHB073 LERB OMITTED - ERROPT=C IGNORED
JI

Explanation:
Line error recording was requested by EROPT=C
but no LERB address was given.
System Action: The macro instruction was expanded normally
with no line error recording provided. Severity code=*.
Programmer Response:
Probable user error. Delete EROPT=C if
line error recording is not wanted.
If line error recording
is wanted, code a LERB address.
If the problem recurs, do the
following before calling IBM for programming support:
•

Have the associated program listing available.

r--------------------------------------------,

IL ____________________________________________
IHB074 EROPT=N - LERB IGNORED
JI
Explanation: LERB was coded in the DCB but error recovery
procedures were not requested (EROPT=N).
System Action: The macro instruction was expanded normally
with 'no line error recording provided. Severity code=*.
Programmer Response:
Probable user error.
Delete the LERB
operand if line error recording is not wanted.
If line error
recording is wanted, code EROPT=C.
If the problem recurs, do
the following before calling IBM for programming support:
• Have the associated program listing available.

r--------------------------------------------,

IL ______
IHB075
TABLE NAME OPERAND REPEATED -.XXX
:.- _____________________________________
JI
Explanation:
In the ASMTRTAB macro instruction, a table name
operand was coded more than once. xxx is the repeated
operand.
System Action: The macro instruction was expanded normally.
Severity code=*.
Programmer Response:
Probable user error.
Remove the duplicate operand and reassemble.
If the problem recurs, do the
following before calling IBM for. programming support:
•

Have the associated program listing available.

r------------------------------------------------,

IL _________________
IHB076 MACRO NAME
FIELD
BLANK - NAME REQUIRED JI
:.-__
'___________________________
Explanation: A name must be specified in the name field for
this macro instruction.
System Action: The macro instruction was not expanded.
Severity code=12.
Programmer Response: Probable user error. Code a name in the
name field of the macro instruction and reassemble.
If the
problem recurs, do the following before calling IBM for programming support:
•
266

Have the associated program listing available.

OS BTAM SRL

r-----------------------------------------------------,I

I IHB078 XXX OPERAND REGISTER NOTATION INVALIO - YYY

L ________________ ~_-----------------------------------J

Explanation: For the xxx operand, the operand was not enclosed in parentheses or specified an invalid register.
YYY
is the invalid notation.
System Action: The macro instruction was not expanded.
Severity code=12.
Programmer Response: Probable user error. correct the register
notation or specify a valid register and reassemble. If the problem
recurs, do the following before calling IBM for programming support;
•

Have the associated program listing available.

r-----------------------------------------------------,

IL _____________________________________________________
IHB079 FIRST OPERAND REGISTER NOTATION REQUIRED
JI
Explanation:
operand.

Register notation is required for the first

System Action: The macro instruction was not expanded.
Severity code=12.
Response:;
Probable user error. Specify a register
notation for the first operand and reassemble.
If the problem
recurs, do the following before calling IBM for programming
support:

Proq1:~amIller

• Have the associated program listing available.

r-----------------------------------------------------,

IL _____________________________________________________
IHB080 ONE ECBLIST OPERAND ONLY REQUIRED
JI
Explanation:
supplied.

The ECBLIST operand was omitted or more than one

System Action: The macro instruction was not expanded.
severity code=12.
Programmer Response: Probable user error, Supply one and only
one ECBLIST operand and reassemble.
If the problem recurs, do
the following before calling IBM for programming support:
•

Haye the associated program listing available.

r-----------------------------------------------------,

IL_____________________________________________________
IHB085 DEVD = xx CODED - EROPT = Y IGNORED
JI
Explanation: In a DCB macro instruction, one of the following
occurred:
• Both DEVD=BS and EROPT=N were coded. However, EROPT=N is
invalid for binary synchronous devices. Error recovery
procedures are required.
•

Both DEVD=WT and EROPT=R, W, or T were coded. However,
EROPT=R, W, or T is invalid for World Trade telegraph
terminals.

System Action: The macro instruction was expanded normally.
The EROPT operand was ignored. Severity code= *.
Appendix C:

BTAM Error Message Formats

267

Programmer Response:
Probable user error. Remove the EROPT
operand and reassemble. If the problem recurs, do the following before calling IBM for programming support:.
•

Have the associated program listing available.

r---------------------------------------------------------------,

Il _______________________________________________________________
IHB100
X OR Y PARAMETER NOT WITHIN ALLOWABLE VALUE RANGE.
JI
Explanation:
In the ONLTST macro instruction, either the X or
Y operand specified an incorrect value. The X operand must
specify a value from 00 through 22, and the Y operand must
specify a value from 01 through 99.
system A.ction: The macro instruction was not expanded.
Severity code = 12.
Programmer Response: Probable user error. Correct the X or Y
operand in the ONLTST macro instruction and reassemble.
If
the problem recurs, do the followinq before calling IBM for
programming support:
•

Have the associated program listing available.

r---------------------------------------------------------------,

Il _______________________________________________________________
IHB103
TEXT OR LENGTH MISSING WHEN X = 0 OR X = 1.
JI
Explanation: In the ONLTST macro instruction, although the X
operand specified 0 or 1, either the TEXT or the LENGTH
operand was missing. Whenever the X operand specifies 0 or 1,
the TEXT and LENGTH operands must also be specified.
System Action: The macro instruction was not expanded.
severity code = 12.
Programmer Response:
Probable user error.
Include both the
TEXT and LENGTH operands in the ONLTST macro instruction and
reassemble.
If the problem recurs, do the following before
calling IBM for programming support:
•

Have the associated program listing available.

r-------------------------------------------,

Il ___________________________________________
IHB104
TEXT OR LENGTH MISSING.
JI
Explanation: In theONLTST ma~ro instruction, either the TEXT
or the LENGTH operand was missing. If one of these two
operands is specified, the other operand must also be
specified.
System Action: The macro instruction was not expanded.
Severity code = 1.
Programmer Response: Probable user error. Include both the
TEXT and the LENGTH operands in the ONLTST macro instruction
and reassemble.
If the problem recurs, "\0 the following
before calling IBM for programming support:
•

268

Have the associated program listing available.

OS BTAM SRL

r---------------------------------------------------------------,

IL_______________________________________________________________
IHB105
X GREATER THAN 1. TEXT AND LENGTH PARAMETERS IGNORED. JI
Explanation: In the ONLTST macro instruction, although the X
operand specified a value greater than 1, the TEXT and LENGTH
operands were also specified. Whenever the X operand specifies a value greater than 1, the TEXT and LENGTH operands
should not be specified.
System Action: The macro instruction is expanded normally,
and the TEXT and LENGTH operands are ignored.
Programmer Response:
Probable user error. Remove the TEXT
and LENGTH operands from the ONLTST macro instruction.
If the
problem recurs, do the following before calling IBM for programming support:
•

Have the associated program listing available.

r----------------------------------------------------~----------,

I

IiIB107
DIALCOUNT AND DIALCHARS
L _________________________________

~

I

NOT IN AGREEMENT.
_____________________________
J

Explanation: In the DFTRMLST macro instruction, the length of
the telephone number specified in the dialcount operand is not
the same as the number of dial digits specified in the dialchars operand.
system ]\J.ction: The dial digits are generated as specified in
the dialchars operand without regard to the length specified
in the dialcount operand. Severity code = 4.

Programmer Response: Probable user-error. Correct the dialcount or dialchars operand in error.
If the problem recurs,
do the following before calling IBM for programming support:
•

Have the associated program listing available.

r-------------------------------------------,I

I

IHB108
POLLING- CHARACTERS
ARE IMPROPER. J
L _________________
-________________________

Explanation: In the DFTRMLST macro instruction. the number of
entries specified in the polling list was greater than 253 or
one of the polling characters. in an entry was hexadecimal FE,
a value that must not be used as a polling character.
System Action: The macro instruction was not expanded.
severity code = 12.
Programmer Response:
Probable user error. Correct the polling list. If the problem recurs. do the following before calling IBM for programming support:
• Have the associated program listing available.

r---------------------------------------------------------------,
LENGTH OF· POLLING CHARACTERS PER ENTRY IS IMPROPER.
I

I IHB109

L ________________________________ - - - - - - - - - - - - - -_________________ J

Explanation: In the DFTRMLST macro instruction, the entries
in the poll~ng list are not all of the same length.
System Action: All entries are truncated or expanded to equal
the length of the first entry. Severity code = 4.
Programmer Response:
ing list so that all

Probable user error. Correct the pollentries are of the same length. If

t~e

Appendix C:

BTAM Error Message Formats

269

the problem recurs, do the following before calling IBM for
programming support:
•

Have the associated program listing

available~

r---------------------------------------------------------------,
DIAL CHARACTERS INVALID IN WTLIST.
I
______________________________________________________

IL________
IHB110

J

~

,Explanation: In a DFTRMLST macro instruction specifying a
list type of WTLIST, dial digits were specified. However, a
list type of WTLIST should be used only where manual dialing
is intended, and no dial digits can be specified.
System Action: The macro instruction was not expanded.
Severity code = 12.
Progr~mer Response:
Probable user error. Remove the dial
digits from theDFTRMLST macro and reassemble. If the problem
recurs, do the following before calling IBM for programming
support:

•

Have the associated program listing available.

r----------------~----------------------------------------------,
__________________ J

IL ____________________________________________
IHB111
LENGTH OR ADDRESS OF TONE OMITTED.

~

I

Explanation: In a DFTRMLST macro instruction specifying an
answering list of the WTLIST type, either the length or the
address of the data tone characters was omitted.
However,
both operands must be included for a list of this type.
System Action: The macro instruction was not expanded.
Severity code = 12.
Programmer Response: Probable user error. Make sure that
both length and adress operands are specified for an answering
list of the WTLIST type.
If the problem recurs, do the following before calling IBM for programming support:
•

Have the associated program listing available.

r---------------------------------------------------------------,

IL _______________________________________________________________
IHB113
IDCOUNT AND IDSENT DO NOT AGREE.
JI
Exolanation: In a DFTRMLST macro instruction, the value specified for the idcount operand does not equal the number of
characters specified by the idsent operand.
System Action: The macro instruction was partially expanded;
expansion stopped upon detection of the error. severity code
= 12.
Programmer Response: Probable user error. Correct the
idcount value and reassemble. If the problem recurs, do the
following before calling IBM for programming support:
• Have the associated program listing available.

r---------------------------------------------------------------,

IL _______________________________________________________________
IHB114
IDCOUNT IS TOO LARGE.
JI
Explanation: In a DFTRMLST macro instruction, the value specified for idcount is greater than 16 (for a calling list of
the AD or MD type), or is greater than 17 (for an answering
list of the AN type).
270

OS BTAM SRL

System Action: The macro instruction was partially expanded;
expansion stopped upon detection of the error. Severity code
= 12.
Programmer Response: Probable user error. Correct the
idcount value and reassemble. If the problem recurs, do the
following before calling IBM for programming support:
•

Have the associated program listing available.

r---------------------------------------------------------------,

IL _______________________________________________________________
18Bl15
INVALID TYPE ATTRIBUTES.
JI

Explanation: In a DFTRMLST macro instruction. an invalid type
attribute was specified for one of the operands.
System Action: The macro instruction was partially expanded;
expansion stopped upon detection of the error. severity code
= 12.
Programmer Response: Probable user error. Correct the
operand and reassemble. If the problem recurs, do the following before calling IBM for programming support.
•

Have the associated program listing available

r----·-----------------------------------------------------------,

IL_______________________________________________________________
IHBl16
AUTHORIZED SEQUENCE IS MISSING
JI
Explanation: In a DFTRMLST macro instruction, either a control value or a user data area was specified without an
authorized sequence having been specified.
system Action: The macro instruction was partially expanded;
expansion stopped upon detection of the error. Severity code
= 12.
Programmer Response: Probable user error. Either specify an
authorized sequence or eliminate the control value or user
data area. If the problem recurs, do the following before
calling IBM for programming support:
•

Have the associat'ed program listing available.

r---------------------------------------------------------------,

IL _______________________________________________________________
18B117
PARENTHESIS IS MISSING.
JI
Explanation: In a DFTRMLST macro instruction. the authorized
sequence was not enclosed in parentheses.
System Action: The macro was partially expanded; expansion
stopped upon detection of the error. Severity code = 12.
Programmer Response: Probable user error. Enclose the
authorized sequence in parentheses and reassemble. If the
problem recurs, do the following before calling IBM for programming support:
•

Have the associated program listing available.
Appendix C:

BTAM Error Message Formats

271

I/O ERROR MESSAGE
This message is printed at the console of the central computer following
an error that BTAM error recovery procedures have failed to correct.

r---------------------------------------------------------------,

IL _______________________________________________________________
IEAOOOI aaa,I/O ERR,bb,cccc,ddee,ffgghhhh
JI

IEAOOOI
is the standard message code for the operator. The internal
component name is lEA, the serial number is 000, and the
action code is I (meaning information); immediate operator
action is not required.
The following information is typed in hexadecimal (except I/O
ERR) :

aaa
is the address of the communication line on which the error
occurred.
I/O ERR
is the message text, indicating the occurrence of an I/O
error.
bb
is the command code of the failing command in the channel program.
(See the DECCMCOD field in Appendix B for code values
and meanings.)
cccc
is the status bytes of the channel status word (CSW) as specified in the Input/Output Block (lOB).
dd
is the first sense byte as specified in the lOB.
ee
is the sense information resulting from issuing diagnostic
write or Read commands if the commands resulted in a unit
check (IBM 2701 only).
ff
is the TP operation code of the failing command in the channel
program.
(see the DECTPCOD field in Appendix B for code
values and meanings.>
gg
(not used)
hhhh
is the terminal ID (polling or addressing characters). If
only one polling character is used, it is left-justified in
this field.
(For IBM 2740 Model 2:
When this message is
issued for an addressing error, the first character (hh •• ) is
the address of the terminal, and the second character ( •• hh)
indicates the kind of error that occurred on the previous
write operation. The meapings of the codes are given in the
IBM 2740 -- General Information section of the Start-Stop Read
and Write operations chapter.
When the message is issued for
a polling error, only one character, the polling character,
appears at this point in the message.)
272

OS BTAM SRL

LINE ERROR RECORDING MESSAGES
These messages indicate the number of errors occurring for a given line.
Message IBC80l1 prints the contents of each of the four error threshold counters, indicating the number of data check, intervention
required, or nontext time-out errors that have occurred since the last
time the error threshold counters were reset. This message is printed
whenever the threshold count has been reached for any of the three types
of errors, or when the number of transmissions reaches the threshold
count.
(See the LERB (Line Error Recording Block) macro instruction for
further information.)
Message IEC8021 prints the contents of each of the four cumulative
counters (accumulators), indicating the total number of data cneck,
intervention required, and nontext timeout errors, and number of transmissions that have been accumulated since the cumulative counters were
last reset. This message is printed whenever the user program issues a
LERPRT macro instruction.

r------------------------------------------------------,I

I

IEC80l1 aaa THRESHOLD TRANS=bbb DC=ccc IR=ddd TO=eee J
L ______________________________________________________

IEC8011
is the standard message code for the operator. The internal
component name is IEC, the serial number is 801, and the
action code is I, meaning information; immediate operator
action is not required.
aaa
is the address of the communication line on which the error
occurred (printed in hexadecimal).
THRESHOLD
'is the message text.
TRANS=bbb
is the number of transmissions that have occurred on this line
(in decimal).
DC=ccc
is the number of data check errors that have occurred on the
line during the indicated number of transmissions (in
decimal).
IR=ddd
is the number of intervention required errors that have
occurred on the line during the indicated number of transmissions (in decimal).
TO=eee
is the number of nontext timeout errors that have occurred on
the line during the indicated number of transmissions (in
decimal).

r--------------------------------------------------------------------,

IL____________________________________________________________________
IEC8021 aaa LINE TOTALS TRANS=bbbbbbbb DC=ccccc IR=ddddd TO=eeeee JI
IEC8021
is the standard message code for the operator. The internal
component name is IEC, the serial number is 802, and the
action code is I, meaning information; immediate operator
action is not required.
Appendix C:

BTAM Error Message Formats

273

aaa
is the address of the communications line on which the errors
occurred.
LINE TOTALS
is the message text, indicating the total
the specified line.

nu~ber

of errors on

TRANS=bbbbbbbb
is the total number of transmissions that have occurred on the
line since the accumulators were reset (in decimal).
DC=ccccc
is the total number of data check errors that have occurred on
the line during the indicated number of transmissions (in
decimal).
IR=ddddd
is the total number of intervention required errors that have
occurred on the line during the indicated number of transmissions (in decimal).
TO=eeeee
is the total number of nontext time-out errors that have
occurred on the line during the indicated number of transmissions (in decimal).

TRANSMISSION CONTROL UNIT INOPERATIVE MESSAGE
This message is issued whenever an IBM 2701, 2702, or 2703 becomes
inoperative. Usually, this message is printed during opening of a line
group associated with the inoperative TCU. It appears when an I/O
operation for some line connected to that TCU is attempt~d. When the
message appears, the central computer operator should determine the
reason for the condition and reactivate the TCU.
IEC804A aaa CONTROL UNIT NOT OPERATIONAL.
CONT OR POST

REPLY

IBC804A
is the standard message code for the operator. The internal
component name is IE.C, the serial number is 804, and the
action code is A, meaning operator action is required.
aaa
is the address of the communications line.
CONTROL UNIT NOT OPERATIONAL. REPLY CONT OR POST
is the message text, indicating the response for the operator.
Reply either CONT or POST. If the operator replies CONT, the
I/O operation for which this message was printed will be .
retried. If the retry is unsuccessful, the message will be
reissued.
If successful, the operation will continue. If the
reply is POST, the operation will be posted complete-witherror and the ftnot operational SIO" bit (bit 0) will be turned
on in the DECERRST field of the DECB for the line.
Note:
If a reply is not entered before the requesting job is cancelled,
the system may enter wait state.
274

OS BTAM SRL

IEC8091 aaa CONTROL UNIT NOT OPERATIONAL
IEC809I
is the standard message code for the onerator. The internal com~onent name is lEe,
the serial number is 809, and the action code is I, rneanjng no operator action is
required.
aaa
is the address of the communications line.
CONTROL UNIT NOT OPERATIONAL
is the message text.

274.1 OS BTAM SRL

KEMOTE BSC S'l'ATION ERROR MESSAGES
dTAM allows remote BSC stations to send error information to the central
computer •• This information is routed to the user program, to the central computer console, or to an error file on a system residence device.
'fhe format of the error messa.ge depends on ~hich of these destinations
is desired:

1.

Error information to be sent to the user program must appear in a
message having this format:

r---T---T----T----T---T---------//----------T---'

ISOHI % I S1 IDLE 2 1STXI

text~

IETX\

L___ ~ ___ ~ ____ ~ ___ -~---~---------//----------~---J

1

2.

1

1

1

1

1

Error information to be sent to the central computer console must
appear in a message having this forma.t:

r---T---T----T----T---T----T---//-----------T---'
I SOd I ,; I C1 I DLE2 I STX \ r 3

text ~

I

L___ ___ ____ ____ ___ ____ ____
~

~

~

111

3.

~

1

~

~

. I ETX I

//----------~---J

11

1

Error information to be sent to the system error file must aopear
in d message having this format:

r---T---T----T----T---T------T---------T------T--//-----T---'
jSOHI
"
L
___ ___
~

I ____
E1 \DLE2\STX\
x'08' I _________
reserved \ ______
ID \ ___
text~
____
__ ______
/ / ____ \ETX\
___ J

~

~

111

4.

~

1

~

1

~

1

~

2

~

2

~

1

Error information fro. a remote 3210 display syste. to be sent
to the problem program and to be recorded as T-typerecords in
SYS1.LOGREC must appear in a aessage having this format:

SOH

%

STX

I. text

4

ETX

4
L~ot.es

:

1This character must be uppercase (EBCDIC or USASCII).
2DLL neej be nresent only for transparent text; however, in the third
format (system error file), the text must beqin in the eleventh byte.

3r i~ the routing code that specifies the console to which this message
is to bf';! routea.
text of each message depends on the format:
l"ormat 1 - The text is user provided; its length depends on the size
of the user's huffer.
Format 2 - The text must consist of printable characters. The length
of the text must oe either 17 or 60 characters; extra cha~acters will
be automatically truncated.
l'''orwdt 3 - The text is bit significant. The length may be from 35 to
210 characters, but must be a multiple of 35 (i.e., it can be 35. 10,
105, 140, 175, or 210 characters).
If necessary, the text should be
pad1ed with 'FF' bytes.

~The

Appendix C:

BTAM Error Message Formats

275

Pormat " - The text includes the control unit and device addresses
of the remote 3270 device froll which the message vas received and
two sense/status bytes.
After sendinq the error message to the user program, console, or
error file, bTAM n~start:s the user-program Read operation with which the
error mp.ssage was received. The remote station then may send another
error messagE, a regular message, or EOT.
Upon receiving an error message with a Rea1 Initial Operation on a
multipoint line, B'T'AM preserves the Auto Poll index byte in the first
Dyte of the in[/ut area. Therefore, folldwing each Read Initial operation on d multipoint line, the user program should check the second byte
of the input area for an EOT character.

*eurrently, the Bse stations that can send these messages are the 2115
(s~cond and third formats only), the 2770 (first format only), and
the remote 3270 (fourth format only).

276

OS BTAM SRL

ERROR STATUS MESSAGES (IBM 2770)
One of the following five error messages may be sent by the 2770 terminal operator, as specified by the error recovery procedure for the 2770 •
• Checkpoint Restart:
Last Restart Point: SOH I S STX 0 X~ X2 C SP SP
Specific Restart Point: SOH % S STX 2 X~ X2 C text •••
(The first format causes BTAM to begin retransmission at the pOint from
which the previous transmission began, or at any other point decided by
the user program when it detects the ·C· preceding the two space characters. The second format allows the terminal operator to indicate to the
user program where he wishes for retransmission to begin. The text can
be up to 50 characters long and can contain any information the user
program needs to identify the point at which transmission is to begin.
This might be, for example, a page number or form number.
• customer Engineer
Attention Required:

SOH I S STX 0

x~

X2 0

Z~

• Job Restart:

SOH % S STX 0

X~

x2

SP SP

• Format Error:

SOH I S STX 0

X~

X2 F SP SP

M

Z2

In these formats:
x~

is the station address

X2

is the component address

text

is any information the terminal operator wishes to send to identify to the user program the point from which retransmission is to
begin.

Z~

is the station address. This is the same as X~ if the component
requires attention by a customer Engineer, but the station is operational; it is the address of an alternate station if the sending
station requires CE attention; and it is a SP character if no
alternate station is available or desired.

Z2

is the component address of an alternate componentatthe sending station or at an alternate station.

When BTAM recognizes an error status message, it posts the operation
complete with a completion code of X'7F' and turns on bit 0 of DECFLAGS.

TERMINAL ERROR STATUS MESSAGE (IBM 2115)
This message, in one of four formats, provides the results of a scan of
the error file of an IBM 2715 Transmission Control. The scan occurs
when the error threshold for one of the area stations connected to the
2715 is exceeded (threshold value is eight) or when manually requested
at the 2715, the 2740 attached to the 2715, or the central computer.
BTAM prints the message on the master console, the teleprocessing console, or the system maintenance console, depending on the routing code
included in the error scan message sent by the 2715.
(The routing code
does not appear in the message printed on the console.)
In the four formats below:
cuu
is the address of the communications line (channel and unit)
(EBCDIC) •
Appendix C:

BTAM Error Message Formats

275".1

xx
is the address of the area station for which the error scan is
reported (hexadecimal).
tttt
is the time (0001-2400) the error scan occurred (decimal).

ww
is the address of a particular adapter within the 2715
(hexadecimal).
other fields in the message are indicated under individual formats
below.

r---------------------------------,I

IIEC815I
cuu xxtttt yy ERS z
L
_________________________________
J

Explanation: This message reports the results of an error
scan by the 2715 when five or more of the eight errors
involved a particular one of the devices attached to the area
station.
yy
is the address of the device for which the errors occurred
(hexadecimal).
z

is the number of errors (from 5 to 8) that occurred for the
device (decimal).
Operator Response:

None.

r---------------------------------,

IIEC815I
cuu xx tttt THRESHLD
L
______ __________________________
JI
~

Explanation: This message indicates that the threshold value
of eight has been reached for the area station whose address
is xx, but no one device attached to the station accounted for
as many as five of the errors.
Operator Response:

None

r------------------------------------------------------------------------------,

IIEC815I
L____________
cuu _________________________________________________________________
xx tttt yy eeee zzzz yy eeee zzzz yy eeee zzzz yy eeee zzzz
JI
~

Explanation: This message is issued whenever an error scan
for a particular area station is manually requested at the
2715, 2740 attached to 2715, or the central computer. The
message appears twice in succession. Each indicates the
nature of four errors; the two messages together provide this
information for the eight most recent occurences for area station xx.
yy
is the address of a device (hexadecimal).

eeee
is the error data for device yy (hexadecimal).

276.2

OS BTAM SRL

zzzz
is the time (0001-2400) the error data was recorded on the
2115 disk (decimal).
Operator Response:

None.

r------------------------------------------------------------------------------,

IIEC8151
L______________________________________________________________________________
cuu ww tttt eeeeeee zzzz eeeeeea zzzz eeeeeee zzzz eeeeeee zzzz
JI
Explanation: This message is issued whenever an error scan
for a particular 2115 adapter is manually requested at the
2115, 2140 attached to 2115, or the central computer. The
message appears twice in succession. Each indicates the
nature of four errors; the two messages together provide this
information for the eight most recent error occurrences for
adapter ww.
eeeeeee
is the error data for adapter ww (hexadecimal).
zzzz
is the time (0001-2400) the error data was recorded on the
2115 disk (decimal).
Operator Response:

in

SOH

%

err~r

R

None.

statu$ message irom a remote 3270 device bas the format:

CU

STX

address

cu address

o
1
2
3
4
5
6
1

sense/status
byte 1

sense/status
byte 2

ETX

is the address of the control unit of the device from
which the message was received (see Figure 3210-1 in
the section "IB8 3270 Display System - Programming
Considerat ions"). ':

device address

sense/status

device
address

is the address of the device from which the message
was received (see Figure 3210-3 in the section "IBK
3270 Display System - programming Considerations").

byt~

1 has the format:

Setting depends on bits 2-7 (see Figure 3210-4 in the
section "IBK 3210 Display System - programming
Considerations")
Setting always 1
Reserved
Reserved
Device BliSY (DB)
Unit Specify (OS)
Device End (DE)
Transmission Check eTC)

Appendix C:

BTAM Error Message Formats

277

sense/status byte 2 has the format:

llit

Definiti2!!

o

setting depends on bits 2-7 (see Pigure 3270-4)
Setting always 1
Command Reject (CR)
Intervention Required (lR)
Equipment Check (Ee)
Da ta Check (DC)
Control Check (CC)
Operations Check (Oe)

1
2
3
4

5
6

7

For more information about the sense/status bytes, see 1~ 3270
InfQrmatio,!! 1ti!m!U .aystn, ~U.2!!!m~ ~~ri2~ion, GA27-2149.
When BTA! recognizes an error status message from a remote 3270
device, the operation is posted with a completi.on code of X'7P', and
bits 1 and 6 are turned on in the DECFLAGS field of the DECB. BTA!!
sends the error status message to the problem program and records the
information as T-type records in SYS1.LOGREC.
Error Condition
Sense/Stotus Bytes

Bit{s) Set

Unit{s)

Suggested
Action

X '4050'

IR

3271, 3275

6

X'4060'

CR

3271, 3275

8

X'4QC1'

OC

3271, 3275

8

X'40C2'

CC

3271

4

X'40C3'

CC,OC

3271

2

X'40C4'

DC

3271, 3275

4

X'40C6'

DC,OC

3271

2

X'40D1'

IR,OC

3271

X'4C40'

DB, US

3271, 3275

X'4E40'

DB, US, DE

3271, 3275

X'C140'

Te

3275

7
14
4
16

X'C240'

DE

3271,3275

NA

X'C250'

JR, DE

3271,3275

6

X'C2C4'

DC, DE

3271,3275

4

X'C2C8'

EC, DE

3275

X'C2D8'

IR, EC, DE

3275

11

X'C4C1'

OC, US

3271

17

X'C4C4'

DC, US

3271, 3275

X'C4C5'

DC, OC, US

3271

X'C6C4'

DC, US, DE

3271,3275

12

X'C6C8'

EC, US, DE

3271

11

X'C6D8'

TR, EC, US, DE

3271 .

11

X'C840'

DB

3271,3275

13

X'C8C1'

DB,OC

3271

15

Table 47C.

11

4
5

Suggested Actions According to Remote 3270 Error Status Message

Table 41e l.ndicates sU9Qested actions according to the contents
of the sense/status bytes in error stat.s messages. The suggested
acti-ODs are:

278

as BTAM SRL

1.

2.
3.

4.

5.

6.

1.
8.
9.

10.

11.
12.
13.
14.
15.
16.

11.

Execute a new address selection sequence, and retransllit the message
starting with the co •• and sequence that vas being executed when
the error occllr.red. If the operation is not successful after two
retries, consider the error nonrecoverable, and take action 9.
Do the same as in action 1, except taka action 10 after two retries.
Do the same as in action 1, except retransmit the entire failing
chain of coamands.
If possible. reconstruct the entire screen buffer image, and retry
the failing chain of co ••ands (within the Bse sequence of
operations). If the screen buffer cannot or need not be
reconstructed, retry the operation anyway. If the operation is
not successful after three retries, consider the error
nonrecoverable, and take action 9.
Do the same as in action 4, except reconstruct the buffer of the
"from" deyice specified in the copy command. If the operation
is not successful)af~er three retries, consider the error
nonrecoverable, and take action 10.
wait for the display operator or sys.tell operator to ready the
printer. Retry the printout by issuing a write command with the
wee and no data stream. Or take action 4.
wait for the display operator or system operator to ready the
"from" device specified in the copy command. Take action 2.
Examine the data stream to determine the cause of the nonrecoverable
programming error.
Request maintenance on the malfunctioning device. After repair,
try to reconstruct the screen buffer image (using an erase/write
command to correct a missing or mult~ple cursor condition in the
buffer). Retry the failing chain of commands as in the previous
action.
Request maintenance on the malfunctioning device (the "from" device
specified in the copy command). After repair, try to reconstruct
the screen buffer image (using an erase/write coamand to correct
a missing or multiple cursor condition in the buffer). Retry the
tailing chain of commands as in the previous action.
If a new printout is required, take action 6.
If a new printout is required, take action 4.
periodically issue a specific poll to read the Device End indication
that is sent by the device to the Teu when the device goes not
busy.
Periodically issue a specific poll to read tae Device End indication
that is sent by the dev ice to the Teu when the device goes not
busy. Take action 4.
Do the same as in action 14, except take action 1 when the "from"
device specified in the copy command goes not busy.
If the failing command is (1) a write command with a data stream
of more than one byte or (2) one of a chain commands that contains
a previous write command without an SB! order immediately following
the wee, take action 4. Otherwise, take action 3.
An unauthorized attempt was made to copy data from a device. The
device address in the error status message is the address of the
"ton device specified in the copy command.

Appendix

e:

BTM1 Error r·1essage Formats

278.1

BTAM ABEND CODES

090

Explanation: The error occurred during execution of a BTAM
OPEN macro instruction.
An Open routine found that a device other than a communications device was allocated to the data control block (DCB>
being opened; that is, the device class code in the unit control block (UCB> for the device allocated to the data control
block was not equal to hexadecimal 40.
Programmer Response: Either the UNIT parameter of the DD statement for the communications device is incorrect or unit control block generated during system generation is invalid.
Check for improper specification of the UNIT parameter of the
DO statement or the UNIT operand of the IODEVICE macro
instruction. After correcting the error, execute the job step
again. If the problem recurs, do the following before calling
IBM for programming support:
•

Make sure that MSGLEVEL=(l,l) was specified in the JOB statement and that a SYSABEND DO statement was included for
the failing job step.

•

Have the associated job stream and program listing
available.

Explanation: The error occurred during execution of a BTAM
OPEN macro instruction.
An Open routine found an invalid or unsupported type of trans~
mission control unit specified in the unit control block (UCB>
for the device allocated to the data control block (DCB> being
opened.
Programmer Response: Check for improper specification of the
IOCONTRL macro instruction used in generating the system.
After correcting the error, execute the job step again.
If

278.2

OS BTAM SRL

the problem recurs, do the following before calling IBM for
programming support:

092

•

Make sure that MSGLEVEL=Cl,l) was specified in the JOB statement, and that a SYSABEND DD statement was included for
the failing job step.

•

Have the associated job stream and program listing
available.

Explanation: The error occurred during execution of a BTAM
OPEN macro instruction.
An Open routine found an invalid or unsupported type of terminal control or terminal adapter specified in the unit control
block CUCB) for the device allocated to the data control block
CDCB) being opened.
Programmer Response: Check for improper specification of the
ADAPTER operand in the IODEVICE macro instruction used in
generating the system. Correct the error and execute the job
step again. If the problem recurs, do the following befor
calling IBM for programming support:

093

•

Make sure that MSGLEVEL=Cl,l) was specified in the JOB statement, and that a SYSABEND DO statement was included for
the failing job step.

•

Have the associated job stream and program listing
available.

Explanation: The error occurred during execution of a BTAM
OPEN macro instruction.
An Open routine found an invalid or unsupported type of terminal specified in the unit control block CUeB) for the device
allocated to the data control block CDCB) being opened.
Programmer Response: Check for improper specification of the
UNIT operand in the IODEVICE macro'instruction used in
generating the system. Correct the error and execute the job
step again •. If the problem recurs, do the following before
calling IBM for programming support:

094

•

Make sure that MSGLEVEL=Cl,l) was specified in the JOB statement and that a SYSABEND DD statement was included for
the failing job step.

•

Have the associated job stream and program listing
available.

Explanation: The error occurred during execution of a BTAM
OPEN macro instruction.
An Open routine found an invalid or unsupported optional feature or mode of operation specified in the unit control block
CUCB) for the device allocated to the data control block CDCB)
being opened.
Programmer Response: Check for improper specification of the
FEATURE operand in the IODEVICE macro used in generating the
system. Correct the error and execute the ;ob step again.
If
the problem recurs, do the following before calling IBM for
programming support:
•

Make sure that MSGLEVEL=Cl,l) was spe~ified in the JOB statement and that a SYSABEND DD statement was included for
the failing job step.
Appendix C:

BTAM Error Message Formats

279

•
095

Have the associated job stream and program listing
available.

Explanation: The error occurred during execution of a BTAlvl
OPEN macro instruction.
An Open routine found that the lines allocated to the line
group did not have identical types of terminals or lines, or
that the terminals did not have the identical features.
Programmer Response: Determine which line group contains different types of terminals or lines and redefine its lines
through DD statements or a new system generation.
If the problem recurs, do the following before calling IBM for programming support:

096

•

Make sure that MSGLEVEL=(1,1) was specified in the JOB statement and that a SYSABEND DD statement was included for
the failing job step.

•

Have the associated job stream and program listing
available.

Explanation: The error occurred during execution of a BTAM
OPEN macro instruction.
An Open routine found that dynamic buffer allocation had been
specified in the DCBBFTEK field of the data control block
(DCB). However, the Open routine could not dynamically allocate buffers because the data control block soecified neither
the address of a buffer pool control block (in the DCBBUFCB
field) nor the number and length of the buffers (in the DCBBUFNO and DCBBUFL fields).
Programmer Response: Correct the error by (1) providing a
buffer pool and specifying the address of its control block in
the DCBBUFCB field, (2) specifying the number and length of
the buffers in the DCBBUFNO and DCBBUFL fields, or () handling buffering in the user program and deleting the BFTEK=D
operand in the DCB macro instruction or the DCB parameter of
the DD statement. Then execute the job step again.
If the
problem recurs, do the following before calling IBM for programming support:

097

•

Make sure that MSGLEVEL=(1,1) was specified in the JOB statement and that a SYSABEND DD statement was included for
the failing job step.

•

Have the associated job stream and program listing
available.

Explanation: The error occurred during execution of a BTAM
OPEN macro instruction.
An Open routine required an additional entry in the device I/O
directory; however, the directory was already full.
Since the
las.t system start, the maximum. number of device types have
been allocated. Normally, the maximum number is 16.
Programmer Response:
programming support:

280

Do the following before calling IBM for

•

Make sure that MSGLEVEL=(1,1) was specified in the JOB statement and that a SYSABEND DD statement was included for
the failing job step.

•

Have the associated job stream and program listing
available.

OS BTAM SRL

098

Explanation: The error occurred during execution of a BTAM
OPEN macro instruction.
Although Dual Communication Interface B or Dual Code Feature B
was specified in the data control block (DeB), the transmission control unit is not an IBM 2701 or the unit control block
(UCB) established at system generation time did not specify
that the 2701 is equipped with the Dual Communication Interface or Dual Code feature.
Programmer Response: Probable user error. Correct the DCB
macro that defined the data control block that erroneously
specified the Dual Communication Interface B or Dual Code B,
reassemble, and re-execute the job step.
If the problem
recurs, do the following before calling IBM for programming
support:
•

Make sure that MSGLEVEL=(l,l) was specified in the JOB statement and that a SYSABEND DD statement was included for
the failing job step.

•

Have the associated job stream and program listing
available.

Appendix C:

BTAM Error Message Formats

281

APPENDIX D:

This appendix explains the operands that
must be included in the system generation
macro instructions when generating an
operating system that includes BTAM. Only
those macro. instructions and operands
directly related to BTAM are given; for
other macro instructions required for
generating a system, and an explanation of
the generation process, see the OS
SYSGEN publication. In particular,
refer to explanations of the DATAMGT,
IOCONTRL, IODEVICE, and TELCMLIB macro
instructions.
TELCMLIB Macro Instruction
During system generation, you must specify
the TELCMLIB macro instruction. It causes
the telecommunications subroutine library,
SYS1.TELCMLIB, to be included in your
operating system.
DATAMGT Macro Instruction
DATAMGT causes one or more optional access
methods to be included in your operating
system. To include BTAM, code:

r-----T---------T-------------------------,

IName IOperationlOperand
I
~-----+---------+-------------------------i
Il _____ IDATAMGT
_________ IACSMETH=BTAM
_________________________ JI
~

~

IOCONTRLMacro Instruction
IOCONTBL identifies to the operating
system the type of trans~ission control
unit (TCU) or control unit to be attached
to a S/360 channel control unit address.
Specify one IOCONTRL macro for each TCU
or control unit to be operated under BTAM.
Only the opera~ds shown are applicable
for a BTAM system.
If you wish to specify an IBM 2702 having the 31-line expansion feature, you must
code a separate IOCONTRL macro for each of
the two sets of lines.

UNlT
Specifies the
control unit:
For the local
specifies the
3272.

MODEL
Spec'ifies whether the 3212 control
unit given by·the UNIT operand is
a model 1 (480-character buffer) or
model 2 (1920-character buffer).
Code MODEL=1 or MODEL=2.
]~~

The MODEL operand apFlies only
to the local 3270 display system.
IODEVICE Macro.Instruction

IODEVICE describes to the operating system
the characteristics of an input/output
device and its operating system requirements. For BTAM, IODEVICE identifies the
type of device, i.e., remote station, that
is connected to a communications line, or
the type of line configuration.. You therefore code one IODEVICE macro for each line,
regardless of how many remote stations
are connected to the line.
For BTAM
support for the local 3210 display system,
IODEVICE identifies the type of local
3210 device connected to a 3272 control
unit.
You code one IODEVICE macro for
each local 3210 device.
Only the operands shown are applicable
for a BTAM system.

symbol

Operation

Operand

[name]

IOCONTRL

UNIT=type,
ADDRESS=address
MODEL=model,

type of transmission
2701, 2702, or 2703.
3270 display system,
type of control unit:

ADDRESS
Specifies the control unit address
to which the TCU is connected. For
the local 3270 display system,
specifies the channel control unit
address to which the 3272 control
unit is connected. The address value
consists of two hexadecimal digits
having a valid range of 00 to 6F.
The first digit identifies the channel,
and the second identifies the control
unit address.

Name

Name

SYSTEM GENERATION MACRO INSTRUCTIONS

Operation

Operand

IODEVICE

UNIT=type
ADDRESS=address
MODEL=model,
A DAPTER=type
[, FEATURE=(feature],]
feature2~c· • •
SETADDR=type
,OBRCNT=n]

t

Appendix D:

J

0

System Generation Macro Instructions

283

UNIT
specifies the type of remote terminal
(start-stop) or type of line configuration (BSC) associated with the line
address given by the ADDRESS operand.
For the local 3270 display system,
specifies the type of local device
with the device address given by the
ADDRESS operand. VAlid UNIT parameters
are:
• For start-stop:
1030
1050
1060
2260
2740
2741P (2741 using PTTC code)
2741C (2741 using Correspondence
code)
83B3
115A
TWX
WTTA, (World Trade Telegraph
Terminals)
• For BSC

•

BSCl (for nonswitched point-topOint line)
BSC2 (for switched point-to-po~nt
line)
BSC3 (for nonswitched multipoint
line)
For local 3270 display system:
3277
3284
3286

Alternatively, for BSC, specific station
types may be coded: S360 (5/360 except
Model 20), 2020 (S/360 Model 20), 1130, and
2780. If more than one of these types of
station are connected to the same multipoint line, or can call the central computer over the same switched line termination
(telephone number), the following rules
apply:
• If 'the combination consists only of the
S/360 and S/360 Model 20, code UNIT=2020.
• If the combination includes 2780, together with S/360 or S/360 Model 20, or both,
but excluding 1130, code UNIT=2780.
• If the combination includes 1130, code
UNIT=1130, regardless of which other
types are in the combination.
These alternative UNIT values provide
compatibility with earlier versions of
BTAM, that is, the UNIT operand need not be
recodedas BSC2 or BSC3. Future releases
of BTAM will, however, require that BSC1,
BSC2, orBSC3 be coded.
284

OS

BTAM SRL

AD£RESS
Specifies the three-digit address
of the line over which the type of
station given by UNIT is to
communicate. For the local 3270
diSplay system, specifies the threedigit address of the local 3270 device
given by the UNIT operand. Valid
parameters are within the range 0006FF, inclusive (hexadecimal).
MODEL
Specifies whether the local 3270
device given by the UNIT operand is
a model 1 (480-character buffer) or
model 2 (1920-character buffer).
Code MODEL=1 or MODEL=2.
Note: The MODEL operand applies only
to the local 3270 display system. Only
model 1 devices (3277, 3284, 3286) may
be connected to a model 1 3272 control
unit. Model 1 or model 2 devices or both
may be connected to a model 2 3272 control
unit.
ADAPTER
Specifies the type of TCU terminal
control and terminal adapter associated with the line address given by
the ADDRESS operand. Code one of the
following values:
IBM1 For IBM 1050,1060, 2740 or 2741
communicating with:
• IBM 2701 through an IBM Terminal
Adapter, Type I, and either: (1)
an appropriate data set, or (2) an
IBM Line Adapter.
• IBM 2702 or 2703 through an IBM
Terminal Control, Type I, and
either:
(1) a Data Set Line

Adapter and an appropriate data
set, or (2) an IBM Line Adapter.
IBM2 For IBM 1030 communicating with:
• IBM 2701 through an IBM Terminal
Adapter, Type II" and either: (1)
an appropriate data set. or (2) an
IBM Line Adapter.
• IBM 2702 or 2703 through an IBM
Terminal Control_ Type I!, and
either: (1) a Data Set Line
Adapter and an appropriate data
set, or (2) an IBM Line Adapter.
IBM3 For IBM 2260-2848 communicating
with:
• IBM 2701 through an IBM Terminal
Adapter, Type Y-T and an appropriate data set.

IBMT For IBM 1050 communicating with:
• IBM 2101 through an IBM Telegraph
Adapter.
• IBM 2103 through an IBM Terminal
Control, Type I, and a Telegraph
Line Adapter.
TELE1 For AT&T 83B3 or western union
l15A communicating with·:
• IBM 2101 through a Telegraph
Adapter, Type I.
• IBM 2102 or 2103 through a Telegraph Terminal Control, Type I,
and a Telegraph Line Adapter.
TELE2 For WU TWX
(Model 33 or 35)
communicating with:
• IBM 2101 through a Telegraph
Adapter., Type II.. and an appropriate data set.
• IBM 2102 or 2103 through a Telegraph Terminal Control, Type II,
and a DataSet Line Adapter and an
appropriate data set.
TELEW For World Trade Telegraph terminal communicating with:
• IBM 2101 through a World Trade
Telegraph Adapter.
• IBM 2102 or 2103 through a World
Trade Telegraph Adapter and a
Telegraph Line Adapter.
BSCA For IBM System/360, System/360
Model 20, System/3, 1130, 1800, 2115,
2170, 2180, or 2912 communicating
with:
.IBM 2701 through a Synchronous Data
Adapter, Type II, and an appropriate data set.
• IBM 2703 through a Synchronous
Terminal Control and an appropriate data set.
FEATURE
Specifies certain optional features
with which the transmission control
unit (TCU) or remote station is
equipped. For the local 3270 display
system, specifies certain features
with which the local 3210 display
station is equipped. Code each of
the applicable parameters:

Appendix D:

AUTOCALL if the TCU (2101, 2102, or
2703) to which the remote station is
connected is equipped with the Auto
Call feature and the line is connected to the TCU terminal adapter by
means of an Automatic Calling Unit
and an appropriate data set. When
these conditions are met, and you
specify AUTOCALL, the channel programs generated for the line whose
address is specified by the ADDRESS
operand can automatically dial the
remote stations, using the telephone
number you specify in the terminal
list associated with the line.
AUTOANSR if the data set (modem)
connecting the access line specified
by the address operand to the TCU is
a switched line over which calls are
to be answered. AUTOANSR must be
coded regardless of whether the line
is equipped with an automatic answering unit. When you specify
AUTOANSR, the channel programs
generated for ~he specified line will
automatically initiate message transmission when a remote station calls
the CQmpllter ..
AUTOPOLL if the automatic polling
facility of the TCU is to be used.
This facility is a standard feature
of the IBM 2103, and an optional feature (called Auto Poll) of the IBM
2102. For the IBM 2101 this param~
eter is valid only for lines connected
through the Synchronous Data Adapter
Type II. If you specify AUTOPOLL, the
Read Initial channel programs
generated for the specified line will
be so arranged that a negative
response from a remote station causes
the TCU to automatically poll the
next station in the terminal list
without Signalling an I/O interrupt.
If you omit AUTOPOLL, Read Initial
operations will employ programmed
polling with each negative response
from a remote station causing an I/O
interrupt. Only those Read Initial
operations that send polling characters
are affected.
This parameter is valid only for
nonswitchedmultipoint lines to which
are connected the IBM 1030" 1060,
1050, 2140, or any BSC stations, (as
specified by the UNIT operand) " as
only these types of stations can be
polled using the Auto Poll facility.
The AUTOPOLL operand must be coded
for Bse stations on multipoint lines,
and may be coded for the foregoing
start-stop terminals.

System 'Generation Hacro Instructions

285

If UNIT=2740 is specified, you
must.also code in the FEATURE
operand, either SCONTROL or SCONTROL
and CHECKING (in addition to the
AOTOPOLL parameter).

ASCBC~AR if the display station has
an ASCII B monocase character
generator.

FRCHAR if the device has a French
monocase character generator.

DOALCOMM if the TCU (IBM 2701 only)
to which the line specified by
ADDRESS is connected is equipped with
the Dual Communication Interface special feature. This feature allows
program selection (in the DCB macro)
of either of two data sets (modems)
over which transmission is to occur
(BSe lines only).
DOALCODE if the 'TeU (IBM 2701 only)
is equipped with the Dual Code special feature. This feature allows
program selection (in theDCB macro)
of the transmission code to be used
on the communication line (BSC lines
only).
.

GRCHAR if the device has a German
monocase character generator.
KACHAR if the device has a Katakana
monocase charact~r generator.
UKCHAR if the device has a united
Kingdom monocase character generator.

•

One of the following keyboard options
(if a keyboard is present):
EBKY3277 if the display station has
an EBCDIC typewriter ~eyboard.
ASKY3277 if the display station has
an ASCII typewriter keyboard.

For IBM 2740 Terminals only:

DEKY3277 if the display station has
a data entry keyboard.

CHECKING if UNIT=2740 is specified
and the terminal is equipped with the
Record Checking special feature.

OCKY3277 if the display station has
an operator console keyboard.

SCONTROL if UNIT=2740 is specified
and the terminal is equipped with the
Station Control special feature.
This parameter and the AUTOCALL,
AUTOANSR, OIU, and XCONTROL parameters are mutually exclusive.

•

KB66KEI if the display station has
a 66-key keyboard (that is, has no
program function keys).
KB78KEY if the display station has
a 78-key keyboard (that is, has program
function keys).

XCONTROL if UNIT=2740 is specified and
the terminal is equipped with the Transmit
Control special feature and the Dial Up
special feature. You also must indicate
the Dial Up special feature in the FEATURE
operand by the AUTOCALL or AUTOANSB
parameter, or both, as appropriat.e. The
XCON~ROL parameter and the OIU paramet~r
are mutually exclusive.
010 if the UNIT=2740 is specified and

the terminal is equipped with an IBM
2760 Optical Image Unit. This parameter and the SCONTROL and XCONTROL
parameters are mutually exclusive.
For 12cal 1112
•

devic~

2l1!I:

One of the following character
generator options:
DOCHAB if the device has a domestic
monocase character generator. If
the FEATURE operand is not coded,
this value is assumed.
ASCACHAB if the display station has
an ASCII A monocase character
generator.

286

OS BTAM SRL

One of the following keyboard options
(if a keyboard is present):

KB70KEY if the display station has
a Katakana character generator and
a 70-key data entry keyboard.
KB81KEI if the display station has
a Katakana character generator and
an 81-key EBCDIC typewriter keyboard.

•

As many of tke following options as
required:
SELPEN if the display station has
a . selector pen.
NUftLOCK if the display station has
the numeric lock feature.
AUDALRft if the display station has
a keyboard and an audible alarm.
ftAGCDRD if the display station has
a magnetic card reader adapter.

SETADDR

Code:
Specifies which of the four Set
Address (SAD) commands is to be
issued to the transmission control unit (IBM 2702 only) for
operations on the line specified
by the ADDRESS operand. The SAD
command selects the appropriate
line speed for the type of terminal connected to the line.
The association between the specific command (Sadzer, Sadone,
Sadtwo, or Sadthree) and the
corresponding line speed is
established by internal connections within the 2702; this is
done by the customer engineer
when the 2702 is installed. You
must code this operand if the
TeU to which the line is connected is a 2702; if it is a
2103, the SAD commands will be
ignored. Do not code this
operand if the TCU is a 2101, as
a command reject will be signalled when the line group is
opened.

Appendix 0:

If the SAD command for
the line is:

0

Sadzer

1

Sadone

2

Sadtwo

3

Sadthree

'For IBM 2115 Transmission Control unit onlI:

OBRCNT
specifies the number of area stations
connected to the 27158 on the line
represented by the IODEVICE macro.
(This value-is used to compute the
space required on SYS1.LOGREC for
error data received from the 2715.)

System Generation Macro Instructions

286.1

Six Bit Transcode

[Code Po,;!;o", -+- 0
0

o0

0 0

0 0 0

0

0 0

o

0

0 0

0

0

0

1 0

0

1 1

0

01 0

11

o 11

Rows
11

SOH
12-9-1

&
12

-11

A
12-1

J

/

11-1

0-1

1
1

B
12-2

K
11-2

S
0-2

2
2

C
12-3

l
11-3

T
0-3

3
3

0
12-4

M
11-4

U
0-4

4
4

E
12-5

N
11-5

Y
0-5

5
5

F
12-6

0

W

11-6

0-6

6
6

G
12-7

P
11-7

X
0-7

7
7

0
0

Y
0-8

8
8

I
12-9

R
11-9

Z
0-9

9
9

STX
12-9-2

SPACE
No Punch

ESC
0-9-7

SYN
9-2

$

,

12-8-3

11-8-3

0-8-3

II
8-3

)(

*

12-8-4

11-8-4

%
0-8-4

8-4

1

BEL
9-7

US
11-9-8-7

ENQ
0-9-8-5

NAK
9-8-5

0

SUB
9-8-7

EaT
0-9-8-7

ETX
12-9-3

EM
11-9-8-1

ETB
0-9-6

OLE
HT
12- 11-9-8-1 12-9-5

0

0

o

1 0

Q
11-8

1 0 0 1

o

0

H
12-8

11 0 0 0

0

I

0

1

1

2 345

Standard Representation of USA SCI I

0

Appendix E:

Columns
b 7 b6 b5

0

1

2

3

4

5

6

7

000

001

010

011

100

101

110

111

b4 b b2 b 1
3

o

0 0 0

NUL

OLE

SP

0

@

p

1

0 0 0 1

SOH

OCI

I

1

A

Q

a

q

2

001 0

STX

OC2

II

2

B

R

b

r

3

0

1 1

ETX

OC3

#

3

C

S

c

s

4

0 1

o

0

EaT

OC4

$

4

0

T

d

t

5

0 1

o

1

ENQ NAK

%

5

E

U

.e

u

6

0 1 1 0

ACK

&

6

F

Y

f

v

7

G

W

9

w
x

o

SYN

,

P

7

0 1 1 1

BEL

ETB

8

1 0 0 0

BS

CAN

(

8

H

X

h

9

1

o0

1

HT

EM

)

9

I

Y

i

Y

10

1 0 1 0

IF

SUB

*

:

J

Z

i

z

11

1 0 1 1

YT

ESC

+

i

K

[

k

[

12

1 1

o

FF

FS

,

<

l

\

I

I

13

·1 1

o

1

CR

GS

-

-.

M

]

m

]

14

1 1 1 0

so

RS

>

N

"

n

..--

15

1 1 1 1

SI

US

?

0

-

0

0

/

DEL

Data link Control Functions

@

DEL
12-9-7

,

0

Characters Used In:
USASCII

Function

EBCDIC

ACK-O

OLE, X'70'

OLE, 0

OLE, - (hyphen)

ACK-l

OLE, X'61'

OLE, 1

OLE, T

WACK

OLE, X'6B'

OLE, i

DlE, Z

RYI

OLE, X'7C'

OLE,

<

TRANSCOOE

OLE, 2

Code Charts for Binary Synchronous Communication

287

Bit Positions

Bit Positions

o and 1 -

00

Bit Posit ions
2 and 3 -

00

11

10

01

.~ OS~ 8)

0000

N&P OLE

SOH DCl

0001

STX

0010
0011

ETX

0101

Sp(j)

11

10

l§J _(j)

®

1

0110

LC

BS

EOB

UC

0111

DEL

IL

PRE

EOT

9

9

9

I~I-----I I I I
11

Q

9
12
11

9

0

0

Zone Punches

00

-1001

01

c

I

t

C

L

T

3

-

3

0100

d

m

u

0

M

U

4

4

~

-

0101

e

n

v

E

N

V

5

co

0110

f

0

w

F

0

W

6

7

-0111

9

P

x

G

P

X

7

8

-1000

h

q

y

H

Q

Y

8

1001

i

r

z

I

R

Z

9

12

12
11

11

-

4

-

5

-

6

u

c:

c:
a

.-0

.'
.n

:J

~

00,

A

J

B

K

s

a

-1010

..0

1011

"0

c:

.0-

..;
~

0

~

2.

co

-1100
1101
---1110

-1111

01

00

0

2-

-

12
11
0

0

0

EM
SMM CC

VT

CUI

~

!

CU2 CU3

.

$

@
I

:

8-2

II

8 -3

......
"0
c:
0

..0

Gl
..t;
u

c:

FF

IFS

DC4

<

*

%

>

CR

IGS ENQ NAK

(

)

SO

IRS

+

;

SI

IUS

ACK
BEL

SUB

-,

I

I'~ I,: I: I 11"1" I
9

I..

Zone Punches

?

:J

@

8-4

.

r--

=

8-6

8-5

II

~

.'
.0-

0

~

®

®

12-11-0

®

12- 0

ETB

I

:

ESC

I
IL

IRS
EOB

I

!

I

I

FS
_____

I
I
I

PRE
I

IFS
J ___________
JI

OS BTAM SRL

01

10

11

8-3

...Q/

..t;

U

8-4

-

8 -5

I---

8 -6

I---

12

11

I

oi

11

12
11
0

I

8 -7

12

9

9
12
11

9
11
0

0

1111------ Zone Punches
11

I

00

8-2

0

0

I

11

r---

12

No Punches

RS

10

-

12-11-9-8-1

I:

11

1111

12-11-0-9-8-

------1---- - -- - ---- --I

9

-----e4~

1100

I II

8

'---

-

8-7

®
r-------------------l
:
USASCII
:
EBCDIC Equivalents
I

-

-1011

L...--

12

7

r--

I I0 I I

~
1101
~ 2- 1110
co -

°m

6

r--

-

8)

I- -

01

5

r--

11

I

9
12
11
0

----~~

..

@

2

-

12- 0-9-8-1

l

2

1010

CD

11- 0-9-8-1

288

-

8-1
SM

S

12

10

Bit Po sitions
2 and 3 - 00

11

1

~

~

Bit Po sitions
Oand 1 10

1

~

r---

r
......

11

8-1

r--

"0

Q/

~

01
10

@

r---'

-0011

3

Bit Po sitions

Bit Positions
2 and 3 -

11

k

-

------.!~

00

I

® @ @ 0@

Zone Punches

oand 1 -

01 110

b

......

...

lb

11

I

0010

-

-

9
12

00

j

>---

9
12

11

a

2

CAN
9
12

I

0001

~

RS

LF

NL

01 110

-

~

PN

I

0000

~

SYN

BYP

-

r---

/fj
/

FS

RES

HT

-1000

01

11

10

Bit Positions
2and3- 00

DC3

PF

0100

00

SOS

DC2

o and 1 -

01

@
@
@

11-0
0-8-2
0

@
@
@

011- 0-9-1
12 -11

-----

c:

:J

~

00,

o

APPENDIX

f':

WORLD TRADE TELEGRAPH TERMINALS:

Because the International Telegraph Alphabet No. 2 and the Figure Protected Code
ZSC3 vary from country to country, the
BTAM-supplied translation tables RCTW,
RCT3, SCTW, and SCT3 may not fit a given
installation. Therefore, four macro
,instructions, TRSLRCTW, TRSLRCT3, TRSLSCTW,
and TRSLSCT3 are provided to modify these
tables to produce new tables for use with
the TRNSLATE macro instruction. These
macros both modify the tables and cause
them to oe assembled into the user program,
so it is not necessary to use the ASMTRTAB
macro instruction.

~RSLRCTW

TRANSLATIOl~

TABLE MODIFICATIONS

F6=6C

where 6C is the hexadecimal representation
of the % character in EBCDIC.

TRSLSCTW and TRSLSCT3 Macro Instructions

r--------T-----------T--------------------,
I Operation I Operand
I

-IName

~--------+-----------+--------------------~

I symbol
I {'TRSLSCTW}- IXyy=Fx,...
I
TRSLSCT3 i I ____________________ JI
lI ________ i I ___________

TRSLRCTW and TRSLRCT3 Macro Instructions

r--------T-----------T--------------------,
I Name
I Operation I Operand
I
~--------+-----------+----------~---------~

\ symbol

L________ i

I{i~~~:~i~} IFx=code,.~.

j

___________ i ____________________ J

symbol
is the name to be given to the modified table- (i.e., the name that will
be specified in the TRNSLATE macro
instruction). If symbol is omitted,
the original name, IECTRCTW or
IECTRCT3, is the name of the modified
table.
TRSLRCTW
specifies that table RCTW is to be
modified and assembled.
TRSLRCT3
specifies that table RCT3 is to be
modified and assembled.
Fx=code
specifies what modification is to be
made. F stands for figures shift, x
represents the number of the code combination to be translated. The permissible values of x are:
For TRSLRCTW! 1, 28 3, 6, 7, 8, 10
through 14, 19, 22, 24, 26, and 32.
For TRSLRCT3: 1, 5, 8, 9, 11, 12, 14,
15, 17 through 20, 22, 24, 26, and 32.

symbol
is the name to be given to the modified table (i.e., the table name that
will be specified in the TRNSLATE
macro instruction.
If symbol is
omitted, the original name, IECTSCTW
or IECTSCT3, is the name of the modified table.
TRSLSCTW
specifies that table SCTW is to be
modified and assembled.
TRSLSCT3
specifies that table SCT3 is to be
modified and assembled.
Xyy=Fx-.
specifies what modification is to be
made. yy is the hexadecimal representation, in EBCDIC, of the character to
be translated. x is the number of the
code combination for the character to
which yy is to be translated.
(F
stands for figures shift.) The permissible values of yy are:
2A, 3F,
4A through 50, SA through 61, 6A
through 6F, and 7A through 7F.
Example:
If the transmission code used by
a WT terminal is the ITA No.2, and if you
wish to translate an EBCDIC % character
(hexadecimal 6C in EBCDIC) to an ITA No. 2
% character (combination 6 in figures
shift>, you would code:
TRSLSCTW

Example: If the transmission code used by
a WT terminal is the International Telegraph Alphabet No.2, combination 6 in
figures shift, representing the % character, does not exist in table RCTW. Therefore, you would modify table RCTW by coding
Appendix F:

X6C=F6

Similarly, if you wish to translate an
EBCDIC * character (hexadecimal 5C in
EBCDIC) to a % character, you would code:
TRSLSCTW

X5C=F6

World Trade Translation Table Modifications

289

And if you wish both the % and * characters
to be translated to ~ characters, you would
code:
TRSLSCTW

Code
Combination
No.

1
2
3
4
5
·6
7
8
9
10
11

12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

X6C=F6,XSC=F6

Elements
12 345
11
10
01
10
10
10
01
00
01
11
11

01
00
00
00
01
11
01
10
00
11
01
11
10
10
10
00
01
11

11
00
00

000
all
110
010
000
110
all
101
100
010
110
001
111
110
all
101
101
010
100
001
100
111
001
111
101
001
010
000
111
all
100
000

Lettershift

Figureshift

Hex
Code

Character

Hex
Code

18
13
OE
12
10
16
OB
05
OC
1A
lE
09
07
06
03
00
1D
OA
14
01
lC
OF
19
17
15
11
02
08
IF
1B
04
00

A
B
C
D
E
F
G

38
33
2E
32
30
36
28
2B
2C
3A
3E
29
27
26
23
2D
3D
2A
34
21
3C
2F
39
37
35
31
22
28
3F
3B
24
20

H

I
j

K

L
M

N
0
P
Q

R
S
T
U
V

W
X
Y

Z

Note: You can code the same macro several
times, each with a different name, to create as many translation tables as needed.
This permits several terminals using the
same transmission code, but varying character arrangements to operate in the same
installation.

Character
ITA2
ZSC3

-

6
·8
Who are you
3
4
N/A
a
N/A
?
N/A
8
Bell
Bell
2
:

-

(
)

7
I

9
a
1
4

9
N/A

I

/
I.:

7

1

=

=

2

/
6
+

CR
LF
LTRS
FIGS
Space
N/A

World Trade Telegraph Codes ITA2 and ZSC3

OS BTAM SRL

:

5

\

290

(
)

I

Note: N/A = Not assigned
CR = Carriage return
LF = Line feed
LTRS = Letters sh ift
FI GS = Figures shift
Table 48.

+

?

3
N/A
5
N/A
CR
LF
LTRS
FIGS
Space
N/A

APPENDIX G:

BTAM MACRO INSTRUCTION FORMAT CHARTS

Each operand of each BTAM macro instruction can be coded in one or more ways, as indicated in the table to the right. Listed below are the meanings of each of the column
headings in the table. The same information is given for each of the user-tabledefining macro instructions for ~he IBM 2715: see the table following the BTAM Macro
Instructions table.
Abbreviations Used in Macro Instruction Tables
Abbreviation

Meaning
You may code the operand as:

sym

Any symbol valid in the assembler language.

Dec Dig

Decimal digits, within the range shown in the macro instruction
description. (The sequence of digits is assembled as a single
integer, not as individual digits.)*

Register

Register notation: i.e., a number of a general register, enclosed in
parentheses. You must previously have loaded the specified register
with the value or address indicated in the operand description. The
value or address must be right-adjusted in the register., with all
high-order bits set to zero. You may specify registers 2-12 symbolically (CTREG5), or with an absolute expression (5). Registers a
and 1 can only be specified absolutely:
(0), (1).

Char

Any character self-defining term, coded without the framing characters, c' '.

Dec Char

Concatenated decimal digits (each digit is individually assembled in
binary format).*

Sex Char

Concatenated hexadecimal digits, coded without the framing characters, X' ,-.

Code

One of the coded values as given in the individual macro instruction
description.

RX-type

Any address that is valid in an RX-type instruction (e.g., LA).

ReI Exp

A relocatable expression (acceptable as an A-type or V-type address
constant by the assembler).

Abs Exp

Any absolute expression as defined by the assembler: self-defining
terms (decimal, hexadecimal, binary, character), length attributes,
absolute symbols, paired relocatable terms in the same control section (CSECT), and arithmetic combinations of absolute terms.

*The distinction between Dec Dig and Dec Char may be illustrated by two examples:
19 coded where Dec Dig is specified is assembled as binary 1 0011;
19 coded where Dec Char is specified is assembled as binary 0000 0001 0000 1001.
267 coded where Dec Dig is specified is assembled as binary 1 0000 1011; 267 coded
where Dec Char is specified is assembled as binary 0000 0010 0110 0000 0111.

Appendix G:

BTAM Hacro Instruction Format Charts

291

Register

RX-

Macro
Instruction

Operand

ASMTRTAB

tablename

CHGNTRY

listaddr**

X

X

dcbaddr***

X

X

Sym

Dec
Dig

(2-12)

(I)

(0)

type

Rei
Exp

Abs
Exp

Char

Dec
Char

Hex
Char

X

X

listype
listposition

X

X

numchars**

X

X
X

action
CLOSE

X

dcb

X

MF=
X

listname
DCB

Code*

X

X

DSORG=

X

MACRF=

X

DDNAME=

X
X

BUFNO=

X

BUFL=
BUFCB=

X

EX LST=

X
X

BFTEK=
LERB=

X

X

EROPT=
~

DFTRMLST

DEVD=

X

MODE=

X

CODE=

X

listype

X
X

xx

X

yy
dialcount

X

X

dialchars
numsent

X

X

sentchar
numcnsent

X

see macro description for allowable values
does not apply to local 3270 display system
applies only to local 3270 display system

Table G.

292

BTAM Macro Instruction Format Charts (Part 1 of 6)

as BTAM SRL

Register
Nbcro
Instruction
DFTRMLST
(Continued)

Operand

Sym

Dec
Dig

(2-12)

(I)

(0)

RXtype

Rei
Exp

Abs
Exp

tidseq

X

X

AN

As Shown

MD

As Shown

AD

As Shown

entrylength

X

userlength

X

idcount

X

idsent

X

authsequence

X
X
X

userdota
nlines

X

transmct

X

dotack

X

intreq

X

notto

X

dcbaddr

X

X

r1n

X

cid

X

X
X

X
X

X

CLEAR=
X

X

LOPEN

decbaddr

ONLTST

DECB=

X

X=

X

X

Y=

X

X

DCB=

X

X

AREA=

X

X

TEXT=

X

X

LENGTH=

X

ENTRY=

X

RLN=

X

X

X

X
X
X
X

dcb

X

MF=
listnome

Table G.

Code*

X

controlva lue

OPEN

Hex
Char
X

ridseq

LERPRT

Dec
Char

cntrlseq

numrec

LERB

Char

X

X

X

BTAM Macro Instruction Format Charts (Part 2 of 6)
Appendix G: BTAM Macro Instruction Format Charts

293

Register
Macro
Instruction
READ
(list form,
MF=L)

Operand

5ym

decbaddr

X

Dec
Dig

RX(2-12)

(I)

(0)

type

ReI
Exp

Abs
Exp

dcbaddr

X

inoutarea

X

inarea

X

outarea

X

inoutlength

X

inlength

X

outlength

X

As Shown

MF=l

X

decbaddr

X

X
X

optype
dcbaddr

X

X

inoutarea

X

X

'5'

inarea

X

X

'5'

outarea

X

X

inoutlength

X

X

'5'

inlength

X

X

'5'

outlength

X

X

entry

X

rln

X

'5'

·X
X

As Shown

MF=E

* see macro

Table G.
294

Code *

X

rln

RELBUF

Hex
Char

X

entry

READ
(Standard
form)

Dec
Char

X

optype

READ
(Execute form,
MF=E)

Char

decbaddr

X
X

optype
dcbaddr

X

X

inoutarea

X

X

'5'

inarea

X

X

'5'

outarea

X

X

inoutlength

X

X

'5'

inlength

X

X

'5'

outlength

X

X

entry

X

rln

X

dcbaddr

X

bufferaddr

X

d~scription

X
X
X

X

for allowable values

BTAM Macro Instruction Format Charts (Part 3 of 6)

OS BTAM SRL

Register
Macro
Instruction

Operand

REQBUF

dcbaddr

X

returnreg

X

count

X

decbaddr

X

RESETPL

TRNSLATE

Sym

Dec
Dig

RX(2-12)

(I)

(0)

X

type

Rei
Exp

Abs
Exp

Char

Dec
Char

Hex
Char

Code*

X

X

X

X

X

POLLING

As Shown

ANSRING

As Shown

ATTENT

As Shown

dcbaddr

X

X

tablename

X

X

area

X

X

length

X

X

X

'S'

TRSLRCTW

Fnn=

X

TRSLRCT3

Fnn=

X

TRSLSCTW

Xyy=

X

TRSLSCT3

Xyy=

X

TWA IT

returnreg

X

ECBLlST=

X

count

X

ECB=

X

X

ECBLlST=

X

X

WAIT

WRITE
(list form,
MF=L)

decbaddr

X
X

X

X

X

X
X

optype
dcbaddr

X

inoutarea

X

inarea

X

outarea

X

inoutlength

X

inlength

X

outlength

X
X

entry

X

r1n

As Shown

MF=L
* see macro description for allowable values

Table G.

BTAM Macro Instruction Format Charts (Part 4 of 6)

Appendix G:

BTAM Macro Instruction Format Charts

294.1

Register
Macro
Instruction

Operand

WRITE
(Execute
form, MF=E)

Sym

Dec
Dig

RX(2-12)
X

decbaddr

(1)
X

(O)

type

Rei
Exp

Abs
Exp

X

X

inoutarea

X

X

inarea

X

X

outarea

X

X

i noutlength

X

X

'5'

in length

X

X

'5'

outlength

X

X

entry

X

rln

X

'5'

X
X
As Shown

X
X

optype

as

Code*

dcbaddr

dcbaddr

X

X

inoutarea

X

X

inarea

X

X

outarea

X

X

inoutlength

X

X

'5'

inlength

X

X

'5'

outlength

X

X

entry

X

rln

X

BTAM Macro Instruction Format Charts (Part 5 of 6)

BTAM SRL

'5'

X

* see macro description for allowable values

294.2

Hex
Char

X

optype

decbaddr

Table G.

Dec
Char

X

MF=E
WRITE
(Standard
form)

Char

X

2715 User-Table Macro Instructions
Register
Macro
Instruction
As

Operand

Sym

Dec
Dig

(2-121

(1)

(0)

RXtype

Rei
Exp

Abs
Exp

Char

Dec
Char

Hex
Char

Code·

X

10=
ASGROUP=

X

DEGROUP=
tgroupname
deunumber

ASCTR

X
X

10=

X

HIGHCTR=

X
X

ROUTE=

LOG

As
shown

ASLOG

shown

EXTALRM

As
shown

,A.S

NEXTAS
ASLIST

X

device

X

NORM=

X

LENGTH=
data length
gdlight2

X

DIGIT=
entrypos
compvalue
gdlight3

X
X
X

X

I

X

ENTRY=
X

MSG=
INQDISP=

X

MODULUS=
entrypos
data length
gdlight4

X
X
X
X

SELTRAN=

* see macro description for allowable values

Table G:

BTAM r,1acro Instruction Format Charts (6A of 6)

Appendix G:

BTAM Hacro Instruction Format Charts

·294.3

2715 User-Table Macro Instructions
Register
Macro
Instruction

Operand

CONFIGUR

Sym

Dec
Dig

(2-12)

(1)

(0)

RXtype

Rei
Exp

Abs
Exp

Char

CTRLIST

X
X

GDU=

X

FUNCERR=

X

ENDERR=

X

MONERR=

X

GETID=

X

STORID=

X

IDCOUNT=

X
X

ctrno

X

sro

X

cttest

X

ID=

X

SROENAB=

X

CTINIT=

X

DEVCOD=

X

CTRADR=

X

CTRRD=

X

CTTEST=

X

CTROP=

X

X

sched

X

* see macro description for allowable values

Table G:

294.4

Code *

PC=

MSG=
CTRSCHED

Hex
Char

CORE=

INQDISP=
CTRGROUP

Dex
Char

BTN1 Macro Instruction Format Charts (6B of 6)

OS BrrAM SRL

2715 User-Table Macro Instructions
Register
Macro
Instruction

DEULIST

Operand

Sym

LENGTH=

Dec
Dig

(2-12)

(1 )

(0)

RXtype

Rei
Exp

Abs
Exp

Dec
Char

Hex
Char

X
X
X

MSG=
MODULUS=
entrypos
data length

X
X

DIGIT2=
entrypos
compvalue

X
X

DISPMSG=

X

SUPPRES=
GDUAS

GDULIST

X

10=

X

GDUNUMB=

X

PARAMNO=

X

NORGUID=

X

DISPMSG=

X
X

IDENT=
MSG=

X

X.

ENTRY=
GDUTRANS

X

TRCODE=
TRLlST=

X
.,

PARAMNUM

.

X

PLN=
PARMLST=

Code *

X

DIGIT
entrypos
compvalue

DISPGUID

Char

X

* see macro description for allowable values

Table G:

BTAM Macro Instruction Format Charts (6C of 6)

Appendix G:

BTAM Macro Instruction Format Charts

294.5

2715 User-Table Macro Instructions
Register
Macro
Instruction
PARMLIST

Operand
CKLNGTH=
data length
gdlight·

Sym

Dec
Dig

(2-12)

(1)

(0)

RXtype

Rei
Exp

Abs
Exp

Char

Dex
Char

Hex
Char

X
X
X

CKMONKY=
CKMOD11=
data length
entrypos
gdlight

X
X
X

CKRANGE=
firstpos
lastpos
compvalue

X
X
X

LOWGUID=

X

HIGUID=

X
X

RNGETST=
CKMOD10=
data length
entrypos
gdlight

X
X
X

CKOR=
data pos
check char

X

ORGUID=

X

CKAND=
startpos
endpos
check char

X
X

ANDGUID=

X

CKNONUM=
startpos
endpos
gdlight

X
X
X

CKNUM=
startpos
endpos
gdlight

X

X

X
X
X

TRANSL=

X

IDENT=

X

* see macro description for allowable values

Table G:

294.6

Code *

BTAM Macro Instruction Format Charts (6D of 6)

OSBTAM SRL

2715 User-Table Macro Instructions

Register
Macro
Instruction

Operand

S,"(END

no operands

TGROUP

TCn=
tcode
E

TRANSLAT

Sym

Dec
Dig

(2-12)

(1)

(0)

RXtype

Rei
Exp

Abs
Exp

Dec
Char

Hex
Char

Code *

X

As
shown
X

TRANSCH=
X

TRANTXT=
TRLlST

Char

X

TRID=

X

ROUTE=

LOG

As
shown

NULL

As
shown
X

asaddr
TEXT=

X

INQDISP=

X

DEMOD10=

X

DEMOD11=

X

GDU=

X

* see macro description for allowable values

rrable G:

BTAM Macro Instruction Format Charts

Appendix G:

(6E of 6)

BTAM Macro Instruction Format Charts

294.7

APPENDIX H:

BTAM CHARACTER SET AND CODE CORRESPONDENCE CHARr

This chart shows the character set and bit
patterns for the Extended Binary Coded
Decimal Interchange Code (EBCDIC), and the
character sets and transmission code bit
patterns for each of the remote station
types supported by BTAM.

Character Sets
This chart shows only the characters comprising the commonly used character set
options. The options represented in the
chart are:

The chart may be used to determine the
bit patterns, as contained in main storage
bytes, for each of the various characters
sent or received by a specific type of station, and to determine the relationships,
as established by the arrangement of the
IBM-provided translation tables, among the
character sets for the various types.
For convenience in referring to particular chart locations, the chart's columns
and rows are given reference numbers. Combined, these numbers enable reference to a
particular chart location; e.g., location
21/17, the intersection of row 21 and
column 1,7, contains NL.

Terminal

Option

IBM 1030

Standard and "8" options

IBM 1050

System/360 option

IBM 1060

Standard option

IBM 2260

Standard option

IBM 2740

System/360 option

AT&T 83B3}

WU

"A" and "C" options

115A

WU TWX

Standard option

IBM 1030 graphics and AT&T 83B3/WU 115A
graphics that differ for the respective
options are indicated in the chart by Sand
H, and A and C, respectively. Graphics not
so marked are the same in both options.

Arrangement of Chart
The chart contains a group of three columns
for the EBCDIC character set and a group
for each of the various terminal character
sets. Within the EBCDIC group, column 3
contains the 256 bit patterns comprising
the code. For those bit patterns to which
characters are currently assigned" the
characters appear in column 1 (graphics)
and column 2 (line controls and device controls).
All currently aSSigned characters
are shown, regardless of whether they are
in the character sets of any of the types
of remote stations represented in the
remainder of the chart.
Each of the remaining groups (columns 4
through 33) contains the characters comprising the character set of a specific
station type, along with the transmission
code bit patterns. Column 34 repeats the
EBCDIC code presented in column 3, for' ease
of reference.
In the EBCDIC group, the bit patterns
and characters are arranged in collating
sequence from hexadecimal 00 to hexadecimal
FF. In the remainder of the chart, the
locations of bit patterns and characters
are determined by the arrangement of the
translation tables.
Appendix

H:

Transmission Codes
The notations in the code columns of the
chart for the various types of stations
represent the System/360 byte bit pattern
equivalents of the applicable transmission
codes. The applicable transmission codes
are:
Terminal
IBM 1030

Perforated tape and transmission code.

IBM 1050

Perforated tape and transmission code

IBM 1060

Perforated tape and transmission code

IBM 2260

IBM 2260 transmission code

IBM 2740

Perforated tape and transmission code (BCD code)

AT&T 83B3

5-level Baudot code

Character Set and Code Correspondence

295

WU
WU

115A
TWX

5-level Baudot code
8-level TWX code

Representation of Characters and Bit
Patterns
Appearance of a character and its associated bit pattern in a character set signifies that the appropriate IBM-provided
translation tables effect either incoming
translation (i.e., translation of that
character to the corresponding EBCDIC character), or outgoing translation (i.e.,
translation of the corresponding EBCDIC
character to that character), or both. HOW
the bit pattern appears indicates which of
these cases applies:
1.

Where the hexadecimal representation
of the bit pattern appears in brackets, only incoming translation is
performed.

2.

Where the bit pattern is enclosed in
parentheses, only outgoing translation
is performed.

message. When an EBCDIC NL character
appears in an outgoing message, BTAM translates it to the lower-case form of the NL
character.
Where more than one EBCDIC character
requires translation to the same character
in a terminal character set, the terminal
character appears an equivalent number of
times in the column (e. g." locations 0/23,
6/23, 7/23, 23/23, and 50/23 all contain
the LTRS character).
Where a character appears in both the
graphics and the controls columns for a
terminal type, its function depends on
whether it is sent when the line is in control mode or in text mode. Depending on
the type of terminal and the mode, the
character may perform a control function,
print as a graphic, or both. For details,
see the reference manuals for the various
terminal types.

Noneguivalent Characters

3.

Where the bit pattern is not enclosed
by brackets or parentheses, both
incoming and outgoing translation are
performed.

Because each unique bit pattern for a terminal character can be represented only
once in an "incoming" translation table,
the character associated with the bit pattern can be translated to only one EBCDIC
character. The converse is not true,
however; anyone transmission code bit pattern can be placed any number of times
within an "outgoing" table. Therefore, any
number of ·EBCDIC characters can be translated to the terminal character represented
by that bit pattern.
Appearance of two bit patterns opposite
a single character signifies that the character has both an upper-case (or figures
shift) and a lower-case (or letters shift)
bit pattern, and that both forms of the
character are translated to the same EBCDIC
character.
(Exception: In the code column
for TWX terminals, where two bit patterns
appear, the left-hand one is the evenparity pattern, and the right-hand one is
the non-parity pattern.)

Example: The bit pattern of the NL character appears in location 21/9. Both the
lower~ and upper-case bit patterns of this
charact~r are translated to the EBCDIC NL
character when they appear in an incoming
296

OS BTAM SRL

Designing the system to accomodate terminal
types having different character sets and
control functions has resulted in several
instances where dissimilar characters have
been "equated" in translation tables. This
accounts for the appearance in certain rows
of this chart of non-equivalent characters,
for example, in rows 3, 38, and 50.
In other instances, the same or similar
functions have different names amonq the
various terminal types; for example; HT an~
Tab in row 5 are equivalent, as are DEL anl
Rubout in row 7. In a few cases, terminals
using the same transmission code have different meanings assigned to the identical
bit pattern; for example, bit pattern 79 in
the transmission code has the meaning PF
for an IBM 1050, and Subtract for an IBM
1060.

Substitutions
Where blank positions appear in the terminal character set portion of the chart,
there is no equivalent character for the
EBCDIC character or bit pattern at the left
of the chart. Where these blanks appear,
the SUB character is to be assumed (they
were omitted to make the chart more readable). That is, in each translation table
that handles incoming messages, each position representing an invalid transmission
code bit pattern (i.e., one not used by a
character in the terminal's character set)
contains the EBCDIC code (3F) for the SUB

character. In each translation table that
handles outgoing messages, the transmission
code bit pattern for a substitute graphic
is contained in each of the following
positions:

5.

• Each position that represents an invalid EBCDIC bit pattern (a pattern to
which no EBCDIC character has been
assigned).
• Each position that represents a bit
pattern for a character having no
equivalent in the destination terminal's character set.

Some TWX terminals send even-parity
transmission code bit patterns; others
send non-parity bit patterns. All bit
patterns sent by non-parity machines
have a "1" in the low-order bit position (i.e., the position that serves
as the parity bit in even-parity
machines).
The RCT2 translation table
translates either a non-parity or an
even-parity bit pattern to the EBCDIC
bit pattern for the corresponding
character. The SCT2 translation table
always sends even parity.

For the IBM 1050, 2260, and 2740, and the
AT&T 83B3 and WU IlSA, this substitute
character is a colon (:). For the IBM 1030
and 1060, and the WU TWX, it is a slash

1Left bracket translates to EBCDIC hex 79;
no EBCDIC character has been assigned to
this bit pattern (location 121/3, 121/25).

(I) •

2No graphic prints in the "A" character set
option (location 90122).

General

1.

2.

3.

4.

3Backslash translates to EBCDIC hex El; no
EBCDIC character has been assigned to this
bit pattern (locations 225/3, 225/25).

i'~otes

Standard abbreviations are used to
represent the control characters. The
full names of the characters are given
in a following section entitled Control Characters. For descriptions of
these characters, see the reference
manuals for the various terminals.

Where a "circle" character (@, @,
etc.) appears in parentheses adjacent
to a control character, it is an
alternate name for that control
character.
Notes pertaining to specific characters or bit patterns are indicated by
superscript numerals next to the character or bit pattern. Thenotes
appear below, and indicate the chart
locations to which they apply.
Most of the characters in the "s" and
nH" character set options (1030) and
in the "A" and "C" character set
options (83B3, 115A) are identical.
Where they differ between the options,
the translation tables "favor" the "s"
option and the "A" option, as illustrated in the chart. If messages from
an "H" option 1030 are sent only to
another "H" option 1030, the translation table may be used as is, and
similarly, for the 83B3/115A, with
respect to the "c" option. If messages from terminals with the "H" or
"C" option are to be exchanged with
other terminal types, you may wish to
modify the tables.

Appendix

H:

4IBM 1031 sends the numeric 0 as a hex 20;
1033 receives the numeric 0 as a hex 15
(location 240/U)"
5Rlght bracket translates to EBCDIC hex 49;
no EBCDIC character has been assigned to
this bit pattern (locations 73/3 6 73/25).

Control Characters

ACK

Positive Acknowledgment

®

End-of-block (same as EOB)

BEL

Bell

BS

Backspace

BYP

Bypass
End-of-transmission (same as EOT)

CAN

Cancel

CC

Cursor control

CR

Carriage (carrier) return

®

Machine end-of-adaress (same as
EOA)

DC1i
DC2
DC4 .

Device controls

DEL

Delete

Character Set and Code correspondence

297

DLE

Data link escape

NUL

Null

DS

Digit select

PF

Punch off

EM

End of medium

PN

Punch on

ENQ

Enquiry

PRE

Prefix

EOA

End-of-address

PZ

Plus zero

EOB

End-of-block

RES

Restore

EOC

End of card

RM

Record mark

EOFC

End of first card

RS

Reader stop

EOM

End-of-message

~

Start-of-address

EOT

End-of-transmission

SI

Shift in

ETB

End-transmission-block

SM

Set mode

ETX

End-of-text

SO

Shift out

FF

Forms feed

SOH

Start-of-header

FIGS

Figures shift

SMM

Start-manual-message

FS

Field separator

SOS

Start-of-significance

HT

Horizontal tabulate

SP

Space

IFS

Interchange file separator

STX

Start-of-text

IGS

Interchange group separator

SUB

Substitute

IL

Idle

SYN

Synchronous idle

IRS

Interchange record separator

Tab

Tabulate (horizontal)

IUS

Interchange unit separator

TM

Tape mark

LC

Lower-case shift

TpAuxOff

Tape auxiliary off

LF

Line feed

TpAuxOn

Tape auxiliary on

LF-CR

Line feed-carriage return

uc

upper-case shift

LTRS

Letters shift

VT

vertical Tabulate

MZ

Minus zero

WRU

'Who Are You?'

®

Negative response to polling, ad·
dressing, or LRC/VRC

X-Off

Transmitter off

X-On

Transmitter on

NAK

Negative acknowledgment

NL

New line

298

OS BTAM SRL

Positive response to polling, addressing, or LRC/VRC

IBM
EBCDIC
Character
Graphic
Ref.

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

Code

Control

1

IBM 1030

2

Graphic

3

4

NUL
SOH
STX
ETX

00
01
02
03

PF
HT
LC
DEL

04
05
06
07

SMM
VT

08
09
OA
OB

FF
CR
SO
SI
OLE
DCI
DC2
TM
RES
NL'
BS

DC
OD
OE
OF
10

23

"

~:'

CAN
EM
CC
CUI

18
19
lA
18

28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

IFS
IGS
IRS
IUS
DS
50S
FS

lC
10
IE
IF

46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71

SM
CU2
ENQ
ACK
BEL

SYN
PN
RS
UC
EOT

CU3
DC4
NAK
SUB
SP

Control
5

Pad
#

•

~

H

~
EOA(@)
EOB(@)
HT
Pod
EOC DEL

IBM 1060

Character

Code

Character

Code

Graphic

Control

(Hex)

Graphic

Control

(Hex)

Graphic

6

7

8

9

10

11

12

13

IL

(5E)

#

EOA(@)
EOB(®)

(16)
(3D)

(5E)

IL

N

(7Aj
(OF)
7F

EOA(@)
EOB(@)

(16)
(3D)

PF
Tab
Dwn.hft
DEL

79 bF9d
7A LFA]
7C [FC]
7F

Subtr
Tab
IL
DEL

JFF]

LF-CR

(5B)

NL
BYP
RES

CR

Conlrol

Code
(Hex)

14

15

16

17

18

SOH
STX
ETX

01
02

SOH
STX
ETX

(01)
(02)
(03)

Character

03

Character
Graphic
Conlrol
19

20

21

IL

(5Ej
(37)
(16)
(3D)

N

EOA<©)
EOB(@)
HT
Dwnshfl
DEL

(58)

Start MI

NL

[BDJ

¢

Character
Graphic
Control
22

7A [FA]
7C [FC]
7F [FF]

Code
(Hex)

23

24

LTRS

(1 F)

CR

(02)

LTRS
LTRS

Character
Graphic
Control
25

Character
Code (Hex)
Even Non Graphi c Conlrol
27

26

28

29

30

31

Control
32

34

00
01
02
03

0
I
2
3

04
05
06
07
08
09
OA
08

4
5
6
7

(FF)

LTRS

(1 F)

LTRS

(I F)

CR

(02)

CR

(02)

CR

(8 I)

(81)

28
90

29
91

Rubout

FF

FF

LT R S
LT R S

(I F)
(I F)

LTRS
LTRS

(OA)

NL

(58)

CR

(02)

VT
FF
CR
SO
51

Dl

DI

30
(B1)
71
FO

31
(81)
71
FI

(I F)
(J F)

X-On

88

89

DC
(02)

CR

(02)

CR

LF-CR

.

Pml

RES
NL
BS
IL

(58)
~nF:\

58 g::~J
58 [DB]
50 [DO]
5E roEl

*

CR

(58)
(58)

IL

(5E)

A

[J

LF
EOB(@)

BYP
LF
EOB
PRE

(3B)
3D

38 kB8J
38 [BI>]

LF
EOB(@)

3D [Si:1

NL

NL

OA

CAN

ll8J

Check

42

(OA)

NL
BS
IL

00

DE
OF
10

11

ETX

(08)

LTRS

LF

[28J

(I F)

50

[51]

CR

(FF)

Rubout

"

LTR S

02

[22J

(I F)

LF
EOB

ETX

(03)

(03)

38 [B8]

LF

3D [BD]

CR

(08)
ro2l [2/J

L£

(50)

CR

(51)

LF
LF

,BI

DB

[28J
(08)

LF
LF

3A

Be II

DB

[28J
(08)

3E [BE]

ACK

EOT(©)

LF

(42)

Be II

Pad

CR

(1 F)

LTR S

28'
29
2A
2B
2C
2D
2E
2F
30
31
32
33

'[22J

02

'I

(3B)

3D

LF

58 [DB]
5D [DO]
5E [DE]

(DF)

IL

(5E)
19 [99]
lA [9,AJ

IF

PN
RS
Upshift
EOT(©)

IL

ACK

06

06

C,

(5E)

IL

(5E)

Bell

3A

LTRS

(J F)

WRU

AO

AI

Bell

El

EI

(FF)

(Ff)

48

49

Rubout
TpAuxOn

LTRS

(I F)

LTRS

2C

(1 F)

EOT(©)

(IF)

EOT (©)

04

EOT(©)

04

NAK

15

NAK

[15]

Upshft
EOT(©)

IC [9C]
IF

FIGS
#

IB

[3B]
(25)

EOT

21

21

X-Off

C9

C9

(5C)

(50)

05

05

FI GS
L TR S

lB

[3B)

FIGS
LTR 5

IF

IS

[3B]

(1 F)

~,

8
9
10

11
12
13
14
15
16
17
18
19

12
13
14
15
16
17
18

20
21
22
23
24

1'1

L:l

lA
IB
IC
ID
IE
IF

26
27
28
29
30
31

20
21
22
23
24
25
26
27
28
29
2A
2B
2C
20
2E
2F
30
31
32
33
34

35

IC1~q

Ref.

33

(FF)

TpAuxOff
HT

Code
(Hex)

Code
(Hex)

;

20
21
22
23
24
25
26
27

34
35
36
37
38
39
3A
3B
3C
3D
3E
3F

Graphic

Rubout

IF [3Fj

(IF)

Character

Code
(Hex)

EBCDIC

(BD)

NL

(OA)

Cade
(Hex) ,

~

(79)
(7A)
(5E)
7F

~
(58)
(38)
(58)

Graphic

WTTA (ZSC3)

WTTA (ITA2)

WUTWX

W U -115A

(Hex)

Control

AT&T 83 B3

IBM 2740

1053
Code

Character

(Hex)

(DF)
(37)
(16)
(3D)

2260

2260

11
12
13
14
15
16

24
25
26
27

BYP
LF
ETB (EOB)
ESC (PRE)

Cod~

Character

(Hex)

IBM 1050

36
37
38
39
3A
3B

32

33

34
35
36
37
38
39

40
41
42

43
44
45
46
47
48
49
50
51
52'
53
54
55
56
57
58
59

3C
3D
3E
3F
40

64

41
42
43

65
66
67

44

44

45

45

68
69
70
71

40
41
42
43

/

(23)
SP

01

(S8)

:

SP

01

(SlJ

/

(23)
SP

OJ

(5A)

:

SP

40

(5A)

:

SP

(40)

(88)

:

SP

01

[81]

/

(37}
SP

04

[24J

:

SP

/

,(37)

/
SP

04

[24]

(2A)
SP

46

04 [24J

46
,

47

Appendix

H:

47

Character set and Code correspondence

60
61
62
63

299

IBM
EBCDIC
Character

IBM 1030
Code

Character

IBM 1050
Coda

Character

Control

(Hex)

Graphic

Control

(Hex)

Graphic

Control

(Hex)

Graphic

Control

1

2

3

4

5

6

7

8

9

10

11

12

13

14

76

<

48
49 5
4A
4B

77

(

78
79

+

I

4C
4D
4E
4F

80
81
82
83
84
85
86
87

&

50

AT&T 83B3

IBM 2740
Character

Code
(Hex)

Graphic

Control

16

17

15

Code
(Hex)

Character

Code

Character

Character

COde

Graphic

Control

(Hex)

Graphic

Control

(Hex)

Grophic

Control

19

20

21

22

23

24

25

26

18

] 5

G)

EOFC

¢

76

G:>

<

93
El
87
61

+

I

61

$

57

G:l

(76)

&

(
+

I

5C
48
4B
FE

I

AO
76
84
93
El
B7

&

61

!

07
57
90
95
87
to

¢

4E

<

B4

(

& H+

AO
76

(4E)

<(
I

(48)
(48)
(FE)

&

(46)

.

+

<

\5(l'

+

(61)

&

46

$

(57)

$

44

$

(44)

*

4A
49

)

(4A)
(49)

G:l

(

+

27

<

3E

A( c 1/2

&

Charactcr

Code (Hex)
Non

Even

Graphic
28

27

BB

BB

74

75

3C

(

14

t

+

04
78

3D
15
D5
7B

&

65

65

!

B4

S
*

24

85
25

55
95
DD

55
95
DD

B4
F5

B5
F5

2B

WTTA (ZSC3)

WTTA (lTA2)

WU TVVX

W U liSA

1053

Control
29

Code
(Hex)
30

Charactcr
Graphic
31

3E
31

(
+

$

58
59
5A
5B

92

*

5C

.

93
94
95

)
;
--,

ou

)

5E
SF

.i,

96
97
98
99

/

I

-

100
101
102
103
104
105
106
107

!

-

~

D7
57

$

-

G:l
~

90
9;;
87
F6

)

-L.

-

~

~v

-

:

FC

--,

4D
4F

/

-

(58)

.

S

)
;

(FC)

-,

(4D)
(4F)

/

-

W
~

el / 4

A2

36
32

$
c 3/ 4
c 3/ 8

!>.l
A;

-

29

)

2F

;

-

)

29

)

Code
(Hex)

(Hex)

32

33

34

3E

38

29

2F

-

-

?

112
113
114
115
116
117
118
119

64
6S

64

66
67

66
67
68
69
6A
6B
6C
6D
6E
6F

100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119

/

40
23

/

(40)
23

/

40
23

38

/

/

37

/

38
37

/

;ru
2A

6S

6A

®

37

t::I

,

37

%

SB

>?

~

(37)

%

-

CO

>?

BE
A3

EOM

41
4C

!

45
BF

%

-

>?

5E
5F

~41)

4C)
(45)
(BF)

(5E)
(SF)

,

®

37

%

-

>?

c 7/8

A,

26

~

CO
8E
A3

,

35

35

,

26

,

26

%

AS
FA
7D
FC

AS
FB
7D
FD

?

33

?

25

-

8B

>

A?

,,5/8

?

33

70
71

70
71

72'

72

73

73
74
75
76
77
78
79
7A
7B

74
75
76

77

iI
@

,

=
"

EOA

78
79'
7A
7B
7C
7D
7E
7F

[I
sH

H=

s.@ H'

EOA(@)

16
(20)

~

EOA(@)

88
16

EOA (@)

20
BD
82
96

@
I

=
"

#

b

81
82

e
f

63
B4
85
86

9

87

h
i

88
S9

c

d

a

62

b

64
67

A
B
C

(62)
(64)
(67)

0
E

(68)
(6B)
(6D)
(6E)

e

(70)

h

(73)

i

F
G
H

I

c
d
f
9

68
6B
6D
6E·
70
73

EOA(@)
Add

16
(20)

'#

~
=

5A
43
EO
47
5D

#

@
I

=

(SAl
(43)
(EO)
(47)
(50)

#

EOA

(@)

@

EOA

(@)

I

=

"

80
a

92
93
94
95
YO

40
23

6C
6D
6E
6F

>

76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91

97
98
99

6B

-

50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F

72.
73
74
75

61
62
63

/

68
69

%

48
49
4A
48
,4C
40
4E
4F

Ref.

60

60
61
62
63

EOM

Code

Control

21

27

(
+

,BCOIC

51
52
53
54
55
56
57

88
89
90
91

136
137
138
139
140
141
142
143

Character

Graphic

¢.

132
133
134
135

Code

(Hex)

72

128
129
130
131

Charccter

Control

73
74
75

120
121
122
123
124
125
126
127

Code

2260

2260

Graphic
Ref.

108
109
110
111

IBM 1060

A
B
C
D
E
F
G
H

I

(62)

(64)
(67)

~~~~

A
B
C
D

E

(60)
(6E)
(70)

F
G
H

(73)

I

(AI)
(A2)
(A3)
(A4)
(AS)
IA6)
(A7)
(A8)

(M)

A

B
C
D
E
F
G
H
I

(AI)
(A2)
(A3)
(A4)
(A5)
(A6)
(A7l

(AS)
(A9)

a

b
c
d
e

f
9
h
i

S8
16
20
80
B2
96
62
64
67
6B
68
6D
6E
70
73

A:

e l/

2E

S
CR

(02)

Bell

34

#
@

A'

C

A
B
C
D
E
F
G
H

I

DB
5C
CS

DB
50
CS

:

2E

I

23

,

34

,

34

=

2F

=

2f

A
S
C
D

(18)
(13)
(0 e)

(12)

B4

E

00)
(16)
(OS)

85

(05)

88
89
8A

=

03
,E4
'SO

31

"

44

03
E5
SO
45

(18)
(13)

A
B
C
D
E
F
G
H

(82)
(42)
(C3)

(8~L
(43)
(C3)

(22)

(23)
(A3)

A
B
C
D
E

!OE)
(12)
(10) ,
(16)
(OS)

(05)
(.DC)

,

I

I

(A3)
(63)
(E2)
(12)
(93)

(63)

F

(E3)

G

(18)
(13)
(OE)
(12)
(10)
(16)
(06)

(13)
(93)

H
1

(05)
(OC)

SA

es

F
G
H

I

(OC)

7C
7;)
7E
7F
80
81
82

B3

86
87

8B

8C

8C
80
8E
SF

SO

BE
SF

Appendix

H:

Character Set and code Correspondence

120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143

301

IBM
IBM 1030

)IC
Code

~ (Hex)
2

Character
Graphic
Control

3

4

90
91
92
93

94
95
96
97
98
99
?A
9B
9C
90
9E

IBM 1050
Code
(Hex)

Character
Graphic
Control

6

7

J
K
L

(43)
(45)
(46)

i

M
N

(49)
(4A)
(4C)
(4A
(51)
(52)

0
P
Q
R

5

8

k

I
m

n
0

p
q

r

IBM 1060
Code
(Hex)

Character
Control
Graphic

11

2260
Character

2260
1053
Character

Character

Code
(Hsx)

Graphic

Control

Code
(Hex)

Graphic

Control

Cade
(Hex)

Graphic

12

13

14

15

16

17

18

19

9

10

43
45
46

J
K
L

(43)
(45)
(46)

J
K
L

(AA)
(AB)
(AC)

J
K
L

(AA)

i

(A9)
(AC)

k

49
4A
4C
4F
51
52

M
N

(49)
(4A)
(40
(4A
(51)
(52)

M
N

(AD)
(AE)
(Af)

M
N

(AD)
(AE)
(AF)
iBO)
(81)
(B2)

m

0
P
Q

R

0
P
Q
R

(90)

0
P

(81)

Q

(B2)

R

I
n
0

p

q

r

Cont!ol
20

AT&T 8383
W U liSA

IBM mO/7772

IBM 2740
Cod"
(Hex)
21

Character
Graphic
Control
22

23

Code
(Hex)
24

Character
Graphic
Control
25

26

Character

Cade
(Hex)

Graphic

27

28

J
K
L
M
N

43
45
46

J
K
L

(lA)
(lE)
(09)

49
4A
4C
4F
51
52

M
N

Q
R

(07)
(06)
(03)
(00)
(l0)
(OA)

25
26

S
T

(14)
(01)

29
2A
2C
2F
31
32

U
V

(IC)
(OF)
(19)
(17)

0
P

WTTA (lTA2)

WU TWX

0
P
Q

R

Control
29

Code (Hex)
Even Non

Character

WTTA (ZSC3)
Code (HEX)
Even Non

Character
Graphic
Control

Graphic

Control

30

31

32

(53)
(D1)
(33)
(92)
(72)
(F3)
(OA)

J
K
L
M
N
P

(07)
(06)
(03)
(aD)

(88)
(4B)

Q

(10)

Q

R

(OA)

R

0

33

34

(lA)
(I E)
(09)

J
K
L
M
N

0
P

35

EBCDIC
Code
(Hex)

Code
(Hex)

36

37

Ref.

90
91
92
93
94
95
96
97

144
145
146
147
148
149
150
151

98
99
9A
9B
9C
90
9E
9F

152
153
154
155
156
157
158
159

AO
Al
A2
A3

160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176

(lA)
(1 E)
(09)
(07)
(06)
(03)
(00)
(10)
(OA)

9F

AO
Al

A2

S
T

(25)
(26)

A4

U

AS
A6

V

(29)
(2A)
(2C)

rv

"

,.,..'\
.,'

A8
A9
AA
AB
AC
AD
AE
AF

Y
Z

(31)
(32)

A3

W

$

t
u
v
w
.-

y

25
26

S
T

(25)
(26)

S
T

(83)
(84)

S
T

(93)
(84)

29
2A
2C

U
V

U
V

(85)
(86)
(87)

U
V

W

(29)
(2A)
(20

W

(85)
(96)
(87)

v
w

~~

v

I?'"

1M)

X

(88)

x

y

(31)
(32)

(89)
(SA)

y
Z

(a9)
(BA)

y
z

31
32

:t

Z

W
X

y
Z

$

t
u

W
X

y
Z

(15)
(11)

S
T

(CA)
(2B)

U

(AA)
(6A)
(EB)
(18)
(9A)
(5A)

v
W
X

y
Z

(14)
(01)

S
T

(14)
(01)

S

v
W
x

U

(1C)
(OF)
(19)
(17)

U

v
W
x

(1C)
(OF)
(19)
(17)

Y
Z

(15)
(11)

Y
Z

(15)
(11 )

T

AA

AB
AC
AD
AE
AF
SU

BO
Bl
B2
B3
84
85
B6
B7

PZ

Ba
B9 .
BA
BS
BC
BD
BE
BF
CO
Cl
C2
C3
C4
C5
C6
C7
C8
C9
CA
CB
CC
CD
CE
CF

MZ

DO
01
D2
D3

04
05
D6
D7

M
AS
A6
A7
A8
A9

81
82
83
84
85
B6
B7

.
PZ
A
B
C

62
64
67

A

D
E
F
G
H
I

68
6B
60
6E
70
73

0
E
F
G
H
I

J
K
L
M
N

43
45
46
49
4A
'4C
4F

J
K
L
M
N

B

C

E8
EB
ED

EE

FO
F3

MZ

0
P

0
P

75
E2
E4
E7

A
B
C

(75)
62
64
(67)

D
E
F
G
H
I

(68)
6B
60
(6E)
(70)
73

D
E
F
G
H
I

(54)
43
45
(46)
(49)
(4A)
(4C)
(4F)

J
K
L
M
N

Restore

54
C3
C5
C6
C9
CA
CC
CF

Message
J
K
L
M
N

0
P

A
B

C

0
p

Al
A2
A3
M
AS
A6
A7
A8
A9

A
B
C
D
E
F
G
H
I

M

J
K
L
M
N

AS
AC
AD
AE
AF
SO

0
P

(AI)
(A2)
(A3)
(A4)
(AS) .
(A6)
(Al)
(AS)
(A9)

(AA)
. (AB)
(AC)
(AD)
(AE)
(AF)
(SO)

A
B
C
D
E
F
G
H
I

E2
E4
E7
E8
EB

J

C3
C5
C6
C9
CA
CC
CF

K
L

M
N

0
P

ED
EE
FO
F3

A
B
C
D
E
F
G
H
1

[C9]
[01 ]
[D9]

J
K

[S9]
[91]

L
M
N
0
P

[8A]
[92 ]
9A
88)l

rCA]
[D2]
lOA]
(CB]
~03]
(DB]

[99]

f

A
B

C
D
E
F
G
H
I

J
K
L
M
N

0
P

18
13
OE
12
10
16

OB

05
OC

lA
IE
09
07
06
03
00

[83]
[431
C3
22 [23]
A3
63
E2 (t3]

A
8
C
0
E
F
G

82
42

H
I

12

J
K
L
M
N

53
02 [03]
33
B2 CB3]
72 (73J
F3
OA rOB)

0
P

03]
,?3

Appendix

A
B

C
D
E
F
G
H
I

J
K
L
M
N

0
P

H:

18
13
OE
12
10
16
08

05
OC

lA
IE
09
07
06
03
OD

A
B
C
D
E
F

G
H
I

J
K
L
M
N

0
P

18
13
OE
12
10
16
OB

05
OC

IA
IE
09
07
06
03
00

178
179

B9
BA
B8

180
181
lB2
183
184
185
186
lB7

BC
BO
BE
BF

188
189
190
191

CO
Cl
C2
C3
C4
C5
C6
C7
C8
C9
CA
CB
CC
CD
CE
CF

192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207

DO
Dl
02
D3

208
209
210
211
212
213
214
215

88

\

In

D4
05
06
07

Character Set and Code correspondence

303

IBM

IBM 1060

IBM 1050

IBM 1030

EBCDIC

2260

Ref.

3

2

4

5

7

6

.08

Q

51

Q

01

R

09

R

52

R

02

220

DC'

221

DO

222

DE'

I'

,

(Hex)

13

11

Code
(Hex)

S
T
U
V
W

X

232
233

Z

,

(51)
, (52).

Q

,'"

R

:.

15

14

El~

236
237

S
T

S
T

E3,
E4

U
V

E.5 .
E6
E7

U
V
W
X

W

X
y

'£8

Z

:, E9
EA
E8
"'EC

234
235

16

"Code
(Hex)

17

I-::---::.::'Ch""a,ra:,::;ct:,,-er'--:---I
Graphic
Control

18

19

20

. Code

·Code..
Choracter
(Hex) j Graphic
Contra I

·I-_.,..C=h""a:;:ra""ct""er_--;
Graphic
Control

{Hex)
21

22

01
02

Q

"AS

S
T

23

WU T'NX

26

Code' ," t-:-_:",Ch""a::;;raroc,:,te.:..r---:~ Code (Hex) I-=-----:.=Cha.=;.:;rarc
.,': (Hex) .
Graphic
Control
Even Non Graphic
27
28
29
,",30
31

24

25

Q

81

Q

R

112

R

", (Sl)
(82)

Q

R

R

[93]
[98]

Q

Q

R

R

8B
48'

88
4B

Q

R

",;

RM

E2
"',

1-_-=Ch:.::a::.;ra:,:c,!!:t9::..r_--I
Graphic
Control

W U 115A

'.

"

EO,

RM

y

..

34

As"
AC

"

AF

y

31

32:

"

Z

V
W
X
y
Z

,c.

(26)

u

A9

M

.(25)

S
T

';;A6 .

83
84.
B6
87

W

(2F)

X
y
Z

, ,(31)
" (32)

S
T
U
V

BS·

U
V

(29)

(2A)
(2C)

i

S
T

,

(84)
· (85)

X

(86)
(87)
; (B8)

y
Z

(89)
(SA)

W

88;

'.

(&3)

,

B9

BA

U
V

W
X
y
Z

A6
A9

,J~l

U

AA

AF

V
W
X

81
82

y
Z

AC

u
V

}!~I

W

X
y
Z

... [53].'

. '[saJ

."

14

S
T
",'

;'.:,'.

01
Ie
OF
"19

'.

17 .
15
,11 .

,3

31\' ,38

S
T

2B

28

tA 'CB

S
T

U

AA

A8'

V

6A

611

W

EB'
18
9A

EB
18
9B

SA.

58

Z

DC

00

o

X
y
Z

U
V
W

X
y

..

ED

238

. EE

EF .'

o

1'0

I

FL

242
243

2

244

4

245

5

246
247

6
7

250
251
252

10

Character
Contral
Graphic

OF

223

248
249

Code

Character
I--::G-ra--:ph:=ic:=':;::::'C:::'o-nt-ro7"1-I

AT&T B3B3

m0/7772

I ••

DA
DB

239
240
241

l}. ,.' '.

Q

219

224
225
226
227
228
229
230
231

(H.xF

8

I""

216
217
218

Code .,.

Character
Graphic
Control

'Code
Character
;(Hex) I-G-r-ap":h:;;ic~:::'C;:':on-t-ro-:-I--I

Character
Control
Graphic

IBM

IBM 2740

1053

2260

3

8
9

1

.F2

. F3 :
F4

':.1'5
"F6.:'

1,:·;'F1' '
Fa
F9

.'.

';

04

,

2
3
4
5
6
7
8
9

o
I
2
3
4

5
6
7

8
9

o
I
2
3
4
5

.g:.,;
',,00
" ...•. (IE " ...

~

IS

o

so ..

o

02

I
2
3
4

51

I

52

2

· (52)

.53" '", .
54,

3

(53)

5
6

.. ~~

.56

4
5
6

7

57

7

(56) .
',""(57)

8
9

· (59)

04

.

'(f!" .. ' .

·'.OB '. ,

. OS

••

OD
(lE' ,

6

7

8
9

8
9

, flo.'
:'-',,"Fa

5$
••..

58

..: .. ~~~

;'

o
,

2
3

(58)

253
254

Ii:::

255

I;

',:.'?;
, .'~.~

..

:'I~ .

,

.
, ,;,.

o

07

3

I
2

4

4

5
6

5
6
7

7

8
9

.;
',,'

1

15
02
04

10

13

:".'... ; ':,;.'.
":';

;!."' . ' .

[I4l09][40]
{11]
(19]

~~i

..

. . . ~~~J ..
[13]
, [181

B
9
.

.

o
I
2
3
4
5
6

20

o

3D, •...

39 ,'.,
" 30' , '•

1
2
3

40

40

2

2A. ..

4

20

20

21:
35

5

AC

AD

3
4
5

6
7
8
9

6C
60
ED
ED
10., :.10·

7

3C

8
9

. 23

2C

eo

BO

1

cc .co·

9C90

..:.

", '

:'

8
9

."

'.

.

6
7

'

:::':.:".;!

Appendix

H:

;;;;r
2

IBM 1050

IBM 1030

C

Code
(Hox)

Character
Graphic
Control

3

4

.DS
09
DA

Q

Character
Graphic
Control

Code
(Hex)

5

7

6

B

Q

51
52

R

Character
Cantrol
Graphic

Code
{Hex}

R

9

10

01
02

Q

2260

IBM

IBM 1060
2260
Character
Graphic
Contral

Code
(Hex)

11

R

12

13

(51 )
(52).

Q

R

14

IBM 2740

1053
Code
(Hex)

Character
Graphic
Control
16
17

15

Q

B1
B2

R

Code

IBM

Character
Graphic
Control
19
20

(He>()

18

(B I)
(82)

Character
Graphic
Control
22
23

Code
(Hex)
21

Q

01
D2

R

AT&T 83B3

mO/7772
Code
(Hex)
24

W U liSA
Character
Code
Graphic
(Hex)
Contra I
26
27
25

Q

[93]

Q

R

(98]

R

10
OA

WTTA {lTA2)

WU TWX

Character
Graphic
Control

Code (Hex)
Even Non

Character
Graphic
Control
28
29

30

31

BB
4B

Q

R

WTTA (Z5C3)

BB
48

Character
Graphic
Control

Code
(Hex)

32

Q
R

33

34

10
OA

Q
R

35

EBCDIC
Code
(Hex)

(He>

BS
IL

$

$

MO$SOs'e

$
RES

*

9

I

.

LF-CR

$

NL

)
;

<

BS
IL

-.

:
;

CR

=

>

It

?

-

• &. H+
A

/

&.
a

+

4C
4D
4E
4F

2

P

MZ

LF
LF

!>

V
Y

J

.
$

58
59
5A
5B

T
W
Z

Z
Z
:

5C
50
5E
SF

:

?

60
61
62
63

&.
a

A

b

B

b

64
&.

,

EOM

%

-

>

65
66

6C
60
6E
6F

?

50
I

I

i
PZ

. (2) EOFC

,

HT

C0
PF
Tab

.

N
N

i
Restore

C0

Subtr
Tab

HT

Dwnshfl

Dwnshft

@
I

ic

=

7F

"

EOC OEL

Del.

DEL

n

t
>

DEL

Appendix I:

70
71
72
73
74
75
76

C0

.

EOA

50
51
52
53
54
55
56
57

F

n

7B
79
7A
7B

0

0

(

Transmission Code Chart

78
79
7A
7B
7e
70
7E
7F

307

IBM 2260
EBCDIC

5/360
Byle
(He,,)

84
85
66
87
88
B9
BA
BB

IBM 1060

IBM 27-«>

CII

Gr

CII

Gr

ell

Gr

ell

Gr

IOS3
CII

Gr

ell

Gr

a
b
c

=

SP

<

<

II

;

;

h
i

:

:

%

%

I

I

>

>

*

.
)

9B
99

q

0

.

r

x-On
x-On

..

EOA

Q

HT

K
N
Q

HT
I

EOA

Upshifl

Upshifl

¢

s
I

A4

u

AS

v

A6
A7

w

Gr

60
61
62
63

CO
CI
C2
C3

A
B
C

84
85
86
87

e4
C5
C6

D
E
F

C7

G

88

CB

H

B9
BA
BB

C9

I

CB

8e
BD
BE
BF

CC
CD
CE
CF

90

M
N

9B
99

Q

9
9

ge
9D
9E
9F

DC
DD
DE
DF

WRU
WRU

?

?

E

AO
Al
A2
A3

5
T

D
E
F

D
E
F

5
T

%

G

H
I

J

U

J

K

V

K

L
M
N

L
M
N

W

X

0

0

X

P

P

Y
Z

Q

Q

R
S

R
5

T
U

T
U

U

V

.

W

B4

B5
B6

..

I
BYP

V

V

W

W

X
Y
Z

X
Y
Z

'

LF

EOB
PRE

~Starl

-

MI

¢

-

IBM 27-«>

CII

Gr

ell

Gr

CII

Gr

IOS3
CII

Gr

01

Gr

IBM

AT&T83B3
W U 1I5A

mO,7772

CII Gr

ell

Gr

CII

WTTA
WUTWX

Gr

- ®

- ®

J

J

C

K
L

K
L

I

CII

Gr

5/360
Byle
(He,,)

ZSC3

ITA2
CII

Gr

ell

& (mOonly •

CO
CI
C2
C3
C4
C5
C6

C7
CB
M
N

A
0

M
N

0

0

P

P

Q

Q

X-Off
5
5

J
K

R

CA
CB

3
3

B
E
H

R

L

CC
CO
CE
CF

VT
K
K

+
+

0
P

1

I

NL

Nt

BS
IL

BS
IL

C
F
I

D8
D9
DA
DB

[

DC
DD
DE
DF

0
;

Pad

RM

EO
El

@

DO
DI
D2
D3
D4
D5
D6
D7

RES

R

C9

EO

@

+

+

A

A

B

B

Bell

EI

E2

G
G

E3

I

E4

I

E5

E2

S

E3

T

A4
AS

E4

A6
A7

E6

U
V
W
X

C

C

E7

AB
A9
AA
AB

EB
E9
EA
EB

Y

D

D

E

E

W

EB
E9
EA
EB

AC
AD
AE
AF

EC
ED
EE
EF

F

F

7

G

G

FO
FI
F2
F3

H

H

M
M

BO
Bl
B2
B3

1
2
3

--

B4
B5
B6
B7

F4
F5
F6
F7

4
5
6
7

]

F8
F9
FA
FB

8
9

LF

BB
89
SA
BB

EOB

'"

BC
BD
BE
BF

FC
FD
FE
FF

G

H
I

Y

IBM 1060

MZ

D4
D5
D6
D7

9A
98

IBM IOSO

G

94
95
96
97

Y
Y

¢

Gr

CA

93

A
8
e

CII

PZ

DO
Dl
D2
D3

91

IBM 1030

2260

Gr

ell

A
B
e

x

z

CII

5/360
Byte
(Hex)

D8
D9
DA
DB

L

0

Gr

EBCDIC

5/360
Byle
(He,,)

92

)

R

AO
Al

BC
BD
BE
BF

ell

1

PN
RS

ge
9D
9E
9F

BB
B9
SA
BB

Gr

P

9A
98

B7

M
P

i

)

BO
BI
B2
B3

ell

J

m
n

AC
AD
AE
AF

Gr

Gr

ZSC3

ITA2

1
1

d
e
f

94
95
96
97

A8
A9
AA
AB

ell

IBM 2260 R

WTTA

W'lJ TWX

A
A

(

A3

AT&T 83B3
W U 1I5A

=

(

A2

IBM

SP

k
I

92
93

CII

mO,7772

-(m0 only)

BC
BD
8E
8F
90
91

IBM IOS0

2260

Gr
60
61
82
83

IBM 1030

U
U
5
5

CR

Y
Z

I

E5
E7

E6

Z

0

Ee
ED
EE
EF

51
I

....,

0

I

.., (Y)

(Y)

PF
Tab

HT

.....

Dwnshfl
"

DEL

I

.....

Dwnshfl

F4
F5
F6
F7

/

-..
?
?

FO
FI
F2
F3

F8
F9
FA
FB
SI

FC
FD

FE

I
DEL

Appendix I:

Ruboul

Transmission Code Chart

FF

309

APPENDIX J:

LINE AND STATION CONFIGURATIONS SUPPORTED BY BTAM

Start-Stop Communications
The types of remote start-stop (asynchronous) terminals that can communicate with a
System/360 under BTAM control, and the
kinds of communication lines that can be
controlled, are described below. The communication lines must be connected to the
computer via an IBM 2701 Data Adapter Unit,
and IBM 2702 Transmission Control, or an IBM
2703 Transmission Control.
1.

Nonswitched lines (point-to-point or
multipoint), using programmed polling:
IBM 1030 Data Collection System
IBM 1050 Data Communications System
IBM 1060 Data Communications System
IBM 2260 Display Station -IBM 2848 Display Control
(Remote -- 2701 only)
IBM 2265 Display Station -- IBM 2845
Display Control (Remote -- 2701
only)
IBM 2740 Communications Terminal
(Modell): Basic: with checking1; with Station Contro12 ; with
Checking and Station Contro1 2 ; or
with Checking and IBM 2760 Optical
Image Unit features (point-to-point
only, if 2740 is equipped with 2760
Optical Image Unit)
(Model 2): Basic or with Checking1
IBM 2741 Communications Terminal
Western Union Plan l15A Outstations
AT&T 83B3 Selective Calling Stations

2.

IBM 1060 Data Communications System
IBM 2740 (Modell): with Station Contro12 or with Station Contro12 and Checking features

Binary Synchronous Communications
The types of remote binary synchronous stations (computers or terminals) that can
communicate with a central System/360 under
BTAM control, and the kinds of communications lines that can be controlled, are as
follows. The communications lines must be
connected to the central computer via an
IBM 2701 Data Adapter Unit or an IBM 2703
Transmission Control. An IBM 2701 (with
Synchronous Data Adapter Type II) may be
attached to either the multiplexer channel
or a selector channel. An IBM 2703 (with
Synchronous Base Type 1) must be attached
to the multiplexer channel.
1.

Nonswitched point-to-point and
switched point-to-point lines:
IBM System/360 3
IBM System/360 Model 20
IBM System/3
IBM 1130 Computing System
IBM 1800 Data Acquisition and
Control System

Switched lines:
IBM 1050 Data Communications System
IBM 2740 Communications Terminal
(Modell): Dial; Dial, with
Checking; Dial, with Transmit Control; Dial, with Checking and Transmit Control, or Dial, with Checking
and IBM 2760 Optical Image Unit
features.
IBM 2741 Communications Terminal
WU Model 33/35 Teletypewriter
Exchange Terminal (TWX)

IBM 2715 Transmission Control unit
(Model 1 attaches directly to multiplexer channel of central computer;
Model 2 communicates with central
computer via IBM 2701 or 2703)
IBM 2770 Data Communications System
IBM 2780 Data Transmission Terminal
IBM 3735 Programmable Buffered Terminal

3.

Nonswitched multipoint lines using the
Auto Poll facility (IBM 2702 or 2703
only) :
IBM 1030 Data Collection System
IBM 1050 Data Communications System

1Used as a regular terminal or as an operator's console, when the operating system
includes the Multiple Console Support.
Appendix J:

2.

Nonswitched multipoint lines:

2Station Control feature cannot be used if
the 2740 is also used as a console under
3Multiple Control Support.
The remote System/360 may be a Model 25,
30, 40, 50, 65, 67 (operating in 65 mode),
75, 85, or 91.

Line and Station Configurations Supported by BTAM

311

IBM System/360 Model 20
IBM System/3
IBM 1130 Computing System
IBM 1800 Data Acquisition and
Control System
IBM 2715 Transmission Control Unit
(Model 1 attaches directly to multiplexer channel of central computer;
Model 2 communicates with central
computer via IBM 2701 or 2703)

e The remote stations must be attached to
an acceptable data adapter or transmission control unit (IBM 2701, 2702, or
2703). . (A local 2715 (Modell) must be
connected to the multiplexer channel.)
o All remote start-stop terminals that
are connected to the same multipoint
line, or are capable of communicating
with the computer over any· given
switched line termination must be of
the same type and must be equipped with
the same features.
(Remote binary synchronous stations are not subject to
this limitation.)

IBM 2770 Data Communications System
~

IBM 2780 Data Transmission Terminal
IBM 2972 (Models 8 & 11) General Banking Terminal System
Remote IBM 3270 Display System
IBM 3735 Programmable Buffered Terminal
(Requires special feature)

All devices must be attached to the
System/360 via the multiplexer channel
except the IBM 2701 with Synchronous
Data Adapter Type II, which may be
attached via the selector channel (nonswitched lines only), or to the multiplexer channel.

o No device may be operated in burst mode
concurrently with the operation of BTAM
except the 2701 attached via the selector channel.

LOCAL COMMUNICATIONS
The local IBM·3270 Display System can
communicate with a System/360 under BTAM
control.. The local 3270 display system
is connected to the computer by means
of a selector, multiplexer, or block
multiplexer channel.

~

Execution of BTAM requires that the
interval timer of the central computer
be working.

Q

In a system in which BTAM is used in
more than one partition, if the BTAM
Read/Write module (IGG019MA) is resident, all device I/O modules that are
shared by the BTAM-using partitions
must also be made resident.

Q

Use of the STIMER macro by the user is
restricted during the time a BTAM Open
(OPEN) or Line Open (LOPEN) operation
is in progress, because the BTAM Open
routines also use STIMER.

Machine and Programming Requirements
BTAM operates on any System/360 that meets
the following requirements:
• The system must meet the minimum configuration of the System/360 Operating
System.

Terminals which are equivalent to those explicitly supported
may also function satisfactori Iy. The customer is responsible
for establishing equivalency. IBM assumes no responsibi I ity
for the impact that any changes to the IBM-supplied products
or programs may have on such terminals.

312

OS BTAM SRL

APPENDIX K:

IBM 2980 CHARACTER SET AND TRANSMISSION CODE CHARr

These charts show for each transmission
code bit pattern the corresponding 2980
character, for each of the models of the

8-bit
pattern
(Hex)

2980 character
EBCDIC
character

Numeric shift
Model
1

Model
2

Alpha shift
Model
4

Model
I

Model
2

Model
4

2980 (1, 2, and 4).
Also shown is the
EBCDIC character equivalent for that bit
pattern.

2980 character

8-bit
pattern
(Hex)

EBCDIC
character

Model
I

00

NUL

ID

IGS

01

SOH

IE

IRS·

02

STX

STX

STX

STX

1F

IUS

03

ETX

ETX

ETX

04

PF

05

HT

06

LC

07

DEl

STX

STX

STX

ETX

ETX

ETX

open
chute
HT

HT

HT

ETX

20

DS

open
chute

21

SOS
FS

HT

HT

HT

22

LC

LC

LC

23
24

BYP*

BYP

25

LF

passbook
index
ETB

08
09

RLF

OA

SMM

26

ETB

OB

VT

27

ESC

OC

FF

28

OD

CR

29

OE

SO

2A

SM

OF

SI

2B

CU2

10

DLE

It

DCI

2D

ENQ

12

DC2

2E

ACK

13

TM

2F

BEL

14

RES

15

NL

16

BS

DLE

DLE

DLE

DLE

DLE

turn
page
light
NL

NL

NL

NL

Nt

DLE

Numeric shift

Alpha shift

Model
2

Model
4

BYP

BYP

ETB

ETB

ETB.

ETB

ETB

ENQ

ENQ

ENQ

ENQ

ENQ

ENQ

SYN

S¥N

SYN

SYN

SYN·

SYN

EaT

EaT

EaT

passbook
index

2C

turn
page
light

30

NL

32

31
SYN

33
message
light

message
light

message
light

message
light

CAN

35

RS

19

EM

36

UC

UC

UC

UC

IA

CC

37

EaT

EaT

EaT

EaT

IB

CUI

38

lC

IFS

18

Model
4

passbook
index

PN*

IL

Model
2

passbook
index

34

17

Model
I

* Also used as a Terminal Selection Character.

Appendix K:

IBM 2980 Character Set and Transmission Code Chart

313

8-bit
EBCDIC
patcharactern
ter
(Hex)

2980 character
Numeric shift
Model
1

Model
2

Alpha shift
Model
4

Model
1

Model

2

Model
4

8-bit
EBCDIC
patcharactern
ter
(Hex)

39

55

3A

56

3B

CU3

57

3C

DC4

58

3D

NAK

NAK

NAK

NAK

NAK

NAK

NAK

2980 character
Numeric shift
Model
1

Model
2

Alpha shift
Model
4

Model
1

Model
2

59
5A

I

5B

$

-

$

$

!

5C

*

$

&

*

~

41

50

)

42

5E

;

43

5f

--,

44

60

-

f

-

-

45

61

/

T

/

/

46

62

47

63

48

64

49

65

2

I

3E
3f

SUB

40

SP*

4A

SP

SP

SP

SP

SP

SP

66

~

4B

--,

3

67

4C

<

68

40

(

69

4E

+

6A

4f

1

6B

I

6C

%

50

&

validate
1.0.
char.

&

validate
1.0.
char

&

+

&

60

-

51

6E

>

52

6F

?

53

70

54

71

* Also used as a Terminal Selection Character

314

.?

OS BTAM SRL

I

I

Model
4

8-bit
pattern
(Hex)

2980 character
EBCDIC
character

Numeric shift
Model
1

Model
2

Alpha shift
Model
4

Model
1

Model
2

Model
4

8-bit
pattern
(Hex)

2980 character
EBCDIC
character

Model
1

72

8F

73

90

74

91

i

75

92

k

76

93

I

77

94

m

78

95

n

79

96

0

97

P

98

q
r

7A

:

7B

1/

$

1/

*

fI

II

.....

7C

&

99

70

I

9A

7E

=

9B

7F

II

9C

80

Numeric shift
Model
2

Alpha shift
Model
4

Model
1

Model
2

Model
4

90

81

a

9E

82

b

9F

83

c

AO

84

d

A1

85

e

A2

s

86

f

A3

t

87

9

A4

u

88

h

A5

v

89

i

A6

w

8A

A7

x

8B

A8

y

8C

A9

z

80

AA

8E

AB

Appendix K:

IBM 2980 Character set and Transmission Code Chart

315

2980 character

2980 charac"',
8-bit
pattcrn
(Hex)

EBCDIC
character

Numcric ~hift
Model

I

Model
2

Alpha shift

Model
4

Model

I

Model
2

Model
4

8-bit
pattern
(Hex)

EBCDIC
charactcr

Numeric shift
Modcl

I

Alpha shift

Model
2

Model
4

Model

I

Model
2

Model
4

AC

C8

H

-00

h

I

H

H

6

AD

C9

I

8

i

C

I

I

0

AD

CA

AF

CB"k

BO

CC

Bl

CD

B2

CE

B3

CF

B4

DO*

B5

DI

J

4

i

J

J

J

J

B6

D2

K

5

k

K

K

K

K

B7

D3

L

6

I

L

L

L

Q

B8

D4

M

1

m

X

M

M

M

B9

D5

N

0

n

N

N

N

N

BA

D6

0

9

0

0

0

0

I

BB

D7

P

+

p

p

p

P

H

D8

Q

R

q

0
B

Q

Q

5

BD

D9

R

A

r

C

R

R

-

BE

DA

BF

DB

CO

DC

BC

M

J1

Y
R

""/

a

A

A

A

A

DD

b

B

B

B

B

DE

I

c

C

C

C

C

DF

D

N

B

d

?

D

D

D

EO*

C5

E

X

e

E

E

E

E

EI

C6

f

a

f

F

F

F

F

E2

C7

G

9

G

G

G

G

CI

A

C2

B

C3

C

C4

316

C

B

-

S

OS BTAM SRL

2

T

$

4

T

y

/
S

T
F

* A non-EBCDIC code.

S

$

S

S

S

2980 character
8-bit
pattern
(Hex)

EBCDIC
character

2980 character
Alpha shift

Numeric shift
Model
2

Model
4

Model

Model

1

1

2

Model
4

Model

8-bit
pattern
(Hex)

Numeric shift
Model

1

E3

T

Ii

t

A

T

T

T

FA

E4

U

7

u

M

u

u

U

FB

~

V

V

V

FC

E5

V

5
p

V

E6

W

Q

w

*

W

W

W

FD

E7

X

M

x

N

~

B

X

X

X

FE

E8

Y

'5

y

T

Y

Y

3

FF

E9

Z

V

z

z

z

z

~

EBCDIC
character

Model
2

Alpha shift
Model
4

Model

1

Model
2

Model
4

LVM

EO

EA
EB*

1

I

EC
ED
EE

EF
FO

0

U
A

0

0

0

)

1

1

1

=

L

S

Fl

1

F2

2

H

2

2

2

<

F3

3

c

3

3

3

i

,

F4

4

M

4

4

4

:

0

F5

5

l

5

5

5

%

P

F6

6

C

6

6

6

I

*

F7

7

M

0

7

7

7

>

7

F8

8

M
~

8

8

8

*

8

F9

9

C

9

9

9

(

9

~

F

~

* A non-EBCDIC code.

Appendix K:

IBM 2980 Character Set and Transmission Code Chart

317

APPENDIX L:

THE TPEDIT MACRO INSTRUCTION (IBM 50 MAGNETIC DATA INSCRIBER)

there. The Edit routine gives a return
code indicating that the input area is
empty but a record is not available. It is
your responsibility to obtain the remainder
of the record via READ macros. When control is given back to the Edit routine, the
characters in the input area (until EOR is
encountered) are treated as the remaining
portion of the partial record.

GENERAL CHARACTERISTICS
Data received from the IBM 50 Magnetic Data
Inscriber~ (MOl) attachment to the IBM 2772
Multi-Purpose Control Unit contains MDI
control characters. The TPEDIT macro
enables the user to edit this data. The
Edit routine, entered from the TPEDIT macro
in the user program, edits the data as
specified, then returns control to the user
program. You have the option of gaining
temporary control (via a user-specified
exit routine) to process error records.
The Edit routine is written in reentrant
code. If data is to be received from more
than one MOl at a time, you must provide a
separate parameter list for each of them.

TPEDIT MACRO INSTRUCTION
The TPEDIT macro is used to specify the
type of editing to be done on the input
received from the IBM 50 MDI attachment to
the IBM 2772.

When the user program issues a READ
macro, it receives one block of data, which
may contain one or more MDI logical records
(or none). The Edit routine extracts one
record from this block of data, edits it
and gives it to the user program with a
return code indicating whether or not the
user program input area is empty. If the
input area is not empty, the user program
must reissue the TPEDIT macro to obtain
another record. When control is returned
to the user program with an indication that
the input area is empty, the input area can
be reused. If the input area contains a
partial record, the available portion is
edited into the work area, and maintained

MINLN

Specifies the minimum acceptable
length of an input record~ For
EDIT=EDITD, SOR and EOR codes are
excluded from the length; for
EDITR,SOR and EOR are included
in the length.

REPLACE

Specifies the code to be used as
a replacement character whenever
the Edit routine detects a 2772
replacement character (i.e., the
EBCDIC SUB character, X'3F') in
the input. X'19' is chosen as
the assumed value because it is
an end-of-data (ED) Signal for an
IBM 50 MDI cartridge and therefore can never appear as a valid
data byte. For REPLACE=X'xx' you
specify xx as hexadecimal characters of your choosing. These
choices may be made from the code
chart in Figure 41, with exceptions as noted below.

full information on the IBM 50, see
the publication IBM 50 Magnetic Data
Inscriber Component Description,
GA27-2725.

~For

r-------T---------T-------------------'----------------------------,

IName
I Operation I Operand
I
~------+---------+-----------------------------------------------i
1 (name] ITPEDIT
I MINLN=n[,REPLACE=lX'19'
1
I
I
X'xx'

11

II
1
I
1
1
1

II
I
I
I

I
1

I1 [EDIT=f) EDITD
b [,RECFM=SV(]
ED ITR (
)"uj

1
,)
~
·1 [,ERROPT={IGNOREl] [,VERCHK=)'NOCHK 1]
1
name f
t VOKCHKf
1
f)

1 [,BUFFER= NO \]
______________________________________ _
1L _______ I _________ I __________ YES
~

~

Appendix L:

t

~

f

The TPEDIT Macro Instruction (IBM 50 Magnetic Data Inscriber)

319

Programming Note: BSC control
characters should not be used as
replacement characters if the
data is to be transmitted via BSC
facilities after editing.

Segment Descriptor Word

r4---T~----~T--------------------'

I nn I
\

Hexadecimal characters representing special
purpose MDI codes that should not be used
as replacement bytes are:
--X'QQ' (LZ)

X' lE' (VOK)

x'74' (P4)

X'll'(DUP)

X'3C' (RM)

X'7S' (PS)

X'12' (LZS)

X' 71' (Pl)

X' 76' (P6)

X'18'

X· 72' (P2)

X'77' (P7)

X'73', (P3)

X' 78' (P8)

(CAN)

X'lD' (GS)
EDIT

EDITR

Causes the input to be
edited and start-of-record
(SOR) and end-of-record
(EOR) delimiters to be
deleted.
Causes the
edited and
record and
delimiters
as part of

input to be
the start-ofend-of-record
to be retained
the output.

The edit consists of the following functions.
Records are
extracted one at a time from the
input area by scanning for the
record delimiting codes (SOR and
EOR). DUP codes are replaced by
the character from the corresponding location of the record
that was in the work area when
control was last returned to the
Edit routine.
(This does not
apply to the first record of a
cartridge.) Left-zero fields are
right-adjusted, with leading
zeros inserted where necessary.
Left-zero start codes, records
containing a cancel code, and
group separator codes do not
appear in the output stream.
Line control characters (ETB,
ETX, STX, and DLE STX) are always
deleted if found in the input
area.
RECFM

32Q

Specifies the format of the output from the Edit routine. If
RECFM=V, a segment descriptor
word is appended to each record
as shown.

OS BTAM SRL

J

~

¥

I

Logical Record
where nn (2 bytes) is the length
of the logical record and bb (2
bytes) is binary zeros reserved
for system use.
This four-byte field is
included in the record length
returned to the user program via
a parameter list.
Note: Allow for this four-byte
field when determining the size
of the work area (see section on
Input to the TPEDIT macro).

specifies the type of editing to
be done.
EDITD

Data
I
___ I ____________________

bb

L----~---

If RECFM=U, no segment descriptor
word is appended to each record.
ERROPT

Specifies whether a user error
exit routine is provided to
handle erroneous records.
IGNORE

An error exit routine is
not provided.
The error
conditions are to be disregarded and the record
is to be passed normally
to the user program.

name

Specifies the name of the
user error exit routine
to be entered when the
Edit routine detects logical errors or replacement characters in the
record.

VERCHK (valid only if ERROPT=name is coded)
Specifies whether the records are
to be checked for verify-OK (VOK)
codes. If you specify VOKCHK and
a record does not contain the
verify-OK code, the record is
passed to the error exit routine.
When the Edit routine encounters an erroneous record and control passes to this user-suppliea
routine, register 13 contains the
address of a 72-byte register
save area aligned on a fullword
boundary, and register 1 contains
the address of a two-word parameter list aligned on a fullword
boundary. The parameter list is
defined as follows:

Word

Note:
The entire buffer chain
must have been posted complete in
the DECB before you issue the
TPEDIT macro.

contents

1.
2.

Record address
Address of record length

The record length includes the
four-byte error description word
appended, as shown, to the data
record.
In addition, if RECFM=V,
the logical record length (nn)
includes these four bytes when
the record is passed to the error
exit routine.

Input to TPEDIT Macro
Register 1 must point to a four-word parameter .~ist (aligned on a fullword boundary)
containing:
Contents

If RECFM=V is specified:

Input Address
If you are using dynamic buffering,
this address points to the first
buffer in the chain. The Edit routine edits all records in the buffer chain before indicating that the
input area is empty. If dynamic
buffering is not used" this is the
address of the data to be edited.

1

Error
Description Word
r---T---~~-T--T--T-~------------//------'

IL\__
nn I ____
bb I__ 1 ·1 _ _ I__iI_ ___________
Data
//-----7JI
~

~

i__~

~

...
Logical record

If RECFM=U is specified:

2

Input Length
If dynamic buffering is used, this
is the length of one Duffer.
If au
1/0 area is used, this is the
length of the data to be edited.

3

Edit work area address
The work area required by the Edit
routine for a given parameter list
is obtained in either of two ways.
The wotk area can be provided by
the Edit routine (via an unconditional GETMAIN), or you may provide
it.

Error
Description Word
r2-T--T--T-~T------------//------'
I____________
Data
I
/ / -__

1 I__ I__ I
~_~

~

~_~

-~J

...

Logical record
Information on the Error Description Word may be found under
Error Record Identification.
The
error exit routine can be used to
analyze and, if possible, correct
the erroneous record. When control returns to the Edit routine
via register 14, you must set
register 15 to zero if you wish
to bypass the entire record.
To direct the Edit routine to
pass only that segment of the
record in error and process the
rest of the record normally, set
register 19 to a nonzero value.
Note that neither acceptance nor
bypassing of the erroneous record
changes its effects on subsequent
records.
The Edit routine removes
the error description word when
control returns from the error
exit routine.
BUFFER

Specifies whether or not the user
data is in BTAM buffers obtained
through dynamic buffering operations.
If you specify YES, the Edit routine
edits all data in the input area
until the area is empty.

Appendix L:

If the work area is to be provided by the EDIT routine. this
word must contain binary zeros.
The Edit routine issues a GETMAIN
macro to obtain the required
storage and places the address of
the storage obtained in this word.
If you provide the work area, this
word contains the address of the
area supplied.
The amount of
storage needed in addition to the
fixed amount required is determined
from:
(1) the maximum record length.
(2) whether a user exit exists (72
bytes for a register save area
and 4 bytes for an EDW are
required by the macro if an
exit is specified).
(3) whether RECFM=V.
The size (in bytes) of the work
area may be determined from the
formula:

The TPEDIT Macro Instruction (IBM 50 Magnetic Data Inscriber)

321

= 84

S

+ 76E + R + 4V

= 1 if RECFM=V

Where:

R is the length of the longest
record to be processed.

S is' the size (in bytes) of the
work area.

Maximum record length.
This is the length, in bytes, of
the longest valid edited record.
For EDIT=EDITD the length should
exclude SOR and EOR codes; for
EDIT=EDITR, the length should
include SOR and EOR codes.

4

E = 0 if ERROPT=IGNORE is coded
1 if ERROPT=NAME is coded

v

0 if RECFM=U

Bits 0,1

10

01

00
00

01

10

11

00

01

10

11

00

01

10

11

00

01

10

11

1st Hex Digit _____

0

1

2

3

4

5

6

7

8

9

A

B

C

0

E

F

0

0-8-2

0

S

2

Space &

0000

0

0001

1

DUP

0010

2

LZ
Start

LZ

Minus

-

I

PI

A

J

P2

B

K

1

0011

3

P3

C

L

T

3

0100

4

P4

0

M

U

4

0101

5

P5

E

N

V

5

0110

6

P6

F

0

W

6

0111

7

P7

G

P

X

7

·1000

8

CAN

P8

H

Q

y

8

1001

9

ED

I

R

Z

9

1010

A

1011

B

·1100

C

<

*

1101

0

GS

(

)

1110

E

VOK

+

;

>

1111

F

I

....,

?

f

Bits
4,5
6,7

C;

I

:

,

$

RM

%

@

Underline
Prime

=

f

2nd Hex
Digit

IBM 50 Cade
Name

EBCDIC Cade
Name
NULL
DC I
DC2
Can

PI
P2
P3
P4

(Prog
(Prog
(Prog
(Prog

2)
3)
4)

ED (End Data)
RM (Rec Mark)
GS (Group Sep)
VOK NerOK)

EM
DC 4
IGS
IRS

P5
P6
P7
P8

(Prog
(Prog
(Prog
(Prog

5)
6)
7)
8)

Figure 41. IBM 50 MDI Control Codes

OS BTAM SRL

IBM 50 Cade Name
(See Note)

LZ (LZ Fill)
DUP
LZ Start
CAN (Cancel)

Note: Cades are assigned for IBM 50 use only.

322

11

Bits 2,3

1)

The value of the maximum record
size should not include the fourbyte segment descriptor word added
to a variable length record.
Records that exceed the maximum
record size are considered
erroneous records. Register 13
must contain the address of a 72byte register, save area aligned on
a fullword boundary.

er list is returned in register 1. The
parameter list has the following format:
Word

Contents

1

Address of the record

2

Address of the record length

IDENTIFICATION OF RECORDS CONTAINING ERRORS
Return Codes
After the Edit routine has edited a record,
it provides in register 15 a return code
indicating record availability and status
of the input area, prior to returning control to the user program. The return codes
and their meanings are as follows:
Code
(hex)

Meaning

00

A record is available; input ar~a
is empty. The routine has edited
the last log·ical record in the
input area and is passing the
record to the user program.

04

A record is available; input_area
is not empty. The routine has
edited one logical record and
is pussing that record to the
user prosrram.

08

No record is available; input
area. is empty. The last record
in the input area was incomplete;
i.e., it was a partial record.

OC

End-of-data (ED) code was
detected.

For return codes 00 and 04, the record
address and the address of the record
length are given to the user program in a
two-word parameter list aligned on a fullword boundary. The address of the paramet-

Appendix L:

This section describes what the Edit routine considers to be records containing
errors.
Once the Edit routine has determined a record to be in error, it passes
that record to the user error exit routine,
-if ERROPT=name is specified in the TPEDIT
macro statement. If an error exit ro~tine
is not specified, the erroneous record is
returned to the user program.
The Edit routine maintains information
about each record as it is being edited.
This information is summarized in the Error
Description Word (EDW) described below.
When the EDW contains a nonzero value in
either the Level Status (byte 0) or the
Type Status (byte 1), the record is considered an erroneous record and the EDW is
inserted between the four-byte record
length field and the data portion if RECFM=
V is specified. Otherwise, the EDW is
appended to the start of the record to help
you analyze the error. Table 49 shows the
format of the EDW.

Level Status (Byte 0)
The level status indicator ide~tifies
erroneous records that result from interrecord dependency and that cannot be identified in the type status byte. The level
status is presented with each erroneous
record and has one of the values shown in
Table 49.

The TPEDIT Macro Instruction (IBM 50 Magnetic Data Inscriber)

323

Table 49.

Format of Error Description Word

r----------------------------------------------------------------------,
Byte 0: Level status

J

I
0- for any error record that will not cause questionable data to be I
in the following records·.
I
I

1 - for any error record that may cause questionable data to be in
the following records.

I

I
I
2 - for any error record that (1) contains questionable data due to I
the error level of preceding record(s) and (2) may cause quesI
tionable data to be in the following records~ and where the level I
status of the previous record was either 1 or 2.
I

t--------~--------------~----------------------------------------------i
Byte 1:

o-

Type status

No identifiable errors.

1 - Start-of-record (SOR) or end-of record (EOR) in error.
2 - Length error.
4 - Field error.

a -

Data check error.

Note: This field may contain combinations of these error types;
e.g.,. a C (hexadecimal) indicates a data check error and a field
error.

t----------------------------------------------------------------------i

I
I Byte 2: Program Level
I
I 1 - Pl 5 - P5
E-none of the preceding levels.
I 2 - P2 6 - P6
(SOR) is in error.
I 3 - P3 7 - P7
I 4 - P4 a - pa

I
I

start-of-record

J

I
I
I
I

~----------------------------------------------------------------------i

I
I
I
I
I
I

Byte 3:

Record status

u - Unverified record.
V - Verified record.
E - Neither U nor V. End-of-record (EOR) is in error.

I
I
I
I
I
I

t----------------------------------------------------------------------f

I
I
I
I Note: The error description record is in EBCDIC format. For
example, a 2 is represented as X'F2';
a C is represented as X'C3'.
IL_______________________________
______________________________________
JI
~

A level status of other than zero is
presented with erroneous records resul'ting
from the following:

MDI cartridge from which data is being
obtained.

• The start-of-record (SOR) location has a
character defined as an error.

• The record has a data duplication dependency on a previous record having one of
the foregoing errors.

• The'record contains two or more data
check bytes in succession.
• The record is longer than the userspecified maximum length record.
• The length of the record is not equal to
the length of the first valid record of
the same program level encountered on the
324

os BTAM SRL

The level status is set to zero whenever
the Edit routine encounters (1) a record
without one of the previous errors,. (2) a
canceled record~ or (3) the first record of
a cartridge.

Type status (Byte 1)

Program Level (Byte 2)

The type status indicator identifies
records in error because of SOR, EOR,
length, field, and/or data check error
conditions.

This byte contains an indication of the
start-of-record (SOR) character associated
with this record.
(See Table 49 for
values.)

The type status is presented with each
erroneous record and has a value of:

Record Status (Byte 3)

o

1

2

For any record that has no identifiable errors, but contains questionable data due to a level status of
other than zero (see Level status).
For any record that (l) has a SOR
character of other than P1 through P8
or a GS code, 'or (2) has an EOR character of other than a VOK code when
you have a specified VERCHK=VOKCHK,
or (3) has an EOR character of other
than a VOK code or RM code when you
have specified VERCHK=NOCHK.
For any record that has an incorrect
length because it is:
• Longer than the specified maXlmum, or
• Shorter than the specified minimum (MINLN), or
• Not equal to the length of the
first valid record of the same
program level encountered on the
MDI cartridge from which data is
being obtained.

4

For any record that has one or more
field errors. A field error is a
field or fields where duplication
and/or lett-zero justification fUnctions did not occur due to an error
condition.

8

For any record that has a data check
error.

The type status indicator can also have
hexadecimal values of 3, 5, 6, 7, 9, A, B,
C, D, E and F. These values indicate
various combinations of SOR, EOR, length,
field, and data check errors.
For example,
a value of A indicates a record with a data
check error (8) as well as an incorrect
length error (2).
Note: A data check error is indicated by
the presence of 2772 replacement characters
(i.e., EBCDIC SUB characters, X'3F'), in
the input.

Appendix L:

This byte contains an indication of the
end-of-record (EOR) character associated
with this record.
(See Table 49 for
values.)

EXAMPLES OF RECORDS CONTAINING ERRORS
Figure 40 shows some of the errors that may
occur during processing and their effect on
the error description word (EDW).
For
these records, the maximum record length is
specified as 50, EDITR and VOKCHK are specified. and th~ hexadecimal REPLACE character is '5B' ($). An asterisk in the
records indicates the presence of a DUP
code in the location before editing.
Record 1 was a valid record.
It contained a program level 1 code and thus
established the valid length for all program level 1 records received from the
cartridge.
Record 2 has a data check in the SOR
location.
Level status is set to 1 because
the SOR location might have contained a
cancel code that would cause any data duplicated into the following record to be
ques VALUES BETWEEN 0 ABD 159.

TRLIST ROUTE=CPU,TRID=O
DEULIST
THE CPU TRANSACTION CONSISTS OF 1 STEP AND
WILL BE ROUTED TO THE CPU.
TRlIST ROUTE=(LOG),TRID=1
ASLIST B,NORM=19
THE BADGE TRANSACTION CONSISTS OF 1 STBP AND
WILL BE BOUTED TO THE 2140 ATTACHED TO THE 2115.
THE DATA ENTRY WILt BE A BADGE ENTERED AT THE
AREA STATION WITH GUIDANCE LIGHT 19 TUBNED ON
WHEN THE TRANSACTION STEP IS ENTERED.
TRtIST ROUTE=(CPU,LOG),TRID=2,DEftOD10=YES,IUQDISP=YES
ASLIST B,NORM=31,MODULUS=(2,10,4) ,LERGTH=(1',2) ,INQDISP=1
THE BADGE1 TRANSACTION CONSISTS OF 1 STEP AND
WILL BE ROUTED TO BOTH THE CPU IND THE 2740. A
llODULUS 10 CHECK WILL BE PEBP'ORftED ON POSITIONS

SAt!1PLI~115 TA~~L12.A!L1SI~BO_~SE~~ll_j~.2!!tim!~~1

PAGE 13

•

*
*•

•

*
*
*
*
*
*
*
*
*
*
*
•
*
*
*MANUAL

TRLIST
ASL1ST
ASLIST
ASLTST

*
*
*
*
*
*
*

•
•
•

*
*
*
*
*
*CARD
CARD1

*
*

TRLIS'l
ASLIST
TRLIST
ASLIST
ASLIST

2 THROUGH 10 AND WILL CE CHECKED WITH THE SELFCHECK CHARACTER IN POSITION 11. IF THE MODULUS
10 CHECK FAILS, GUIDANCE LIGHT 4 WILL BE TURNED
ON. THE DATA ENTRY WILL BE A BADGE ENTERED AT
THE AREA STATION WITH GUIDANCE LIGHT 4 TURNED
ON WHEN THE TRANSACTION STEP IS ENTERED. THE
LENGTH OF THE DATA ENTRY WILL ALSO BE CHECKED
AN'D IP THE LENGTH IS NOT 11, GUIDANCE LIGHT 2
WILL BE TU RNED ON. THIS TRANSACT.ION IS ALSO AN
INQUIRY DISPL~Y·TRANSACTION. GUIDANCE LIGHT 7 ON
THE AREA STATION WILL BE TURNED ON WHEN THIS
TRANSACTION IS RECEIVED BY THE 2715 AND ROUTED
TO THE CPU AS PRIORITY DATA. THIS IS REALLY THE
INQUIRY-IN-PROCESS GUIDANCE LIGHT. IF THE
INQUI.RY IS ABORTED BY THE OPERATOR AT THE 2791
AREA STATION, GUIDANCE LIGHT 1 WILL BE TURNED ON
AUTOMATICALLY. ALLAR!! STATIONS THAT USE
INQUIRY DISPLAY TRANSACTIONS SUST BESERVE
GUIDANCE LIGHT 1 FOR THE INQUIRY ABORT
SITUATION.
ROUTE=(DISK,LOG) ,TRID=3
M.NORM=27,LINGTH=(5,23)
M,NORM=26,LENGTH=(5.22)
M,NORM=25,LENGTH=(7,21),ENTRY=K
THE MANUAL TRANSACTION CONSISTS or 3 STEPS
AND WILL BE ROUTED TO THE 2715 DISK AS DEFERRED
DATA AND TO THE 2740. MANUAL DATA ENTRIES WILL
BE ~ADE FOR ALL 3 STEPS. FOR THE FIRST STEP,
GUIDANCE LIGHT 27 WILL BE ~URNED ON WHEN THE
STEP IS ENTERED AND GUIDANCE LIGHT 23 WILL BE
TU-RNED ON IF T HE DATA ENTRY LENGTH IS NOT 5.
FOR THE SECOND STEP, GUIDANCE LIGHT 26 WILL BE
TURNED ON WHEN THE STEP IS ENTERED AND GUIDANCE
LIGHT 22 WILL BE TURNED ON IF THE DATA ENTRY
LENGTH IS NOT 5. FOR TEE THIRD STEP, ~UIDANCE
LIGHT 25 WILL BE TURNED ON WHEN THE STEP IS
ENTERED AND GUIDANCE LIGHT 21 WILL BE TURNED ON
IF THE DATA LENGTH IS NOT 7. THE THIRD STEP IS
A MULTIPLE ENTRY STEP SO THAT 7 CHARACTERS CAN
BE ENTERED.
ROUTE: (LOG) ,TRID=4
C, NORM= 17
ROUTE=(DISK,LOG) .TRID=5
C,NORM=30,DIGIT=(2,1,1m ,LENGTH=(47,11)
M, NORM= 18, LENGT H= (6, 11)
THE CARD1 TRANSACTION CONSISTS OF 2 STEPS AND
WILL BE ROUTED TO THE 2115 DISK AND TO THE

Appendix M:

Sample 2715 Table Load r1acro Assembly

341

~j~f1~~~lA~LE LOAD_~~BO

ASSEftBLY

(Continu~gl

PAGE 14

*
*
*
*

*
*
*
*
*

*
CARD2
EXP1
EXP2

*
*
*
*
*
*
*
*
*EXP]
EXP4

*
*
*
*
*
*
*
*EXPS
OEU 1

*
*
*
*
*
*

342

OS BTAM SRL

TRLIST
ASLIST
ASLIST
ASLIST
TRLIST
ASLIST
TRLIST
ASLIST

TRLIST
ASLIST
ISL 1ST
TRLIST
AS L 1ST

2740. THE FIRST STEP WILL BE A CARD ENTRY WITH
GUIDANCE LIGHT 30 TURNED ON WHEN THE STEP IS
ENTERED, IF THE CHARACTER IN POSITION 2 OF THE
DATA ENTRY IS NOT THE EBCDIC CHARACTER Fl, THEN
GUIDANCE LIGHT 10 IS TURNED ON. IF THE LENGTH OF
THE CARD ENTRY IS NOT 47, THEN GUIDANCE LIGHT 11
IS TURNED ON. THE SECOND STEP WILL BE A MANUAL
ENTRY WITH GUIDANCE LIGHT 18 TURNED ON WHEN THE
STEP IS ENTlRED. IF THE LENGTH IS NOT 6, THEN
G&IDANCE LIGHT 11 IS TURNED ON.
ROUTE= (CPU,LOG) ,TRIO=6 ,DEl'IOD11=YES,INQOISPr=YES
C, NORM=29, MODULU 5= (2,15,5) ,L ENGTH= (17, 11)
B,NORM=20,LENGTH=(11,2)
M,NORM=15,INQDISP=7
ROUTE=(CPU,LOG) ,TRID=7,DEMOD10=YES,INQDISP=YES
B,NORM=16,MODULUS=(2,9,4),INQDISP=7
ROUTE= (CPU,LOG) ,TRID=8,DEMOD11=YES
B,NORM=16,MODULUS=(2,9,S)
THE EXP2 TRANSACTION CONSISTS OF 1 STEP AND
WILL BE ROUTED TO tHE CPU AND TO THE 2740. THE
DATA -ENTRY WILL BE A BADGE ENTERED AT THE AREA
STATION WITH GUIDANCE LIGH7 16 TURNED ON WHEN
THE TRANSACTION STEP IS ENTERED. A MODULUS 11
CHECK WILL BE PERFORMED ON POSITIONS 2 THROUGH
10 AND WILL BE CHECKED WITH THE SELf-CHECK
CHARACTER IN POSITION 11. IF THE MODULUS 11
CHECK FAILS, GUIDANCE LIGHt 5 WILL BE TURNED ON.
ROUTE= (CPU,LOG) ,TRID=9,DEMOD10=YES,INQDISP=YES
B,NORM=16,MODULUS=(2,7,4)
C, NO RM =~17, INQDI SP=7, EN TR Y= M
ROUTE=(LOG),TRID=10
B, NO R11 -= 16 , DIG IT = (3 , 5 , 1 0) , LEN GTH= ( 11 , 11)
THE EXP4 TRANSACTION CONSISTS OF 1 STEP AND
WILL BE ROUTED TO THE 2140. THE ~TEP WILL BE A
BADGE ENTRY WITH GUIDANCE LIGHT 16 TURNED ON
WHEN THE STEP IS ENTERED. GUIDANCE LIGHT 10 WILL
BE TURNED ON BY THE 2715 IF THE CHARACTER IN
POSITION 3 IS NOT THE EBCDIC CHARACTER F5.
GUIDANCE LIGHT 11 WILL BE TURNED ON IF THE
LENGTH OF THE DATA ENTRY IS NOT 11.

TRLIST ROUTE=(LOG),TRID~11
ASLIST B, NORM: 16
TRLIST ROUTE=LOG,TRID=12
DEULIST DIGIT= (2,1) ,DIGIT2= (3, l'
THE DEUl TRANSACTION CONSISTS OF 1 STEP AND
WILL BE ROUTED TO THE 2740. THE DATA ENTRY WILL
BE ~ADE FROM A DATA ENTRY UNIT. AN ERROR WILL BE
INDICATED AT THE DEU IF POSITION 2 DOES NOT
CONTAIN THE EBCDIC CHARACTER F1 OR IF POSITION
3 DOES NOT CONTAIN THE EBCDIC CHARACTER Fl.

~A~PL~_~112-1!~LE

LOAD MACBO

ASSE~BLY

(ContiA~edl

PAGE 15
DEU2
DEUl
DEU4
DEUEXP

•
•

*
*
*•
*
•*
*
*
*
DEU6
EIPALM

•

*
*
*
*
*EXPALMTX
EIPTX

RDIPSG

*
*
*
*
*•

•
•
*

TRlIST ROUTE= (LOG) ,TRID=13,DEl'!OD1 O=YES
DEULIST DIGIT2=(2,1),KODULUS=(3,10)
TRLIST ROUTE=(lOG) ,TRID=14,DEl'!OD11=YES
DEULIST DIGIT2=(2,5),MODULUS=(3,1M ,LENGTH=13
TRLIS~ ROUTE=(LOG),TRID=15
DEULIST DIGIT=~,6),DIGIT2=(3,9) LENGTH=11
TRL 1ST ROUT.E= (LOG, NULL) , DEMOO 1 O=YES, TRI 0= 16 ,TEXT= YES
DEULIST MODULUS=(3,10),MSG=' THIS IS AN EXPANDED TRANSACTION'
THE DEUEXP TRANSACTION CONSISTS OF 1 STEP AND
WILL BE ROUTED TO THE 2140 AND TO THE PRINTER
ATTACHED TO THE AREA STATION THAT WILL BE
SPECIFIED BY THE OPERA~OR IN THE FIRST DATA
EN TRY. THE DATA ENTRY WILL BE ENTERED PROM .A DEU
AND A DEFINED MESSAGE (IMPLICIT TEXT) WILL BE
INCLUDED WITH THE TRANSACTION. A MODULUS 10
CHEC~ WILL BE PERFORMED ON POSITIONS 3 THROUGH
10 AND WILL BE COMPARED WITH THE CHECK
CHARACTER IN POSITION 11. IF THE MODULUS 10
CHECK FAI.LS, THEN THE RED ERROR BUTTON WILL BE
INDICATED AT THE DIU.
TRLIST ROUTE=(LOG),TRID=17
DEULIST
TRLIS! ROUTE=(CPU,5~ ,TEXT=YES,TRID=18
DEULIST MSG=" VENI VIDI VICI AT TWO PRINTERS, I BOPE'
THE EXPiLH TBiN5iCTIONCONSiS~S OF 1 STEP a~u
WILL BE BOUTED TO THE CPU AND TO THE PRINTER
0* THE AREA STATION WHOSE ID IS 59. THE DATA
ENTRY WILL BE ENTERED FROM A DEU AND A DEFINED
~ESSAGE WILL BE ROUTED ALONG WITH THE
TRANSACTION.
TRLIST ROUTE= (CPU,59) ,TEXT=YES,TRID=19
DEULIST MSG=' , TYPE AT TiO PRINTER AND NO ALARK~
TRLIST ROUTE=42.TRID=20
DEULIST
CTRLIST DEVCOD=B, CTRADR=IItP,CTRRD=SINGL E, CTTEST=NULL,
X
CTROP=READ
TRLIST ROUTE·=LCG, TRID=21
DEUL 1ST
CTRLIST DEVCOD=B,CTRADR=IItP,CTRRD=SINGLE,CTTEST=NULL,
I
CTROP=READ
THE RDIPSG TRANSACTION CONSISTS OF 2 STEPS AND
WILL BE ROU-rED TO THE 2140. THE FIRST STEP IS 1
D~TA ENTRY FROM A DEU. THE SECOND STEP IS THE
PULSE COUNT DATA ENTRY. THIS STEP WILL CAUSE THE
SINGLE COUNTER WHOSE IMPLIED ADDRESS RESULTS
FROK THE CONVERSION OF THE DEVICE ADDRESS OF
THE DEU INITIATING THE REQUEST. THERE WILL BE
NO CHANGE IN THE PRESENT COUNT TEST CONDITION
OF THE COUNTER.

Appendix r.f:

Sample 2715 Table .Load Macro Assembly

3 LJ3

~!~PL~_~112-1A]1]_1QjlLl!I~BO .;..!~g~ BL Y_~2B!il!!!~L

PAGE 16
RDEPSGM

•
•

•
•
•

•

*

*

RDEPSGB

TRLIST
ROUTE=LOG,TRID=22
DEULIST
CTRLIST DEVCOD= M, CT RADR= EX P, CTRRD-=SINGLE.CTTEST=lfULL,
X
CTROP=READ
THE RDEPSGft TRANSACTION CONSISTS OF 2 STEPS
AlfD WILL BE RO UTED TO THE 2740. THE 'lIBST STEP
IS A DATA ENTRY FROM A DEU. THE SECOND STEP .IS
THE PULSE COUNT DATA ENTRY SET UP TO BEAD THE
SINGLE COUNTER WHOSE ADDRESS IS EXPLICITLY
SPECIFIED IN THE MANUAL DATA ENTRY. THERE WILL
BE NO CHANGE IN THE PRESENT COUNT TEST
CONDITION OF THE COUNTER.
TRLIST ROUTE=LOG,TRID=23
DEULIST
CTRLIST DEVCOD=B, CTRADR=!X P,CTR'RD=SINGLE,CTTEST=NULL.
I
CTROP~READ

RDEPGPM

RDEPGPB

*
*
*
*
*
*
*RDRSTIP

*

*
*
*
*
*
*
*
**

344

OS BTAM SRL

TRLIST ROUTE=LOG,TRID=24
DEULIST
CTRLIST DEVCOD=M,CTRADR=EXP,CTBRD=GROUP,CTTEST=NULL,
I
CTROP=READ
TRtIST ROUTE=LOG,TRID=25
DEULIST
CTRLIST DEVCOD=B,CTRADR=EXP,CTRRD=GROUP.CTTEST=NULL,
X
CTBOP=READ
THE RDEPGPB TRANSACTION CONSISTS OF 2 STEPS
AND WILL BE ROUTED TO THE 2740. THE FIRST STEP
IS A DAT.A ENTRY FBOft A DEU. THE SECOND STEP IS
THE PULSE COUNT DATA ENTRY SET UP TO BEAD THE
GROUP OF COUNTERS THAT WILL BE EXPLICITLY
SPECIFIED IN THE BADGE DATA ENTRY. THERE WILL
BE NO CHANGE IN THl PRESENT COUNT TEST
CONDITIONS OF ANY OF THE COUNTERS.
TRIIST ROUTE=LOG,TRID=26
DEULIST
CTRLISTDEVCOD=B, CTRADR= IMP,CTRRD=SINGLE,CTTEST=NULL.
X
CTROP=READRST
THE' RDRSTIP TRANSACTION CONSISTS OF 2 STEPS
AND WILL BE ROU1:ED TO THE 2740. THE FIRST STEP
IS A DATA ENTRY FRO! A DEU. THE SECOND STEP IS
THE PULSE COUNT DATA ENTRY. THE SINGLE COUNTER,
WHOSE ADDRESS IS IMPLIED FROM THE CONVERSION
OF THE DEVICE ADDRESS OF THE DEU. INITIATING
THE REQUEST, WILL BE READ AND THEN THAT COUNTER
WILL BE RESET. THERE WILL BE NO CHANGE IN THE
PRESENT COUNT TEST CONDITIOIf OF THE COUITBR.

~1.aPL!_~71.L1A~~L.LQjlL~A~RO_~Il'§il-,coDti!lued}

PAGE 17
RDRSTEPI1

ROUTE=LOG.TRIt:21
DEU.LIST
CTRLIST DEVCOD:!.CTBADR=EXP.CTRRD=SINGLE.CTTEST=NULL.
CTROP=READRST
••• FIRST SET OF EXPANSION TRANSACTIONS FOR 2796 TC81-TC89 •••

•••••••••
RDSTIPK
RDSTEPM

~RLIST

x

•••••••••

TRLIST ROUTE=(LOG.42).TRID:28
DEULIST
CTRLIST DEVCOD:!!, CTRADR= 1M P, CTRR D=SIMGL B.CTTEST=IULL.
CTROp:READSET
TRLIST ROUTE=(LOG.42),TRID:29
DEULIST
CTBLIST DEVCOD=M,CTRADR=EXP.CTRRD=SINGLE.CTTEST=NULL,

x

x

C~BOP=READSET

•*
•
•
•
•
•
••
•

•RDSTEPB
RDSIDEPK

RDSIDGPM

RDSIDGPB

WRIPS

THE RDSTEPM TRANSACTION CONSISTS OF 2 STEPS
AND WILL BE ROUTED TO THE 2140 AND TO THE
PRINTER ON THE AREA STATION WHOSE ID IS 42.
THE FIRST STEP IS A DATA ENTRY FROM A DEU.
THE SECOND STEP IS THE PULSE COUN~ DATI ENTRY.
SET UP TO READ THE SINGLE COUNTER, WHOSE lDDRESS
IS EXPLICITLY SPECIFIED IN THE MlNUAL DATA
ENTRY, AND THEN TO SET THE C9UNTER TO THE
EXPLICITLY SPECIFI!D VALUE. THERE WILL BE NO
CHANGE IN THE PRESENT COUNT TEST CONDITION OF
THE COUNTER.
TRL 1ST RO UTE= (LOG, 42) , TRID =3 0
DEU.LIST
CTRLIST DEVCOD:B,CTRADR=EXP.CTRRD=SINGLE,CTTEST=NULL.
x
CT BOP= BEADS ET
TRLIST ROUTE=(LOG,42).TRID=31
DEULIST
CTRLIST DEVCOD=M,CTRlDR=EXP,CTRRD=SINGLE.CTTEST=NULL,
x
CT IWP=RORESI D
TRLIST ROUTE=(LOG,42).TRID=32
DEULIST
CTRLIST DEVCOD=M.CTRAOR=E~P,CTRRO=GROUP,CTTEST=NULL,
x
CT BOP=RDRESID
TRLIST ROUTE=(LOG,42),TRID=33
DEULIST
CTRLIST DEVCOD=B.CTRAOR=EXP,CTRRD=GROUP,CTTEST=HULL,
x
CTEOP= RDRES I D
TRLIST ROUTE=LOG.TRID=34
DEULIST
CTRLIST DEVCOO=B,CTRADR=IKP ,CTRRD=SI NGLE,CTTEST= NUL:L,
X
CTFOP=SET

Appendix M:

Sample 2715 Table

Load~1acro

Assembly

344.1

SAl1PL~_£112-1A]tj_1QjJJ_~A~!!Q-A~1!BLI-1£2J!tiID!ed)

PAGE 18
WREPM

•
••
•*
•
•

*RDGPEPAA
RDGPEPBB

RDSIEPAA

RDMSIEP

RDSIIPAA

RDSItPAB

EXP

READ

344.2

as

BTA~

SRL

TRLIST ROUTE=LOG,TRID=35
DEULIST
CTRLIST DEVCOD=,., CTRADR= EX P, CTRRD-=SIBGLE,CTTEST=NULL,
CTROP=SET
THE WREP,. TRANSACTION CONSISTS OF 2 STEPS AND
WILL BE HOOTED TO THE 2740. THE FIRST STEP IS
THE PULSE COUNT DATA ENTRY SET UP TO SET THE
SINGLE COUNTER, WHOSE ADDRESS IS EXPLICITLY
SPECIFIED IN THE MANUAL ENTRY, TO THE KANUAL
VALUE SPECIFIED AT THE DEU. THERE WILL BE NO
CHANGE IN THE PRESENT COUNT TEST CONDITION OF
THE CO UN TER.
TaLIST ROUTE=42,TRID=36
DEULIST
CTRLIST DEVCOD=B, CTR ADR= EX P, CT RRD=GROUP, CTTEST=HtJLL,
CTROP=RE1D
TaLIST ROUTE=59,TRID=37
DEULIST
CTRLIST DEVCOD=M,CTRADR=EXP,CTRRD=GROUP,CTTEST=NULL,
CT ROP= READ
THLIST ROOTE=42,TEX~=YES,TRID=J8
DEULIST
CTRLIST DEVCOD=B,CTRADR=EXP,CTRRD=SINGLE,CTTEST=NULL,
CTROP=RE1D,MSG=' A SINGLE COUNTER SHOULD ACCOltPANI
THI S lit ESSAGE'
TRLIST ROUTE=42,TEXT=YES,TRID=39
DEULIST
CTRLIST DEVCOD=~, eTRAOR= EX P, CTHR D=SINGLE,CTTEST=NULL,
CTROP=READ,MSG='A SINGLE COUNTER SHOULD ACCOlltP1NY
THIS MESSAGE'
TRLIST ROUTE=42,TEXT=YES,TRID=40
DEULIST
CTRLIST DEVCOD=B,CTRAOR=IMP,CTBRD=SINGLE,CTTEST=NULL,
CTROP=READ,~SG=""THIS IS AN ALAR! ftESSAGE WITH
A COUNTER'
TRLIST ROUTE=59,TEXT=YES,TRID=41
DEULIST
CTRLIST DEVCOD=B ,'CTRADR=IMP, CTRRD=SINGLE, CTTEST=NULL,
CTROP=READ,MSG-""ALAR~ MESSAGE AT TWO AREA STATIONS
AND A COUNTER VALUE AT ONE'
TRLIST ROUTE=LOG,TRID=42
DEULIST
CTRLIST DEVCOD=B,CTRADR=EXP ,CTRRD=SI NGLE,CTTEST= NULL,
CTROP= READ
TRLIST ROUTE=LOG,TRID=43
DEULIST
CTRLIST DEVCOD=B,CTRADR=IMP,CTRRD=SI NGLB,CTTEST=NULL,
CTROP= READ

X

X

X

X
X

X

X

X

X

X
X

X

X

~ AM£1~_11J.2_1A!!11L10 A!L~A~ R0 _A ss Elt~ L Y_~Q.n t!ID!~~

PAGE 19
READST

READSID

ALARP!
AL.ARP!TX
TEXT
DISK
TESTO

*

••
•
*
•
•
•
•

•
•

*
**-

*

•

*
*
*
•*

••*
*
*
*
*

TRLIST ROUTE=LOG,T.RID"=44
DEULIST
CT RLIST DEVCOD= B, CTR ADR= 1M P, CTRR D=SINGL E,CTTEST=NULL,
X
CTROP=READSET
TRlIST ROUTE=LOG,TRID=45
DEULIST
CTRLIST DEVCOD=B, eTR ADR=IM P, CT RR D=SINGLE,CTTEST=NULL,
X
CTROP=RDRESID
TRLIST ROUTE=(LOG,42),TEXT=YES,TRID=46
DEULIST MSG="
•
TRLIST ROUTE=(LOG,42),TEXT=YFS,TRID=47
DErrLIST MSG='"
VENI vrOI VICI'
TRLIST ROUTE=(LOG,42),TEXT=YES,TRID=48
DEULIST MSG=' , THE ALARM HAD fETTER BOT HAVE SOUNDED'
TRLIST ROUTE=DISK,TRID=49
DEUL.IST
TRLIST TRID=60,ROUTE=LOG
GDULIST PARAMNO=01,NORGUID=1,OISP8SG=OG17
GDULIST PAR1MNO=02,NORGUID=1,DISPMSG=DG1
GDULIST PARAMNO= 33, NORGO 10= (1, 3, 5) ,IDEMT=4
THE TESTO TRANSACTION CONSISTS OF 3 STEPS AND
WILL BE ROUTED TO THl 2740. ALL 3 STEPS WILL
BE DATA ENTRIRS FROM THE 2798. WHEN THE FIRST IS
ENTERED~ GUIDANCE LIGHT 1 IS TURMED ON AT THE
OPERATOR GUIDANCE PANEL AND THE MESSAGE DEPINED
BY DISPGUID MACRO DG17 WILL BE DISPLAYED ON THE
2198 GUIDANCE DISPLAY PANEL. THE 2715 WILL USE
PARAMETER LIST NUMBER 01 TO GET TO THE
PARAMETER LIST DEFINED BY PARMLIST MACRO, PAR1.
THIS PARAMETER LIST WILL BE USED IN CHECKING
THE FIRST DATA ENTRY. WHEN THE SECOND STEP IS
ENTERED, GUItANCE LIGHT 1 IS TURNED ON AT THE
OPERATOR GUIDANCE PANEL AND THE MESSAGE DEFINED
BY DISPGUID ~ACRO DG1 WILL BE DISPLAYED ON THE
2798 GUIDANCE DISPLAY PANEL. THE 2715 WILL OSE
PARAMETER LIST NU~BER 02 TO GET TO THE
PARAMTER LIST DEFINED BY THE PARMLIST NACRO
PAR2. THIS PARAMETER LIST WILL BE USED IN
CHECKING THE SECOND DATA ENTRY. WREN THE THIRD
STEP IS ENTERED, GUIDANCE LIGHTS 1,3,IID 5 WILL
BE TURNED ON AT THE OPERATOR GUIDANCE PANEL AND
THE MESSAGE DEFINED IN THE PIPTH IDENTIFIER
IN THE IDENTIFIER TABLE WILL BE DISPLAYED ON
THE 2798 GUIDANCE DISPLAY PANEL. THE 2715 WILL
USE PARAMETER LIST NU~BER 33 TO GET TO THE
PARAMETER LIST DEFINlD BY THE PARMLIST SACRO
PAR33. THIS PARAMETER LIST WILL BE USED IN
CHECKING THE T HI RD DATA ENTRY.

Appendix M:

Sample 2715 Table Load Macro Assembly

344.3

~A MR1:&_~11.2_1A!!L E le0AQ_l!!£ RO -A~]~ BLl_JCon t i!lY.~~l

PAGE 20
TESTl
TEST2

TEST3

TEST4

TESTS

TEST6
TEST7
TESTa
ROUT El

*
*
*
*
*
*
**
*
*
*
*

344.4

as

BTAM SRL

TBLIST TRID=61, ROUTE=LOG
GDULIST PARAMNO=03,NORGUID=l,DISPMSG=DGl
GDULIST PARAKNO=04,NORGUID=1,DISPl1SG=DG3
TRLIST TRID=62,ROUTE=LOG
GDULIST PARAMNO=05,NORGUID=1,DISPKSG=DG1
GDULIST PARAMNO=06,NORGUID=1,DISPKSG=DG3
GDULIST PARAMNO=01,NORGUID=1,DISPKSG=DG4
GDULIST PARAHNO=08,NORGUID=1,DISPMSG=DG5
GDULISTPABAKNO=09,NCRGUID=1,DISPHSG=DG6
TRLIST TRID=63,ROUTE=LOG
GDULIST PARAMNO=10,NORGUID=1,DISPMSG=DGl
GDULIST PARAMNO=11,NORGUID=l,DISPMSG=DGl
GDULIST PARAHNO= 12, NORGU 1D=1, DISPHSG=DG4
GDULIST PARAMWO=13,NORGUID=l,DISPMSG=DGS
GDULIST PARAMNO=14,NORGUID=1,DISPHSG=DG6
TBLIST TRID=64,ROUTE=LOG
GDULIST PARAl1NO= 15, NORGU ID=1, DISPKSG=DGl
GDULIST PARAMNO=16,NORGUID=1,DISPMSG=DGl
GDULIST PARAMNO=11,NORGUID=1,DISPHSG=DG4
TRLIST TRID=65,ROUTE=LOG
GD ULIST PARAKNO= 18, NORGU ID=1, DISPP!SG=DG1
GDULIST PARAKNO=19,NORGUID=1,DISPKSG=DGJ
GDULIST PARAKNO=20,NORGUID=1,DISPMSG=DG4
GDULIST PARAMNO=21,NORGUID=1,DISPMSG=DG5
TR LIST T RID=66, ROUT E=LOG
GDULIST PARAMNO=22,NORGUID=1,DISPMSG=DGl
GDULIST PARAHN0=23,NORGUID=1,DISPMSG=DG3
TRLIST TRID=61,ROUTE=LOG
GDULIST PARAMNO=24,NORGUID=1,DISPMSG=DGll
CDULIST PARAMNO=38,NORGUID=1,DISPMSG=DG3
TRLIST TRID=68,ROUTE=LOG
GDULIST PARAMNO=26,NORGUID=1,DISPMSG=DG1
GDULIST PARAHN0=31, NORGU ID=1, DISPHSG=DG1
TRLIST TRID=70,ROUTE=(LOG,42),TEXT=YES
GD,ULIST PARAHNO=28, NORGUID={ 1, 5) ,DISPMSG=DG9
*
GDULIST PARAMNO=02,NORGUID-1,DISPHSG=DG8,ENTRY=M,
MSG='**EMERGENCY'
THE ROUTE1 TRANSACTION CONSISTS OF 2 STEPS AND
WILL BE ROUTED '1'0 THE 2140 AND TO THE PRINTER
ON THE AREA ST AT ION WHOSE ID IS 42. BOTH STEPS
WILL BE DATA ENTRIES FROM THE 2198. WHEN THE
FIRST STEP IS ENTERED, GUIDANCE LIGHTS 1 AND 5
ARE TURNED ON AT THE OPERATOR GUIDANCE PABEL
AND THE MESSAGE DEFINED BY DISPGUIO KACRO DG9
WILL BE DISPLAYED ON THE 2198 GUIDANCE DISPLAY
PANEL. THE 2715 WILL USE PARAMETER LIST NUMBER
28 TO GET TO THE PARAMETER LIST DEFINED BY THE
PARHLIST MACRO PAR28. THIS PARAMETER LIST WILL
BE OSED BY THE 2115 IN CHECKING THE F.IRST DATA

~!Jj.F1~_~115 Tl~1]_10A!L~!f~Q_A~~EMBL1_jCoBtiJly~gl

PAGE 21

*

*•

•

*
*

•

•
•
*
•
•ROUTE2
TESTJOB1

TESTJOB2

TESTJOB3

CARDORD
U ALMAINT

INV1
INV2
INV3
INV4
INV5

ENTRY. WHEN THE SECOND STEP IS ENTERED, GUIDANCE
LIGHT 1 IS TURNED ON AT THE OPERATOR GUIDANCE
PANEL AND THE MESSAGE DEFINBD BY DISPGUID KACRO
DG8 WILL BE DISPLAYED ON THE 2198 GUIDANCE
DISPLAY PANEL. THE 2115 WILL USE PARAMETER LIST
NU~BER 02 10 GET TO THE PARAMETER LIST DEFINED
B~ THE PARMLIST MACRO PAR2. THIS P1RlftETER LIST
WILL BE USED BY THE 2715 IN CHECKING THE
SECOND DATA ENTRY. eULTIPLE ENTRIES CAN BE
ENTERED ON THE SECOND STEP. IMPLICIT ~EXT WILL
BE INCLUDED WITH TEE TRANSACTION WHEN IT IS
ROUTED.
TRLIST TRID=11,ROUTE=(LOG,NULL)
GDULIST PARAMNO=38,NORGUID=1,DISP1'1SG=DG29
GDULIST PAR A1'1N0=28, NORGH 10= (1,5) ,DISP1'fSG=DG9
GDULIST PARAMNO=32,NORGUID=1,DISPMSG=DG18
TRLIST TRID~12,ROUTE=LOG
GDU.LIST PARAMNO=29,NORGUID=(1,2) ,DISPMSG=DG11
GDULIST PARAMNO= 33, NQRGU ID=4
GDULIST PARA~NO=31,NORGUID=5
TRLIST TRID=13,ROUTE=LOG
GDU.LIST PARAMN0=29, NORGO ID= (1,2) , DISPMSG=DG1 1
GDULIST PABAMNO=32,NORGOID=3
GDULIST PARA1'1NO=33,NORGOID=6
GDULIST PARA"NO=3J,NOHGUID=(1,7~ ,DI5PASG=DG11
GDULIST PARAMN0=33,NORGOID=(1,8) ,DISPMSG=DG11
TRLIST TRID=74,ROUTE=LOG
GDULIST PARAMNO=29,NORGUID=(1,2) ,Dl:SPMSG=DG11
GDULIST PARAMNO=33,NORGUID=4
GDULIST PARAMNO=34,NORGUID=5
TRLIST TRID=15,ROUTE=LOG
GDULIST PARAMNO=35,NORGUID=(1,4) ,DISP~SG=DG14
GDULIST PARAMN0=33,NORGUID=7
TRLIST TRID=16,ROUTE=LOG
GDULIST PARAMNO=33.JORGOID=(1,2),DISPHSG=DG10
GDULIST PARAHNO=33,NORGUID=3,JDENT=4
GDULIST PARAMNO=36,NORGOID=4
GDOLIST PABAMNO=33,NORGOID=(1,5),DISPHSG=DG15
GDOLIST PARAMNO=.33,NORGUID=(1,5) ,DISPltSG=DG16
TRLIST TRID'=79, ROUTE=LOG
GDULIST PARAMNO=20,NORGUID=(1,8) ,DISPr1SG=DG19
TELIST TFID=80,ROUTE=tOG
GDU.LIST PARAMNO=20,NORGUID=(1,8) ,DISPMSG=DG20
TRLIST TRID=81,ROOTE=LOG
GDULIST PARAMNO=20,NORGUID=(1;8) ,DISPMSG=DG21
'I'R L.I ST T HI D= 82, ROU T E= LOG
GDULIST PARAMNO=20,NORGUID=(1,8) ,DISPMSG=DG22
TRLIST TRID=83,ROUTE=LOG
GDUL IS.T PAR AMNO=20, NORG UID= (1,8) ,DISFMSG=DG23

Appendix ~1::

Sample 2715 Table Load Hacro Assembly

34 Ll.5

~!1!PL~_1Z1.2_1A]1L1Q1!Ll1!£RO_AS~l~BLI_j£2Mi!l!!~1

PAGE 22
STOCK

*
*
*
*
*
*INPROC
LEADTIr'lE
RATING
SUPPLIER
INTRANS
LINE
BIN
RAWMAT
ORDER
QUALCON
QUOTE
LASTPUR
EeONQTY

344.6

OS BTAH SRL

TRLIST TRID=84,ROUTE=CPU,INQDISP=YES
GDULIST PARAMNO=39,NORGUID=(1,4,8) ,DISP~SG=DG24
GDULIST PARAMNO=32, NORGUID =1 ,DISPMSG=DG26, ENTRY= l!
IF THE INQUIRY IS ABORTED BY THE OPERATOR AT
THE 2798, GDU GUIDANCE LIGHT 16 WILL BE TURNED
ON AUTOMATICALLY AT THE 2798. ALL 2798'S THAT
USE INQUIRY DISPLAY TRANSACTIONS MUST RESERVE
GUIDANCE LIGHT 16 FOR THE INQUIRY ABORT
SITUATION.
TRLIST TRID=85,ROUTE~CPU,INQDISP:YES
GDULIST PARAMNO=39,NORGUID=(1,4 ,8) ,DISPMSG=DG25
GDULIST PARAMNO= 32, NORGrJ ID=1, DISPMSG=DG.26, ENTR Y=M
TRLIST TRID=86,ROUTE=CPU,INQDISP=IES
GDULIST PARAl1NO=39,NORGrJID=(1,4) ,DISP~SG=DG27
GDrJLIST PARAMNO=32,NORGUID=1,DISPMSG=DG26,ENTRY=M
TRlIST. TRID=87,ROUTE=CPU,INQDISP=YES
GDULIST PARAMNO=39, NORGUID= (1,4) ,OISPMSG=DG27
GDULIST PARAMNO=32,NORGUID=1,DISPMSG=DG26,ENTRY=M
TRLIST TRID=88,ROUTE=CPU,INQDISP=YES
GDULIST PARAMNO=39,NORGUID=(1,4),DISPMSG=DG27
GDULIST PARAMNO=32,NORGUID=1,DISPMSG=DG26,ENTRY=M
TR LIST T"RID=89, ROUT E=CPU, INQDISP=YES
GDULIST PARAMNO=39,NORGUID=(1,4) ,DISPMSG=DG27
GDUlIS'l' PARAMNO=32, NORGO ID=1, DISPMSG=DG.26, ENTRY= M
TRLIST TRID=90,ROUrE~CPO,INQD1SP=YES
GDUL 1ST PARAMNO=~9 ,NOR GUID= (1,4) ,DISPMSG=DG.27
GD UlIST PARAI'1NO= 32, NORGUID= 1, DISPMSG=DG26, ENTRY=!!
TRL 1ST TR ID=91 ,ROUTE=CPU,I NQDI SP=YES
GDULISTPARAMNO=39,NORGUID=(1,4),DISP!!SG=DG27
GDUlIST PARAMNO=32,NORGUID=1,DISPMSG=DG26,ENTRY=M
TRLIST TRID=92,ROUTE=CPU,I.QDISP=YES
GDULIST PARAMNO=39,NORGUID=(1,4),DISPMSG=DG27
GDULIST PARAMNO=32,NORGUID=1,DISPMSG=DG26,ENTRY=M
TR LIST T RID=93, ROOTE=CPtJ, INQDISP=Y ES
GDtJLIST PARAMNO=39,NORGUID=(1,4) ,DISPI'1SG=DG27
GDULIST PARAMNO= 32, NORGU ID= 1,DISPMSG=DG26, ENTR Y=8
TRLIST TRID=94,ROUTE=CPU,INQDISP=YES
GDUL.IST PARAI'1N0=39,NORGUID=(1,4) ,DISPMSG=DG27
GDULIST PARAMNO=32,NORGtJID=1,DISPMSG=DG26,ENTRY=M
TELIST TBID=95,ROUTE=CPU,INQDJSP=YES
GDULIST PARAMNO=39,NORGU.ID=(1,4) ,DISPMSG=DG27
GDULIST PARAMN0=32,NORGUID=1,DISPMSG=DG26,ENTRY=M
TRLIST TRID=96,ROUTE=CPU,INQDTSP=YES .
GDULIST PARAMNO=39,NORGUID=(1,4) ,DISPMSG=DG27
GDULIST PARA~NO=32,NORGtJID=1,DISPMSG=DG26,ENTRY=M
TRLIST TRID=97,ROUTE=CPU,INQDISP=YES
GDULIST PARAMNO= 39, NORGU ID·= (1,4) ,DISPMSG=DG27
GDrJLIST PARAMNO=32,NORGUID=1,DISPMSG=~G26,ENTRY=M

~~Rl~_'£11!L1A B1!_1&!IL l'IA~ B 0-1.§ S E1U!11_~on tinYedl

PAGE 23
CREDIT

QUADEQN

TRLIST TRID=98,ROUTE=CPU,INQDISP=YES
GDULIST PARAMMO=27,NORGUID=(l,2),DISPMSG=DG12
GDULIST PARA~NO=25,NORGUID=',DISPMSG=DG28
GDULIST PARAMNO=32,NORGOID=',DISPMSG=DG26,ENTRY=~
TRLIST TRID=99,ROU1E=CPO,INQDISP=YES
GDULIST PARAKNO=30,NORGUID=1,DISPl'ISG=DG37
GDULIST PARA~NO=30,NORGUID=1,DISPMSG=DG38
GDULIST PARAMN0=30,NORGUID=1,DISPl'ISG=DG39
GDULIST PARAl'INO=32,NORGOID=1,DISPMSG=DG26,ENTRY=M
STEND

END

1*

Appendix M:

Sample 2715 Table Load r1acro Assembly

344.7

SAMPLE START-STOP AND sse PROGRAMS

APPENDIX N:

Lec

CF.JECT COrE

ADDRI ADDR2

~T~T

Co~C'oc

~rLRCE

STATf~~~T

2
3

4
'3

6

9

**

*
*

~A~~L~

*

T~E

1~

*

rpE'Rt'TT(~':

*

(I.)

*
*
l~.<
19 *
2C *
21 *
22 *
2~ *
24

25
'2£:.

21
28

2c

"c

31
32

3,
~4

35
36
31
3 f'

3<;

4':
41
42
4~

44
4~

4£:.

*
~,
*

*
*
*
*
*
,.
*

4E

*
*

51

*

47

5?
5~
<;4

~,

A~

*

kHEN T~F FPOGRA~ IS STARTED, A ~ESSAGE , 'SWTEST
FXECUTIrN', WILL PE PRI~TED ON THF CCNSOLF.

(2.)

IF TH

l

Tf\!F CAl':

M~T

~A~

BEGUN

p.E' CPENEC, A ~ESSAGE, 'OPEN CID Nf1T
WILL BE PRINTFD ON THE Cr~SQLE AND

CO~PLFTf SUCCESSFULLY',
T~f PPCGFA~ IS APFNCFr.

IF

(~.)

T~E

LI~E

IS UPENED SUCCESSFULLY, THE

T~g~I~AL

CPEhA1CR

(A~ THE~ "IAL THE COMPUTER F~OM rIT~E~ TERMINAL A~D
~E~O DATA. WHE~ ALL CF THE DATA ~AS PE'EN READ FRCt-' T~E
TEP~INAL. THE PFnGPAM DISCONNECTS THF LINE.

(4.)

THE TEQ~INAL OPEPATnR CAN THE MANUALLY DIAL FRCt-' EITHER
TEPMINAL A~D RECEIVE SIX ~ESSAGES PE'~ORE THF LIf\!E IS rISCCN~E'CTEr.

(5.) THE'

PPCC-RA~ THE~ ISSUE'S Twe CHGNTRY ~ACRCS TO CHA~GE THE
CCNTRCL PYTE VALUF FCP EACH AUTHCRIZED 10. A SNAP CU~P IS
TAKEN eEFORE AND AFTER T~E CHGNTPY ~ACRnS IN CRCER TC SHCW
THE TERMI~AL LIST CCNTE'NTS EEFCRE AND AFT~R ISSUI~G THE
CHGNTRY ~ACPCS. (IN (RDER TO RECEIVE T~E SNAP
9U~P, T~E I.SER ~LST PROVIDE A DO CARD FOR HIS SNAP eCB DDNAME

(f.)

A ~E'~SACE.
'SWTEST HtS SUCCESSFULLY CCMPLETED', WILL BE
PRINTE'D CN THE CC~SOLE.

AFTEP EACH REAC AND WRITE OPERATION, THE
~CR~AL

rC~PLFTTrN.

IF

CPERATICN WAS A READ -

T~F

(1.\ WHTCH C[~PLETE[ N(P~ALLY
eN, ThE PRCGPAM CONTINUES
(2.) hHICH CCMPLETEC N(R~ALLY
PPCGRAM TAKES A S~AP DUMP.

'"

PRCGRA~

WITH ~C EllS IN rECFLAGS TUR~ED
WITH THE NFXT OPEPATIC~.
WITH A BIT ON I~ DECFLAGS, T~E
THEN CHECKS FOR AN INVALID IC.

(A.) IF AN INVALIfl IC ~AS RECEIVEC. A MESSAGE, 'AN INVALID
TD WfS RECEIVED', IS PRINTEr eN THe cr~SCLE A~D THE
pprGRA~ DISCCNNECTS THE LINE.

'i E '"
5<;

(P.) IF AN INVALID ID WAS NOT RECEIVED, THE PRCGRAM
CISCCNNFCTS THE LINE.

*
,,6 *
57 *

*

6C
62
6~

64
65
f,6

67

6~

6S

7C
71
72
73
74
75

76
77
78
7S
8C
81
82
8~

*
*
*
*
*

(~.)

*

*
*

*

*
*
*
*
*
*

*
*
*

*
*

*
*
*
*

84
85
8c •
87 >:<
813 *
8 e >:<

*

*

*

*

WHICH ~NOED kITH E~ROR, THE PR(GRA~ TGKES A SNAF OU~P ANC
IF A CAT6 CHECK rCCURRED ON A REAr CCNTINUc (PERATICN,
6 PFar FEPEAT. IF THE FPRCR WAS NrT A CATA CHECK,
AN ERROR MESSAGE, 'FPROR CANN0T 8E Ha~OLEn RY PR[GRA~', IS
PRINTE~ CN THE CCNSCLE.

*

PERFrpM~

*
*

*
*

CHECKS FCR

5~

61

*

J i\ HIS jCi...;

*

*
*
*
*
*

FRCGRA~

t·

*
*

*

VERIFI(ATI(~

PR(GRA~

*

*

10

pprrRt~

IC

14

EXF.~DEC

IS rFSIG~FD FOR A PINAPY SY~C~RC~CCS ~hIT(~EC LI~F
IP~ 277C OR 27PO CAN CALL TH~ CENTPAL CC~PUTER.
UTILIZES SC~E (F ThE EXPA~Df[ ID VERIFICATIC~ CAPA~ILI-~
lIES. THE 10 rF THE 27pn IS RR: THF If OF T~F 277n IS kW.
)F T~f eSFf ~'~HfS Tr FXFCUTE T~IS pPcrFA~, HE ~LST ~CCIFY IT
Tr ~~F THE IC'S OF ~I~ PARTICULA~ TER~I~ALS.
l~IS

CVEP kHICH

11 *
12 -<
15
If
17

lC/Ct/7C

********.******** ••••• **.- •• **.****.** •• *******************************

7
p

F3CSEP6~

(SECT

FX~t-'FLF2

IF TrE CPEPATICN WAS A WRITE (I.) WHICH ('[!'PLEHD NrR~'Al.LY WI1~ ~Il RIlS TUR~FD C~ IN
OECFLAGS, THE P~(GPA~ CONTINUES ~IT~ THE NEXT OPERATION.
(2.) "HICH Cf1MPLETED NCA.WI\LLY AND IS
PRCGRAM DISCO~NFCTS THE l.INE.

~rl

A

~RJTF

CO~ECT,

T~E

(3.) WHICH COMPLETED NORMALLY ANC IS A kRITE CCNNECT, TrE HRITE
CC~NECT IS REISSUED IF A WACK OR Ie NAK WA~ RECEIVEC. IF AN
INVALID T~ WAS RECEIVED, A MESSAGE, 'INVALID 10 RECEIVEC NCTHING TRANS~ITTED TC TE~MI~AL', IS PRINTED eN THE CCNSnLE.
CT~E'RWIS~, THE PROGRAM DISCONNECTS T~E LINE.
(4.)

W~ICH
A~D

COt'PLETE'D WITH ERRCR, THE FRCGRA~ TAKES A SNAP
FOR A TIMFOUT CONDITION.

*
*
*

*

*
*

~U~P

C~ECKS

(A.) Ie THE ERRCR
THE nPEPATION.

~AS

A TIMEOUT,

T~E

PRCGRAt'

REI~IT(ATF~

(e.) Ie THE ERRCR WAS NCT A TIwECUT,
aN'ERRCA WESSAGE,
'ERPOR CANNeT BE HANDLED 8Y PRCGRAM', IS PRI~TED eN THE

cr

*

cq
92

****************.* •• ******"'********~****>:<*"'**************.*"'***********

9~

*

rr~~CLF.

nRI~T

NrC-EN

Appendix N:

Sample Start-stop and Bse Programs

345

G'3

C'1)(,(,C4
C'JC'C(,6
CI)('CCC

()5C·~

ca('oc~

500t C7C6

cconcc

007CC
007CR
Ot::60C
(,074C

CCOCOf, 41C,) C7(2

COCC'CF. 4ttC (6C6
('C'CC'12 4110 C73A

SIlVF

c;<; ENIRY
lCr::
101
102

BALR 'lASEREG,O
LSIIIG *,BASEREG
USING I~ACCB.CCPRF.G
USI~G lECTCFCB,CECBRFG

1C4

5T
LA
LA
LA

nFr.BREr,,~YCECB

laC;

WTC

'swTEST

11<;

[1PEN_

(~t\APOCB,(CUTPUTII

1(,-:;

10(:

107

R~GIST"PS

ACCRESSAelLITY
ADORESSAeILIIY FOR cce

ESTf,eLIS~
EST~BLISH

AND DECS
STORE AcdRESS CF ~~VE AREA

Sf,VEREG,SAVE+4
SIlVEREG.SAVE
r(PQFG,~Yr.C8

~A5

RE~UN

EXECUTICN'
CPEII

T~E

SNAP OCE
PIIG"

lCC

C"'JECT CODE

COC052 SIlG f030
00('1056 471C CCC;A

AOCRl ADDR2

COC3C

OCOC8e 47FO C2c;0

000AO

C02<;6

STMl

5ClRCF

F3CSEP6<;

STATF~""T

lU

(PEN

(~VCCI?I

OPEN

13"3
134

T~

~CRr"LGSyX'l(,'

'1C

'lEG Ir-.'

010 CFE~ CC~PLETE SUCCESSFULLY
IF sr, ISSUE REAC CCNIIECT

13l:

hTC

'rPEN

14(:

R

EXIT

152+*
15"3+
154+
155+
156+
157+*
15 E+
15c;+

ole NCT CCMPLETE SUCCESSFULLY'

ACCU~ULATORS

161+
162+*
163+
164+
165+
166+
167+*
168+

CC
"'C' TRf,IIS~ISSIONS
DC
H,r' DATA CHECKS
CC
H'C' INTERVENTIONS
DC
H'O' NCIITEXT TIMECUTS
CCUNTF:RS
CC
x'C' TRAIIS~ISSIONS
DC
X'C' DATA CH~CKS
CC
x'o' INTERVENTIONS
rc
x'C' NONTFXT TIMEOUTS
HRESI-'CL[)S
DC
YL1(255) TRANS~ISSICNS
DC
¥lUI0) C..ATA CHECKS
CC
YL1(5) IIITERVENTJCNS
or
VL1(5) NCNTf'XT Tyr.'ECUTS
RESEPVEC
DC
XL2'C'

17C

PPIlIl "CGEI\'

172 BEGll1

Eeu

174 R.TC

READ

187
188

SAl

OCCCC2
OOOCD2 5850 7014
00014
COOOCl: C5C2 50Cl C812 OOCCI CC818
eCCODC 47f!C CICC
00112

1c; C Rll
191
192
10 3
195

READ

MYCECB,lT"",l,~F=E

00C0FA 45<;C C29A
'JCOCFE 47FC crcc

002AO
00002

2C4
205

Pill

9,TIC
RTT

ACCRI ADDR2

STMT

COOOC

207

00112
00('02

20S
21C

COC08C OCO(,OOOC
I)OOC<;C 0000
COOC92 oooe
0000S4 oeoc
CC
CO
or
DC

16C+

(,00(,9A !OF
C':ICD91' CA
00CC9C ('5
~OCC9C C5
OCC09E cooe

OCCOAC

DCCOCA 4590 C2C;A
OC'OOCE 47FO (CSA

LCC
000102
ceC1C6
COO lOA
CCCI0E

CBJECT CODE
5e5C
C;537
47BG
47FC

70CC
'5000
C1CC
CCCC

C02AO
OOCAC

ceooc

C~EC~ SIO CCNDITIC~ ctrE
REISSUE REAC CCNNECT

ECU
L
CLC
BE

*
<\r;EG.DECENTRV
1(3,AREG),=X'OCOOOO'
WHO

PCINT TO TERMI~AL LIST
WAS VALID IC RECEIVED
IF NCT. DISCONIIECT THE LINE

wnc

SID CCNDITIC~ CCCE
qEAC CC~TI~UE

C~ECK
REISSU~

F30SEP69

STATI=~~~T

L
CLI

O(AREGI,lC'?7'

H

WTTO

~REG,OECAREf,

I(TT

GET ACCRESS OF MESSAGE AREA
HAS ECT ~EEN RECEIVED
IF se, DlSCCNNECT IHE LINE
IF ~CT, READ MCRE TEXT

~vCECB,TC,~F=E

BAL

9,TI(,

A

\'1~:j46

<;5"3
4770
<;lC8
47f'1
5PAC
41AA

SNAP

I[=6.~F=(F.SDUMPI

LCOK AT ct:C"'LAGS

eLI

IS THIS A READ CC1\TINUE

0045C

L
LA
ST
CLI
BNL

'1FCTYPE+l.X'03'
FTNISH
CfCSENSC,X'OA'
C:INI<;H
CTR EG,CCtJNH,R
-: TRt: G, 1 ( CH'F G)
CTQEG,CClJI\TER
CrUII:TER+3.X'02'
c: INI SH

43<;

REA[

"1YCECB,TP,f'lF=E

C02AC

446

f)045C

000lC
0045C
01181('
00001
OC810
00813

7000
COCOC
C42C
00432
7018
00018
CC04
00004
7CC5
000C5
ClCC
00102
7Cl8
oeo U~
C386
003BC
7(14
00014
oeC8
00008
50CO C818 oooee OOP1E
on3BC
C3B6
5000 C81B OCOCC C0821
C304
0030A

51:lAf)
41AA
50AC
CJ5C2
4770
C703
47FO

C80A
COC1
CPCA

COP10

0')001
01)81"
O';P13

R1\E
Til
p~c

448 WRTPTN
44<:;
45C
451
4'52
'053
454
4'i5
456
457
4'5~

459
46C
461
'062 !lETt Rr-.
463
464

OO,)3CA

467
46 E
46<;

00102

r.OC42E 47FC C1 E6

C01EC

8NC
CLI
BE
CLI
RNE
CLI

BE
L
LA
CLC
BE
CLC
8t-'E
Fel;
l.

tA

xc

8

471 FIt-1

00018

Til

ST
CLI
BNE

46~

4U

C12A
00130
ceCA CPOA OC810 00P10
0(1102
ClCC

0003E8 9510 7C18
aOO?fC 477C C1CC

F3CSEP6C;

STHEII~t-T

10/C6170

FQU

42<;
43C
431
432
433
434
43'3
436
437

Q17'"
47EO
950C
47119
951C
4770
95C0
4780
5P5C
415'5
C5C2
478')
05C2
477",

(1'00

5rLRCt:
BUF~TN

l.7.3

OOCO:

00037C 47FC C2<;A

00C3ec
00C384
CCC3ee
O::'03ec
OCC39C
0'JC3'
X'02'
C'TI-IS IS
X' 152(,'

TEST MESSAGE I'
TEST MESSAGE
TEST MESSAGE
TEST MESSAGE 4
TEST MESSAGE

'('e2'

C'THIS IS TEST MJ:SSAGE 6
X'1526'

542 ***********************************************************************
'543 *
*
0:44 *
IF TI-F L5E~ ~ISHES TC EXFCLTE THIS PPCGPAfoI, HE ~LST CCCE I-IS
'545 * CFTPMlST "AC~CS TO I-ANflF THE IO'S OF HIS PARTICULAR TERMI~AlS.
~4(:

*

541 ***********************************************************************
54'1 At\SRL I 5T
r;O;C+AJ\SRLIST
551+
552+
553+
554+
55'5+

00053C
CC053C FF
0,)C531 cooooe
O~0534 C2
:]C0535 Ct,
000536 C3

S~lST,At\,4,O,2,107C,(C'1CC;2CI,(E6E62C)
DFTPMUT
OF PUT CJ\ FULL WCPD BOUNDA~" COOL
OS
OOOl
DC
Xll'FF' IDENTIFY AS SWlST
OOCl
DC
Xl3'O' PTR TO MATCHING SEC:UEt\CE
I\UMPER
rF
COOL
LI
ST
ENTPIES
DC
Hl I' 2'
COOL
nc
"ill'4' EJ\ TPY lENGTH
,)OCl
CC
HLl'3' REAC-IN-AREA l.ENGlI-

PAGE
C[,JECT conE

lCC
OOC531
00053E
000538
OC053C
00053E
000541
000542
000'ilt5

AOCR1 AODP2

CC
COCOOC
C2
1C 7 O
C90'120
CO
Ef.E62C
CO

00054E
C005t,

~

00054<;
0()C'54C
00054C
OOC54E
OCC54F
00C55C
000554

FF

C(,COOC
02
C"
C4
CO'
(CCCCCC(,
Cl

0'1C~5~2C

000556
00C55A
00C55E'
00055F

Cc;0<;l01C
C1
E6E61C1C
C1

CCC56C OCCCOCCCOOOOOCOO

SPIT

SCLRCE

'5'56+
'5<;7+
558+
'55'1+
56C+
561+
562+
563+
565 OIHLIST
566+0IAlLIST
567+
'568+
~6 '1+
57C+
511+
572+
513+

I-'ll'O' NC. OF DIAL DIGITS
Xl3'O' PEAC-IN-AREA
HlI' 2' IDCCUNT
Xl2' 107C' IDSENT
X'090 Q 2C' ALJTHCRIZED SEQUENCE
Xl1'OQ' CotHRCl "BYTE VALUE CF
'('E6E62C' AUTHORIZEC SEQUENCE
XlI'OO' CCr--TRCl BYTE VALUE CF I)

OFT R\01 l S T
SWLST , M0 , 5 , a , 1", 20, (0 C; CC; 1 C1 0 , 1 ) , (E 6 E(: 1010 , 1 )
JF PUT CJ\ FUll WCRO BOUNDARY COOL
OOOL
Xl1'FF' ICENTIFY AS SWlST
XU'')' PTP TO MATOiING SECUEJ\CE
'JOOl
')f)Ol
HLl'2' ~L~PEP CF lIST ENTPIFS
,)OOl
HLI''5' E~TRY lENGTH
aOOl
~L1'4' REAt-IJ\-AREA lENGTIOOOl
HL1'C' t\C. OF DIAL DIGITS
CCOl
XL4'C' REAC-IN-AREA
OCOl
HU'l'IOCCUNT
COOL
XLl'2D' IDSENT
OOCL
X'09C Q 1010' AUTHORIZED SECUENCE
OOOl
Yl1(11 CC~TRCl BYTE
OOCL
X'F6J:61010' AUTHOR1ZEO SECUENCE
Yl1(1) CCNTROl RYTE
OOOl

575+
576+
511+
578+
57'1+
581 It\AREA

CC

1CCF'O'

583 MYCCS

DCB

CSCRG=CX,DEVD=BS.MACRF=(P,W),CCNAME=B27700CI,
lERP.=ERPSlCCK,EPOPT=TC

0:14+

DATA CeNTROl. BleCK
CPG
OS
CRG

*-20 TO ELIMINATE UNUS~D SPACt
OF CRIGIN rN WORD BCUNDRY
*+20 TO CRIGIN GENERATION
CC~MCN

591+*
0~C6FC

OCC6F1
COC6F4
r;OC6F6
CCC6FP

cc

CC
ceocCl
eocc
Icec
00C,)0001

CC
CC
DC
CC

OC
1~

FF
OC
or

601+
602+
603+
604+
(:05+

ACCESS METHCD INTERFACE

AtHOl EUFt-'C
flUB) BUFCB
Al2(O) eUFl
Bl2'OOOlOCCOOOOOCOOO' OSGRG
A(11 IOBAD
FCUNDATICN EXTEt\SICI\

59<;+*
CO%FC
Q00CFC
C:OCf.FE
OCC6FF
CCClce

')I)Cl
OOOl
'JCCl
OCOl
oeOl
000l
OCOl
OOOl

OS
ec
DC
CC
DC
CC
DC
CC
DC
CC
DC
DC
DC
CC

585+*
586+*
581+
588+MYCCE
58<;+

:)OC6CC
')('C6CC
OOC6FC

ST liT 1::1"1:: 1\ 1

CC
CC
CC
DC
CC
DC
DC
DC

DC
DC
DC
DC
DC

9Ll'COOOOOCO'

e~TEK,BFAlN,~IARCbY

BTA~ EPOPT CODE
AlI(255) BTA~ BUFFER CCUNT
HHC)
Bll'OOOCOOCC' PECFM
~ll'OOOlICCO'

Appendix N:

Sample Start-stop and BSC programs

349

PIlGr:
lfC

CP.JECT CODF

MCR 1 Ar;f)R?

COC7el oerGce

STMT

5rL!RC~

OC

6U:+
lOS

C2F2F7QFCC4FCFl
<:OC7"C 02
caC7ee cr
conCE 2020
';I)C704

ST ATEM",'I\ T

CCC714
000715
CO("7)6
OC073C

OOOf;()CIlC
CC
!'c
C00COCCCC01')COOOO
CCCCCCCCOCOOOOOO

OOC74C
CI')C74C C(,CCOCOC
')00744 CO
CGC7lt~ C3
Q0C74f 01GG
CGC7L.f' ccrCC60C
~,)C74C

C('rCC5~.C

OC:C75C
C,)075lt
-:-::C758
CeC75A
Q(l075C
CCC75C
CC075E
OCC7(;C
0007(:"

CCCCOC,)C
CCCCC53C
C~Cl

CCC(:
CC
CC
CCCC
cocoecoc
COOOOOCC

IC/C6/7C

AL3 (01 EXlST
HUI\DATICN BLCCK

E+*

CC
DC

I)I)I\AME
IHl'COOCOC')O' O~LGS
BLl'f;OOCGCCC' IFLG
RL2'001COCCOO010CCOC' MACR

617+
1':18+
":1<;+
62C+
621+

f1C
CC
DC
DC
OC

AIERRBLCCI I TP-CP ceDE
All 10 I ERRCR STAllS
Al2101 csw STATUS
ALlt(CI CLRRENT ACCR LI ST PTR
H4(C) CUPRENT ADDR POLL PTR
CSCRG=PS,REC~M=VEA,MACRF=W,8lKSIZE=1632,LRECL=125,
OC~AM~=SI\APSW,DEVD=PR

644+*
(;45+*
£:46+
647+SN.Hrcp
(-4E+

C0075F
':'''0758
eccu: I'

CATA CONTROL BLCCK
CRG
CS
CRG

*-16 TO ELIMI~ATE UNUSED SP~CE
OF ORIGIN eN wnRD BCUNDRV
*+16 TO CPIGII\ GEI\ERATIC~

cc

Bl2'OOOOOOCCOOOC:>OOO' PRlSP,[EVT

PRINTE'R DEVICE II\TE.RFACE

65C+*
6'i2+
653+

0(07(; F ((,':"
caC76/.! 00('0

nc

H 't:"
CCM~(N

ACCESS MElbCC INTERFACE
PAGE

Lce
C'JC7H
CCC76[
CCC77C
OCC772
CCC77lt

CfJECT CrCE

ACCRI ADDR2

r:c
OCOOCI
CCCC
4CCC
OCC~COOI

ST\1T
657+
65E+
65<;+
66C+
661+

SCURCE

All (0 I ELFf\C
IIL3( 11 EUFC8
AL2(01 EUFl
EL2'010CCOCOCC000COO' DSCRG
A(11 10BAD

cc

flLl'OOOCOCCO' EFTEK,BFALI\,HIARCbV
AU(l) HCAD
BLl'0101C1CO' REUM
AL3( 0 I EXLST

663+*
C(:C771l or
ocr77S CCOOC1
GC077C 54
COC77C ccccce

665+
66(;+
667+
66E+

FCUNDATICN
CC
CC
DC

(-72+
673+
674+
675+

CC.
DC.
DC
OC

CLA'SNAPSW' CCt\AME
flLl'OOOCOO10' OFlGS
!311 'OOOOOCOO" IFLG
!3l2'OOOCOCCCCCICJOOO' MACR

CC
DC
CC
CC
DC
CC
DC
CC
CC

ell'OOOCOCCO' RERI
AL3(11 (f'ECK, GEP R, PERR
AIII SVNAD
H'e' CI~Cl, CI~02
AL2(16321 P.LKSIZE
F '0' WCPC, wC FL, CFFSR, rJF~Sw
AI 11 IOEA
ALUOI ~CP
1IL3(1I EOER, ECP./.![

677+*
·::OC78C cr
COO7ec COOI;Ol
OCC7<;( cceeocel
COC7e;4 CCC::
C!JC7e;6 e66C
00C7<;!' ccceecce
COC7<;C C00C'()COl
QOC7AC CO
CI)C7Al cceoc 1

350

OS BTAM SRL

67<;+
68C+
6Al+
682+
683+
1':84+
685+
6'3(:+
687+

EXTE~SICN

FCUNDATION BLOCK

67C+*
oe0780 E2[ ':Cl C7 E2 E64C40
00C7!'!' 02
C0078<; co
OOC7eA cr?')

F3CSEP69

STATEME~T

DC
cc
CC
DC
fCC

ESA/I-BPA~-C;SA~

II\TERFACE

10

10106/70

Aec;+*

p.

691+
f<;2+
f<)3+
6<)4+

COC7A4 cce('ceCl
~~C7/18 eeoc
C007A/I COO
CC07AC CCCCCCCI

6q6 SClf'J:

5N/IP

S/I~'-E PA~

It-.TFPF/ICE

E0810
H'O' DIRCT
AL2(125) LREC'L
AI 1) CNTH, NOTC:, PCINT

DC
CC
DC
ec

A (1)

eCB=SNAPOCB,ID=l,PCATA=(RfGS),
STCRAGE=(A~SRLIST,SOUMP),~F=L

6C;?+ SClf' F
6"1'+
69<;+
7';(:+
701+
7('2+

CCC7ee
aC07BC Cl
CCC7Bl CC
aeC7S2 flf
C ':[7 I' ? 2C
COC1S" CCOCC75e
Or:C;BE ccccccr;c
oee7eC COCCC7CC
00C7CC CCOCC530
ocnC4 000007BO
OCC7C4
eCOC4 80
0007CE

SS
DC
CC
DC
CC
CC
DC
DC
CC
DC
CPG
r.C
(RG

7C~+

7C4+
705+
706+
7(7+
7Cfl+
7CS+

OF
ALl(ll Ie NUt'BER
All 10 I
ALlll341 CHIC"" FLAGS
ALll321 CPTIeN FLAGS
A(SNAPDCB) OCB ACCRESS
AIC 1 TCB ~DCRES<;
A1*+41 ADDRESS CF SNAP-SHCT Ll ST
AI/II\SRLI5TI ST ART lNG/ EI\.O I l\G /lCCRESS
A(SOU~P)
STARTING/ENDING ADDRESS
*-4
X'RO'
*+3

PAGE'
LrC

OBJECT COCE

OOC7(8
CCCBlC CCCCCCCC
COC8l" 1140
CCCOO 5
COCOCl:
COOOC;
coecCA
cooooe
cceocc

cocece

AOORl Auu>l.2

5,;.;,
711
112
713
714
715
71l:
717
71e
71<;
72C

:;:L .... "\..oL.

SAIJE
CCUlEP
DClSP
APEG
DCBPEG
CECE' IC
CC(,C?C

764+DCf'RFAr OS
16".+OCE""IH" CS

00C034
00('0'34

767+*
761:+
76H['CELERR

?73+CCEJ:SR~II

774+cceeSIoiPT
775+DCP.E5TSX
776+0Cf'ESSTX
771+CCp.eSTD
77P+I:1CEe SET)(
77 c +CCEESIlI<'('
78C+CCFFSAI<'I
781+[CEeHH

00(,(4('

CCC042
ce0044
COCC4':
00(,04£:
COCCL.?
CC004€

cee04<;
OOCC4C
UC04E

COCC5C

(,'Jcrcc

~(J

fTAW JNTERFACE
CRG
OS

Il-flCCP.+52
A

ell

BLl
CLI

os

ell

OS
OS
OS
OS
CS
OS

CLl
Cll
CLl
Cll
CL2
CL2
Cll
CLl
Cll
Cll
CLl
CL3
CL2
CL2
CL7

rs

OS

782+CCEES~M<

r:s

78 ?+OC EES E1' f'
784+CCEESCLE
785+0CP.ESECT
78HOCf'ESSYt\
7fl7+CCEESOL
78€+OCEESSAK
78<;+CCEESRIII

OS

791
7<;2+IEC1CECE
793+*
794+*
795+*
7"6+*
7"1+*
79€+*
79<;+*
!I0C+*
801+*
802+*

IECTDECE
OSECT [ECB DL"''''Y SECTICN
+

STANCAR[ EVENT CCNTRDL eLCCK

+
+
+----------------------------------------+
+
+
+
AREA LENGTICPERATICN TYPE'
+
+----------------------------------------+
+ CN-LHF +
+
ADCRESS OF OCB
+

TEST

+

+

+----------------------------------------+
+
+
+
12

+RESFRVEC +

ACCRESS CF AREA

+

16

+----------------------------------------+
+
+

+
+

SEt_.SE BYlES

1

f.

RESIDUAL CCUT

2

+----------------------------------------+
+
+

+

~14+*

815+*
811':+*
817+*

rs

OS
os
OS
OS
os

+TER~I~6L

80~+*

804+*
805+*
1106+*
«07+*
80€H
80<;+*
RICH
811+*
RI2+*
R13+*

lC/06/70

OA

771+DCDt<)2

C42<;

C452

0432

C437

05C3

C731

C743

C745

0751

C75<;

('761"

C13C
e175

C178
(1<;6

~184

C230
0225

0237
0253

0346
C277

C454

C479

C5C2

0233
0611
0146

C46l
'J~?O

C1C2
OICl
0112
CII!
013<;
013f'
0333
0:332
036<;
0368
0412
0411
04P5
0484
O,-,P
0~12

Ot?l
a lC'6
01C7
"245
0222
0455
C1P8
02C5
01C4
0]('4

0459

:/210
e1C5
C'l C ~

C~ 57
C?57

Q2l~

C630
0440

PAGE
L,-C

CPJECT COr.E

AOOPI ADDR2

F3CSEPeC;

~TMT

COC'(CC

EX~~PLFI

10/0e/70

CSErT

****.*******************************************************.***.*****.
*
*
SA~PLE IP~ 274C/2760 PRCGRAM
*
THIS PQ(GAA~ EXERCISES T~E BTA~ CNLI~E TEST LCGIC FCR A
e *
NONSWITCHED POINT-TO-POINT LINE TO WHICH IS CONNECTED AN
7 *
IB~ 274C ECUIPPEC WITH AN IB~ 2760 (PTICAL I~AGE LNIT.
e*
*
4
5

Cj

*.

*

(PERATI(N - W~EN T~E PRCGRAM ~AS eEE~ STARTEC, ThC
WILL BE TYPED CN THE SYSTEM CONSOLE:

1C "

11
12
13
14
1~

1C

*
*

*
*
*
*

THE TEqwINAL OPERATOR CAN NOW DO CNE OF THE FOLLCWING:
1.1 PRrpE THE 'LOAD' UTILITY RESPCNSE PCINT CF T~E 2760.
'LOAD' SHOULD NOT BE PROBED W~EN THE PILwSTRIP IS
ALREADY LeADED.

2C

3C
31
32
33

34
35
3e
37
38
:'ICj
40
41
COCOCF
0('1(, (' C<;

4~

44
45
4e
47
48
4<;

cecccc
cocoee
COCCCE
crOCCF

('o('cr('
(,r(':'4

crccu
('('rcec

osce

'"
*

2.1 ENTER AN C~-LINE TERMINAL TEST REQUEST MESSAGE Frp ANY
2740- OR 2760-TYPE TEST.

2 2 '"
2 3 '"

27

*

IXTRT022 IS LOADED AT XXXXXXXX
IXTBT022 Ft~ ~ONSWITCHED 2760 ~AS STARTEC.

17
IE *
1q *
2C *
21 '"
24
25

~ESSAGES

*.

~,

*

3.1 PROBE THE 'UNLOAD' UTILITY RESPCNSE peINT. THIS WILL
CAUSE THE FILM TO BE RETRACTEC AND THECARTRICGE
TC BE EJECTED. YOU MAY NCW BEGIN AGAIN.

'*

t,

4.1 ENTER A MESSAGE FRrM THE 2740 KEYBOARD RECUE5TING
CLrSEDOWN~
THE 6 CHARACTERS OF THE MESSAGE ARE
CL[SE~
WHEPE #=EOT CHARACTER (UPPER CASEI

*

*
*
*

THE

*
*
*
*
'"
'"

IGNGRES ANY OTHER RESPCNSE. T~E FOlLCWI~G
WILL BE PRINTED ON THE 274C KEYBOARD.
'THE IMMEDIATELY PRECEDING MESSAGE WAS NCT
CF THE PROPER FORMAT.
yru ARE EXPECTE~ TO PROBE UNlCAD CR LeAD,
CR ENTER A~ ONLINE TEST REQUEST MESSAGE.'

PROGRA~

~ESSAGE

******.*************************************"'**************************
PRINT NCGEN

WCRKREG
DCEIlEr.
BASEREG
SAIlEREG
RETREG
BRREG
SHRT

Eel
IOQU
Eel
EQL
EQL
ECl
FCC

9

12
1~
14

PCINHR TO SAVE AREA
PAL RETURN REGISTER
PAL BRANC,", ADCRESS REGISTER

1<;

*
(14.121

SAVE THE REGISTERS

51

SAVE

55

BALR flASEREG,(,
USING *,P.ASEREG
USING I~ADCB,CCRREG

5e
57

ES TABU SH ADCRESSAB IL ITY

PAGE
Lce

CRJECT CClDE

ACCPl ADDR2

COOCCe 5ecr C3F2
003FF
oo(,rt;A F3F4 C3E6 C3F2 003EC O"3F8
00001C rr07 C3F6 C307 003EC (03C'r>
00C016 C2C'" CO~4 C3Ee CCC3A C'')? E[

o('ce 7C

C32F
ccurc 41CC C32A
(,ClOCE" 41 cr, C5C2
00C r P8
C'C'o(,pp ncr (3rt

GOCoc e 911C <:.'t.?10
OOOOc~ 477C cerc

356

0('3

50[10

,Ii.

CC33r
CC'5e f'

qMT

eCC?":

OS BTAM SRL

oecn6

F30SEP6<;

61

ST
Ur-.PK
TR
I'VC

UNPACK(SI,TRTABLE-240
WT(,o+30(el,UNPACK

63 hTCD

loire

' IXTBT022 IS LOADED AT

7~

I.TC

F3

SAVEREG,SAVEAREA+4

f!7

ST
LA
LA
Eel.;
r-VI

{((ODE,O

INCICATE OPEN t NIT I ATED

R<;

OPEN

CCB

CPEr-; TI-'E

Oe
Cj7

H'

CCPGFLGS,X'10'

oCj

WTC

"e

5<;
6C

1>4
R<;
el(:

003F7

SCLRCE SHTEMEr.. T

(PE~

B~'

Z

BASEREG,BASE
u~PACK(CjI,BASE(51

I

lXTBT022 FCR

~'Cr..SWITCHEC

CO/'PUTE nE
LC~C ACCRESS
FOR THE
WTC "'ESSAGE

2760 I-AS START!:C'

SAVEPEG,~AVEAREA

DCPREG. CCI'-

EASE FOR DCB

CPF~(,K

'[PEN DID

~('T

cce

DID OPEN CO"'PLETE SUCCESSFULLY
CO'PLETE SUCCESSFULLY'

1010617C

('000((

5!,~O

007l34

C32F

ooccrf

COccrf: 9200 OF:)

rPH

C(leN E

COCN E 921"4 C3F1

12FF
4770
45fO
CSc' 1
4770
C5C 1.
47f10
C5(' 1
000154 477C

00013C
('(lC132
000136
OOC13A
0('!(114(
000144
0OOIL./l
COr141'

CC'3E7

coze(
C2(6
C1FA
00200
C372 C3CA cene C03EC
CUC
00182
C37!- C3CC OC37C CC3E2
C21A
C0220
C376 C301' OC37C 003r::4
001f\2
ClIlC

C'C3E8
COC158 C;~FF C;E2
C01R2
0OO15( 4780 CIAC
02('2
(372
(403
00?78 C04r')C:
(,COlbC
00C1H

COC16f <;20C C3Fl

OC3E7

C'CO l(lC 12FF

SAVEREG,SAVEAPEA+4

1':·<;

( 14, 121

PEST[RE THE REGISHRS

111

RETUPN

115 CPEIICt<
lIt

ECU
"'VI

118

TRNSLATE

131 REACH
132

EQl
tlVI

I(CCDE,4

134

REAC

REACECB,TI"I~AREA,27"l,~F=E

14'1
14<;
15C
151 C[tlP/lpr152
153
154
155
156
157
158 *
15<;
16C
161 WR IT ETCC'
16 ;:

LTR
BI\Z
SAL
CLC
ANE
CLC

BRREG,BRREG
ICEPP(1R
'('4501'
X'2501'
X'C'C'
'"X 'CO'

X'OO'

3.2 i ..

COOE<; CCOI)CO
CC03EC 00CCCCOC0CCCOC'00
SCC3Fe OOCOCOOCFF

F3CSEP69

RF.TRFG,WAIT
SAVEREG,SAVEAREA+4

275

308

0003210
O'1C33C
C0C'37e
C0C3DC
0003EC
C003E2
0003E4
C003E6

STATE/oIEI\ T

4

32e Uf\F.ACK
32, Bj\~E
33C TRT~F.LE

DC
[,C
DC

TI-'IS ROUTINE'S SAVE AHA
FREFIX 0
LNLCAo COORoI~ATES
LOAD COORDINATES
COUNT OF ~eNORMAl COt-PLETIONS
CF LAST I/O RECUEST MAX=2
CPEN INITI ATED
CO
READ INIT IAL
04
~R ITE TIC
C8
WRITE TCe
CC
WRITE INITIAL
10
TURI\ED ON WHEt-. FILt- HAS eEEN
LOCED

3F'0'
Xl5'OOOCCCOOOOFF'
Xl16'FOFIF2F3F4F5F6F7F8F9CIC2C3C4C5C6'

PAGE
AOORI A[')[')R2

LCC

OBJECT CODE

COC4CC
e, 0414
tOC414
C,· 041 F
CC044C
000457
'JCC46C
C00477
C004Al
C004AC
00C405
COOOC2
COO4Ce:
0004['<;

F7C6CCA5EB

331 CLCSE
332 ERRt-SG

1517171717171717
4C4040E3C8C54CC9
151/111717171717
C6C640E3C8C54CD7
1517171717171717
E8C6€440CI0 0 C540
1517111717171717
OfoCJ40C505E3C5OCJ
26

33~

358

OS BTAM SRL

C16E6E
C2C'104

ST",T

SCLRCE 5HTEMEt-. T

334
33~

336
337
'Be
33~

34C
341
342 LEt-Or
34 = RE~If\O
344 LCArt-SG
345

DC

F3CSEP69

'>('E7C6CCA5EB'
['$
0F
DC
X'1517171717171717171717' CR AND IOLES
fC
C'
THE I~MEDIATELY PRECEDING MESSAGE WAS I\CT '
CC
X'1517171717171717171717' CR AND IDLES
DC
C'CF THE PROPER FORMAT.'
DC
X'1517171717171717171717' CR AND IDLES
DC
C'YCU ARE EXPECTED TO PROBf UNLCAO CR LOAC. '
DC
X'1517171717171717171717' CR AND IDLES
DC
C'CR ENTER AN ONLINE TEST RfCU~ST MESSAGE. '
8C
X'26'
Eoe
FeU
*-F.RRMSG
DC
X'C16E6E'
~ESSj\GE TO UNLOAD FILM
DC
X'C20104'
~ESSAGE TC LOAD FILw
PRINT GEN

10/06/70

341 ******** CCNTRGL AICCKS

C004[C 5E~'16308~1A1C1F
8Q04EC 888A88~A~A5R5n5F.
C104FC 8eee8EeE8A3B3D88
C~05C( 888e5E88888AICIF
COC51e CIEE8eef88888P88
00~~2C

61Ee88eEA~A88e88

C0053C 4023888EA88AA8A8
CO~54e 888e8Ee88888888A
COC55C 88626461686B6C6E
C0056C 88434546494A4C4F
CCC51C 88882526292A2C2F
ccnSEC E88~88eE88e8A888
(OC5Se 88E2E4F1EAE~EOEF.
(005AC 8eC3C5C6C9CACCCF
(OG5eC A8A8A5A6A9AAACAF
(005CC 15C2C40108ceOCOE

AS~TRTAe

fC:C

351+*
:52+
353+
354+
355+
356+
351+
35<:+
35':;+
,,6':+
361+
362+
363+
364+
365+
366+
361+

DC
DC
DC
DC
CC
DC
DC
OC
nc
DC
CC
DC
DC
CC
DC
OC

0
X'A8A88888885A505E8888888f8E888888' 1
X'P888S8SF883B3D8888888888S888888P' ?
X'P~AR5FR8F8P.AICIF8888e8888e88P88A'
3
X'C188AF888epee88E88S8A07684S3EIB7' 4
X'61898f8S8S8BP8888889D757909587F6' 5
X'4~238eeef88e8pq888B8BA378eC08EA3' 6
X'P8888e8e88e888S8888888162C8DE2~6' 7
X'~~6264676e6B6D~f70738888888AA888' R

36<; oce

DCB

e5rRG=cx,MACRF=(P,W),DONA~E=e2760LOl,EPCPT=~T

nPG
C5
eRG

*-20 TO ELIMINATE U~USED ~PACE
OF CRIGI~ CN·WORC EOUNCRY
*+20 TO CPIGIN GENERATION

CC

AlUG) BL;FNC

371+*
372+*
313+

11)05(e

'-CO'iCE
·)OOS[C

<:!)40

34~

35C+I!'CT~C4r:

a

1 234 5 6 1 8 q A

C 0 E F

x'e8434546~94A4C4F515288888e8ee8e8'

9

X'88882526292A2C2F31328S8E8epPAB~8' A
X'888R8epPfPfPAP88SS8988S8S88PPS88' 8
X'PPE2E4E7E8EREDF.EfOF388S8ee8Ep.888' C

X'8AC3C5C6C9CACCCFDID2888~gF8e88ee'
X'PSA8A5A6A9AAtcAF~le28epe8eS8S88e'

X'1:C2C4C7C8ceonOEl0138RS8SP.8E8898'

F

OATA CCNTROL BLCCK

374+['e~
~15+

371+*
COCSCC CC

e

X'5F,,1163rA87A7C7F8B8888BeAF5P'8~8R'

CCM~CN

37<;+

ACCESS

MET~CD

INTEQFACE

PAGE
F3CSi=P6<;
0005DC aor:COI
C005EC coer:
aOC5F.2 lcoe
COC5E4 CO(1C~OOI

38C+
381+
382+
38:+

OC
CC
DC
CC

lC1C617C

AL?(11 eUFCB
H2«(,) PLFl
RL2'OC010eccccoococo' DSCRG
A(11 IoeAD
FGUNCATIGN EXTENSICN

CI)C5FE
C005E9
COO'iEA
CC05E!'
COC5EC
0005E[

CC
14

FF
OC
CO
CCCCOC

::'87+
388+
38S+
3qQ+
391+

DC
CC
DC

~q.2+

DC

r.C

CC

8Ll'OOOOOCCO' BFTEK,BFALN,HIARC~Y
8Ll'OOOI0ICO' BTAM EROPT CODE
ALl(255) BTA~ eUFFER CCUNT
All (0)

8Ll'COOCCOCO'
AL?(C) EXLST

FCl:J.I\IOATICN BLOCK

394+*
OOC5FC
OCC5FA
CCC5FS
COC5FA

C2F2F7F6FC03FCFl
C2
CC
2020

R~CFM

rc

396+
397+
39E+
39<:+

DC
CC
DC

CL8'P276CLC1' DCNAME
BLl)COOCCOI0' CFLGS
8Ll'COOCCCCC' IFLG
8L2'OOI000COOOICOOOO' MACP
FTA'" INTERFACE

4('1+*
COC5H ccrcccoc

403+

CC

F 'e'

C006CC

40'5

cs

'IF

407
40E+
4('<;+PEACEce
41C+
411+
412+
41:+
414+
l,15+
4IC+
417+
41 e+
419+
42C+
421+
422+
42:+

PEAC
OS
OC
DC
CC
DC
CC
DC
DC
DC
CC
DC
CC
DC
CC
DC
CC

REACFCB,TI,OCB""I,MF=L
':'F
A(O) EVE~T CCNTRCL BLeCK
BLl'OOO'
HUll TYPE FIELC
H2(0) L ENOl"
A (rc E I ece ACCRESS
A(0) APEA ADDRESS
A «(' I ER ReF< INFO. FIELD AOCR
A(C I TfR" H'AL LI ST ADDRESS

42".
426+IECTCeCP.
427+*
42E+*
42<;+*
43(+*
431+*

IECTrECP
DSECT rECP DU~~Y SECTICN
------- -------------.----------------------

C006CC
00C60C
0006C4
C006C5
C00606
CCC6CE
0006CC
00C61C
000614
C006U'
00061A
O:1061C
eOC6le
00061E
00C620
OOC62l,

CCC'{,'JC

occcocoe
00
Cl
coco
COCOC5CE
OOCCOCOC
CCCCCCCC
CC(CCC!JC

oon
OCOO
OC
OC

ccce

ccoooooe
ceccceoc

H:?(ll

LIt\E

AL2(01
Al1(O)
HUe)
Al2(C)
AL4(O)
Al4(OI

RESPCNSE FIELD
TF-CP CCDE
ERRCR STATUS
C~W STATUS
CLFRENT AeeR LIST FTR
CLRRENT ADDR POLL FTR

~U~BER

(TA~DARr FVENT CCNTROL BLOCK
+
+----------------------------------------+

Appendix N:

Sample start-stop and BSC Programs

359

PAGE
Lee

OPJfCT COOE

AOORI AOOR2

STMT
432+*
433+*
434+*
435+*
43f:+*
437+*
438+*
43<;+*
44C+*
441+*
442+*
443+*
444+*
445+*
446+*
447+*
448+*
44<;;+*
45C+*
451+*
452+*
453+*
454+*

~CLRCE

47~+*

CPER~TICN

CBJECT CCCE

Acepl AODR2

S T~,

+

AREA

+

LEN(T~

+----------------------------------------+
+ CI\-LII\E +
+
+TF.P~INAL +
ADCRESS CF CCB
+
lE'ST

12

+
+----------------------------------------+
+
+
+
+RESFRVEr +
ADOPESS [F AREA
+
+
+
+----------------------------------------+
+
+
+

16

SEI\5F BYTES

+

1

+

g

2

RFSlrUAL CCLI\T

+----------------------------------------+
+
+
+
2C

+

+

I

CO~~AI\[

COOE

ADCRESS rF

TER~INAL

LIST

+
+

+

+----------------------------~-----------+

+
24

21"

+ RELATIVE+
+
STATU +
LIn + ACDRESS + VFc/LRC
FLAGS + NU~BER + RESPONSE+ RESPCNSE +

+----------------------------------------+
+
+
+
+

TP-[F
COOE

+

ERRCR +
STATUS +

CSW

STATL~

+

+----------------------------------------+
+
+
+
32

+PESERVFr: +

ADDRESS CF CURPEI\T
ADDRESSING ENTRV

+

OF CURREI\T
POLLING ENTRY

+

+

+----------------------------------------+
+
+

+

+PESERVFC +

ACDRES~

+

+----------------------------------------++

4C

+
+
+
+PESERVEC +RESERVED +

~RITE

AREA

LEI\GT~

+

+

+-------------.--------------------------- +
44

+

+

+PE~ERVFr

+

474+*
475+*
LCC

TYPE

+

ArCPESS CF WRITE AREA

+

+

PAGE
~(LRCE

STATFMF.I\T

F3CSEP69

477+rECSCECB

O~

IF STATL:S FLAG + ADDPESS CF THE

(OCO(,4

47S+CECT'yP~

CS

11- CPERATICN TYPE

CCOOC6

4el+0ECLI\GTH 'JS

H

cacace

4e3+[ECCI\LlT rs
484+DECCC8AC OS

':'01 RESERVEC FCR Ol\-LINE HHINAL TEST

CODooe

.: ,)c(, 0

f

IF ACDRESS CF or.E'

ACORESS £OF AREA

486+CFCAREA

OS

}I:

ceef'! C

48e+[EC~FNSC

os

lC 1ST SENSE PYTE

OCOOll

49C+CECSE'!\Sl OS

lC 21\0 SE'I\SE PYTE

11-< PESICUAL CGUNT

r~OO12

4Q2+CECCCUfq OS

000014
c':)(\(', 14

4C;4+CHC~C(r
4C;~+rEeE"TF''y

['s

os

TC~

ARE.A LHGTH

COO00C

crll

CO~~lHn crDE
lF ACCRESS OF TERMINAL LI 5T

O:)001E

4ge+CECFLAGS CS

0"COl<;

5CC+CECR lI\

CS

lC RELATIVE LINE' NUtlEER

COCClA

r;02+CECRESFf\'

os

11- RESPCf\'SE FIE'LDS

ooone

5C4+[,EClFCCC OS

('cce lC

50c+CECERR~T

CS

1.(

CC0C'H

508+CE((S~ST

OS

11- CSW STATUS

('l~r02C

51'::+rECACRPT OS

C,)C r '24

"12+CECFClFT CS

I~

ACCRESS OF cUP RENT POLLII\G fI\ TRY

CC(,C2~

'i14+

CS

?C

RICSEPVH

CC'U2A

5 H+CECIoILf\'(

OS

11- IoIPITE AHA LENGH

C('C~?C

'518+CECIoIARfA OS

360

OS BTAM SRL

lC/06/70

+
+

+

+
+

45!:+~

456+*
457+*
45F+*
45<;+*
4tO+*
461+*
462+*
463+*
464+*
46:+*
466+*
467+*
468+*
4t<;+*
4 7 (+*
471+*
472+*

F30SEPcC;

SHTE~EI\T

7

1C STAllS FLAGS

1C TP-CP crDE

F.PROR STA1US

11: ACORESS CF CURRENT ACCFFSS II\G ENTRY

IF ACORESS OF WRITE AREA

ISICt/7C

'i21
522

CCPC

*.***

IrBC6e

ASSU~EC

erB SYMBCLIC CEFINITICN FCR
BAS IC fXCP

524+*
52~+*

cecner

NQ VALID DSORG SPECIFIEC-EXCP

527+IHACCB

PAGE
Lce

GeJ~(T

CrnE

AOOP1

A[D~2

~TMT

5r~RCE

F~CSEPt<;

STATE~~~T

531+*
eRG

~~?+
534+DCEC[t-.~/I

cs

Clf'

JOfO?':
0('('031
(;%032

"" ~+[,CE(FL(~ OS
53t+CCEIFLc: OS
~o7+CCE~ACP
OS

°Ll
"'Ll

(PG
~41+
5L,2+CCF.TICT CS
543+CCE/lACRF DS
544+CCP. I FLGS OS
54~HCECEBAC OS

5YMPCL
B~C::F

[>ASFP!='G
P'UNCrT
BRRfG
CLCSE'
CO/PAPE
DCP
rCROCf>A,.,
[CPctf'AC
[CBIFLG
CCPJFLr-S

LEt-.

VALUE

DEFt-.

eCCe5 0003F8 OC?2C;

err Cl cococe 0':C45
'.:''JCC4 0OO2fA 02?EE
(lCCCl
Cn OC5
CCCU:
(00C4

('occe

(00C4
CCCCI
COC01
[ceMACP
"r; cr: 2
DCeMf\fR F 00C02
CCRCFLGS C~CC1
DCPPE'G
"eCel
OC8TICT eCCC2
C!:'CA[PPT 00CC4
C"CH EA CCC04
CFCC"'CCC COCCI
[ECCCLNT COCC2
CECCSI-ST OCCC2
CECCCfAC 00C04
rECfPRY 00CC4
CFCE'RRST CCCCI
Cr:CFUGS 00CCI
cr:CLt-.c:n O(lC02
CECC~LTT OCCCI
CECPCLPT CC0C4
rFCflr:SJ:N caCC2
('I'OCI
CErP.Lt-.
[fCSCEC8 rCCC4
(feSEt-.so ('rCCl
("r<;F~Sl "·ooe 1
rECT FceD (,COCI
CFCTYJ:E 00002
rECwAPEA COCC4
Cr:Cl,Lt-.G CCCC2
EI\C
CCCCI
r:RPf'~G
C'JCC4
FRRrRCT crCCl
EXt.'JPLEl CCCCI
IE'CTCfCe rceOl
IECTSC40 snCCl
lnCPE
CCCel
enOCl
I .... Ance

OOor'CF
000400
COO13A
0('0"(8
OOaC2fl
')'>2C 2C
GCaC?1
00a02C
000032
00(,C2A
aOOO?0
OOOCCS
001)028
OO()020
OOOCCC
OCOO14
OflOO12
OOCI'lE
000('C8
000C14
OI')OOlD
I}()OC18
0000C6
0000C8
000('24
'JOOO1A
000':1 0
000roo

OCOCIC
000C11
00r-01C
CCOOC4
0OO02C
OO(,(,2A
00025C
I)OC414
(lOC3E6
COCCCC

concco
OCC40C
0001112

o(.'ooco

OC041'
CC3?1
00 L51
(,C374
OC534
00545
(053t
OC544
C':'537
OC543
OC53~

('CC44
00542
C051C
0048t
C0494
00492
OC5ce
C0484
OC495
C05Ct
OC4<;8
00481
OC483
00512
005C2
OC50C
C0477
C0488
OC4<;C
OC5C4
(,C47<;
00518
0('516
Or:24e
00332
OC31<;
rCOOl
CC42l::
OC35C
OCHe
00527

~4F

r.~rl'

S5C

EI'\C

Fcur..:rATICN

AFTER

lC/ctl7C

~l2

<;3<;+*
:·jCC28

BEF(RE CPEt-.

If-~r('o+40

OC'~02f
O:)C02~

:;OC07e
(,':'002A
(,)OC2(
C2CC2C

FCUt-.CATIC~

('PEt-.

!f-tcCB+4C
Pl.?

oL2
') ~ l 1

1. P

REFf'RENCES

1C1CU7C

~05A

~C5~

C055
0?87
01411
0187
01 p4
0085

C,}5t

~O58

"148

( 180

C1E:)

·:;0<::3

C12~

OL,13

OC<:6
')057

r:O~5

0188
0125
0116

01<;S
0221

C?L,2

:27S

82 J"3

0124
01"2
00'37

C156

(15S
(541

C2<;2

C5~3

02(t

02Ct

0240

C240

0270

0270

02~<;

AppendixN:

Sample start-Stop and BSC programs

361

IHEOCC2
IHBOOC2A
IHBOCC3
11-'80CC311
II-'BOCC5
II-'BCCC5A
II-'P0C18
IHBOClSA
H'ECC22
IHP.CC2211

OOCCI
0(\('02
COCCI
COCC2
OCOCI
OC002
CCCCI
COC02
COCCI
00002

000046
000046
000019
00001A
OOOOCIl
OOOOCA
00028F
000290
00C322
000322

OCC6<;
OC07C
OCC1<;

oocec
0010!:
00106
OC254
0025!:
0002
00303

C066
0065
0016
0075
0102
OlCl
0251
0250
02<;9
02<;S

PAGE

CRCSS-REFERENCE
SYMl'C'l
INARE'II
IeCODE
ICERflCR
LENGTILCAr;
LCACCCNE
LCAD" SG
CPF.N
CPENCK
rUT
PEP"
PREO
REIIDECE
REIIoTI
RETREG
REWII\C
SA \lOR EII
<;AVEREG
SHill
TEMP
TPTAELE
UNLOAC
LNPACK
WII IT

lEI\

CCOC4
COCCI
(\CCC4
OCCOI
COC02
00001
eCCC3
COOOI
CCOCI
rCCCl
OCCOI
00002
CCCC4
00001
OCCCI
00C03
00CC4
00001
OCCCI
000C4
00016
0"002
OCCC4
OOOCI
~CRKREG
CCCCI
WRITETCO 00001
\-ITCP
CCCC4

VALUE

OFFI\

OC0378
0003E7
0002CC
COOCC2
OC03E4
0003ER
000409
0000E8
OCOr.C(:
00022C
0002FE
0003EC
OC060C
OOOOFI:'
OCOOCE
000406
OC0330
000000
OOOCCC
0003DC
0003FD
0003E2
C003EC
000200
000008
000166
OOOOlC

00314
00321
OC27e;
00342
0031E
00326
OC344
00C8(:
OC115
OC225
OC294
0(:31(:
004C<;
00131
OCC41
C0343
00313
0004(:
OCC4<;
OC315
C03"3C
00317
0':1328
00211
00C43
00161
OOC(:':

C151
C132
ClEl
Cle;6

C153
C162

Ole~

C243

0154
0271
0151
0135
0209
C15C
0234
CCS3
0083

C2<;C
C2El

OS BTAM SRL

Ur.7

C155
0189
0220

CltC
0226
C241

Ol1C
0286

0187

Cl12

ocen

0212.
OC6e
01'i3
005<;
0150
0282
02Ql
CC6l

CH:5
0244
(l82
02(:4
CC E4
001:4

Cl<;2
C2Pe;
(2Ce

C215

02l e

022e;

0259

C212

0222

C22?

0242

C212

CICe;
(lce;

C273
0213

03Ct-

C242
'.::2E4

0272
C2E4

C285

C2136

C287

C3((:

C222
COte
Cl 82
C2E2

NO STATE~ENTS FLAGGED 11\ TrIS ASSEMPlY
SOURCE RECORr:lS (SYSINt
*STATISTICS*
*CPTICI\S IN EFFErT*
LIST , OfCK, NOLCIID,
46<; PRII\TEC LINES

362

10/Nl7e

REFFRENCES
0141)
0087
0149
0120
0155
0158
016C
02Ae

CUI

C2ce
(283

237
~CREI\T.

S(UI,*-2 MOVE IN LENGrH
OOOB
14,DD3270
14,8(0,1) STORE DCB ADDRESS
14,FORMAT3 OOOB
14,12(0,1) STORE AREA AD DR
OOOB
RLNREG,24(0,1) STORE LINE NUMBER
15,DD3270+48 LOAD RDWRT ROUT ADDR
4(1),X'F7' A38557
14,15 A38557
EPREG,EPREG
END IF RC
ERRABEND
NON-ZERO
ECB= (DECBREG)
WAIT FOR COMPLETION
1,0(0,DECBREG) CLEAR HIGH ByrE OF REG
0,1<0,0) COUNT OMITTED,l USED
1 LINK TO WAIT ROUrINE
0(DECBREG),X'7F'
SATISFACTORY COMPLETION
YES, SET UP READ
READ
0(DECBREG),X'44'
INTERCEPr
WRITE3
YES, RETRY OPERATION
ERRABEND
NO, END

CLI
BNE
L
LA
LA
SH
S
LTR
BNP

0(BUFREG),X'7D'
ENTER KEY
READ
NO, REESTABLISH READ
ODDREG,12(TABBASE,ODDREG) GET ADDR OF DATA AREA
INDXREG,3 (BUFREG)
INDEX PAST AID & CURSOR ADDR
LOOPREG,308
LOOPREG,COUNT(EVENREG) GET NUMBER OF BYTES READ
ADJUST FOR LENGTH OF AID & ~DDR
LOOPREG,THREE
LOOPREG,LOOPREG
WRTRSPNS
NOTOIN3 ENTERED

CLC
BNE
XC
BAL

0(3,INDXREG),FLDl
FIRST FIELD
FLD2CHK
NO, CHECK FOR SECOND
o (33,ODDREG),0(ODDREG)
CLEAR FIELD IN DArA AREA
FIND FIELD DELIMITERS
RETNREG,GETFIELD

SLA
LA
STH
XC
WRITE
LR
NI
MVI
B

DC
MVC
LA
ST
LA
ST
STH
L
NI
BALR
LTR
BNZ
WAIT
LA

PARMREG,3
EVENREG,3

8

3/22172

E»I\.GE

LOCAL 3270 SAMPLE PROGRAM
LOC

OBJECT CODE

ADDRl ADDR2

000llC8 121l1l
0004CA 47DO B52C

00540

0004CE
000llD2
000408
0004DC
0004E2
000llE6
0004E8

4133
0502
4770
0720
45EO
1244
47DO

0004EC
0004FO
0004F6
0004FA
000500
000504
000506

4133
D502
4770
D720
45EO
1244
47DO

00022
0022
5000 BB45 00000 00B59
B4F6
0050A
3000 3000 00000 00000
B97A
0098E

00050A
00050E
000514
000518
00051E
000522
000524

4133
D502
11770
0714
45EO
1244
4700

00022
0022
5000 BB48 00000 00B5c
B511l
00528
3000 3000 00000 00000
B97A
0098E

000528
00052C
000532
000536
00053C

4133
0502
4770
0704
45EO

0016
00016
5000 BB4B 00000 00B5F
B52C
00540
3000 3000 00000 00000
B97A
0098E

0022
00022
5000 BBIl2 00000 00B56
B4D8
004EC
3000 3000 00000 00000
B97A
0098E
B52C

00540

00540

B52C

B52C

00540

000582
000581l
000588
00058C
000590

8000
8100
0003
0002
1008
100C
8028
8052
807C
80A1
80C4
1000

1817
9404 1004
920E 1005
1l7FO B57E
0132

BBFC 00000 00CI0
BCFC 00100 00010
00003
00002
00008
OOOOC
3000 00028 00000
3022 00052 00022
3044 0007C 00044
3066 000A7 00066
307C 000C4 0007C
1000 00000 00000
00004
00005
00592

FOI0CT71

SOURCE STATEMENT

1140
441
442
443 FLD2CHK
444
445
446
447
448
449
450
451 FLD3CHK
452
453
454
455
456
457
458
459 FLD4CHK
460
461
462
463
464
465
466
467 FLD5CHK
468
469
470
471
1112 •
413
414 WRTFMT2
415 WRTRSPNS
416 •
417
418
419
480
481
482
483
484
485
486
481
488 WRITE2
489
490+
491+
492+
493+
494+

•

•

•

•

•

000540 1861
000540
000542 02FF
000548 0231
0OO54E 8BI0
000552 4120
000556 4029
00055A 5839
00055E 0220
000564 0220
00056A 0220
000510 D214
000516 0204
00051C'D103

STMT

9

3.122172

END OF DI\.TI\.
YES, WRITE RESPONSE

LTR
BNP

LOOPREG,LOOPREG
WRTRSPNS

LA
CLC
BNE
XC
BAL
LTR
BNP

ODDREG,34 (ODDREG)
INCR TO NEXT FIELD IN DArl\. I\.REI\.
o (3,INDXREG),FL02
SECOND FIELD
NO, CHECK FOR THIRD FIELD
FLD3CHK
o (33,ODDREG),0(ODDREG)
CLEI\.R FIELD IN DArA AREA
RETNREG,GETFIELO
GET FIELD
END OF DATI\.
LOOPREG,LOOPREG
WRTRSPNS
YES, WRITE RESPONSE

LA
CLC
BNE
XC
BAL
LTR
BNP

ODDREG,34 (ODDREG)
INCR TO rHIRD FIELD IN DATA AREA
o (3, I NDXREG )" FL03
THIRD FIELD
FLD4CBK
NO, CHECK FOR FOURTH FIELD
o (33,ODDREG),0(ODDREG)
CLEI\.R FIELD
RETNREG,GETFIELO
GET FIELD
END OF DA'l'1\.
LOOPREG,LOOPREG
YES, WRITE RESPONSE
WRTRSPNS

LA
CLC
BNE
XC
BAL
LTR
BNP

ODDREG,34 (ODDREG)
INCR TO FOURTH FIELD
o (3,INDXREG),FLD4
FOURTH FIELD
FLD5CBK
NO, CHECK FOR LAST FIELD
0(21,ODDREG),0(ODDREG)
CLEI\.R FIELD
RETNREG,GETFIELO
GET FIELD
END OF DI\.TI\.
LOOPREG,LOOPREG
YES, WRITE RESPONSE
WRTRSPNS

LA
CLC
BNE
XC
BAL

ODDREG,22 (ODOREG)
INCR TO LAST FIELD
0(3,INDXREG),FL05
FIF'TH FIEID
WRTRSPNS
NO, WRITE RESPONSE
0(5,ODDREG),0(OOOREG) CLEAR FIELD
RETNREG,GETFIELO
GET FIELD

LR
EQU

RLNREG,PARMREG
WRTFMT2

SavE R1.N

RETURN = REESTABLISH REI\.O
WRITE FORMAT 2
0(256,BUFREG),FORMI\.T2
MOVE BASE MESSI\.GE
MVC
256(FMT2SZ-256,BUFREG),FORMAT2+256 INTO BUFFER
MVC
SLA
PARMREG,3
CONVERT RLN TO TABLE INDEX
EVENREG,2
GET FORMI\.T 10
LA
EVENREG,8(TABBASE,PI\.RMREG)
6 STORE IN TI\.BLE ENrRY
STH
L
ODOREG,12 (TABBASE,PI\.RMREG)
GET DATA AREA ADOR
MVC
FMT2FLD1(33,BUFREG),0(OOOREG)
MOVE DArl\.
FMT2FLD2(33,BUFREG),34(OOOREG)
FROM
MVC
MVC
FMT2FLD3(33,BUFREG),68(ODDREG)
DATA AREI\.
FMT2FLD4(21,BUFREG),102(ODDREG)
MVC
TO
FMT2FLD5(5,BUFREG),124(ODDREG)
BUFFER
MVC
0(4,DECBREG),0(DECBREG)
XC
CLEAR ECB
WRITE (DECBREG),TS,DD3210,(BUFRE3),FMT2SZ,,(RLNREG),MF=E
LR
1,DECBREG LOAD DECB ADDRESS
4 (1),4
NI
5 (1),14
MVI
.+6 OOOB
B
AL2 (FMT2SZ) OOOB
DC

Appendix 0:

Local 3270 Sample Program

362.15

PAGE

LOCAL 3270 SAMPLE PROGRAM
LOC

OBJECT COOE

ADOR1 ADDR2

000592
000598
00059C
0005AO
0005A4
0005A8
0005AC
0005BO
0005B2
0005B4

0201
41EO
50EO
5080
4060
S8FO
94F7
05EF
12FF
4770

100b B57C 00006 00590
BB04
00B18
1008
00008
OOOOC
100e
1013
00018
BB34
00B48
100~
00004
B8EC

00900

0005B8
0005BC
0005CO
0005C2
0005C6
0005CA
0005CE
000502

4110
4100
OAOI
957F
4780
9544
4780
47FO

7000
0001

00000
00001

0005D&
0005DA
0005DE
0005EO
0005E4
0005E8
0005EA
0005EE
0005FO
0005F4

956C
4770
1821
8B20
4832
1233
4780
1863
8B30
4100

0005F8
0005FC
0005FE
000604
000&08
00060C
000610
00061&
00061A
00061E
000622
00062&

4510
OAOA
07B7
4141
5852
92C8
0280
9215
9215
9215
9240
9219

00062A
00062E
000632
000636
00063A
00063E
000642
000644
000648

4809
4900
4780
5859
5015
5019
1812
8A10
47FO

7000
B24C
7000
B568
B8EC

00000

8000
B30C

00000

00000
0057C
00900
00320

0003
900A

00003
OOOOA

B682

00696

0003
00B8

00003
000B8

B5E8

005FC

1000 1000 00000 00000
002C
0002C
900C
OOOOC
4000
00000
4001 5000 00001 00000
4022
00022
4044
00044
4066
00066
407C
0007C
4082
00082
3008
BB3C
B638
300C
0000
300C

00008
00B50
0064C
OOOOC
00000
OOOOC

0003
B52C

00003
00540

00064C 5019 300C

OOOOC

362.16

OS BTAM SRL

STMT

FOI0CT71

SOURCE STATEMENT

495+
496+
497+
498+
49~';

500+
501+
502+
503
504
505
506+
507+
508+
509
510
511
512
513
514 *
515 READFMT2
516
517
518
519
520
521
522
523
524
525
526+
527+
528
529
530
531
532
533
534
535
536
537
538 *
539
540
541
542
543
544
545 RSTRKYBD
546
547
548 *
549 STRTPRTR

MVC
LA
ST
ST
STH
L

NI
BALR
LTR
BNZ
WAIT
LA
LA
SVC
CLI
BE
CLI
BE
B

6(2,1),*-2 MOVE IN LENGTH
OOOB
14,OD3270
14,8(0,1) STORE DCB ADDRESS
OOOB
BUFREG,12(0,1) STORE AREA ~DDR
RLNREG,24(0,1) STORE LINE NUMBER
15,OD3270+48 LO~D RDWRT ROUT ADDR
4(1),X'F7' A38557
14,15 A38557
EPREG,EPREG
END IF RC
ERRABEND
NON-ZERO
ECB=(DECBREG)
WAIT FOR OPERATION TO END
1,0(0,DECBREG) CLE~R HIGH BYfE OF REG
0,1(0,0) COUNT OMITTED,! USED
1 LINK TO WAIT ROU'fINE
0(DECBREG),X'7F'
COMPLETION SATISF~CTORY
READ
YES, SET UP READ
0(OECBREG),X'44'
INTERCEPf
WRITE 2
YES, RETRY
ERRABEND
NO, END

CLI
0(BUFREG),X'6C'
PAl KEY
BNE
READFMTI
NO, GO TO READ FORMAT 1 LOGIC
LR
EVENREG,PARMREG
GET RLN OF DISPLAY
SLA
EVENREG,3
GET INDEX TO ENTRY
LH
ODDREG,10(EVENREG,TABBASE) GET RLN OF ASSIGNED PTR
LTR
OOOREG,OOOREG
PRINTER ~SSIGNED
BZ
SYSOUT
NO, USE SYSOUT
LR
RLNREG,OOOREG
SAVE RLN
SLA
OODREG,3
GET INDEX TO ENTRY OF PRINfER
LA
ZEROREG,184
GETMAIN R,LV=(O)
GEf CORE FOR PRINTER REQUESf BLOCK
BAL
1,*+4 INDICATE GETMAIN
SVC
10 ISSUE GETMAIN SVC
XC
0(184,PARMREG),0(PARMREG) CLEAR IT
LA
LOOPR~<;, 44 (PARMREG) GET ADDR OF PRINT BUFFER
L
INDXREG,12(EVENREG,TABB~SE)
GET ADDR OF DATA ~REA
MVI
O(LOOPREG),X'C8'
STORE wce IN BUFFER
MVC
1(129,LOOPREG),0(INDXREG) MOVE IN DATA
MVI
34(LOOPREG),X'15'
NEW LINE
MVI
68(LOOPREG),X'1S'
NEW LINE
MVI
102(LOOPREG),X'15~
NEW LINE
MVI
124(LOOPREG),C"
BLANK
MVI
130 (LOOPREG),X'19' END OF MESSAGE
LH
CH
BE
L
ST
ST
LR
8RA
B

ZEROREG,8(TABBASE,ODDREG) GET CURRENT PRINTER FORMAT
ZEROREG,MIN1
PRINTER BUSY
STRTPRTR
NO, STARf OPERATION
INDXREG,12(TABB~SE,ODDREG)
GET POINTER TO LAS'f REQ
PARMREG, 0 (INDXREG) STORE POINTER
PARMREG,12(TABBASE,ODDREG) UPDATE POINTER TO CORR REQ
PARMREG,EVENREG
RECOVER RLN OF DISPLAY
PARMREG,3
FROM TABLE INDEX
WRTRSPNS
GO TO UNLOCK KEYBOARD

ST

PARMREG,12 (TABBASE,ODDREG)

STORE POINTER TO

RE~

10

3/22172

Pl\.GE

LOCAL 3270 SAMPLE PROGRAM
LOC

OBJECT CODE

ADDRl ADDR2

000650
000654
000658
00065C
000660
000662

4111
5859
4A59
5015
0600
4009

0004
0004
300A
0000

00004
00004
OOOOA
00000

3008

00008

000660
000668
00066C
000670
000674
000678
00067C
000680
000684
000688
·00068C
000690
000692

1811
9404
920E
41EO
40EO
41EO
50EO
5040
4060
58FO
94F7
05EF
47FO

1004
1005
0083
1006
BB04
1008'
100C
1018
BB34
1004

000696
00069A
0006AO
0006A4
0006A8
0006AC
0006BO
0006B4

5859
D281
926B
926B
926B
9240
924B
DC81

200C
OOOOC
B9B4 5000 009C8 00000
B9D5
009E9
B9F7
OOAOB
BA19
00A2D
BA2F
00A43
BA35
00A49
B9B4 BE9A 009C8 OOEAE

00004
00005
00083
00006
00B18
00008
OOOOC
00018
00B48
00004

B62E

00642

0006BA 4110 BAB8
0006BE 4100 B9B4
0006C2 58FO 1030
ooo~c~ 05EF
0006C8 47FO B62E

OOACC
009C.8
00030
00642

0006CC
0006DO
0006D4
0006D8
0006DC
0006EO

957D
4780
956E
4780
956C
4770

8000
B52C
8000
B314
8000
B412

0006E4
0006E8
0006EE
0006F2
0006F4
0006F8

5829
0781
45EO
12FF
4770
47FO

300C
OOOOC
2000 2000 00000 00000
B6E8
006FC
B8EC
B24C

00000
00540
00000
00328
00000
00426

00900
00260

0006FC 183E
0006FE 1861
000700 D703 7000 7000 00000 00000
000706 1817

STMT

SOURCE STATEMENT

550
551
552
553
554
555
556
557+
558+
559+
560+
561+
562+
563+
564+
565+
566+
567+
568+
569
570
571 SYSOUT
572
573
574
575
576
577
578
579
580+
581+
582+
583+
584
585
586 READFMT3
587
588
589
590
591
592 •
593
594
595
596
597
598
599
600 WRTFMT1
601
602 WRITE1
603
604+

•

•

•

FOI0CT71

11

3/22172

PARMREG,4(PARMREG) GET ADDRESS OF DECB
INDXREG,4(TABB1\.SE) GET ADDRESS OF EeB LIST
L
INDXREG, 10 (TABBASE, ODDREG) ADO INDEX TO PRTR'S PTR
AH
PARMREG,0 (INDXREG) STORE EeB ADDR IN LIST
ST
INDICATE
BCTR ZEROREG,O
ZEROREG,8(TABB1\.SE,ODDREG) PRINTER BUSY
5TH
WRITE (PARMREG),TS,DD3270,(LOOPREG),131,,(RLNREG),MF=E
1,PARMREG LOAD DECB ADDRESS
LR
4 (1),4
NI
5 (1),14
MVI
14,131<0,0) OOOB
LA
14,6(0,1) STORE LENGTH
OOOB
STH
LA
14,D03270
14,8(0,1) STORE DCB ADDRESS
ST
OOOB
LOOPREG,12(0,1) STORE AREA ADDR
ST
RLNREG,24(0,1) STORE LINE NUMBER
5TH
15,D03270+48 L01\.D RD~RT ROUT ADDR
L
4(1),X'F7' A38557
NI
BALR 14,15 A38557
RSTRKYBD
B
LA

L
MVC
MVI
MVI
MVI
MVI
MVI
TR
PUT
LA
LA
L
BALR
B

INDXREG,12 (TABBASE,EVENREG) GET ADDR OF DATA AREA
SYSOUTBF(130),0(INDXREG) MOVE DATA TO PRINT BUFFER
SYSOUTBF+33,e','
MOVE IN
FIELD DELIMITERS
SYSOUTBF+67,e','
FOR LINE
SYSOUTBF+I01,e',',
SYSOUTBF+123,C'
TO BE
PRINTED
SYSOUTBF+129,C'.'
TRANSLATE TO VALIDATE 01\.Tl\.
SYSOUTBF(130),FLDXLATE
SYSPRINT,SYSOUTBF
WRITE TO SYSOUT
1,SYSPRINT LOAD PARAMETER REG 1
O,SYSOUTBF LOAD PARAMETER REG 0
15,48(0,1) LOAD PUT ROUTINE 1\.DDR.
14,15 LINK TO PUT ROUTINE
RSTRKYBD

CLI
BE
CLI
BE
CLI
BNE

o (BUFREG) ,X'7D'
WRTRSPNS
o (BUFR~) ,X'6E'
ENDMSG
0(BUFREG),X'6C'
CNTRLMSG.

L
XC
BAL
LTR
BNZ
B

EVENREG,12 (TABBASE,ODDREG) GET ADDR OF DATA AREA
o (130,EVENREG),0(EVENREG)
CLEAR IT
WRITE OUT FIRST FORMAT
RETNREG,WRTFMT1
EPREG, EPREG .
WRITE SUCCESSFUL
NO, END
ERRABEND
READ

LR
LR
XC

SAVE RETURN ADDRESS
ODDREG, RETNREG
SAVE RLN
RLNREG,PARMREG
o (4,DECBREG),o (DECBREG) CLEAR ECB
(DECBREG),TS,OD3270,FORMAT1,FMT1SZ,,(RLNREG),MF=E
1,DECBREG LOAD DECB ADDRESS

~RITE

LR

Appendix 0:

ENTER KEY
YES, ~RITE RESPONSE
PAl KEY
YES, END TERMINAL
PAl KEY
NO, WRITE CONTROL OPTIONS MSG

Local 3270 Sample Program

362.17

LOCAL 3270 SAMPLE! PROGRAM
OBJECT CODE

ADDR1 ADDR2

000708
00070C
000710
000714
000716
00071C
000720
000724
000728
00072C
000730
000734
000738
00073A
00073C

9404
920E
47FO
OOAE
D201
41E0
50EO
41EO
50EO
4060
58FO
94F7
05EF
12FF
4770

00004
00005

000740
000744
000748
00074A

LOC

1004
1005
B702

00716

1006 B700 00006
BB04
1008
BB4E
100C
1018
BB34
1004
00004

00714
00B18
00008
00B62
OOOOC
00018
00B48

B8EC

00900
00000
00001

000752
000756
00075A
00075E

4110 7000
4100 0001
OA01
957F 7000
4780 B74C
9544 7000
4780 B6EC
41FO B746
07F3

000760
000764
000768
00076C
000770
000772

4120
8B60
4029
8A60
1BFF
07F3

000774
000776
00077A
00077C
000780
000784
000788
00078C
000790
000794
000798
00079C
0007AO

1B33
4332
1863
8B30
5B20
4133
5859
4A53
957F
4780
9544
4780
47FO

00074E

00000
001"60
00000
00700
0075A

0001
0003
6008
0003

00001
00003
00008
00003

0019

00019

0003
BABO
9008
0004
0002
2004
B790
2004
B8E2
B8EC

00003
00AC4
00008
00004
00002
00004
007A4
00004
008F6
00900

0007M D203 3004 2000 00004 00000
0007AA 1812
0007AC 4100 00B8
000B8
0007BO
0007B4
0007B6
0007BA

4111 0000
OAOA
5823 0004
1222

362.18

OS BTAM SRL

00000
00004

PAGE
STMT

SOURCE STATEMENT

605+
606+
607+
608+
609+
610+
611+
612+
613+
614+
615+
616+
617+
6U
619
620
621+
622+
623+
624
625
626
627
628
629
630 *
631 FMT1CD
632
633
634
635
636
637 *
638 PRNTREND
639
640
641
642
643
644
645
646
647
648
649
650
651 *
652 PRNTRNXT
653
654
655
656+
657+
658
659

FOI0CT71

NI
MVI
B
DC
MVC
LA
ST
LA
ST
STH
L
NI
BALR
LTR
BNZ
WAIT
LA
LA
SVC
CLI
BE
CLI
BE
LA
BR

4(1),4
5(1),14
*+6 OOOB
AL2CFMT1SZ) OOOB
6(2,1),*-2 MOVE IN LENGTH
OOOB
14,DD3270
14,8(0,1) STORE DCB ADDRESS
14,FORMAT1 OOOB
14,12(0,1) STORE AREA ADDR
OOOB
RLNREG,24(0,1) STORE LINE NUMBER
15,DD3270+48 LOAD RDWRT ROUT ADDR
4(1),X'F7' A38557
14,15 A38557
EPREG, EPREG
END IF R:
NON-ZERO
ERRABEND
ECB=(DECBREG)
WAIT FOR OPERATION TO END
1, 0 CO,DECBREG) CLEAR HIGH BYTE OF REG
0,1(0,0) COUNT OMITTED,l USED
1 LINK TO WAIT ROUTINE
OCDECBREG) ,X'7F'
SATISFACTORY COMPLETION
FMT1CD
YES, STORE FORMAT CODE IN ENTRY
o (DECBREGJ, X' 44'
INTERCEPr
YES, RETRY OPERATION
WRITE1
SET NON-ZERO RETURN CODE
EPREG,*
AND RErURN TO CALLER
ODDREG

LA
SLA
STH
SRA
SR
BR

EVENREG,1
GET FORMAT ID
CONVERT RLN TO TABLE INDEX
RLNREG,3
EVENREG,8(TABBASE,RLNREG) STORE ID IN TABLE
RESTORE RLN REGISTER TO RLN
RLNREG,3
EPREG,EPREG
SET RErURN CODE =0
ODDREG
RETURN TO CALLER

SR
IC
LR
SLA
S

ODDREG,ODDREG
ODDREG,RLN(EVENREG) GET RLN OF ENDING PRINTER
RLNREG , ODDREG
SAVE RLN
CONVERT RLN TO TABLE INDEX
ODDREG,3
EVENREG,FOUR
GET BEGIN OF PRINTER RB
ODDREG,8CODDREG,TABBASE) GEr ADDR OF TABLE ENrRY
INDXREG,4CTABBASE) GET ADDR OF ECB LIST
INDXREG,2 CODDREG)
GET ADDR OF PRINTER'S ECB
4CEVENREG),X'7F'
GOOD END
PRNTRNXT
YES, CLEAN UP
4CEVENREG),X~44'
INTERCEPT
WRITEPI
YES, RESTART OPERATION
ERRABEND
NO, END

LA

L
AH
CLI
BE
CLI
BE
B

4(4,ODDREG),OCEVENREG)
UPDATE LINK POINTER
MVC
ADDRESS OF PRINrER RB
LR
PARMREG,EVENREG
ZEROREG,184
SIZE OF RB
LA
FREEMAIN R,LV=(O) ,A=(l)
FREE BLOCK
1,0(1) CLEAR THE HIGH ORDER BYrE
LA
SVC
10 ISSUE FREEMAIN SVC
EVENREG;4(ODDREG)
L
GET ADDR OF NEXT RB
END OF CHAIN
LTR
EVENREG,EVENREG

12

3/2U72

LOCAL 3270 SAMPLE
LOC
0007BC
0007CO
0007C6
0007CC
0007DO
0007DO
0007D2
000704
0007D6
0007DA
0007DE
0007E2
0007E6
0007EA
0007EE
0007EE
0007F2
0007Fb
0007FA
0007FC
000800
000804
000808
00080C
000810
000814
000818
00081A
00081C
00082Q
000822

OBJECT CODE
4770
D703
D201
47FO

1817
lBOO
lBFF
4301
58El
9110
4710
41FO
47FO
58FE
41FF
8BOO
lAFO
58FF
9510
4770
9501
4770
9140
4710
1801
181F
41FO
OA74
4110

ADDRl ADDR2

B7BC
007DO
5000 5000 00000 00000
3000 BB3C 00000 00B50
B288
0029C

0019
0008
E030
B7DA
OOOC
B880

00019
00008
00030
007EE
OOOOC
00894

002C
0000
0002
001C
F012
B874
1005
B87E
1000
B86C

0002C
00000
00002
0001C
00012
00888
00005
00892
00000
00880

0004

00004

0004

00004

000828 4720 B880
00082C 40FO B87C

00894
00890

000830
000834
000838
00083C
00083E

001C
0058
002C

0001C
00058
0002C

0010

00010

000842 41EE 0020

00020

000826 1.9F1

000846
00084A
00084E
000852
000856
00085A
00085E

581E
4111
58EE
lBOO
430E

9601
9101
4710
58FE
9120
4710
94BF

1001
101C
B862
0000
F006
B84E
101C

000862 4111 0058
000866 41EE 0004

PI>.GE

PROC~

00001
0001C
00876
00000
00006
00862
0001C
00058
00004

STMT

SOURCE STATEMENT

660
6bl
662
663
6b4 *
665 WRITEP
666+WRITEP
667+
668+
669+
670+
671+
672+
673+
674+IECJ0033
675+
676+IECA0033
677+
678+
679+
680+
681+
682+
683+
684+
685+
686+
687+
688+
689+
690+
691+
692+
693+
694+
695+
696+*
697+
698+
699+
700+
701+
702+*
703+
704+*
705+IECT0033
706+
707+
708+
709+
710+
711+
712+*
713+IECU0033
714+

BNZ
XC
MVC
B

WRITEP

F010CT71
NO,

13

3/22172

NEXT
0(4,INDXREG),0(I~DXREG)
CLE~R ECB LIST ENrRY
0(2,ODDREG),MINl
MARK PRINTER AVAILABLE
TWAIT
WAIT FOR NEXT COMPLETION
ST~RT

RESETPL (DECBREG),ATTENT RESET READ INITIAL
DS
OB
1,DECBREG
LR
0,0
SR
15,15
SR
0,25(1) GET RELATIVE LINE NUMBER FROM DECB.
IC
14,8(1) GET DCB ADDRESS FROM DECB.
L
48(14),X'10' BAS DCB BEEN OPENED?
TM
BO
IECA0033 IF SO, CO~TINUE.
15,12 IF NOT, SET RETURN CODE
A28622
LA
B
IECB0033 AND EXIT.
EQU
*
15,44(14) GET ADDR OF DEB
L
15,0(15) CLEAR HIGH-ORDER BYrE
LA
0,2 MULTIPLY RLN BY 4
SLA
15,0 USE RLN*4 AS INDEX
AR
15,28(15) TO DEBUCB~D-4 AND 3ET UCB ADDR
L
18(15),X'10' DEVICE CLASS = GRAPHICS
CLI
IEC00033 NO, DEVICE IS NOT ANR
BNE
5(1),X'01' IS OPERATION RE~D INITIAL
CLI
BNE
IECE0033 NO, GIVE RC=O AND EXIT
0(1),X'40' IS THE OPERATION COMPLETE
TM
IECQ0033 YES, GIVE RC=4 AND EXIT
BO
LR
0,1 DECB ADDR TO RE3 0
1,15 UCB ADDR TO REG 1
LR
15,4 ROUTING CODE OF 4 IN RE~ 15
LA
SVC
116 INVOKE ESR TO DO RESET
1,4 ESTABLISH COMPARAND
LA
15,1 IS RC 0 OR 4
CR
IECB0033 NO, EXIT WITH He
BB
15,IECK0033 SAVE RETURN CODE
STH

LA

1,28(14) GET lOB BASE FROM DCB
1,88(1) GET ADDR OF FIRST lOB
14, 44 <.14) GET DEB ADDR FROM DCB
0,0
0,16(14) GET NO. OF EXTENTS FROM DEB
AND USE AS LOOP COUNTER
14,32(14) GET ADDR OF FIRST DEB UCB PTR

01
TM
BO
L
TM
BO
NI

l(l),X'Ol' SET RESETPL ISSUED FLAG
28(1),X'Ol' RFT IN PROGRESS
IECW0033 YES, ADJUST RC
15,0(14) GET ADDR OF UCB
6(15),X'20' dUTSTANDING I/O OPERATION
IECU0033 YES, KEEP lOB BUSY
28(1~,X'BF' TURN OFF lOB BUSY FLAG

LA
LA

1,88(1) STEP TO NEXT lOB
14,~(14) STEP TO NEXT OCB PTR

L

LA
L

SR
IC

Appendix 0:

Local 3270 Sample Program

362.19

LOCAL 3270 SAMPLE PROGRAM
LOC

OBJECT CODE

ADDRl ADDR2

0008&A 4600 B832
00086E 48FO B87C
000872 41FO B880

00846
00890
00894

000816 0701 B87C B81C 00890 00890
00087C 41FO B84E
00862
000880 41FO 0004
000884 41FO B880

00604
00894

000888
00088C
000890
000892
000894
000894
00089&
00089A
00089E

00008
00894

41FO 0008
47FO B880
0000
lBFF
12FF
4780 B898
59FO BABO
4770 B8EC

008AC
00AC4
00900

0008A2 4110 7000
0008A6 4100 0001
0008M OA01

00000
00001

0008AC 4122 0004
0008BO 5025 0000
0008B4 4132 0028

00004
00000
00028

0008B8
0008BA
0008BE
OOOBC2
0008C6
0008CA
0008CE
000802
000806
0008DA
0008DE
0008E2
0008E4
0008Eb
0008EA
0008EL
0008F2

1812
9404
920E
41EO
40EO
41EO
50EO
5030
4060
S8FO
94F7
05EF
12FF
4770
9548
4780
47FO

1004
1005
0083
1006
BB04
1008
100C
1018
BB34
1004
B8EC
7000
B24C
S288

00004
(10005
00083
00006
00B18
00008
OOOOC
00018
00B48
00004
00900
00000
00260
0029C

0008F6 0703 2004 2004 00004 00004
0008FC 47FO B7BC
00700

000900
000900 181F
000902 4100 0080
000906 8900 0018

362.20

OS BTAM SRL

00080
00018

P1-I.GE
STKT

SOURCE STATEMENT

715+
716+
717+
718+.
719+IECW0033
720+
1-21+·
722+IECQ0033
723+
724+·
725+IECOO033
726+
727+IECK0033
728+IECE0033
729+IECB0033
730
731
732
733
734
735+
136+
737+
738
*
139 WRITEPS
740
741
742
743+
744+
145+
746+
741+
148+
749+
750+
751+
752+
753+
754+
755
756
757
758
759
760
761 WRITEPI
762
763 •
764 •
765 ERRABEND
766+ERRABEND
767+
768+
769+

•

F010CT71

BCT
LH
B

0,IECT0033 LOOP IF NOT FINISHED
15,IECK0033 RESTORE RETURN CODE
IECB0033 EXIT WITH RC

XC
B

IECK0033,IECK0033 SET RC TO ZERO
IECU0033

LA
B

15,4 SET RETURN CODE OF 4
IECB0033 AND EXIT

LA

15,8 INVALID DEVICE, SET RC
IECB0033 AND EXIT
H'O' SAVE AREA FOR ifTTA
15,15 OOOA

B
DC
SR
EQU
LTR
BZ
C
BNE
WAIT
LA
LA
SVC

8

*
EPREG,EPREG
0
RC
WRITEPS
YES, PROCEED
EPREG,FOUR
4
RC
ERRABEND
NO, END
ECB= (DECBREG)
WAIT FOR READ TO COMPLETE
1,0(0,DECBREG) CLE1-I.R HIGH ByrE OF REG
0,1(0,0) COUNT OMITTED,l USED
1 LINK TO WAIT ROUTINE

=
=

LA
ST
LA
WRITE
LR
NI
MVI
LA
STH
LA
ST
ST
STH
L
NI
BALR
LTR
BNZ
CLI
BE
B

EVENREG,4(EVENREG) GET ADDR OF ECB
EVENREG,O(INDXREG) STORE 1-I.DDR OF ECB IN ECB Llsr
ODDREG,40(EVENREG) GET ADDR OF PRINT BUFFER
(EVENREG),TS,DD3270,(ODDREG),131,,(RLNREG),KF=E
1,EVENREG L01-l.D DECB ADDRESS
4 (1),4
5(1),14
14,131(0,0) OOOB
14,6(0,1) STORE LENGTH
OOOB
14,003210
14,8(0,1) STORE DCS ADDRESS
ODDREG,12(0,1) STORE AREA 1-I.DDR
OOOS
RLNREG,24(O,l) STORE LINE NUMBER
15,003270+48 LOAD RDWRT ROUT ADDR
4(1),X'F7' A38557
14,15 A38557
EPREG,EPREG
END IF RC
NON-ZERO
ERRABENO
o (OECBREG) ,X' 48'
RE1-I.D INITI1-I.L ENDED BY RESErPL
READ
YES, REISSUE READ
TWAIT
NO, CRECK STATUS

XC
B

4(4,EVENREG),4(EVENREG) CLE1-I.R ECB
WRITEP
RESTART if RITE

ABEND
OS
LR
LA
SLL

(15),DUMP
OH
1,15 LOAD PARAMETER REG 1
0,128 PICK UP DUMP/STEP CODE
0,24(0) SHIFT TO HIGH BYTE

000:;

14

3/22/72

P~GE

LOCAL 3270 SAMPLE PROGRAM
LOC

OBJECT CODE

00090A
00090C
00090E
000910
000912
000916
00091A
00091E
000922
000926
00092A
OOOnE
000932
000936
00093A
00093E
000942
000946
00094A
00094E
000950
000954
000956
00095A
00095E

1610
OAOD
lB22
lB66
95FO
4740
95f9
4720
8920
4325
4166
4155
4640
5960
47DO
5420
5860
5020
4130
lB36
4133
0660
4460
4F10
07FE

000960
000964
000968
00096A
00096E
000972
000974

956B
4770
1266
4780
4155
0640
47FO

000978
00097A
00097C
000980
000984

5000
B94C
5000
B968
0008
0000
0001
0001
B8FE
BAA8
B932
BAAC
BAA8
BAA4
0004

ADDR1 ADDR2

00000
00960
00000
0097C
00008
00000
00001
00001
00912
OOABC
00946
OOACO
OOABC
00AB8
00004

BAA4

00AB8

B974
B9AC

00988
009CO

5000
B968

00000
0097C

B964
0001

00978
00001

B922

00936

lBll
07FE
8920 0008
4320 BB3E
47FO B916

00008
00B52
0092A

000988 F270 B9AC 3000 009CO 00000
00098E
000992
000990
000998
00099C
0009AO
0009A4
0009A8
0009AC
0009AE
0009B2
0009B4

4125.
5B40
1B66
9511
4780
4166
4122
4640

0003
BAA8
2000
B998
0001
00.01
B984

00003
OOABC
00000
009AC
00001
00001
00998

06bO

4460 B9A2
1852
07FE

009B6

STM~

F01:)CT71

SOURCE STATEMENT

770+
771+
772 GETPARM
773
774 GETCBAR
775
776
777
778
779
780 PARMLOOP
781
782
783 HAVEPARM
784
785
786
787 CNVRT
788
789
790
791
792
793
794
795 •
796 DELIM
797
798
799
800
801
802
803 •
804 ZEROPARM
805
806 INVLDCHR
807
808
809 •
810 PACK
811 •
812 GETFIELD
813
814
815 EUDLOOP
816
817
818
819
820 MVFLD
821
822
823
824 •

OR
SVC
SR
SR
CLI
BL
CLI
BH
SLL
IC
LA
LA
BCT
C
BNH
N
L

ST
LA
SR
LA
BCTR
EX
CVB
BR

C:OMMA
NO, TREAT AS INVALID
PARM OMITTED
YES, SET IT TO ZERO
INCR STRING POINTER
DECR LOOP COUNTER
BR TO CONVERT PARM

B

PARMREG,PARMREG
RETNREG
EVENREG,8
EVENREG,C:O
PARMLOOP

SET P~RM = 0
RETURN
CLEAR LO~ CHARACTER
SUBSTITUTE C'O' FOR INVALID CH~R
BR TO ADJUST COUNTERS & POINTERS

PACK

PCKDPARM(8),O(O,ODDREG)

LA

EVENREG,3 (INDXREG)
LOOPREG,THREE
CNTREG,CNTREG
0(EVENREG),X'11'
MVFLD
CNTREG,l (CNTREG)
EVENREG,1 (EVENREG)
LOOPREG,FNDLOOP
CNTREG,O
CNTREG,FLDMOVE
I NO XREG, EVENREG
RETNREG

B

SR
BR
SLL
IC

S

SR
CLI
BE
LA
LTl

JjCT
BCTR
EX
LR
BR

3/22172

1,0 OR IN WITH COMP:ODE
13 LINK TO ABEND ROUTINE
EVENREG,EVENREG
CLE~R RE3ISTER
CNTREG,CNTREG
O(INDXREG),C'O'
CH~RACTER ~ NUMBER
DELIM
NO, CHECK FOR DELIMITER
O(INDXREG),C'9'
MAYBE
INVLDCHR
NO, INVALID CHARACTER
EVENREG,8
CLE~R LO~ CHARACTER
EVENREG,OfINDXREG)
GET CH~R~CTER
CNTREG,l(CNTRFG)
INCR LENGTH
INDXREG,l(INDXRECl
INCR STRING POINTER
LOOPREG,GETCHAR
GET NEXT CHARACTER, IF ANY LEFT
CNTREG,THREE
CtI~:K PARM LENGTH
CNVRT
BR iF VALID
EVENREG,SIXFS
REDUC~ TO THREE BYTES
CNTREG,THREE
SET COU~T TO THREE
EVENREG,RAWPARM
STORE RAW P~RM VALUE
ODDREG,4
LENGTH OFRA~~RM
ODDREG,CNTREG
SUBT LENGrH OF PARM &
ODDREG,RAWPARM(ODDREG) GET AuDR OF FIRST CHARACrER
CNTREG,O
DECR C~UNT FOR EXECUTE
CNTREG,PACK
PACK ~~RM
PARMREG,PCKDPARM
& C0NVERT TO BINARY
RETNREG
RETURN TO CALLER

o (INDXREG) , c' , ,
INVLDCHR
CNTREG,CNTREG
ZEROPARM
INDXREG,1 (INDXREG)
LOOPREG,O
HAVEPARM

CLI
BNE
LTR
BZ
LA
BCTR

15

Appendix 0:

INCR TO FIRST DATA BYTE OF FIELD
CORRECT LENGTH FOR SBA SEQUENCE
SET COUNT = ZERO
BYTE = SSA ORDER
YES, MOVE FIELD
INCR FIELD SIZE
INCR TO NEXT DATA BYTE
LOOP IF MORE DATA
ADJUST COUNT FOR EXECUTE
MOVE FIELD INTO DATA ARE~
GET START OF NEXT FI~LD
RETURN
'

Local 3270 Sample Program

362.21

LOCAL 3270 SAMPLE PROGRAM
LOC

ADDRl AODR2

STMT

0009.86 D200 3000 5003 00000 00003

825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846

. 0009CO
0009CO
0009C8
0009C8
OOOA4C
000A94
000A98
000A9C
OOOAAO
OOOAA4
000AA8
OOOAAC
OOOABO
000AB4
000AB8
OOOABC
OOOACO
000AC4
000AC8

OBJECT CODE

P1\GE

FOFOFOFOFOFOFOFO

OOOOOOFF
00000001
00000000
00000100
00000082
00000001
00000003
OOFFFFFF
00000004
00000000

SOURCE STATEMENT
FLDMOVE
*
PCKDPARM
SYSOUTBF
SAVE
MAXRLN
NODVCS
NOPTRS
TABSIZE
F2S6
DATASZ
DATBLKSZ
DATBLKAD
READRLN
RAWPARM
THREE
SIXFS
FOUR
ZEROWRD
SYSPRINT

MVC
DS
DC
OS
OS
DS
DC
DC
DC
DS
DC
DC
DS
DS
DC
DS
DC
DC
DC
DC
DCB

848+*
849+*
850+SYSPRINT DC

OOOACC

854+
855+

OOOAEO
OOOAEl
000AE4
000AE6
000AE8

OOOAEC
OOOAED
OOOAFO
OOOAFl

00
000001
80
000000

859+
860+
861+
862+
863+

DC
DC
DC
DC
DC

ALlCO) BUFNO
AL3(!) BUFCB
AL2(0) BUFL
BL2'0100000000000000' DSORG
A(l) IOBAD

DC
DC
DC
DC

BL1'00000000' BFTEK,BFLN,BIARCBY
AL3 (1) EODAD
BL1'10000000' RECFM
AL3(0) EXLST

COMMON A:CESS METHOD INTERFACE

FOUNDATION EXTENSION

FOUNDATION BLOCK

872+*
000AF4
OOOAFC
OOOAFD
OOOAFE

E2E8E2D7D9C9D5E3
02
00
0050

362.22

OS BTAM SRL

874+
875+
876+
877+

OF'O' ORIGIN ON WORD BOUNDARY

BL16'0' FDAD,DVTBL
A(O) KEYLE,DEVT,TRBAL

8tl!)+*
867+
868+
869+
870+

DATA CONTROL BLOCK

DC
DC

857+*
00
000001
0000
4000
00000001

0(0,ODDREG),3(INDXREG) MOVE FIELD FROM BUFFER
TO DATA AREA
OD
8C'O'
PACKED PARM AREA
OD
SYSOUT PRINT BUFFER
CL130
18F
SAVE AREA
F'25S'
MAXIMUM RLN
F'l'
NO. OF DEVICES (DEFAULT = 1)
F'O'
NO. OF PRINTERS (DEFAULT = 0)
F
SIZE OF :ONTROL TABLE
F'256'
SIZE OF DISPLAY TERM· DATA AREA
F'130'
F
SIZE OF DATA AREA CORE BLOCK
F
ADDR OF DATA AREA CORE BLOCK
F'l'
RLN TO BE USED FOR READ INIrIALS
1F
ZONED PARM AREA
F'3'
XL4' OOFFFFFF'
F'4'
F'O'
DDNAME=SYSPRINT,DSORG=PS,DEVD=DA,MACRF=(PM),RECFM=F,LRE:*
L=130,BLKSIZE=130

DIRECT ACCESS DEVICE INTERFACE

852+*
OOOACC 0000000000000000
OOOADC 00000000

F010CT71

DC
DC
DC
DC

CL8'SYSPRINT' DDNAME
BL1'00000010' OFLGS
BL1'OOOOOOOO' IFLG
BL2'0000000001010000' MACR

16

3/22/72

PAGE

LOCAL 3270 SAMPLE PROGRAM
LOC

OBJECT CODE

AnDRl Al)DR2

STMT

F010CT71

SOURCE STATEMENT
BSAM-8PAM-QSAM

17

3/22172

INTERr~CE

OOOBOO
OOOBOl
000B04
000B08
OOOBOA
OOOBOC
000B10
000B14
000B15

00
000001
00000001
0000
0082
00000000
00000001
00
000001

881+
882+
883+
884+
885+
886+
887+
888+
889+

DC
DC
DC
DC
DC
DC
DC
DC
DC

BL1'00000000' RERl
AL3(1) CHECK, GERR, PERR
A(l) SYNAn
H'O' CIND1, CIND2
AL2(130) BLKSIZE
F'O' WCPO, WCPL, OFFSR, OFFS~
A(l) IOBA
ALl(O) NCP
AL3(1) EOBR, EOBAD

000B18
000B1C
000B1E
000B20
000B21
000B24
000B28

00000001
0000
0082
00
000001
00000000
00000001

893+
894+
895+
896+
897+
898+
899+
900 DD3270

DC
DC
DC
DC
DC
DC
DC
DCB

A (l) RECAD
H'O' QSWS
AL2(130) LRECL
BL1'00000000' EROPT
AL3(1) CNTRL
F'O' PRECL
A(l) EOB
DDNAME=DD3270,DSORG=CX,MACRF=(R,W),EROPT=T

902+*
903+·
904+
905+DD3270
906+

ORG
DS
ORG

*-20 TO'ELIMIN~TE UNUSED SPACE
OF'O' ORIGIN ON WORD BOUND~RY
*+20 TO ORIGIN GENERATION

QSAM INTERFACE

000B18
000B18
000B2C

DATA CONTROL BLOCK

COMMON ACCESS METHOD INTERFACE
000B2C
000B2D
000B30
000B32
000B34

00
000001
0000
1000
00000001

910+
911+
912+
913+
914+

DC
DC
DC
DC
DC

ALl( 0) BUFNO
AL3 (l) BUFCB
AL2(O) BUFL
BL2'0001000000000000' DSORG
A(l) IOBAD
FOUND~TION

EXTENSION

000B38
000B39
000B3A
000B3B
000B3C
000B30

00
10
FF
00
00
000000

918+
919+
920+
921+
922+
923+

DC
D.C
DC
DC
DC
DC

BL1'OOOOOOOO'
BL1'00010000'
AL1(255) BTAM
ALl(O)
BL1'OOOOOOOO'
AL3(0) EXLST

BFTEK,BFLN,BIARCBY
BTAM EROPT CODE
BUFFER COUNT

000B40
000B48
000B49
000B4A

C4C4F3F2F7F04040
02
00
2020

927+
928+
929+
930+

DC
DC
DC
DC

CL8'DD3270' DDNAME
BL1'00000010' OFLGS
BL1'OOOOOOOO' IFLG
BL2'0010000000100000' MACR

RECFM

FOUND~TION

BLOCK

BTAM INTERFACE

Appendix 0:

Local 3270 Sample Program

362.23

PAGE

LOCAL 3270 SAMPLE PROGRAM
LOC

OBJECT CODE

ADDRl ADDR2

000B4C
000B50
000ES2
000E53
000BS6
000BS9
OOOBSC
OOOBSF
000B62
000B66
000B81
000B84
000B89
000B91
000B96
000B9D
000BA2
000BA9
OOOBAF
000BB6
OOOBSA

00000000
FFFE'
FO
UC1D6
llC17E
llC2E6
llC34F
llC36A
C7114040
C5DSE3CSD940C4Cl
11C1S0
D5C1D4C57A
lD401311ClF71D60
C1C4C4D97A

000BC4
OOOBDA
OOOBDD
000BF2
OOOBFS
OOOOAE

C5DSE3C5D940D2C5
llC5E8
D7C1F240D2C5E87A
llC6S0
C3D3C5C1D940D2CS

000C10
000C14
000C2D
000C30
000C35
000028
000C38
000C59
OO.OCSB
000C60
000052
000c62
OOOC83
OOOC85
OOOC8A
00007C
OOOC8C
OOOCAD
OOOCAF
OOOCBS
0000A7
000CS7
OOOCCC
OOOCCE
000CD2
0000C4

C7114040
C4ClE3C140C7C9E5
llC150
D5C1D4C57A
104013

1D4011C25F~D60
C3C9E3E87~

lD4011C3C71D60
E2E3C1E3C57A
lD4011C3E41D60
E9C9D77A
lD5011C36FlD60l1

0000000000000000
1D60
C1C4C4D97A
1D40
0000000000000000
lD60
C3C9E3E87A
lD40
0000000000000000
1060
E2E3C1E3C57A
1040
0000000000000000
1060
E9C9D77A
1050

362.24

OS BTAM SRL

STMT

F010C'l'71

SOURCE STATEMENT

934+
935 MIN1
936 CO
937 FLD1
938 FLD2
939 FL03
940 FLD4
941 FLDS
942 FORMATl
943
944
945
946
947
948
949
950
951
952
953
954
955 *
956
957
958
959
960
961 FMT1SZ
962 *
963 FORMAT 2
964
965
966
967
.968 FMT2FLD1
9b9
970
971
972
973 FMT2 FLD2
974
975
976
977
978 FMT2FLD3
979
980
981
982
983 FMT2FLD4
984
985
986
987
98S FMT2FLD5

DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
EQU

F'O'
H'-1'
FREE PRINTER FORMAr 10
CoO'
XL3 '11C1D6'
SBA SEQ OF FIRST FIELD ( SBA = 86)
XL3'11C17E'
SBA SEQ OF SECOND FIELD( SBA =126)
XL3'11C2E6'
SBA SEQ OF THIRD FIELD ( SBA =166)
XL3 'llC3 4F'
SBA SEQ OF FOURTH FIELD (SBA =207)
SBA SEQ OF FIFTH FIELD ( SBA =234)
XLJ'l1C36A'
X'C7ll4040'
WCC, SBA
0
C'ENTER DATA REQUESTED BELOW:'
X'llCl50'
SBA = 80
C'NAME: '
X'lD401311C1F71D60' SF
UNPROT, IC, SBA=119, SF=PROT
C'ADDR: '
X'lD4011C25F1D60'
SF
UNPROT, SBA = 159, SF = PROT
C'CITY: '
X'lD4011C3C71D60'
SF
UNPROT, SBA=199, SF=PROT
C'STATE: '
X'lD40l1C3E4lD60'
SF = UNPROT, SBA=228, SF=PROT
C· ZIP:'
X 'l·D5011C36F1D6011C540' SF=UNPROT, SSA=239, SF=PROT,
SSA= 320
C'ENTER KEY: ENTER DATA;'
X'1lC5ES'
SBA
360
C'PA2 KEY: END PROGRAM;'
X'11C6S0'
SBA
400
C'CLEAR KEY: CONTROL OPTIONS.'
*-FORMJ\T1

DC
DC
DC
DC
DC
EQU
DC
DC
DC
DC
EQU
DC
DC
DC
DC
EQU
DC
DC
DC
DC
EQU
DC
DC
DC
DC
EQU

X'C7114040'
WCC, SSA
0
C'DATA GIVEN BELOW ENTERED:'
X'llC150'
SSA
80
C'NAME: '
SF=UNPROT, IC
X'1D4013'
*-FORMAT2
XL33'O'
DATA FIELD 1
X'1D60'
SF
PROT
C'ADDR: '
SF= UNPROT
X'lD40'
*-FORMAT2
XL33-' 0'
DATA FIELD 2
PRor
X'lD60'
SF
C'CITY:'
X'1D40'
SF = UNPROT
*-FORMAT2
XL33'O'
DATA FIELD 3
X'lD60'
SF
PROT
C'STATE: '
x'1D40'
SF
UNPROT
*-FORMAT2
XL21'O'
PROT
X'lD60'
SF
C'ZIP: '
X'lD50'
UNPROT, NUM. ONLY
SF
*-FORMAT2

=

=
=

=

=

18

3/22172

P~GE

LOCAL 3270 SAMPLE PROGRAM
LOC

OBJECT CODE

ADDRl ADDR2

000CD4
000CD9
OOOCDE
000CF5
000CF8
OOODOC
OOODOF
000D24
000D27
000132

0000000000
lD6011C540
C5D5E3C5D940D2C5
11C5E8
D7C1F140D2C5ES7A
11C650
D7C1F240D2C5E87A
11C6F8
C3D3C5C1D940D2C5

000D42
000D47
000D4F
000D52
000D11
000D74
000D8D
000D90
OOODAS

C711404013
E7E7E8E8F3C3E4E4
11C150
C5D5E3C5D940D2C5
l1C1F8
D7C1F140D2C5E87A
11C260
D7C1F240D2C5E87A
11C3FO

000DA8
000DF9
000E20
000E3D

E3D640D9C5D8E4C5
E7E77EE3C5E2E340
40C3EIIE47EC1C4C4
11C6D1

000E40 E3C8C5D540C8C9E3
000148
000E8A C711C17D
000E8E D3D6C3C1D340F3F2
000024

OOOEAE
OOOEBE
OOOECE
OOOEDE
OOOEEE
OOOEFE
OOOFOE
000F1E
000F2E
000F3E
00OF4E
OOOF5E
000F6E
000F7E
000F8E
000F9E

4040404040404040
4040404040404040
4040404040404040
4040404040404040
4040404040404040
50401104040404040
6061404040404040
4040404040404040
40C1C2C3C4C5C6C1
40D1D2D3D4D5D6D7
4040E2E3E4E5E6E7
4040404040404040
40C1C2C3C4C5C6C7
40D1D2D3D4D5D6D7
4040E2E3E4E5E6E7
FOF1F2F3F4F5F6F7

STMT

FOlOCTll

SOURCE STATEMENT

989
990
991
992
993
994
995
996
991
998 FMT2SZ
999 *
1000 FORMAT 3
1001
1002
1003
1004
1005
1006
1007
1008
1009

DC
DC
DC
DC
DC
DC
DC
DC
DC
EQU

XL5'0'
X'lD6011C540'
SF
PROT, SBA
C'ENTER KEY: UPDATE DATA;'
X'11C5E8'
SBA = 360
C'PAl KEY: PRINT DATA;'
X'11C650'
SBA
400
C'PA2 KEY: END PROGRAM;'
X'11C6FS'
SBA = 440
C'CLEAR KEY: CONTROL OPTIONS.'
*-FORMAT2

DC
DC
DC
DC
DC
DC
DC
DC
DC
DC

1010
1011
1012
1013

DC
DC
DC
DC
EQU

X'C111404013'
WCC, SBA =0, IC
C ' XXYY3CUU'
X'11C150'
SBA
80
C'ENTER KEY: RESUME AND CONTINUE;'
X'11C1FS'
SBA
120
C'PAl KEY: BEGIN NEW ENTRY;'
X'11C260'
SBA
160
C'PA2 KEY: END PROGRAM;'
X'11ClFO'
S8A
2110
C'TO REQUEST BTAM OLT -- ENTER REQUEST FOR TESr MESSAGE t
QVER SAMPLE FORM!\.'l' ABOVE:
'
C'XX=TEST NO. (23-2S)
YY=REPEATS (01-99)'
CUU~ADDRESS OF TARGET DEVICE'
X'11C6Dl'
S8A = 401
C'THEN HIT ERASE EOF AND TeEN TEST REQ.
USE CLEAR KEl r t
o RESUME M'TER TEST. '
*-FORMAT3

DC
DC
EQU

X'C711C17D'
WCC, SBA
125
C'LOCAL 3210 SAMPLE PROGRAM ENDED.'
*-FORMAT4

1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
i035
1036
1037
1038
1039

FMT3SZ
*
FORMAT 4

FMT4SZ
*
*
*
FLDXLATE DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
*
END

=

19

3/22172

320

=

=
=
=
=

C'

=

0123456789ABCDEF

C'
C'
C'
C'
C'

,
,
,
,

0
1
2
3

..,,«+\,

4

!$*); , 5
," >1' 6

C'"

C'-/
C'

:#a"'=-' 7

C' ABCDEFGHt
C' jKLMNOPQR

c'
c'

STUVWXYZ

' 8
' 9
'

A

, B

C' ABCDEFGHI
C' JKLMNOPQR

' C
' D

C'

'

STUVWXYZ

E

C '0123456789
' F
01234567S9ABCDEF

Appendix 0:

Local 3270 Sample program

362.25

RELOCaTION DICTIONARY
POS.ID

REL.ID

01
01
01
01

01
01
01
01

FLAGS
08
08
08
08

PAGE

ADDRESS

3/22/72

000181
000185
0003E5
0003E9

CROSS-REFERENCE
SYMBOL

LEN

VALUE

DEFN

BASEREG 00001 OOOOOB 00042
BASEREG2 00001 OOOOOA 00041
BUFNEG
00001 000008 00039
CLRLOOP
CLRMOVE
CLR1
C~.TREG

00004
00006
00004
00001

0000B8
OOOOEO
00041E
000006

00113
00125
00389
00034

CNTRLMSG 00002 000426 00393
CNVRT
00004 000946 00787
COUNT
00001 000012 00048
co
00001 000B52 00936
DATASZ
00004 000AA8 00837
DATBLKAD 00004 OOOABO 00839
DATBLKSZ 00004 OOOAAC 00838
003270
00004 000B18 00905
DECBREG

00001 000007 00037

DEFAULTS
DELIM
DFLTNO
DFLTPTR
DFLTRLN
DSPLYl
ENDLIST
ENDMSG
ENT1
EPREG

00004
00004
00002
00004
00002
00004
00002
00002
00004
00001

000068
000960
000052
000068
000128
00025C
0000F2
000328
000492
OOOOOF

00089
00796
00079
00090
00148
00235
00132
00302
00426
00045

ERRABEND 00002 000900 00766
EVENRE>G 00001 000002 00030

FINDFRST
FININIT
FLDMOVE
FLDXIATE
FLD1
FLD2
FLD2CRK
FLD3
FLD3CHK
FLD4

00006
00004
00006
00016
00003
00003
00004
00003
00004
00003
~'LD4CHK
00004
FLD5
00003
FLD5CHK 00004
FMT1CD
00004
FMT1SZ
00001
FMT2FLD1 00001
FMT2FLD2 00001

362.26

000242
000136
0009B6
OOOEAE
000B53
000B56
0004CE
000B59
0004EC
000B5C
00050A
000B5F
000528
000760
OOOOAE
000028
000052

1

00229
00154
00825
01022
00937
00938
00443
00939
00451
00940
00459
00941
00467
00631
00961
00968
00973

OS BTAM SRL

PAGE

3/22172

REFERENCES
0057
0058
0205
0586
0118
0122
0299
0035
0780
0591
0784
0431
0807
0157
0163
0159
0193
0748
0204
0422
0757
0069
0775
0073
0080
0133
0230
0136
0589
0390
0209
0618
0253
00b2
0219
0397
0639
0761
0233
0131
0821
0578
0436
0444
0437
0452
0445
0460
0453
0468
0461
0625
0608
0483
0484

0058
0059
0247
0588

0059
0060
0298
0590

0060
0389

0426

0429

0477

0478

0483

0484

0485

0486

0487

0498

0515

0166
0780

0166
0783

0172
0786

0185
0789

0226
0791

0231
0792

0231
0798

0234
0798

0235
0814

0288
0814

0289
0817

0290
0817

0773
0820

0773
0821

0174
0369
0370
0245
0752
0238
0488

0249

0308

0338

0343

0367

0406

0411

0496

0500

0562

0566

0610

0615

0238
0488

0240
0490

0330
0506

0330
0509

0332
0511

0349
0602

0352
0602

0354
0604

0398
0621

0398
0624

0400
0626

0417
0667

0420
0735

0214
0635
0291
0064
0220
0480
0646
0772

0214
0635
0347
0087
0221
0481
0648
0778

0252
0730
0356
0092
0274
0517
0652
0779

0252
0730
0415
0095
0279
0518
06530785

0346
0732
0424
0103
0281
0519
0658
0787

0346
0755
0504
0110
0283
0530
0659
0806

0414
0755
0513
0112
0285
0545
0659
0807

0414

0503

0503

0596

0596

0618

0597
0115
0304
0571
,0739
0812

0619
0115
0305
0593
0739
0815

0650
0116
0359
0594
0740
0818

0733
0116
0360
0594
0741
0818

0756
0125
0385
0631
0743
0822

0125
0396
0633
0761

0075
0084
0138
0213
0628
0284
0063
0220
0431
0642
0772
0149

1

P~GE

CROSS-REFERENCE
VALUE

DEFN

00001
00001
00001
00001
00001
00001
00004
00004
00004
00005
00004
00004
00004
00004
00004
00002
00002
00004
00004
00001
00004
00001
00004
00001
00001
00004
00002
00002
00004
00002
00004
00004
00004

00007C
0000A7
0000C4
000132
000148
000024
000998
000B62
000C10
000D42
000AC4
000AA4
000912
00098E
00090E
0000E6
000068
000936
0002AO
000376
0007EE
0002A6
00037A
000894
000206
0002C2
000892
0007E6
000890
000888
000880
000846

00978
00983
00988
00998
01014
01018
00815
00942
00963
01000
01016
00844
00836
00774
00812
00772
00128
00087
00783
00257
00327
0067&
00260
00328
00729
00274
00267
00728
00674
00727
00725
00722
00705

0485
0486
0487
0478
0404
033&
0819
0612
0477
0408
0340
0642
0113
0782
0439
0071
0119
0089
0802
0273
0314
0673
0266
0326
0675
0262
0264
0685

.LJ:::.\",vUV.;).:J

__ 'rO,... ...... " ' ..... " " " ' "

vvvv"'t

vvuuu..:;.

nl"ld\O.c."

IECW0033
ItlBOO05A
IiiCRPTRS
INDXru;G

00006
00002
00004
00001

000876
0001E6
00017C
000005

00001
00006
00004
00004
00004
00004
IOLPCL~'I'
00004
LASTMOVE 00002
LOOPRt::G 00001

000008
000160
00010A
00097C
0001AC
0001FC
00022A
0000D6
000004

00038
00169
00139
00806
00189
00209
00222
00121
00032

SYMBOL
FMT2FLD3
FMT2FL04
FMT2 FLD5
FMT2SZ
FMT3SZ
FMT4SZ
FNDLOOP
FORMA'!'l
FORMAT 2
FORMAT 3
FORMAl' 4
FOUR
F256
GE'ICHAR
GETFIELD
GETPARM
GETPTRS
GET'IAB
HAVEPARM
IECAOO08
IECA0010
IECA0033
IECBOO08
IECB0010
IECB0033
IECCOO08
IECDOO08
IECE0033
IECJ0033
IECK0033
IECOO033
IECQ0633
IECTOO33

INDXREG2
INI'ILOOP
I LUTPTR
INVLDCHR
IOINIT
IOLOOP

LEN

000E8~

3/22172

REFERENCES

0494

0961
0478
1014
1018
0732
0117

0968

0973

0978

0455
0134

0463

0471

0&94

0717

0723

0726

0695
0683
0687
0715

0716

0719

0719

nn"'Y1'3

1\""J1n

0720

00719
00201
00175
00033

0707
0197
0186
0070
0227
0552
0800
0129
017.7
0151
0177
0184
0224
0217
0114
0067
0432
0534
0128
0074
0141

0171
0232
0571
0812
0142

0171
0232
0572
0822
0143

0173
0429
0644
0825
0143

0068
0433
0535
0128

0068
0433
0536
0130

0078
0440
0537
0144

0169

0210

0229

LOOPREG2 00001 000007 00036
MAXRLl~
00004 000A94 00832
00002 000B50 00935
MIN1

2

0447
0082
0123
0090

0983

0988

0998

0174
0436
0645

0179
0444
0661

0180
0452
0661

0181
0460
0740

0206
0468
0774

0210
0530
0776

0165

0169

0172

0173

0175

0175

0018
0440
0564
0144

0132
0448
0182
0148

0132
0448
0801
0148

0156
0456
0813
0167

0117
0456
0819
0116

0203
0464

0224
04,64

0176

0185 '

0540

0662

0320

0164
0229
0553
0800
0129

0216
0532
0779

0216
0542
0781

0223
0543
0781

0223
0551
0796

0228
0529

0233
0531

0430
0532

0431
0533

0797

Appendix 0:

Local 3270 Sample Program

362.27

\:

CROSS-REFERENCE
SYMBOL

LEN

MVFLO
NOOVCS
NOPTRS
ODDREG

00002
00004
00004
00001

VALUE

OEFN

0009AC
000A98
000A9C
000003

00820
00833
00834
00031

00006 000988 00810
PACK
PARMLOOP 00004 00092A 00780
PARMREG 00001 000001 00029

PARM2
PCKDPARM
POLPT
PRNTRENO
PRNTRNXT
PTRINIT
PTRLOOP
QCNTSTR
QUIESCE
RAWPARM
READ
READFMTl
REA0F'!o1T2
READFMT3
READRLN
READRTN
RETNRC:G
RLN
RLNREG

00002
00001
00001
00002
00006
00002
00004
00004
00004
00004
00004
00004
00004
00004
00004
00004
00001
00001
00001

000052
0009CO·
000024
000774
0007A4
0001A6
OOOOEA
000416
000308
000AB8
000260
000320
000506
0006CC
000AB4
00030C
,OOOOOE
000019
000006

00078
00828
00050
00638
00652
00185
00130
00385
00359
00841
00237
00298
00515
00586
00840
00291
00044
00049
00035

RSTRKYBO
SAMP327L
SAVE
SAVEREG
SIXFS
STRTPRTR
SYSOUT
SYSOUTBF
SYSPRINT
TABBASE

00002
00001
00004
00001
00004
00004
00004
00008
00004
00001

000642
000000
OOOA4C
000000
OOOACO
00064C
000696
0009C8
OOOACC
000009

00545
00002
00831
00043
00843
00549
00571
00829
00850
00040

TABSIZE
THREE
TWAIT
TYPE
UPCOUNT
WRITEP
WRITEPI
WRITEPS

00004
00004
00004
00001
00004
00002
00006
00004

OOOAAO
OOOABC
00029C
000005
00021E
000700
0008F6
0008AC

00835
00842
00254
00047
00219
00666
00761
00739

362.28

as BTAM SRL

PA.GE

3/22172

REl!'ERENCES
0816
0076
0085
0066
0438
0467
0542
0643
0792
0808
0066
0108
0154
0303
0543
0079
0793
0285
0280
0647
0170
0145
0360
0353
0787
0282
0292
0293
0294
0235
0290
0071
0639
0207
0601
0569
0061
0061
0785
0541
0521
0572
0191
0100
0205
0519
0096
0432
0663
0279
0211
0660
0649
0731

0083
0093
0067
0438
0470
0544
0645

0087
0130
0070
0443
0470
0549
0652

0101
0155
0093
0443
0482
0552
0658

0137
0179
0094
0446
0483
0555
0662

0154

0203

0228

0095
0446
01184
0593
07111

0105
0451
0485
0600
0750

0110
0451
0486
0629
0788

0254
04511
0487
0636
0789

0258
0454
0.519
0638
0790

0286
0459
0520
0638
0790

0287
0459
0520
0639
0810

0288
0462
0522
0640
0825

01128
01162
0523
0641

01128
0467
05H
0643

0072
0110
0155
0305
0544

0072
0113
0156
0369
0545

0074
0117
0158
0374
0546

0076
6121
0163
0392
0549

0083
0122
0164
0395
0550

0085
0135
0178
0397
0550

0100
0135
0181
0474
0553

0103
0137
0181
0479
0557

0104
0139
0182
01181
0601

0105
0140
0183
0482
0653

0105
0140
0212
0517
0793

0106
0141
0285
0528
0804

0107
01112
0286
0528
0804

0107
0150
0301

0386

0421

0427

0510

0598

0758

0082

0134

0213

0439

01147

0455

0463

0471

0595

0600

0794

0805

0823

0212
0614
0584

0222
0632

0222
0633

0237
0634

0248
0640

0301
0751

0316

0342

0392

0410

04711

0499

0522

0565

0062
0063

0379
0064

0379

0573
0365
0101
0206
0530
0375
0783
0759

0574
0580
0102
0219
0539

0575

0576

0577

0578

0581

0102
0221
0542

0103
0227
0544

0104
0254
0549

0106
0288
0551

0108
0305
0552

0111
0359
0555

0112
0374
0571

0140
0385
0593

0165
0397
0633

0178
0428
0643

0183
01181
0644

0204
0482

0786

0813

052~

0810

0790
0295
0516
0237

0215
0762

3

CROSS-REFERENCE
SYMBOL
WIUTE1
WRITE2
WRITE3
WRITE4
WRTFMT1
WRTFMT2
WRTFMT3
WRTFMT4
WRTRSPNS
ZEROPARM
ZEROREG
ZEROWRD

LEN
00006
00006
00006
00006
00002
00002
00002
00002
00002
00002
00001
00004

VALUE

DEFN

000100
00051C
000434
00031A
0006FC
000540
000426
000328
000540
000918
000000
000AC8

00602
00488
00398
00330
00600
00414
00392
00301
00415
00804
00028
00845

Pt\GE

REFERENCES
0621
0512
0423
0355
0209
0415
0393
0302
0434
0199
0095

4

3/22112

0595

0441

0449

0451

0465

0469

0541

0587

0096

0157

0158

0159

0310

0375

0524

0539

0540

NO STATEMENTS FLAGGED IN THIS ASSEMBLY
.STATISTICS.
SOURCE RECORDS (SYSIN) =
691
SOURCE RECORDS (SYSLIB)
5465
.OPTIONS IN EFFECT.
LIST, DECK, NOLOAD, NORENT, XREF, NOTEST, ALGN, OS, NOTERM, LINECNT
1265 PRINTED LINES

=

Appendix 0:

0554

0555

0654

55

Local 3270 Sample Program

362.29

APPENDIX p,

REMOTE 3270 SAMPLE PROGRAM .

The remote 3270 sample program, which exercises the remote 3270 display system, is dis e
tributed as a member of SYS1.SAMPLIB named SAMP327R. This PDS member contains (in the
form of 80-character card images) all the source statements for the sample program and
all the JCL needed to assemble, link-edit, and execute the program:
IISAMP327R JOB BTAM,MSGLEVEL=1
11 EXEC ASMFCLG
IIASM.SYSIN DO *

Source Code

1*

1100.003270 00 UNIT=address of BSC line
lloo.SYSABENO DO SYSOUT=A

1*

Before assembling the program, supply the address of the BSC line in the 270X control
unit as the UNIT parameter in the IIGO.003270 00 card. Place the cards in the card
reader, and perform the assemble, link-edit, and go procedure. The messages and instructions that appear on t~e screen of the display s~a~ion a~e self-explanatury.

Appendix P:

Remote 3270 Sample Program

362.31

PAGE
LOC

OBJECT CODE

ADDa1 ADDR2

STMT

3 •
4.

5.

&•

7 •
8.

9.
10 •
11 •
12.
13.
14 •
15 •
1& •
17 •
18.

362.32

SOURCE STATEMENT

F010CT71

1 SAMP321R CSECT

000000

as

BTAM SRL

THIS IS A SAMPLE PROGRAM FOR A REMOTE 3210 INFORMATION DISPLAY
SYSTEM.
PLEASE NOTE THAT THIS PR03RAM HAS BEEN WRITTEN FOR rwo
3270 DEVICES, BOTH OF WHICH MUST BE 3277 DISPLAYS.
THIS PROGRAM IS SET UP FOR AN ASSEMBLE, LINKEDIT AND 30 •
THE -003270 DO CARD WILL HAVE TO BE CIIANGED TO -'REFLECT rHE
ADDRESS OF THE BSC LINE IN THE TRANSMISSION CONTROL UNIT •
IT MAY BE NECESSARY TO ALTER raIS SAMPLE PROBLEM SO THAT IT
MAY FUNCTION WITH. MORE THAN TWO DEIfICES.TO DO SO, THE FOLLOWING
CARDS MUST BE CHANGED IN THE SOURCE DE:K:
1. DFTRMLSr MACROS
(SELDSPLY)
(SPECPOL)
THIS SAMPLE PROGRAM IS RESTRICTED TO A MAXIMIM OF 32 DEVICES,
ALl. OF w1fICH MUST BE ATTACHEDrO ONE RE:MOTE 3271 CONTROL UNIT.

1

3/22/72

PAGE
LOC
000000
000002
000003
000004
000005
000006
000008
000009
OOOOOA
000008
OOOOOC
OOOOOD
OOOOOF

000000
000001
000002
000003
000004
000005
000006
000006
000007
000008
000011
000010
000020
000018
OOOOlC
000001
000010
000040
000040
000041
00006C
000060
00006E
00007D
00007F
000080

OBJECT CODE

ADDR1 ADDR2

STMT

SOURCE STATEMENT

20
21
22
23
24
25
26
27
28
29
30
31
32
33

REGISTER EQUATES
REGZERO EQU
0
REG2
EQU
2
3
WORKREG EQU
MSGADDR EQU
4
MSGLEN
EQU
5
SBLREG
EQU
6
FMTREG
EQU
8
DSPTABRG EQU
9
LNKREG
EQU
10
BASEREG EQU
11
BASEREG2 EQU
12
PTRTAB
EQU
13
RTNCDRG EQU
15

35
36
37
38
39
40
41
42
43
44
45
46
47
48

*ZERO

*

EQUATES
EQU
0
,1
ONE
EQU
TwO
EQU
2
3
THREE
EQU
4
FOUR
EQU
FIVE
EQU
5
SIX
EQU
6
TP06
EQU
6
SEVEN
7
EQU
EIGHT
8
EQU
EQU
X'll'
TPll
SIXTN
EQU
16
TP20
X'20'
EQU
49 T\-lENTY4 EQU
24
50 TWENTY 8 EQU
28
51 TIMEOUT EQU
X'Ol'
52 SSMSG
X'lO'
EQU
53 EOTRSPTX EQU
X'40'
54 EOTRCVD EQU
X'40'
55 FOURTYl EQU
X'41'
56 PAl
X'6C'
EQU
57 CLEAR
X'60'
EQU
58 PA2
X'6E'
EQU
59 ENTER
X'J.D'
EQU
60 SEVENF
X'7F'
EQU
X'80'
61 LAST
EQU

Appendix P:

F010CT71

2

3/22172

REGISTER 0
ilORK REGISTER
WORK REGISTER
ADDR OF OUTPUT MESSAGE
LENGTH OF OUTPUT MESSAGE
SPEC POLL ADDR OF 3270 DISPLAY
FORMAT IDENTIFIER
ADDRESS OF DISPLAY TABLE
LINKAGE REGISTER
FIRST BASE REG
SENOND BA.SE REG
PRINTER RLN TABLE ADDRESS
RETURN CODE REGISTER

LENGTH OF 0
LENGTH OF 1
LENGTH OF 2
LENGTH OF 3
FORMAT 1 IDENTIFIER
LENGTH OF TERMINAL LIST ENTRIES
LENGTH OF 6
TP CODE OF 6
LENGTH OF 7
FORMAT 2 IDENTIFIER
TP CODE OF 11
LENGTH IF 16
LENGTH OF 24
LENGTH OF 28
DECB TIME OUT FLAG
SENSE/STATUS RECEIVED FLAG
EOT RESPONSE TO TEXT
EOT RECEIVED FLAG
I/O ERROR COMP CODE
ATTENTION 10 FOR PAl KEY
ATTENTION 10 FOR CLEAR KEY
ATTENTION 10 FOR PA2 (CNCL) KEY
ATTENTION ID FOR ENTER KEY
NORMAL COMPLETION CODE
SIGNIFIES END OF POLLING LIST

Remote 3270 Sample Program

362.33

P!\3E
LOC

OBJECT CODE

000000
000000
000004
000000
000006
000008
OOOOOC
000010

18CB
4ACO B714
50DO BFIE
41DO BF1A

000014
000014
000018
000019
00001C
00001E
000022

4510 B016
80
000F58
OAl3
9110 BF82
4710 B03C

000026
000028
00002C
00002E
000030
00003C
00003C
00003E
000042
00004b

00004A
00004A
OOOOIiE
000052
000056
00005A
00005E
0000b2
000066
00006A
00006E

ADDRl ADDR2

90EC DOOC
05BO

OOOOC

0071A
00F24
00F20

0001C

00F88
00042

0700
4510 B036
0010
0000
D6D7C5D540CbCIC9
OA23
47FO B2C2
4190 B71A
4160 B6EA

4140
11150
115AO
45AO
115AO
4166
9180
11710
11166
117F'O

B2DA
00A7
B5C6
B1D2
B222
0005
6000
B06C
0001
BOIIII

0003C

002C8
00720
006FO

002EO
000A7
005CC
001D8
00228
00005
00000
00072
00001
0004A

000072
00750
000072 4140 B711A
000076 D7FE B74A B711A 00750 00750
00007C D72A B711A B74A 00750 00750

362.34

as

BTAM'SRL

ST~1T

FOI0CT71

SOURCE STATEMENT

SAVE (14,12)
OS
OH
14,12,12 (13) SIWE REGISrERS
STM
BALR BASEREG,O
ESrABLISH
!\DDRESSABILIrY
USING *,BASEREG,BASEREG2
BASEREG2,BASEREG
INIrIALIZE
LR
BASEREG2,H4096
SECOND BASE
AH
13,SAVE+4
ST
71
13,SAVE
LA
72 *
OPEN THE LI NE GROUP
73
OPEN (OCBR)
OPEN THE DCB
74+
CNOP 0,4
75+
1,*+8 LOAD REG1 W/LIST !!.DDR.
BAL
76+
ALl(128) OPTION ByrE
DC
77+
AL3CDCBR) DCB ADDRESS
DC
78+
19 ISSUE OPEN SVC
SVC
79
DCBR+48,X'10'
rEST FOR SUCCESSFUL OPEN
TM
80
BO
START
YES, 30 TO STARr
81
WTO
'OPEN FAILURE'
82+
CNOP 0,4
83+
BAL
1,IHB0003A BRANCH AROUND MESSAGE
84+
AL2(16) TEXT LENGTH
DC
85+
B'OOOOOOOOOOOOOOOO' MCS FL!!iGS
DC
86+
C'OPEN FAILURE'
DC
87+IHBOO03A DS
OH
88+
35
SVC
89
B
ABNORMAL
90 START
DSPTABRG,DSPTAB
LA
ADDRESS rHE DISPL!!.Y TABLE
91
SELREG,SELDSPLY
GET SELE:TION ADDRESS OF
LA
FIRST 3270 DISPLAY
92 *
63
04+
65+
66
07
68
69
70

94 ItUTIAL
95
96
97
98
99
100
101
102
103
1011

EQU
LA
LA
BAL
BAL
BAL
LA
TM
BO
LA
B

*
MSGADDR,FORMATO
MSGLEN,FMTOSZ
LNKREG,WRITETI
LNKREG,RETCODE
LNKREG,WAITD
SELREG,FIVECSELRE3)
ZEROCSELREG),LAST
READ
SELREG,ONE(SELREG)
INITIAL

!\DGR OF FORM!!.TO MESSAGE
LENGTH OF MESSAGE
GO WRITE FORMAT 0
CHECK RErURN CODE
W!!.Ir FJR COMPLETION
ADDR NExr SPECIFIC POLL ENTRY
END OF SELECTION LIST
YES, GO ISSUE !!. READ
ADDR OF NEXT EN'rRY
NO, WRITE TO REMAINING DISPLAYS

106 READ
107
108
109

EQU
LA
XC
XC

*
MSGADDR,INARE!!.
INAREA(255),INARE!!.
INAREACII3),INAREA

ADDR OF INPUT ARE!!.
CLEAR INPUT
ARE!\

3

3122n2

P1\GE
LOC

OBJECT CODE

000082 "5AO
000080 "5AO
000081\ ,"SAO
00008E D201
0000911 9102
000098 11710
00009C "160
OOOOAO 1B22
0000A2
0000A2 D501
0000A8 "780
OOOOAC "122
OOOOBO '*166
0000B4 9180
0000B8 "710
OOOOBC 47FO
OOOOCO
OOOOCO "220
0000C4 1832
0000C6 5C20
OOOOCA 1823
OOOOCC "160
000000 1A62
000002 5060
0000D6 1B88
OOOOOS 4190
OOOODC 4389
OOOOEO 117FS

ADDR1 ADDR2

B5FA
00600
B102
001D8
B222
0022S
B73F B7"C 007"5 00752
BFCE
OOFD"
B2C2
002CS
B6F6
006FC

007"4

B7"6

0074C

B6EA

006FO

B7Il2

007"S

B71A
2000
BoDE

00720
00000
OOOEII

OOOFO

139 FORMATBR EQU
1"0
B

FMTO

FORMAT 0 ON SCREEN

00110

11'1

j'l"!'l'i

r'uKlvi&i' i

FMT2

FORMAT 2 ON SCREEN

H

FNDSEL
REG2, ONE (REG2)
SELREG,SIX(SELREG)
ZERO(SELREG),LAST
ABNORMAL
CHKIT

•REG2,INDEX

CHECK FOR CU,DV
YES, GET SELECTION AD DR
ADD ONE TO INDEX
POINT TO NEXT ENTRY
END OF LIST
NO KEEP CHECKING

SAVE INDEX BYTE
GET INDEX INTO ODD REGISTER
WORKREG,REG2
REG2,SIXL
MULTIPLY INDEX BY 6
RE-ESTABLISH INDEX REG
REG2,WORKREG
SELREG,SELDSPLY
GET SELECTION ADORES
ADDR OUTPUT ENTRY IN TABLE
SELREG,REG2
SELREG,SELSAVE
SAVE SELECTION ADDR
FMTREG,FMTREG
CL~1l.R FORMAT REG
DSPTABRG,DSPTAB
ADDR OF DISPLAY TABLE
FMTREG,ZERO(DSPTABRG,REG2) 3ET FORMAT ID
FORY~TBR(FMTREG)

•

Oi~

5C~EEi~

142

00004
00000
00387
OOODA
005CC
001DS
00228
00072

1'*4 FMTO
EQU
VERIFY THE NAME AND SOCIAL SECURITY NUMBER • ASSUMING THAT rEIEY
145
146 • ARE VALID, WE SHALL CONTINUE PROCESSING.
EQU
1"7 FMTOl
FMTREG,FOUR
GET FORMAT 1 ID
LA
l"S
STC
FMTREG,ZERO(DSPT1l.BRG,REG2) STORE IN DISPLAY TABLE
1"9
150
LA
MSGADDR,FORMATl
ADDR OF FORMATl MESSAGE
151
LA
MSGLEN,FMT1SZ
LENGTH OF MESSAGE
152
BAL
LNKREG,WRITETl
GO WRITE FORMAT 1
153
BAL
LNKREG,RETCODE
CHECK RETURN CODE
154
BAL
LNKREG,WAITD
WAIT FOR COMPLETION
155
B
READ
GO READ ANOTHER DISPLAY

B

•

0004
2000
B381
OODA
B5C6
B1D2
B222
B06C

ST
SR
LA
IC
B

•ONE(TWO,SELREG),INAREA+TWO

0019C

OOOOFO

"lS0
"2S9
41'*0
4150
45AO
45AO
45AO
47FO

AR

3/22172

GO READ 1\ DISPL1\Y
LNKREG,READTI
LNKREG,RETCODE
CHECK RETURN CODE
WAIT FOR COMPLETION
LNKREG, WAI'I'D
CUDVSAVE(TWO),INARE1\+TWO S1\VE CU,DV
STATUS MSG RECIEVED
DECBD+TWENTY",X'02'
SSCHECK
ADDR OD SPEC POLL TABLE
SELREG,SPECPOL
REG2,REG2
CLEAR REGISTER 2

B73E

6001 B74C 00001 00752
BOBA
OOOCO
0001
00001
0006
00006
6000
00000
B2C2
002CS
B09C
000A2

BAL
BAL
BAL
MVC
TM
BO
LA
SR
EQU
CLC
BE
LA
LA
TM
BO
B
EQU
STC
LR
M
LR
LA

F010CT71

110
111
112
113
11'*
115
116
117
118 CHKIT
119
120
121
122
123
12"
125
126 FNDSEL
127
128
129
130
131
132
133
13"
135
136
137

0000E4
OOOOE" 47FO BOEA
OOOOES 47FO Bl0A
OOOOEC "7FO B196

OOOOFO
OOOOFO
OOOOFII
0000F8
OOOOFC
000100
000104
000108
00010C

SOURCE STATEMENT

STMT

•

•

Appendix P:

Remote 3270 Sample Program

362.35

PA.GE
LOC
000110
000110
0001H
000118
00011C
000120
000124
000128
00012C
000130

OBJECT CODE

A.DDRI ADDR2

957D B74E
4780 B12E
956C B74E
4780 B146
956E B74E
4780 B14A
956D B74E
4780 B176
47FO B06C

00754
00134
00754
0014C
00754
00150
00754
0017C
00072

000134
000134
000138
00013C
000140
000144
000148
000i4c
00014C
000150

000150
000150
000154
000158
00015C
00015C
000160
000164
000168
00016C
000170
000114
000178
00017C
00011C
000180
000184
000i88
00018C
000190
000194
000198
00019C
000i9C
0001AO

B5BF
0004
B5C6
BID2
B222
B06C

00SC5
00004
005CC
001D8
00228
00072

47FO B1BA

001CO

4140 B57F
4150 003C
4160 B6~A

00585
0003C
006FO

45AO
45AO
45AO
4166
9180
4710
4166
47FO

B5C6
BID2
8222
0005
6000
B2AE
0001
B156

005CC
001D8
00228
00005

4140
4150
45AO
45AO
45AO
4180
4289
47FO

B45B
00F7
B5C6
BID2
B222
0008
2000
B06C

4140
4150
45AO
45AO
45AO
47FO

957D B74E
4780 BOEA

362.36

00000
002B4
00001
0015C
00461
000F7
005CC
00108
00228
00008
00000
00072
00754

as BTM1 SRL

OOOFO

STMT

SOURCE STA.TEMENT

157 FMTI
158
159
160
161
162
163
164
165
166

EQU
CLI
BE
CLI
BE
CLI
BE
eLI
BE
B

168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207

EQU

El~TERINT

• CREATE A.
• DATA. SET.

•INAREA.+FOUR,ENTER
ENTERINT
INAREA.+FOUR, PA.l
PA.IINT
INAREA.+FOUR, PA.2
PA2INT
INAREA.+FOUR,CLEA.R
CLEARIl.~T

READ

FOI0CT71
ENTER KEY INTERRUPT
YES, G~ UPDA.TE RE~ORDS
PA.l KEY INTERRUPT
YES, GO ~A.KE HA.RD ~OPY
PA2 OR CNCL KEY INTERRUPT
YES, 3~ DEA.CTIVA.TE TERMINA.L
CLEA.R KEY INTERRUPT
YES, GO wRITE FORMA.T 2
IGNORE TeE INTERRUPT A.ND GO REA.D

•

NE[oJ OR UPDA.TE A.N EXISTING ENTRY IN YOUR PERM.Zl.NENT

A.DDR OF MESSA.GE
LA
MSGADDR,ERA.LUNP
MSGLEN,ERA.LUNPL
LENGTH OF MESSA.GE
LA
LNKREG, [oJRITETI
GO ERA.SE ALL UNPROTECTED DA.rA
BAL
BAL
LNKREG,RETCODE
CHE~K RErURN CODE
LNKREG,[oJAITD
[oJAIT FOR COMPLETION
BAL
B
READ
GO REA.D Z\.NOTHER DISPLA.Y
PA.lINT
EQU
*
B
NOPRINT
NO PRINTER DEFINED
PA2INT
EQU
* DETERMINE IF ANY DATA WA.S ENTERED. IF SO, CREA.TE A. NEw OR 3PDA.TE
• AN EXISTING ENTRY IN YOUR PERMA.NENT DATA. SEr. NOli DEA.CTIVA.rE THE
* TERMINAL.
PA.2INT1 EQU
*
A.DOR OF ~LOSE MSG
LA.
MSGADDR,CLOSEMG
LENGTH OF MSG
LA
MSGLEN,CLOSEMGL
A.DDR OF SELECTION rA.BLE
LA
SELREG,SELDSPLY
ONCEMORE EQU
LNKREG,[oJRITETI
GO [oJRIrE ENDING MSG
BAL
BAL
LNKREG , RETCOOE
CHECK RETURN CODE
[oJA.IT FOR COMPLErION
LNKREG,[oJAITD
BAL
SELREG,FIVECSELRE3) POINT TO INDICA.rOR BYTE
LA
END OF SELECTION LIST
TM
ZEROCSELREG),LA.ST
BO
CLOSE
YES, TERMINA.TE PROGRA.M
SELREG,ONE(SELREG)
POINT TO NEXT A.DDRESS
LA
B
NO, [oJRITE A.NOTHER MESSA.GE
ONCEMORE
CLEARINT EQU
*
A.DDR OF FORMAT 2 MSG
LA
MSGADDR,FORMA.T2
MSGLEN,FMT2SZ
LENGTH OF MSG
LA.
LNKREG,[oJRITETI
GO [oJRIrE FORMAT 2
BAL
CHECK RErURN CODE
BAL
LNKREG,RETCODE
[oJA.IT FOR COMPLErION
BAL
LNKREG,[oJAITD
GET FORMA.T 2 ID
LA
FMTREG,EIGHT
FMTREG,ZEROCDSPTABR3,REG2) STORE IN DISPLAY rA.BLE
STC
GO REA.D Z\.NOTHER DISPLA.Y
B
READ
EQU
Ft<.:T2
INAREA+FOUR,ENTER
ENTER KEY INTERRUPT
CLI
YES, GO wRITE FORMAT 1
BE
FMTOI

•

•

~

3/22172

P!l.GE
LOC
0001A4
0001A8
0001AC
0001BO
0001B4
0001B8
0001BC
0001CO
00OlCO
0001C4
0001C8
0001CC
000100
0001D4

OBJECT CODE
956C
4780
95bE
4780
956D
4780
47FO

B74E
B146
B74E
B14A
B74E
B176
B06C

4140
4150
45AO
45AO
45AO
47FO

B552
0020
B5C6
B1D2
B222
B06C

ADDRl ADDR2
00754
0014C
00754
00150
00754
0017C
00072
00558
00020
005CC
00108
00228
00072

STMT

SOURCE STATEMENT

208
209
210
211
212
213
214
215 NOPRINT
216
217
218
219
220
221

CLI
BE
CLI
BE
CLI
BE
B
EQU
LA
LA
BAL
BAL
BAL
B

F010CT71

INAREA+FOUR,PAl
PA1INT
I NAREA +FOUR, PA2
PA2INTl
INAREA+FOUR,CLEAR
CLEARINT
READ

PAl KEY INTERRUPT
YES, GJ MAKE HARD COpy
PA2 OR CNCL KEY INTERRUPT
YES, GO DE!l.CTIV!l.TE TERMIN!l.L
CLE!l.R KEY INTERRUPT
GO WRITE FORMAT 2
GO READ !l.NOTHER DISPLAY

MSGLEN. NOPTRL
LNKREG,WRITETI
LNKREG, RETCODE
LNKREG,WAITD

ADDR OF NO PRINTER MSG
LENGTH OF MSG
GO WRITE MSG
CHECK RETURN CODE
W!l.IT FOR COMPLETION
GO READ !l.NOTHER DISPLAY

•MSGADDR,NOPTR
READ

Appendix P:

Remote 3270 Sample Program

6

3/22172

362.37

P!l.GE
LOC
0001D8
0001D8
0001DC
0001DC
0001EO
0001E4
0001E8
0001Ee
0001FO
0001F4
0001F8
0001FC
000200
000204
000204
000206
000206
00020A
00020C
00020C
00020C
000210
000210
000214
000214
000218
000218
00021C
00021C
000220
000220
000224
000224

OBJECT CODE

ADDRl ADDR2

47FF ;B1D6

001DC

47FO
47FO
47FO
47FO
47FO
47FO
47FO
47FO
47FO
47FO

00204
00206
0020C
0020C
00210
00214
00218
0021C
00220
00224

B1FE
B200
B206
B206
B20A
B20E
B212
B216
B21A
B21E

07FA
SBAO B716
07FA

0071C

47FO B2C2

002C8

47FO B2AE

002B4

47FO B2C2

OOlC8

47FO B2C2

002C8

47FO B2C2

002C8

47FO B2C2

002C8

47FO B2C2

362.38

as

BTAM SRL

002C8

STMT
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255

SOURCE STATEMENT
EQU
B
RTNCDTAB EQU
B
B
RE.TCODE

B

RTNCDO
RTNCD4
RTNCD8
RTNCDC
RTNCD10
RTNCD14
RTNCD18
RTNCD1C
RTNCD20
RTNCD24

B
B
B
B
B
B
B
EQU
BR
EQU
S
BR
EQU
EQU
B
EQU
B
EQU
B
EQU
B
EQU
B
EQU
B
EQU
B

•
RTNCDTAB(RTNCDRG)
•RTNCDO
RTNCD4
RTNCD8
RTNCDC
RTNCD10
RTNCD14
RTNCD18
RTNCD1C
RTNCD20
RTNCD24

•

LNKREG

*LNKREG,EIGHT8
LNKREG

*
*
ABNORMAL
*CLOSE
*
ABNORMAL
*
ABNORMAL
*ABNORMAL
*
ABNORMAL

•ABNORMAL

P010Cr71
BRANCH TO :O~ESPONDING

EN~R~

I/O SU:CESSFULL~ INITIArED
DTFBT BUSY
INVALID RLN
INVALID TYPE CODE
ALL SKIP BITS ON
LINE ERROR AT OPEN
NO BUFFERS
.NO BUFFER POOL
NO BUFFER MANAGEMENT
BS: USAGE :OUNT EXCEEDED
RETURN
SUBTRA:T 8 FROM RETURN ADDR
TO RErR~ THE OPERATION
THIS C:)NDITION SHOULD Nor O:CUR
ALL TERMINALS, TERMINATE
THIS C:)NDITION SHOULD NOT O:CUR
THIS C:>NDITION SHOULD NOT O:CUR
THIS CONDIrION SHOULD Nor O::UR
rHIS CONDITION SHOULD NOT

O~CUR

THIS'CONDITION SHOULD NOT

O~CUR

7

3/22'12

P!\.GE
LOC

OBJECT CODE

ADDRl ADDR2

000228
000228
00022C
000230
000232
000232
000236
00023A
00023C
00023C
000240
000244
000248
00024C
000250
000254
000258
00025A
00025A
00025E
000262
000262
000266
00026A
00026E
00026E
000272
000276
00027A
00027A
00027E

4110 BFB6
4100 0001
OAOl

OOFBC
00001

957F BFB6
4770 B236
07FA

OOFBC

9541
4770
9506
4770
9101
47EO
5BAO
07FA

OOFBC

BFB6
B2C2
BFD2
B254
BFC6
B2C2
B73A

0023C

002C8
00FD8
0025A
OOFCC
002C8
00740

9520 BFD2
4770 B268

00F08

9140 BFCE
47EO B2C2
47FO B06C

00FD4

9511 BFD2
4770 B2C2
47FO B25C

00F08

9520 BFD2
4770 B2C2

00FD8

000282 4110 BFB6
OO1)28~

9~1)5

!Ol)~

00028A
00028E
000292
000296
00029A
00029:8
0002A2
0002A6
0002AA
0002AE
0002BO

920A
41EO
50EO
41EO
50EO
41EO
40EO
58FO
94F7
05EF
47FO

1005
BF52
1008
B74A
100C
0001
1018
BF82
1004
B22C

0026E
002C8
00072
002C8
00262
002C8

I)l)l)Qu
00005

OOFBC
00F58
00008
00750
OOOOC
00001
00018
00F88

00004
00232

STMT

SOURCE STATEMENT

257 WAITD
258
259+
260+
261+
262 CHK7FCC
263
264
265
266 ChK41CC
267268
269
270
271
272
273
274
275 CKTP20
276
277
278 CHKEOT
279
280
281
282 CKTP11
283
284
285
286 CHKTP20
287
288
289
290+
291+
292+
293+
294+
295+
296+
297+
298+
299+
300+
301+
302

EQU
WAIT
LA
LA
SVC
EQU
CLI
BNE
BR
EQU
eLI
BNE
CLI
BNE
TM
BNO
S
BR
EQU
CLI
BNE
EQU
TM
BNO
B
EQU
CLI
BNE
B
EQU
CLI
BNE
WRITE
LA

P010CTl1

8

3/22172

•ECB=DECBD
1,DECBD LOAD PARAMErER REG 1
0,1(0,0) COUNT OMITrED,l USED
1 LINK TO WAIT ROUTINE

•

DECBD, SEVENF
CHK41CC
LNKREG

NORMAL COMPLETION CODE
NO, KEEP CHECKING
RETURN

•

DECBD,FOURTn
1/0 ERROR COMP CODE
INVALID CQMP CODE
ABNORMAL
DECBD+TWENTY8,TP06 TP CODE OF 6
CKTP20
NO, CHECK OTHER TP CODES
DECBD+SIXTN,TlMEOUT DID DEVICE TIME OUT
ABNORMAL
NO, TERMIN!\'TE
LNKREG , TWELVE
SUBTRACR 12 FROM RETURN ADDR
LNKREG
TO RETRY THE OPERATION

•DECBD+TWENTY8,TP20
CKTPll

TP CODE OF 20
NO, CHECK OTHERS

ABNORMAL
READ

RESPONSE TO TEXT
NO, TERMINATE
YES, GO 3ET SENSE STATUS MESSAGE

DECBD+TWENTY8,TP11
ABNORMAL
CBKEOT

TP CODE OF 11
NO, TERMINATE
YES, C8ECK EOT RESPONSE TO rEXT

•DECBD+TWENTY4,EOTRSPTX EOT
•
*

DECBD+TWENTY8,TP20 TP CODE OF 20
ABNORMAL
NO, TERM! NATE
DECBD,TR,DCBR,INAREA",l,MF=E
1,DECBD LOAD DECB ADDRESS

In

IH1).5

MVI
LA
ST
LA
ST
LA
STH
L
NI
BALR
B

5(1):10
14,DCBR
14,8(0,1) STORE DCB ADDRESS
14,INAREA OOOB
14,12(0,1) STORE !\'REA ADDR
OOOB
14,1(0,0)
14,24(0,1) STORE LINE NUMBER
15,DCBR+48 LOAD RDWRT ROUT ADDR
4(1),X'F7' A38557
14,15 A38557
CHECK COMPLETION CODE
CBK7FCC

Appendix P:

Remote 3270 Sample Program

362.39

PAGE
LOC

OBJECT CODE

ADDRl ADDR2

0002B4
0002B4
0002B4
0002B8
0002B9
0002BC
0002BE

4510 B2B6
80
OOOF58
OA14
5800 BFIE

0002C2 98EC DOOC
0002C6 07FE

002BC

00F24
OOOOC

STMT

SOURCE STATEMENT

304 CLOSE
305
306+
307+
308+
309+
310+
311
312
313+
314+

0002C8

316
317
318
319

0002C8

321 ABNORMAL
322
323+
324+
325+
326+
327+
328+
329+
330
331
332+
333+

0002C8
0002C8
0002C8
0002CC
0002CD
000200
0002D4
0002D6

47FO B2CA
80
000001
5810 B2C6
OAOD
58DO BFIE

00200

0002DA 98EC DOOC
0002DE 07FE

OOOOC

362.40

as

BTAM SRL

002CC
00F24

FOI0CT71

EQU
*
CLOSE THE DCB
CLOSE (DCBR)
CNOP 0,4
BAL
1,*+8 BRANCH AROUND LIST
AL1(128) OPTION ByrE
DC
AL3(DCBR) DCB ADDRESS
DC
SVC
20 ISSUE CLOSE SVC
13,SAVE+4
L
RETURN (14,12)
14,1.2,12 (13) RESTORE THE REGISrERS
LM
14 RETURN
BR

SSC8ECK EQU
*
*
INVESTIGATE THE SENSE/STATUS BYTES SENT BY THE REMOrE DEVICE.
* IF RECOVERY IS POSSIBLE, ATTEMPT TO DO SO. WE SHALL ASSUME rHAr
* THE ERROR IS UNRECOVERABLE AND TERMINArE.

EQU
*
TAKE A DUMP
ABEND 1,DUMP
OS
08
CNOP 0,4
B
*+8 BRANCH AROUND CONSTANT
AL1(128) DUMP/STEP CODE
DC
AL3(1) COMPLETION CODE
DC
L
1,*-4 LOAD CODES INTO REG 1
13 LINK TO ABEND ROUTINE
SVC
13,SAVE+4
L
RETURN (14,12)
14,12,12(13) RESTORE THE REGISTERS
LM
BR
14 RETURN

9

31221'72

P1\GE
LOC

OBJECT CODE

ADDR1 ADDR2

0002EO
0002EO
0002E3
0002E9
0002Ffi
0002FB
000319
000329
00032B
000330
000332
000348
00034n
000361
000366
00036B
00036E
000373
00031r'
000381
000386
0000A1

0227F5
c71DC811C150
C7D6D6C440D4D6D9
1D6011C15F
E3C8C9E240C2C5C1
D6C640E3C8C54040
1DC8
F3F2F7F040
1D60
D9c5D4D6E3CS40E2
1D6011C3FO
C5D5E3C5D940E3C8
ID6011C4D8
D5C1D4C57A
1D4013
11C5401D60
E2D6C340E2C5C340
1D40
11C5E81D60
03

000387
000381
00038A
000390
0003AB
0003AE
000383

0221FS
C11D60114040
CSD5E3C5D940C4C1
llC150
D5C1D4C51A
1D401311CIF81D60

0003B8
0003CO
0003C1
0003CC
0003D3
0003D9
0003EO
0003E4

C1C4C4D91A
1D4011C2601D60
C3C9E3E81A
ID4011C3C81D60
E2E3CIE3C51A
1D4011C3E41D60
E9C9D17A
ID5011C3FOID6011

0003EE
000404
000407
00041B
00041E
000442
000445
000460
OOOODA

C5D5E3C5D940D2CS
l1C540
D1CIF140D2C5E81A
llC5E8
D1CIF2404DC3D5C3
l1C650
C3D3C5C1D940D2C5
03

STMT

F010CT11

SOURCE STATEMENT

335 FORMATO
336
331
338
339
340
341
342
343
344
345
346
341
348
349
350
351
352
353
354
355
356 FMTOSZ

EQU
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
EQU

358
359
360
361
362
363
364
365
366
367
368
369
310
311
372
313
314
315
316
311
318
319
380
381
382
383

EQU
DC
DC
DC
DC
DC
DC

FORMATl

*
DC
DC
DC
DC
DC
DC
DC
DC
*

FMT1SZ

DC
DC
DC
DC
DC
DC
DC
DC
EQU

10

3/22172

*X'0221F5'

STX,ESC,E/W
X'C71DC811C150'
WCC, SF = PROT, SSA
c' GOOD MORNING.'
X'lD6011C1SF'
SF = PROT; S8A = 94
C'THIS BEGINS THE DEMONSTR1\TION '
C'OF THE OS/STAM'
X'1DC8'
SF = PROT
C'3210 '
X'lD60'
SF = PROT
C'REMOTE SAMPLE PR03RAM.'
X'1D6011C3FO'
SF = PROT, SSA
240
C'ENTER THE FOLLOWING:'
X'1D6011C4D8'
SF = PROT, S8A
280
C'NAME: '
X'1D4013'
SF = UNPROT, IC
X'11C5401D60'
S81\ = 320,SF
PROT
C'SOC SEC NUM:'
X'1D40'
SF = UNPROT
X'11C5E81D60'
SSA = 360,SF
PROT
X'03'
ETX
*-FORMATO

80

*
STX,ES:::,E/W
X'0221F5'
a
X'C11D60114040'
WCC, SF = PROT, SBA
C'ENTER DATA REQUESTED BELOW:'
X'11C150'
SSA = 80
C'NAME: '
X'1D401311C1F81D60' SF = UNPROT, IC, S8A = 120,
SF = PROT
C'ADDR: '
PROT
160, SF
UNPRor, S81\
X'lD4011C2601D60'
SF
C'CITY: '
PROT
SF
UNPRor, S81\
200, SF
X'lD4011C3C81V60'
C'STATE: '
PROT
228, SF
UNPRor, S8A
X'lV4011C3E41D60'
SF
C'ZIP:'
240,
X'lD5011C3F01D6011C4D8' SF = lJNPROT, S8A
SF = PRor, S8A = 280
C'ENTER KEY: ENTER DATA;'
X'11C540'
SSA = 320
C'PAl KEY: PRINT D1\TA;'
X'11C5E8'
SSA = 360
C'PA2 
1004
1005
0100
1006
BF52
1008
100C
0001
1018
BF82
1004

OOFBC
00004
00005
00100
00006
00F58
00008
OOOOC
00001
00018
00F88
00004

STMT

. F010CTl1

SOURCE STATEMENT

500 READTT
501
502+
503+
504+
505+
506+
501+
508+
509+
510+
511+
512+
513+
514+
515

EQU
READ
LA
NI
MVI
LA
STH
LA
ST
ST
LA
STH
L
NI
BALR
BR

15

3/22172

•

DECBD,TT,DCBR,(MSG1\ODR),256,,1,MF=E
1,DECBD LOAD DECB ADDRESS
4(1),4
5 (1),3
14,256(0,0) OOOB
14,6(0,1) STORE LENGTH
OOOB
14,DCBR
14,8(0,1) STORE DCB ADDRESS
OOOB
MSGADDR,12(0,1) STORE AREA ADDR
14,1<0,0)
14,24 (0, 1) STORE LINE NUMBER
15,DCBR+48 LOAD RD~RT ROOT ADDR
4(1),X'F7' 1\38557
14,15 A38557
RETURN
LNI
000711
000718

0202
DO

00071A
00071C
000720
000740
000744

1000
00000008
0000000000000000
OOOOOOOC
00
0000
00
00000000
00000006
0000000000000000

0007~5

~0~01F1F2D

01
3137313737
02
FE
0010

000747
000748
00074C
000750
0007DO
000F20 0000000000000000

vvOFoB

000F68 80
000F69 OOOFBC

STMT

552
553
554
555
556
557
558

EIGHT8
DSPTAB
TWELVE

559
560
561
562
563

SELSAVE
SIXL
Il-IAREA
INAREAL
SAVE

DISPLAY GENERAL POLLING ADDRESS
DFTRMLST AUTOWLST, (~0407F7F2D, 3137313137)
DC
2YL1(2) TOTAL AND ACTIVE ENTRY COUNOOOA
DC
YL1(X'20'*6+X'10'*1) PACKED WIDTH AND WRAP BIr
DS
OX OOOA
DC
XL5'40407F7F2D'
DC
YL1(1) OOOA
DC
X~5'3737373737'
DC
YL1(2) OOOA
DC
X'FE' END OF LIST CHARACTER
OOOA
DC
YL2(2*6+4) OFFSET
OOOA

CONSTANTS
DC
H'4096'
DC
F"8'
XL32'0'
DC
F'12'
DC
X'OO'
Il~DEX
DC
X'OOOO'
CUDVSAVE DC
*

DC
DC
DC
EQU
DC
55~
DB
565 DECBADDR DC
566
DC
567 DCBR
DCB

00
000001
0000
1000
00000001

577+
578+
579+
580+
581+

CONSTANT OF 8
DISPLAY rABLE
LENGTH OF 12
INDEX BYTE SAVE AREA
CU,DV SAVEAREA

F'O'
F'6'
500F'0'
*-INAREA
18F'0'

INPUT AREA

OF

X'80'
AL3(DECBD)
DSORG=CX,MACRF=(R,W),DDNAME=DD3210,EROPT=T,DEVD=BS,
MODE=("A,A),CODE=EBCDIC

K

DATA CONTROL BLOCK
ORG
DS
ORG

*-20 TO ELIMINATE UNUSED SPACE
OF'O' ORIGIN ON WORD BOUNDARY
*+20 TO ORIGIN GENERATION
COMMON ACCESS METIIOD INTERFACE

575+*
000F6C
000F60
000F70
OOOF72
000F74

OOOA

H~096

569+*
570+*
511+
572+DCBR
573+

000F58
000F58
OOOFbC

3122172

F010CT71

SOURCE STATEMENT

539 *
5~0 POLDSPLY
541+
542+
543+POLDSPLY
544+
545+
546+
547+
548+
549+

17

DC
DC
DC
DC
DC

AL1(O) BUFNO
AL3 (1) BUFCB
AL2 (0) BUFL
BL2'0001000000000000' DSORG
A(1) IOBAD

Appendix P:

Remote 3270 Sample Program

362.47

PAGE
LOC

OBJECT CODE

ADDR1 ADDR2

STMT

SOURCE STATEMENT

583+*
000F18
000F19
000F1A
000E'1B
000E'1C
000F1D

00
10
FF
00
00
000000

000F80
000F88
000F89
000F8A

C4C4F3F2F1F04040
02
00
2020

585+
586+
581+
588+
589+
590+

DC
DC
DC
DC
DC
DC

BL1'OOOOOOOO'
BL1'00010000'
AL1(255) BTAM
ALl(O)
BL1'OOOOOOOO'
AL3(0) EXLST

DC
DC
DC
DC

CL8'DD3210' DDNAME
BL1' 00000010' ·OFLGS
BL1'OOOOOOOO' IFLG
BL2'0010000000100000' MACR

592+*
594+
595+
596+
591+

OOOFBC
OOOFBC
OOOFCO
0001"C1
000FC2
000FC4
000FC8
OOOFCC
ooo:rmo
000FD4

OOOFDb
000FD8
000FD9
OOOFDA
OOOFDC
OOOFEO

BFTEK,BFLN,HIARCHY
BTAM EROPT CODE
BUFFER COUNT
RECFM

FOUNDATION BLOCK

599+*
000F8C
000F90
000F91
000F92
OOOFAC

F010CT71
FOUNDATION EXTENSION

BTAM

IN~ERFACE

00000000
00
80
0000000000000000
0000000000000000

601+
602+
603+
604+
605+

DC
DC
DC
DC
DC

F'O'
BL1'OOOOOOOO' MODE
BLl'10000000' MAS,CODE
XL26'O' CONTROL CHARS
4F'O' RESERVED

607
608+
b09+DECBD
610+
611+
612+
613+
614+
615+
616+
611+
618+
619+
620+
621+
622+
623+
624

READ

00000000
00
01
0000
00000F58
00000000
00000000
00000000
0000
0000
00
00
0000
00000000
00000000

OS
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
END

DECBD,TI,DCBR,MF=L
OF
A(O) EVENT CONTROL BLOCK
BL1'OOO'
AL1(1) TYPE FIELD
AL2 (0) LENGTH
A(DCBR) DCB ADDRESS
A (0) AREA ADDRESS
A(O) ERROR INFO. FIELD ADDR
A(O) TERMINAL LIST ~DDRESS
AL2(0) LINE NUMBER
AL2(0) RESPONSE FIELD
AL1(0) TP-OP CODE
AL1(0) ERROR STATUS
AL2(0) CSW STATUS
AL4(0) CURRENT ADDR LIST PTR
AL4(0) CURRENT ADDR POLL prR

362.48

OS BTAM SRL

18

3/22/72

P~GE

RELOC~TION DICTION~RY

POS.ID

REL.ID

FLAGS

ADDRESS

01
01
01
01

01
01
01
01

08
08
08
OC

000019
0002B9
000F69
000FC4

3/22172

P~GE

CROSS-REFERENCE
SYMBOL

LEN

VALUE

DEFN

0002C8
OOOOOB
OOOOOC
000262
0000A2
00027A
00023C
000232
00026E
00025A
00006D
00017C
0002BIJ
000585
00003C
000745
000F58

00321
00030
00031
00278
00118
00286
00266
00262
00282
00275
00057
00196
00304
00406
00411
00558
00572

ABNORMAL
BASEREG
BASEREG2
CHKE
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
Create Date                     : 2011:10:01 21:18:22-08:00
Modify Date                     : 2011:10:01 23:44:19-07:00
Metadata Date                   : 2011:10:01 23:44:19-07:00
Producer                        : Adobe Acrobat 9.45 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:a353bb07-93d9-4e9b-8b85-c2bd0bfa1086
Instance ID                     : uuid:4cdd2646-b964-49bc-9ca9-11a6c6a22c9d
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 520
EXIF Metadata provided by EXIF.tools

Navigation menu