戻る アセンブラ (Z80 プログラム例)


これは、10 から 1 までの整数を レジスタ A に 累算するアセンブラ言語によるプログラムの例です。 (ここで使用しているアセンブラ言語は、 "Z80" という 8 ビット CPU のものです。)

STEP ボタンをクリックすると、プログラムが 1 ステップずつ実行されます。

最初のクリックで A には何らかの値が、B には 0000 1010 が表示されます。 レジスタ B に 10 (10進数) = 0000 1010 (2進数) が記憶されたことを 表しています。

2度目のクリックで A は 0000 0000 に変わります。レジスタ A に 0 が記憶されます。

STEP ボタンのクリックを続けると、プログラムの実行が進みます。 2進数での表示が分かりにくければ、DEC ボタンをクリックしてみてください。


ボタン説  明
ここに10進数の数値を入力すると Bレジスタ の初期値を変更できます。
255までの整数が入力できますが、22 以上の値はこのプログラムでは無意味です。
SET左に入力されている値を Bレジスタにセットするプログラムに変更します。
<<実行速度を遅くします。
>>実行速度を早くします。
RUN一定の早さで、自動的にプログラムの実行を進めます。 ボタンの名前は STOP に変わります。 STOP をクリックすると自動実行は停止します。
DECA,B レジスタの値を10進数で表示します。 ボタンの名前は BIN に変わります。 BIN をクリックすると2進数表示に戻ります。
RESETプログラムの実行ステップをクリアします。
BACK命令の実行を1ステップ前にもどします。
STEPクリックする度に1ステップづつ命令を実行します。


 アセンブラ言語で書かれたプログラムは機械語に変換して実行しますが、 ここでは便宜上アセンブラ言語のまま実行しているかのように表示しています。
なお、Z は ゼロフラグ で、演算の結果がゼロになったときに値が 1 になります。


このページの アセンブラプログラム について、 詳しく説明したページ もあります。
また、このページで使っているのは "Z80" という 8 ビット CPU のアセンブラ言語ですが、 アセンブラ プログラミング では、 小規模な 「仮想コンピュータ」 を使って、コンピュータとプログラムの関係を説明しています。


情報処理概論 に戻る   講義資料 に戻る   戻る

*1 Z80 の命令表はこちらにあります。

update: 2004.03.22   ueyama@infonet.co.jp