Software pricing

2006-10-21 Thread Phil Payne
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 
becoming a
monopoly in the
computer industry.

Some of the restrictions on IBM's AS/400 line will be terminated within six 
months of a
judge's approval, and the rest four years later. The restrictions on the S/390 
line will be
phased out in five years.

While we continue to believe the consent decree should be terminated 
immediately, this
settlement allows us to move ahead without spending further time and money in 
litigation,
said IBM General Counsel Lawrence Ricciardi.  We have been under restrictions 
40 years
already, and it's time to move on.



There are currently no Consent Decree or similar restrictions on IBM.  The
last was the 1984 EC Undertaking that mainly concerned the timely
availability of interface information.

Interestingly, the Amdahl corporate lawyer who helped DG IV put the 1984
Undertaking together is now with Platform Solutions.

It may be that DG IV will get interested again.  Perhaps about 64-bit
commercials, too.

-- 
  Phil Payne
  http://www.isham-research.co.uk
  +44 7833 654 800

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: questions on the load list . . .

2006-10-21 Thread Steve Comstock

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 few if any---I can in  fact 
think of no---circumstances in which it is excusable to write 
non-reentrant code.


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
to accomplish specific tasks.

Our intro Assembler class does not mention reentrant.
We introduce reentrant techniques at the end of our
second course in the series, Assembler Basic Interfaces.

Kind regards,

-Steve Comstock
The Trainer's Friend, Inc.
http://www.trainersfriend.com

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread john gilmore

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 to accomplish specific tasks.


This pedagogic argument  is a hoary one that cannot be dismissed out of 
hand.  Complexities must sometimes be deferred.


Newtonian mechanics, which has its own legitimate and useful purview, is for 
example taught first, before relativistic mechanics, in physics curricula.


Deference to what Sir Thomas Browne politely called 'junior understanding' 
is, however, too frequent.  To teach techniques that have no legitimate 
non-pedagogic uses is, I think, indefensible.


Browne also said that . . . to produce a clear and warrantable body of 
truth we must forget and part with much we know; and too many of the 
notions that we must jettison have been inflicted upon us by our teachers.


Today assembly language is a putatively 'advanced' topic; it is not usually 
learned first; and students who are already familiar with storage classes 
(with the differences among static, LIFO automatic, and non-LIFO heap 
storage) can and should be introduced to reentrant assembly-language methods 
at the outset of their training.


John Gilmore
Ashland, MA 01721-1817
USA

_
Get today's hot entertainment gossip  
http://movies.msn.com/movies/hotgossip?icid=T002MSN03A07001


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Ted MacNEIL
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 storage
can and should be introduced to reentrant assembly-language methods at the 
outset of their training.

Who's the professional instructor here?
You or Steve.
Who has the experience of what works and what doesn't?

I have seen students so burdened with the complexities of the advanced topics 
that they never pick up the basics well.

Besides, I don't see graduates of ASM101 writing exits or LPA-destined code.

All in good time!
When in doubt.
PANIC!!  

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Thomas Berg

==  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 instructions work and how 
to string together series of instructions to accomplish specific tasks.


This pedagogic argument  is a hoary one that cannot be dismissed out 
of hand.  Complexities must sometimes be deferred.


...

But most of the time is the problem to get the students get a gripe about the 
very basic at all !
Learning advanced topics without mastering the basics is nearly worthless.

Either they learn the basics fast and can get to the advanced parts soon.
Or they have no chance at all to understand advanced techniques and methods.

Thomas Berg

--

__

Mundus Vult Decipi
__

 They that can give up essential liberty to obtain a little temporary safety 
deserve neither liberty nor safety.
 - Benjamin Franklin

 Military justice is to justice what military music is to music.
 - Groucho Marx

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Steve Comstock

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 series of instructions to accomplish specific tasks.



This pedagogic argument  is a hoary one that cannot be dismissed out 
of hand.  Complexities must sometimes be deferred.


Agreed.



Newtonian mechanics, which has its own legitimate and useful purview, is 
for example taught first, before relativistic mechanics, in physics 
curricula.


True



Deference to what Sir Thomas Browne politely called 'junior 
understanding' is, however, too frequent.  To teach techniques that have 
no legitimate non-pedagogic uses is, I think, indefensible.


Well, I agree. In our programming courses, we _never_
use a Hello World program as an example: how often do
you need that in the real world? Never.

We always begin with how to describe fields, records,
and files and how to use the appropriate file I/O
verbs.

Never write a line of code to be thrown away.




Browne also said that . . . to produce a clear and warrantable body of 
truth we must forget and part with much we know; and too many of the 
notions that we must jettison have been inflicted upon us by our teachers.




And much that has proven valuable in our lives has
also been inflicted upon us by our teachers. It
is true we must often let go of, or unlearn, what
we once thought was truth. Or at least continually
re-examine our assumptions, biases and beliefs.

As a Unitarian, we are constantly challenged: To
question is the answer.

But, I digress...


Today assembly language is a putatively 'advanced' topic; it is not 
usually learned first; and students who are already familiar with 
storage classes (with the differences among static, LIFO automatic, and 
non-LIFO heap storage) can and should be introduced to reentrant 
assembly-language methods at the outset of their training.


Most often the audience for my Assembler classes
are either new to programming or their experience
is with COBOL; in neither case are they familiar
with storage classes and their differences. So we
defer reentrant coding until their 8th day of
training. By then they are ready to focus on this.
That's just my real world experience talking.

Kind regards,

-Steve Comstock

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread John P Baker
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 -training- and -experience- to be able to
select the best approach in each situation.

John P Baker
Software Engineer

-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of john gilmore
Sent: Saturday, October 21, 2006 08:54
To: IBM-MAIN@BAMA.UA.EDU
Subject: Is the teaching of non-reentrant HLASM coding practices ever
defensible?

