> -----Original Message-----
> From: IBM Mainframe Discussion List 
> [mailto:[email protected]] On Behalf Of Micheal Butz
> Sent: Tuesday, March 06, 2012 1:05 PM
> To: [email protected]
> Subject: LAE instruction
> 
> Hi,
> 
> I have two part question regarding the LAE instruction 
> 
> .         What would the sac value e.g. 256,512,768 have to 
> be that when

You use the "SAC n" instruction to switch into AR mode. The "n" is normally 
coded as 512 or x'0200', but you can actually use other values because bits 
0-51 and 56-63 are ignored. We normally use b'0' in the ignored positions, but 
that is not currently required. So "SAC 512" encodes to B2190200 which is an 
opcode of B219, a base register of 0, and and offset of x'200' or 512. But, if 
you really wanted to, you could use any number from 512 to 767. Or many other 
possibilities by using an appropriate value in a base register with the proper 
displacement. I doubt anybody in their right mind would do this. Unless it was 
to obscure the function.

> using the LAE instructions with the following operands LAE  
> 3,0(R4) would
> AR3 get loaded with AR4 

Your instruction is malformed. LAE R3,0(R4), as coded, will not do what you 
want and you cannot force it to. That instruction is assembled as if it were 
really:
" LAE R3,0(R4,R0)", making R4 the index register and R0 the "base" register 
(but not really). In this case, R0 does not really designate a base register, 
but indicates a "special case" of "no base register". In this specific case, 
general register R3 will contain the contents of R4, modified as needed 
according to the AMODE (AMODE 24, only bits 40-63 are copied, with zero bits 
placed in 32-39, with bits 0-31 being unchanged; AMODE 31 copies bits 33-63 of 
R4 into R3, with b'0' in bit 32 and bit 0-31 unchanged; in AMODE 64, all 64 
bits are copied.) The contents of access register 3 (AR3) is set to all zeros, 
regardless of the AMODE due to the base register position containing a 0. This 
is documented for LAE in the Principles of Operation manual.


> 
> .         Second what value does the displacement play in the 
> instruction

The same as in the LA instruction. The result in general R3 is the displacement 
value + contents of the index register + contents of the base register (unless 
the "base register" specification is b'0000', which again indicates "no base 
register" and so does not contribute any value to the addition), and modified 
by the AMODE as mentioned above.

> 
>                  Thanks     
--
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

 

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to