> The PC number is 00180305 > > Bytes 148-151 show 00080305 > > The leading 001 is missing..
In your PC number, bit 44 is one, so you need to read that Principles of Operation paragraph very carefully. The leading 001 is not missing. Bit 44 has been discarded, and the leading 001 has been shifted 1 bit to the right, so it is transformed into 0008. To reconstruct the PC number from bytes 148-151, you need to first examine bits 1-12 of bytes 148-151. If any of those bits are one, then bit 44 must have been one in the PC number, and then you reconstruct the rest of the PC number by reversing the logic described in the Principles of Operation paragraph which explains what is stored in 148-151 when bit 44 of the PC number is one. If Bits 1-12 of bytes 148-151 are all zero, then the bit 44 was zero in the PC number, and you reconstruct the PC number by reversing the logic for when bit 44 is zero in the PC number. And if I miscounted some bits there, well, it is late at night, and Peter Relson can correct me, or we can find the z/OS code to do the PC number reconstruction that Peter must have written in z.OS 1.6 when he implemented ASN-and-LX Reuse (because in order for RTM2 to find an ARR address, we need to reconstruct the PC number from the linkage stack entry, so we can use it to locate the Entry Table Entry for the PC number, which contains the ARR address). > On Tue, 29 Jul 2014 17:39:44 -0400 Jim Mulder <[email protected]> wrote: > > :>> The issued PC is 16 bit linkage index (24 bit total with the entry > :>number) but > :>> the linkage state entry at offset +x'94' (decimal 148) has bits 0-11 > :>zero. It > :>> is described as the "Numeric Part of PC Number". Can the entire value be > :>> returned from the linkage state entry? > :> > :> Principles of Operation says: > :> > :>Numeric Part of PC Number: In a program-call > :>state entry, bit positions 1-31 of bytes 148-151 contain > :>the numeric part of the PC number used by the > :>stacking PROGRAM CALL instruction that formed > :>the entry. When ASN-and-LX reuse is not enabled, or > :>when it is and bit 44 of the effective address used by > :>stacking PROGRAM CALL is zero, stacking PROGRAM > :>CALL places bits 44-63 of the effective > :>address, with 11 zeros appended on the left, in bit > :>positions 1-31 of bytes 148-151. When ASN-and-LX > :>reuse is enabled and bit 44 of the effective address is > :>one, stacking PROGRAM CALL places bits 45-63 of > :>the effective address, with bits 32-43 of the effective > :>address appended on the left, in bit positions 1-31 of > :>bytes 148-151. In any case, stacking PROGRAM > :>CALL places a zero in bit position 0 of the bytes if the > :>resulting addressing mode is the 24-bit or 31-bit > :>mode or a one in bit position 0 if the resulting > :>addressing mode is the 64-bit mode. Jim Mulder z/OS System Test IBM Corp. Poughkeepsie, NY ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