This pedagogic argument  is a hoary one that cannot be dismissed out of 
hand.  Complexities must sometimes be deferred.

Newtonian mechanics, which has its own legitimate and useful purview, is for

example taught first, before relativistic mechanics, in physics curricula.

Deference to what Sir Thomas Browne politely called 'junior understanding' 
is, however, too frequent.  To teach techniques that have no legitimate 
non-pedagogic uses is, I think, indefensible.

Browne also said that . . . to produce a clear and warrantable body of 
truth we must forget and part with much we know; and too many of the 
notions that we must jettison have been inflicted upon us by our teachers.

Today assembly language is a putatively 'advanced' topic; it is not usually 
learned first; and students who are already familiar with storage classes 
(with the differences among static, LIFO automatic, and non-LIFO heap 
storage) can and should be introduced to reentrant assembly-language methods

at the outset of their training.

John Gilmore
Ashland, MA 01721-1817
USA

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Multiple FTP Problems

2006-10-21 Thread Charles Mills
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 MVS has always used
return codes of 4, 8, 12, ... and not 1, 2, 3, ...? I have this vague notion
it was so the caller could use the return code to index into a branch table,
but I may be imagining that.

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Ed Gould
Sent: Friday, October 20, 2006 8:08 PM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: Multiple FTP Problems

Charles,

Just curious as to why that is. I know the IBM unix people don't play  
(all the time) by the MVS world, would it be a good thing to try and  
create a SHARE requirement to do so (play be the rules)?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Edward Jaffe

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 
acquisition, DSECTs and ordinary USINGs should be considered advanced 
assembler language topics in the first place.


Assembler language can be complex and there are many things to learn. 
IMHO if your ASM101 class doesn't teach you about DSECTs and ordinary 
USINGs, you're in deep trouble as an assembler programmer. And, if the 
class will teach you about invoking system services via macros, such as 
OPEN, CLOSE, GET, and PUT, there's no reason it can't teach STORAGE 
OBTAIN as well.


A discussion of the reasons why reentrant code tends to run faster than 
non-reentrant code would take longer and be a far more advanced than 
simply teaching new programmers to always acquire working storage. In a 
lab setting on a test machine running z/OS, I would also enable the 
CsvRentSp252 DIAG trap to ensure that reentrant programs loaded from 
_unauthorized_ libraries reside in subpool 252. Abend0C4 can be an 
extremely useful debugging aid! ;-)


[That last bit is for Ed Jaffe's class. Not Steve Comstock's class, Mike 
Stack's class, or even John Gilmore's class, though I suspect John might 
agree with me on this point.]



Besides, I don't see graduates of ASM101 writing exits or LPA-destined code.
  


Are you kidding?! We see them every day! (We refer to them as customers!)

Certainly, there are many system programmers who are proficient with 
assembler language. But, there are quite a few others that could benefit 
from a class like Steve offers.


Exits and other code within an existing reentrant framework can usually 
be modified without a full understanding of reentrancy. The assembler 
RENT option can help prevent mistakes in simple programs. Abend0C4 is a 
useful debugging aid as well. (See above.)


As with most complex undertakings, a full understanding is ideal. And, a 
partial understanding is better than none at all. From my point of view, 
any teaching of assembler language is a good thing. I won't quibble over 
what should be taught in the first week of class.


--
Edward E Jaffe
Phoenix Software International, Inc
5200 W Century Blvd, Suite 800
Los Angeles, CA 90045
310-338-0400 x318
[EMAIL PROTECTED]
http://www.phoenixsoftware.com/

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Edward Jaffe

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 Angeles, CA 90045
310-338-0400 x318
[EMAIL PROTECTED]
http://www.phoenixsoftware.com/

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Edward Jaffe

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 systems. Abend0C4 
is an extremely useful debugging tool, even for unauthorized code! 8-)


--
Edward E Jaffe
Phoenix Software International, Inc
5200 W Century Blvd, Suite 800
Los Angeles, CA 90045
310-338-0400 x318
[EMAIL PROTECTED]
http://www.phoenixsoftware.com/

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Open Text Acquires Hummingbird

2006-10-21 Thread Edward Jaffe

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]
http://www.phoenixsoftware.com/

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Charles Mills
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 Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Edward Jaffe
Sent: Saturday, October 21, 2006 7:59 AM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: Is the teaching of non-reentrant HLASM coding practices ever
defensible?

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?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread John P Baker
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 reentrant situation, I would copy the WTO PLIST to working storage,
insert the substitution data, and then issue a WTO MF=(E,plist).  However, I
have no working storage.

In this case, I am left with no choice but to modify the real PLIST, which
is not a problem since I am running in private storage, and the CSECT has no
requirement to be reentrant.

John P Baker
Software Engineer

-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Edward Jaffe
Sent: Saturday, October 21, 2006 10:59
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: Is the teaching of non-reentrant HLASM coding practices ever
defensible?

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 Angeles, CA 90045
310-338-0400 x318
[EMAIL PROTECTED]
http://www.phoenixsoftware.com/

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Anne Lynn Wheeler
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 possibly not just simple reentrancy ... but also
thread/multitasking *safe* ... including use of compareswap semantics

slightly related posts from a.f.c.
http://www.garlic.com/~lynn/2006s.html#21 Very slow booting and running and 
brain-dead OS's?
http://www.garlic.com/~lynn/2006s.html#40 Ranking of non-IBM mainframe builders?

including needing new programming paradigm to leverage parallel
thruput on the increasingly multiprocessor machines.
http://www.garlic.com/~lynn/2006s.html#19 Very slow booting and running and 
brain-dead OS's?

as i've mentioned before, charlie had been doing a lot of work on
multiprocessor fine-grain locking on cp67 kernel at the science center
http://www.garlic.com/~lynn/subtopic.html#545tech

