On Thu, 26 Jun 2014 08:53:35 -0700, Phil Smith <[email protected]> wrote:

>* In the first module, soon after the PC:
>         ESAR  R1               Get secondary ASID
>         STH   R1,SRQESASN      And remember that
>         MVI SRQERSVA+8,X'37'   Set a magic value
>         STH R1,SRQERSVA+9      Remember the SASN
>         MVI SRQERSVA+11,X'73'  And another magic value
>
>         SAC   512              Begin AR-mode execution
>         LAM   R2,R2,=F'2'      Home space
>
>         USING ACEE,R2
>
>         CLC   ACEEACEE(4),=CL4'ACEE'  Does it look like an ACEE??
>         BE    *+8              Yes, great, continue
>         EX    *-*,*            Ouch, ABEND time
>
>         ST    R2,SRQERSVA+0   Remember the ACEE address
>         MVC   SRQERSVA+4(4),SRQEACEE   Remember saved ACEE address
>* So:
>* 1) We know that the ACEE in R2 looks like an ACEE
>* 2) We have saved both it and SRQEACEE in SRQERSVA
>---------
>* Later on, in the other module:
>         SAC   512              Begin AR-mode execution
>         L     R4,SRQEACEE      Get ACEE address in caller's home space
>         LH    R1,SRQESASN      Get caller's SASN
>         SAR   R4,R1            Set that in AR4
>         LA R3,SRQERSVA         Point to our saved stuff
>         DC X'00'
>* In the dump, at 0(R3):
>* 007FC6F0 007FC6F0 37004573 (and R1 = 0045 as expected)
>* So SRQEACEE is still what we expect (and I've done various checks
>* to be sure something ELSE isn't stepping on that storage), and 
>* SRQESASN is correct (that is, matches what we got from the ESAR
>* back in the first module)
>*
>* BUT R4 is pointing to all zeroes!

I don't think you've proven that SRQEACEE is still what you expect. You've 
shown us SRQERSVA, where you saved a copy of SRQEACEE, and a copy of the ACEE 
address. And SRQERSVA is apparently still good. But you haven't actually shown 
us SRQEACEE (unless it is defined as being at SRQERSVA, which seems unlikely), 
and when you loaded SRQEACEE you got 0 (as shown by what's in R4). 

So it seems like something _has_ stepped on SRQEACEE.

(It is also not clear where you got the ACEE address from in the first place; 
that is also important, and often done incorrectly in cross-memory code, and it 
would be good to see that code.)

(And, as another list member pointed out, an ASN is not the same as an ALET, so 
your usage of SRQESASN seems suspect.)

-- 
Walt

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

Reply via email to