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
Instructions of the Day: AP and SP – Add and Subtract Packed DecimalInstructions of the Day: AP and SP – Add and Subtract Packed Decimal
Start learning the basics of decimal arithmetic in assembler by tackling how to add and subtract in packed decimal. This video ...
Instruction of the Day: MVOInstruction of the Day: MVO
MVO is an old instruction that has fallen out of use, replaced by SRP. Still, you will see it in ...
Standard Entry and Exit VideoStandard Entry and Exit Video
How do we get in and out of a program? I call it my standard entry and exit code, but ...

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