8085マイクロプロセッサ
Register Aは、8085で算術、論理、I/O & LOAD/STORE操作を実行するために使用される8ビットレジスタです。 レジスタAは、よくアキュムレータと呼ばれます。 アキュムレータとは、コンピュータのCPU(Central Processing Unit)において、演算や論理のデータを短期間、中間的に保存するためのレジスタで、2つのオペランドを含む演算処理では、一方のオペランドをこのレジスタに入れなければなりません。 演算の結果は、このレジスタに格納または蓄積されます。 同様に、2つのオペランドを含む論理演算では、1つのオペランドがアキュムレータに格納されなければなりません。 また、補数や小数点の調整など、アキュムレータでしか行えない演算もあります。
では、アキュムレータの内容だけに関わるプログラムセグメントを考えてみましょう。 8085命令セットでは、STAはSTore Accumulator contents in memoryを意味するニーモニックです。 この命令では、Accumulatorの8ビットの内容は、命令内でa16として示される16ビットアドレスのメモリロケーションに格納されます。 この命令では、行き先の指定に絶対番地指定を使用します。 この命令では、3 バイトのメモリを使用します。 1Byte 目はオペコード、次の 2Byte 目は 8Byte ずつに分割された 16Byte のアドレスが必要です。
Mnemonics, オペランド | オペコード(HEX) | バイト |
---|---|---|
STA Address | 32 | 3 |
STA4050はこの種の命令の例として考えてみましょう。 これは3バイト命令です。 1Byte目には、オペコードの16進数値32Hが入ります。 8085のアセンブリ言語のコーディングでは、アドレスの低次Byteを最初に記載し、次にアドレスの高次Byteを記載することになっています。 したがって、次のByteには50Hが格納され、その次の40Hは最後の3Byteに格納されます。 ここで、アキュムレータの初期値をABH、メモリ位置4050Hの初期値をCDHとします。 したがって、実行後、アキュムレータの内容はABHのままで、4050Hの場所の内容は、以前の内容CDHに代わってABHになります。 この命令の内容をトレースすると、次のようになります。 (a)
アドレス | Hexコード | ニーモニック | コメント |
---|---|---|---|
2008 | 2A<278> | STA 4050H | メモリロケーション4050Hの内容 ←A |
2009 | 50 | Low-Lowの場合アドレスの上位バイト | |
200A | 40 | アドレスの上位バイト |
この命令STA4050Hのタイミング図が以下になります -。
概要 – つまりこの命令SDA 4050Hは3Byteが必要です。 タイミング図に示すように、4マシンサイクル(オペコードフェッチ、メモリリード、メモリライト)、13T-Stateで実行されます。