Home
Volume I: Introduction and User`s Manual
Contents
1. END LKED SYSLIB DD DISP SHR DD OSN AALIBsDISP SHR UNT T PAC Ky VOL PRIVATE RETAIN SER DP5010 G0 0ISP DO UNIT DISPLAY we um cum premis ce o ee Qm Qs Se wahr w wA a ae Qm s Q anm q e r a s lt lt w am Emm M am m 00000000011111111112222222222333333333344444444445555555555666666666617 T TT7118 1234567890123456789012345678901234567890123456768901234567890123456789012 678932 Figure 5 21 GEASP SIANDARD INCLUDE SEI AAINCIGRASPINCI 0115 10 28 1515 00C0970021111111111222222222253533333333344444444445555555555660666666677 111111118 modest 132022342678 20123420789012343078901234567890123456789012342575 701234507 Kou Act GAAP H e GAJ 4 GCLOSER GDAP e GERASF N GLINENOs4 GNCP ff 0200u005 GNU ITSa4 GOPENVq4GREAOSB GUNI TM GWAIL TN GWRITESW CHA 0040608 JCL CHAR 2 0 UCL GALL CHAKI 9000600 1 GALA JCL SAAP ENTRY CPOINTER POINTER NQOYUUNIS FIXED BIN 31 1 0023000 i AR UCL GAY ENTRY POINTEP4 CHAR CI BI TC1 00020Coc FIXED 51NI311 FI XFD 8I NC31 1 001090917 DCL GCLOSE ENTRY POINTER 0000C523 z JAP UCL GDAP ENTRY POINTER FIXEUD BIN G10I I 000900954 5 QFReaSLe TULL GERASE ENTRY POINTER I CAHAR 1 VAF POINTER YONQUGLEL FIXED HIN 31 F
2. Figure 4 A Line Addressed Output Example 19 SAMPLE GRASP APPLICATION Figure 5 shows the PL I source language for a sample GRASP application In general the program initializes a display and waits for attentions When an attention occurs a read is issued and the string received is printed When the operator at the dis play enters STOP the program erases the display and terminates several points are worth noting about the program 1 In the compile step a DD statement defining the include library AAINC is required if the GRASP standard include set is used The in clude set is shown in Figure 6 and contains declarations for the GRASP routines and the definition of the special variable GCENT the value of which appears as the START symbol when displayed on a 2260 2 A INCLUDE statement is required to cause the GRASP program declarations to be in serted in the program The statements which follow the INCLUDE cause selected declara tions to be inserted in the program as source code The specific declarations are selected by coding the name of the desired subroutine followed by a sign for example GOPEN is coded to cause the declaration of the GOPEN routine to be inserted in the program Each subroutine declaration selection must be followed by a semicolon Figure shows the listing of the PL I compilation of the sample program indicating the inclusion of the selected declarations In addition to the individual
3. CALL GAIT CALL GAU CALL GREAN GALL GHATT PUT EDIT CALL GF CALL GAIT CALL GHAP Oe CAPTE I DCBPTRA4A 1 8 DLCHP TR w GAC 30 T 4 P 4 CALL SCLCSE DCaPTej i ENDS Figure 7 L DODD gu pmo pe 4 5 6 7 8 At the statement labelled LOOP the writemode argument to the GWRITE routine is coded as EA to indicate that a pre write screen erase is to occur followed by a line addressed output operation Ihe GLINENO routine is used to supply the proper line code for line 1 of the display The variable GCENT is used to supply the character code for the START syubol The line will appear on the dis play as with the cursor immediately to the right of the START symbol The wait mode of the GAQ routine is used to wait for the appearance of an attention at the device The manual input mode of the GREAD routine is used to cause the characters entered by the operator to be transferred to the string variable MIMSG When the call is made to GWAIT the current length of the varying string MIMSG is set to the number of char acters read from the device The unit num ber specified in the call to GREAD is 1 as it is in the calls to GWRITE and GAQ because only one display is being serviced When the program is complete a call is made to GERASE to erase
4. ESD TR 70 124 Vol I MTR 1768 Vol I GRASP A PL I COMPATIBLE GRAPHICS SUBROUTINE PACKAGE FOR THE IBM 2260 DISPLAY STATION LOCAL ATTACHMENT VOLUME I INTRODUCTION AND USER S MANUAL R H Bullen Jr MAY 1970 Prepared for DIRECTORATE OF SYSTEMS DESIGN AND DEVELOPMENT ELECTRONIC SYSTEMS DIVISION AIR FORCE SYSTEMS COMMAND UNITED STATES AIR FORCE L G Hanscom Field Bedford Massachusetts Project 512A Prepared by This document has been approved for public THE MITRE CORPORATION release and sole its distribution is un Bedford Massachusetts limited Contract F 19 628 68 C 0365 FOREWORD This report was prepared by The MITRE Corporation Bedford Massachusetts under Contract No F19 628 68 C 0365 MITRE Project 912A Volume I gives an overview of the IBM 2260 Display Station and an introduction to the PL I compatible routines which provide programming support for the IBM 2260 in local attachment Volume II provides detailed program Specifications REVIEW AND APPROVAL This technical report has been reviewed and is approved CHARLES E MCKUSICK Lt Colonel USAF Chief Systems Analysis Division Directorate of Systems Design and Development ii ABSTRACT GRASP is a set cf PL I compatible subroutines which provide Programming support for the IBM 2260 Display Station in local attachment i e the attachment of a 2260 directly to a System 360 CPU channel via the IBM 2848 Display Control The subroutines a
5. STMT LEVEL 1 2 1 3 1 4 1 5 1 7 l 5 1 9 1 1 C 1 11 1 12 1 13 1 14 l 5 1 16 I 17 1 15 1 1S 2C l 21 1 22 1 24 1 9 1 2b l 27 1 2H 1 DISPL Y FST PREC OPTIONSCMATAS 1 1 SGURCL CISTINGe DISPLAY gt PPUC UPTIONSOMAIND DCRPTU GACAUPTAR OEGUPTA POINTER CuNI nlT 1 MISE CHAL 3C vAP Y ING e FTC aIN 31 GOPEN ENTRY POINTER CHAR HO 4 CHAR 3 VAP CHAK S FIXED IN 31 FIXcU BINCSLDD GAAP tnTFY PalbNTERSPOINTER FIXFD 61N 031 ENTRY UPOENTER CHAR S3 VAR PUINTER CHAR VAR F1XFD 395031 FIXFD nRIN 3II 5 GaA LT t NTKY PI INTFR FIXED 3 NCOS110 GLINA ENT amp Y FIXED 3I 3110 2ETUOPMS CEA KIDD GAD ENTRY PJ INTER CHAR 1 31101 FIXeU 8INUSLI T FIXED BIN 31 onEAD ENTRY POINTER CHAR 3 VAR PUINTE CHAF VA4 F IXED n IN 31 0 FIXED AINC S19 3 E 4T v PUINTER CHAK LIVAR POINTER FIXeO HIN 31 3 FIXED BIN 31 5 GNAP FNTRY POINTEF FIXE IN 3110 ENERY POINTER SCENT CHAU 1 STATIC INIT nDC4PT 4 DISP IUE tuASICt 1 n R GAC3PT4 DCLDPTR 3 DECUPTA EA OCAPTR GLIWENOCLIPP aFAOCY GCENT I R DECSPTR R 3 GACBPTR e n C IND 1 ge dS CLULSPTA DCSPTR MIMSG 01 605 DFOEPTR SES M1MSG SKP 3 IF M1IMS35424 s 5TOP THEN GD TO LOOP JCL ACL JEL NCL Gw TE NEL VEL DCL DCL NCL ERASE ICL VEL GELOSE DCL CALL S PEP CALL GAAP CALL Gane ITT
6. The first gives a brief introduction to the 2260 and describes GRASP and its use The second gives detailed specifications of the GRASP routines The reader is assumed to be familiar with the PL I Language SECTION II THE 2260 ENVIRONMENT GENERAL DESCRIPTION This section presents a subset of information from selected documents in the Bibliography Readers desiring more information should consult the appropriate document The 2260 is a small character oriented display capable of dis playing either 6 or 12 lines of either 40 or 80 characters each depending on the 2260 2848 configuration see Figure 1 The range of characters includes 26 alphabetic characters 10 numeric characters 25 special symbols including the space and new line symbols and 3 control symbols cursor check and start symbols Graphics associated with the special and control symbols are shown in Figure 2 Bit patterns for all symbols displayable on a 2260 Display Station are shown in Reference 3 Operating instructions for the 2260 Display Station can be found in Reference 1 SPECIAL FEATURES Special features of 2848 2260 configuration of interest to the user of GRASP include the keyboard line addressing non destructive cursor data entry and 1053 Printer options Other special features are available and are described in Reference 3 Keyboard If the selected 2260 is not equipped with the keyboard feature the parts of the GRASP package deali
7. destructive curser is a symbol indiscinguishable from the EOM symbol which indicates the display position to be occupied by the next character key depressed or character displayed It occupies a display position and overwrites display positions as it advances The non destructive cursor performs the same function as the destructive cursor but is a different graphic and does not occupy a display position it is displayed to the left of and slightly below the next character position to be filled when data is trans mitted or when a character key is depressed Data Entry After the completion of a read operation from a 2260 the key board of the selected 2260 is mechanically unlocked and operator entry may resume The data entry models of the 2848 Display Control permit the bypassing of this operation thereby enabling program verification and response to operator input prior to the entry of another message This is supported in GRASP by the lock L code in the mode arguments to the read write and erase routines If the 2848 controlling the selected 2260 is not a data entry model these codes must not be used The data entry models of the 2848 have several other features including a keypunch type keyboard layout rather than a typewriter layout which are described in Reference 3 Printer A 2848 2260 configuration can be equipped with a slave 1053 Priater This is a low speed 14 characters per second modified SELECTRIC printer and ma
8. in all other respects does not delete the START symbol from the screen and therefore results in a somewhat faster read operation 12 OUTPUT OPERATIONS Three types of output operations are provided by GRASP screen erase buffer output and line addressed output The screen erase operation is provided by the GERASE routine The remaining two write operations are performed by the GWRITE routine Screen Erase Two methods are available for erasing the screen of a 2260 The first method used when a write operation will not immediately follow the erase is provided by the GERASE routine The second method is the pre write erase option of the GWRITE routine In this case the screen is erased immediately prior to the write operation specified by the call to GWRITE Buffer Output By coding B or EB if a pre write erase is desired as the write mode argument to the GWRITE routine the programmer may specify that the specified string argument is to replace the contents of the buffer of the selected 2260 Display Station If this mode is used the length of the string to be displayed must be exactly equal to the size of the buffer for the selected 2260 Display Station either 240 480 or 960 characters depending upon the 2848 model in use The f rst character of the string to be displayed appears in column 1 of the first display line and subsequent characters are displayed adjacent and to the right with spillover to subsequent display
9. lines Line Addressed Output When a 2848 2260 combination is equipped with the line addressiny feature the programmer may specify that a message is to be dispilayea on a particular line of the selected 2260 Display Station This type of write operation is specified by coding A or EA if 2 pre write erase is desired as the write mode argument of the GWRITF routine In this mode of operation the first byte of data is interpreted as a control character indicating the display line to which the string will be written This character must be included in the length of the string but is not displayed Display of the string begins at column 1 of the addressed line and spills over to subsequent lines with wrap around from the last line to the first line if the string is longer than one display line Characters on the screen beyond the last character of the displayed string are not affected by a line addressed write operation 13 A special function called GLINENO is provided as a part of GRASP to aid the user of line addressed output The user specifies the desired line number as a FIXED BIN 31 integer and codes the following expression as the string argument to the GWRITE routine GLINENO line number string where string is the string to be displayed The returned value of the GLINENO function has the attribute CHAR 1 The dummy argu ment generated by PL I for the string expression above automatically accounts for the add
10. noted in the Introduction to Volume I of this document All errors except those which normally result in OS 360 abnormal ends ABENDS are returned to the user via subroutine parameters GRASP is designed to operate under the MFT configuration of OS 360 Volume I of this document gives an overview of the 2260 and an introduction to the GRASP routines Volume II gives detailed program specifications eov es 14 7 3 Security Classification Security Classification KEY WORDS COMPUTER DISPLAYS PROGRAMMING IBM 2260 PL I COMPATIBLE GRAPHICS SUBROUTINES PL I GRAPHICS ACCESS METHOD Trove wr rove wr Security Claasification LINKC O LINKC O
11. see reference 2 GRASP does not support 1 user written asynchronous attention processing programs and 2 the express method of attention handling see reference 2 In addition although GRASP was written to support any valid 2848 2260 combination it has only been tested with a 2848 Model 3 with two attached 2260 Model 1 Display Stations The omission of the express attention handling capability is not serious since it does not appear to be as useful as the basic method and if it were re quired it could be provided with a minimum of effort However the om ssion of support for user written asynchronous attention processing programs is significant Considerable work was done to determine if it would be possible to implement a PL I programmer defined condition which would be raised whenever an attention occurred The PL I pro grammer would then be able to use the full capabilities of PL I for enabling and disabling condition handling specifications But it was found that the manner in which asynchronous exit routines are activated by the Operating System is not compatible with the PL I implementation of condition on units One method of interfacing the Operating System and PL I was identified but it required the addition of a special SVC routine to the system library This was felt to be an unsatisfactory approach to the problem and the attempt to imple ment this capability was abandoned This paper is divided into two volumes
12. the screen GDAP is called to terminate the processing of attentions by the control program and the graphics DCB is closed by a call to GCLOSE In the linkedit step of the job a DD statement defining the library con taining the GRASP routines must be concatenated to the SYSLIB DD state ment in the PLILFCLG catalogued pro cedure 24 9 In the go step of the job a DD state ment is included defining the 2260 device As coded in the example an available 2260 will be allocated to the program If more than one 2260 is desired the following DD statement may be used GO DISP DD UNIT 2260 1 n where n is a decimal integer indicating the number of 2260 s desired 25 LIST OF REFERENCES IBM Systems Reference Library Operator Manual 2260 Display Station 2848 Display Control 1053 Printer Form C20 1688 IBM Systems Reference Library System 360 Operating System Graphic Programming Services for 2260 Display Station Local Attachment Form C27 6912 IBM Systems Reference Library System 360 Component Description 2260 Display Station 2848 Display Control Form A27 2700 26 Security Classification DOCUMENT CONTROL DATA R amp D Securlty classification of title body of abstract and Indexing annotation must be entered when the overall report Is classified 1 ORIGINATING ACTIVITY Corporate author 2a REPORT SECURITY CLASSIFICATION The MITRE Corporation UNCLASSIFIED Bedford Massachusetts 3 REP
13. B The DCB is the primary link between the external device and other I O control blocks It is generated by the open process by a call to the GOPEN routine is specified in calls to GREAD GWRITE and GERASE to initiate I O operations and is referenced in the call to GCLOSE to perform the close process It is also used as an argu ment to the GAAP routine Activate Attention Processing to initiate attention handling operations see below Graphics Attention Control Block GACB A GACB is generated for each DCB for which attentions are to be processed The GACB is generated by the GAAP subroutine is specified as an argument to the GAQ Attention Inquiry routine to inspect the attention queue and is input to the GDAP Deactivate Attention Pro cessing routine to terminate the processing of attentions for a specific DCB Since attention processing is always DCB specific the pointer to the DCB must be specified as an argument to the GAAP routine Thereafter only the GACB need be specified since it con tains an internal pointer to the DCB with which it is associated Data Event Control Block DECB The DECB is exactly equivalent in function to a PL I EVENT variable A unique DECB is generated each time a call is made to GREAD GWRITE or GERASE to initiate an I O operation and its address is returned as a PL I POINTER variable This pointer may then be specified as an argument to the GWAIT routine to wait for completion of the associate
14. ESD ACCESSION LIST EST Call Na CS556 ESD TR 70 124 Vol I Bios E s et s MTR 1768 Vol I ESTI FILE GRASP A PL I COMPATIBLE GRAPHICS SUBROUTINE PACKAGE FOR THE IBM 2260 DISPLAY STATION LOCAL ATTACHMENT VOLUME I INTRODUCTION AND USER S MANUAL R H Bullen Jr MAY 1970 Prepared for DIRECTORATE OF SYSTEMS DESIGN AND DEVELOPMENT ELECTRONIC SYSTEMS DIVISION AIR FORCE SYSTEMS COMMAND UNITED STATES AIR FORCE L G Hanscom Field Bedford Massachusetts ESD RECORD COPY RETURN TO SCIENTIFIC TECHNICA INFORMATION DIVISION Project 512A Prepared by This document has been approved far public THE MITRE CORPORATION release and sale its distribution is un Bedford Massachusetts Contract F 19 628 68 C 0365 AD7906153 limited When U S Government drawings specifica tions or other data are used for ony purpose other thon a definitely related government procurement operation the government there by incurs no responsibility nor any obligation whatsoever and the fact that the government may have formulated furnished or in any way supplied the soid drowings specifico tions ar other data is not to be regarded by implication or otherwise os in any monner licensing the holder or ony other person or Corporation or conveying ony rights or per mission to monufocture use or sell any patented invention that may in any way be related thereto Do not return this copy Retain or destroy
15. IXED UIN GGLI 10 Q2 0U0119s 4 OLINEWGs OCL GLINENO ENTRY FIXE bBING10 J9000012 RETURNS CHAR 1 1 099001 3 GNC Pg OCL GMCP ENTRY POINTER RETURNS FIXFO BIN 31 9 3 0900014C 1 GNUNITS DCL GNUNITS ENTRY CHAR 5 000015 RETURNSI FIXED BIN 31 7 QO00J2125 A GCPEN UCL GUPEN ENTRY POINTER CHAR 8 CHAR 3 VAR QOUOO17 CHAR 5 FIXED BIN 31 s QO06Q 7124 FIXED BIN 31 000C231sc z DCL GREAU ENTRY POINTER LHAK 3 VAR POINTERK YIANHNO QdY CHAR VAR SFIXED BIN 31 0230206210 FIXED 8IN 31 0 0C000242 3 nt UCL GUNIT ENTRY POINTER FKETURNSCFIXED DBIN C31 01 ONUL 3 GAATTH NCL GWAIT ENTRY CPOINTER FIXED 8 31 JUNIO 247 x GwRITC XCL GSRITE ENTRY POINTER CHAR 3 VAK POINTCR 090 99 CHAK VAR FIXEO BIN 31 0 000012 01 FIXED BIN 31 0 ONOUT AT Y GCUNT DCL GCENT CHAR 1 STATIC INIT 0900002 0 GALL z GAAPS 3GAUMSGCLOSER GOAPS GERASERKSGLINENGS amp 9000029 GuCPS 2 GNUNI TS85GUPENW G6GR ADR SGUNI TK GWAIT AS 000 305 UWE ITES GCENT amp 3 O000231 Sa w e m s m r c m s lt enn umb UAR s q lt eb umb Qs umb q s QUUD Q Qp 06020500 011111111112 2222222233333333334444444444555 55555556666666006T T1217 1111 123455765012345678301234507890123456789012345678920123456759012345675301 34 5670650 Figure 6 22
16. ORT TITLE GRASP A PL I COMPATIBLE GRAPHICS SUBROUTINE PACKAGE FOR THE IBM 2260 DISPLAY STATION LOCAL ATTACHMENT VOLUME I INTRODUCTION AND USER S MANUAL 4 DESCRIPTIVE NOTES Type of report and InclusIve dates 5 AUTHOR S First name middle Initial last name Richard H Bullen Jr 6 REPORT DATE 78 TOTAL NO OF PAGES 7b NO OF REFS MAY 1970 31 3 Ba CONTRACT OR GRAN T NO 98 ORIGINATOR S REPORT NUMBER S F19 628 68 C 0365 ESD TR 70 124 Vol I PROJECT NO 10 DISTRIBUTION STATEMENT SUPPLEMENTARY NOTES 12 SPONSORING MILITARY ACTIVITY 012A 9b OTHER REPORT NO S Any other numbers that may be assigned this report MTR 1768 Vol I This document has been approved for public release and sale its distribution is unlimited Directorate of Systems Design and Development Electronic N A Systems Division AF Systems Command L G Hanscom Field Bedford Massachusetts 13 ABSTRACT DD GRASP is a set of PL I compatible subroutines which provide programming support for the IBM 2260 Display Station in local attachment i e the attachment of a 2260 directly to a System 360 CPU channel via the IBM 2848 Display Control The subroutines are coded in OS 360 Assembler Language and are reentrant They permit the PL I programmer to manipulate the 2260 as an I O device in the same manner available to the Assembler Language programmer using the Graphics Access Method under OS 360 with restrictions as
17. able under certain circumstances for the user program to display the START symbol as part of a command The program might display ENTER NAME b where gt represents the START symbol The cursor would appear immediately to the right of the START symbol The operator of the display would then follow by typing his name and depressing the ENTER key The displaying of the START symbol by the program can result in a significant increase in throughput especially when operator responses are short Since the START symbol corresponds to the graphic gd which is generally not available on print trains a CHAR 1 string variable GCENT the value of which is this symbol is available to the user of the GRASP standard include set see Sample GRASP Application If tle user wishes to include the START symbol in his displayed string he simply concatenates the variable GCENT to the string he wants displayed In the above example the string argument to the call to GWRITE which resulted in the above message being displayed would have been coded ENTER NAME ccENT 17 Using Line Addressed Output Care must be taken when using line addressed output to clean up areas of the screen affected by previous operator messages Consider the example in section a of Figure 4 The call to GWRITE causes the message ENTER NAME a to be displayed on line 1 of the display The cursor is shown to the immediate right of the START symbol to indicate t
18. d any attentions on the queue are lost The user selects a desired attention by spec fying as an argu ment the unit number of the 2260 Display Station for which attentions are expected This number meaningless for X mode may be an integer greater than or equal to 1 to select an attention from a particular 2260 or may be zero to indicate that attentions are to be accepted from any 2260 defined by the DCB associated with the specified GACB On return from an R mode or W mode call to GAQ the desired attention is present and a GREAD may be issued to the unit causing the attention Similarly on return from a C mode call if the BIT 1 variable has been set to 1 B the attention is present and a read may be issued If for C mode R mode or W mode a non zero unit number was specified the user knows which unit caused the attention and a read may be issued to that particular unit by specifying the same unit number in the call to GREAD If however zero was specified as the unit number to indicate that attentions are to be accepted from any device the user needs to know which of the devices defined by the GACB DCB combination caused the attention For this purpose a GRASP routine called GUNIT is provided On return from GAQ and in the presence of an attention the function returns the unit number of the unit causing that attention Termination To terminate the processing of attentions the GRASP user calls the GDAP routine This progra
19. d I O operation 10 INPUT OPERATIONS Three types of input operations are provided to the user of GRASP buffer input manual input and short manual input All three types are implemented by options of the GREAD routine Buffer Input If B is coded as the read mode argument to the GREAD routine the entire contents of the buffer of the selected 2260 Display Sta tion is transferred to memory After transfer the screen is erased All characters including special characters are transferred Manual Input If M is coded as the read made argument to the GREAD routine the characters on the screen between the START symbol P and the EOM symbol m are transferred to memory The START symbol is deleted from the screen and the cursor is placed immediately to the right of the position originally occupied by the START symbol The new line symbol 44 has a special use with manual input read operations When a new line symbol is encountered between the START and EOM symbols during the read operation characters on the same line as and to the right of the new line symbol are skipped and data transfer begins again with the first character on the next line The new line symbol is transferred as a data character The behavior of the manual input read operation on encountering a new line symbol can be used to advantage when more than one dis tinct piece of information is to be transferred in a single read operation Consider an example Th
20. declarations a special symbol GALL is provided which when in cluded in the user s program results in the inclusion of declarations for all GRASP routines 3 The third argument to the GOPEN routine is coded as IOE to indicate that the GREAD GWRITE and GERASE routines will be used The NCP value is set to 1 20 SAMPLE _GRASP_APPLICATION Q1202 470_ 16 02 53 00000000011111111112222222222333333333344444444445555555555666666666677771117118 123420789910 34567890123420789012343678901234567820123456789012345678901234567890 0ISPLAY JOB 512A D73410 0082 4 BULLEN RH CLASS 0 EXEC PLILFCLGePARM PLIL M PL IL DCLS DD DSN AAINC DOISP SHR UNI T PACK VUL PRIVATEsRETAIN SER DP5010 PLIL SYSIN DD DISPLAY PROC UPTIUNS MAIN DCL DCBPTR GACBPTR OECBPTR POINTER CONO 1 MIMSG CHAR 30 VARYING R FIXED 8IN 31 INCLUDE DCLS GRASP INC GUPEN 3 GAAP f 6 GWAITA 6 GAQK GREADA GERASEK CDAP 4 GCLOSE 6 CALL GOPEN DCBPTR DISP IOE BASIC 415 0 R CALL GAAP GACBPTR DCBP LOOP CALL GWRITE DECBPTR EA OCBPTR GL INENO 1 I READY CALL GWAIT X DECBPTR R i CALL GAC GACBP TR W 4 COND41 6 R CALL GREAD DECBPTR M DCBPTR eMIMSGol eR CALL GWAIT DECBP TR R PUT EDIT MIMSG SKIP 4 IF MIMSG4 STOP THEN GO TO LOOP CALL GERASE DECBPTRe DCBPTR 1 R CALL GWAIT DECBPTR R CALL GDAP GACBPTR R CALL GCLOSE DCBPTR
21. e program initially displays command information on the right of the screen and places the cur sor at column 1 of the first line JOB NAME PROJECT NO DEPT Detailed definitions of the arguments to GRASP routines are given in Volume II of this document 11 The display operator enters the START symbol and the job name and depresses the new line key This causes the cursor to move to column 1 of the second line gt TESTA JOB NAME PROJECT NO DEPT The operator continues by typing the other required information and depresses the ENTER key when the message is complete gt TEST 4 JOB NAME 512A 4 PROJECT NO D7 99 DEPT When the program issues a manual input read operation the string transferred is TEST 4 512A 4 D73 Transfer of input data to the string variable specified in the call to GREAD occurs asynchronously to the execution of the user s program In addition the current length of this string variable which has the VARYING attribute is not set until a GWAIT is issued for the read operation For these reasons it is advisable not to make reference to the string variable until after the operation is complete i e after a call has been made to GWAIT Short Manual Input At the completion of a manual input operation the START symbol is deleted from the screen and the cursor is placed to the left of the position originally occupied by the START symbol Short manual input identical to manual input
22. hat the first character key to be depressed by the display operator will cause that character to appear adjacent to and to the right of the START symbol The display operator then types in his name and depresses the ENTER key causing the EOM symbol to appear The first line of the isplay would now contain ENTER NAME R H BULLEN When the GREAD subroutine is called the characters between the START and EOM symbols are transferred to memory and stored in the prograu variable NAME and the display line is automatically modified to contain ENTER e R H BULLEN m A branch is now taken to the statement labelled LOOP causing the command to be rewritten and the display line to appear as ENTER NAME b R H BULLEN m d The previous operator input remains on the screen since the command is output using line addressing One way of solving this problem is shown in section b of Figure 4 By adding an extra call to GWRITE the first line of the display is blanked out prior to writing the command It is necessary to use two separate calls to ensure that the cursor will appear immediately to the right of the START symbol when the command is displayed 18 a LOOP CALL GWRITE A GLINENO 1 ENTER NAME ccENT CALL GREAD M NAME GO TO LOOP b LOOP2 CALL GWRITE GLINENO 1 80 CALL GWRITE GLINENO 1 ENTER NAME GCENT CALL GREAD NAME GO TO LOOP2
23. he NCP value for the DCB to a value high enough to permit simultaneous I O operations to be in effect for all of the 2260 s defined by the DCB By calling the GNUNITS routine prior to opening the DCB the pro gram determines the number of devices defined on the DD state ment for the DCB The programmer may then set the NCP argument to GOPEN to this value This allows the GRASP program to exer cise a certain measure of control over the external specification of the NCP value while at the same time not restricting the pro gram to a particular perhaps too small value The following rules must be followed in making use of the NCP capability for overlapping 1 0 operations 1 Every overlapped I O operation must have its own DECB This is accomplished by using unique identifiers for the first arguments decbptr in overlapped calls to the I O initiation routines GREAD GERASE and GWRITE 16 2 I O operations must be waited on by calling GWAIT in the order in which they were initiated For example CALL GREAD DECB1 CALL GREAD DECB2 CALL GWAIT DECB2 CALL GWAIT DECBl wee w uA Ne is not correct the waits must be per formed in the opposite order Writing the START Symbol The START and EOM symbols are used to identify the characters in the buffer to be transmitted to memory on a manual input read operation Both symbols may be entered on the screen by the dis play operator It is however desir
24. ition of the control character to the string to be displayed ATTENTION HANDLING Attention handling support is provided in GRASP by the GAAP GAQ and GDAP routines This section describes these routines and their use Initialization To initiate attention processing the user calls the GAAP routine specifying the DCB for which attentions are to be accepted GAAP generates a GACB notifies the control program that attentions for that DCB GACB combination are to be honored and returns the GACB address to the user Any attentions occurring after the call to GAAP are queued by the control program until the user calls GAQ to inspect the queue Attention Inquiry Whenever the user wishes to inspect the attention queue he calls the GAQ routine passing as an argument the GACB associated with the DCB for which attentions are desired He also specifies via an argument the mode of the query 1 Wait M or Relinquish R mode 2 Conditional C mode and 3 Clear X mode Wait and Relinquish modes are equivalent in this implementation of GRASP They are included for compatibility with possible future extensions of GRASP 14 In W mode or R mode the user is placed n a wait state until the desired attention occurs In C mode the user requests that a BIT l variable specified as an argument be set to 1 B or B to indicate whether or not the desired attention is present If X mode is specified the attention queue is cleare
25. llowed by a discussion of attention processing Several special programming considerations are presented and a final section describes a sample GRASP application General I O Support GOPEN Define and open a graphics data control block GCLOSE Close a graphics data control block Specific I O Routines GREAD Initiate a read from a 2260 GWRITE Initiate a write to a 2260 GERASE Initiate an erase of a 2260 GWAIT Wait for the completion of an I O operation Attention Handling GAAP Activate attention processing GDAP Deactivate attention processing GAQ Attention inquiry Support Functions GNUNITS Number of units in a unit group GUNIT Unit in the unit group causing an attention GLINENO Line number conversion GNCP Number of channel programs value Figure 3 GRASP Routines CONTROL BLOCKS The GRASP user is required to be familiar with three 0S 360 I O control blocks the Data Control Block the Graphics Attention Control Block and the Data Event Control Block This section de scribes these control blocks and their use by GRASP routines The user is not expected to know the format of these control blocks Each control block is automatically generated by an appro priate GRASP routine and its address is returned to the user as a PL I POINTER variable This variable is then passed as an argument to other GRASP routines which require access to the particular con trol block Data Control Block DC
26. m notifies the control program that queueing of attention information for the DCB associated with the specified GACB should cease storage occupied by the GACB is freed Any attentions occurring after the call to GDAP are lost Po An SPECIAL CONSIDERATIONS The Number of Channel Programs NCP Parameter It is possible when servicing more than one 2260 using a single Data Control Block DCB and therefore a single Data Definition DD statement to overlap I O operations on these devices The NCP parameter of the DCB may be used for this pur pose The function of NCP is to specify to 08 360 the maximum number of channel programs i e I O operations which may be outstanding for a given DCB at any time Outstanding I O opera tions are ones which have been initiated in GRASP by a call to GREAD GWRITE or GERASE for the same DCB without an intervening wait operation performed in GRASP by calling GWAIT Ihe value of NCP is an integer between 1 and some maximum value specified during system generation of the 08 360 version in control but is never greater than 99 The value of NCP for a particular DCB may be specified by the programmer in his call to GOPEN or may be specified on the DD statement by coding DCB GNCP value If the NCP value is specified in the call to GOPEN this value overrides any value specified on the DD state ment In a GRASP application where more than one 2260 is defined by a single DCB the programmer may set t
27. ng with attention handling and input operations must not be used Such a 2260 is only an output device 89113832 AOSAND VATIONAASVp uou pue ZuTssaippe out pieoq ex 3u3 YIM S I9POW 09ZZ ANOF pue I9POW 96 8 Sopn ouf 81083 1e3nduoo 0g 09 PAOF PIG By 39 uor3eain2T13uoO S TALIN 1 3 STu3 JO SV Z Saan 9Ioedg ees suog3eangTguoo 13u 848A 1 suor3e1n8I3uo 8582 0922 91n3T4 Z I Aetdstq 10d 3101 ied Aetdstq S STA Q 3O I9PON I9PONM 98597 SI1932BJIPQu 89 9153610 tad 831 ON UnuIxe9WN 7 blank Figure 2 4 new line start EOM symbol destructive cursor A non destructive cursor check Special and Control Symbols Ihe CPU is interrupted via the ENTER key on the keyboard attached to a 2260 causing the control program to store information related to the attention in an attention queue Via the attention handling capa bilities of GRASP the programmer may inspect the attention queue and service the device Line Addressing This feature permits the programmer to specify via a control character transmitted to the 2260 as the first byte of data to be written that display is to begin at column 1 of a particular line of the screen This feature also permits a very limited cursor positioning capability if only the control character is transmitted the cursor is positioned to column 1 of the indicated display line Non Destructive Cursor The etaudare
28. re Number ui C5 t LIST OF ILLUSTRATIONS 2260 2848 Configurations Special and Control Symbols GRASP Routines Line Addressed Output Example Sample GRASP Application Source Code GRASP Standard Include Set Sample GRASP Application Listing SECTION I INTRODUCTION The IBM 2260 Display Station is a small character oriented dis play which may be attached to an IBM System 360 computer via trans mission lines to an IBM 2701 Data Adapter Unit remote attachment or directly to a CPU channel via the IBM 2848 Display Control Unit local attachment Programming support for the former mode of attachment is provided to Assembler Language programmers under 0S 360 via the Basic or Queued Telecommunications Access Methods BTAM and QTAM Programming support for the latter mode also available only to Assembler Language programmers is provided by the Graphics Access Method GAM At the time of this writing IBM does not support either mode of attachment in any of its available higher level languages although QTAM support has been announced for PL I Version 5 to be released in early 1970 For some time two 2260 s in local attachment and therefore supported by GAM were available at MITRE although until early 1969 there was much interest but little use With the advent of IBM s Conversational Programming System CPS and interest in the 2260 s by the MITRE Management Information System MIS and Military Air lif
29. re coded in 0S 360 Assembler Language and are reentrant They permit the PL I programmer to manipulate the 2260 as an I O device in the same manner available to the Assembler Language programmer using the Graphics Access Method under 08 360 with restrictions as noted in the Introduction to Volume I of this document A11 errors except those which normally result in 0S 360 abnormal ends ABENDs are returned to the user v a subroutine parameters GRASP is designed to operate under the MFT configuration of 08 360 Volume I of this document gives an overview of the 2260 and an introduction to the GRASP routines Volume II gives detailed program specifications Lit TABLE OF CONTENTS LIST OF ILLUSTRATIONS SECTION I INTRODUCTION SECTION II THE 2260 ENVIRONMENT GENERAL DESCRIPTION SPECIAL FEATURES Keyboard Line Addressing Non Destructive Cursor Data Entry Printer SECTION III GRASP 2260 USER S MANUAL INTRODUCTION CONTROL BLOCKS Data Control Block DCB Graphics Attention Control Block GACB Data Event Control Block DECB INPUT OPERATIONS Buffer Input Manual Input Short Manual Input OUTPUT OPERATIONS Screen Erase Buffer Output Line Addressed Output ATTENTION HANDLING Initialization Attention Inquiry Termination SPECIAL CONSIDERATIONS The Number of Channel Programs NCP Parameter Writing the START Symbol Using Line Addressed Output SAMPLE GRASP APPLICATION LIST OF REFERENCES _ SAA HW WH C2 F u
30. t Command MAC projects use of the 2260 s increased A need was immediately felt for an interface to GAM for the PL I Language since both the MIS and MAC projects were using that language A preliminary investigation of available software was under taken by the MIS project and revealed that there was no interface package available at the time which reflected on the one hand the inherent simplicity of the GAM support and the 2260 itself and which on the other hand did not inhibit the higher level language programmer from taking full advantage of the capabilities available to the Assembler Language programmer using CAM In addition since the PL I Language already provided certain basic system prograuming capabilities foremost among these being the capability of produciag reentrant programs it was felt that the interface package should be reentrant This would guarantee in addition that the package could Do transferred to a computing system using MVT without degrading unat system s capabilities and without reprogramming A suitable interface package not being found it was decided to build such a package at MITRE that package is GRASP Ihe version of GRASP documented in this paper does not provide the full capability of GAM programming support It supports 1 I O operations addressing a 2260 2 the keyboard and line addressing features of the 2848 and 3 attention handling in a background type user program via the basic method
31. y either be activated by the operator via the PRINT key on the 2260 or be treated as an output device by the computer program Programming considerations for the 1053 printer are given in References 2 and 3 SECTION III GRASP 2260 USER S MANUAL INTRODUCTION GRASP is a set of subroutines and functions which provide the PL I programmer programming support for the 2260 Display Station The subroutines available can be broken down into the following categories General I O Support this group includes subroutines which allocate and format graphics control blocks and perform the open and close functions Specific I O Routines this group includes routines which initiate read write and erase operations to a 2260 and which wait for the completion of I O opera tions Attention Handling this group includes subroutines which allocate and build attention environment control blocks and which support the inspection of the Opera ting System attention queue Support Functions this group includes a set of func tions which among other things permit the PL I pro grammer to access information in graphics control blocks Figure 3 lists the GRASP routines under the above headings and gives a brief definition of each This section describes the use and features of the GRASP routines Control blocks of interest to the GRASP user are described as back ground information The input and output routines are then described fo
Download Pdf Manuals
Related Search
Related Contents
Chapter 1 - Getting Started Alaris-Signature-Ver.. - Integrated Medical Systems, Inc. Philips Clean water container CRP161 Tripp Lite P569-050 ARM Assembly Language Tools v4.7 User's Guide (Rev. J) 1 - Infoterre User Manual - Pure Acoustics, Inc. Copyright © All rights reserved.
Failed to retrieve file