does that end up unpacking a single byte at the specified displacement?
(padded with zeros to fill out the length specified for the right operand)
CH R14,=H'2' TOO MANY CHARS?
BL PARM5D NO, IT'S OKAY
LA R14,2 YES, SET R14 TO 2
SPACE 1
PARM5D DS 0H
BCTR R14,0 R14 = HEX LTH
EX R14,PARM5EX PACK WAIT TIME
CVB R15,DWORD R15 = SECONDS TO WAIT
MH R15,MULTSEC CONVERT TO TIMER UNITS
ST R15,WAITTIME SAVE IT FOR STIMER
B NEXTPARM GO CHECK FOR ANOTHER PARM
SPACE 1
PARM5EX PACK DWORD+6(2),0(0,R15) USE 1ST 2 BYTES ONLY
SPACE 1
R14 gets ORed with DWORD=6(2) doesn't it?
I parse the second operand as an explicit length of zero, giving an
effective length of 1 byte for the source, 1 character digit.
If R14 has a value of 2 wouldn't the effective length of the target field
be 3 bytes, or 5 packed decimal digits and a packed sign? The source digit
and sign would end up 1 byte beyond the end of DWORD.


|