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

Reply via email to