1 #ifndef YACASL2_EXEC_INCLUDED
2 #define YACASL2_EXEC_INCLUDED
11 INSIZE = 256 /**<IN命令の、入力領域 */
18 bool trace; /**<レジストリの内容をステップごとに表示する場合はtrue */
19 bool logical; /**<レジストリの内容を論理値(0から65535)で表示する場合はtrue */
20 bool dump; /**<メモリの内容をステップごとに表示する場合はtrue */
21 bool step; /**<ステップ実行の場合はtrue */
25 * @brief 実行モード: trace, logical, dump, step
27 extern EXECMODE execmode;
30 * @brief 実行エラーをエラーリストに追加する
32 void addcerrlist_exec();
35 * @brief アセンブル結果読み込みエラーをエラーリストに追加する
37 void addcerrlist_load();
40 * @brief 指定されたファイルからアセンブル結果を読み込む
42 bool loadassemble(const char *file);
47 * @brief execから関数ポインタで呼び出される関数
52 * @brief COMET II仮想マシンを実行する
61 * @brief NOP命令。語長1(OPのみ)
69 * @brief LD命令 - オペランドr,adr,x。語長2
77 * @brief LD命令 - オペランドr1,r2。語長1
101 * @brief ADDA命令 - オペランドr,adr,x。語長2
109 * @brief ADDA命令 - オペランドr1,r2。語長1
117 * @brief SUBA命令 - オペランドr,adr,x。語長2
125 * @brief SUBA命令 - オペランドr1,r2。語長1
133 * @brief ADDL命令 - オペランドr,adr,x。語長2
141 * @brief ADDL命令 - オペランドr1,r2。語長1
149 * @brief SUBL命令 - オペランドr,adr,x。語長2
157 * @brief SUBL命令 - オペランドr1,r2。語長1
165 * @brief AND命令 - オペランドr,adr,x。語長2
173 * @brief AND命令 - オペランドr1,r2。語長1
181 * @brief OR命令 - オペランドr,adr,x。語長2
189 * @brief OR命令 - オペランドr1,r2。語長1
197 * @brief XOR命令 - オペランドr,adr,x。語長2
205 * @brief XOR命令 - オペランドr1,r2。語長1
213 * @brief CPA命令 - オペランドr,adr,x。語長2
221 * @brief CPA命令 - オペランドr1,r2。語長1
229 * @brief CPL命令 - オペランドr,adr,x。語長2
237 * @brief CPL命令 - オペランドr1,r2。語長1
245 * @brief SLA命令 - オペランドr,adr,x。語長2
247 * 算術演算なので、第15ビットは送り出されない
255 * @brief SRA命令 - オペランドr,adr,x。語長2
257 * 算術演算なので、第15ビットは送り出されない
258 * 空いたビット位置には符号と同じものが入る
266 * @brief SLL命令 - オペランドr,adr,x。語長2
274 * @brief SRL命令 - オペランドr,adr,x。語長2
354 * @brief RET命令。語長1(OPのみ)
370 * @brief COMET IIのメモリを表示する
377 * @brief COMET IIのレジスタを表示する
384 * @brief CASL IIのオブジェクトファイルを逆アセンブルし、標準出力へ出力する
386 * @return 正常終了時は0、異常終了時は0以外
388 * @param *file オブジェクトファイルのファイル名
390 bool disassemble_file(const char *file);
393 * @brief COMET IIデバッガーを起動する
399 #endif /* YACASL2_EXEC_INCLUDEDの終端 */