1 #ifndef YACASL2_MONITOR_H_INCLUDE
2 #define YACASL2_MONITOR_H_INCLUDE
15 MONARGSIZE = 3, /**<モニター引数の最大数 */
19 * @brief モニター引数を表すデータ型
22 int argc; /**<オペランド数 */
23 char *argv[MONARGSIZE]; /**<オペランド配列 */
27 * @brief モニター命令行を表すデータ型
30 char *cmd; /**<コマンド */
31 MONARGS *args; /**<引数 */
35 * @brief ブレークポイント表を表すデータ型
37 typedef struct _BPSLIST {
38 struct _BPSLIST *next; /**<リスト次項目へのポインタ */
46 BPSTABSIZE = 251, /**<ブレークポイント表のサイズ */
50 MONINSIZE = 40 /**<モニターの、入力領域 */
60 * @brief アドレスのハッシュ値を返す
66 unsigned adrhash(WORD adr);
69 * @brief 文字列から、モニターの引数を取得する
75 MONARGS *monargstok(const char *str);
78 * @brief 行から、モニターの命令と引数を取得する
84 MONCMDLINE *monlinetok(const char *line);
92 * @param *args モニター命令の引数
94 MONCMDTYPE monitorcmd(char *cmd, MONARGS *args);
97 * @brief ブレークポイント表にアドレスがある場合はtrue、ない場合はfalseを返す
99 * @return trueまたはfalse
103 bool getbps(WORD adr);
106 * @brief ブレークポイント表にアドレスを追加する
108 * @return 追加した場合はtrue、追加しなかった場合はfalse
112 bool addbps(WORD adr);
116 * @brief ブレークポイント表からアドレスを削除する
118 * @return 削除した場合はtrue、削除しなかった場合はfalse
122 bool delbps(WORD adr);
125 * @brief ブレークポイント表を解放する
132 * @brief COMET IIモニターを起動する