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