1 #ifndef MONITOR_INCLUDE
2 #define MONITOR_INCLUDE
11 #include "disassemble.h"
18 MONARGSIZE = 3, /**<モニター引数の最大数 */
22 * @brief モニター引数を表すデータ型
25 int argc; /**<オペランド数 */
26 char *argv[MONARGSIZE]; /**<オペランド配列 */
30 * @brief モニター命令行を表すデータ型
33 char *cmd; /**<コマンド */
34 MONARGS *args; /**<引数 */
38 * @brief ブレークポイント表を表すデータ型
40 typedef struct _BPSLIST {
41 struct _BPSLIST *next; /**<リスト次項目へのポインタ */
49 BPSTABSIZE = 251, /**<ブレークポイント表のサイズ */
53 MONINSIZE = 40 /**<モニターの、入力領域 */
63 * @brief アドレスのハッシュ値を返す
69 unsigned adrhash(WORD adr);
72 * @brief 文字列から、モニターの引数を取得する
78 MONARGS *monargstok(const char *str);
81 * @brief 行から、モニターの命令と引数を取得する
87 MONCMDLINE *monlinetok(const char *line);
95 * @param *args モニター命令の引数
97 MONCMDTYPE monitorcmd(char *cmd, MONARGS *args);
100 * @brief ブレークポイント表にアドレスがある場合はtrue、ない場合はfalseを返す
102 * @return trueまたはfalse
106 bool getbps(WORD adr);
109 * @brief ブレークポイント表にアドレスを追加する
111 * @return 追加した場合はtrue、追加しなかった場合はfalse
115 bool addbps(WORD adr);
119 * @brief ブレークポイント表からアドレスを削除する
121 * @return 削除した場合はtrue、削除しなかった場合はfalse
125 bool delbps(WORD adr);
128 * @brief ブレークポイント表を解放する
135 * @brief COMET IIモニターを起動する
141 #endif /* end of MONITOR_INCLUDE */