referring to your questions regarding the execution time
Execution time for an 8E (1973) would have been under 8uS if both
instuction
used indirect addressing. As written it would be 7.6uS.
Now the 6502 at
2mhz would have done it in what?
I believe (guessing because I've learned memory doesn't serve as it once
did) The load is two clock ticks and the indirect, indexed jump is five, so
that's 3.5 microseconds, give or take a tick. it's less at 4 MHz, which is
what the 65C02C is rated, though it readily will run at 4.9152 (24.576
MHz/5) over a wide temperature and voltage range provided the clock is
phased correctly. the divice-by five yields a 40/60 h/l which must be
inverted to give a little longer phase-2 than phase-1.
I've imbedded a few comments in the text below.
Dick
-----Original Message-----
From: Allison J Parent <allisonp(a)world.std.com>
To: Discussion re-collecting of classic computers
<classiccmp(a)u.washington.edu>
Date: Saturday, April 10, 1999 5:58 PM
Subject: Re: stepping machanism of Apple Disk ][ drive (was Re: Heatkit 51/4
floppies)
<I knew somebody woudl come up with a good example.
That 6809 code is
<probably the closest thing I've seen in a micro. The 8051 uses a similar
<approach, pointing to the table with the datapointer and uses the
The 8051 is very ugly in other places.
It has a sufficiently varied instruction set that you don't really have to
use what you don't like. Perhaps you can take comfort in the fact that it's
been around since the early '80's and is still the most popular
architecture out there. What's more, it's not nearly as ugly as the PIC
architecture.
Then there are the NEC uPD 78xx series that are similar
in register layout
to z80 but code wise, not close. They have a table lookup instructions for
that exact task. They are targetted as rom based controllers and code
efficientcy is a requirement but often controller don't need to preocess
the kinds of things a PC (or other general purpose computer) would.
The z280 has a load address inscrtuction that makes the setup for an
indexed
jump easier.
The PDP-11 did it on one instuction but it has some very powerful
addressing
>modes. Indirection and indexing are natural to that part.
>
>However in CPUs righer in register than the 6502, the task would be done
>far differently. It's a different programming style and it does impact
>code structure. For example a set of operations that can be done requiring
>multiple (say a dozen) 16bit parameters to be passed are easily done on
>even 8080 but the 6502 has to do that as indexed list in ram and pass
>the pointer to the list if you want to be efficient. It's possible to
>structure a problem such that any cpu looks good or bad. Generally an
>application is far more than a trivial few instructions.
>
>Look at the PDP-8 which is both register poor and has an instruction set
>that small is far from adaquate to describe. Yet it performs tasks
>efficiently in small amounts of core that some cpus can't.
>
>The 6809 example would be in PDP-8...
>
> / enter here with uart data
> DCA pindex / store index value at pindex
> JMP I,INDEX / indirect jump via index (could have been a JMS, jump
> / subroutine!)
Execution time for an 8E (1973) would have been under 8uS if both
instuction
used indirect addressing. As written it would be 7.6uS.
Now the 6502 at
2mhz would have done it in what?
>< They (DEC) did make the uVax-II as a chipset for interfacing to their
><BI-bus, I believe, so that might qualify as well. The DEC chipset probabl
><didn't sell for what a 6809 costs, even the faster part, and certainly not
><the $0.86 I last saw on the 4MHz Rockwell 65C02.
>
>?????? UvaxII was not for interfacing the BI, that was a dedicated
chipset.
The uVAXII was a single chip (extended FPU and DMA were
companions).
UvaxII
was only remotely related to BI bus. The statment
doesn't parse.
<I'm not surprised that it was in the 6809 that this instruction came up.
<The 6809 showed lots of promise at first, but once it was in hand, one
<clearly could see that it would be MUCH easier going with the MC68008 if
on
<had to use an 8-bit bus. I never had the
opportunity to write in a
the 6809 was a bridge part while waiting for the 68K. Still it was a good
part.
I found them both (6809 and 68K) to be a disappointment. I guess there was
too much wait, and it wouldn't have mattered what they put out.
<high-level language for the 6809, but I was told it
should have been quite
<easy to write a high-quality efficient compiler for it because of its
<repertioire of instructions and addressing modes. I turned out literally
Nearly as good as the PDP-11. FYI both the 6809 and the 68k had heavy
PDP-11 and vax influences.
Allison