PAMELA: an Interactive Assembler System for the IBM North Carolina
Total Page:16
File Type:pdf, Size:1020Kb
DOCUMENT RESUME ED 082 490 EM 011 459 AUTHOR Brownlee, Edward H., Jr. TITLE PAMELA: An Interactive Assembler System for the IBM System/360 Computer. INSTITUTION North Carolina Univ., Chapel Hill. Dept. of Computer Science. PUB DATE 70 NOTE 82p.; Thesis submitted to the Department of Computer and Information Science of the University of North Carolina EDRS PRICE MF-$0.65 HC-$3.29 DESCRIPTORS Computer Based Laboratories; *Computer Programs; Computers; *Computer Science Education; Digital Computers; Interaction; *Man Machine Systems; Masters Theses; Program Descriptions; *Programing; Technical Reports IDENTIFIERS CC 30 Communications; CC 30 Terminal; CC 300 Screen; CC 303 Keyboard; IBM Model 40; IBM System 360; OS 360 Assembler Language; PAMELA; *Program Assembly Monitor Execution Learn Applicat; Station ABSTRACT A description of the Program Assembly and Monitored Execution for Learning App]'rations (PAMFL7) is presented. It is intended for instructors whc, propose to u.. the system and for programers who wish to modify it. PAMELA an interactiv.a system designed to teach the operating principles of the IBM System/360 digital coLputer at the machine language level. It runs on an IBM 360 Model 40, zommunicating with the user via a remote CC-30 Communications Station. The system can assemble and execute programs written in a subset of OS/360 Assembler Language. The source code can be entered from the CC-30 terminal, or from punched cards previously input. It can be edited by insertion, deletion or alteration of statements and instructions can be executed continuously or singly. Contents can he displayed on the CC-300 screen or modified from the CC-303 keyboard. Used in the classroom, PAMELA can provide illustrations of the primary functions o: instructions, as well as secondary effects such as setting of tho co,ndition code or raising of interrupts. Outside the classroom, the ;,;stem can serve as a laboratory facility, with which students test and debug their own programs or carry out exercises planned by the instructor. (Author) FILMED FROM BESTAVAILABLE COPY Cr- University of North Carolina atChapel Hill 1)Qp.,Ivt mellt litomput er mum 'informal. ionScict): 0 PAMELA: AN INTERACTIVE ASSEMBLER SYSTEM FOR THE IBM SYSTEM/360 COMPUTER by Edward H. Brownlee, Jr. A thesis submitted to the faculty of the University of North Carolina at Chapel Hill in partial fulfillment of the requirements for the degree of Master of Science in the Department of CompuLer and Information Science Chapel Hill. 1970 by: ( Adviser ACKNOWLEDGEMENTS The author is indebted to Dr. Peter Calingaert for his invaluable assistance and suggestions in the preparation u this thesis; to Ur. Gerald A Fisher, Jr.,for providing a classroom test enviionment for the system; and to William H. Blair and Gary D. Schultz for their wise counsel on many matters of technology ill CONTENTS I. INTRODUCTION . II. USER'S MANUAL . 3 III. SUGGESTIONS FOR USE ....... 30 IV PROGRAM LOGIC . ..... 36 V. TESTING PERFORMED . 45 VI. MODIFYING THE SYSTEM ....... , 52 APPENDIX A -- OS Interfaces and Feature Instructions 63 APPENDIX B -- Differences Between PAMELA and OSA 65 APPENDIX C I/O Caveats 69 APPENDIX D -- System Messages . 71 APPENDIX E Summary of System Commands . ..... 75 APPENDIX F -- Abbreviations Used 77 APPENDIX G -- Program Listings (Separate Cover) LIST OF REFERENCES . 2 ..4 ... 0 ........ 79 I INTRODUCTION PAMELA (Program Assembly and Monitored Execution for Learning Applications) is an interactive system designed for use as a tool in teaching the principles of ()petition of the IBM System/360 digital computer at the machine7,,latiguage level: It runs, itself, on an IBM 360 Model 40, communicating with the user via a remote CC-30 Communications Station, manufactured by Computer Communications, Inc The system is capable of assembling and executing programs written in a subset of OS/360 Assembler Language. The source code can be entered directly from the CC-30 terminal, or by means of punched cards pre- viously submitted to the host computer and called up from the terminal It can later be edited by insertion, deletion, or alteration of state- ments Instructions can be executed continuously, halting only at preset locations or in case of error; or they can be executed one by one, halting after each instruction until a signal from the terminal is received. The contents of core storage, registers, and program status word can be displayed on tht. CC-300 TV screen or modified from the CC-303 keyboard; displayed information will be automatically up- dated whenever instruction execution is halted Used in the classroom, the system can provide dynamic illustrations of the primary functions of instructions, as well as secondary effects such as setting of tht cr.adition code or raising of interrupts Outside the classroom, the system can be used as a laboratory facility, with which students test and debug their own programs, or carry out exercises planned by the instructor The description of PAMELA presented in this paper is intended for the instructor who proposes to use the system or the programmer who wishes to expand or oCierwise modify its capabilities. Some prior knowledge of OS/360 is assumed; Operating System terminology and ab- breviations have been used freely. Appendix F contains an exhaustive list of these abbreviations. USER'S MANUAL In this chapter I have explained how to invoke PAMELA, establish communication with the system, and use all of the available facilities, 1 THE CC-30 TERMINAL The instrument through which the user communicates with the PAMELA system is the CC-30 Communications Station The basic station con- figuration consists of a CC-301 TV Display Controller, CC-300 TV Display, and CC-303 Alphanumeric Keyboard. These are the only comr. ponents necessary for using PAMELA; additional TV monitors and the CC-304 Light Pen are helpful for classroom use (see Chapter III), but are not required The CC-301 Controller consists of a buffer memory, a character generator, and an input/output section, Data is read from or written to the memory via a telephone line, coupled to the devices by an IBM 2701 Data Adapter at the computer site and an acoustic coupler at the remote terminal, The data transfer rate achieved with this con- figuration is approximately 10 characters per second The data in the buffer is scanned 60 times per second, converted to dot patterns by the character generator, and written on the TV display screen as humanly readable characters, Up to 800 characters (20 lines of 40 characters each) can be displayed in this way. 4 By means of the alphanumeric keyboard, which is similar to an ordinary typewriter keyboard but contains several additional control keys, data can be keyed directly into the buffer memory from the terminal, and subsequently transmitted to the computer. Two way com- munication between system and user is thus established For a more detailed description of the CC-30, consult Ref. 1. 2 INVOKING THE SYSTEM I will now describe the procedures to be followed in activating the PAMELA system and establishing communication between the system and the CC-30 terminal. These procedure:; are necessarily dependent upon the computing facility and operating system being used, and the particulars are applicable only to the configuration on which the sys- tem was written (see Chapter VI). 2 1 JOB CONTROL PAMELA is invoked by means of job control statements in the OS job stream Refer to the sample JCL of Fig. 2.1. The JOB statement initiates the job and specifies accounting in- ;ormation, and must be present for every job- The TYPRUNisHOLD param- eter in this statement specifies that the job is not to be run until released by the computer operator. It is coded in order that the job may be read into the system well in advance of the proposed time of use, thus avoiding delay when the system is needed The JOBLIB DD statement names the partitioned data set on which PAMELA's load module resides. It must be present for every job unless PAMELA has been placed in the OS link library, 5 //JOBNAME JOB (UNCCS.S7123,2),'BROWNLEE E H',CLASS=G,TYPRUN=HOLD //JOBLIB DD DSNAME=UNC.CS.S7123.BROWNLEE.PAMELA,DISP=SHR // EXEC PGM=PAMELA10 //CC30 DD UNIT=TWX //SOURCE DD UNIT=2314,SPACE=(TRK,10),DCB=(DSORG=DA,RECFM=F) //SYSUDUMP DD SYSOUT=A //PROG1 DD * data . /* //PROG2 DD * data /* Fig,2 1 -- JCL for Invocation of PAMELA 6 The EXEC statement specifies the member name of the particular load module which is the PAMELA system, and causes the system to be loaded into core and tc begin executing. It must be present for every job. The CC30 DD statement defines the TWX line data set for the CC-30 terminal, and must be present for every job. The SOURCE DD statement defines the disk data set on which the source file is to reside. It must be present for every job- In this example, ten tracks of space have been requested, sufficient for some- what over 500 records The SYSUDUMP DD statement defines the data set on which is to be written in the event of abnormal termination of the: system- This statement is never mandatory, but is always advisable, since without it an abnormal termination may be very difficult to diagnose- The remaining DD cards define card data sets which may be refer- enced from the CC-30 terminal at execution time. The cards may con- tain assembler language source statements or data to be read by the user's GET statements. Any number of card data sets may be included with a job; none is required. Any valid DD names (see Ref. 3) may be used; the ones shown in the example have no special significance.