and invented the compareswap instruction (original mnemonic chosen
because CAS are charlie's initials). initial attempt at getting
compareswap into 370 architecture was rebuffed by the (370
architecture) redbook owners. they effectively said that the
mainstream operating system (i.e. os/360 derivatives) were doing just
fine in their multiprocessor support carrying over the testset
instruction from 360 (and extremely course-grain locking).

the challenge was that to get compareswap instruction into 370 ... it
needed to have uses that were non-multiprocessor specific. thus was
born the compareswap description for multitreaded/multitasking
... originally including in the programming notes for compareswap
... since moved to the appendix of principles of operation

A.6 Multiprogramming and Multiprocessing Examples
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/DZ9ZR003/A.6?SHELF=DZ9ZBK03DT=20040504121320

from above:

When two or more programs sharing common storage locations are being
executed concurrently in a multiprogramming or multiprocessing
environment, one program may, for example, set a flag bit in the
common-storage area for testing by another program. It should be noted
that the instructions AND (NI or NC), EXCLUSIVE OR (XI or XC), and OR
(OI or OC) could be used to set flag bits in a multiprogramming
environment; but the same instructions may cause program logic errors
in a multiprocessing configuration where two or more CPUs can fetch,
modify, and store data in the same storage locations simultaneously.

Subtopics:

* A.6.1 Example of a Program Failure Using OR Immediate
* A.6.2 Conditional Swapping Instructions (CS, CDS)
* A.6.3 Bypassing Post and Wait
* A.6.4 Lock/Unlock
* A.6.5 Free-Pool Manipulation
* A.6.6 PERFORM LOCKED OPERATION (PLO) 

... snip ...

misc. collected posts related to multiprocessor support
http://www.garlic.com/~lynn/subtopic.html#smp

and some other recent threads touching on programming techniques
(including mention of PLI program that I had written in the early
70s that analyzed 360 assembler listings ... control flow, register
useage, etc ... and then attempted to generate higher level 
program representation) 
http://www.garlic.com/~lynn/2006e.html#32 transputers again was: The demise of 
Commodore
http://www.garlic.com/~lynn/2006p.html#1 Greatest Software Ever Written?
http://www.garlic.com/~lynn/2006p.html#4 Greatest Software Ever Written?
http://www.garlic.com/~lynn/2006r.html#24 A Day For Surprises (Astounding 
Itanium Tricks)
http://www.garlic.com/~lynn/2006s.html#27 Why these original FORTRAN quirks?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread John P Baker
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.

It is true that you can share copies of a reentrant module across address
spaces, which can eliminate the need for repeated LOAD requests, and can
save memory.

However, an evaluation of how and where the module is to be used is needed
in order to determine whether writing the module to be reentrant is
justifiable.

A flat assertion of better performance is not supportable.

John P Baker
Software Engineer

-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Charles Mills
Sent: Saturday, October 21, 2006 11:24
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: Is the teaching of non-reentrant HLASM coding practices ever
defensible?

 reentrant code tends to run faster than non-reentrant code

Could you elaborate on that? I understand that there is a savings if
reentrant code can be reused without reloading (such as if it is resident in
the LPA) but why would reentrant code be inherently faster than
non-reentrant? There is certainly an additional overhead for GETMAIN,
storage initialization, often an extra level of indirection, etc. Reentrant
design often burns one more register, which may in turn lead to additional
register save and restore operations. Reentrant code is typically more
scattered in its storage references, which increases paging overhead (at
least in theory).

It's an academic question, I admit. 99% of all assembler code is so fast it
does not matter, and the 1% that matters can always be optimized despite any
considerations for reentrance. I'm just curious about your assertion.

Charles

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Dan Ponta

2006-10-21 Thread John P Baker
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 IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Rick Fochtman

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

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Rick Fochtman

--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 for work areas and to copy model
data into that dynamic storage.

It is true that you can share copies of a reentrant module across address
spaces, which can eliminate the need for repeated LOAD requests, and can
save memory.

However, an evaluation of how and where the module is to be used is needed
in order to determine whether writing the module to be reentrant is
justifiable.

A flat assertion of better performance is not supportable.


--unsnip
John, it's a function of the internal cache usage; z900 and later 
processors have a separate caches for instruction fetch and data fetch; 
usage DOES have a significant effect on performance. While the factors 
you cite can have an effect, experimentation has born out the fact that 
the basic assertion is valid.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread john gilmore

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.  Global 
locality of reference, intermixing data and instructions, is very, very bad. 
 z/Architecture processors have been optimized for (mostly) 
compiler-generated reentrant code, and they are very bad at executing 
non-reentrant code.


This is not really an issue for compromise or for statesmanlike fatuities of 
the form 'Reentrant code has important uses; on the other hand there is 
scope for non-reentrant constructions'.   As I indicated in my OP, there is 
no longer any rationale or excuse for writing non-reentrant code.


En passant 1, I am familiar with the quondam geometric use of the word 
'reentrant'.   It is no longer current, and in any case it is not a bar to 
another use in another place.  In his treatise on the astrolabe Chaucer 
described himself as a mere lewd compilator; but his use of the term 
'lewd' to mean that he was a layman, not in holy orders, is not a bar to its 
modern uses.


En passant 2, in English 'a and b and c' and 'a; b; c' are indeed 
equivalent.  Moreover, the semicolon is mandatory when the conjunction is 
omitted.  The converse notion that a semicolon may not be used when a 
conjunction is used is, however, ridiculous (and ridiculed memorably by 
Fowler).  The other major use of semicolons (outside of ALGOL-like 
statement-level procedural languages) is as separators for independent 
clauses (linked by conjunctions) that themselves contain commas.


John Gilmore
Ashland, MA 01721-1817
USA

