6800
読み:ろくせんはっぴゃく
外語:6800
Motorola
の開発した
8ビットマイクロプロセッサー
。
目次
概要
仕様
レジスター構成
CCR
設計思想
ニーモニック
製品
シリーズ
派生品
概要
8ビットマイクロプロセッサーとしては、強力なアドレッシングモードを装備している。
条件ジャンプは全て相対ジャンプなので、手作業によるアセンブルは面倒である(無条件ジャンプは絶対アドレスもある)が、殆ど全ての命令でPC相対アドレッシングが使えるため、完全に
リロケータブル
にできる。
仕様
レジスター構成
6800のレジスター構成は次の通りである。
A
B
X
PC
SP
CCR
A/Bは、8ビットアキュームレーター
Xは、16ビットインデックスレジスター
SPは、16ビット・インデックスレジスター
PCは、16ビット・
プログラムカウンター
レジスター
CCRは、8ビット・コンディションコードレジスター
CCR
CCR、いわゆる
フラグレジスター
は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 ‐ 常に1
bit 7 ‐ 常に1
設計思想
アキュームレーター
2つ(A・Bレジスター)と、データ格納やアドレッシングにも使えるインデックスレジスターXが1つで構成される。
演算は、AまたはBに対し8ビット単位で行なう。インデックスレジスターは16ビットだが、
インクリメント
と
デクリメント
、比較のみが可能で、
加減算
などは出来ない。つまり、16ビット演算の機能はない。
レジスター数不足を補うため、メモリーマップ上の最初の256バイトにダイレクトアクセスするためのダイレクトページアドレッシング機能が用意されている。
これでも不足した場合は
スタックフレーム
に作業領域を作って使うことになるが、面倒であるので評判は今ひとつだった。
このプロセッサーの後継に
6809
などがあり、6809は人気を博した。
ニーモニック
6800にあるニーモニックは次の通り(アルファベット順)。
ABA
ADCA
ADCB
ADDA
ADDB
ANDA
ANDB
ASL
ASLA
ASLB
ASR
ASRA
ASRB
BCC
BCS
BEQ
BGE
BGT
BHI
BITA
BITB
BLE
BLS
BLT
BMI
BNE
BPL
BRA
BSR
BVC
BVS
CBA
CLC
CLI
CLR
CLRA
CLRB
CLV
CMPA
CMPB
COM
COMA
COMB
CPX
DAA
DEC
DECA
DECB
DES
DEX
EORA
EORB
INC
INCA
INCB
INS
INX
JMP
JSR
LDAA
LDAB
LDS
LDX
LSR
LSRA
LSRB
NEG
NEGA
NEGB
NOP
ORAA
ORAB
PSHA
PSHB
PULA
PULB
ROL
ROLA
ROLB
ROR
RORA
RORB
RTI
RTS
SBA
SBCA
SBCB
SEC
SEI
SEV
STAA
STAB
STS
STX
SUBA
SUBB
SWI
TAB
TAP
TBA
TPA
TST
TSTA
TSTB
TSX
TXS
WAI
製品
シリーズ
4種類ある。
6800 ‐ 標準
6801 ‐ 命令を追加し、周辺を追加した
MCU
6802 ‐ RAMとクロックジェネレーターを追加したもの
6808 ‐ 6802からRAMを除いたもの。68HC(S)08とは異なる
派生品
6805 ‐ 6800の機能を簡略化し、周辺を追加したMCU
68HC08 ‐ 6805のCMOS版
68HCS08 ‐ 68HC08の高クロック版
6809
‐ 6800を大幅に拡張した8ビットマイクロプロセッサー
68HC11 ‐ 6801の多機能版MCU
68HC12 ‐ 68HC11を16ビット化したもの
68HCS12 ‐ 68HC12の高クロック版
68HC16 ‐ 16ビットマイクロプロセッサー
再検索