1 #ifndef YACASL2_ASSEMBLE_INCLUDED
2 #define YACASL2_ASSEMBLE_INCLUDED
12 LABELSIZE = 8, /** ラベルの最大文字数 */
13 OPDSIZE = 40, /** オペラントの最大数。CASL IIシミュレータの制限 */
20 LINESIZE = 1024, /* 行の最大文字数 */
21 TOKENSIZE = 256, /* トークンの最大文字数 */
28 bool src; /* ソースを表示する場合はtrue */
29 bool label; /* ラベル表を表示する場合はtrue */
30 bool onlylabel; /* ラベル表を表示して終了する場合はtrue */
31 bool asdetail; /* アセンブラ詳細結果を表示する場合はtrue */
32 bool onlyassemble; /* アセンブルだけを行う場合はtrue */
41 WORD ptr; /* 現在のポインタ */
42 WORD lptr; /* リテラル(=付きの値)を格納するポインタ */
43 char *prog; /* 他のプログラムで参照する入口名 */
46 extern ASPROP *asprop;
100 typedef struct _LABELTAB {
101 struct _LABELTAB *next;
115 * アセンブラが、1回目か、2回目か、を表す
123 * プログラム名とラベルに対応するアドレスをラベル表から検索する
125 WORD getlabel(const char *prog, const char *label);
130 bool addlabel(const char *prog, const char *label, WORD word);
162 CMDLINE *linetok(const char *line);
168 bool assemble(const char *file, PASS pass);
171 * 指定されたファイルにアセンブル結果を書込
173 void outassemble(const char *file);
175 #endif /* YACASL2_ASSEMBLE_INCLUDEDの終端 */