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 Reply Cancel reply
Related Posts
Review an Instruction: LRL (IBM Assembler – HLASM)Review an Instruction: LRL (IBM Assembler – HLASM)
With similarities to LARL and L, Load Relative Long (LRL) provides a helpful way to load fullwords. Review an old ...
How to Print a RegisterHow to Print a Register
A friend of mine, Melvyn Maltz, was amused by some code I wrote recently. The code simply printed out the ...
z/OS Training at Marist College Enrolling Nowz/OS Training at Marist College Enrolling Now
Marist College through the Institute of Data Center Professionals (IDCP) offers a variety of mainframe-based courses and professional z/OS certificates ...

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