[English]

KUE-CHIP2シミュレータ使用法

概要

プログラムの入力から実行までの一連の作業は, 実際のKUE-CHIP2教育用ボードと同じです. しかし,以下のような点が大きく異なります.

KUE-CHIP2シミュレータは,大きく分けて次の2つの部分からなります.

表示部
レジスタやフラグの値などKUE-CHIP2の内部状態をLEDや7セグメントで 表示する部分です.
制御部
KUE-CHIP2シミュレータの動作をコントロールする部分です.

画面上部の表示部で動作を確認しつつ, 画面下部の制御部でシミュレータを操作します. また,メモリエディタなどのツールは制御部から 起動します.

メニューについて

アプレット版では,起動と同時にメニューが独立したウィンドウとして 表示されます.これはアプレットではメニューを付けることができないからです. Windows95など一部のプラットホーム上ではこのウィンドウ が最初正しい大きさで表示されないときがあります. その場合は適当にリサイズしてください.

スタンドアローン版では,メニューはウィンドウの上部にあります.


表示部

表示部には,以下のような表示用LED,7セグメントがあります.

表示 機能
OP(LED) プログラム実行中に点灯.
P0〜P4(LED) 実行クロックフェーズを表示.
CF,VF,NF,ZF(LED) 各種フラグの状態を表示.フラグが立っている時に点灯.
INF, IN(LED) IN命令が実行されたときに入力される値をLEDにより
2進で表示.
OUTF, OUT(LED) OUT命令が実行されたときに出力される値をLEDにより
2進で表示.
PC(7segment) プログラムカウンタの値を16進で表示.
IR(7segment) インストラクションレジスタの値を16進で表示.
ACC(7segment) ACCレジスタの値を16進で表示.
IX(7segment) IXレジスタの値を16進で表示.
MAR(7segment) メモリアドレスレジスタの値を16進で表示.
Address(7segment) アクセスしているアドレスの値を16進で表示.

制御部

制御部には,以下のようなボタンなどがあります.

Control Button SS プログラムを実行し,HALT命令で停止する.
プログラム実行中は,現在実行中の命令を実行しその次の命令の前で停止する.
SI 1命令だけプログラムを実行し,停止する.
SP 1クロックフェーズだけプログラムを実行し,停止する.
RESET KUE-CHIP2シミュレータを初期状態に戻す.
内部のすべてのレジスタ,フラグなどの値が0になる.
CLOCK プルダウンメニュー形式. 動作速度を5段階に変更できる.
Tool Button MEMORY このボタンを押すごとに,メモリエディタ・ウィンドウの表示・非表示 をトグルする.
BLOCK このボタンを押すごとに,ブロック図・ウィンドウの表示・非表示 をトグルする.
LOG このボタンを押すごとに,ログ・ウィンドウの表示・非表示 をトグルする.
Instruction 現在実行中の命令を,ニーモニック形式で表示.
Total Phase プログラムの実行を開始してから現在までの総フェーズ数を表示.
Total Instruction プログラムの実行を開始してから現在までに実行した命令数を表示.
State 現在のシミュレータの状態を表示する.
  • RESET(リセット直後)
  • BREAK(ブレークポイントで停止直後)
  • RUNNING(プログラム実行中)
  • STOP(シミュレータが停止中)
のいずれか.

プログラムの入力


アプレット版,スタンドアローン版共通

プログラムの入力はメモリエディタを用いて行います. メモリエディタは,制御部のMEMORYボタンを押すことで ブラウザとは独立したウィンドウとして立ち上がります. このウィンドウから 任意のアドレスに1バイト単位でプログラムを入力することができます.

入力は16進で行います. まず,変更したい値をマウスなどを用いて反転表示させます.反転 させる部分は必ず1バイトにして下さい.その後,16進数で 値をキーボードから入力します.

このようにして,1バイトずつプログラムを入力していきます.

<注意!>バージョン0.6からこの方法に変更になりました.

スタンドアローン版のみ

スタンドアローン版のみ,プログラムを記述したテキストファイル から入力することができます.

[File]メニューから,[Open...]を選択し,表示されるファイルダイアログで プログラムファイルを選びます.

プログラムファイルのフォーマット

プログラムを記述するテキストファイルは以下の形式に従います.


データの入力

データの入力も,プログラムの入力と同様に行うことができます.

スタンドアローン版では,テキストファイルからの入力ができます. テキストファイルの中で,"[]"を使ってデータ領域のアドレスを 指定します.


プログラムの実行

プログラムの実行は,KUE-CHIP2教育用ボードと同様に行います. まず,RESETボタンを押し,続いてSS, SI, SP を使ってプログラムの実行を行います.


メモリ内容の一括入力・変更・保存


[Memory]メニューから[Operation...]を選択すると右のようなダイアログ が表示されます.

このダイアログで,次の3つのメモリ操作を行うことができます. これらの3つの操作はラジオボタン形式でいずれか1つを選びます.

Fill Memory
値の一括入力を行うことができます.Start address:から End address:までのメモリの内容をData:の値で埋めます.
Move Memory
Start address:からEnd address:までのメモリ内容を Move To:の指すアドレスに移動します.移動後元のアドレスの メモリ内容は00Hになります.
Copy Memory
Start address:からEnd address:までのメモリ内容を Copy To:の指すアドレスにコピーします.
Memory Operation Dialog Box
また,スタンドアローン版では,[File]メニューの[Save Memory...]で メモリ内容をファイルに保存することができます. このファイルは,次回シミュレータを使用するとき[File]メニューの [Open...]でメモリに読み込むことができます.

レジスタ値,フラグ状態の変更方法


レジスタの値の変更

変更したいレジスタの7セグメントをマウスでクリックします. クリックするとその7セグメントが反転表示されます. その状態でキーボードから16進数で値を入力します.

フラグの状態の変更

状態を変更したいフラグのLEDをマウスでクリックします. クリックすることによって,フラグのON, OFFが切り替わります.


ブレークポイントの設定方法

ブレークポイントは各レジスタ(PC, IR, MAR, ACC, IX)について 別々に設定することができます. それぞれに指定した値と等しくなったときにプログラムの実行を停止します.

例えば,PCのブレーク条件に03HをセットするとPCの値が03Hになったときに プログラムの実行が停止します.このとき,State:にはBREAKと表示されます.

ブレーク条件は,各レジスタの7セグメントの横にある小さな7 セグメントに値をセットします.この小さな7セグメントを マウスでクリックします.クリックすると反転表示され,キーボードから 16進数で値を入力します.

この条件を有効にするには,[Control]メニューから[Break point on] を選択します(このとき,メニュー項目は[Break point off]に変化します. また,逆に値をセットした状態でも[Break point off]を選択すると, ブレークポイントは無効になりプログラムの実行を停止させないように できます.

その値を無効にするには(初期状態に戻すには),マウスでクリックし キーボードから"-"(ハイフン)を入力して下さい.


実行履歴の取り方

まず制御部にあるLOGボタンを押し,ログ・ウィンドウを表示させます. そして,[Log]メニューから[Start Log]を選択すると (このときメニュー項目は[Stop Log]に変化します) それ以降の実行履歴をログ・ウィンドウに表示します. また,[Stop Log]を選択すると実行履歴の取得を中断できます.

ログ・ウィンドウの内容は,[Log]メニューから[Clear Log]を選択する ことで消去することができます.

さらに,スタンドアローン版では[File]メニューの[Save Log...]の項目を 選択することによってこのログ・ウィンドウに表示されている内容を ファイルに保存することができます.


KUE-CHIP2シミュレータのページへ戻る