EDMK EDPATT,VAL
...
EDPATT DC 0C' NNN',C' ',X'202120'
VAL DC P'009'
...
EDPATT DC 0C' NNN',C' ',X'202120'
VAL DC P'009'
I would normally code something like LA 1,EDPATT+3 to handle the case of P'000', but that would hide the case of P'009'. When I detected this I knew VAL would not be 0, so I did not preset reg 1, and got walloped.EDIT AND MARK is identical to EDIT, except for the additional function of inserting the address of the result byte in general register 1 if the result byte is a zoned source digit and the significance indicator was off before the examination of the source bytes. If no result byte meets the criteria, general register 1 remains unchanged; if more than one result byte meets the criteria, the address of the rightmost such result byte is inserted.
This was encountered with Hercules. Does real hardware work this way?