6809

読み:ろくはちまるきゅう
外語:6809 英語
品詞:商品名

Motorolaの開発した8ビットマイクロプロセッサー

目次

同社の旧製品6800に、命令やレジスターを追加し改良したもの。

6800の強力なアドレッシングモードを引き継いでいる。

この機能を利用し、8ビットマイクロプロセッサーにも関わらずOS-9というマルチユーザーマルチタスクオペレーティングシステムを動作させることができる。

そのようなところから、「究極の8ビットマイクロプロセッサー」などとも評されている。

改良点

従来のA・B・Xレジスターに加え、インデックスレジスターY、スタックポインターS、Uレジスターが増えている。

また、二つある8ビットのアキュームレーターを連結し、16ビットアキュームレーターDとして使うこともできるようになった。

更に、8×8の無符号乗算を11クロックで処理できるのも特徴。この当時としては驚愕に値する機能である。

レジスター構成

6809のレジスター構成は次の通りである。

AB
X
Y
U
S
PC
DPCC
  • A/Bは、8ビットアキュームレーター。両者併せて16ビットアキュームレーターDにできる
  • X/Yは、16ビットインデックスレジスター
  • Uは、16ビット・インデックス/ユーザースタックレジスター
  • Sは、16ビット・インデックス/システムスタックレジスター
  • PCは、16ビット・プログラムカウンターレジスター
  • CCは、8ビット・コンディションコードレジスター
  • DPは、ダイレクトページレジスター

CCレジスター

CCレジスター、いわゆるフラグレジスターは8ビットであり、次のような構成になっている。

  • bit 0 ‐ C キャリーフラグ (桁上がり、桁下がり)
  • bit 1 ‐ V オーバーフローフラグ (符号付き演算での桁溢れ)
  • bit 2 ‐ Z ゼロフラグ (ゼロか(1)、否か(0))
  • bit 3 ‐ N ネガティブフラグ (負か(1)、正か(0))
  • bit 4 ‐ I IRQマスク・フラグ (IRQ割込禁止をするか(1)、否か(0))
  • bit 5 ‐ H ハーフキャリーフラグ (BCD桁上がり計算用)
  • bit 6 ‐ F FIRQマスクフラグ (FIRQ割込禁止をするか(1)、否か(0))
  • bit 7 ‐ E エンタイアーフラグ (割込で全レジスターを退避した(1)、PC/CCのみ(0))

アドレッシング

6809にあるアドレッシングモードは次の通り。

  • イミディエイト
  • エクステンド
  • ダイレクト
  • インデックス
    • 非インダイレクトモード
    • インダイレクトモード
  • インハラント
  • レジスター
  • プログラムカウンター相対

ニーモニック

6809にあるニーモニックは次の通り(アルファベット順)。

  • ABX
  • ADCA
  • ADCB
  • ADDA
  • ADDB
  • ADDD
  • ANDA
  • ANDB
  • ANDCC
  • ASL/LSL
  • ASLA
  • ASLB
  • ASR
  • ASRA
  • ASRB
  • BCC/BHS
  • BCS/BLO
  • BEQ
  • BGE
  • BGT
  • BHI
  • BITA
  • BITB
  • BLE
  • BLS
  • BLT
  • BMI
  • BNE
  • BPL
  • BRA
  • BRN
  • BSR
  • BVC
  • BVS
  • CLR
  • CLRA
  • CLRB
  • CMPA
  • CMPB
  • CMPD
  • CMPS
  • CMPU
  • CMPX
  • CMPY
  • COM
  • COMA
  • COMB
  • CWAI
  • DAA
  • DEC
  • DECA
  • DECB
  • EORA
  • EORB
  • EXG
  • INC
  • INCA
  • INCB
  • JMP
  • JSR
  • LBCC
  • LBCS
  • LBEQ
  • LBGE
  • LBGT
  • LBHI
  • LBLE
  • LBLS
  • LBLS
  • LBLT
  • LBMI
  • LBNE
  • LBPL
  • LBRA
  • LBRN
  • LBSR
  • LBVC
  • LDA
  • LDB
  • LDD
  • LDS
  • LDU
  • LDX
  • LDY
  • LEAS
  • LEAU
  • LEAX
  • LEAY
  • LSR
  • LSRA
  • LSRB
  • MUL
  • NEG
  • NEGA
  • NEGB
  • NOP
  • ORA
  • ORB
  • ORCC
  • PSHS
  • PSHU
  • PULS
  • PULU
  • ROL
  • ROLA
  • ROLB
  • ROR
  • RORA
  • RORB
  • RTI
  • RTS
  • SBCA
  • SBCB
  • SEX
  • STA
  • STB
  • STD
  • STS
  • STU
  • STX
  • STY
  • SUBA
  • SUBB
  • SUBD
  • SWI
  • SWI2
  • SWI3
  • SYNC
  • TFR
  • TST
  • TSTA
  • TSTB

難点

6809は6800の上位互換拡張という都合から、機械語が汚ないという問題を抱えていた。

拡張部分の機械語には一貫性がなく、SレジスターとUレジスターで命令長が違う命令(LD命令など)があったりもした。

普及と衰退

同時期のZ80と共に8ビットパソコン全盛期に多く採用された。日本では富士通のFM-8、FM-7/77/NEW7、日立製作所のBasicMaster LEVEL-3などに搭載されている。

Z80と同様に制御分野にも利用されたが、8ビットであるが故、消滅は時間の問題である。パチンコ台制御用マイコン等への使用例がある。

日本のアーケードゲームでは、かつてのナムコが好んで使っていた。マッピー、ドルアーガの塔の塔、System 1基板等では単品で使われ、リブルラブルでは6809+68000で使われた。

ちなみにリブルラブルはメインCPUが6809であり、68000はグラフィック処理用のサブプロセッサーだった。

SEX

余談であるが、このマイクロプロセッサーのアセンブリ言語にはSEXという命令が存在する。

これは8086での「CBW」命令に相当するもので、符号付き8ビット値を符号付き16ビット値に拡張する命令である。

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club