Are you catching all the overflows that occur when you perform packed decimal arithmetic? Not sure? Read about the Set Program Mask instruction (SPM) that controls how decimal overflows (as well as a few others) are handled inside your program. Learn all about it here.
Instruction of the Day: SPM
Categories:
1 thought on “Instruction of the Day: SPM”
Leave a ReplyCancel reply
Related Posts
New version of VisibleZNew version of VisibleZ
It’s been a while since I updated the copy of VisibleZ on the server. Tonight I uploaded a fresh copy ...
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 ...
Elegant Machine Code:Elegant Machine Code:
... a series of blogs about solving problems with elegant, succinct assembler code - code that System z itself would ...

Some clarification needed
The register contents for IPM/SPM are a mapping to the PSW
Reg bits 34-35 map to PSW bits 18-19
Reg bits 36-39 map to PSW bits 20-23
A problem arises when multiple programs are executing within a region like CICS…either ignore a decimal overflow (not good) or have the whole region abend (mega not good)
Only four exceptions are recognised via the PSW, the macro ESPIE can recognise 15 (not often used). In zCICS I use ESTAE to good effect as this will trap any exception allowing me to clean out the offending program without affecting other processes