Dear Readers, It may be a few weeks between posts. I’ve had a small heart problem that required my immediate attention. Thankfully, the medical solution was available and I’m on the mend, and looking forward to turning my attention to all things assembler. Life really is a blessing, and one of the small blessings in my life is having readers like you follow the site and sometimes find it helpful. I hope you will come back when I’m posting again.
I’ve gotten interested in mechanical computing devices and I’ve known about this one for years. It was an IBM hexadecimal adder from the 1960′s. I couldn’t resist bidding for it on Ebay.
I had a wonderful time at the recent Marist College Enterprise Computing Conference and I had the pleasure of meeting several IBM engineers who design and program the assembler instructions for new IBM machines. They have an amazing depth of knowledge (as you would expect) of the instruction set and they inspired me to dig deeper into the Principles of Operation to tackle some of the newer instructions.
I was at the conference to promote VisibleZ as a teaching tool, and during the talk I mentioned that there are 500+ instructions now. An engineer in the audience signaled higher! VisibleZ offers a subset of instructions that were available on the System 360 – plenty of instructions to be a useful learning tool. Still, I want to move forward, so over the next year I will post my experiments here with the newer 64 bit oriented instructions. I’ll also try to bring VisibleZ into the 64 bit world.
The image at the top is a conference handout that contained a chip in the bottom right corner from the latest IBM zEnterprise mainframe – an EC12. Check out the statistics of that processor!
You may or may not have stumbled over an S0C9 abend in your work with assembly language, but in any case, you can learn a little more about two data types by watching this video that demonstrates the reasons for an S0C9. The code for the video can be found here and all the other assembler videos for the class here.
MVO is an old instruction that has fallen out of use, replaced by SRP. Still, you will see it in older programs. This video will get you up to speed on this “odd” instruction. You will also find the code from the video here.
In this video we take a final look at S0C7 abends. Here is the code and here is the video homepage. There is one case where the data looks fine, but is incorrectly specified. This video will explain the details of why valid packed decimal data can sometimes be incorrectly coded.
The next video in this series with cover S0CB abends – less common than S0C7 s, but related. Stay tuned.
Here’s the next video in the series. There’s never a doubt about what’s happened with an S0C7 – you’ve got bad data! Sit back and watch me demo the most common error my students make to cause this friendly abend.
Find all the other videos here.