Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

IBM

z/Architecture Assembler Language Part 3: Working Programs

IBM via Coursera

Overview

Google, IBM & Meta Certificates – 40% Off
One Coursera Plus subscription covers most Professional Certificates on Coursera.
Unlock All Certificates
Welcome to z/Architecture Assembler Language Part 3: Working Programs, the third course in the three part series. In the first two courses of this series, you learned about the z/Architecture Assembler language syntax and machine instructions. This course presents topics a programmer needs to know to write working application programs in Assembler language, such as addressing modes, calling other programs, performing I/O operations, additional Assembler instructions, and some complex but useful machine instructions and utilizes hands-on labs. By the end of this course, you will be able to: - Code Assembler language programs which: - Conform to z/OS conventions - Employ standard macros such as CALL, SAVE, RETURN - Use various Assembler Language statements such as AMODE, EQU, DSECT, ORG - Describe the different addressing/residency modes (24/31/64) - Code assembler language programs that define and use QSAM datasets through standard I/O macros (DCB, OPEN/CLOSE, GET/PUT) - Use variable length storage operations (CLCL, MVCL) - Use more complex instructions (EDMK, TR, TRT) This is an intermediate course, intended for learners with a background in computer science and professionals that require Assembler knowledge on IBM Z. Before taking this course, you should have completed the first and second courses in the three part series, z/Architecture Assembler Language Part 1: The Basics and z/Architecture Assembler Language Part 2: Machine Instructions. To complete the labs, you need basic knowledge of TSO/ISPF and JCL. In particular, you should know how to: - Logon to TSO - Edit a file with the ISPF editor - Submit a job - View a job's output in SDSF You can learn about TSO/ISPF in the course Getting Started on Mainframe with z/OS Commands and Panels.

Syllabus

  • Addresses and addressing modes
    • In this module, you’ll build a strong foundation in working with addresses in Assembler. You’ll learn how LOAD and LOAD ADDRESS instructions work, explore how addressing modes (24-bit, 31-bit, and 64-bit) impact program behavior, and understand how memory is accessed and managed in z/OS. Through examples and practical scenarios, you’ll also learn how to define addresses, use expressions, and apply these concepts when working with real programs.
  • Assembler instructions
    • In this module, you’ll learn how to write cleaner and more maintainable Assembler code by using powerful directives like EQU, DSECT, and ORG. You’ll explore how to assign meaningful names to values, map complex memory structures, and control how data is organized in memory. Through practical examples and hands-on lab exercises, you’ll see how these techniques improve code readability, reduce errors, and simplify program maintenance.
  • Calling other programs
    • In this module, you’ll learn how to structure Assembler programs using subroutines and program calls. You’ll explore how branch-and-save instructions manage control flow, how programs interact with each other in z/OS, and how to follow standard calling conventions. Through hands-on labs, you’ll also apply save area techniques and macros to preserve program state and write cleaner, more maintainable code.
  • Input/Output
    • In this module, you’ll learn how Assembler programs perform input and output operations using sequential data sets. You’ll explore how to read and write records using macros like GET and PUT, how datasets are described and accessed, and how JCL connects your program to system resources. Through examples and lab review, you’ll see how these concepts come together in real-world applications.
  • Complex instructions
    • In this module, you’ll explore powerful machine instructions used to process and manipulate data in Assembler programs. You’ll learn how to format values, control loops, move and compare large data sets, and transform or validate strings using instructions like MVCL, TRANSLATE, and TRT. Through hands-on labs and examples, you’ll see how these instructions are applied in real-world scenarios to build efficient and reliable programs.
  • Final Assessment
    • Take this quiz to earn your badge to z/Architecture Assembler Language Part 3: Working Programs

Taught by

Jeff Bisti

Reviews

Start your review of z/Architecture Assembler Language Part 3: Working Programs

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.