変数名の整理
[YACASL2.git] / include / exec.h
index 1da878d..9afde5b 100644 (file)
@@ -1,60 +1,30 @@
 #ifndef YACASL2_EXEC_INCLUDED
 #define YACASL2_EXEC_INCLUDED
 
-/* コードから命令のパターンを取得 */
-CMDTYPE getcmdtype(WORD code);
-
 enum {
     INSIZE = 256    /* CASL IIの、IN命令入力領域 */
 };
 
-/* 指定されたファイルからアセンブル結果を読込 */
-bool inassemble(char *file);
-
-/* 標準入力から文字データを読込(SVC 1) */
-void svcin();
-
-/* 標準出力へ文字データを書出(SVC 2) */
-void svcout();
-
-/* ロード/論理積/論理和/排他的論理和のフラグ設定。OFは常に0 */
-void setfr(WORD val);
-
-/* 算術加算。フラグを設定して値を返す */
-WORD adda(WORD val0, WORD val1);
-
-/* 算術減算。フラグを設定して値を返す */
-WORD suba(WORD val0, WORD val1);
+/* 実行モード */
+typedef struct {
+    bool trace;           /* レジストリの内容を表示する場合はtrue */
+    bool logical;         /* レジストリの内容を論理値(0〜65535)で表示する場合はtrue */
+    bool dump;            /* メモリの内容を表示する場合はtrue */
+} EXECMODE;
 
-/* 論理加算。フラグを設定して値を返す */
-WORD addl(WORD val0, WORD val1);
+extern EXECMODE execmode;
 
-/* 論理減算。フラグを設定して値を返す */
-WORD subl(WORD val0, WORD val1);
-
-/* 算術比較のフラグ設定。OFは常に0 */
-void cpa(WORD val0, WORD val1);
-
-/* 論理比較のフラグ設定。OFは常に0 */
-void cpl(WORD val0, WORD val1);
-
-/* 算術左シフト。フラグを設定して値を返す */
-WORD sla(WORD val0, WORD val1);
-
-/* 算術右シフト。フラグを設定して値を返す */
-WORD sra(WORD val0, WORD val1);
-
-/* 論理左シフト。フラグを設定して値を返す */
-WORD sll(WORD val0, WORD val1);
+/* コードから命令のパターンを取得 */
+CMDTYPE getcmdtype(WORD code);
 
-/* 論理右シフト。フラグを設定して値を返す */
-WORD srl(WORD val0, WORD val1);
+/* 実行のエラー定義 */
+bool addcerrlist_exec();
 
-/* 仮想マシンのリセット */
+/* COMET II仮想マシンのリセット */
 void reset();
 
 /* コードの実行 */
-void exec();
+bool exec();
 
 /* COMET IIのメモリを表示 */
 void dumpmemory();
@@ -62,4 +32,4 @@ void dumpmemory();
 /* COMET IIのレジスタを表示 */
 void dspregister();
 
-#endif
+#endif            /* YACASL2_EXEC_INCLUDEDの終端 */