Tag Archives: IBM Assembler

Instruction of the Moment: Load On Condition (LOC)

Learn or review instruction LOC today with some new notes that cover the basics, and a VisibleZ video that demonstrates the instruction in action. The notes include a list of suffixes that can be added to LOC to make coding the instruction easier. You can also find the new instructional materials on the IBM Mainframe Assembler tab.

Leave a comment

Filed under IBM Mainframe Assembler

Adding Binary Fields Without a Register

John Dravnieks kindly suggested adding ASI and AGSI to VisibleZ. David Staudacher suggested using LARL to load a base register in a few VisibleZ programs. Thanks to both of you for the great suggestions. You can watch ASI in action with LARL in the following video (and in the last table on the IBM Mainframe Assembler tab). The video illustrates adding a binary immediate constant to a binary fullword without using a register. AGSI, a sister instruction, works in a similar fashion on doubleword and can be viewed here and on the IBM Mainframe Assembler tab. I haven’t released the latest VisibleZ code which contains these instructions. I’m working on that.

Leave a comment

Filed under IBM Mainframe Assembler

Adding Away (AFI, AG, AGF)

I’m adding more short instruction videos that can be found on the IBM Mainframe Assembler tab (last table). Each video addresses a particular Add instruction using VisibleZ as a teaching tool. You don’t have to have VisibleZ installed to benefit from the videos. Today’s new videos are Add Fullword Immediate, Add Grande, and Add Grande Fullword. Review an instruction you already know, or learn a new one. Stay tuned, more videos are on the way!


Filed under IBM Mainframe Assembler

Standard Entry and Exit Video

How do we get in and out of a program? I call it my standard entry and exit code, but in fact, there are multiple ways of getting the job done while following IBM’s linkage conventions. Here’s a video explanation of the way I do it, line-by-line, with visuals. It’s also #24 on the IBM Mainframe Assembler page.


Filed under IBM Mainframe Assembler

Available Now: The Big Blue Assembler Book

My new assembler book is available in paperback now on Amazon. A hardback version will appear shortly. This is an introductory text. After chapters covering the z Series architecture, the book is organized into topics that are covered in an order that I worked out over 40 years of teaching assembler to students and professional programmers.

Here are some of the chapter topics:

  • Character Data
  • Zoned Decimal and Packed Decimal
  • Binary Data
  • DSECTs
  • Locate and Move Mode I/O
  • Subprograms
  • Bit processing
  • Exotic Instructions

Book Features:

  • Each of the 12 Chapters begins with a newly written introduction to a topic followed by a list of the instructions that are required to master it. Each chapter ends with detailed discussions of each instruction and one or more programming assignments.
  • The book has 5 Appendices
  • I’ve added 18 programming assignments designed to turn you into an assembler programmer. Each programming assignment is limited in scope but targets the fundamental skills you need to become an accomplished assembler programmer.
  • The book has 393 Pages.

I’ve always given away my teaching materials on this site. I’ll continue to do that because it makes me happy to know that someone out there finds the information helpful. Much of the information in the book is available on the website, including the preliminary chapters of the book. What’s available in the book that you might not find on the site is an organization of topics that makes the material accessible, some newly written introductions to various topics, and a collection of programming assignments that lead to programming mastery. You will also have a book you can hold.

I love books. I still have a copy of Programming Assembler Language by Peter Abel – the book I sweated my way through (on my own) some 40 years ago when I was trying to learn assembly language. I hope you will buy this new book and enjoy using it.


Filed under IBM Mainframe Assembler

Search String – SRST

Anubha Agarwal wrote and asked for a video covering Search String (SRST). I don’t have a video quite yet, but here are my notes on this instruction. It’s an interesting one that can be used to search for the first occurrence of a single character in a given area of storage. It was probably added to the instruction set to help compiler writers who needed to search for C strings which are terminated with X’00’.

The interesting feature of the instruction is that it can be interrupted by the CPU for efficiency reasons when searching large areas of storage. The programmer can then decide whether to continue searching or not.

I stumbled over the examples given in the Principles of Operation, until I realized the code is flawed. A BC 1,LOOP instruction should be BC 3,LOOP, so pay close attention to those two examples.

Now that I’ve written down my thoughts, I’ll put together a video soon and provide some program examples you can experiment with. This instruction is definitely worth a look.


Filed under Fans of IBM z, IBM Mainframe Assembler

Update to Chapter 4

Writing a book takes years – at least it does for me. Writing a book about a computer that is still evolving is difficult. The evolution of IBM System/z machines over the last twenty years is amazing. The things I wrote years ago are often dated now – mostly correct, but dated – newer instructions, newer techniques have come along. I’ll keep working at this – editing chapters and changing the content. Today I reposted Chapter 4. Kudos to Les Kelley for some good suggestions that got me thinking.


Filed under IBM Mainframe Assembler

Study assembler with me in the fall

I’ll be teaching a beginning assembler class online again this fall through the Marist College IDCP as part of a two-course sequence. Together, we will write a series of assembler programs that lead to the mastery of skills needed to write assembler programs professionally. Each year, I add new materials and lectures to the course. Class sizes are manageably small, and I’ll communicate with you through on-line office hours and by email. Access to an IBM mainframe is provided as part of the course. Successful completion of these courses leads to IBM Digital certification. You can read more about the IDCP program here. Enrollment is going on now. Contact Roberta Diggins for more information (email: roberta.diggins@marist.edu or phone: 845-575-3601).

The IDCP offers courses in four areas: 1) Z/OS Programming and Applications, 2) Data Center, 3) Cybersecurity, and 4) Emerging Technologies, including an Introduction to Quantum Computing Algorithms and Programming.

I hope to see you in the fall.

Leave a comment

Filed under IBM Mainframe Assembler