1 #ifndef YACASL2_EXEC_INCLUDED
2 #define YACASL2_EXEC_INCLUDED
5 CMDTYPE getcmdtype(WORD code);
8 INSIZE = 256 /* CASL IIの、IN命令入力領域 */
13 bool tracemode; /* レジストリの内容を表示する場合はtrue */
14 bool logicalmode; /* レジストリの内容を論理値(0〜65535)で表示する場合はtrue */
15 bool dumpmode; /* メモリの内容を表示する場合はtrue */
17 extern EXECMODE execmode;
19 /* 指定されたファイルからアセンブル結果を読込 */
20 bool inassemble(char *file);
22 /* 標準入力から文字データを読込(SVC 1) */
25 /* 標準出力へ文字データを書出(SVC 2) */
28 /* ロード/論理積/論理和/排他的論理和のフラグ設定。OFは常に0 */
31 /* 算術加算。フラグを設定して値を返す */
32 WORD adda(WORD val0, WORD val1);
34 /* 算術減算。フラグを設定して値を返す */
35 WORD suba(WORD val0, WORD val1);
37 /* 論理加算。フラグを設定して値を返す */
38 WORD addl(WORD val0, WORD val1);
40 /* 論理減算。フラグを設定して値を返す */
41 WORD subl(WORD val0, WORD val1);
43 /* 算術比較のフラグ設定。OFは常に0 */
44 void cpa(WORD val0, WORD val1);
46 /* 論理比較のフラグ設定。OFは常に0 */
47 void cpl(WORD val0, WORD val1);
49 /* 算術左シフト。フラグを設定して値を返す */
50 WORD sla(WORD val0, WORD val1);
52 /* 算術右シフト。フラグを設定して値を返す */
53 WORD sra(WORD val0, WORD val1);
55 /* 論理左シフト。フラグを設定して値を返す */
56 WORD sll(WORD val0, WORD val1);
58 /* 論理右シフト。フラグを設定して値を返す */
59 WORD srl(WORD val0, WORD val1);
70 /* COMET IIのレジスタを表示 */