Assembler Programming, Part 2

Course:  A2
Duration:  4 Days
Level:  III
Course Summary

This course is designed to build on our basic Assembler Programming course to facilitate the development of more sophisticated programs.

It's aimed at system programmers, software programmers and advanced application programmers who need the ability to write and debug assembler programs and better understand the software that their installation uses.

« Hide The Details
Topics Covered In This Course

Basic Assembler Revision

  • Review the Basic Course content.
  • Revisit addressability.
  • Explain the significance of AMODE and RMODE.
  • Review the instruction set.
  • Exercise to demonstrate the impact of AMODE/RMODE.

Diagnostic Aids

  • Using the SNAP macro.
  • SPIE/ESPIE routines.
  • STAE/ESTAE routines.
  • Exercise using SNAP.

Branch Tables

  • Why are COND CODEs multiples of 4?
  • Structure of a branch table.
  • Exercise using a branch table.

Static Sub-Routines

  • Where are static routines located?
  • Obtaining the EXEC statement PARM field.
  • What is a VCON?
  • Use of BAL, BALR, BAS, and BASR.
  • Using the CALL macro.
  • The role of the Program Binder / Linkage Editor.
  • Changing from AMODE(24) to AMODE(31).
  • Potentially three exercises.

Dynamic Sub-Routines

  • How are dynamic routines located?
  • LINK Macro.
  • LOAD Macro.
  • DELETE Macro.
  • XCTL Macro.
  • CALL Macro revisited.
  • Potentially two exercises.


What is a sub-task?

  • ATTACH macro.
  • DETACH macro.
  • POST macro.
  • WAIT macro.

Boolean Instructions

  • What are Boolean functions?
  • NR - AND Register (24/31-bit).
  • OR ? OR Register (24/31-bit).
  • XR ? Exclusive OR Register (24/31-bit).
  • NGR - AND Register (64-bit).
  • OGR ? OR Register (64-bit).
  • XGR ? Exclusive OR Register (64-bit).
  • N - AND Register with Storage (24/31-bit).
  • O ? OR Register with Storage (24/31 bit).
  • X ? Exclusive OR Register (24/31-bit).
  • NG - AND Register with Storage (64-bit).
  • OG ? OR Register with Storage (64-bit).
  • XG ? Exclusive OR Register with Storage (64-bit).
  • NI - AND Immediate (24/31-bit).
  • OI ? OR Immediate (24/31-bit).
  • XI ? Exclusive OR Immediate (24/31-bit).
  • NC - AND Character (24/31-bit).
  • OC ? OR Character (24/31-bit).
  • XC ? Exclusive OR Character (24/31-bit).
  • TM - Test Under Mask.
  • An exercise in bit manipulation.

Shift Instructions

  • How communication is established between CICS and DB2.
  • SLA ? Shift Left Arithmetic.
  • SLDA ? Shift Left Double Arithmetic.
  • SLDL ? Shift Left Double Logical.
  • SLL ? Shift Left Logical.
  • SRA ? Shift Right Arithmetic.
  • SRDA ? Shift Right Double Arithmetic.
  • SRDL ? Shift Right Double Logical.
  • SRL ? Shift Right Logical.
  • An exercise to test switches for validation messages.

Non-VSAM I/O Processing

  • The difference between BSAM and QSAM.
  • The short block issue.
  • DCB Difference.
  • READ Macro.
  • WRITE Macro.
  • FIND Macro.
  • STOW Macro.
  • An exercise to read a data set.

VSAM File Processing

  • OPEN Macro.
  • GET Macro.
  • PUT Macro.
  • CLOSE Macro.
  • ACB Macro.
  • RPL Macro.
  • EXLST Macro.
  • ENDREQ Macro.
  • SHOWCB Macro.
  • GENCB Macro.
  • MODCB Macro.
  • At least one exercise in VSAM file processing.

Storage Management

  • Why might this be necessary?
  • RE-ENTRANT Code.
  • GETMAIN Macro.
  • FREEMAIN Macro.
  • STORAGE Macro.
  • An exercise is storage acquisition.

Language Environment

  • Compatibility considerations.
  • Register conventions.
  • Accessing a parameter string.
  • Mode considerations.
  • LE Macros.

Coding Macros

  • What is a macro?
  • Where are macros stored?
  • How are macros located?
  • MACRO and MEND Statements.
  • Symbolic parameters.
  • Positional Parameters.
  • Keyword Parameters.
  • Modal statements.
  • Concatenation rules.
  • Conditional Assemblies.
  • Macro comments.
  • System symbols.
  • Global versus Local symbols.
  • AIF and AGO statements.
  • An exercise in coding a macro.
What You Can Expect

Upon completion of this course attendees will be able:

  • Use various diagnostic tools such as SNAP, ESPIE and ESTAE.
  • Use branch tables.
  • Execute embedded subroutines.
  • Execute subroutines dynamically.
  • Understand sub-tasking principles.
  • Perform bit manipulation to change the setting of individual bits in a byte.
  • Use shift instructions.
  • Use Basic Access Method processing for non-VSAM files.
  • Process VSAM files.
  • Acquire storage areas within the Address Space.
  • Understand the implications of coding LE compliant Assembler.
  • Understand the techniques of channel programming.
  • Code their own macros.
Who Should Take This Course

This course is aimed at system programmers, software programmers and advanced application programmers who need the ability to write and debug assembler programs and better understand the software that their installation uses.

Recommended Prerequisites

Delegates should:

  • Have some basic assembler programming knowledge; attendance in our Assembler Programming course will provide this.
  • Be able to edit files using ISPF/PDF.
  • Have an understanding of JCL.
Training Style

Hands On.

« Hide The Details
Related Courses
Code Course Title Duration Level
Assembler Programming
5 Days

Every student attending a Verhoef Training class will receive a certificate good for $100 toward their next public class taken within a year.

You can also buy "Verhoef Vouchers" to get a discounted rate for a single student in any of our public or web-based classes. Contact your account manager or our sales office for details.

Schedule For This Course
There are currently no public sessions scheduled for this course. We can schedule a private class for your organization just a couple of weeks from now. Or we can let you know the next time we do schedule a public session.
Notify me the next time this course is confirmed!
Can't find the course you want?
Call us at 800.533.3893, or
email us at [email protected]