COMETII命令実行部分を、switch文から関数ポインタへ変更
[YACASL2.git] / include / exec.h
index f0788df..dbf2c49 100644 (file)
@@ -38,9 +38,152 @@ void addcerrlist_load();
  */
 bool loadassemble(char *file);
 
-/* COMET II仮想マシンのリセット */
+/**
+ * COMET II仮想マシンのリセット
+ */
 void reset();
 
+/**
+ * NOP命令
+ */
+void nop(const WORD r, const WORD v);
+
+/**
+ * LD命令
+ */
+void ld(const WORD r, const WORD v);
+
+/**
+ * ST命令
+ */
+void st(const WORD r, const WORD v);
+
+/**
+ * LAD命令
+ */
+void lad(const WORD r, const WORD v);
+
+/**
+ * ADDA命令
+ */
+void adda(const WORD r, const WORD v);
+
+/**
+ * SUBA命令
+ */
+void suba(const WORD r, const WORD v);
+
+/**
+ * ADDL命令
+ */
+void addl(const WORD r, const WORD v);
+
+/**
+ * SUBL命令
+ */
+void subl(const WORD r, const WORD v);
+
+/**
+ * AND命令
+ */
+void and(const WORD r, const WORD v);
+
+/**
+ * OR命令
+ */
+void or(const WORD r, const WORD v);
+
+/**
+ * XOR命令
+ */
+void xor(const WORD r, const WORD v);
+
+/**
+ * CPA命令
+ */
+void cpa(const WORD r, const WORD v);
+
+/**
+ * CPL命令
+ */
+void cpl(const WORD r, const WORD v);
+
+/**
+ * SLA命令
+ */
+void sla(const WORD r, const WORD v);
+
+/**
+ * SRA命令
+ */
+void sra(const WORD r, const WORD v);
+
+/**
+ * SLL命令
+ */
+void sll(const WORD r, const WORD v);
+
+/**
+ * SRL命令
+ */
+void srl(const WORD r, const WORD v);
+
+/**
+ * JMI命令
+ */
+void jmi(const WORD r, const WORD v);
+
+/**
+ * JNZ命令
+ */
+void jnz(const WORD r, const WORD v);
+
+/**
+ * JZE命令
+ */
+void jze(const WORD r, const WORD v);
+
+/**
+ * JUMP命令
+ */
+void jump(const WORD r, const WORD v);
+
+/**
+ * JPL命令
+ */
+void jpl(const WORD r, const WORD v);
+
+/**
+ * JOV命令
+ */
+void jov(const WORD r, const WORD v);
+
+/**
+ * PUSH命令
+ */
+void push(const WORD r, const WORD v);
+
+/**
+ * POP命令
+ */
+void pop(const WORD r, const WORD v);
+
+/**
+ * CALL命令
+ */
+void call(const WORD r, const WORD v);
+
+/**
+ * RET命令
+ */
+void ret(const WORD r, const WORD v);
+
+/**
+ * SVC命令
+ */
+void svc(const WORD r, const WORD v);
+
+
 /**
  * COMET II仮想マシンの実行
  */