Category: Fans of IBM z

Review an Instruction: MHIReview an Instruction: MHI

For small, binary integer multiplications, you can use MH or MHI. With MHI, the second operand is stored as an immediate constant inside the instruction. The condition code isn’t set, so you have to be careful not to overflow the limits of the computation. Still, it’s a handy instruction. See some examples, and learn the details here.

Pet Blog InterviewPet Blog Interview

I write mysteries when I’m not working with assembler or playing with my dog, Rocco. I recently did an an interview with author Marcia James about my novels, the second of which contains a dog as an important part of the story. You can read about it on her site here. Order a novel (On Amazon) as a way to support the site!

Review an Instruction: MHYReview an Instruction: MHY

Just a few more multiplication instructions, and we will move forward in the alphabet from “M”. MHY is a companion instruction to MFY. These two instructions share the same instruction format: RXY-a. Remember that “Y”-type instructions can reach farther from the base address, both forward and backward. You can find a writeup here.

Review an Instruction: MSRReview an Instruction: MSR

I’m still working my way alphabetically (ususally) through the instruction set, picking instructions you should learn. We are in the M’s and there’s a plethora of multiply instructions we can review. I’m also selecting instructions I haven’t already covered. Today’s instruction is Multiply Single Register (MSR), which provides an easy way to multiply two single-precision register values without much setup. The result should be single-precision if you want to use this instruction. Read about MSG here.

IBM zDay – Nov 12, 2025IBM zDay – Nov 12, 2025

⏱️The countdown is on for IBM Z Day 2025, coming November 12!
Get ready for a free virtual experience packed with innovation, learning, and community.
💡6 content-rich technical tracks
🏅4 industry-recognized digital skills badges in AI & Data, Security, Modernization and IBM Z Skills
🎤Over 250 industry expert speakers and global thought leaders delivering technical content and hands-on labs designed for all levels.
Whether you’re deep into Z or just starting out, there’s something here for everyone.
👉 Register today – ibm.biz/ibmzday-2025

Debugging AbendsDebugging Abends

I’ve added an introductory section on debugging to the main page. Currently, there are four videos and four abending programs that cover abends S0C1, S0C4, and two versions of S0C7. You will have to add some JCL for your system. I’ve included the data sets the programs process. I will add some more videos for other abends later.

Review an Instruction: MGReview an Instruction: MG

Multiply Grande (MG) is the sister instruction of Multiply(M) and produces produces 128-bit products in an even/odd register pair. Ususally the result we are looking for is in the single, odd, grande (64-bits) register. That presents a problem: How do we convert a 64-bit product in a grande register to packed-decimal? It’s not obvious and requires a bit of mathematical know-how. This article shows you the assembler code that will do the conversion, and points to an explanation.

Review an Instruction: MFYReview an Instruction: MFY

It’s been a few weeks since I’ve posted. Life intervenes occasionally. This post is for a Multiply (Fullword) instruction which has an RXY-a instruction format providing a long displacement. This instruction is well worth a look, if you consistently reach for (M) when multiplying fullwords. You can find the short article for MFY here.

, ,

Reaching Above the Bar: 64-Bit AddressingReaching Above the Bar: 64-Bit Addressing

Ready to tackle programs that can reach above the bar? As they say in Red Stick, There is beaucoup storage there waiting for you. In this video, you will learn how to call a subroutine that switches to 64-bit addressing to create 10 megabytes of storage above the bar. Think of what you can do with that amount of storage – Read an entire file into memory – build a data structure for all of your records. Besides the video, there is a working main program and a subroutine you can use to get started.