#include <stdbool.h>
#include <stdio.h>
+#include <assert.h>
+#include <time.h>
#include "struct.h"
#include "word.h"
#include "cmem.h"
+#include "cerr.h"
+#include "monitor.h"
enum {
INSIZE = 256 /**<IN命令の、入力領域 */
* @brief 実行モードを表すデータ型
*/
typedef struct {
- bool trace; /**<レジストリの内容を表示する場合はtrue */
+ bool trace; /**<レジストリの内容をステップごとに表示する場合はtrue */
bool logical; /**<レジストリの内容を論理値(0から65535)で表示する場合はtrue */
- bool dump; /**<メモリの内容を表示する場合はtrue */
+ bool dump; /**<メモリの内容をステップごとに表示する場合はtrue */
+ bool step; /**<ステップ実行の場合はtrue */
} EXECMODE;
/**
- * @brief 実行モード: trace, logical, dump
+ * @brief 実行モード: trace, logical, dump, step
*/
extern EXECMODE execmode;
* @brief COMET IIのメモリを表示する
*
* @return なし
+ *
+ * @param start 表示の開始アドレス
+ * @param end 表示の終了アドレス
*/
-void dumpmemory();
+void dumpmemory(WORD start, WORD end);
/**
* @brief COMET IIのレジスタを表示する
*/
void dspregister();
+/**
+ * @brief CASL IIのオブジェクトファイルを逆アセンブルし、標準出力へ出力する
+ *
+ * @return 正常終了時は0、異常終了時は0以外
+ *
+ * @param *file オブジェクトファイルのファイル名
+ */
+bool disassemble_file(const char *file);
+
+/**
+ * @brief COMET IIモニターを起動する
+ *
+ * @return なし
+ */
+void monitor();
+
#endif /* YACASL2_EXEC_INCLUDEDの終端 */