Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

5
  • 1
    That fits with something I remember. Well IIRC that is. What one would think should be one of the simplest and quickest operations, copy register A to B, was actually executed as Push A, Pop B. Apparently the registers had no internal path, so one of them had to be pushed onto the stack and popped into the other register. That said, I still like the assembly language of the 6809, even if the actual implementation of those instructions was less than ideal. Commented Aug 1, 2018 at 5:40
  • 1
    @RichF - While you're correct that it's a surprisingly inefficient implementation, the MC6809 datasheet shows that TFR and EXG generate dummy bus cycles rather than stack accesses, suggesting the use of internal temporary storage of some kind. Commented Nov 2, 2018 at 10:02
  • 5
    This is mostly wrong. 1) The 6809 did not have "a lot of" instructions, in fact considerably fewer than the 6800 (59 vs. 78). 2) It was not object-code combatible with the 6800. 3) Most opcodes were single-byte, with the usual additional bytes to specify data or addresses. 4) There was no microcode (it was perhaps the last of the combinational logic processors) and this was one of the reasons it often used fewer clock cycles per instruction than competitors. Commented Jul 23, 2019 at 14:12
  • 1
    It did have a lot of addressing modes, and was generous in that most addressing modes could be used with most instructions -- in that sense, it had a lot of instruction+mode combinations. Commented Feb 17, 2020 at 18:36
  • "Basically for the same clock speed other processors executed the same program function faster and with less code" That could be true if you directly translated a 6800 program, instruction by instruction. But if you wrote the code FOR the 6809 then you could use fewer instructions. It was also much much easier to write a decent compiler for the 6809 than for the 6800, 6502, or z80. I was involved in writing a BCPL back end for 6809. Commented Mar 17, 2023 at 0:27