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

