Andy Leighton <an...@azaal.plus.com> wrote:
> Although to be honest it wasn't anything remarkable.
Nobody said it was.
> I cannot think of any 8 bit micro-processor of the time that had
> floating point. On board floating point was quite late to the
> party. The Motorola 680000 didn't have it until the 68040 in 1990.
> Intel didn't have it on the x86 until the 80486 in 1989. The 6502
> was a 1975 era chip.
Indeed. When I bought an 80286 machine in 1985, I made sure it had an
80287 co-processor for floating point arithmetic.
-- Keith F. Lynch - http://keithlynch.net/ Please see http://keithlynch.net/email.html before emailing me.
>Although to be honest it wasn't anything remarkable. I cannot think
>of any 8 bit micro-processor of the time that had floating point.
Nobody had floating point on a micro until the 8087 came out, and the
8087 was nothing short of a miracle. Lot of folks managed to graft
the 8087 onto the side of microprocessors (such as the Z-80) which were
never intended for it.
>On board floating point was quite late to the party. The Motorola
>680000 didn't have it until the 68040 in 1990. Intel didn't have it
>on the x86 until the 80486 in 1989. The 6502 was a 1975 era chip.
In 1975 there were a million competing floating point standards and
nobody could even agree on how big the exponents and mantissas should
be. The IEEE floating point standard, in conjunction with the 8087,
provided the first real inter-vendor floating point compatibility anywhere, ever. And the microcomputer industry was first! It was
nothing short of a bloody miracle.
--scott
-- "C'est un Nagra. C'est suisse, et tres, tres precis."
On Sat, 10 Nov 2012 13:48:04 -0800 (PST) in rec.arts.sf.fandom,
Cryptoengineer <petert...@gmail.com> wrote,
>My memory of actual programming on the 6502 is at odds with what Keith
>'recalls reading'., I agree it was pretty limited, but it was Turing
>complete. I was one of the creators the Apple Kermit, written in 6502
>assembler.
It is surely possible that some idiot wrote such nonsense and Keith
once read it.
In article <k7mf0v$12...@reader1.panix.com>,
Keith F. Lynch <k...@KeithLynch.net> wrote:
>Scott Dorsey <klu...@panix.com> wrote: >> It, like every language, enables structured programming. I have
>> taught structured fortran and structured assembler. Structured
>> programming is in the way you think about coding, and if your while
>> loop has to be implemented in code as a CMP and a DJNZ, it's still a
>> while loop.
>I recall reading that 6502 machine language was so badly designed that
>hardly anyone ever bothered to compile anything into it. Instead they
>compiled into something called p-code which was interpreted.
(All I ever did was write a cross assembler for it...)
For high level language support, it kind of sucked. As I remember
(I dont' feel like digging out the Mos Technology hardware book), it
only had an 8 bit stack register. And flags that only supported
unsigned arithmetic.
But (at least one faction of) the compulsive puzzle-solving bit-nuts
LOVED it. It had some useful addressing modes and little endian two
byte addresses and other speed ups so that it was 20%-50% faster than
the Motorola 6800 that it was an offshoot from. Add some undocumented*
instructions that did interesting things, and a really cheap price and
it got stuck into a lot of stuff.
* (illegal instruction fault? What illegal instruction fault? We're
talking a chip designed for the minimum area of silicon, here).
Probably the most heroic programming would have been in games for the
Atari and Commodore home computers. (I remember one on the Atari 800
that had a perspective view of a 3D animated chess board with chess
pieces zipping around on it. One of those "How the F*** did they do
that on THAT machine" moments).
Ah, the happy days of drag racing bicycles (~1 microsecond cycle time processors).
Mark Zenier mzen...@eskimo.com
Googleproofaddress(account:mzenier provider:eskimo domain:com)
David Harmon <b...@example.invalid> wrote:
> Cryptoengineer <petert...@gmail.com> wrote,
>> My memory of actual programming on the 6502 is at odds with what
>> Keith 'recalls reading'., I agree it was pretty limited, but it
>> was Turing complete. I was one of the creators the Apple Kermit,
>> written in 6502 assembler.
Obviously it's Turing complete, otherwise an additional level of
abstratction (e.g. p-code) couldn't help.
However, some things that a Turing complete are very difficult to
program in. For instance Intercal. Or Conway's Life.
> It is surely possible that some idiot wrote such nonsense and Keith
> once read it.
Scott Dorsey <klu...@panix.com> wrote:
> In 1975 there were a million competing floating point standards
> and nobody could even agree on how big the exponents and mantissas
> should be.
That was no reason not to have floating point. So what if raw
floating point data was in different formats on different machines?
-- Keith F. Lynch - http://keithlynch.net/ Please see http://keithlynch.net/email.html before emailing me.
In article <k7s35d$9d...@reader1.panix.com>,
Keith F. Lynch <k...@KeithLynch.net> wrote:
>I was careful to express no opinion on the subject. I've never
>programmed in 6502 assembler.
Oddly enough, I have, though since I was in grade school at the time
I really don't feel qualified to have an opinion on whether it was
well or poorly designed.
-- David Goldfarb |"Newsgroups trimmed back to rec.arts.sf.written,
goldfar...@gmail.com | in the hope of subverting society's traditional
goldf...@ocf.berkeley.edu | values in a more focussed, netiquette-aware | fashion." -- Patrick Nielsen Hayden
>Scott Dorsey <klu...@panix.com> wrote:
>> In 1975 there were a million competing floating point standards
>> and nobody could even agree on how big the exponents and mantissas
>> should be.
>That was no reason not to have floating point. So what if raw
>floating point data was in different formats on different machines?
You get problems like code that gives totally different answers on the vax, the /370, and the Cyber, even when the word length is the same.
IEEE p754 was a bloody miracle.
--scott
-- "C'est un Nagra. C'est suisse, et tres, tres precis."
Scott Dorsey <klu...@panix.com> wrote:
> Keith F. Lynch <k...@KeithLynch.net> wrote:
>> That was no reason not to have floating point. So what if raw
>> floating point data was in different formats on different machines?
> You get problems like code that gives totally different answers on
> the vax, the /370, and the Cyber, even when the word length is the
> same.
You should get answers that differ by very little unless you're using
a bad algorithm. In fact, that's a good way of discovering that
you're suffering from total precision loss and that all your answers
are garbage.
You're going to get different answers on the Cyber regardless, as its
word length is *not* the same. Unless you know of some other 60-bit
architecture.
-- Keith F. Lynch - http://keithlynch.net/ Please see http://keithlynch.net/email.html before emailing me.
> Scott Dorsey <klu...@panix.com> wrote:
>> In 1975 there were a million competing floating point standards
>> and nobody could even agree on how big the exponents and mantissas
>> should be.
> That was no reason not to have floating point. So what if raw
> floating point data was in different formats on different machines?
It wasn't feasible to integrate it in the first few generations of
microprocessors; takes too much die space. And for a while after that,
there was still a stronger demand for other uses of the space.
And people went to huge amounts of trouble to avoid floating point in
their algorithms, because it was *so much* slower, like orders of
magnitude. Which reduced the drive to include it in micro-processors.
>Scott Dorsey <klu...@panix.com> wrote:
>> Keith F. Lynch <k...@KeithLynch.net> wrote:
>> You get problems like code that gives totally different answers on
>> the vax, the /370, and the Cyber, even when the word length is the
>> same.
>You should get answers that differ by very little unless you're using
>a bad algorithm. In fact, that's a good way of discovering that
>you're suffering from total precision loss and that all your answers
>are garbage.
Now, instead we're going to get an underflow, when an underflow occurs.
That is much nicer than silently just getting the wrong answer. Underflow
handling was another one of the big things that came out of p754. It was
an eye-opener to folks porting code from the Vax to the Sun.
>You're going to get different answers on the Cyber regardless, as its
>word length is *not* the same. Unless you know of some other 60-bit
>architecture.
We took the 64-bit route with the Cyber 180 machines, which was not necessarily the smart thing to do in the Cyber world.
--scott
-- "C'est un Nagra. C'est suisse, et tres, tres precis."
>> Scott Dorsey <klu...@panix.com> wrote:
>>> In 1975 there were a million competing floating point standards
>>> and nobody could even agree on how big the exponents and mantissas
>>> should be.
>> That was no reason not to have floating point. So what if raw
>> floating point data was in different formats on different machines?
>It wasn't feasible to integrate it in the first few generations of
>microprocessors; takes too much die space. And for a while after that,
>there was still a stronger demand for other uses of the space.
Well, at the time, microprocessors weren't really taken seriously and the
micro industry was not the dominant force in the computer world. Probably
the first sign of that changing was in floating point.
Scott Dorsey <klu...@panix.com> wrote:
> Now, instead we're going to get an underflow, when an underflow
> occurs. That is much nicer than silently just getting the wrong
> answer.
On Tue, 13 Nov 2012 00:10:21 +0000 (UTC) in rec.arts.sf.fandom,
"Keith F. Lynch" <k...@KeithLynch.net> wrote,
>I was careful to express no opinion on the subject. I've never
>programmed in 6502 assembler.
I never did much, and that was a long time ago. If I recall
correctly, it was one small step better than the Motorola 6800
instruction set it was derived from, by virtue of having
more-usable index registers.
On Wed, 14 Nov 2012 22:59:30 -0800, David Harmon <sou...@netcom.com> wrote:
> On Tue, 13 Nov 2012 00:10:21 +0000 (UTC) in rec.arts.sf.fandom,
> "Keith F. Lynch" <k...@KeithLynch.net> wrote,
>>I was careful to express no opinion on the subject. I've never
>>programmed in 6502 assembler.
> I never did much, and that was a long time ago. If I recall
> correctly, it was one small step better than the Motorola 6800
> instruction set it was derived from, by virtue of having
> more-usable index registers.
I wouldn't say better. It was swings and roundabouts.
6800 only had 1 index register true (6502 had two) however it
was 16 bit, the 6502 only had 8 bit index registers.
The 6800 had 2 accumalators, the 6502 only had 1.
The 6800 had slightly more instructions, slightly less opcodes.
The 6800 had a 16 bit stack pointer, the 6502 had a 8 bit stack
pointer.
The 6502 tended to perform better at a given clockrate due to
factors other than its instruction set, and was much cheaper.
-- Andy Leighton => an...@azaal.plus.com
"The Lord is my shepherd, but we still lost the sheep dog trials" - Robert Rankin, _They Came And Ate Us_