Notes sur le Motorola 6809
Je place ici quelques notes sur le Motorola 6809, pour me remettre rapidement dans le bain lorsque je change de processeur.
Registres
- 2 accumulateurs 8 bits A et B, qui peuvent se joindre en un seul accumulateur 16 bits D
- 1 registre d'index X 16 bits
- 1 registre SP (Stack Pointer)
- 1 registre PC (Program Counter)
- 1 registre d'état : 11HINZVC
- 5, H : half carry
- 4, I : interrupt
- 3, N : negative
- 2, Z : zero
- 1, V : overflow
- 0, C : carry
Interruptions
- NMI (Non Maskable Interrupt)
- IRQ1 (Interrupt Request) : pour les périphériques externes
- IRQ2 (Interrupt Request) : pour le timer et l'interface série
IRQ1 a la priorité sur IRQ2.
Vecteurs d’interruptions :
| MSB | LSB | Interruption |
|---|---|---|
| FFFE | FFFF | Reset |
| FFFC | FFFD | NMI |
| FFFA | FFFB | Software interrupt (SWI) |
| FFF8 | FFF9 | IRQ1 |
| FFF6 | FFF7 | ICF (Input Capture) |
| FFF4 | FFF5 | OCF (Output Compare) |
| FFF2 | FFF3 | TOF (Timer Overflow) |
| FFF0 | FFF1 | SCI (RDRF + ORFE + TDRE) |