_
Stay in touch with old friends and meet new ones with Windows Live Spaces 
http://clk.atdmt.com/MSN/go/msnnkwsp007001msn/direct/01/?href=http://spaces.live.com/spacesapi.aspx?wx_action=createwx_url=/friends.aspxmkt=en-us


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Steve Comstock

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 complex and found the 
word reentrant in a dictionary. Unfortunately, he or she did not read 
the definition. Reentrant meant a closed curve that had at least one 
concave segment, i.e. it re-entered itself. Reenterable means a 
program that is capable of being re-entered without compromising data 
integrity. The -able suffix is the essence of the word.


A program that is re-entrant according to the strict definition is one 
that spontaneously re-enters itself. We call such behavior a loop.


/rant

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 
to accomplish specific tasks.





--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread John P Baker
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 program does not have to invoke these or other system
services, it may be a different matter.  In fact, I would expect the
performance characteristics to be quite different.

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.

John P Baker
Software Engineer

-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Rick Fochtman
Sent: Saturday, October 21, 2006 12:02
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: Is the teaching of non-reentrant HLASM coding practices ever
defensible?

John, it's a function of the internal cache usage; z900 and later 
processors have a separate caches for instruction fetch and data fetch; 
usage DOES have a significant effect on performance. While the factors 
you cite can have an effect, experimentation has born out the fact that 
the basic assertion is valid.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Jeffrey D. Smith
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 detectable by
the multiple units of work that are concurrently executing
the program).

btw: I would offer the definition of non-reentrant to be a
program designed either to modify itself or a program that
may misbehave when executed concurrently by multiple units
of work.

Mainframers tend to use the word refreshable to mean a
program that does not modify itself at all, so that it could
be refreshed from external storage medium at any time *and*
any concurrently executing units of work would not detect
the refresh. A refreshable program is also specifically
designed for correct behavior during concurrent execution
by multiple units of work.

btw: I always write my reentrant programs as though they
are refreshable. I always design my programs to be
reentrant *unless* there is a specific reason that requires
the program to be non-reentrant. Personal convenience alone
is not sufficient justification to design a program as
non-reentrant, other than for a throw away program that
I expect to use only once.

2 cents worth. Your mileage may vary.

Jeffrey D. Smith
Principal Product Architect
Farsight Systems Corporation
700 KEN PRATT BLVD. #204-159
LONGMONT, CO 80501-6452
303-774-9381 direct
303-484-6170 FAX
http://www.farsight-systems.com/
comments are invited on my encryption project

 -Original Message-
 From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On
 Behalf Of Rick Fochtman
 Sent: Saturday, October 21, 2006 9:53 AM
 To: IBM-MAIN@BAMA.UA.EDU
 Subject: Re: Is the teaching of non-reentrant HLASM coding practices ever
 defensible?
 
 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
 
 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
 Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Jeffrey D. Smith
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 caller provides a work area that is allocated within itself, then the
caller is non-reentrant, but the called routine is still reentrant.

Jeffrey D. Smith
Principal Product Architect
Farsight Systems Corporation
700 KEN PRATT BLVD. #204-159
LONGMONT, CO 80501-6452
303-774-9381 direct
303-484-6170 FAX
http://www.farsight-systems.com/
comments are invited on my encryption project


 -Original Message-
 From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On
 Behalf Of John P Baker
 Sent: Saturday, October 21, 2006 10:17 AM
 To: IBM-MAIN@BAMA.UA.EDU
 Subject: Re: Is the teaching of non-reentrant HLASM coding practices ever
 defensible?
 
 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 program does not have to invoke these or other system
 services, it may be a different matter.  In fact, I would expect the
 performance characteristics to be quite different.
 
 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.
 
 John P Baker
/snip/

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Edward Jaffe

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 you move to
the DSECT (or home-built initialization code that defeats the purpose of
standard macros). Some have internal address constants that must be
relocated after a move to a DSECT. Some executable forms generate standard
address constants that are incompatible with DSECTs. Often it depends on
which operands you code, so a simple change to a macro may create a
totally unexpected problem. And the documentation does not usually bother to
tell you which is which.

You cannot use a single IBM executable macro in a reentrant environment
without examining the assembled code to make certain it will not have a
problem (unless you are already very familiar with the particular macro).
  


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 expansions 
zero the parameter list before updating it.


Upward compatibility concerns make it impossible to go back and change 
the older services to use the newer approach. The only option is to 
replace them the way the new ISG services have replaced ENQ/DEQ and 
GQSCAN.  Don't expect such replacements to be commonplace.


--
Edward E Jaffe
Phoenix Software International, Inc
5200 W Century Blvd, Suite 800
Los Angeles, CA 90045
310-338-0400 x318
[EMAIL PROTECTED]
http://www.phoenixsoftware.com/

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread john gilmore

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 proposition

There are no black swans.

has an empirical defect: real blank swans have been found to exist.

More important, it is in logic a universal negative; and it can be proved 
that no instance of an universal negative can be proved.


The existence of some non-reentrant block of code that is faster than the 
corresponding reentrant one is no argument for writing non-reentrant code.  
In the light of the character of the defenses of doing so set out here after 
my post, I must, however, conclude that this issue is for some an emotional 
and not an intellectual one.  So be it!




John Gilmore
Ashland, MA 01721-1817
USA

_
Add a Yahoo! contact to Windows Live Messenger for a chance to win a free 
trip! 
http://www.imagine-windowslive.com/minisites/yahoo/default.aspx?locale=en-ushmtagline


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread John P Baker
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 ARE
NO ABSOLUTES.

John P Baker
Software Engineer

-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Jeffrey D Smith
Sent: Saturday, October 21, 2006 12:24
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: Is the teaching of non-reentrant HLASM coding practices ever
defensible?

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 caller provides a work area that is allocated within itself, then the
caller is non-reentrant, but the called routine is still reentrant.

