ST6 and ST7 とは

ST6とST7は、STマイクロエレクトロニクスの8ビットマイクロコントローラ製品ラインです。それらは洗濯機のような小型の組込みアプリケーションで一般的に使用されています。
同様の周辺機器を使用し、同じ製品ラインの一部として販売されていますが、2つのアーキテクチャは実際にはかなり異なっています。
どちらも、ほとんどの操作に8ビットアキュムレータを使用し、メモリアドレッシングに使用する2つの8ビットインデックスレジスタ(XおよびY)を備えています。また、両方とも8ビット命令の後に最大2バイトのオペランドがあり、どちらもメモリの個々のビットを操作したり分岐したりすることができます。
そこには、類似点が終わります。
ST6は、8ビット(256バイト)のデータアドレス空間と別の12ビット(4096バイト)プログラム空間を備えたハーバードアーキテクチャです。オペランドは常に1バイト長で、いくつかの命令は "8ビット即値を8ビットメモリアドレスに移動"などの2つのオペランドをサポートします。サブルーチン呼び出しは、別々のハードウェアスタックを使用して実行されます。データレジスタ(プログラムカウンタまたはフラグは除く)はメモリマップされています。
ST6のアドレッシングモードは、即値、8ビットアブソリュートメモリアドレス、レジスタ間接モード(X)、(Y)に制限されています。
ST7は、単一の16ビット(64 kiB)アドレス空間を持つフォンノイマンアーキテクチャです。 RAMの最初の256バイト(ゼロページ)には柔軟性があります。 "テストビットと分岐"以外の2オペランド命令はありません。そのレジスタはメモリマップされておらず、サブルーチン呼び出しに汎用RAM(スタックポインタレジスタを加えたもの)を使用します。
ST7は、ベース+インデックスやダブル間接など多種多様なアドレッシングモードをサポートしています。