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 .
Page Count: 520
Download | |
Open PDF In Browser | View 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: CI bjec: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' I C 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 : 520EXIF Metadata provided by EXIF.tools