projects
/
YACASL2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
strip_end関数のユニットテストを追加
[YACASL2.git]
/
include
/
exec.h
diff --git
a/include/exec.h
b/include/exec.h
index
0794a91
..
b38e59a
100644
(file)
--- a/
include/exec.h
+++ b/
include/exec.h
@@
-3,18
+3,19
@@
#include <stdbool.h>
#include <stdio.h>
#include <stdbool.h>
#include <stdio.h>
+#include <assert.h>
+#include <time.h>
#include "struct.h"
#include "word.h"
#include "cmem.h"
#include "struct.h"
#include "word.h"
#include "cmem.h"
+#include "cerr.h"
+#include "monitor.h"
+#include "disassemble.h"
enum {
INSIZE = 256 /**<IN命令の、入力領域 */
};
enum {
INSIZE = 256 /**<IN命令の、入力領域 */
};
-enum {
- DBINSIZE = 8 /**<デバッガーの、入力領域 */
-};
-
/**
* @brief 実行モードを表すデータ型
*/
/**
* @brief 実行モードを表すデータ型
*/
@@
-22,11
+23,14
@@
typedef struct {
bool trace; /**<レジストリの内容をステップごとに表示する場合はtrue */
bool logical; /**<レジストリの内容を論理値(0から65535)で表示する場合はtrue */
bool dump; /**<メモリの内容をステップごとに表示する場合はtrue */
bool trace; /**<レジストリの内容をステップごとに表示する場合はtrue */
bool logical; /**<レジストリの内容を論理値(0から65535)で表示する場合はtrue */
bool dump; /**<メモリの内容をステップごとに表示する場合はtrue */
- bool debugger; /**<デバッガーモードの場合はtrue */
+ int dump_start; /**<メモリの内容をステップごとに表示する場合の開始アドレス */
+ int dump_end; /**<メモリの内容をステップごとに表示する場合の終了アドレス */
+ bool monitor; /**<モニターモードの場合はtrue */
+ bool step; /**<ステップ実行の場合はtrue */
} EXECMODE;
/**
} EXECMODE;
/**
- * @brief 実行モード: trace, logical, dump,
debugger
+ * @brief 実行モード: trace, logical, dump,
monitor, step
*/
extern EXECMODE execmode;
*/
extern EXECMODE execmode;
@@
-42,9
+46,13
@@
void addcerrlist_load();
/**
* @brief 指定されたファイルからアセンブル結果を読み込む
/**
* @brief 指定されたファイルからアセンブル結果を読み込む
+ *
+ * @return 読み込み終了アドレス。読み込めなかった場合は、0
+ *
+ * @param file 読み込むファイル名
+ * @param start 読み込み開始アドレス
*/
*/
-bool loadassemble(const char *file);
-
+WORD loadassemble(const char *file, WORD start);
/**
* @class Exec
/**
* @class Exec
@@
-374,8
+382,11
@@
void svc();
* @brief COMET IIのメモリを表示する
*
* @return なし
* @brief COMET IIのメモリを表示する
*
* @return なし
+ *
+ * @param start 表示の開始アドレス
+ * @param end 表示の終了アドレス
*/
*/
-void dumpmemory();
+void dumpmemory(
WORD start, WORD end
);
/**
* @brief COMET IIのレジスタを表示する
/**
* @brief COMET IIのレジスタを表示する
@@
-384,14
+395,4
@@
void dumpmemory();
*/
void dspregister();
*/
void dspregister();
-
-/**
- * @brief CASL IIのオブジェクトファイルを逆アセンブルし、標準出力へ出力する
- *
- * @return 正常終了時は0、異常終了時は0以外
- *
- * @param *file オブジェクトファイルのファイル名
- */
-bool disassemble_file(const char *file);
-
#endif /* YACASL2_EXEC_INCLUDEDの終端 */
#endif /* YACASL2_EXEC_INCLUDEDの終端 */