1- # ASC Simulatorの使い方
2-
1+ ---
2+ title : ASC Simulatorの使い方
3+ lang : ja
34---
45
56# 目次
1718
1819---
1920
20- <span id =" 1-画面の説明 " ></span >
2121# 1. 画面の説明
2222![ 画面] ( help/画面.png )
2323
2424[ 2. 機能の説明] ( #2-機能の説明 ) にて、各部の詳しい説明をします。
2525
26- <span id =" 2-機能の説明 " ></span >
2726# 2. 機能の説明
28- <span id =" 2-1-メニューバー " ></span >
2927## 2-1. メニューバー
30- <span id =" ファイル " ></span >
3128## ファイル
3229![ ファイル] ( help/ファイル.png )
3330
34- <span id =" ファイルを開く " ></span >
3531#### [ ファイルを開く]
3632asc-assembler.exeやasc-simulator.exeの出力した.ascoファイルを選択し、メモリに読み込みます。
3733
3834またこの時、.ascsファイルで設定したORGの値がPCに設定されます。
3935
40- <span id =" ファイルを書き出す " ></span >
4136#### [ ファイルへ書き出す]
4237MMの内容を.ascoファイルへ書き出します。
4338
4439ここで書き出すファイルは、asc-assembler.exeの書き出すファイルと互換性があります。
4540
46- <span id =" 環境設定 " ></span >
4741#### [ 環境設定]
4842マシンビューの設定など、細かな設定をすることができます。
4943
50- <span id =" 動作 " ></span >
5144## 動作
5245![ 動作] ( help/動作.png )
5346
54- <span id =" レジスタとフラグを初期化 " ></span >
5547#### [ レジスタとフラグを初期化]
5648レジスタ、フラグの値を0に設定します。
5749
5850後述する[[ 初期化ボタン] ![ 初期化] ( help/初期化ボタン.png )] ( #初期化 ) との違いは、命令サイクルの状態を変更しないことです。
5951
60- <span id =" メモリを初期化 " ></span >
6152#### [ メモリを初期化]
6253メモリの内容を0で初期化します。
6354
64- <span id =" ブレークポイントを初期化 " ></span >
6555#### [ ブレークポイントを初期化]
6656ブレークポイントを全て解除します。
6757
68- <span id =" 表示を更新 " ></span >
6958#### [ 表示を更新]
7059マシンビューの表示、MMの表示、レジスタの表示を更新します。
7160表示に不具合のある場合などに使用してください。
7261
73- <span id =" 指定アドレスへ移動 " ></span >
7462#### [ 指定アドレスへ移動]
7563押すと、以下のようなダイアログが表示されます。
7664
7765![ 指定アドレスへ移動] ( help/指定アドレスへ移動.png )
7866
79- 表示したいアドレスを入力し、** [ 移動 ] ** を押すことで、MMの表示を指定したアドレスまでスクロールすることができます。
67+ 表示したいアドレスを入力し、[ ** 移動 ** ] を押すことで、MMの表示を指定したアドレスまでスクロールすることができます。
8068
81- <span id =" ヘルプ " ></span >
8269## ヘルプ
8370![ ヘルプ] ( help/ヘルプ.png )
8471### [ 使い方]
8572このページを表示します。
8673
87- <span id =" このプログラムについて " ></span >
8874### [ このプログラムについて]
8975プログラムのバージョンなどを確認することができます。
9076
91- <span id =" 2-2-マシンビュー " ></span >
9277## 2-2. マシンビュー
9378ASCマシンの状態を確認することができます。
9479
9580![ マシンビュー] ( help/マシンビュー.png )
9681
97- <span id =" 色について " ></span >
9882### 色について
9983マシンビューにおいて、値の書き換え、値の参照などが発生した場合、色が変わることがあります。
10084
@@ -108,11 +92,9 @@ ASCマシンの状態を確認することができます。
10892
10993また、色のついた矢印は、** 値が移動したこと** を表しています。
11094
111- <span id =" 2-3-メモリレジスタ " ></span >
11295## 2-3. メモリ、レジスタ
113- <span id =" MMビューの見方 " ></span >
11496### MMビューの見方
115- 画面右の** [ MM ] ** という表に、ASCマシンのMMの内容が表示されます。
97+ 画面右の[ ** MM ** ] という表に、ASCマシンのMMの内容が表示されます。
11698
11799![ MMビュー] ( help/MM.png )
118100
@@ -125,7 +107,6 @@ MMビューには**アドレス**、**バイナリ**、**ニーモニック**の
125107 .ascsファイルで定数とした値も、
126108 シミュレータ上では命令として解釈され表示されることに注意してください。)_
127109
128- <span id =" MMビューの色について " ></span >
129110### MMビューの色について
130111MMビューの行が着色されるときがあります。
131112
@@ -136,61 +117,56 @@ MMビューの行が着色されるときがあります。
136117** 薄い赤** は** PCの指すアドレスの命令の内容** を表しています。
137118
138119
139- <span id =" MMの内容を変更する " ></span >
140- ### MMの内容を変更する
120+ ### MMの内容を変更する
141121** バイナリ** 、** ニーモニック** の列は、クリックすることで直接書き換えることができます。
142122
143123値を入力した後、** Enterを押すか、他の行をクリックすること** でMMへ反映することができます。
144124
145- 書式にエラーがあった場合は、** 赤い![ 赤いマーク] ( help/赤いマーク.png ) ** マークが表示されます。
125+ 書式にエラーがあった場合は、** 赤い** ![ 赤いマーク] ( help/赤いマーク.png ) マークが表示されます。
126+
127+ この** 赤い** ![ 赤いマーク] ( help/赤いマーク.png ) マークにマウスオーバーすることでエラーの内容を確認することができます。
146128
147- この** 赤い![ 赤いマーク] ( help/赤いマーク.png ) ** マークにマウスオーバーすることでエラーの内容を確認することができます。
148129![ MMエラー] ( help/MMエラー.png )
149130
150- <span id =" ブレークポイントを設定する " ></span >
151131### ブレークポイントを設定する
152- ** [ MM ] ** のアドレスの左にある列をクリックすることで、** ブレークポイント** を設定できます。
132+ [ ** MM ** ] のアドレスの左にある列をクリックすることで、** ブレークポイント** を設定できます。
153133
154134![ ブレークポイント] ( help/ブレークポイント.png )
155135
156136ブレークポイントとは、[ デバッグ] ( #3-2-デバッグする ) の際などに、指定したアドレスで自動的に実行を停止する機能です。
157137
158- ブレークポイントが設定されたアドレスは、左側に** 赤い丸![ 赤い丸] ( help/赤い丸.png ) ** が表示されます。
138+ ブレークポイントが設定されたアドレスは、左側に** 赤い丸** ![ 赤い丸] ( help/赤い丸.png ) が表示されます。
159139
160- この** 赤い丸![ 赤い丸] ( help/赤い丸.png ) ** をもう一度クリックすることで、ブレークポイントを解除することができます。
140+ この** 赤い丸** ![ 赤い丸] ( help/赤い丸.png ) をもう一度クリックすることで、ブレークポイントを解除することができます。
161141
162- また、メニューバーより** [ 動作 ] →[ ブレークポイントを初期化] ** 機能より、全てのブレークポイントを解除することもできます。→_ [ ブレークポイントを初期化] ( #ブレークポイントを初期化 ) _
142+ また、メニューバーより[ ** 動作 ** ] →[ ** ブレークポイントを初期化** ] 機能より、全てのブレークポイントを解除することもできます。→_ [ ブレークポイントを初期化] ( #ブレークポイントを初期化 ) _
163143
164144---
165145
166- <span id =" レジスタビューの見方 " ></span >
167146### レジスタビューの見方
168- 画面右下に表示されている** [ レジスタ] ** という表に、レジスタとフラグの値が表示されます。
147+ 画面右下に表示されている[ ** レジスタ** ] という表に、レジスタとフラグの値が表示されます。
169148
170149![ レジスタ] ( help/レジスタ.png )
171150
172151** 名前** 、** 値** の列にそれぞれ、** レジスタ名** と** レジスタの値** が表示されています。
173152
174- <span id =" レジスタの内容を変更する " ></span >
175153### レジスタの内容を変更する
176154** 値** 列はクリックすることで編集することができます。
177155
178156** Enterを押すことや、他の行をクリックすること** で編集内容をレジスタに反映することができます。
179157
180- 入力にエラーがあった場合は、** 赤い![ 赤いマーク] ( help/赤いマーク.png ) ** マークが表示されます。
158+ 入力にエラーがあった場合は、** 赤い** ![ 赤いマーク] ( help/赤いマーク.png ) マークが表示されます。
181159
182- この** 赤い![ 赤いマーク] ( help/赤いマーク.png ) ** マークにマウスオーバーすることでエラーの内容を確認することができます。
160+ この** 赤い** ![ 赤いマーク] ( help/赤いマーク.png ) マークにマウスオーバーすることでエラーの内容を確認することができます。
183161
184162![ レジスタエラー] ( help/レジスタエラー.png )
185163
186164
187- <span id =" 2-4-ツールバー " ></span >
188165## 2-4. ツールバー
189166画面下部のツールバーには、ASCマシンの動作を操作するボタンなどが配置されています。
190167
191168![ ツールバー] ( help/ツールバー.png )
192169
193- <span id =" 初期化 " ></span >
194170### 初期化
195171![ 初期化] ( help/初期化ボタン.png )
196172
@@ -201,38 +177,31 @@ ASCマシンの**レジスタとフラグの値を0に設定**し、**命令サ
201177
202178プログラムを実行しなおす際などには、基本的にはこちらを使用してください。
203179
204- <span id =" 通常実行 " ></span >
205180### 通常実行
206181![ 通常実行] ( help/通常実行ボタン.png )
207182
208183ASCマシンを、** HLT命令** か** ブレークポイント** があわられるまで実行します。
209184
210- 手動で停止する際は、後述する** [[ ブレーク]] ( #ブレーク ) ボタン![ ] ( help/ブレークボタン.png ) ** を使用してください。
185+ 手動で停止する際は、後述する[[ ** ブレーク** ]] ( #ブレーク ) ボタン![ ] ( help/ブレークボタン.png ) を使用してください。
211186
212- <span id =" 命令単位ステップラン " ></span >
213187### 命令単位ステップラン
214188![ 命令単位ステップラン] ( help/命令単位ステップランボタン.png )
215189
216190ASCマシンを、** 次の命令まで実行して停止します。**
217191
218192
219- <span id =" 状態単位ステップラン " ></span >
220193### 状態単位ステップラン
221194![ 状態単位ステップラン] ( help/状態単位ステップランボタン.png )
222195
223196ASCマシンを、** 次の状態まで実行して停止します。**
224197
225- <span id =" ブレーク " ></span >
226198### ブレーク
227199![ ブレーク] ( help/ブレークボタン.png )
228200
229- ASCマシンを、** 現在の状態で停止します。**
230-
231- HLT命令で停止している際も、一度このボタンを押してから各種操作をするようにしてください。
201+ 通常実行時に** 実行を(強制的に)中断し停止します。**
232202
233203---
234204
235- <span id =" 実行速度コントローラ " ></span >
236205### 実行速度コントローラ
237206![ 実行速度コントローラ] ( help/実行速度コントローラ.png )
238207
@@ -242,63 +211,58 @@ HLT命令で停止している際も、一度このボタンを押してから
242211
243212また、処理に時間のかかるプログラムなどは、実行速度を速めることで高速に実行することができます。
244213
245- <span id =" 3-基本的な使い方 " ></span >
246214# 3. 基本的な使い方
247- <span id =" 3-1-自分で作ったプログラムを実行する " ></span >
248215## 3-1. 自分で作ったプログラムを実行する
249216このシミュレータは、同封のasc-assembler.exeの出力する、.ascoファイルを読み込むことができます。
250217
251218以下に、このシミュレータを使ってプログラムを実行する手順を示します。
252219
253- 1 . ** [ 初期化] ボタン** ![ 初期化] ( help/初期化ボタン.png ) を押す。
254- 2 . メニューバーより、** [ ファイル] ** → ** [ ファイルを開く] ** を押す。
255- 3 . 読み込みたいファイルを選択し、** [ 開く ] ** を押す。
220+ 1 . [ ** 初期化** ] ** ボタン** ![ 初期化] ( help/初期化ボタン.png ) を押す。
221+ 2 . メニューバーより、[ ** ファイル** ] → [ ** ファイルを開く** ] を押す。
222+ 3 . 読み込みたいファイルを選択し、[ ** 開く ** ] を押す。
2562234 . 画面下部のステータスバーで、読み込みの成功を確認する。
257- 5 . ** [ 通常実行] ** ボタン![ 通常実行] ( help/通常実行ボタン.png ) を押す。
224+ 5 . [ ** 通常実行** ] ボタン![ 通常実行] ( help/通常実行ボタン.png ) を押す。
258225
259226以上の手順で、プログラムを実行することができます。
260227
261228** (2, 3の手順を、ファイルをドラッグ&ドロップすることによって代用することもできます。)**
262229
263- <span id =" 3-2-デバッグする " ></span >
264230## 3-2. デバッグする
265231
266232読み込んだプログラムをデバッグするための手順を、以下に示します。
267233
2682341 . 動作を確認したいアドレスに、ブレークポイントを設定する。→
269235_ [ ブレークポイントを設定する] ( #ブレークポイントを設定する ) _
270- 2 . ** [ 通常実行] ボタン![ 通常実行] ( help/通常実行ボタン.png ) ** を押す。
271- 3 . ブレークポイントで停止するので、** [ 命令単位ステップラン] ボタン![ 命令単位] ( help/命令単位ステップランボタン.png ) ** や
272- ** [ 状態単位ステップラン] ボタン![ 状態単位] ( help/状態単位ステップランボタン.png ) ** を使い、動作を確認する。
273- 4 . バグを確認したら、MMの該当のアドレスを書き換える。→ _ [ MMの内容を変更する] ( #MMの内容を変更する ) _
274- 5 . ** [ 初期化] ボタン![ 初期化] ( help/初期化ボタン.png ) ** を押して、レジスタとフラグを初期化する。
236+ 2 . [ ** 通常実行** ] ** ボタン** ![ 通常実行] ( help/通常実行ボタン.png ) を押す。
237+ 3 . ブレークポイントで停止するので、[ ** 命令単位ステップラン** ] ** ボタン** ![ 命令単位] ( help/命令単位ステップランボタン.png ) や
238+ [ ** 状態単位ステップラン** ] ** ボタン** ![ 状態単位] ( help/状態単位ステップランボタン.png ) を使い、動作を確認する。
239+ 4 . バグを確認したら、MMの該当のアドレスを書き換える。→ _ [ MMの内容を変更する] ( #mmの内容を変更する ) _
240+ 5 . [ ** 初期化** ] ** ボタン** ![ 初期化] ( help/初期化ボタン.png ) を押して、レジスタとフラグを初期化する。
2752416 . PCの値をプログラムの初期位置に変更し、手順2へ戻る。→ _ [ レジスタの内容を変更する] ( #レジスタの内容を変更する ) _
276242
277243バグの改善が確認できるまで、この操作を繰り返してください。
278244
279245ブレークポイントで停止している間に、RやZ, Nなどの値を変更することも、バグの特定につながります。
280246
281- <span id =" 3-3-シミュレータ上でプログラムを作成する " ></span >
282247## 3-3. シミュレータ上でプログラムを作成する
283248
284- [ MMの変更機能] ( #MMの内容を変更する ) により、シミュレータ上でプログラムを作成することも可能です。
249+ [ MMの変更機能] ( #mmの内容を変更する ) により、シミュレータ上でプログラムを作成することも可能です。
285250
286251以下に、その手順を示します。
287252
2882531 . MMが初期化されていることを確認する。→ _ [ メモリを初期化] ( #メモリを初期化 ) _
289- 2 . MMの内容を書き換え、プログラムを作成する。→ _ [ MMの内容を変更する] ( #MMの内容を変更する ) _
254+ 2 . MMの内容を書き換え、プログラムを作成する。→ _ [ MMの内容を変更する] ( #mmの内容を変更する ) _
2902553 . PCの値をプログラムの開始位置に設定する。→ _ [ レジスタの内容を変更する] ( #レジスタの内容を変更する ) _
291- 4 . ** [ 通常実行] ボタン![ 通常実行] ( help/通常実行ボタン.png ) ** を押し、動作を確認する。
256+ 4 . [ ** 通常実行** ] ** ボタン** ![ 通常実行] ( help/通常実行ボタン.png ) を押し、動作を確認する。
2922575 . デバッグをする。→ _ [ 3-2. デバッグする] ( #3-2-デバッグする ) _
293- 6 . メニューバーより、** [ ファイル] ** → ** [ ファイルへ書き出す] ** を押し、プログラムを保存する。
258+ 6 . メニューバーより、[ ** ファイル** ] → [ ** ファイルへ書き出す** ] を押し、プログラムを保存する。
294259
295260ここで書き出した.ascoファイルは、asc-assembler.exeの出力するファイルと互換性があるため、再びシミューレータで読み込むことができます。
296261
297262
298- <span id =" 4-注意点 " ></span >
299263# 4. 注意点
300264* メモリの内容を書き出す際、0番地から書き出されます。
301265* メモリの内容を書き出したファイルのサイズは、変更されているメモリの最後の番地の、
302266次の2の倍数byteになります。(例えば、メモリの使用が0xF0〜0xFF番地までの場合、128byteになります)
303267* 実行中は、メモリ、レジスタの値は変更することができません。
304- * HLT命令でASCマシンが停止した場合も、ブレークボタンを押すまで操作はできません 。
268+ * ADD、SUB命令によりオーバフローが発生した場合、マシンはブレークし、「オーバフローが発生しています」と表示します 。
0 commit comments