I have posted a PDF of my Instruction Set Reference for the 6809 and 6309 with the hope that someone may find it useful. I believe it contains more accurate and detailed information regarding the extra features of the 6309 than is available elsewhere.
http://www.coco3.com/community/wp-content/uploads/2010/03/6x09_Instruction_Sets.pdf
Enjoy!
This post was submitted by DarrenA.




Hi DarrenA.
I would download the PDF, But all I get is a Page not found error.
laters
Briza
Maybe this will work better:
http://www.coco3.com/community/wp-content/uploads/2010/03/6x09_Instruction_Sets.pdf
I haven’t gotten to look through the entire thing but it looks very well done.
Thank you very much!
Thanks DarrenA.
Now I can take a look at this PDF file.
This is a great reference!! Thank you very much.
I’ve still got my silver cover, official Moto 6809 programmers guide and always liked the format. Nice to see the 6309 ops in that context.
Looking at the illegal opcodes section was interesting. Seems to me moto did a fine job with this CPU, as there are few illegals, which shows a great use of the 8 bit primary opcode space, and where there are holes, the behavior isn’t anywhere near as bizzare as it is on some other CPUs; namely, 6502, which has a lot of holes and does a lot of goofy stuff.
Nice work, thanks
In indexed addressing, I think I determined that (on a 6809) [,r+] and [,-r] both worked as expected, and 1xx01010 did a strange thing where ea = pc | 0xff. I think 10001111 does what you’d expect too, though it’s not very useful.
Indeed. The [,r+] and [,-r] modes seem to work fine on the 6809, and I have yet to figure out the reason behind Motorola saying otherwise (I assume there must be one). You certainly shouldn’t use them if you want your code to work on a 6309. On that CPU the [,r+] postbytes are new modes involving the W accumulator, and the [,-r] postbytes will produce an Illegal Instruction exception.
Hi DarrenA.
Torsten in Germany asked me to put up a post for him.
torstencito: has the original (Japanese) Oh!FM article been used to create the tables?
torstencito: or at least: has the information been crosschecked against the Oh!FM info?
(e.g. table on page 6 might be used, even without knowng japanese)
Here’s a link to this article!!!!
http://tinyurl.com/yhl988j
laters
Briza
Many sources were used to gather information for the document, but little came directly from the Oh! FM article due to the language barrier. The design of the opcode map in that article was definitely the inspiration for the one that appears in the reference. The format used in other parts of the document is based on that found in the Motorola 6809 Microprocessor Programming Manual.
It’s great to see this reference released to the world. I’ve had a copy of it for some time now and found it extraordinarily useful during my programming endeavours. In particular, the format of the document is very clear.
All
The opcodes are designed to encode both function and addressing mode. The addition of the post byte is needed to allow for more flexible indexed addressing mode as well as the indirect indexed mode. Unlike the 6800 and the HC11, the indexed mode of the opcodes are not hard enocded with the target register. The target register is contained within the post byte. This allows all four pointer registers to be used in indexed mode. Unlike the HC11 which is only the X and Y register.
The MC6809 has 59 instructions. Some are 8 bit mode and some are 16 bit mode. Along with that and indirect addressing mode, Motorola had to expand beyond a 256 byte page. Opcodes $10 are $11 are in reality page switch opcodes. Often called “prebyte”. /editorial comment I hate that term “prebyte” /end editorial comment. Motorola has a patent on that feature for the 6809. The two opcodes either switch register usage in indexed mode or alter the main instruction. If you search the patents on the MC6800, you will see that the MC6809 is patterned after that. The discrete control logic takes up a huge amount of space on the die.
I have the schematic for the MC6800 that was published in one of the patents. It is huge, E size page at least.
regards
james
Do you have that MC6800 schematic as a computer file of kind? If so, I’d like to see it, just out of curiosity. And who knows, maybe to learn something about just how complex a CPU is?