Assembler Language Coding Workshop (ES34G)

Overview

This classroom hands-on lab course provides an introduction to the mainframe Assembler language. The course is designed to develop the skills appropriate to write and/or maintain programs and routines written in S/370 or S/390 Assembler Language. Emphasis is placed on enhancing skills in problem resolution through program check interruption analysis and dump reading.

Audience

This intermediate course is for application programmers and/or beginning system programmers who code, maintain and/or debug application support programs or subroutines written in S/370 or S/390 Assembler Language.

Prerequisites

This classroom hands-on lab course provides an introduction to the mainframe Assembler language. The course is designed to develop the skills appropriate to write and/or maintain programs and routines written in S/370 or S/390 Assembler Language. Emphasis is placed on enhancing skills in problem resolution through program check interruption analysis and dump reading.

Objective

  • Recognize architectural features, such as instruction formats, data representation, storage addressing, and so on, which are significant to program analysis
  • Identify point of program interruption, using the formatted system dump and elements of information such as the Program Status Word (PSW), the Instruction Length Code (ILC), the program's base register(s), and so on
  • Identify appropriate standards for assembler programs in terms of program organization, register conventions, coding practices, documentation, and so on
  • Code and debug assembler language programs which:
  • Conform to standard linkage conventions using save area chaining
  • Define and use various types of data definitions, including fixed point binary, character, hexadecimal, and packed decimal
  • Employ standard macros such as CALL, SAVE, RETURN
  • Use various Assembler Language statements such as CSECT, EQU, COPY, END
  • Use both symbolic and explicit notational forms for instructions
  • Use data literals appropriately, and explain the use of LTORG to direct positioning of the literal pool
  • Create and use appropriate patterns for EDIT instructions
Mostra dettagli

Course Outline

Day 1

  • Welcome
  • Unit 1 - Numbering systems
  • Unit 2 - Mainframe architecture
  • Unit 3 - Assembler syntax
  • Overview of instructions: LA, LR, LTR, MVC, DS, DC
  • Exercise 1 - 80/80 listing
  • Exercise 1A - 80/80 listing

Day 2

  • Exercise 1 review
  • Unit 4 - Data definition statements
  • Unit 5 - Fixed-point binary instructions
  • Exercise 2 - Binary data

Day 3

  • Exercise 2 review
  • Unit 6 - Addressing, comparing, and branching
  • Unit 7 - Data movement instructions
  • Exercise 3 - Text handling

Day 4

  • Exercise 3 review
  • Unit 8 - Assembler pseudo instructions
  • Unit 9 - Reading dumps
  • Unit 10 - Packed decimal processing
  • Exercise 4 - Packed data/editing

Day 5

  • Exercise 4 review
  • Unit 11 - Miscellaneous instructions
  • Course wrap-up