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

Reply via email to