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
Debugging S0C7s ReduxDebugging S0C7s Redux
In this video we take a final look at S0C7 abends. Here is the code and here is the video ...
Two Great Assembler TextsTwo Great Assembler Texts
My all-time favorite IBM mainframe assembler text is Peter Abel’s Programming Assembler Language: IBM 370 series architecture and assembly language. ...
Study Assembler On-line with Me at Marist University – Starting FallStudy Assembler On-line with Me at Marist University – Starting Fall
If you would like to pursue on-line assembler training with me starting Fall, 2019, check out the Marist University IDCP ...

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