High Level Assembler: Macro Programming.

This course covers the macro facilities available with the High Level Assembler. It also discusses advanced macro programming techniques, such as abstract data types, inheritance and function overlaying.

The course is intended for:

This overview comes in three parts, which are presented in sequence below:

  1. Course Description
  2. Course Objectives
  3. Topical Outline

Course Description

Recommended Duration: 2 Days

Benefits: Students who complete this course will be able to write or maintain macros for Assembler programs. The emphasis is on learning the relevant macro facilities available as well as learning to use them to implement an advanced programming environment.

Audience: Experienced Assembler programmers needing to acquire additional macro programming skills.

Prerequisites: At the very least the student entering this course should have background in using ISPF/PDF or a similar product used for creating programs and submitting jobs. Some experience in writing programs in Assembler.

Related IBM Materials. With IBM's permission this course is based upon John Ehrman's SHARE presentation "Assembler as a Higher Level Language: Macros and Conditional Assembly Techniques".
Access to the following IBM manual in the classroom is recommended (via hardcopy, BookManager, etc.):

Major Topics Include:

Note 1:
This course is based on the most current version (V1R6) of the High Level Assembler.

Note 2:
The course treats object oriented concepts, but is not intended as in introduction to OO-concepts.

Note 3:
All course material is in American English. Oral explanation will be in English by default, but is also available in Dutch, German, and/or French.

Course Objectives

On successful completion of this course, the student, with the aid of the appropriate reference materials, should be able to:

  1. Enhance assembler programs with conditional assembly techniques to support program variations from a single source.

  2. Define and create assembler macros using the following techniques:

    1. Source and/or macro library definitions

    2. Nested macro definitions

    3. Nested and/or recursive macro calls

    4. Keyword parameters and/or positional parameters

    5. Processing of sublists of parameters

    6. Inheritance and function overlaying (polymorphism)

    7. Abstract data types, encapsulation and type checking

    8. Front-ending or replacing existing macros and/or instructions

  3. Document the programs and macros with comments to assist in maintenance and understanding of the code

  4. Debug the resulting code of errors

Topical Outline

Day One

Conditional Assembly and Macro Overview

The Conditional Assembly Language

Variable Symbols

Assigning Values to Variable Symbols

Displaying Variable Symbol Values

Statement Selection

Examples of Conditional Assembly

Conditional Assembly Language Eccentricities

Basic Macro Facility Concepts

The Macro Concept: Fundamental Mechanisms

The Assembler Language Macro Definition

Macro Comments and Readability Aids

Macro Parameters and Arguments

Macro Argument Attributes and Structures

Global Variable Symbols

Macro Debugging Techniques

IBM Macro Libraries

Day Two

Macro Techniques

Case Study 1: Defining Equated Symbols for Registers

Case Study 2: Generating a Sequence of Byte Values

Case Study 3: 'MVC2' Macro Uses Source Operand Length

Case Study 4: Conversion Between Hex and Decimal

Case Study 5: Generate a List of Named Integer Constants

Case Study 6: Using the AREAD Statement

Case Study 7: Macro Recursion

Case Study 8: Defining Macros for Bit-Handling Operations

Case Study 9: Defining and Using Data Types

Case Study 10: Front-Ending a Macro

External Conditional Assembly Functions

Remarks? Questions? More information? Select the topic of your choice or e-mail us with your questions.


To the Course Description
To the Course Objectives
To the Topical Outline


This site is a member of WebRing.
You are invited to browse the list of mainframe-loving sites.
    Tyrannosaurus Rex Dinos are not dead. They are alive and well and living in data centers all around you. They speak in tongues and work strange magics with computers. Beware the dino! And just in case you're waiting for the final demise of these dino's: remember that dinos ruled the world for 155-million years!
Dinos and other anachronisms
[ Join Now | Ring Hub | Random | << Prev | Next >> ]