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
Structured Assembler Macros: The IF statementStructured Assembler Macros: The IF statement
Back in the 70′s many thoughtful computer scientists weighed in on a now-dead issue of the GoTo statement in high-level ...
Introduction to Macros and Conditional AssemblyIntroduction to Macros and Conditional Assembly
In the Video Course for IBM Assembler section, I’ve added an introductory lesson on Conditional Assembly and Macro Processing. If ...
Structured Assembler Macros: ELSEIFStructured Assembler Macros: ELSEIF
The IF macro can be paired with an ELSEIF companion macro to build a simple case statement. In the code ...
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