BT13 - Assembler Programming Workshop - 5 Days

Course Description

The course is aimed at developers not familiar with Assembler program development. This course covers all aspects of Programming with Assembler. The course teaches the design, writing and testing of Assembler programs. Many exercises are performed by the developer to ensure that the statements taught are fully understood and practical experience is gained.

Delegates may be new to programming or familiar with a high level language and require Assembler to support historic "bread and butter" applications, or improve debugging capabilities.


Pre-requisites

If the course is to run on an IBM mainframe, prior knowledge of TSO/ISPF and JCL is required. This can be gained by attending course BT02.


Objectives

At the completion of this course, students will know and understand how to use the IBM Assembler Programming Language.

On completion of this course the student will be able to:

  • Explain the assembly process
  • Explain the general syntax and structure of the language
  • Demonstrate the ability to start and end programs correctly
  • Select and use appropriate instructions for moving data between registers and storage
  • Select and use appropriate instructions for moving data around storage
  • Use appropriate instructions to alter the logic flow of a program.
  • Perform binary integer arithmetic
  • Perform decimal arithmetic
  • Perform bit manipulation
  • Execute non-VSAM queued technique I/O macros
  • Call sub-routines in a variety of ways


Environment

This course is deliverable for the IBM operating system z/OS, (OS/390).


Customisation

For on-site courses (i.e. at your premises), we are more than happy to tailor the course agenda to suit your exact requirements. In many cases, we are able to build your in-house standards and naming conventions into the delivered course.


Course Details

Assembler environment
Assembly output, Binder output, Load Module
locations, General Purpose Registers,
documentation sources, and general syntax.

Data areas
DC, DS, Literals, and EQU

Beginning and ending
CSECT statement, Save Areas, BASR, BR, L,
LA, LM, ST, STM, Using statement, and End statement

Basic decision making
Condition Codes, BC, BCR, extended mnemonics, CLC, and CLI

Moving data around storage
MVC, MVI, MVCL, MVN, MVO, MVZ

Non-VSAM queued I/O macros
Open, Close, DCB, Get, and Put

Moving data to/from registers
IC, ICM, ICMH, L, LH, LM, ST, STC, STCM, STCMH, STM

Storage overlay
DSECT. ORG, and the STORAGE macro

More decision making
BCT, BCTR, C, CH, CP, CR, LTR

Pre- and Post- arithmetic formatting
PACK, UNPK, CVB, CVD, and OI

Binary integer arithmetic
A, AH, AR, D, DR, M, MH, MR, S, SH, SR

Decimal arithmetic
AP, DP, ED, EDMK, MP, SP, SRP, ZAP

Bit manipulation
AND, XOR, OR, theShiftInstructions, and TM

Sub-routine Handling
CALL, LINK, LOAD, and XCTL macros


Course Format

Practical sessions make up a large part of the course, allowing delegates to demonstrate and reinforce the lectures given. During these sessions the delegate will gain experience of writing and testing different types of Assembler programs using the various Assembler verbs available.

Examples are used extensively, ranging from simple code snippets to full applications with complete 'real world' functionality. These are supplied at the start of the course and it is encouraged that the delegates execute and 'experiment' with these under the instructor's guidance as they are introduced.

These examples are available to take away, along with the delegate's own work.

The comprehensive Student Guide supplied is fully indexed serving as a useful reference tool long after the course has finished. Delegates will also be able to access a free help-line with technical questions relating to topics covered on the course.


Course Enquiry