10 July 1996:
The federal government and IBM agreed today to end a 40-year-old decree against
the computer
giant.
The 1956 consent decree between the Department of Justice and IBM, of Armonk,
N.Y., resulted
in several restrictions on the company that were designed to prevent it from
john gilmore wrote:
Chris Craddock wrote:
In practice those limitations are trivially defeated, which is one of
the many reasons I maintain
that non-reentrant modules are just a bad idea and ought to be
avoided, especially by privileged
code.
My view is less charitable. There are now
Steve Comstock[EMAIL PROTECTED] writes:
Well, when you are learning Assembler, the work to write reentrant (I, too,
prefer that term to the relatively new-fangled reenterable) can get in
the way of focusing on simply how the instructions work and how to string
together series of instructions
Today assembly language is a putatively 'advanced' topic; it is not usually
learned first; and
Semi-Colon and AND (or BUT) are redundant.
The ';' replaces AND or BUT!
students who are already familiar with storage classes (with the differences
among static, LIFO automatic, and non-LIFO heap
== john gilmore == wrote2006-10-21 14:54:
Steve Comstock[EMAIL PROTECTED] writes:
Well, when you are learning Assembler, the work to write reentrant (I,
too, prefer that term to the relatively new-fangled reenterable) can
get in the way of focusing on simply how the
john gilmore wrote:
Steve Comstock[EMAIL PROTECTED] writes:
Well, when you are learning Assembler, the work to write reentrant (I,
too, prefer that term to the relatively new-fangled reenterable) can
get in the way of focusing on simply how the instructions work and how
to string together
Reentrancy may be preferred, but it is not always reasonable or even
possible. Each situation must be evaluated on its own merits.
I always -try- to write reentrant code. However, I sometimes find that a
non-reentrant coding technique is a more suitable approach.
Programmers must have both the
No idea. UNIX certainly has a *similar* exit value (as they call return
codes) culture: 0 = success, etc. They tend to use 1, 2, 3, ... not 4, 8,
12, 16, and I don't think there is any equivalent to the MVS culture of 4 =
warning, 16 = disaster.
BTW, another how come question would be how come
Ted MacNEIL wrote:
I have seen students so burdened with the complexities of the advanced topics
that they never pick up the basics well.
At issue is not whether advanced topics should be taught to beginners --
most would agree that's folly -- but whether the concepts of storage
John P Baker wrote:
I always -try- to write reentrant code. However, I sometimes find that a
non-reentrant coding technique is a more suitable approach.
Could you please describe such a situation?
--
Edward E Jaffe
Phoenix Software International, Inc
5200 W Century Blvd, Suite 800
Los
Charles Mills wrote:
And then there is no way to test that the code really is reentrant (that I
know of -- am I missing something?) without running it APF-authorized. Now
there's a winner: testing brand new code in anything goes mode!
Enable the CsvRentSp252 DIAG trap on your development
See http://www.opentext.com/news/pr.html?id=1767
Hopefully, this will mean good news for the troubled HostExplorer
emulator and related products.
--
Edward E Jaffe
Phoenix Software International, Inc
5200 W Century Blvd, Suite 800
Los Angeles, CA 90045
310-338-0400 x318
[EMAIL PROTECTED]
Sure. True quick-and-dirties. My product supports DD overrides using the
typical second parameter convention. I have an assembler program to
exercise that feature. It consists of a LINK macro and a few DCs. Reentrance
would be overkill.
Charles
-Original Message-
From: IBM Mainframe
Consider that I have a program running in private storage which issues a
GETMAIN to acquire working storage. The GETMAIN is unsuccessful. I now
wish to issue a WTO to the console to inform the system operator of the
condition and to supply diagnostic information (return code, reason code).
In a
The following message is a courtesy copy of an article
that has been posted to alt.folklore.computers as well.
[EMAIL PROTECTED] (John P Baker) writes:
Reentrancy may be preferred, but it is not always reasonable or even
possible. Each situation must be evaluated on its own merits.
so
I have problems with this assertion.
Reentrant code tends to be larger than non-reentrant code and to run slower
in that it generally has to increase the instruction path length due to the
need to acquire and release dynamic storage for work areas and to copy model
data into that dynamic storage.
Could someone please remove Dan Ponta [EMAIL PROTECTED] from the
mailing list?
He is no longer at that address and I am receiving a message to that effect
with every post.
John P Baker
Software Engineer
--
For
snip
A program that is re-entrant according to the strict definition is one
that spontaneously re-enters itself. We call such behavior a loop.
-unsnip---
Sometimes we call it recursion. G
--snip-
I have problems with this assertion.
Reentrant code tends to be larger than non-reentrant code and to run slower
in that it generally has to increase the instruction path length due to the
need to acquire and release dynamic storage
Charles Mills writes:
Reentrant code is typically more scattered in its storage references, which
increases paging
overhead (at least in theory).
Properly qualified, this once good theory can be rescued. Locality of data
reference is good, and locality of instruction reference is good.
Steve Samson wrote:
Um, Steve, reenterable was the original word circa 1964.
Interesting. I didn't know that. I joined IBM in 1968
and I seem to recall reentrant being the common tongue
then and reenterable used later.
-Steve Comstock
Some IBM
dockie circa 1970 thought that that looked too
If the reentrant program must acquire and release storage (via
GETMAIN/FREMAIN or STORAGE ACQUIRE/RELEASE) during each invocation, I can
not see how the operation of the internal cache is going to make a
difference of sufficient significance to support the performance assertion.
If the reentrant
Non-mainframers tend to use the word reentrant to mean
what we mainframers would call recursive.
Mainframers tend to use the word reentrant to mean
a program that is concurrently executable by multiple
units of work and it does not modify itself at all (or
may modify itself in a way that is not
A reentrant program need not use GETMAIN/FREEMAIN/STORAGE. I've written
zillions of reentrant routines that rely on the caller to provide a
work area or that rely on pre-allocated storage areas (usually PC routines).
Using pre-allocated or caller-specified work areas is extremely fast. If
a
Charles Mills wrote:
And a corollary would be why DID IBM make it so darned hard to write
reentrant assembler code? Some IBM macros can be used in standard form
without a problem. Some simply require MF=E with MF=L in the DSECT. Some
require MF=L in the DSECT and a model in CSECT storage that
John P Baker writes:
My experience is that the assertion that reentrant programs ALWAYS perform
better than non-reentrant programs can not be justified. There are simply
too many variables involved.
This is, at best, a straw man, constructed to facilitate dismemberment.
The textbook
You are correct in that an optimal situation exists when necessary dynamic
storage can be supplied to a reentrant program by the caller.
However, that is not ALWAYS the case.
My objection is to the use of the term ALWAYS.
To paraphrase something read years ago, THE ONLY ABSOLUTE IS THAT THERE
Charles Mills wrote:
Sure. True quick-and-dirties. My product supports DD overrides using the
typical second parameter convention. I have an assembler program to
exercise that feature. It consists of a LINK macro and a few DCs. Reentrance
would be overkill.
You've hit a sore spot with me.
z900 and later processors have a separate caches for instruction fetch and
data fetch; usage DOES have a significant effect on performance
9672's and later.
I remember SAS having issues with this long before z.
Optimisation of ASM is an art that has long lost its need.
You can take the savings
Charles,
I guess I always thought that it was easier to to use shift left to
get the desired return code.
In any case now for 20+ years its worked fine why change it?
Ed
On Oct 21, 2006, at 9:41 AM, Charles Mills wrote:
No idea. UNIX certainly has a *similar* exit value (as they call
Hopefully, this will mean good news for ...
On the basis of the bounce I keep getting, I'd say the RIF has started already.
--
Phil Payne
http://www.isham-research.co.uk
+44 7833 654 800
--
For IBM-MAIN subscribe /
It seems I've touched off another little fire-storm :-)
And a corollary would be why DID IBM make it so darned hard to write
reentrant assembler code?
Umm... because they really weren't thinking about the problem. Back in
the day things were considerably simpler and there was really no need
The following message is a courtesy copy of an article
that has been posted to alt.folklore.computers,bit.listserv.ibm-man as well.
Anne Lynn Wheeler [EMAIL PROTECTED] writes:
A.6 Multiprogramming and Multiprocessing Examples
Two necessary steps you left out of your example are moving the model MF=Ls
and similar structures to the DSECT, and the relocation of address constants
in those structures. More complexity = more places for an error to occur.
Further, I am working as a contractor, and most readers of this list
Chris Craddock writes:
This is of course, a religious argument to many. I don't expect to
change any minds. But I offer the following challenge to assembly
language application developers. Even though LE is a demented rats-nest
of bad ideas, if you simply use it, you might be pleasantly
On 21 Oct 2006 05:54:37 -0700, in bit.listserv.ibm-main
(Message-ID:[EMAIL PROTECTED])
[EMAIL PROTECTED] (john gilmore) wrote:
Steve Comstock[EMAIL PROTECTED] writes:
Well, when you are learning Assembler, the work to write
reentrant (I, too, prefer that term to the relatively
new-fangled
Just TWO things would make life so much simpler:
1. A universal hardware and OS stack. Then all the discussions about
reentrance go away.
2. Get the I/O control blocks out of the user's space -- go instead to a
handle type approach where the gory details of the I/O control blocks were
not the
Good link. Thanks Ed (and Cheryl). I was not aware specifically of the
256-byte I-cache.
Charles
-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Edward Jaffe
Sent: Saturday, October 21, 2006 10:06 AM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: Is
On Sat, 21 Oct 2006 11:43:17 -0700 Charles Mills [EMAIL PROTECTED] wrote:
:Just TWO things would make life so much simpler:
:1. A universal hardware and OS stack. Then all the discussions about
:reentrance go away.
LE will sort of give you that (on the software side).
:2. Get the I/O control
Edward Jaffe wrote:
A symptom of a mature operating system. The now decades-old services
allowed parameters to be set along with MF=L and attempted to merge
options in their MF=E expansions. The new services merely reserve space
and declare symbols in their MF=L expansions and their MF=E
john gilmore wrote:
Chris Craddock writes:
This is of course, a religious argument to many. I don't expect to
change any minds. But I offer the following challenge to assembly
language application developers. Even though LE is a demented rats-nest
of bad ideas, if you simply use it, you might
Phil Payne wrote:
The 1956 consent decree between the Department of Justice and IBM, of Armonk,
N.Y., resulted
in several restrictions on the company that were designed to prevent it from
becoming a
monopoly in the
computer industry.
There are currently no Consent Decree or similar
And doing this while keeping true to compatability allowances unique to
the platform? If customers discover that they will be required to, in a
fell swoop, replace all installed hardware, software, interfaces, etc.
how many would stick with this platform?
Wayne Driscoll
Product Developer
JME
On Sat, 21 Oct 2006 16:30:59 +, john gilmore [EMAIL PROTECTED] wrote:
More important, it is in logic a universal negative; and it can be proved
that no instance of an universal negative can be proved.
Hmmm. So there is a proof that no proof of a universal negative can exist.
This
At 07:58 -0700 on 10/21/2006, Charles Mills wrote about Re: Is the
teaching of non-reentrant HLASM coding practices:
And then there is no way to test that the code really is reentrant (that I
know of -- am I missing something?) without running it APF-authorized.
Use RENT as well as RSECT
-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On
Behalf Of Robert A. Rosenberg
Sent: Saturday, October 21, 2006 3:09 PM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: Is the teaching of non-reentrant HLASM coding practices ever
defensible?
At 07:58 -0700
Cobol was really easy, because I was fresh out of second semester
assembler. 1st semester was PDP 11, second was os370.
-Original Message-
From: IBM Mainframe Discussion List
[mailto:[EMAIL PROTECTED] On Behalf Of Steve Comstock
Sent: Saturday, October 21, 2006 6:43 AM
To:
Which is EXACTLY what LOTS of the IBM macros do!
OPEN ((R4)),MODE=31
+ CNOP 0,4 ALIGN LIST TO HALFWOR
+ BAS 1,*+12 LOAD REG1 W/LIST ADDR
+ DCA(0)
I meant in theory. I meant had they done this back when. I meant as
opposed to 100 things that Chris might wish for and that other OSes do
routinely, just these two things would be (would have been) a huge
improvement.
Charles
-Original Message-
From: IBM Mainframe Discussion List
Whoa !!!
In all this, maybe the most interesting facet is that we managed to drag
Steve Samson away from the bridge table.
Guess his partner must have been declarer at the time ... ;-)
Shane ...
--
For IBM-MAIN subscribe /
That's my recollection also. I know it was around 1969 -- the second
(software) consent decree, because that is the one year I worked for what
would become Kraft Corporation, and my boss had me order every Type 3
(remember those -- free, unsupported, SE-written software?) program that he
thought
If a prog modify some part of the hardware I-cache it will run slower
because the hardware cache becomes invalid. Reentrant coding avoid this.
Well also the getmain/freemain for reentrant code require some cylce.
I don't know what is better in terms of CPU for a quick and dirty pgm.
Roland
Ted
The major Canadian banks all sell insurance and have done so since, IIRC,
the early 90's. However I don't believe they can as yet use their branch
networks to market insurance -- you can certainly buy direct from their
Internet sites.
James F. Smith
-Original Message-
From:
Minor things (many folks provided great answering appends)
JPA: Job Pack Area. It is not CDEs. It is modules each of which is
represented by a CDE
JPQ: Job Pack Queue. This is the queue of CDEs
SCTR: This is supported only for nucleus (where it is required) and is
ignored everywhere else and thus
Peter:
Thanks for the definitions. I guess my memory is partially paged
out. Why is the nuc linked with sctr?
Ed
On Oct 21, 2006, at 9:32 PM, Peter Relson wrote:
--
For IBM-MAIN subscribe / signoff / archive access
On Sat, 21 Oct 2006 16:40:01 -0700, Charles Mills [EMAIL PROTECTED] wrote:
Somewhere in there also was the settlement with Control Data Corp., in which
IBM agreed to foreswear the service bureau (hourly machine rental, for you
young fellers) business, and gave Service Bureau Corporation to
On Sat, 21 Oct 2006 15:44:00 -0600, Jeffrey D. Smith [EMAIL PROTECTED] wrote:
LA R3,FUBAR
ST R2,0(0,R3)
No way for the assembler to determine that the ST is storing
into field FUBAR.
The only way to know for sure is to put the program into
read-only storage. An unauthorized program
The major Canadian banks all sell insurance and have done so since, IIRC, the
early 90's.
NOT the one I used to work at.
When in doubt.
PANIC!!
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send
My bank TD/Canada Trust does - as does CIBC, Royal Bank of Canada and BMO
James F. Smith
-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Ted MacNEIL
Sent: 22 October 2006 12:31
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: INTERNET Banks (WAS:
59 matches
Mail list logo