Jeffrey D. Smith
Principal Product Architect
Farsight Systems Corporation
700 KEN PRATT BLVD. #204-159
LONGMONT, CO 80501-6452
303-774-9381 direct
303-484-6170 FAX
http://www.farsight-systems.com/
comments are invited on my encryption project

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Edward Jaffe

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. In my experience, anything (not just a 
program) that starts out as a One Off or Quick  Dirty 
implementation often has a way of eventually being used for daily, 
production use. There's always time to do something over but never 
enough time to do it right the first time.


Like others on this list, I write 99% reentrant code and believe that 
non-reentrant programs and programming techniques should generally be 
discouraged, _especially_ when working with less experienced 
programmers. Of course, there are always exceptional cases in which 
reentrancy can/should not be used. But focusing on such exceptions gives 
the false impression that they are more numerous than they actually are. 
Bad habits are harder to unlearn than to never learn in the first place.


I think everyone reading this can agree that adding something like 
what's shown below to a program skeleton is trivial:


| STORAGE OBTAIN,LENGTH=MyWkLen
| LRRx,R1
| USING MyWk,Rx
| .
| . (program here)
| .
|MyWk   DSECT ,
|   .
|   . (data here)
|   .
|MyWkLenEQU   *-MyWk

In my code, the DSECT usually precedes the code, but that's a topic for 
another thread ... on ASSEMBLER-LIST.


--
Edward E Jaffe
Phoenix Software International, Inc
5200 W Century Blvd, Suite 800
Los Angeles, CA 90045
310-338-0400 x318
[EMAIL PROTECTED]
http://www.phoenixsoftware.com/

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Ted MacNEIL
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 toss in $5 and buy a beer.

Now, optimisation of I/O is where you will find your benefits.

When in doubt.
PANIC!!  

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Multiple FTP Problems

2006-10-21 Thread Ed Gould

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  
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 MVS has always  
used
return codes of 4, 8, 12, ... and not 1, 2, 3, ...? I have this  
vague notion
it was so the caller could use the return code to index into a  
branch table,

but I may be imagining that.

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED]  
On Behalf

Of Ed Gould
Sent: Friday, October 20, 2006 8:08 PM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: Multiple FTP Problems

Charles,

Just curious as to why that is. I know the IBM unix people don't play
(all the time) by the MVS world, would it be a good thing to try and
create a SHARE requirement to do so (play be the rules)?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Open Text Acquires Hummingbird

2006-10-21 Thread Phil Payne
 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 / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Craddock, Chris
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
for a more elaborate run time environment, or so they thought. 

As time passed, things became more complex (of course) but by then the
horse had already bolted with respect to the classic techniques (list
form macro expansions etc.) used by assembly language programmers. As Ed
Jaffe pointed out it would be impossible to go and change all of those
dependencies so the only alternative would be to deliver new functions
that don't fall prey to the same problems. And of course, as long as the
old style of programming is what is taught by default, nothing will ever
significantly change.

On other platforms, the run time environment is embedded in the fabric
of the system. Reentrancy (or whichever similar term floats your boat)
is the only way that exists and so people don't even give it a moment's
thought. It just works that way. Your working storage is allocated
automatically from the stack and for data that needs to have a separate
lifetime than your function, malloc() is a fast sub-allocation from the
heap. GETMAIN is conservatively 4 orders of magnitude slower, so it is
trivial for compiled code running on a runtime to blow the doors off
assembler code.

In z/OS and ancestors, the run time environment has always been this
grafted on chunk of mindless gooberware (LE) that has more controls than
a nuclear reactor. To this day it is treated as a separate thing that
exists to serve those HLL weenies, rather than just being taken for
granted by everyone. But even with all of its faults, it is better than
the nothing that assembler developers assume.

It is possible (BTDTGTS) to build coding and run time environments on
z/OS where the programmer (even the system's software developer) never
has to confront the low level details. In such an environment,
reentrancy is natural and in all but the most trivial cases, blows the
doors off more traditional programming practices for performance. 

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 surprised at
how much easier and faster your code can run overall. There's a lot more
function available and it is trivially easy to use.

And if you did it on another platform, you wouldn't even be having this
discussion at all. This is one of those areas where z/OS is truly a
stone-age operating system.

CC

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Anne Lynn Wheeler
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
 http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/DZ9ZR003/A.6?SHELF=DZ9ZBK03DT=20040504121320

 from above:

 When two or more programs sharing common storage locations are being
 executed concurrently in a multiprogramming or multiprocessing
 environment, one program may, for example, set a flag bit in the
 common-storage area for testing by another program. It should be noted
 that the instructions AND (NI or NC), EXCLUSIVE OR (XI or XC), and OR
 (OI or OC) could be used to set flag bits in a multiprogramming
 environment; but the same instructions may cause program logic errors
 in a multiprocessing configuration where two or more CPUs can fetch,
 modify, and store data in the same storage locations simultaneously.

 Subtopics:

 * A.6.1 Example of a Program Failure Using OR Immediate
 * A.6.2 Conditional Swapping Instructions (CS, CDS)
 * A.6.3 Bypassing Post and Wait
 * A.6.4 Lock/Unlock
 * A.6.5 Free-Pool Manipulation
 * A.6.6 PERFORM LOCKED OPERATION (PLO) 

 ... snip ...

re:
http://www.garlic.com/~lynn/2006s.html#53 Is the teaching of non-reentrant 
HLASM coding practices ever defensible?

... as to having people well versed with A.6.1 problems ...  there
was a rumor in the late 70s that the hardware engineers were
approached by MVS group to make the immediate instructions atomic on
multiprocessor machines. MVS was moving kernel from the old-style
os/360 single global kernel/supervisor lock to higher degrees of
kernel parallelism and were having a devil of a time converting all
the non-atomic immediate instruction coding for parallel operation.

... having re-entrant programming supporting multiple concurrent
operation ... including supporting multiple concurrent operation in
same address space (aka threading/multitasking) ... for highly
parallel operation.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Charles Mills
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 are
working for hourly wages, or are at least limited in what they can
accomplish for their employers by the number of hours they work. I cannot
justify putting more time into a program than is appropriate to its intended
function, on the theory that making it reentrant would be more elegant.
Obviously, I am not talking about cases where reentrancy has a tangible
benefit to my employer.

You ARE right that temporary programs and temporary taxes have a way of
sticking around forever. But it's hard to see how my load the product with
a bunch of stupid, hard-coded DD overrides ever makes it into daily
production. I think one has to be willing to trust the good judgment of an
experienced developer -- which is another way of saying what John Baker has
said on this thread: there are few absolutes.

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Edward Jaffe
Sent: Saturday, October 21, 2006 9:34 AM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: Is the teaching of non-reentrant HLASM coding practices ever
defensible?

You've hit a sore spot with me. In my experience, anything (not just a 
program) that starts out as a One Off or Quick  Dirty 
implementation often has a way of eventually being used for daily, 
production use. There's always time to do something over but never 
enough time to do it right the first time.

