6809
読み:ろくはちまるきゅう
外語:6809
Motorola
の開発した
8ビットマイクロプロセッサー
。
目次
概要
仕様
改良点
レジスター構成
CCレジスター
アドレッシング
ニーモニック
補足
難点
普及と衰退
SEX
概要
同社の旧製品
6800
に、命令や
レジスター
を追加し改良したもの。
6800の強力なアドレッシングモードを引き継いでいる。
この機能を利用し、8ビットマイクロプロセッサーにも関わらず
OS-9
という
マルチユーザー
の
マルチタスクオペレーティングシステム
を動作させることができる。
そのようなところから、「究極の8ビットマイクロプロセッサー」などとも評されている。
仕様
改良点
従来のA・B・Xレジスターに加え、インデックスレジスターY、
スタックポインター
S、Uレジスターが増えている。
また、二つある8ビットのアキュームレーターを連結し、16ビットアキュームレーターDとして使うこともできるようになった。
更に、8×8の無符号乗算を11クロックで処理できるのも特徴。この当時としては驚愕に値する機能である。
レジスター構成
6809のレジスター構成は次の通りである。
A
B
X
Y
U
S
PC
DP
CC
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ビット値に拡張する命令である。
再検索