TTFlogo2.gif (2585 bytes)

 

Courses we teach: Assembler Language

OS/390 Assembler Language: Classic - 5 days
z/OS Assembler: Basic Interfaces - 3 days
Assembler Language: Update - 1 Day

z/OS Assembler for Applications Programmers - 3.5 days
Writing z/OS CGIs in Assembler Language - 2 days

Advanced Topics in Assembler Language - varies (no standard outline available)

Related publications on our site

Assembler language (also called "Assembly language", and BAL (for "Basic Assembler Language")), is the programming language closest to the actual machine instructions of the computer. Programs written in COBOL, PL/I, C, and so on must be compiled, which translates each source statement into many machine instructions. Programs written in Assembler, however, are assembled, generally producing one machine instruction for each statement in the program.

COBOL, C, PL/I, and similar languages are called "High Level Languages", because they hide the underlying architecture of the hardware and the operating system. To code a program in Assembler, a programmer must understand the basic units of data and instruction the machine was designed to work with.

High Level Languages are usually portable: many different hardware and software platforms have compilers for those languages, and you can move a program to a new platform simply by using the right compiler. Assembler language, on the other hand, is not portable at all between hardware platforms: most different hardware platforms use entirely different sets of machine instructions.

Our Assembler courses support HLASM, the High Level ASseMbler.

Our first two courses ("OS/390 Assembler Language: Classic" and "z/OS Assembler: Basic Interfaces") are intended to be taken as a pair to get the complete introductory content for Assembler programming.

These courses assume some prior programming knowledge. The courses cover every hardware instruction except those instructions in these categories: privileged, semi-privileged, floating point, vector. The pair of courses also focus on z/OS coding conventions for program linkages and I/O services as well as on deubgging and dump reading. They include hardware instructions from the original machines in 1963 through instructions introduced in the 1970s-1980s.

Assembler Language: Update is intended for experienced Assembler programmers who need an introduction to the new instructions introduced to the hardware and the Assembler in recent years. It's also a good follow on to "z/OS Assembler: Basic Interfaces" for beginning or intermediate Assembler programmers. It includes machine instructions introduced in the 1990's as well as HLASM V1.4.

Advanced Topics in Assembler Language includes a topic mix chosen with the customer. The topics might include: multi-tasking services; writing reenterant code; creating macro definitions; processing VSAM files or BDAM files in Assembler; and so on.

z/OS Assembler for Applications Programmers is intended for experienced Assembler progammers who are moving applications to the z/OS environment. It is assumed the programmer is familiar with the content in "OS/390 Assembler Language: Update". Note that this course has been updated to include the new instructions introduced by the z990 machines in June, 2003 and more additional instructions introduced in May, 2004, as well as changes introduced by HLASM V1.5 in June, 2004. We have also added material on additional instructions added with the z9 series in 2006. In 2008, we added new instructions of the z10 machines, HLASM 1.6, and z/OS 1.10 information.

Writing z/OS CGIs in Assembler Language is a complete introduction to creating CGI programs in Assembler to run on your z/OS server.

The following free publications on our site may be of interest:
    Applications Assembler Programming for z
    Writing Reentrant Programs in Assembler
    I/O and AMODE 31
    Doing Packed Decimal Arithmetic in Assembler

 

The following courses are multi-lingual and the labs may be run in Assembler language if  the student prefers:

Introduction to TSO and REXX APIs
DB2 Application Coding
DB2 Stored Procedures
Secrets of Inter-Language Communication in z/OS
Using LE Services in z/OS
Developing Applications for z/OS UNIX

List of topics
Home page

A site for people to compete in Assembler programming

this page last updated: 06 September, 2009
Copyright © 2009 by The Trainer's Friend, Inc.