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: [email protected] • w: 
www.rocketsoftware.com


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf 
Of Tom Marchant
Sent: Friday, December 14, 2012 1:02 PM
To: [email protected]
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 
[email protected] with the message: INFO IBM-MAIN

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

Reply via email to