X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=include%2Fassemble.h;h=f7023285af6053c69dd721dc38ff24de78b38894;hp=a8780585c502e6b8005b99ff38ad7afa981e9a25;hb=8775c998e3144243a87b3a574a1afae087dec54c;hpb=7f7bde5dd1305cfc598fe09030c69aad0dc01368 diff --git a/include/assemble.h b/include/assemble.h index a878058..f702328 100644 --- a/include/assemble.h +++ b/include/assemble.h @@ -35,18 +35,15 @@ typedef struct { extern ASMODE asmode; /** - * アセンブルのプロパティ + * アセンブル時の、現在およびリテラルのアドレスと入口名 */ typedef struct { - WORD ptr; /**<現在のポインタ */ - WORD lptr; /**<リテラル(=付きの値)を格納するポインタ */ + WORD ptr; /**<現在のアドレス */ + WORD lptr; /**<リテラル(=付きの値)のアドレス */ char *prog; /**<他のプログラムで参照する入口名 */ -} ASPROP; +} ASPTR; -/** - * アセンブルのプロパティ: ptr, lptr, *prog - */ -extern ASPROP *asprop; +extern ASPTR *asptr; /** * アセンブラ命令を表す番号 @@ -82,7 +79,7 @@ typedef enum { * マクロ命令を表す配列 */ typedef struct { - MACROCMDID cmdid; /**<アセンブル命令のID */ + MACROCMDID cmdid; /**<マクロ命令のID */ int opdc_min; /**<最小オペランド数 */ int opdc_max; /**<最大オペランド数 */ char *cmd; /**<コマンド名 */ @@ -122,6 +119,11 @@ typedef enum { SECOND = 1, } PASS; +/** + * ラベルのエラーをエラーリストに追加 + */ +void addcerrlist_label(); + /** * プログラム名とラベルに対応するアドレスをラベル表から検索する */ @@ -159,11 +161,21 @@ typedef struct { OPD *opd; /**<オペランド */ } CMDLINE; +/** + * トークン取得のエラーを追加 + */ +void addcerrlist_tok(); + /** * 空白またはタブで区切られた1行から、トークンを取得する */ CMDLINE *linetok(const char *line); +/** + * アセンブルエラーをエラーリストに追加 + */ +void addcerrlist_assemble(); + /** * 指定された名前のファイルをアセンブル * 2回実行される