ttlworks wrote:
Quote:
the 6502 has its own annoyances
If you need index registers with more than 8 Bits, and 256 Bytes of stack won't do, it certainly has.
Acutally, the 256 byte stack limit doesn't seem like a big issue to me, but I keep forgetting that for languages like C it's really helpful. (Perhaps score a point for the 6800 there.) I tend towards languages that dump stuff in a heap.
The 8-bit index registers have their own pain, though. You now have to worry about exceeding the 256 byte limit on data structure size. You have to find another way to pass around base addresses of things. (The zero page and [zp],y addressing mode is pretty helpful with this, though that brings up its own issues, such as having to do multibyte additions/subtractions when incrementing/decrementing those base addresses.) There's probably more.
I've not written enough 6800 code to truly know that the 6502 has made a better set of tradeoffs here, but it looks to me like it probably did.
Quote:
When comparing 6800 and 6809 instruction map:
For instance, TST is at a different place in the "OP2" group, and the instructions for pushing/pulling registers in the "MISC3" group are a different pair of shoes.
Let me say again, to be clear, like the 8086 vs. the 8085 the 6809 is
source compatible with the 6800, not binary compatible. You run your 6800 source code through a translating assembler, and out comes 6809 binary code. As far as I'm aware, there are very few issues you have to deal with when doing this (though grovelling in the stack may be one of them).
Such a translating assembler isn't hard to write, though you didn't need to do so since Motorola provided one.
This is a pretty reasonable compromise to make when you're looking at a new processor with such vastly increased capabilities; trying for binary compatibility generally would mean an emulation mode or just a hot mess. Intel made the same choice. I'm not sure if MOS/Commodore ever did this for the native mode of the 65816.
Quote:
Haven't considered, that the 8086 segmenting scheme might be helpful for upgrading from 8085 systems.
But over time, it had brought us a lot of trouble.
Yup. It was great for what turned out to be a tiny part of the market in the long run, and caused everybody else, including Intel, massive pain that is still ongoing.