Agreed. Option to keep backward compatibility where deemed advisable.
Charles -----Original Message----- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Gary Weinhold Sent: Friday, March 10, 2017 11:10 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: HLASM "Anomaly" It would seem to me that perhaps the instruction operand parser should be re-evaluated, since it was probably originally written when all immediate operands were no longer than 1 byte and then extended for 2 byte operands, directed to the rightmost positions in the target register. (I am sure there were exceptions, but I'm not going to take the time to read all the old PoOps). But with more recent instructions allowing 4 byte immediate operands and variation in the affected positions in the targeted register, I would think that enhancing the instruction operand parser for immediate operands with some of the features of constant operand parser (such as duplication factors) could improve the understanding of the coder's intent. Gary Gary Weinhold Senior Application Architect DATAKINETICS | Data Performance & Optimization Phone: +1.613.523.5500 x216<tel:+1.613.523.5500%20x216> Email: weinh...@dkl.com<mailto:weinh...@dkl.com> [http://www.dkl.com/wp-content/uploads/2015/07/dkl_logo.png]<http://www.dkl.com/> Visit us online at www.DKL.com<http://www.dkl.com/> [http://www.dkl.com/wp-content/uploads/2015/08/banner.png]<http://www.dkl.com/mailsig> E-mail Notification: The information contained in this email and any attachments is confidential and may be subject to copyright or other intellectual property protection. If you are not the intended recipient, you are not authorized to use or disclose this information, and we request that you notify us by reply mail or telephone and delete the original message from your mail system. __________ On 2017-03-08 23:22, John Ehrman wrote: I think I have a clearer picture now than I had previously: for instructions, the operand parser evaluates expressions, while for DC/DS operands, the operand parser evaluates duplication factors. For example: LHI 0,2X'FF' is invalid because the operand is not an expression LHI 0.2*X'FF' is valid, and the operand has value X'1FE' DC 2X'FF' generates X'FFFF' DC 2*X'FF' is invalid because the operand is not a duplication factor So I see no language "anomaly", but perhaps a lack of detailed explanation in the Language Reference. John Ehrman