On 21 Nov 2006 at 17:32, Schuh, Richard wrote:

>  However, it might not
> have been as chancy as it may seem. The literal pool is doubleword
> aligned and boundary alignment may have been a factor in determining
> where the literal resided. I would like to think that the 8-byte
> multiples are put at the front, the 4-byters next, then the twos
> followed by everybody else. In looking at an assembly listing, that
> seems to be the sequence. 

I was going to say the same thing, but a bit more
definitively.

The following quotation is taken from the HLASM 5 ref manual, at
http://publibfp.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/asmr1010/5.31.1?SHELF=&DT=20040728153937

>>>>>
Each literal pool has five segments into which the literals are stored (a) in 
the order that the literals are specified, and (b) according to their assembled 
lengths, which, for each literal, is the total explicit or implied length, as 
described below. 

| The first segment contains all literal constants whose assembled 
| lengths are a multiple of 16. 

The second segment contains those whose assembled lengths are a multiple of 8, 
but not of 16. 

The third segment contains those whose assembled lengths are a multiple of 4, 
but not a multiple of 8. 

The fourth segment contains those whose assembled lengths are even, but not a 
multiple of 4. 

The fifth segment contains all the remaining literal constants whose assembled 
lengths are odd. 

| Since each literal pool is aligned on a SECTALGN alignment, this 
| guarantees that all literals in the second segment are doubleword aligned; 
| in the third segment, fullword aligned; and, in the fourth, halfword 
| aligned. 

<<<<<

Don Russell also said:

> If your habit was to use L Rx,=X'...' you were probably lucky in the old
> days.... the =X literal would not necessarily be word-aligned, causing
... <problems> ;-)

I believe the current literal pool alignment behavior has been
around for a pretty long time. I went now to look it up in the ref, 
but it is how I remember being taught in the old days of the 70s.

Shimon
-- 
**********************************************************************
**
Shimon Lebowitz                mailto:[EMAIL PROTECTED]
VM System Programmer           .
Israel Police National HQ.     http://www.poboxes.com/shimonpgp
Jerusalem, Israel              phone: +972 2 530-9877  fax: 530-9308
**********************************************************************
**

Reply via email to