X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fstruct.h;h=368e9aecb755a5f39d5ff3c3e48e6b9f79e83045;hb=refs%2Ftags%2Fv0.5p12;hp=ffc448ed5c9cf56fb61ab65197a71511358b5fc2;hpb=903276ec3fb4522ec83b16ba5068787532b42547;p=YACASL2.git diff --git a/include/struct.h b/include/struct.h index ffc448e..368e9ae 100644 --- a/include/struct.h +++ b/include/struct.h @@ -1,5 +1,5 @@ -#ifndef YACASL2_CASL2_INCLUDED -#define YACASL2_CASL2_INCLUDED +#ifndef YACASL2_STRUCT_INCLUDED +#define YACASL2_STRUCT_INCLUDED #include #include @@ -8,6 +8,7 @@ #include "word.h" #include "cmem.h" #include "hash.h" +#include "exec.h" /** * @brief COMET IIの規格値 @@ -134,6 +135,24 @@ typedef struct { extern EXECPTR *execptr; +/** + * @brief 実行モードを表すデータ型 + */ +typedef struct { + bool trace; /**<レジストリの内容をステップごとに表示する場合はtrue */ + bool logical; /**<レジストリの内容を論理値(0から65535)で表示する場合はtrue */ + bool dump; /**<メモリの内容をステップごとに表示する場合はtrue */ + int dump_start; /**<メモリの内容をステップごとに表示する場合の開始アドレス */ + int dump_end; /**<メモリの内容をステップごとに表示する場合の終了アドレス */ + bool monitor; /**<モニターモードの場合はtrue */ + bool step; /**<ステップ実行の場合はtrue */ +} EXECMODE; + +/** + * @brief 実行モード: trace, logical, dump, monitor, step + */ +extern EXECMODE execmode; + /** * @brief 汎用レジスタの番号からレジスタを表す文字列を返す * @@ -188,4 +207,4 @@ CMDTYPE getcmdtype(WORD code); */ char *getcmdname(WORD code); -#endif /* YACASL2_CASL2_INCLUDEDの終端 */ +#endif