z/OS Assembler Programming Part 4: z/Architecture and z/OS - Topical Outline

Day One


General Introduction

z/Architecture - Hardware

z/OS - Software

z/OS Initial Migration Concerns

Computer Exercise: Set up for labs

Linkage Issues - Branching and AMODE Setting

PSW Format

Address Calculation

Register Format

Loading Addresses

Changing Addressing Modes

Passing Control Without Switching AMODE

Passing Control and Switching AMODE

Switching AMODE Without Passing Control

Testing the Current AMODE

Running Around in AMODE-64

Computer Exercise: Setting and Testing AMODEs

Register Management

Storing Register Contents, Unchanged, To Memory

Loading Memory Contents, Unchanged, Into Registers

Move Data (unchanged) Between Registers

Linkage Conventions

Computer Exercise: Saving and Restoring Registers

Decimal Data

Numeric characters - EBCDIC

Numeric characters - ASCII

Numeric characters - Unicode

Zoned decimal data and signs

Packed decimal






Computer Exercise: Packed Decimal Numbers

Day Two

Binary Arithmetic

Halfword Binary Arithmetic

Fullword and doubleword binary arithmetic

Logical binary loads

Other binary loads

Logical binary arithmetic

Computer Exercise: Binary Arithmetic

Boolean Instructions

Working with bits

OR instructions

AND instructions

Exclusive OR instructions

Test under mask instructions

Load and test instructions

Shifting and Rotating - Bits in Registers

Shift Instructions

Grande Shifts

Shift Instruction Processing

Rotate Instructions

Working With Character Strings in IBM Mainframes

Working With Character Strings in IBM Mainframes

Interruptible Instructions

CPU-Determined Unit of Processing

More Instructions for Working With Character Strings in IBM Mainframes

z990 Character Instructions (enhanced again in May, 2004)

Working With ASCII Data in z/OS

Encoding Schemes

Working With ASCII Data in IBM Mainframes

Big Endian and Little Endian

Load Reversed

Store Reversed

Working With ASCII Data, continued

Computer Exercise: Supporting ASCII Data

Introduction to Unicode


Characters, Glyphs, and Fonts

Coding Schemes




Day Three

Working With Unicode Data in z/Architecture

CUUTF, CUTFU, CU24, CU21, CU42, CU41, CU12, CU14



Floating Point and Assembler

Floating Point Formats

Floating Point Instructions: Load Instructions

Floating Point Instructions: Store Instructions

Floating Point Instructions: Convert BFP to HFP

Floating Point Instructions: Convert HFP to BFP

Floating Point Instructions: Convert Fixed to HFP

Floating Point Instructions: Convert HFP to Fixed

Floating Point Instructions: Convert Fixed to BFP

Floating Point Instructions: Convert BFP to Fixed

The z9 Models Instruction Set

Facilities Introduced

The Store-Facility-List-Extended Facility

The Enhanced-Immediate Facility

The ETF2-Enhancement Facility

The ETF3-Enhancement Facility

Those Other Instructions

Specialized Tasks

Debugging Information

Time of Day Clock Instructions

Locking Related Instructions

Message Security Instructions


z/OS V1.2

Macro support (SYSSTATE, CALL, IAVR64)

Debugging information

Symptom dumps


Computer Exercise: Using Memory Objects

The Dead Zone

The z/OS Address Space

The Dead Zone

AMODE64 Linkages

The IEABRC Macro

z/OS V1.3

Additional AMODE64 support

Computer Exercise: Using Programs Bound As AMODE64

z/OS V1.4

New cell pool macros

z/OS V1.5

HLASM V1.5 facilities

z/OS V1.6

Changes to SYSSTATE and other macros

Day Four

z/OS V1.7

Large format data sets

z/OS V1.8

New z9 instructions

Decimal floating point

z/OS V1.9 - nothing new for the Assembler applications programmer

z10 Machine


Load and Store instructions

Compare and Branch, Compare and Trap

Other new Compare instructions

New Execute Instruction

Working with binary data

New move instructions

New Translate and Test instructions

Those Other instructions


New Extended Mnemonics

Mnemonic tagging

Assembler PARM changes

z/OS V1.10

IARCP64: New cell pool services

IARST64: New storage services

z/OS V1.11 - nothing of interest for the Assembler applications programmer

zEnterprise machines (z196, z114) - New hardware instructions


High-Word Facility Instructions

Interlocked-Access Facility Instructions

Load/Store-on-condition Facility Instructions

Distinct Operands Facility Instructions

Population-Count Facility Instruction

Floating-Point Extension Facility

Miscellaneous Changes

z/OS V1.12

Save Areas Revisited

Enhanced BSAM support for 64-bit code

Enhanced Macros (CALL, LINK, LINKX, XCTL, XCTLX)

GETMAIN change

Program Binder change

z/OS V1.13 - nothing of interest for the Assembler applications programmer

z Enterprise Machines: zEC12 - New hardware instructions


The Decimal-floating-point zoned-conversion facility

The Miscellaneous-instruction-extensions facility

The Load-and-trap facility

The Interlock-access facility, 1 and 2

The Execution-hint facility

The Processor-assist facility

The Transactional-execution facility


These Materials © Copyright 2012 by Steven H. Comstock

Materials version: V9.x


Course Objectives
Course Description
Home page