Like others on this list, I write 99% reentrant code and believe that 
non-reentrant programs and programming techniques should generally be 
discouraged, _especially_ when working with less experienced 
programmers. Of course, there are always exceptional cases in which 
reentrancy can/should not be used. But focusing on such exceptions gives 
the false impression that they are more numerous than they actually are. 
Bad habits are harder to unlearn than to never learn in the first place.

I think everyone reading this can agree that adding something like 
what's shown below to a program skeleton is trivial:

| STORAGE OBTAIN,LENGTH=MyWkLen
| LRRx,R1
| USING MyWk,Rx
| .
| . (program here)
| .
|MyWk   DSECT ,
|   .
|   . (data here)
|   .
|MyWkLenEQU   *-MyWk

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread john gilmore

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 surprised at
how much easier and faster your code can run overall. There's a lot more
function available and it is trivially easy to use.


Yes indeed!  My first exposure to the LE came when I had to write some 
things to be used by COBOL programmers, and I found that I could use the 
LE-supplied prologue and epilogue (stack-management) macros to preserve the 
COBOL environment without adding measurably to the burden these COBOL 
applications were already carrying.  I was then agreeably surprised to learn 
that this was the case for heap storage too.


Some of us who write a lot of assembly-language routines for other people to 
use have also developed our own stack- and heap-management macros and code.  
This is a viable alternative to use of the LE routines in situations in 
which the environment is not perforce an LE (because SLPL) one.  Its limited 
use reflects the fact that the HLASM macro language is radically underused 
and under appreciated.  (People of course code macro instructions, but they 
don't often write their own macro definitions.)  But that is a topic for 
another thread  in another place . . .




John Gilmore
Ashland, MA 01721-1817
USA

_
Try Search Survival Kits: Fix up your home and better handle your cash with 
Live Search! 
http://imagine-windowslive.com/search/kits/default.aspx?kit=improvelocale=en-USsource=hmtagline


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Arthur T.
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 reenterable) can get in the way of focusing 
on simply how the instructions work and how to string 
together series of instructions to accomplish specific tasks.


 I still remember learning DOS assembler language well 
over 20

years ago.  I was taught about base and displacement addressing,
and told how to code the BALR and USING at the beginning of my
programs.  What I most remember was, a week or so later, suddenly
*really* understanding what the BALR and USING did.

 My experience was not unique.  All of the students were
taught, Put these statements at the beginnings of your programs
and eventually you'll understand what they do.  Of course, 
Base 

Displacement was taught and reiterated, but it takes time to sink
in.

 (OS Assembler doesn't have this built-in AHA moment because
we are taught to get our addressability from R15.)

 Until base and displacement addressing is fully 
internalized,

you can't understand or appreciate RENT coding.  Trying to teach
it before that simpler understanding is, IMO, counterproductive.

 On the practical (as opposed to pedagogical) side:  When I
write a utility program that reads, manipulates, and writes data,
I see no good reason to make it RENT.  It's designed to be a
single program running as a batch step.  What is the advantage of
copying DCBs and other control blocks into getmained storage?
That adds unneeded complexity to the code, which therefore makes
the program easier to miscode and harder to 
maintain.  (Why write

it in Assembler?, you ask.  Because it's one of my two best
languages.)

--
I cannot receive mail at the address this was sent from.
To reply directly, send to ar23hur at intergate dot com

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Charles Mills
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 application developer's problem. And bingo, the 24-bit DCB problem
disappears.

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Craddock, Chris
Sent: Saturday, October 21, 2006 11:09 AM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: Is the teaching of non-reentrant HLASM coding practices ever
defensible?

 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
for a more elaborate run time environment, or so they thought. 

snip

And if you did it on another platform, you wouldn't even be having this
discussion at all. This is one of those areas where z/OS is truly a
stone-age operating system.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Charles Mills
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 the teaching of non-reentrant HLASM coding practices ever
defensible?


http://www.watsonwalker.com/PR010302.PDF 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Binyamin Dissen
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 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 application developer's problem. And bingo, the 24-bit DCB problem
:disappears.

Only if all programs are changed.

And, from the assembler side, it is good to be able to play with the control
blocks. HLL's will sort of give you what you want.

--
Binyamin Dissen [EMAIL PROTECTED]
http://www.dissensoftware.com

Director, Dissen Software, Bar  Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Gerhard Postpischil

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 expansions 
zero the parameter list before updating it.


While it would not be efficient for frequently executed macros, 
for which the MF=E/static, copied MF=L/dynamic MF=L forms are 
preferable, it would be nice to have an MF=(R,workarea) form 
where the code will expand to do whatever is necessary in a 
single macro invocation. For a number of macros, this would be 
no more onerous than adding a few AIFs.


