MVC works equally well to access data space storage or 64-bit storage. In the former case, you have to ensure that the access register(s) corresponding to the base register(s) are loaded with the correct ALET.
In the latter case, you have to make sure the base register(s) contain proper 64-bit addresses. Index registers don't enter into it. > -----Original Message----- > From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On > Behalf Of Bill Fairchild > Sent: Friday, December 14, 2012 3:08 PM > To: IBM-MAIN@LISTSERV.UA.EDU > Subject: Re: 64 Bit Common Storage (was Common Data Space Basics) > > I believe this resolves the confusion over MVC's not working: the MVC > instruction does not allow for an Index register's being specified. > Therefore the MVC, all by itself, cannot be used to access storage in a > data space as, e.g., the L instruction can, since L requires an Index > register to be used. However, an LAE instruction can be used immediately > before the MVC to generate a 64-bit address of storage within a data > space, and this address can then be used in the MVC instruction > immediately following. The MVC, of course, must execute with a current > PSW specifying the appropriate address space control value. So three > instructions are really necessary in order to use MVC: > SAC xxx > LAE yyy > MVC zzz > In this sequence, the MVC will appear to have "worked" with an address > within a data space. > > Bill Fairchild > Programmer > Rocket Software > 408 Chamberlain Park Lane • Franklin, TN 37069-2526 • USA > t: +1.617.614.4503 • e: bfairch...@rocketsoftware.com • w: > www.rocketsoftware.com > > > -----Original Message----- > From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On > Behalf Of Tom Marchant > Sent: Friday, December 14, 2012 1:02 PM > To: IBM-MAIN@LISTSERV.UA.EDU > Subject: Re: 64 Bit Common Storage (was Common Data Space Basics) > > On Fri, 14 Dec 2012 10:48:42 -0600, Donald Likens wrote: > > >MVC does not work. Implications: Can only use instructions that are modal > or have G on them (I wasn't sure so I tested it). > > Yes it does. Perhaps you weren't using good 64-bit addresses. > > >I have an interesting problem. I put a DC X'00' instruction as the very > first instruction in my AMODE 64 program. It abended as expected but look > at R15! > > > >+TEST64 CSECT > >+TEST64 AMODE 64 > >+TEST64 RMODE 24 > > DC x'00' > > > >SYSTEM COMPLETION CODE=0C1 REASON CODE=00000001 > > TIME=11.02.25 SEQ=57325 CPU=0000 ASID=001B > > PSW AT TIME OF ERROR 078D0001 8000771A ILC 2 INTC 01 > > ACTIVE LOAD MODULE ADDRESS=00007718 OFFSET=00000002 > > NAME=TEST642 > > DATA AT PSW 00007714 - 00000000 0000EBEC D0180024 > > GR 0: FD000008 1: 00006FF8 > > 2: 00000040 3: 007D99D4 > > 4: 007D99B0 5: 007FF350 > > 6: 007CAFE0 7: FD000000 > > 8: 007FCD48 9: 007D3CC8 > > A: 00000000 B: 007FF350 > > C: 832A7CDA D: 00006F60 > > E: 00FDD9E0 F: FFFFF002 > > A program that receives control from ATTACH or LINK in AMODE 64 does not > have the entry point address in register 15. Your value indicates that > your caller was AMODE 31. > > -- > Tom Marchant > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, send email > to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, send email > to lists...@listserv.ua.edu with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN