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