Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
documentations:devices:6809 [2014/04/10 19:49] – [Instruction set and addressing modes] pulkomandydocumentations:devices:6809 [2014/09/19 06:03] – [Download] pulkomandy
Line 3: Line 3:
  
 ===== Technical description ===== ===== Technical description =====
-Registers: +==== Registers ==== 
-* A and B: two 8-bit accumulators, useable as the 16-bit D +   * A and B: two 8-bit accumulators, useable as the 16-bit D 
-* X and Y: two index registers, used as memory pointers +   * X and Y: two index registers, used as memory pointers 
-* U and S: user and system stacks +   * U and S: user and system stacks 
-* CC: condition flags register +   * CC: condition flags register 
-* DP: direct-page pointer+   * DP: direct-page pointer
  
 ==== Instruction set and addressing modes ==== ==== Instruction set and addressing modes ====
 This is already covered elsewhere on the internet. Do I need to repeat everything? This is already covered elsewhere on the internet. Do I need to repeat everything?
-* [[http://public.logica.com/~burgins/emulator/com/m6809.html]] - Opcode summary with number of cycles, hex encoding of instruction, and brief description. + 
-* [[http://www.maddes.net/m6809pm/]] - HTML version of the 6809 programming manual, more verbose, with cycle-by-cycle execution diagrams of all instructions.+  * [[http://techheap.packetizer.com/processors/6809/6809_instruction_set.html]] - Opcode summary with number of cycles, hex encoding of instruction, and brief description. 
 +  * [[http://www.maddes.net/m6809pm/]] - HTML version of the 6809 programming manual, more verbose, with cycle-by-cycle execution diagrams of all instructions. 
 +  * [[http://www.playvectrex.com/designit/lecture/MICROS.HTM]] - 6809 programming course
 ====Interrupts==== ====Interrupts====
   * Reset: at system reset.   * Reset: at system reset.
   * NMI: non-maskable.   * NMI: non-maskable.
-  * IRQ +  * IRQ: all registers are saved on the stack before processing the interrupt. 
-  * FIQ: registers are not automatically saved (faster than IRQ, but needs manual save of used registers) +  * FIQ: Only PC and CC are saved (faster than IRQ, but needs manual save of registers used in the IRQ handler). 
-  * SWI1, 2, and 3: software interrupts triggered by the SWI instruction.+  * SWI1, 2, and 3: software interrupts triggered by the SWI instructions(On Thomson machines with standard ROM, only SWI1 is useable, the others are hardcoded to do nothing). 
 + 
 +The 6809 interrupts fetch an address from memory, and jumps to it. The interrupt table is at a fixed address at the top of memory: 
 +  * FFF2: SWI3 
 +  * FFF4: SWI2 
 +  * FFF6: FIRQ 
 +  * FFF8: IRQ 
 +  * FFFA: SWI 
 +  * FFFC: NMI 
 +  * FFFE: Reset
  
 ===== Download ===== ===== Download =====
  
-Datasheet, programming manual+  * Complete programming manual as PDF 
 +  * {{:documentations:devices:m6809pm_html.zip|Programming manual, partial HTML version}} 
 +  * Datasheet
documentations/devices/6809.txt · Last modified: 2015/02/28 17:08 by 127.0.0.1
CC0 1.0 Universal
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0