This is just a thought that I had. I'd appreciate feedback about its utility.
HLASM currently can do some tests on symbols, such at "type" (T'SYMBOL) or
"length" (L'SYMBOL) and others. I thought it might be useful to have another
test to see if the symbol can be resolved via as "relative" operand, or only
via a base+displacement, or not currently addressable. Perhaps A'SYMBOL with a
single character returned: which would be "R" for "short" relative (16 bit
relative value), "L" for "long" relative (32 bit relative value needed),
"0".."F" for the base register (hex 0..F) which the assembler would select, "U"
if it is not addressable at all (including does not exist). The order of
preference would be "R" if a short relative would work, "L" if a short relative
wouldn't work, but a long relative would, the base register if based is
required, or "U" if none of the previous. Why? Because I like relative
instructions. I think it might be helpful to have code such as:
LCLC &T
&T SETC A'SYMBOL
AIF (&T,EQ,"R").R
AIF (&T,EQ,"L").L
AIF (&T,EQ,"U").U
BAS R14,&SYMBOL
AGO .CONT
.R ANOP
BRAS R14,&SYMBOL
AGO .CONT
.L ANOP
BRASL R14,&SYMBOL
AGO .CONT
.U ANOP
MNOTE 8,"CANNOT ADDRESS SYMBOL"
.CONT ANOP
Would this really be of any use in the real world? Or am I off in the parking
lot again?
John McKown
Systems Engineer IV
IT
Administrative Services Group
HealthMarkets(r)
9151 Boulevard 26 * N. Richland Hills * TX 76010
(817) 255-3225 phone *
[email protected] * www.HealthMarkets.com
Confidentiality Notice: This e-mail message may contain confidential or
proprietary information. If you are not the intended recipient, please contact
the sender by reply e-mail and destroy all copies of the original message.
HealthMarkets(r) is the brand name for products underwritten and issued by the
insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake Life Insurance
Company(r), Mid-West National Life Insurance Company of TennesseeSM and The
MEGA Life and Health Insurance Company.SM