The expression *-* in FAP (Fortran assembler) has an identical meaning
to 360/370 assembler; however the usage in FAP does not appear to extend
to denoting a length value in an instruction.

The explanation by the professor appears to me to provide a helpful way
to assist students in learning the rule for the length field in
MVC/CLC/XC (and by extension the value to use when EXecuting those
instructions).

The use of *-* is a convention in S360/S370 assembler in some
programming styles.  The FAP manual only shows using ** (which also
generates 0) in code samples, so I have no idea if usage of *-* was ever
a convention in FAP.

The programmer at our place who used this convention once said that he
learned much of his assembler programming style from JES2 source.  Does
anyone know if JES2 used the *-* convention?  He had also worked on the
WATFOR compiler immediately after graduating.


On 2020-05-01 12:07 a.m., Seymour J Metz wrote:
Actually, you don't remember the origin, you remember an uninformed instructor 
feeding you an invented etymology. The usage precedes the S/360 by years; it 
dates to the 709 if not before. See, e.g., the FAP manual on bitsavers.


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


Gary Weinhold
Senior Application Architect
DATAKINETICS | Data Performance & Optimization
Phone:+1.613.523.5500 x216
Email: weinh...@dkl.com
Visit us online at www.DKL.com
E-mail Notification: The information contained in this email and any 
attachments is confidential and may be subject to copyright or other 
intellectual property protection. If you are not the intended recipient, you 
are not authorized to use or disclose this information, and we request that you 
notify us by reply mail or telephone and delete the original message from your 
mail system.


________________________________________
From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf 
of jba...@ngssallc.com [jba...@ngssallc.com]
Sent: Thursday, April 30, 2020 10:14 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: *-*

I must really be getting old, because I actually remember the origin of the
convention.

The convention of "*-*" in a length field was based upon an interpretation
of the expression "{address-of-last-byte}-{address-of-first-byte}" which
calculates the "machine length" of the field, which is one less than the
actual length of the field.

When moving a variable length field, the instruction had to be "EX(ecuted)",
so the programmer likely did not know the value of "{address-of-last-byte}"
at assembly time and in many cases did not know the value of
"{address-of-first-byte}" at assembly time, so the programmer simply
replaced each unknown with "*" and voila, we had "*-*".

We discussed this in assembler programming class some 47 years ago.

John P. Baker
Software Developer

-----Original Message-----
From: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> On
Behalf Of robi...@dodo.com.au
Sent: Thursday, April 30, 2020 4:46 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: *-*

On 2020-04-30 18:15, Martin Ward wrote:
On 30/04/2020 03:48, robi...@dodo.com.au wrote:
What's wrong with a comment?
It *is* a comment (in the broader sense).
No it isn't.     *-*  doesn't explain anything.

If it did, people wouldn't be asking what on earth is it.

A comment that explains that the length is planted by some other instruction
or whatever else is it, is the only way to document it.

Reply via email to