0 Users Online Chatting

  • No one

 

March 2010
S M T W T F S
« Feb   Apr »
 123456
78910111213
14151617181920
21222324252627
28293031  

Newest Files

Downloads Page

Archives


03/09/10: New Instruction Set Documentation by DarrenA, | Tags: , , | Category: General, Programming | 13 comments

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.

FavoriteLoadingAdd to Favorites

13 comments to New Instruction Set Documentation

  • briza

    Hi DarrenA.

    I would download the PDF, But all I get is a Page not found error.

    laters

    Briza

  • jdiffend

    I haven’t gotten to look through the entire thing but it looks very well done.
    Thank you very much!

  • briza

    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.

  • sixxie

    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.

    • DarrenA

      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.

  • briza

    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

    • DarrenA

      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.

  • buckanear

    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

    • hhos

      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?

You must be logged in to post a comment.