ソースコードで、モードを表す構造体メンバーの名前とコメントを修正
[YACASL2.git] / include / assemble.h
index 6372e19..ae746fd 100644 (file)
@@ -1,3 +1,6 @@
+#ifndef YACASL2_ASSEMBLE_INCLUDED
+#define YACASL2_ASSEMBLE_INCLUDED
+
 /* CASL IIの制限 */
 enum {
     LINESIZE = 1024,       /* 行の最大文字数 */
@@ -7,6 +10,16 @@ enum {
     OPDSIZE = 40,          /* オペラントの最大数 */
 };
 
+/* アセンブルモード */
+typedef struct {
+    bool src;             /* ソースを表示する場合はtrue */
+    bool label;           /* ラベル表を表示する場合はtrue */
+    bool onlylabel;       /* ラベル表を表示して終了する場合はtrue */
+    bool asdetail;        /* アセンブラ詳細結果を表示する場合はtrue */
+    bool onlyassemble;    /* アセンブルだけを行う場合はtrue */
+} ASMODE;
+extern ASMODE asmode;
+
 /* 値を格納するポインタ */
 extern WORD ptr;
 
@@ -88,9 +101,9 @@ OPD *opdtok(const char *str);
 /* 1行を解析する */
 CMDLINE *linetok(const char *line);
 
-/* æ±\8eç\94¨ã\83¬ã\82¸ã\82¹ã\82¿ã\82\92表ã\81\99æ\96\87å­\97å\88\97ã\80\8cGR[0-7]ã\80\8dã\82\92WORDå\80¤ã\81«å¤\89æ\8f\9b
-   is_xがTRUEの場合は、指標レジスタとして用いる汎用レジスタ
-   文字列が汎用レジスタを表さない場合は、0xFFFFを返す */
+/* æ±\8eç\94¨ã\83¬ã\82¸ã\82¹ã\82¿ã\82\92表ã\81\99æ\96\87å­\97å\88\97ã\80\8cGR[0-7]ã\80\8dã\81\8bã\82\89ã\80\81ã\83¬ã\82¸ã\82¹ã\82¿ç\95ªå\8f·[0-7]ã\82\92WORDå\80¤ã\81§è¿\94ã\81\99 */
+/* 文字列が汎用レジスタを表さない場合は、0xFFFFを返す */
+/* is_xがtrueの場合は指標レジスタ。GR0は、COMET IIの仕様により、エラー発生 */
 WORD getgr(const char *str, bool is_x);
 
 /* 10進定数をWORDに変換 */
@@ -148,3 +161,5 @@ bool writeRPUSH(PASS pass);
 
 /* マクロ命令「RPOP」をメモリに書込 */
 bool writeRPOP(PASS pass);
+
+#endif            /* YACASL2_ASSEMBLE_INCLUDEDの終端 */