-#ifndef MONITOR_INCLUDE
-#define MONITOR_INCLUDE
+#ifndef YACASL2_MONITOR_H_INCLUDE
+#define YACASL2_MONITOR_H_INCLUDE
#include <stdio.h>
#include <string.h>
#include <assert.h>
-#include "hash.h"
-#include "cmem.h"
-#include "cerr.h"
+#include "assemble.h"
#include "exec.h"
-#include "word.h"
+#include "load.h"
/**
* @brief モニター
MONINSIZE = 40 /**<モニターの、入力領域 */
};
+typedef enum {
+ MONREPEAT = 0,
+ MONNEXT = 1,
+ MONQUIT = 2,
+} MONCMDTYPE;
+
/**
* @brief アドレスのハッシュ値を返す
*
*/
MONCMDLINE *monlinetok(const char *line);
+/**
+ * @brief モニターの命令を実行する
+ *
+ * @return モニター命令の種類
+ *
+ * @param *cmd モニター命令
+ * @param *args モニター命令の引数
+ */
+MONCMDTYPE monitorcmd(char *cmd, MONARGS *args);
+
/**
* @brief ブレークポイント表にアドレスがある場合はtrue、ない場合はfalseを返す
*
*/
void freebps();
-#endif /* end of MONITOR_INCLUDE */
+/**
+ * @brief COMET IIモニターを起動する
+ *
+ * @return なし
+ */
+void monitor();
+
+#endif