BAL(ID:1850/bal001)

IBM 360 assembly language 


Basic Assembly Language.

The IBM 360 macro-assembly language.


Related languages
BAL => ALC   Alias
BAL => TAP   Based on

References:
  • Bayard H.A. et al, "The TREET Time-Sharing System" view details Abstract: This paper is a description of the TREET time sharing system as it is presently implemented. Information is provided about the basic TREET system, including data structures, basic functions and facilities, languages, the translator, the assembler, the compiler, storage, and data set access; about the time sharing system, its monitor and file structure; about the editing and debugging facilities for on-line programming; and about four application areas?text processing, tree processing, fact retrieval, and further development of the on-line system. Extract: Introduction
    Introduction
    The established success of LISP as a vehicle for the construction of interactive symbolic and algebraic manipulation systems is based primarily on its well known facilities for list processing, recursive function definition, and automatic garbage collection, as well as on its availability in many time sharing environments.
    The purpose of this paper is to introduce TREET, an alternative system of potentially widespread availability which shares these same features but which also offers others not generally provided within LISP systems. These additional features have proven useful in a number of application areas, four of which will be considered briefly at the end of the paper. We believe TREET will prove to be particularly valuable in a mathematical laboratory environment as well.
    LISP is often criticized for its unusual syntax comprised of parenthesis-laden prefix expressions. While this syntax is not without its virtues, it could be pointed out with some justice that none of the LISP based algebraic manipulation systems, e.g., MACSYMA, MATHLAB, REDUCE, SCRATCHPAD, reported on at this conference ever proposed offering such a syntax to its users, even for programming purposes. The TREET language accepts procedure-oriented statements in a syntax resembling ALGOL or PL/I and provides an extensible translator to convert them into a LISP-like Cambridge Polish notation which is employed as an intermediate language, i.e., as input to the interpreter or the compiler.
    Consistent with this procedural orientation, TREET provides WHILE type control loops as well as IF ... THEN conditionals. Among the deeper differences between LISP and TREET, perhaps the most controversial is the use by TREET of three address cells as the basis on which to construct list structure. The third cell is under programmer control and has been used for such diverse purposes as parent pointers, value cells, and the storage of properties or property lists. It is also of great convenience in the management of otherwise unprintable list structure. Other variances from LISP include the provision of string as a data type and of TAP, a list processing oriented macro assembler.
    The TREET system operates on IBM 360 computers under OS, which is the basis for its transportability.
    The interactive terminals currently being used are IBM 2260 displays. These relatively inexpensive devices function as high speed interactive character matrices which can be read and written by both the user and the program. In some application areas, the user can change his data by simply typing over it.
    Since OS is not a time sharing system, we had to provide a time sharing monitor, a filing system, and an editor. Two distinct advantages follow from incorporating them into the TREET system itself. First, the editor is programmable, i.e., its functions can be called as sub-routines by a higher level system. Second, the user may debug his TREET programs, using the editor, without leaving TREET.
    Relevant to the present symposium, we should like to note that several of the characteristics of this system would seem to lend themselves well to the construction of systems for algebraic manipulation.
    Among these are the three address cells, particularly attractive for prefix representations in which each sub-expression is to bear a property or property list; the extensibility of the input translator which would allow it to function easily as a user modifiable parser for the specification of mathematical data; and the opportunity, inherent in the use of machine displays, of providing an inexpensive substitute for the light-pen selection of mathematical sub-expressions.
    The TREET language began as a variation of LISP 1.5 [I] and was programmed as a LISP pre-processor on the MAC System [2]. In 1965 it was implemented on the IBM 7030 (STRETCH) computer [3] at The MITRE Corporation for use in computational linguistics and text processing [4,5] and in AESOP, an experimental on-line information control system [6]. The TREET-360 system is a direct descendant; it has been operational since mid-1967 [7].
    Extract: The basic TREET system
    The basic TREET system
    The implementation of the TREET list processing system on IBM 360 computers has involved the use of models 30, 40, and 50, with most of the present work being done on the 360/50. However, our orientation is towards the larger end of the 360 and 370 lines.
    TREET has run under PCP, MFT, and MVT versions of OS/360, and it is well suited to a multiprogramming environment.
    Since TREET is a user task under OS, no special software is needed other than the TREET system itself. A fairly large partition is required: 128K bytes (eight bits per byte) for a minimal system; 225K bytes for the full TREET time sharing system. More core can be used if available. We run the system regularly in LCS (large capacity, slow speed core storage), although with somewhat degraded performance. Direct access devices are an integral part of the design; most commonly used have been the 2314 disk units.
    Programming of the TREET system is on two distinct levels: OS Basic Assembly Language (BAL), and the languages provided by TREET. The BAL level contains the I/0 routines, initializing routines, the reclaimer (garbage collector), and enough basic routines to start up the rest of the system. The higher level routines include many "primitive" list processing functions (e.g., MEMi, EQ). Our intent has been to minimize the amount of programming on the lower level, because it is fairly difficult to modify, whereas anything on the higher level can be changed very simply.

          in [ACM] Proceedings of the Second Symposium on Symbolic and Algebraic Manipulation, March 23-25, 1971 Los Angeles (SYMSAM 71) view details
  • Flores, Ivan "ASSEMBLERS and BAL" Englewood Cliffs Prentice-Hall 1971. view details
          in [ACM] Proceedings of the Second Symposium on Symbolic and Algebraic Manipulation, March 23-25, 1971 Los Angeles (SYMSAM 71) view details
  • Stock, Karl F. "A listing of some programming languages and their users" in RZ-Informationen. Graz: Rechenzentrum Graz 1971 35 view details Abstract: 321 Programmiersprachen mit Angabe der Computer-Hersteller, auf deren Anlagen die entsprechenden Sprachen verwendet werden kennen. Register der 74 Computer-Firmen; Reihenfolge der Programmiersprachen nach der Anzahl der Herstellerfirmen, auf deren Anlagen die Sprache implementiert ist; Reihenfolge der Herstellerfirmen nach der Anzahl der verwendeten Programmiersprachen.

    [321 programming languages with indication of the computer manufacturers, on whose machinery the appropriate languages are used to know.  Register of the 74 computer companies;  Sequence of the programming languages after the number of manufacturing firms, on whose plants the language is implemented;  Sequence of the manufacturing firms after the number of used programming languages.]
          in [ACM] Proceedings of the Second Symposium on Symbolic and Algebraic Manipulation, March 23-25, 1971 Los Angeles (SYMSAM 71) view details
  • Haines, Edward C. "AL: A Structured Assembly Language" April, 1972 Mitre Corporation Report view details
          in [ACM] Proceedings of the Second Symposium on Symbolic and Algebraic Manipulation, March 23-25, 1971 Los Angeles (SYMSAM 71) view details
  • Sammet, Jean E., "Roster of Programming Languages 1972" 30 view details
          in Computers & Automation 21(6B), 30 Aug 1972 view details
  • Stock, Marylene and Stock, Karl F. "Bibliography of Programming Languages: Books, User Manuals and Articles from PLANKALKUL to PL/I" Verlag Dokumentation, Pullach/Munchen 1973 77 view details Abstract: PREFACE  AND  INTRODUCTION
    The exact number of all the programming languages still in use, and those which are no longer used, is unknown. Zemanek calls the abundance of programming languages and their many dialects a "language Babel". When a new programming language is developed, only its name is known at first and it takes a while before publications about it appear. For some languages, the only relevant literature stays inside the individual companies; some are reported on in papers and magazines; and only a few, such as ALGOL, BASIC, COBOL, FORTRAN, and PL/1, become known to a wider public through various text- and handbooks. The situation surrounding the application of these languages in many computer centers is a similar one.

    There are differing opinions on the concept "programming languages". What is called a programming language by some may be termed a program, a processor, or a generator by others. Since there are no sharp borderlines in the field of programming languages, works were considered here which deal with machine languages, assemblers, autocoders, syntax and compilers, processors and generators, as well as with general higher programming languages.

    The bibliography contains some 2,700 titles of books, magazines and essays for around 300 programming languages. However, as shown by the "Overview of Existing Programming Languages", there are more than 300 such languages. The "Overview" lists a total of 676 programming languages, but this is certainly incomplete. One author ' has already announced the "next 700 programming languages"; it is to be hoped the many users may be spared such a great variety for reasons of compatibility. The graphic representations (illustrations 1 & 2) show the development and proportion of the most widely-used programming languages, as measured by the number of publications listed here and by the number of computer manufacturers and software firms who have implemented the language in question. The illustrations show FORTRAN to be in the lead at the present time. PL/1 is advancing rapidly, although PL/1 compilers are not yet seen very often outside of IBM.

    Some experts believe PL/1 will replace even the widely-used languages such as FORTRAN, COBOL, and ALGOL.4) If this does occur, it will surely take some time - as shown by the chronological diagram (illustration 2) .

    It would be desirable from the user's point of view to reduce this language confusion down to the most advantageous languages. Those languages still maintained should incorporate the special facets and advantages of the otherwise superfluous languages. Obviously such demands are not in the interests of computer production firms, especially when one considers that a FORTRAN program can be executed on nearly all third-generation computers.

    The titles in this bibliography are organized alphabetically according to programming language, and within a language chronologically and again alphabetically within a given year. Preceding the first programming language in the alphabet, literature is listed on several languages, as are general papers on programming languages and on the theory of formal languages (AAA).
    As far as possible, the most of titles are based on autopsy. However, the bibliographical description of sone titles will not satisfy bibliography-documentation demands, since they are based on inaccurate information in various sources. Translation titles whose original titles could not be found through bibliographical research were not included. ' In view of the fact that nany libraries do not have the quoted papers, all magazine essays should have been listed with the volume, the year, issue number and the complete number of pages (e.g. pp. 721-783), so that interlibrary loans could take place with fast reader service. Unfortunately, these data were not always found.

    It is hoped that this bibliography will help the electronic data processing expert, and those who wish to select the appropriate programming language from the many available, to find a way through the language Babel.

    We wish to offer special thanks to Mr. Klaus G. Saur and the staff of Verlag Dokumentation for their publishing work.

    Graz / Austria, May, 1973
          in Computers & Automation 21(6B), 30 Aug 1972 view details