Browse Prior Art Database

AL: A STRUCTURED ASSEMBLY LANGUAGB

IP.com Disclosure Number: IPCOM000128821D
Original Publication Date: 1972-Apr-01
Included in the Prior Art Database: 2005-Sep-19
Document File: 7 page(s) / 29K

Publishing Venue

Software Patent Institute

Related People

Haines, Edward C.: AUTHOR [+3]

Abstract

Systems programs offer a severe challenge to their implementers: they must be tight and fast, for they will be in frequent use; they must be free of errors, for the entire software structure above them critically depends on them; and many of them must operate in an environment devoid of software support. The traditional choice of programming languages for systems programming has been the basic symbolic assembly language for the machine, probably augmented by a few macros ( 1. Lang, C. A., Languages for Writing System Programs, in ";Software Engineering Techniques";. NATO Science Committee 101-106, April 1970.) . The disadvantages of this approach are well known: it is extremely difficult for anyone, even the original programmer, to comprehend what is written. The use of higher level languages such as PL/I often cannot even be considered because of the low-level environment in which some programs must exist. This paper presents a language, AL, which provides all the capabilities of the basic assembly language (BAL) of System/360 yet which offers a dramatic improvement in intelligibility. The language is implemented as a preprocessor to BAL. The basic features of AL are: free format, allowing grouping and spacing; block structure for sequence control; extended operation codes for such operations as hit setting and testing; and macro or machine instruction statements for other straight-line coding. Although AL shares many features with PL/360 ( 2. Wirth, N., PL360, A Programming Language for the 360 Computers. ";Jour. ACM";, Vol. 15 (Jan. 1968), 37-74.) , it differs substantially in the sort of constructions possible. The significant advantages of Al are: it is conceptually much simpler than PL/360, it is compatible with existing BAL coding (AL and BAL code can co-exist within an assembly), and, perhaps most important, macros are directly supported, thus allowing one to substantially change the flavor of the language.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 18% of the total text.

Page 1 of 7

THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.

AL: A STRUCTURED ASSEMBLY LANGUAGB

by Edward C. Haines April 1972

The MITRE Corporation This document has been approved for public release. Project 572M Contract No. F19(628)-71-C

ABSRACT

A structured assembly language provides non-branching operations at the assembly level (machine instructions and macros) together with control structures that provide for loops and alternatives. Elimination of user-coded branches results in substantially improved intelligibility and reliability of programs. This paper describes a structured assembly language, AL, which is implemented as a preprocessor to the standard OS/360 assembler.

TABLE OF CONTENTS

I. INTRODUCTION.....1
II. THE LANGUAGE.....1
IF-THEN and IF-THEN-ELSE Statements.....2
WHILE loop.....3
DO-UNTIL loop.....3
COUNT loop.....3
BIF statement.....4
non-control extensions.....4
III. THE IMPLEMENTATION OF AL.....5
IV. APPLICATIONS.....5
V. CONCLUSIONS.....6
APPENDIX I. INPUT SYNTAX OF AL.....7
APPENDIX II. EXAMPLE OF SYSTEM CODING IN AL.....9
REFERENCES.....13

I. INTRODUCTION

Systems programs offer a severe challenge to their implementers: they must be tight and fast, for they will be in frequent use; they must be free of errors, for the entire software structure above them critically depends on them; and many of them must operate in an environment devoid of software support.

MITRE Corporation Page 1 Apr 01, 1972

Page 2 of 7

AL: A STRUCTURED ASSEMBLY LANGUAGB

The traditional choice of programming languages for systems programming has been the basic symbolic assembly language for the machine, probably augmented by a few macros 1. The disadvantages of this approach are well known: it is extremely difficult for anyone, even the original programmer, to comprehend what is written. The use of higher level languages such as PL/I often cannot even be considered because of the low-level environment in which some programs must exist.

This paper presents a language, AL, which provides all the capabilities of the basic assembly language (BAL) of System/360 yet which offers a dramatic improvement in intelligibility. The language is implemented as a preprocessor to BAL.

The basic features of AL are: free format, allowing grouping and spacing; block structure for sequence control; extended operation codes for such operations as hit setting and testing; and macro or machine instruction statements for other straight-line coding. Although AL shares many features with PL/360 2, it differs substantially in the sort of constructions possible. The significant advantages of Al are: it is conceptually much simpler than PL/360, it is compatible with existing BAL coding (AL and BAL code can co-exist within an assembly), and, perhaps most important, macros are directly supported, thus allowing one to substantially change the flavor of the language.

II. THE LANGUAGE

The AL language as implemented consists of two types of extensions to the basic assemb...