Intel 8080
PSWをプッシュする。
Cフラグが1のとき指定の番地をコールする。
8080は、アキュムレータ1つを含む、7つの汎用レジスタ(8ビット)を持つ。これはたとえば6800と比べて本数としては多い。また、二つの8ビットレジスタを併せて、BC、DE、HLの3つの16ビットレジスタとして扱う命令もある。
(注)命令中ではHLレジスタペアをポインタとして扱うメモリ参照は「M」と表現される: 例 ADD M
フラグレジスタのビット位置 b7:S 符号 b6:Z ゼロ b5:未使用 (0に固定) b4:H AUXキャリー(パックBCD演算用) b3:未使用 (0に固定) b2:P パリティ b1:未使用 (0に固定) b0:C キャリー
このフラグ位置は8086を経てIA-32に至るまで代々引き継がれている。
PSWをポップする。
命令はバイト単位で、1から3バイトの可変長である。
主な命令は、8ビットレジスタ間のロード、8ビットおよび16ビットレジスタペアに対する即値ロード命令、Aレジスタを用いた加減算とビット論理演算・比較演算(HLレジスタペアをポインタとして扱うメモリ参照を含む)、絶対番地指定による条件および無条件ジャンプ・コール命令・リターン命令、スタックへのPUSH/POP操作、割り込み許可・禁止命令、8レベルの割り込みをエミュレートするソフトウェア割り込み命令などがある。
相対ジャンプ及び相対コール命令がないため命令を動的に再配置することは原則としてできなかった。
リセット直後は(プログラム・カウンタが)0番地からアドレスが増加する方向に実行される。また、スタックポインタはアドレスが減少する方向に(プッシュにより)自動的に減算されるため、スタックはメモリ下位(数字の大きい方が上)番地に向かって伸びる。
以下に命令一覧を示す。
rは8ビットレジスタA,B,C,D,E,H,LまたはM(HLレジスタで示されるメモリ)を表す。ザイログニーモニックではMは(HL)と書く。
rrは16ビットレジスタBC,DE,HL,SPを表す。なおインテルニーモニックではBC,DE,HLはB,D,Hと書く。
nは8ビットの数値(即値またはI/Oアドレス)を表す。
nnは16ビットの数値(即値またはメモリアドレス)を表す。
インテルニーモニックとザイログニーモニックが異なるものは、スラッシュで区切って示した。
I/OアドレスからAレジスタに入力する。
Sフラグが1のときリターンする。
16ビットレジスタに即値をロードする。