Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!umich!samsung!brutus.cs.uiuc.edu!psuvax1!psuvm!UWAMVS1!TSSAKS From: TSSAKS@UWAMVS1.ADP.WASHINGTON.EDU (206 Al Shing 545-3770) Newsgroups: bit.listserv.ibm-main Subject: Re: Re: Base Registers Message-ID: Date: 9 Feb 90 17:41:00 GMT Sender: IBM Mainframe Discussion list Reply-To: IBM Mainframe Discussion list Lines: 32 Approved: NETNEWS@PSUVM Gateway Comments: To: IBM Mainframe Discussion list How is it known that MVSSIZE is x'10'? It is defined via MVSTIME, not MVSVTIME, and we are not given the entire length of the DSECT in order to determine the value of MVSSIZE. > On Fri, 9 Feb 90 10:42:24 EDT Ken Bell said: > ...... > > > > MVSPROBT EQU * > > USING MVSTIME,R2 <= Set base reg R2 > > LA R2,MVSPTT-MVSSIZE*8 <= Change base reg R2 (?) > > MVSPTL1 LA R2,MVSSIZE*8(R2) <= MVSSIZE needs base reg R2 (?) > > CLI 0(R2),X'FF' > > BE MVSPTL3 > > CLC MVSUSER,VMUSER <= MVSUSER needs base reg R2 (?) > > ... > > ... > > MVSUSER DS 1D > > MVSVTIME DS 1D > > MVSACUM DS 1D > > MVSSIZE EQU (*-MVSTIME+7)/8 > > Note that the USING statement just informs the assembler that you will > be using register 2 as a base. It still has to be loaded with correct > address of what you are USING it for. In the example, register 2 will > be used to address the storage following label MVSTIME. I presume the > series of LA instructions gets register 2 pointing at the correct piece > of storage. Also note that MVSSIZE does not depend on the base register > since it is a constant with a value of X'10'. The only problem you might > have would be with addressability for MVSPTT. I would assume that it is > addressed of some other register. > > John/