Z80
レジスタまたはメモリの内容を右に論理シフトする。
アスキーが開発した、内部16ビットの高速版Z80互換CPU。1990年4月に発表。乗算命令を拡張しているが、使用するレジスターの組み合わせで計算結果が不正になる不具合があるため、実質使用できるレジスターが制限されていた。また隠し命令のうち、IX/IYレジスタの8ビットアクセスを主とするいくつかの命令が正式命令としてサポートされる。Rレジスタが8ビット幅になっている。MSXturboRに搭載された。CPU機能を停止しメモリコントローラーとして動作するモードも持ち、同機で使用された。MMUやDMAを集積しているが、仕様がMSXのものとは異なるため使用されなかった。
Rabbit 2000は一部の命令の追加と削除をして高速化したZ80である。米国ラビット・セミコンダクター(英語版)が開発・販売している。Rabbit2000、Rabbit3000、Rabbit4000、Rabbit5000のバージョンがあり、上位モデルのRabbit4000/5000では32bitとして動作する32bitアーキテクチャーとなっている。 Rabbit2000/3000/4000/5000はHD64180/Z180のアーキテクチャーを基にしており完全なバイナリー互換ではない(en:Zilog Z80#DerivativesのPartly compatibleを参照)。eZ80と同じく現行商品である。
Aレジスタの2の補数をとる。
ナショナル・セミコンダクターからは、CMOS化とともに、Intel 8085のようにアドレスバスの下位とデータバスとをマルチプレックスさせ、Z80とソフトウェアの互換性を持つ「NSC800」が製造された。ただし8085とはピン配置が異なり、置き換えることはできない。
2003年現在でも制御、組込用として、メモリおよび周辺機器の制御用回路を単一のパッケージに集積したLSIが製造されており、ASICのIPコアとしてZ80の互換プロセッサを用意するデバイスメーカーも多い。Z80 IPコアは、本家の「ALUが4ビットのため、多くの演算で複数クロックを必要とする」「レジスタがダイナミック動作をするため、クロックを停止できない」「LDx、LDxRのような繰り返し実行する命令やインデックスレジスタを使う命令等、組み込み用途では不要な複雑な命令がある」といった欠点を解消した物も提供されている。
A,B,C,D,E,H,Lは8080の同名レジスタと同じ機能を持つ。 Fは8080上位互換のフラグレジスタである。 これらの8ビット汎用レジスタとアキュムレータ、フラグレジスタはZ80では切り替えて使える裏レジスタが用意された。 但し、裏表どちらのレジスタであるかを判断する命令はない。 Rはリフレッシュカウンタで、オリジナルのZ80では下位7ビットが変化し、最上位ビットは初期値不定で、値を書き込むとその最上位ビットが保持される。周辺LSI統合CPU・上位互換CPUでは、リフレッシュカウンタを8ビットに拡張し、最上位ビットが保存されないものもあるほか、リフレッシュ機構をCPUから完全に切り離してRレジスタが変化せず書き込んだ値が保存されるものもある。
フラグレジスタのビット位置(*は8080から拡張されたビット) b7:S 符号 b6:Z ゼロ b5:未使用 (0に固定) b4:H AUXキャリー(パックBCD演算用) b3:未使用 (0に固定) b2:P/V * パリティ・オーバーフロー(8080ではP パリティ) b1:N * 減算(ADD命令で0、SUB命令で1になる。8080では未使用、0に固定) b0:C キャリー
16ビットレジスタの内容とCフラグをHLレジスタに加算する。ADD命令は8080から存在した。