+void printline(FILE *stream, const char *filename, int lineno, char *line);
+
+WORD getadr(const char *prog, const char *str, PASS pass);
+
+WORD getgr(const char *str, bool is_x);
+
+WORD getliteral(const char *str, PASS pass);
+
+void writememory(WORD word, WORD adr, PASS pass);
+
+void writestr(const char *str, bool literal, PASS pass);
+
+void writedc(const char *str, PASS pass);
+
+void assemble_start(const CMDLINE *cmdl, PASS pass);
+
+void assemble_ds(const CMDLINE *cmdl, PASS pass);
+
+void assemble_end(const CMDLINE *cmdl, PASS pass);
+
+void assemble_dc(const CMDLINE *cmdl, PASS pass);
+
+void assemble_in(const CMDLINE *cmdl, PASS pass);
+
+void assemble_out(const CMDLINE *cmdl, PASS pass);
+
+void assemble_rpush(const CMDLINE *cmdl, PASS pass);
+
+void assemble_rpop(const CMDLINE *cmdl, PASS pass);
+
+bool casl2cmd(CMD *cmdtbl, const CMDLINE *cmdl, PASS pass);
+
+bool assemble_comet2cmd(const CMDLINE *cmdl, PASS pass);
+
+bool assembletok(const CMDLINE *cmdl, PASS pass);
+
+bool assembleline(const char *line, PASS pass);
+
+/**
+ * アセンブラ命令
+ */
+static CMD ascmd[] = {
+ { "START", assemble_start },
+ { "END", assemble_end },
+ { "DS", assemble_ds },
+ { "DC", assemble_dc },
+ { "", NULL }
+};
+
+/**
+ * マクロ命令
+ */
+static CMD macrocmd[] = {
+ { "OUT", assemble_out },
+ { "IN", assemble_in },
+ { "RPUSH", assemble_rpush },
+ { "RPOP", assemble_rpop },
+ { "", NULL }
+};
+
+/**
+ * アセンブルのエラーをエラーリストに追加
+ */
+void addcerrlist_assemble()