z/OS 2.1 will provide Generalized Alignment Support
in the binder.
That is true and does not conflict with what I wrote (although the binder
support might round up 1, 2, and 4-byte boundary requests to 8, I can't
remember).
The support is in the binder (and assembler). And it remains true that
the ONLY alignment values actually supported by contents supervision
were doubleword and page, regardless of what the binder doc claimed.
Of course the artist formerly known as CC is correct
The binder doc really does not claim otherwise. The binder (and assembler)
primarily support alignment
On Wed, 27 Feb 2013 09:55:50 -0500, John Eells wrote:
IIRC (always a dangerous assumption), the page size changed from 2K to
4K in MVS 3.8 SE2.
I don't think so. IIRC, MVS never supported 2K pages. OS/VS1 did
On 2/28/2013 4:28 AM, Peter Relson wrote:
the ONLY alignment values actually supported by contents supervision
were doubleword and page, regardless of what the binder doc claimed.
Of course the artist formerly known as CC is correct
The binder doc really does not claim otherwise. The binder
In 5457404732659672.wa.paulgboulderaim@listserv.ua.edu, on
02/26/2013
at 08:39 PM, Paul Gilmartin paulgboul...@aim.com said:
What I was more thinking of was that on the 3350 an optimum block
size was 6KiB, 3 times the 2KiB page size supported on the S/360
(370?)
The S/370 supported both 2
In 512e1e76@us.ibm.com, on 02/27/2013
at 09:55 AM, John Eells ee...@us.ibm.com said:
IIRC (always a dangerous assumption), the page size changed from 2K
to 4K in MVS 3.8 SE2.
No, MVS always used 4 KiB page frames. Perhaps you are thinking of
storage keys; I don't recall which processor
shmuel+...@patriot.net (Shmuel Metz , Seymour J.) writes:
The S/370 supported both 2 KiB and 4 KiB pages; the 360/67 only
supported 4 KiB. As I recall, DOS/VS and OS/VS1 used 2 KiB, while
OS/VS2 used 4 KiB. I don't recall what page sizes Virtual Machine
Facility/370 supported.
360/67
approach ... but mapped to
370 hardware tables instead of mapped to 360/67 hardware tables.
re:
http://www.garlic.com/~lynn/2013c.html#13 I do not understand S0C6 on CDSG
2kbyte versus 4kbyte virtual pages were trade-off between efficiency
between being able to pack a program into small real storage
re:
http://www.garlic.com/~lynn/2013c.html#13 I do not understand S0C6 on CDSG
http://www.garlic.com/~lynn/2013c.html#15 I do not understand S0C6 on CDSG
with regard to offline email regarding page replacement algorithms
When I was starting work on paging stuff as undergraduate circa 1968
To return a bit to reality it is important to be able to allocate storage at
runtime on a 16 byte (quadword) boundary if one is using instructions such as
CDSG or LPQ which require 16 byte alignment of the storage operand. That
ability is fortunately and conveniently provided by the
John McKown wrote: If you got this from a STORAGE
OBTAIN or GETMAIN, then the alignment is only guaranteed to be double word
aligned, unless you ask for it to be page aligned.
In fact STORAGE and GETMAIN macros support quadword alignment or other powers
of 2 from 3-31 with the STARTBDY
New one on me. Thanks. Been programming in Linux for too long, and gotten
stale on z/OS.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
For a location within dynamically obtained storage Paul Gilmartin's
scheme of using execution-time modulo (congruence) arithmetic is
inescapable..
Unless the GETMAIN or STORAGE OBTAIN specifies BNDRY=PAGE. In
that case the quadword can be defined with DS LQ within your DSECT.
Fortunately, it
If I code SECTALGN(16) for a Binder invocation I get alignment on a
doubleword boundary, at an address A such that A = 0 mod(16).
If instead I code STARTBDY=16 in a STORAGE GET macro I get alignment
on a 2^16 = 65536-byte boundary, at an address A such that A = 0
mod(2^16), i.e., A = 0
I should of course have written STORAGE OBTAIN and not STORAGE GET.
I have also verified that Edward Jaffe's clarification is entirely
correct. I am now more than a little curious to discover how this
particular bug was discovered.
It is clear that one can specify GOFF and quadword alignment
On Tue, 26 Feb 2013 07:27:33 -0500, John Gilmore wrote:
If I code SECTALGN(16) for a Binder invocation I get alignment on a
doubleword boundary, at an address A such that A = 0 mod(16).
If instead I code STARTBDY=16 in a STORAGE GET macro I get alignment
on a 2^16 = 65536-byte boundary, at an
On Tue, 26 Feb 2013 08:11:50 -0600, Paul Gilmartin wrote:
And, of course, the SECTALGN convention is to be preferred despite
being more verbose because it allows extension at some time in
the unforseeable future when a boundary not a power of 2 might
become useful.
You lost me with that. More
On Tue, 26 Feb 2013 09:06:54 -0600, Tom Marchant wrote:
On Tue, 26 Feb 2013 08:11:50 -0600, Paul Gilmartin wrote:
And, of course, the SECTALGN convention is to be preferred despite
being more verbose because it allows extension at some time in
the unforseeable future when a boundary not a power
I complained not so much about the inconsistency as about the
confusions it gives rise to.
For SECTALGN(I) the integer I must BE a power of 2.
For STARTBDY(I) the integer I specifies the power of 2 the value of
which is the alignment specified.
Now the integer 0 is not a power of 2. (2^-2 =
invented it, and Gauss improved it.
Don
-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU]
On Behalf Of John Gilmore
Sent: Tuesday, February 26, 2013 8:07 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: I do not understand S0C6 on CDSG
I should
On Mon, 25 Feb 2013 12:09:24 -0600, Paul Gilmartin paulgboul...@aim.com wrote:
On Mon, 25 Feb 2013 11:49:59 -0600, John McKown wrote:
Depends on the contents of register 11. B040 will be quad word aligned only
if register 11 is itself quad word aligned. If you got this from a STORAGE
OBTAIN or
On Tue, 26 Feb 2013 09:36:02 -0600, Paul Gilmartin wrote:
On Tue, 26 Feb 2013 09:06:54 -0600, Tom Marchant wrote:
The value specified for SECTALGN is an integer that is used as a power
of 2 to specify the alignment required.
Not as I read it:
On Tue, 26 Feb 2013 12:46:13 -0600, Bill Godfrey wrote:
N R15,=A(X'FFF0')
This is a case where my preference would be to use a newer instruction.
NILL R15,X'FFF0'
It is part of the Relative-and-Immediate facility that was required for OS/390
2.10.
--
Tom Marchant
On Tue, 26 Feb 2013 13:02:22 -0600, Tom Marchant m42tom-ibmm...@yahoo.com
wrote:
On Tue, 26 Feb 2013 12:46:13 -0600, Bill Godfrey wrote:
N R15,=A(X'FFF0')
This is a case where my preference would be to use a newer instruction.
NILL R15,X'FFF0'
It is part of the
In 4208449059345095.wa.dlikensinfosecinc@listserv.ua.edu, on
02/25/2013
at 11:40 AM, Donald Likens dlik...@infosecinc.com said:
Am I correct is saying B040 is a quadword boundary?
Not unless the address in R11 is quadword aligned.
--
Shmuel (Seymour J.) Metz, SysProg and JOAT
On Tue, 26 Feb 2013 12:46:13 -0600, Bill Godfrey wrote:
If the address is guaranteed to be double word aligned, you only need to
obtain 8 more bytes than needed.
I was thinking of another 8 bytes to save the address originally
returned by OBTAIN.
-- gil
On 2/26/2013 5:06 AM, John Gilmore wrote:
I have also verified that Edward Jaffe's clarification is entirely
correct. I am now more than a little curious to discover how this
particular bug was discovered.
It is clear that one can specify GOFF and quadword alignment and then,
avoiding with
When J. P. Morgan was queried about how much the maintenance of the
steam yacht he used to commute between Manhattan and New Jersey cost
him, his legendary reply was, 'If you have to ask, you can't afford
it.
Analogously, if you have to look up the history of congruences in a
Wikipedia article,
-MAIN@LISTSERV.UA.EDU]
On Behalf Of John Gilmore
Sent: Tuesday, February 26, 2013 3:47 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: I do not understand S0C6 on CDSG
When J. P. Morgan was queried about how much the maintenance of the
steam yacht he used to commute between Manhattan and New
My point about 'blind luck' was different, it was that many things
doable once GOFF is in effect are supported only for inclusion in
program objects. Many GOFF 'object modules' cannot, that is, be link
edited into a load module.
The situation is complicated; many program objects can, for
At 09:06 -0600 on 02/26/2013, Tom Marchant wrote about Re: I do not
understand S0C6 on CDSG:
I suppose someone might find it useful to (for example) align a CSECT
to a doubleword boundary that is not a quadword boundary. I don't
know why someone would want to do that.
You want Quadword
On Tue, 26 Feb 2013 18:59:01 -0500, Robert A. Rosenberg wrote:
You want Quadword alignment of something in the CSECT without any gas
preceding it due to it being Quadword aligned. IOW: It has an offset
of an odd number DWs from the start of the CSECT.
What I was more thinking of was that on the
On Behalf Of John Gilmore
Sent: Tuesday, February 26, 2013 8:07 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: I do not understand S0C6 on CDSG
I have also verified that Edward Jaffe's clarification is entirely
correct. I am now more than a little curious to discover how
I am missing something:
The Principles of Operations states:
COMPARE DOUBLE AND SWAP (CDSG) must
be designated on a quadword boundary. The R1
and R2 fields for COMPARE DOUBLE AND
SWAP must each designate an even-numbered
register. Otherwise, a specification exception is
recognized.
I think
-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf
Of Donald Likens
Sent: Monday, February 25, 2013 12:40 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: I do not understand S0C6 on CDSG
I am missing something:
The Principles of Operations states:
COMPARE DOUBLE AND SWAP
Depends on the contents of register 11. B040 will be quad word aligned only
if register 11 is itself quad word aligned. If you got this from a STORAGE
OBTAIN or GETMAIN, then the alignment is only guaranteed to be double word
aligned, unless you ask for it to be page aligned. There is no way to
On Mon, 25 Feb 2013 11:40:08 -0600, Donald Likens wrote:
Is there a good way in assembler to insure a double word starts on a quadword
boundary?
DS((*+15-CSECT)/16*16)C
o There may be an easier way.
o This presumes CSECT is on a quadword boundary. There may
be ways to force
On Mon, 25 Feb 2013 11:49:59 -0600, John McKown wrote:
Depends on the contents of register 11. B040 will be quad word aligned only
if register 11 is itself quad word aligned. If you got this from a STORAGE
OBTAIN or GETMAIN, then the alignment is only guaranteed to be double word
aligned, unless
You can of course force assembly-time, zero-origin quadword alignment
within a program object using
| CNOP byte,16
which fills n bytes, 0 = n =15, with no operation instructions
Then asking the Binder to page-align your program object will do the
job [4096 = 0 mod(16)].
For a
On Mon, 25 Feb 2013 15:07:31 -0500, John Gilmore wrote:
You can of course force assembly-time, zero-origin quadword alignment
within a program object using
| CNOP byte,16
or with DS 0LQ
And either of these of course requires that SECTALGN(16) and GOFF be
specified in the
===
From: Tom Marchant m42tom-ibmm...@yahoo.com
To: IBM-MAIN@listserv.ua.edu,
Date: 02/25/2013 04:13 PM
Subject:Re: [IBM-MAIN] I do not understand S0C6 on CDSG
Sent by:IBM Mainframe Discussion List IBM-MAIN@listserv.ua.edu
On Mon, 25 Feb 2013 15
Tom Marchant wrote:
begin extract
And either of these of course requires that SECTALGN(16) and GOFF be
specified in the assembly options.
/end extract
and this is of course correct.GOFF is required for any value of
SECTALGN greater than SECTALGN(8).
There are some further issues that I was
On 2/25/2013 5:23 PM, John Gilmore wrote:
APAR OA41232 of 17 January 2013 notes that AMASPZAP
cannot|could not be used on a program object for which SECTALGN(16)
was specified.
Just to clarify. This bug exists for PDS load modules created with
SECTALGN(16) only and _not_ for program objects
43 matches
Mail list logo