X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=include%2Fassemble.h;h=6372e19105c884cedac77c512701f4bf8b69a39a;hp=30a4afbff6ea4a7d3f53f3d874f627a32885b238;hb=1b6f0b08946e6b03cad228ede15e7f066b3680b5;hpb=0423c8cffe1e1a480222b0a80ecd31957edec06d diff --git a/include/assemble.h b/include/assemble.h index 30a4afb..6372e19 100644 --- a/include/assemble.h +++ b/include/assemble.h @@ -50,8 +50,11 @@ typedef enum { SECOND = 1, } PASS; -/* ラベル表からアドレスを検索する */ -WORD getlabel(const char *label, const char *prog); +/* プログラム名とラベルに対応するハッシュ値を返す */ +unsigned labelhash(const char *prog, const char *label); + +/* プログラム名とラベルに対応するアドレスをラベル表から検索する */ +WORD getlabel(const char *prog, const char *label); /* ラベルを表に追加する */ bool addlabel(const char *prog, const char *label, WORD word); @@ -98,7 +101,7 @@ WORD gethex(const char *str); /* アドレスを返す */ /* アドレスには、リテラル/10進定数/16進定数/アドレス定数が含まれる */ -WORD getadr(const char *str, PASS pass); +WORD getadr(const char *prog, const char *str, PASS pass); /* 定数の前に等号(=)をつけて記述される、リテラルを返す */ /* リテラルには、10進定数/16進定数/文字定数が含まれる */