Ol' friend, your test is incomplete.  That LMG doesn't go far enough.

Bob

On 4/1/2016 3:36 PM, Ed Jaffe wrote:
On 3/31/2016 2:03 PM, Tom Marchant wrote:

ITYM R0.

Indeed!

And the manual doesn't specify that the address returned is a clean 64-bit
address except if it is AMODE 64. So I'd suggest replacing the NILH with

        LLGTR R0,R0

Empirical testing shows R0 is returned with a clean 64-bit address, even for an
old 24-bit program:

TCB#6 RB#1 ------------------------------------------------- z/XDC TPUT
INTERFACE ------------
XDC ===>
_  00000000_0E957100 0s (A.S.EDJX2) --- EJESSUBS.EJESSUBS+2100, EJESSUBS+2100,
XPRIVATE+1A57100
_     +2100 ***************************************************************
_     +2100                    * Empirical Test for My ASSEMBLER-LIST
Friends                *
_     +2100 ***************************************************************
_     +2100 EBEF C060 0004          LMG   R14,R15,=4FD'-1' Put garbage in R14-R1
_     +2106                         LOAD  EPLOC==CL8'IEFBR14' Load a module
_     +2106 4100 C0C0         +         LA    0,=CL8'IEFBR14' LOAD PARAMETER
INTO REG 0
_     +210A 1B11              +         SR    1,1 SHOW NO DCB PRESENT
_     +210C 0A08              +         SVC   8
_     +210E 0000              >     DC    H'0' Force an abend
_     +210E 0000              >                  +0 *..*

XDC ===> L RWREGS
_     RW0  00000000_00EC5000 00000000_00000001  00000000_7F363434 
00000000_00000000
_     RW4  00000000_7F33A71E 00000000_0E9747CE  00000000_00000041 
FFFFFFFF_FFFFF000
_     RW8  00000000_7F466D00 00000000_7F33C1A4  00000000_7F33A000 
00000000_0E955000
_     RW12 00000000_0E98E7B0 00000000_7F466E00  FFFFFFFF_FFFFFFFF 
00000001_00000000

Reply via email to