Valgrindで見つかったメモリー周辺の問題点を修正
[YACASL2.git] / include / exec.h
1 #ifndef YACASL2_EXEC_INCLUDED
2 #define YACASL2_EXEC_INCLUDED
3
4 #include <stdbool.h>
5 #include "struct.h"
6 #include "word.h"
7
8 enum {
9     INSIZE = 256    /**<IN命令の、入力領域 */
10 };
11
12 /**
13  * 実行モード型
14  */
15 typedef struct {
16     bool trace;           /**<レジストリの内容を表示する場合はtrue */
17     bool logical;         /**<レジストリの内容を論理値(0から65535)で表示する場合はtrue */
18     bool dump;            /**<メモリの内容を表示する場合はtrue */
19 } EXECMODE;
20
21 /**
22  * 実行モード: trace, logical, dump
23  */
24 extern EXECMODE execmode;
25
26 /**
27  * 実行エラーをエラーリストに追加
28  */
29 void addcerrlist_exec();
30
31 /**
32  * アセンブル結果読み込みエラーをエラーリストに追加
33  */
34 void addcerrlist_load();
35
36 /**
37  * 指定されたファイルからアセンブル結果を読み込む
38  */
39 bool loadassemble(char *file);
40
41 /* COMET II仮想マシンのリセット */
42 void reset();
43
44 /**
45  * COMET II仮想マシンの実行
46  */
47 bool exec();
48
49 /**
50  * COMET IIのメモリを表示
51  */
52 void dumpmemory();
53
54 /**
55  * COMET IIのレジスタを表示
56  */
57 void dspregister();
58
59 #endif            /* YACASL2_EXEC_INCLUDEDの終端 */