+/**
+ * ADDL命令 - オペランドr,adr,x。語長2
+ * \relates exec
+ */
+void addl_r_adr_x()
+{
+ WORD w[2];
+ w[0] = sys->memory[sys->cpu->pr];
+ w[1] = sys->memory[sys->cpu->pr + 1];
+ addl(get_r_r1(w[0]), get_val_adr_x(w[1], w[0]));
+ sys->cpu->pr += 2;
+}
+
+/**
+ * ADDL命令 - オペランドr1,r2。語長1
+ * \relates exec
+ */
+void addl_r1_r2()
+{
+ WORD w[1];
+ w[0] = sys->memory[sys->cpu->pr];
+ addl(get_r_r1(w[0]), sys->cpu->gr[get_x_r2(w[0])]);
+ sys->cpu->pr += 1;
+}
+
+/**
+ * SUBL命令 - オペランドr,adr,x。語長2
+ * \relates exec
+ */
+void subl_r_adr_x()
+{
+ WORD w[2];
+ w[0] = sys->memory[sys->cpu->pr];
+ w[1] = sys->memory[sys->cpu->pr + 1];
+ addl(get_r_r1(w[0]), ~(get_val_adr_x(w[1], w[0])) + 1);
+ sys->cpu->pr += 2;
+}
+
+
+/**
+ * SUBL命令 - オペランドr1,r2。語長1
+ * \relates exec
+ */
+void subl_r1_r2()
+{
+ WORD w[1];
+ w[0] = sys->memory[sys->cpu->pr];
+ addl(get_r_r1(w[0]), ~(sys->cpu->gr[get_x_r2(w[0])]) + 1);
+ sys->cpu->pr += 1;
+}
+
+/**
+ * AND命令 - オペランドr,adr,x。語長2
+ * \relates exec
+ */
+void and_r_adr_x()
+{
+ WORD w[2];
+ w[0] = sys->memory[sys->cpu->pr];
+ w[1] = sys->memory[sys->cpu->pr + 1];
+ setfr(sys->cpu->gr[get_r_r1(w[0])] &= get_val_adr_x(w[1], w[0]));
+ sys->cpu->pr += 2;
+}
+
+/**
+ * AND命令 - オペランドr1,r2。語長1
+ * \relates exec
+ */
+void and_r1_r2()
+{
+ WORD w[1];
+ w[0] = sys->memory[sys->cpu->pr];
+ setfr(sys->cpu->gr[get_r_r1(w[0])] &= sys->cpu->gr[get_x_r2(w[0])]);
+ sys->cpu->pr += 1;
+}
+
+/**
+ * OR命令 - オペランドr,adr,x。語長2
+ * \relates exec
+ */
+void or_r_adr_x()
+{
+ WORD w[2];
+ w[0] = sys->memory[sys->cpu->pr];
+ w[1] = sys->memory[sys->cpu->pr + 1];
+ setfr(sys->cpu->gr[get_r_r1(w[0])] |= get_val_adr_x(w[1], w[0]));
+ sys->cpu->pr += 2;
+}
+
+/**
+ * OR命令 - オペランドr1,r2。語長1
+ * \relates exec
+ */
+void or_r1_r2()