Assembler Language Coding

Upon completion of the course, the students will be able to write High Level Assembler programs that read and write disk/tape files, and generate formatted reports.

Overview

This course introduces students to the basic skills required to write assembler programs using the IBM High Level Assembler (HLASM). The course introduces students to the concept and use of assembler languages. Students learn to use fixed point and decimal (packed) instructions to perform required programming functions. Among the topics to be covered will be:

  • Character, packed and binary data instructions.
  • Data editing and output control.
  • Processing tables.
  • Program linkage conventions.
  • Data management macros.
  • Assembler language debugging.
  • Developing large programs using multiple base registers.
  • Creating and using DSECTs.

Upon completion of the course, the students will be able to write High Level Assembler programs that read and write disk/tape files, and generate formatted reports. A series of written and lab exercises will be used to reinforce the classroom education. Students will code, assemble and execute a series of programs using fixed point and decimal instructions with instructor supplied JCL and test data.

Audience

Students should have taken an Introduction to z/OS or equivalent experience

TSO/ISPF or equivalent experience.

Basic MVS JCL or equivalent experience

Previous experience in designing and coding application programs will enhance the results of this course.

Length

40 hours

Outline

Introduction to Assembler

  • Concept of Machine Language
  • Purpose of the Assembler
  • Machine Language and Assembler Language
  • Coding Rules and Statement Formats
  • Instruction Formats

Defining Storage Areas and Constants

  • Define Storage (DS) statement
  • Define Constant (DC) statement
  • Types of Constants
  • Definition of Input and Output Records

Packed Decimal Processing

  • Arithmetic Instructions
  • Comparison Instructions
  • Conversion Instructions
  • Data Movement Instructions

Assembling and Executing Your Program

  • Assembler Language Control Statements
  • Interpreting the Assembler Output
  • Executing Your Assembler Program
  • Dump Analysis

Conditional Processing

  • Comparison Instructions
  • Branching Instructions

Output Control

  • Edit Instruction
  • Edit and Mark Instruction

Binary Processing

  • Data Loading/Storage
  • Arithmetic Instructions
  • Comparison Instructions
  • Conversion Instructions

Table Processing

  • Introduction
  • Table Processing
  • Loop Control

Program Linkage

  • Program Entry Sequence
  • Program Exit Sequence

Sequential File Processing

  • Overview
  • DCB Macro
  • OPEN / CLOSE Macros
  • GET / PUT Macros

Program Sectioning

  • Multiple Base Registers
  • CSECTs
  • DSECTs