From: Dr Ivan D. Reid on
On Mon, 9 Aug 2010 02:21:47 +1000, robin <robin51(a)dodo.com.au>
wrote in <4c5ed99f$0$34575$c30e37c6(a)exi-reader.telstra.net>:
> "Dr Ivan D. Reid" <Ivan.Reid(a)ivan.fsnet.co.uk> wrote in message
news:slrni5tk95.94f.Ivan.Reid(a)smtp.orangehome.co.uk...
>| On Sun, 8 Aug 2010 21:47:15 +1000, robin <robin51(a)dodo.com.au>
>| wrote in <4c5e9948$0$34572$c30e37c6(a)exi-reader.telstra.net>: > "Dr Ivan
>| D. Reid" <Ivan.Reid(a)ivan.fsnet.co.uk> wrote in message
>| news:slrni5nem7.1uk.Ivan.Reid(a)smtp.orangehome.co.uk...

>| >| My experience with a Cyber in 1978 was that it had a 60-bit word
>| >| but integer multiply/divide only worked up to 48 bits. To shift a 48-bit
>| >| integer to 60 bits to add a 5th 12-bit byte I had to use successive adds
>| >| (i=i+i).

>| > There was a shift instruction that would have done the job in one step.

>| In FORTRAN?

> ISHFT in FORTRAN,

OK, guess I never noticed that in the manuals[1]. Everything I did
in that exercise was done by reading manuals. The Adelaide Uni computer
centre was worse than useless -- worse because they didn't know they were
useless. Every time I came up with a problem (starting with "How do I
punch 8-bit paper tape from a FORTRAN programme?") I was met with "I dunno...".

[1] Possibly I did, but selective memory has blanked it.

--
Ivan Reid, School of Engineering & Design, _____________ CMS Collaboration,
Brunel University. Ivan.Reid@[brunel.ac.uk|cern.ch] Room 40-1-B12, CERN
KotPT -- "for stupidity above and beyond the call of duty".
From: glen herrmannsfeldt on
robin <robin51(a)dodo.com.au> wrote:
(snip)

> The 64-character set was the result of having 6-bit characters.
> CDC attempted to have also one character to serve as end-of-record
> indication.

There were many problems with six bit characters.

Back to Fortran I on the IBM 704, which used even parity NRZI
coding on tape, and requires at least one transition (1 bit)
per character written. With odd parity (as used in 9 track NRZI)
the parity bit is one if all the other bits are zero. With even
parity you can't write the X'00' character to tape.

In the code used internally on the 704, X'00' is the zero character,
which is hard to write Fortran or numeric data without, so they used
a different six bit code for tape. (There are only 48 characters
in the Fortran I character set, so it shouldn't have been a problem.)

Even more, there are two - characters, one punched with the 11 punch,
and the other 8-4 punch. It seems that only the 11 punch minus is
allowed for Fortran source, either for input data, and only the 8-4
generated in object programs.

-- glen
From: glen herrmannsfeldt on
Richard Maine <nospam(a)see.signature> wrote:
(snip)

> On occasion, you might here someone
> talking about the machines having a 6-bit byte, but I don't consider
> that accurate; they just didn't have bytes of any size - only words.

The PDP-10 byte instructions allow one to specify the size, from one
to 36 bits. As far as I understand it, that was before the word 'byte'
was generally used to mean eight bits. (And not consistent with the
story when I first learned about bytes, that it was a contraction of
the words 'eight bit'.)

It seems that the IBM 36 bit machines used 'BCD character' as the
name for the six bit characters used at the time. (Which doesn't make
that much sense now, either, but apparently did at the time.)
The six bit BCDIC code was later extended and modified to the eight
bit EBCDIC code.

As for Fortran, I believe that the six letter variable names that
were standard in Fortran 66 came from six bit codes on 36 bit machines.
Storing one per word is very convenient in compiler symbol table
processing.

According to wikipedia, the word 'byte' orginated with the IBM
Stretch in 1956, as either a four bit instruction field, or six bit
character used in I/O. The eight bit byte didn't come until S/360.

Much of the networking standards and documentation uses 'octet' to
describe the eight bit unit.

-- glen
From: glen herrmannsfeldt on
mecej4 <mecej4.nyetspam(a)opferamail.com> wrote:
> Richard Maine wrote:
(snip)

>> Probably f66 compiler manuals. IBM was quite late in releasing their
>> f77. I forget the exact date.
(snip)

It seems that there is no wikipedia entry for VS Fortran...

> I have a copy of IBM GC26-3986-1, Release 1.1, the 2nd. edition, January
> 1982, VS FORTRAN, Application Programming: Language Reference. The preface
> says "... includes full ANS FORTRAN plus IBM extensions".

So, 1982 for release 1.1, maybe 1981 for release 1.0?

> ENTRY is definitely there, and is covered in pages 81-83.

ENTRY was in the IBM OS/360 (Fortran G and H) compilers, so it would
have also been in VS Fortran, as an extension, even if not standard.

-- glen
From: Richard Maine on
mecej4 <mecej4.nyetspam(a)opFeramail.com> wrote:

> Richard Maine wrote:
>
> > Probably f66 compiler manuals. IBM was quite late in releasing their
> > f77. I forget the exact date. I think it was before 1985, but I know it
> > was late,
>
> I have a copy of IBM GC26-3986-1, Release 1.1, the 2nd. edition, January
> 1982, VS FORTRAN, Application Programming: Language Reference. The preface
> says "... includes full ANS FORTRAN plus IBM extensions".
>
> ENTRY is definitely there, and is covered in pages 81-83.

That doesn't tell me for sure whether it was f77 or f66 plus ENTRY as an
externsion. After all, f66 was also an ANS Fortran. I'm fairly sure I
recall some IBM f66 compilers as having ENTRY as an extension. In fact,
I think I recall having some porting pains because both the IBM and CDC
compilers had ENTRY, but with different syntax. I think the CDC
extension had no argument list on the ENTRY, though I could be confusing
different compilers on that.

--
Richard Maine | Good judgment comes from experience;
email: last name at domain . net | experience comes from bad judgment.
domain: summertriangle | -- Mark Twain