Yes, definitely interesting stuff. I'm pretty pedestrian and have only used the 
newer insert instructions with actual immediate values, probably as the 
designers intended...  

IILF  R2,C'HOLA' 
IILF  R2,EquHOLA
EquHOLA EQU C'HOLA' 

Resulting in x'C8D6D3C1' in R2.  But when C'HOLA' is defined as a constant, as 
in Mr. Maltz example... 

IILF  R2,LBL_HOLA
LBL_HOLA  DC  C'HOLA' 

This results in the address of LBL_HOLA being placed in R2.  This made no sense 
initially, but I suppose the address is actually the extended immediate value 
for the label. However this explanation runs into problems when dealing with 
64bit addresses, and the fact that none of the II instructions insert more than 
32bits.  Starting to think this is due to straying from intended/expected 
usage. :-)  

Mike      
  
-----Original Message-----
From: IBM Mainframe Assembler List [mailto:[email protected]] On 
Behalf Of Seymour J Metz
Sent: Monday, November 23, 2020 9:18 PM
To: [email protected]
Subject: Re: Relocatable immediate values

Caution! This message was sent from outside your organization.

IILF and LGFI will load whatever is in the immediate operand. PoOps is 
perfectly clear on that. What goes into the high bit is an assembler issue, but 
anything but 0 would cause problems. If you're going to us it in, e.g., BASSM, 
the use FOO+X'80000000' rather than FOO for switching to 31 bit mode.

AMODE64 has additional issues.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


________________________________________
From: IBM Mainframe Assembler List <[email protected]> on behalf 
of Melvyn Maltz <[email protected]>
Sent: Monday, November 23, 2020 8:11 PM
To: [email protected]
Subject: Relocatable immediate values

I have to thank my esteemed colleague Don Higgins for enabling this post

IILF R3,MYLABEL
...
MYLABEL DC 'HELLO'

This is interesting on a number of levels, yes, the immediate value is 
relocatable I guess this is a 'good thing' for 32-bit immediate 
instructions...hmmm

My concern is though, are these instructions modal ?
I haven't tested all variants, but in 31-bit mode is the top bit on  ?
If so, LGFI would propagate it...if so it doesn't seem like a good thing

Not a lot about this in the PoP...nada

Reply via email to