Home About Courses Schedule Services Webinars Contact Search

Assembler Language Programming Essentials


Duration: 5 days

Method: Instructor led, Hands-on workshops

Price: $2750.00

Course Code: MF1030


Application and systems programmers that need to develop or maintain programs using the IBM High Level Assembler.


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 decimal, and binary data instructions.

• Boolean logic and logical operations.

• 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 successful completion of this course, the student will be able to:

  • 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 character, logical, packed decimal, and binary data instructions with instructor-supplied JCL and test data.


• 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


  1. Introduction to Assembler
    • Concept of Machine Language
    • Purpose of the Assembler
    • Machine Language and Assembler Language
    • Coding Rules and Statement Formats
    • Instruction Formats
  2. Defining Storage Areas and Constants
    • Define Storage (DS) statement
    • Define Constant (DC) statement
    • Types of Constants
    • Definition of Input and Output Records
  3. Packed Decimal Processing
    • Arithmetic Instructions
    • Comparison Instructions
    • Conversion Instructions
  4. Data Movement Instructions
  5. Assembling and Executing Your Program
    • Assembler Language Control Statements
    • Interpreting the Assembler Output
    • Executing Your Assembler Program
  6. Debugging Assembler Programs
    • Abends
    • Dumps
    • Debugging Facilities
  7. Conditional Processing
    • Comparison Instructions
    • Branching Instructions
  8. Formatting Output Data
    • Edit Instruction
    • Edit and Mark Instruction
  9. Binary Processing
    • Data Loading/Storage
    • Arithmetic Instructions
    • Comparison Instructions
    • Conversion Instructions
  10. Logical Instructions
    • Flag Fields
    • AND / OR / XOR Instructions
    • TM Instruction
  11. Table Processing
    • Table Processing
    • Loop Control
  12. . Program Linkage
    • Program Entry Sequence
    • Program Exit Sequence
  13. Sequential File Processing
    • Overview
    • DCB Macro
    • OPEN / CLOSE Macros
    • GET / PUT Macros
  14. Program Sectioning
    • Multiple Base Registers
    • CSECTs
    • DSECTs