The OP's batch program reminds me of what German physicist Wolfgang Pauli said 
upon reading a young physicist's paper:  "This isn't right, this isn't even 
wrong."

What are you trying to accomplish?  Are you trying to move some data into the 
4-byte field known as CVTUSER?  Your comment "* move 4 characters to CVTUSER" 
implies that that is your intent.  Or are you trying to move some data into the 
virtual storage whose address is in R3 at the time of the MVC instruction?  
Where did the batch program come from?  Did you write it?  If someone else 
wrote it, can you find the author and discuss it with him?  Why did you decide 
that CVTUSER would be a good place to put your data?  After your batch program 
runs, then what?  Will you look at the storage area CVTUSER to see if your data 
is in there?  If so, how do you plan to look at it?  If you succeed in moving 
your data into CVTUSER and there was something else already in there, are you 
ready for the possibly destructive consequences to your system?  The CVT is a 
part of the operating system controlled by IBM.  CVTUSER is documented as being 
"available to the user", which does not necessaril!
 y mean you.  It legally means whoever owns the license from IBM to run the 
operating system on the computer hardware, which is probably Queens University.

A long time ago, short-sighted systems programmers and/or developers used 
CVTUSER to contain the address of some dynamically acquired piece of storage 
that was used to control a vendor product, a major in-house application, or 
some other software that was not part of the IBM'S operating system.  There are 
a number of security issues involved in using this field.

Your MVC instruction is very wrong.  If you want to move something into 
CVTUSER, one way to do it is with this:  MVC   CVTUSER,=C'TEST'
Another way is with this:
         LA    R3,CVTUSER
        MVC   0(4,R3),=C'TEST'

If you are trying to learn how to use the Assembler language, you should not do 
so with any authorized program for a long time.

However, if you have your very own private copy of z/OS to play with (aka a 
"sandbox" system), there are no other users of your system, and it's running 
under VM, then go ahead and do anything you want, as your learning moments will 
not inconvenience anyone else when they go awry.

If you really want to move data into virtual storage address 3, we can help 
you.  You will need to alter the contents of one of the control registers, 
which you can do since your program is authorized.  But this is a really bad 
idea, as is also trying to move data into CVTUSER.

Bill Fairchild
Rocket Software

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of 
Tom Marchant
Sent: Wednesday, December 15, 2010 3:09 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Batch program to update CVTUSER

On Wed, 15 Dec 2010 12:58:02 -0800, Sam Siegel wrote:

>On Wed, Dec 15, 2010 at 12:40 PM, Tom Marchant wrote:
>
>> On Wed, 15 Dec 2010 11:33:18 -0800, Sam Siegel wrote:
>>
>> >R2 is set incorrectly.  It needs to be loaded as follows:
>> >           using PSA,R0      include macro: IHAPSA
>> >           L    R2,FLCCVT   r2 = address of CVT
>> >           drop r0
>> > --> Delete or comment out this line        L     R2,CVTPTR           LOAD
>> >UP CVT ADDRESS
>>
>> Nope.  Either code produces the same result.
>>
> Tom, I'm confused about your comment above.  The original post (shown
>below) never loaded register 2

Never loaded register 2?
What do you call this, which you quoted from the OP?

>        L     R2,CVTPTR           LOAD UP CVT ADDRESS

Maybe you should look up the value of CVTPTR.
Hint: It is not a field in the CVT.

--
Tom Marchant

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at 
http://bama.ua.edu/archives/ibm-main.html

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to