But many of IBM's macros could do with a complete rewrite, 
perhaps using inner macros to handle standard situations (load a 
register, place a value in a list, set a flag, etc.).


Gerhard Postpischil
Bradford, VT

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Steve Comstock

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 be pleasantly surprised at
how much easier and faster your code can run overall. There's a lot more
function available and it is trivially easy to use.



Yes indeed!  My first exposure to the LE came when I had to write some 
things to be used by COBOL programmers, and I found that I could use the 
LE-supplied prologue and epilogue (stack-management) macros to preserve 
the COBOL environment without adding measurably to the burden these 
COBOL applications were already carrying.  I was then agreeably 
surprised to learn that this was the case for heap storage too.


For a few years, we were teaching our course Using LE Services
in z/OS (and its OS/390 predecessor equivalent) frequently.
This is a multi-lingual course (COBOL, PL/I, C, and Assembler)
and we discuss how to use all the callable services in the
language(s) of interest to the students. In the discussion of
LE-enabled Assembler, we also demonstrate how to use the LE
macros to generate reentrant code.

But we haven't been asked to teach that course in over
six years. [Even so, I keep it current, just having finished
the z/OS 1.8 version which, by the way, added some significant
new callable services.]



Some of us who write a lot of assembly-language routines for other 
people to use have also developed our own stack- and heap-management 
macros and code.  This is a viable alternative to use of the LE routines 
in situations in which the environment is not perforce an LE (because 
SLPL) one.  Its limited use reflects the fact that the HLASM macro 
language is radically underused and under appreciated.  (People of 
course code macro instructions, but they don't often write their own 
macro definitions.)  But that is a topic for another thread  in another 
place . . .





Indeed. Mainframers just don't seem to have as much
fun as we used too.

Kind regards,

-Steve Comstock

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Software pricing

2006-10-21 Thread Gerhard Postpischil

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 restrictions on IBM.  The
last was the 1984 EC Undertaking that mainly concerned the timely
availability of interface information.


I'm not sure you're correct about that. The 1956 consent decree 
required IBM to make hardware available for purchase; prior to 
that all hardware was available on lease only.


In 1968 or 1969, I worked for Applied Data Research, when Marty 
Goetz decided to sue IBM for giving away free software, to the 
purported detriment of ISVs (my experience was otherwise - you 
look at IBM's code, and come up with better, cheaper, and faster 
solutions). ADR at the time was peddling Roscoe. As part of the 
consent decree, IBM was forced to start charging for software. 
They also agreed to have their sales staff market Roscoe as well 
as CRBE, but to my knowledge nothing ever came of that.


Gerhard Postpischil
Bradford, VT

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Wayne Driscoll
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 Software LLC
NOTE: All opinions are strictly my own.
  

-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On
Behalf Of Charles Mills
Sent: Saturday, October 21, 2006 1:43 PM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: Is the teaching of non-reentrant HLASM coding practices
ever defensible?

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 application developer's problem. And bingo, the 24-bit DCB
problem disappears.

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On
Behalf Of Craddock, Chris
Sent: Saturday, October 21, 2006 11:09 AM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: Is the teaching of non-reentrant HLASM coding practices
ever defensible?

 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
for a more elaborate run time environment, or so they thought. 

snip

And if you did it on another platform, you wouldn't even be having this
discussion at all. This is one of those areas where z/OS is truly a
stone-age operating system.

--
For IBM-MAIN subscribe / signoff / archive access instructions, send
email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search
the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Paul Gilmartin
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 appears to verge on self-contradiction.

But I'll readily accept that axiomatic proofs of universal negatives can
exist, but not empirical proofs.

Or, are you dealing in something similar to FOPC, where proofs themselves
are not elements of the universe of discourse?

-- gil
-- 
StorageTek
INFORMATION made POWERFUL

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Robert A. Rosenberg
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 instead of CSECT and you will get TOLD at 
assembly time when you're not reentrant.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Jeffrey D. Smith
 -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 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 instead of CSECT and you will get TOLD at
 assembly time when you're not reentrant.

Not every time.

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 can do that by
using the IARVSERV or PGSER to page protect the program
after it is loaded. The program must be marked page-aligned
and the size must be an exact multiple of a page.


Jeffrey D. Smith
Principal Product Architect
Farsight Systems Corporation
700 KEN PRATT BLVD. #204-159
LONGMONT, CO 80501-6452
303-774-9381 direct
303-484-6170 FAX
http://www.farsight-systems.com/
comments are invited on my encryption project

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Gibney, Dave
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: IBM-MAIN@BAMA.UA.EDU
 Subject: Re: Is the teaching of non-reentrant HLASM coding 
 practices ever defensible?
 
 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 series of 
 instructions to accomplish specific tasks.
  
  
  This pedagogic argument  is a hoary one that cannot be 
 dismissed out 
  of hand.  Complexities must sometimes be deferred.
 
 Agreed.
 
  
  Newtonian mechanics, which has its own legitimate and 
 useful purview, 
  is for example taught first, before relativistic mechanics, 
 in physics 
  curricula.
 
 True
 
  
  Deference to what Sir Thomas Browne politely called 'junior 
  understanding' is, however, too frequent.  To teach techniques that 
  have no legitimate non-pedagogic uses is, I think, indefensible.
 
 Well, I agree. In our programming courses, we _never_ use a 
 Hello World program as an example: how often do you need 
 that in the real world? Never.
 
 We always begin with how to describe fields, records, and 
 files and how to use the appropriate file I/O verbs.
 
 Never write a line of code to be thrown away.
 
 
  
  Browne also said that . . . to produce a clear and 
 warrantable body 
  of truth we must forget and part with much we know; and 
 too many of 
  the notions that we must jettison have been inflicted upon 
 us by our teachers.
 
 
 And much that has proven valuable in our lives has also been 
 inflicted upon us by our teachers. It is true we must often 
 let go of, or unlearn, what we once thought was truth. Or at 
 least continually re-examine our assumptions, biases and beliefs.
 
 As a Unitarian, we are constantly challenged: To question is 
 the answer.
 
 But, I digress...
 
 
  Today assembly language is a putatively 'advanced' topic; it is not 
  usually learned first; and students who are already familiar with 
  storage classes (with the differences among static, LIFO automatic, 
  and non-LIFO heap storage) can and should be introduced to 
 reentrant 
  assembly-language methods at the outset of their training.
 
 Most often the audience for my Assembler classes are either 
 new to programming or their experience is with COBOL; in 
 neither case are they familiar with storage classes and their 
 differences. So we defer reentrant coding until their 8th day 
 of training. By then they are ready to focus on this.
 That's just my real world experience talking.
 
 Kind regards,
 
 -Steve Comstock
 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Charles Mills
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) OPTION BYTE  
+ DCA(0) DCB ADDRESS  
+ STR4,4(1,0)STORE INTO LIST  
+ MVI   0(1),128 MOVE IN OPTION BYTE  
+ LR0,1  POINT REG0 TO PLIST  
+ SR1,1  CLEAR REGISTER 1 
+ SVC   19   ISSUE OPEN SVC   

