Cameron Kaiser wrote:
But even with this artificial concept, the 6502 is still running through
instructions in fewer average clock cycles. Granted, the Z80 has a good
selection of more complex instructions that take fewer clock cycles than
the equivalent 6502 code in total. How often they get employed for this
advantage, however, directly affects their run-time impact of course.
One real problem with the Z80 is that a there is a lot of
unused/undefined
instructions because of the complex instruction set, that have been
decoded
and used in software. This has a impact if you are not using a real chip
but a emulator of some sort.
Actually, for that matter, the NMOS 6502 suffers from this as well.
There is a collection of valid opcodes that seem to work on the majority
of NMOS 6502s and derivatives (virtually all Commodore 8-bits, for
example, except the C65). These were replaced by new and documented
opcodes in CMOS versions of the 6502, and the 65816. Most Commodore
emulators worth their salt support these undocumented opcodes. They are
useful sometimes for combining two operations in a shorter-executing
single operation, but they were mostly used to obfuscate loaders instead
which won't work on SuperCPUs or other accelerated C64s.
--
----------------------------- personal page:
http://www.armory.com/~spectre/ --
Cameron Kaiser, Point Loma Nazarene University * ckaiser(a)stockholm.ptloma.edu
-- Quote me as saying I was misquoted. -- Groucho Marx ------------------------