Advanced Assembler Language Coding Workshop (ES35G)

Overview

This course provides instruction and practice in the use of the more complex S/390 Assembler Language facilities for the experienced assembler language programmer. The course includes a discussion of standard linkage conventions, use of BSAM/QSAM and selected system macros, the macro definition language, and reentrant coding considerations.

Emphasis is placed on enhancing skills in problem resolution through analysis of more complex system-provided dumps.

Audience

This course is designed for application programmers and beginning system programmers who code, maintain, and debug application support programs or subroutines written in S/390 assembler language.

Prerequisites

You should be able to:

  • Code and debug simple S/390 assembler language programs

Objective

  • Identify data management considerations and access methods
  • Code assembler language programs which:
    • Conform to standard linkage conventions using save area chaining
    • Define and use BSAM/QSAM datasets through standard I/O macros
  • Define and execute user macros which contain:
    • Positional and/or keyword parameters
    • Fixed or variable entry parameter lists
    • Conditional assembly logic
  • Use variable length storage operations (that is, EX, MVCL, and so on)
  • Employ more complex instructions (that is, TR, TRT, BXLE, and so on)
  • Access JCL parameter data
  • Employ LE date/time handling services
  • Identify reentrant coding considerations and dynamic storage acquisition
Afficher les détails

Course Outline

Day 1

  • (00:15) Welcome
  • (01:00) Unit 1: Review
  • (00:15) Unit 2: Assembler instructions
  • (01:45) Unit 3: Linkage
  • (01:30) Unit 4: LE date/time handling
  • (02:30) Exercise 1: PARM handling and search

Day 2

  • (00:15) Lab review
  • (03:00) Unit 5: Access methods: BSAM/QSAM
  • (03:00) Exercise 2: File handling

Day 3

  • (00:15) Lab review
  • (00:30) Unit 6: Assembler compile-time options
  • (00:30) Unit 7: SNAP dumps
  • (03:30) Unit 8: Macros and the Conditional Assembly Language
  • (02:30) Exercise 3: Macro modification

Day 4

  • (00:25) Lab review
  • (01:15) Unit 9: Miscellaneous instructions
  • (00:25) Unit 10: Floating point data
  • (00:25) Unit 11: Reentrant coding
  • (00:15) Class wrap-up