No error there if RENT or RSECT.

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Jeffrey D. Smith
Sent: Saturday, October 21, 2006 2:44 PM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: Is the teaching of non-reentrant HLASM coding practices ever
defensible?

 -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 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 instead of CSECT and you will get TOLD at
 assembly time when you're not reentrant.

Not every time.

LA  R3,FUBAR
ST  R2,0(0,R3)

No way for the assembler to determine that the ST is storing
into field FUBAR.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Charles Mills
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 [mailto:[EMAIL PROTECTED] On Behalf
Of Wayne Driscoll
Sent: Saturday, October 21, 2006 12:50 PM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: Is the teaching of non-reentrant HLASM coding practices ever
defensible?

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 Software LLC
NOTE: All opinions are strictly my own.
  

-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On
Behalf Of Charles Mills
Sent: Saturday, October 21, 2006 1:43 PM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: Is the teaching of non-reentrant HLASM coding practices
ever defensible?

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 application developer's problem. And bingo, the 24-bit DCB
problem disappears.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Shane
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 / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Software pricing

2006-10-21 Thread Charles Mills
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 they could ever use, on the mistaken understanding that formerly
free software was going to go to a charge basis.

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 CDC as part
of the settlement.

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Gerhard Postpischil
Sent: Saturday, October 21, 2006 12:29 PM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: Software pricing

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 restrictions on IBM.
The
 last was the 1984 EC Undertaking that mainly concerned the timely
 availability of interface information.

I'm not sure you're correct about that. The 1956 consent decree 
required IBM to make hardware available for purchase; prior to 
that all hardware was available on lease only.

In 1968 or 1969, I worked for Applied Data Research, when Marty 
Goetz decided to sue IBM for giving away free software, to the 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Schiradin,Roland HG-Dir itb-db/dc
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



-Original Message-
From: IBM Mainframe Discussion List 
[mailto:[EMAIL PROTECTED] On Behalf Of Charles Mills
Sent: Saturday, October 21, 2006 5:24 PM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: Is the teaching of non-reentrant HLASM coding 
practices ever defensible?


 reentrant code tends to run faster than non-reentrant code

Could you elaborate on that? 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: INTERNET Banks (WAS: Resume cover letters.)

2006-10-21 Thread james smith
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: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Ted MacNEIL
Sent: 21 October 2006 04:29
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: INTERNET  Banks (WAS: Resume cover letters.)

UK banks are highly diversified - they sell all sorts of financial
packages; mortgages, insurance, etc.

Canadian Banks aren't allowed to sell insurance (yet); they are otherwise as
diversified.

But, the INTERNET is more to help existing (mostly retail) retail.
This is to reduce costs more than improve customer service.
When in doubt.
PANIC!!  

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Question on the load list

2006-10-21 Thread Peter Relson
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 in those other cases does nothing other
than waste space on DASD. I suspect (but don't know for sure) that it was
never supported for anything other than the nucleus. Contents Supervision
was rewritten by Bob Rogers for MVS/XA.
PLPA modules are required to be refreshable (which is stronger than
reentrant)
LLE's point either to CDEs (on the JPQ or in active LPA) or to LPDEs. An
LLE is the validation for DELETE. If there is no LLE, you cannot DELETE.

Peter Relson
z/OS Core Technology Design
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Question on the load list

2006-10-21 Thread Ed Gould

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 instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Software pricing

2006-10-21 Thread Paul Gilmartin
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 CDC as part
 of the settlement.
 
And, I understand, in return CDC had to agree to dismantle the data base of
evidence it had used to press the suit.

-- gil
-- 
StorageTek
INFORMATION made POWERFUL

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Is the teaching of non-reentrant HLASM coding practices ever defensible?

2006-10-21 Thread Paul Gilmartin
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 can do that by
 using the IARVSERV or PGSER to page protect the program
 after it is loaded. The program must be marked page-aligned
 and the size must be an exact multiple of a page.
 
There has also been discussed on ASSEMBLER-LIST a secret PARMLIB
option that when set causes all code, authorized or not, marked
RENT to be loaded in a write-protected subpool.  There was a URL
for an IBM presentation.

-- gil
-- 
StorageTek
INFORMATION made POWERFUL

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: INTERNET Banks (WAS: Resume cover letters.)

2006-10-21 Thread Ted MacNEIL
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 email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: INTERNET Banks (WAS: Resume cover letters.)

2006-10-21 Thread james smith
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: Resume cover letters.)

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 email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html