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
documentations:devices:6809 [2014/04/10 21:49] – [Instruction set and addressing modes] pulkomandydocumentations:devices:6809 [2015/02/28 18:08] (current) – external edit 127.0.0.1
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.1397159393.txt.gz · Last modified: 2015/02/28 18:08 (external edit)
CC0 1.0 Universal
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0