Specifications

Page 12
Microprocessor specifics
The following sub-sections detail items of note relating to disassembly for the
specific microprocessors (and their variants) supported by
DASMx
.
Motorola 6800, 6802 and 6808
The Motorola 6800, 6802 and 6808 share an identical instruction set.
Assembler mnemonics follow the Motorola standard definitions (see reference [1]).
Note that there are two common styles for instructions involving the A and B
registers:
the A or B register name is separated by whitespace from the base
instruction (e.g.
lda b value
);
the A or B register name is used as a suffix to the instruction mnemonic
(e.g.
ldab value
).
DASMx
uses the latter style. This point also applies to the 6801/6803 and 6809
mnemonics generated by the disassembler.
Motorola 6801 and 6803
The Motorola 6801 and 6803 share an identical instruction set that is an object code
compatible superset of that of the base 6800. These processors contain on-chip
timer and I/O plus an expanded interrupt vector area over that of the 6800.
Definitions for these in a symbol file will be useful for disassembly of any
6801/6803 code. See the supplied 6803 symbol file,
ebcgame.sym
, for an example
that could be used as a template for other 6801/6803 disassembly.
Hitach 6301 and 6303
The Hitachi 6301 and 6303 are enhanced versions of the Motorola 6801/6803 with
an enhanced object code compatible instruction set. Differences include a few
additional instructions and pipelining that improves some instruction times.
Motorola 6809 and Hitachi 6309
The Motorola 6809 has an instruction set that is compatible with that of the 6800 at
the assembler level (i.e. it is not binary compatible, but every 6800 instruction
mnemonic is present in the 6809 instruction set). The 6809 also has many
additional instructions that are not present in the 6800.
The Hitach 6309 is a CMOS version of the 6809 (which is fabricated using NMOS
technology) that shares an identical instruction set. Consequently, setting the
processor type to 6809 may correctly disassemble 6309 code.