From: j8takagi Date: Mon, 25 Jan 2010 04:21:05 +0000 (+0900) Subject: ラベル表にプログラム名(prog)を追加 X-Git-Tag: v0.1~82 X-Git-Url: https://j8takagi.net/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0423c8cffe1e1a480222b0a80ecd31957edec06d;p=YACASL2.git ラベル表にプログラム名(prog)を追加 プログラム名を追加することで、プログラムの入口以外の ラベルの範囲がプログラム内だけに変更 プログラムの入口では、progはNULL --- diff --git a/as/YAKUWA/binout.casl b/as/YAKUWA/binout.casl index 1d920aa..d25b188 100644 --- a/as/YAKUWA/binout.casl +++ b/as/YAKUWA/binout.casl @@ -12,7 +12,7 @@ MLOOP CPA GR2,MLEN JUMP MLOOP MFIN RET MWORD DC #0000,#0001,#09CD,#8001 -MLEN DC 4 +MLEN DC 4 END ;;; BINOUT BINOUT START diff --git a/include/assemble.h b/include/assemble.h index fddad63..30a4afb 100644 --- a/include/assemble.h +++ b/include/assemble.h @@ -1,10 +1,10 @@ /* CASL IIの制限 */ enum { - LINESIZE = 1024, /* 行の最大文字数 */ - TOKENSIZE = 256, /* トークンの最大文字数 */ - LABELSIZE = 8, /* ラベルの最大文字数 */ + LINESIZE = 1024, /* 行の最大文字数 */ + TOKENSIZE = 256, /* トークンの最大文字数 */ + LABELSIZE = 8, /* ラベルの最大文字数 */ LABELTABSIZE = 256, /* ラベルの最大数 */ - OPDSIZE = 40 /* オペラントの最大数 */ + OPDSIZE = 40, /* オペラントの最大数 */ }; /* 値を格納するポインタ */ @@ -13,6 +13,9 @@ extern WORD ptr; /* リテラル(=付きの値)を格納するポインタ */ extern WORD lptr; +/* 他のプログラムで参照する入口名 */ +extern char *prog; + /* アセンブラ命令とマクロ命令を表す番号 */ typedef enum { START = 01, @@ -22,7 +25,7 @@ typedef enum { IN = 011, OUT = 012, RPUSH = 013, - RPOP = 014 + RPOP = 014, } CASLCMD; /* アセンブラ命令とマクロ命令を表す配列 */ @@ -36,21 +39,22 @@ typedef struct { /* ラベル表 */ typedef struct _LABELTAB { struct _LABELTAB *next; - char *name; + char *prog; + char *label; WORD adr; } LABELTAB; /* アセンブラが、1回目か、2回目か、を表す */ typedef enum { FIRST = 0, - SECOND = 1 + SECOND = 1, } PASS; /* ラベル表からアドレスを検索する */ -WORD getlabel(const char *label); +WORD getlabel(const char *label, const char *prog); /* ラベルを表に追加する */ -bool addlabel(const char *label, WORD word); +bool addlabel(const char *prog, const char *label, WORD word); /* ラベル表を表示する */ void printlabel(); diff --git a/src/Makefile b/src/Makefile index af972cd..2edfaa0 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,6 +1,6 @@ INCLUDE = ../include CC = gcc -CFLAGS = -Wall -I $(INCLUDE) +CFLAGS = -g -Wall -I $(INCLUDE) COMMONSRC = struct.o hash.o cmd.o cerr.o dump.o ASSRC = assemble.o token.o label.o macro.o EXECSRC = exec.o diff --git a/src/assemble.c b/src/assemble.c index 3b91398..25762c3 100644 --- a/src/assemble.c +++ b/src/assemble.c @@ -7,6 +7,9 @@ WORD ptr; /* リテラル(=付きの値)を格納するポインタ */ WORD lptr; +/* 他のプログラムで参照する入口名 */ +char *prog; + /* 汎用レジスタを表す文字列「GR[0-7]」をWORD値に変換 is_xがtrueの場合は、指標レジスタとして用いる汎用レジスタ 文字列が汎用レジスタを表さない場合は、0xFFFFを返す */ @@ -79,7 +82,7 @@ WORD getadr(const char *str, PASS pass) } else if(isdigit(*str) || *str == '-') { adr = getint(str); } else { - if(pass == SECOND && (adr = getlabel(str)) == 0xFFFF) { + if(pass == SECOND && (adr = getlabel(str, prog)) == 0xFFFF) { setcerr(103, str); /* label not found */ } } @@ -161,7 +164,7 @@ void writeDC(const char *str, PASS pass) } else if(isdigit(*str) || *str == '-') { adr = getint(str); } else { - if(pass == SECOND && (adr = getlabel(str)) == 0xFFFF) { + if(pass == SECOND && (adr = getlabel(str, prog)) == 0xFFFF) { setcerr(103, str); /* label not found */ } } @@ -202,9 +205,11 @@ bool assemblecmd(const CMDLINE *cmdl, PASS pass) setcerr(107, NULL); /* no label in START */ return false; } + /* プログラム名の設定 */ + prog = strdup(cmdl->label); /* オペランドがある場合、実行開始番地を設定 */ if(pass == SECOND && cmdl->opd->opdc == 1) { - if((startptr = getlabel(cmdl->opd->opdv[0])) == 0xFFFF) { + if((startptr = getlabel(cmdl->opd->opdv[0], prog)) == 0xFFFF) { setcerr(103, cmdl->opd->opdv[0]); /* label not found */ } } @@ -219,6 +224,7 @@ bool assemblecmd(const CMDLINE *cmdl, PASS pass) else if(pass == SECOND) { endptr = lptr; } + prog = NULL; status = true; break; case DS: @@ -430,7 +436,7 @@ bool assemble(const char *file, PASS pass) CMDLINE *cmdl; char *line; FILE *fp; - + if(create_cmdtype_code() == false) { return false; } @@ -450,7 +456,7 @@ bool assemble(const char *file, PASS pass) } if((cmdl = linetok(line)) != NULL) { if(pass == FIRST && cmdl->label != NULL) { - if(addlabel(cmdl->label, ptr) == false) { + if(addlabel(prog, cmdl->label, ptr) == false) { break; } } diff --git a/src/label.c b/src/label.c index 02840a5..5a0b4cc 100644 --- a/src/label.c +++ b/src/label.c @@ -4,12 +4,12 @@ LABELTAB *labels[LABELTABSIZE]; /* ラベル表からアドレスを検索する */ -WORD getlabel(const char *label) +WORD getlabel(const char *label, const char *prog) { LABELTAB *np; - for(np = labels[hash(label, LABELTABSIZE)]; np != NULL; np = np->next){ - if(strcmp(label, np->name) == 0) { + for(np = labels[hash(label, LABELTABSIZE)]; np != NULL; np = np->next) { + if(strcmp(label, np->label) == 0) { return np->adr; } } @@ -17,17 +17,19 @@ WORD getlabel(const char *label) } /* ラベルを表に追加する */ -bool addlabel(const char *label, WORD adr) +bool addlabel(const char *prog, const char *label, WORD adr) { LABELTAB *np; unsigned hashval; - if(getlabel(label) != 0xFFFF){ + if(getlabel(label, prog) != 0xFFFF) { setcerr(101, label); /* label already defined */ return false; } np = (LABELTAB *) malloc(sizeof(*np)); - if(np == NULL || (np->name = strdup(label)) == NULL){ + if(np == NULL || (np->label = strdup(label)) == NULL || + (prog != NULL && (np->prog = strdup(prog)) == NULL)) + { setcerr(102, NULL); /* label table is full */ return false; } @@ -43,9 +45,13 @@ void printlabel() { int i; LABELTAB *np; - for(i = 0; i < LABELTABSIZE; i++){ - for(np = labels[i]; np != NULL; np = np->next){ - fprintf(stdout, "%s ---> #%04X\n", np->name, np->adr); + for(i = 0; i < LABELTABSIZE; i++) { + for(np = labels[i]; np != NULL; np = np->next) { + if(np->prog == NULL) { + fprintf(stdout, "%s ---> #%04X\n", np->label, np->adr); + } else { + fprintf(stdout, "%s.%s ---> #%04X\n", np->prog, np->label, np->adr); + } } } } @@ -55,10 +61,11 @@ void freelabel() { int i; LABELTAB *np, *nq; - for(i = 0; i < LABELTABSIZE; i++){ + for(i = 0; i < LABELTABSIZE; i++) { for(np = labels[i]; np != NULL; np = nq){ nq = np->next; - free(np->name); + free(np->prog); + free(np->label); free(np); } } diff --git a/test/integration/casl2/abs_call/0.txt b/test/integration/casl2/abs_call/0.txt index 4d285e3..30f6615 100644 --- a/test/integration/casl2/abs_call/0.txt +++ b/test/integration/casl2/abs_call/0.txt @@ -153,35 +153,35 @@ Assemble ../../../../as/FUNC/outa.casl (0) ../../../../as/FUNC/outa.casl:122: END Label:::: -STI ---> #0043 -ODYOV ---> #00E2 +OUTA.STI ---> #0043 +ODIVL.ODYOV ---> #00E2 STSTR ---> #00B7 -STR ---> #0081 -ODY ---> #0100 -RNEXT ---> #011E +OUTA.STR ---> #0081 +ODIVL.ODY ---> #0100 +REV.RNEXT ---> #011E ABS ---> #001A -RFIN ---> #012C -ABSFIN ---> #0023 -MLOOP ---> #0002 -MFIN ---> #0010 +REV.RFIN ---> #012C +ABS.ABSFIN ---> #0023 +MAIN.MLOOP ---> #0002 +MAIN.MFIN ---> #0010 REV ---> #0101 -MLEN ---> #0019 -PRT ---> #0061 -MVAL ---> #0011 +MAIN.MLEN ---> #0019 +OUTA.PRT ---> #0061 +MAIN.MVAL ---> #0011 OABS ---> #0134 -NCHAR ---> #0093 -STLST ---> #0050 +OUTA.NCHAR ---> #0093 +OUTA.STLST ---> #0050 MAIN ---> #0000 ODIVL ---> #00C6 -RPO ---> #0120 +REV.RPO ---> #0120 OUTA ---> #0024 -RPU ---> #0111 -ODSL ---> #00D7 -LEN ---> #0092 -ODFIN ---> #00FB -ZPRT ---> #005D -ODLOOP ---> #00EA -ODLPIN ---> #00F7 +REV.RPU ---> #0111 +ODIVL.ODSL ---> #00D7 +OUTA.LEN ---> #0092 +ODIVL.ODFIN ---> #00FB +OUTA.ZPRT ---> #005D +ODIVL.ODLOOP ---> #00EA +ODIVL.ODLPIN ---> #00F7 Assemble ../../../../as/FUNC/abs_call.casl (1) ../../../../as/FUNC/abs_call.casl:1:;;; ABSを呼び出す diff --git a/test/integration/casl2/adda0/0.txt b/test/integration/casl2/adda0/0.txt index 7ab3c59..e855f2c 100644 --- a/test/integration/casl2/adda0/0.txt +++ b/test/integration/casl2/adda0/0.txt @@ -9,8 +9,8 @@ Assemble ../../../../as/CMD/adda0.casl (0) ../../../../as/CMD/adda0.casl:6: END Label:::: -A ---> #0005 -BEGIN ---> #0000 +MAIN.A ---> #0005 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/adda0.casl (1) diff --git a/test/integration/casl2/adda1/0.txt b/test/integration/casl2/adda1/0.txt index de8ad75..73a09e7 100644 --- a/test/integration/casl2/adda1/0.txt +++ b/test/integration/casl2/adda1/0.txt @@ -11,9 +11,9 @@ Assemble ../../../../as/CMD/adda1.casl (0) ../../../../as/CMD/adda1.casl:8: END Label:::: -A ---> #0006 -B ---> #0007 -BEGIN ---> #0000 +MAIN.A ---> #0006 +MAIN.B ---> #0007 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/adda1.casl (1) diff --git a/test/integration/casl2/adda_overflow/0.txt b/test/integration/casl2/adda_overflow/0.txt index 69add4f..f75405c 100644 --- a/test/integration/casl2/adda_overflow/0.txt +++ b/test/integration/casl2/adda_overflow/0.txt @@ -9,8 +9,8 @@ Assemble ../../../../as/CMD/adda_overflow.casl (0) ../../../../as/CMD/adda_overflow.casl:6: END Label:::: -A ---> #0005 -BEGIN ---> #0000 +MAIN.A ---> #0005 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/adda_overflow.casl (1) diff --git a/test/integration/casl2/addl/0.txt b/test/integration/casl2/addl/0.txt index 6080e64..f9ba41f 100644 --- a/test/integration/casl2/addl/0.txt +++ b/test/integration/casl2/addl/0.txt @@ -12,10 +12,10 @@ Assemble ../../../../as/CMD/addl.casl (0) ../../../../as/CMD/addl.casl:9: END Label:::: -A ---> #0007 -B ---> #0008 -C ---> #0009 -BEGIN ---> #0000 +MAIN.A ---> #0007 +MAIN.B ---> #0008 +MAIN.C ---> #0009 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/addl.casl (1) diff --git a/test/integration/casl2/addl_overflow/0.txt b/test/integration/casl2/addl_overflow/0.txt index 679db67..5a2a914 100644 --- a/test/integration/casl2/addl_overflow/0.txt +++ b/test/integration/casl2/addl_overflow/0.txt @@ -14,11 +14,11 @@ Assemble ../../../../as/CMD/addl_overflow.casl (0) ../../../../as/CMD/addl_overflow.casl:11: END Label:::: -A ---> #0009 -B ---> #000A -C ---> #000B -D ---> #000C -BEGIN ---> #0000 +MAIN.A ---> #0009 +MAIN.B ---> #000A +MAIN.C ---> #000B +MAIN.D ---> #000C +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/addl_overflow.casl (1) diff --git a/test/integration/casl2/and0/0.txt b/test/integration/casl2/and0/0.txt index 16a66ba..7b5cf85 100644 --- a/test/integration/casl2/and0/0.txt +++ b/test/integration/casl2/and0/0.txt @@ -9,7 +9,7 @@ Assemble ../../../../as/CMD/and0.casl (0) ../../../../as/CMD/and0.casl:6: END Label:::: -BEGIN ---> #0000 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/and0.casl (1) diff --git a/test/integration/casl2/and1/0.txt b/test/integration/casl2/and1/0.txt index 286ce03..e8abcff 100644 --- a/test/integration/casl2/and1/0.txt +++ b/test/integration/casl2/and1/0.txt @@ -9,8 +9,8 @@ Assemble ../../../../as/CMD/and1.casl (0) ../../../../as/CMD/and1.casl:6: END Label:::: -A ---> #0005 -BEGIN ---> #0000 +MAIN.A ---> #0005 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/and1.casl (1) diff --git a/test/integration/casl2/and2/0.txt b/test/integration/casl2/and2/0.txt index 0faebbf..b41e739 100644 --- a/test/integration/casl2/and2/0.txt +++ b/test/integration/casl2/and2/0.txt @@ -8,7 +8,7 @@ Assemble ../../../../as/CMD/and2.casl (0) ../../../../as/CMD/and2.casl:5: END Label:::: -BEGIN ---> #0000 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/and2.casl (1) diff --git a/test/integration/casl2/and3/0.txt b/test/integration/casl2/and3/0.txt index d46d1d9..2a2301c 100644 --- a/test/integration/casl2/and3/0.txt +++ b/test/integration/casl2/and3/0.txt @@ -8,7 +8,7 @@ Assemble ../../../../as/CMD/and3.casl (0) ../../../../as/CMD/and3.casl:5: END Label:::: -BEGIN ---> #0000 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/and3.casl (1) diff --git a/test/integration/casl2/binout/0.txt b/test/integration/casl2/binout/0.txt index bbd710c..6bcf5c3 100644 --- a/test/integration/casl2/binout/0.txt +++ b/test/integration/casl2/binout/0.txt @@ -3,22 +3,22 @@ Assemble ../../../../as/YAKUWA/binout.casl (0) Label:::: -LOOP1 ---> #0023 -LOOP2 ---> #002B -ONE ---> #0031 -OLNG ---> #0070 -MLOOP ---> #0002 -MFIN ---> #000E -MLEN ---> #0013 -OBUF ---> #0060 -ZERO ---> #002D +BINOUT.LOOP1 ---> #0023 +BINOUT.LOOP2 ---> #002B +BINOUT.ONE ---> #0031 +BINOUT.OLNG ---> #0070 +MAIN.MLOOP ---> #0002 +MAIN.MFIN ---> #000E +MAIN.MLEN ---> #0013 +BINOUT.OBUF ---> #0060 +BINOUT.ZERO ---> #002D MAIN ---> #0000 -STORE ---> #0033 -OUT1 ---> #0041 -OUT2 ---> #0047 -MWORD ---> #000F +BINOUT.STORE ---> #0033 +BINOUT.OUT1 ---> #0041 +BINOUT.OUT2 ---> #0047 +MAIN.MWORD ---> #000F BINOUT ---> #0014 -NZERO ---> #0071 +BINOUT.NZERO ---> #0071 Assemble ../../../../as/YAKUWA/binout.casl (1) ../../../../as/YAKUWA/binout.casl:1:;;; BINOUT: 主プログラムから渡された1語の内容を、 @@ -54,7 +54,7 @@ Assemble ../../../../as/YAKUWA/binout.casl (1) #0010 #0001 #0011 #09CD #0012 #8001 -../../../../as/YAKUWA/binout.casl:15:MLEN DC 4 +../../../../as/YAKUWA/binout.casl:15:MLEN DC 4 #0013 #0004 ../../../../as/YAKUWA/binout.casl:16: END ../../../../as/YAKUWA/binout.casl:17:;;; BINOUT diff --git a/test/integration/casl2/call0/0.txt b/test/integration/casl2/call0/0.txt index 8043f8e..8396f26 100644 --- a/test/integration/casl2/call0/0.txt +++ b/test/integration/casl2/call0/0.txt @@ -15,10 +15,10 @@ Assemble ../../../../as/CMD/call0.casl (0) ../../../../as/CMD/call0.casl:12: END Label:::: -A ---> #0007 -B ---> #0008 +MAIN.A ---> #0007 +MAIN.B ---> #0008 COPY ---> #0009 -BEGIN ---> #0000 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/call0.casl (1) diff --git a/test/integration/casl2/call1/0.txt b/test/integration/casl2/call1/0.txt index 95db745..0fcfa00 100644 --- a/test/integration/casl2/call1/0.txt +++ b/test/integration/casl2/call1/0.txt @@ -14,9 +14,9 @@ Assemble ../../../../as/CMD/call1.casl (0) ../../../../as/CMD/call1.casl:11: END Label:::: -B ---> #0007 +MAIN.B ---> #0007 COPY ---> #0008 -BEGIN ---> #0000 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/call1.casl (1) diff --git a/test/integration/casl2/call2/0.txt b/test/integration/casl2/call2/0.txt index b138173..a41b54f 100644 --- a/test/integration/casl2/call2/0.txt +++ b/test/integration/casl2/call2/0.txt @@ -14,11 +14,11 @@ Assemble ../../../../as/CMD/call2.casl (0) ../../../../as/CMD/call2.casl:11:FIN END Label:::: -A ---> #0007 +MAIN.A ---> #0007 INCR ---> #0008 -BEGIN ---> #0000 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 -FIN ---> #000B +INCR.FIN ---> #000B Assemble ../../../../as/CMD/call2.casl (1) ../../../../as/CMD/call2.casl:1:MAIN START BEGIN diff --git a/test/integration/casl2/count_call/0.txt b/test/integration/casl2/count_call/0.txt index 9b01abc..0e9b61b 100644 --- a/test/integration/casl2/count_call/0.txt +++ b/test/integration/casl2/count_call/0.txt @@ -162,35 +162,35 @@ Assemble ../../../../as/FUNC/outa.casl (0) ../../../../as/FUNC/outa.casl:122: END Label:::: -STI ---> #0044 -ODYOV ---> #00E3 +OUTA.STI ---> #0044 +ODIVL.ODYOV ---> #00E3 STSTR ---> #00B8 -STR ---> #0082 +OUTA.STR ---> #0082 COUNT1 ---> #0012 -ODY ---> #0101 -RETURN ---> #0021 -MAX ---> #0011 -RNEXT ---> #011F -MORE ---> #001A -RFIN ---> #012D +ODIVL.ODY ---> #0101 +COUNT1.RETURN ---> #0021 +MAIN.MAX ---> #0011 +REV.RNEXT ---> #011F +COUNT1.MORE ---> #001A +REV.RFIN ---> #012D REV ---> #0102 -PRT ---> #0062 +OUTA.PRT ---> #0062 OABS ---> #0135 -NCHAR ---> #0094 -LOOP ---> #0002 -STLST ---> #0051 +OUTA.NCHAR ---> #0094 +MAIN.LOOP ---> #0002 +OUTA.STLST ---> #0051 MAIN ---> #0000 ODIVL ---> #00C7 -RPO ---> #0121 +REV.RPO ---> #0121 OUTA ---> #0025 -RPU ---> #0112 -FIN ---> #0010 -ODSL ---> #00D8 -LEN ---> #0093 -ODFIN ---> #00FC -ZPRT ---> #005E -ODLOOP ---> #00EB -ODLPIN ---> #00F8 +REV.RPU ---> #0112 +MAIN.FIN ---> #0010 +ODIVL.ODSL ---> #00D8 +OUTA.LEN ---> #0093 +ODIVL.ODFIN ---> #00FC +OUTA.ZPRT ---> #005E +ODIVL.ODLOOP ---> #00EB +ODIVL.ODLPIN ---> #00F8 Assemble ../../../../as/FUNC/count1_call.casl (1) ../../../../as/FUNC/count1_call.casl:1:;; count1.casl(「アセンブラ言語の仕様」プログラム例)を呼び出し、出力結果を表示 diff --git a/test/integration/casl2/cpa1/0.txt b/test/integration/casl2/cpa1/0.txt index cb0d474..bf61a68 100644 --- a/test/integration/casl2/cpa1/0.txt +++ b/test/integration/casl2/cpa1/0.txt @@ -9,7 +9,7 @@ Assemble ../../../../as/CMD/cpa1.casl (0) ../../../../as/CMD/cpa1.casl:6: END Label:::: -BEGIN ---> #0000 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/cpa1.casl (1) diff --git a/test/integration/casl2/dc_overflow/0.txt b/test/integration/casl2/dc_overflow/0.txt index fff22f2..2c0b3b4 100644 --- a/test/integration/casl2/dc_overflow/0.txt +++ b/test/integration/casl2/dc_overflow/0.txt @@ -13,10 +13,10 @@ Assemble ../../../../as/CMD/dc_overflow.casl (0) ../../../../as/CMD/dc_overflow.casl:10: END Label:::: -A ---> #0007 -B ---> #0008 -C ---> #0009 -BEGIN ---> #0000 +MAIN.A ---> #0007 +MAIN.B ---> #0008 +MAIN.C ---> #0009 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/dc_overflow.casl (1) diff --git a/test/integration/casl2/dc_spc/0.txt b/test/integration/casl2/dc_spc/0.txt index 4ccb195..8c599e5 100644 --- a/test/integration/casl2/dc_spc/0.txt +++ b/test/integration/casl2/dc_spc/0.txt @@ -10,9 +10,9 @@ Assemble ../../../../as/CMD/dc_spc.casl (0) ../../../../as/CMD/dc_spc.casl:7: END Label:::: -BUF ---> #0013 +MAIN.BUF ---> #0013 MAIN ---> #0000 -LEN ---> #0014 +MAIN.LEN ---> #0014 Assemble ../../../../as/CMD/dc_spc.casl (1) ../../../../as/CMD/dc_spc.casl:1:;;; DC命令で空白を指定 diff --git a/test/integration/casl2/ds_0/0.txt b/test/integration/casl2/ds_0/0.txt index 245780e..b79e08d 100644 --- a/test/integration/casl2/ds_0/0.txt +++ b/test/integration/casl2/ds_0/0.txt @@ -11,8 +11,8 @@ Assemble ../../../../as/CMD/ds_0.casl (0) ../../../../as/CMD/ds_0.casl:8: END Label:::: -A ---> #0005 -B ---> #0005 +MAIN.A ---> #0005 +MAIN.B ---> #0005 MAIN ---> #0000 Assemble ../../../../as/CMD/ds_0.casl (1) diff --git a/test/integration/casl2/floatedit/0.txt b/test/integration/casl2/floatedit/0.txt index c8369b1..c6336bb 100644 --- a/test/integration/casl2/floatedit/0.txt +++ b/test/integration/casl2/floatedit/0.txt @@ -67,28 +67,28 @@ Assemble ../../../../as/YAKUWA/floatedit.casl (0) ../../../../as/YAKUWA/floatedit.casl:64: END Label:::: -MSGLNG ---> #00AA +EDIT.MSGLNG ---> #00AA EDIT ---> #0000 -ZSFLAG ---> #014D -INAREA ---> #00AB -OTLENG ---> #014C -NONDGT ---> #0060 -RETRY ---> #0000 -BEGIN ---> #002A -FINISH ---> #008B -INLENG ---> #00FB -SUPPRS ---> #0068 -LOOP ---> #0034 -NOT1ST ---> #005C -STORE ---> #006A -DIGIT0 ---> #009B -DIGIT9 ---> #009C -SPACE ---> #009A -MASK ---> #008C -OTAREA ---> #00FC -ENDSPR ---> #004E -ERRMSG ---> #009E -TEN ---> #009D +EDIT.ZSFLAG ---> #014D +EDIT.INAREA ---> #00AB +EDIT.OTLENG ---> #014C +EDIT.NONDGT ---> #0060 +EDIT.RETRY ---> #0000 +EDIT.BEGIN ---> #002A +EDIT.FINISH ---> #008B +EDIT.INLENG ---> #00FB +EDIT.SUPPRS ---> #0068 +EDIT.LOOP ---> #0034 +EDIT.NOT1ST ---> #005C +EDIT.STORE ---> #006A +EDIT.DIGIT0 ---> #009B +EDIT.DIGIT9 ---> #009C +EDIT.SPACE ---> #009A +EDIT.MASK ---> #008C +EDIT.OTAREA ---> #00FC +EDIT.ENDSPR ---> #004E +EDIT.ERRMSG ---> #009E +EDIT.TEN ---> #009D Assemble ../../../../as/YAKUWA/floatedit.casl (1) ../../../../as/YAKUWA/floatedit.casl:1:EDIT START diff --git a/test/integration/casl2/hanoi/0.txt b/test/integration/casl2/hanoi/0.txt index 933fe19..679c42f 100644 --- a/test/integration/casl2/hanoi/0.txt +++ b/test/integration/casl2/hanoi/0.txt @@ -52,17 +52,17 @@ Assemble ../../../../as/FUNC/hanoi.casl (0) ../../../../as/FUNC/hanoi.casl:49: END Label:::: -LNG ---> #004A -HANOI ---> #000B -A ---> #004B -B ---> #004C -C ---> #004D -N ---> #0049 -MSG ---> #004E -DISP ---> #0032 +MAIN.LNG ---> #004A +MAIN.HANOI ---> #000B +MAIN.A ---> #004B +MAIN.B ---> #004C +MAIN.C ---> #004D +MAIN.N ---> #0049 +MAIN.MSG ---> #004E +MAIN.DISP ---> #0032 MAIN ---> #0000 -MSG1 ---> #0053 -MSG2 ---> #0058 +MAIN.MSG1 ---> #0053 +MAIN.MSG2 ---> #0058 Assemble ../../../../as/FUNC/hanoi.casl (1) ../../../../as/FUNC/hanoi.casl:1:; ハノイの塔を解くプログラム diff --git a/test/integration/casl2/hello/0.txt b/test/integration/casl2/hello/0.txt index e406485..08e97e8 100644 --- a/test/integration/casl2/hello/0.txt +++ b/test/integration/casl2/hello/0.txt @@ -9,9 +9,9 @@ Assemble ../../../../as/hello.casl (0) ../../../../as/hello.casl:6: END Label:::: -BUF ---> #0013 +MAIN.BUF ---> #0013 MAIN ---> #0000 -LEN ---> #0020 +MAIN.LEN ---> #0020 Assemble ../../../../as/hello.casl (1) ../../../../as/hello.casl:1:MAIN START diff --git a/test/integration/casl2/iotest/0.txt b/test/integration/casl2/iotest/0.txt index 4b3a5e6..aefa8e1 100644 --- a/test/integration/casl2/iotest/0.txt +++ b/test/integration/casl2/iotest/0.txt @@ -23,16 +23,16 @@ Assemble ../../../../as/FUNC/iotest.casl (0) ../../../../as/FUNC/iotest.casl:20: END Label:::: -OBUF1 ---> #005B -OBUF2 ---> #0070 -IOLEN ---> #00C7 -OBUF3 ---> #007A -RETURN ---> #005A -IOBUF ---> #0087 -LOOP ---> #0012 -OLEN1 ---> #006F -OLEN2 ---> #0079 -OLEN3 ---> #0086 +IOTEST.OBUF1 ---> #005B +IOTEST.OBUF2 ---> #0070 +IOTEST.IOLEN ---> #00C7 +IOTEST.OBUF3 ---> #007A +IOTEST.RETURN ---> #005A +IOTEST.IOBUF ---> #0087 +IOTEST.LOOP ---> #0012 +IOTEST.OLEN1 ---> #006F +IOTEST.OLEN2 ---> #0079 +IOTEST.OLEN3 ---> #0086 IOTEST ---> #0000 Assemble ../../../../as/FUNC/iotest.casl (1) diff --git a/test/integration/casl2/lad1/0.txt b/test/integration/casl2/lad1/0.txt index ad9b814..f43a2f5 100644 --- a/test/integration/casl2/lad1/0.txt +++ b/test/integration/casl2/lad1/0.txt @@ -9,8 +9,8 @@ Assemble ../../../../as/CMD/lad1.casl (0) ../../../../as/CMD/lad1.casl:6: END Label:::: -A ---> #0005 -BEGIN ---> #0000 +MAIN.A ---> #0005 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/lad1.casl (1) diff --git a/test/integration/casl2/ld1/0.txt b/test/integration/casl2/ld1/0.txt index 17d9960..5d3b36b 100644 --- a/test/integration/casl2/ld1/0.txt +++ b/test/integration/casl2/ld1/0.txt @@ -8,7 +8,7 @@ Assemble ../../../../as/CMD/ld1.casl (0) ../../../../as/CMD/ld1.casl:5: END Label:::: -A ---> #0003 +MAIN.A ---> #0003 MAIN ---> #0000 Assemble ../../../../as/CMD/ld1.casl (1) diff --git a/test/integration/casl2/ld2/0.txt b/test/integration/casl2/ld2/0.txt index 022648f..032a824 100644 --- a/test/integration/casl2/ld2/0.txt +++ b/test/integration/casl2/ld2/0.txt @@ -9,7 +9,7 @@ Assemble ../../../../as/CMD/ld2.casl (0) ../../../../as/CMD/ld2.casl:6: END Label:::: -BEGIN ---> #0000 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/ld2.casl (1) diff --git a/test/integration/casl2/ld3/0.txt b/test/integration/casl2/ld3/0.txt index 1ff9b5c..ebe04de 100644 --- a/test/integration/casl2/ld3/0.txt +++ b/test/integration/casl2/ld3/0.txt @@ -8,8 +8,8 @@ Assemble ../../../../as/CMD/ld3.casl (0) ../../../../as/CMD/ld3.casl:5: END Label:::: -I ---> #0003 -BEGIN ---> #0000 +MAIN.I ---> #0003 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/ld3.casl (1) diff --git a/test/integration/casl2/ld4/0.txt b/test/integration/casl2/ld4/0.txt index 3445d88..d500a53 100644 --- a/test/integration/casl2/ld4/0.txt +++ b/test/integration/casl2/ld4/0.txt @@ -12,9 +12,9 @@ Assemble ../../../../as/CMD/ld4.casl (0) ../../../../as/CMD/ld4.casl:9: END Label:::: -A ---> #0006 -B ---> #0007 -BEGIN ---> #0000 +MAIN.A ---> #0006 +MAIN.B ---> #0007 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/ld4.casl (1) diff --git a/test/integration/casl2/ld5/0.txt b/test/integration/casl2/ld5/0.txt index 2f9fa9c..f4868cc 100644 --- a/test/integration/casl2/ld5/0.txt +++ b/test/integration/casl2/ld5/0.txt @@ -3,9 +3,9 @@ Assemble ../../../../as/CMD/ld5.casl (0) Label:::: -A ---> #0005 -B ---> #0006 -BEGIN ---> #0000 +MAIN.A ---> #0005 +MAIN.B ---> #0006 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/ld5.casl (1) diff --git a/test/integration/casl2/ld_loop/0.txt b/test/integration/casl2/ld_loop/0.txt index 13bea6d..90d44cf 100644 --- a/test/integration/casl2/ld_loop/0.txt +++ b/test/integration/casl2/ld_loop/0.txt @@ -15,11 +15,11 @@ Assemble ../../../../as/CMD/ld_loop.casl (0) ../../../../as/CMD/ld_loop.casl:12: END Label:::: -MEND ---> #000C -MLOOP ---> #0002 -DATA ---> #000D +MAIN.MEND ---> #000C +MAIN.MLOOP ---> #0002 +MAIN.DATA ---> #000D MAIN ---> #0000 -LEN ---> #0010 +MAIN.LEN ---> #0010 Assemble ../../../../as/CMD/ld_loop.casl (1) ../../../../as/CMD/ld_loop.casl:1:;;; ループを使い、連続でGR1にデータを転送する diff --git a/test/integration/casl2/literal_spc/0.txt b/test/integration/casl2/literal_spc/0.txt index 2a686cd..e670131 100644 --- a/test/integration/casl2/literal_spc/0.txt +++ b/test/integration/casl2/literal_spc/0.txt @@ -12,9 +12,9 @@ Assemble ../../../../as/CMD/literal_spc.casl (0) ../../../../as/CMD/literal_spc.casl:9: END Label:::: -BUF ---> #0017 +MAIN.BUF ---> #0017 MAIN ---> #0000 -LEN ---> #0018 +MAIN.LEN ---> #0018 Assemble ../../../../as/CMD/literal_spc.casl (1) ../../../../as/CMD/literal_spc.casl:1:; リテラルに「=' '」を指定した場合のテスト diff --git a/test/integration/casl2/literalstr/0.txt b/test/integration/casl2/literalstr/0.txt index 78e7207..75ba176 100644 --- a/test/integration/casl2/literalstr/0.txt +++ b/test/integration/casl2/literalstr/0.txt @@ -16,10 +16,10 @@ Assemble ../../../../as/CMD/literalstr.casl (0) ../../../../as/CMD/literalstr.casl:13: END Label:::: -LOOP ---> #0004 +MAIN.LOOP ---> #0004 MAIN ---> #0000 -LEND ---> #0012 -LEN ---> #0013 +MAIN.LEND ---> #0012 +MAIN.LEN ---> #0013 Assemble ../../../../as/CMD/literalstr.casl (1) ../../../../as/CMD/literalstr.casl:1:MAIN START diff --git a/test/integration/casl2/minim_call/0.txt b/test/integration/casl2/minim_call/0.txt index 44b74e3..e7aff1d 100644 --- a/test/integration/casl2/minim_call/0.txt +++ b/test/integration/casl2/minim_call/0.txt @@ -159,36 +159,36 @@ Assemble ../../../../as/FUNC/outa.casl (0) ../../../../as/FUNC/outa.casl:122: END Label:::: -STI ---> #004E -ODYOV ---> #00ED +OUTA.STI ---> #004E +ODIVL.ODYOV ---> #00ED STSTR ---> #00C2 -STR ---> #008C -ODY ---> #010B -MIN ---> #002E -S1 ---> #0018 -S2 ---> #0027 -RNEXT ---> #0129 -CNT ---> #0011 -RFIN ---> #0137 +OUTA.STR ---> #008C +ODIVL.ODY ---> #010B +MINIM.MIN ---> #002E +MINIM.S1 ---> #0018 +MINIM.S2 ---> #0027 +REV.RNEXT ---> #0129 +MAIN.CNT ---> #0011 +REV.RFIN ---> #0137 REV ---> #010C -PRT ---> #006C +OUTA.PRT ---> #006C OABS ---> #013F -NCHAR ---> #009E -DATA ---> #000A -STLST ---> #005B -LRET ---> #002B +OUTA.NCHAR ---> #009E +MAIN.DATA ---> #000A +OUTA.STLST ---> #005B +MINIM.LRET ---> #002B MAIN ---> #0000 ODIVL ---> #00D1 -RPO ---> #012B +REV.RPO ---> #012B OUTA ---> #002F MINIM ---> #0012 -RPU ---> #011C -ODSL ---> #00E2 -LEN ---> #009D -ODFIN ---> #0106 -ZPRT ---> #0068 -ODLOOP ---> #00F5 -ODLPIN ---> #0102 +REV.RPU ---> #011C +ODIVL.ODSL ---> #00E2 +OUTA.LEN ---> #009D +ODIVL.ODFIN ---> #0106 +OUTA.ZPRT ---> #0068 +ODIVL.ODLOOP ---> #00F5 +ODIVL.ODLPIN ---> #0102 Assemble ../../../../as/FUNC/minim_call.casl (1) ../../../../as/FUNC/minim_call.casl:1:;;; casl2 minim_call.casl minim.casl outa.casl diff --git a/test/integration/casl2/out0/0.txt b/test/integration/casl2/out0/0.txt index e3c7f55..71363cc 100644 --- a/test/integration/casl2/out0/0.txt +++ b/test/integration/casl2/out0/0.txt @@ -9,9 +9,9 @@ Assemble ../../../../as/CMD/out0.casl (0) ../../../../as/CMD/out0.casl:6: END Label:::: -BUF ---> #0013 +MAIN.BUF ---> #0013 MAIN ---> #0000 -LEN ---> #0014 +MAIN.LEN ---> #0014 Assemble ../../../../as/CMD/out0.casl (1) ../../../../as/CMD/out0.casl:1:MAIN START diff --git a/test/integration/casl2/out1/0.txt b/test/integration/casl2/out1/0.txt index 2cbc074..7d5a04c 100644 --- a/test/integration/casl2/out1/0.txt +++ b/test/integration/casl2/out1/0.txt @@ -3,9 +3,9 @@ Assemble ../../../../as/CMD/out1.casl (0) Label:::: -IOLEN ---> #0029 +OTEST.IOLEN ---> #0029 OTEST ---> #0000 -IOBUF ---> #0013 +OTEST.IOBUF ---> #0013 Assemble ../../../../as/CMD/out1.casl (1) ../../../../as/CMD/out1.casl:1:;;; OUTの使用例 diff --git a/test/integration/casl2/sla2/0.txt b/test/integration/casl2/sla2/0.txt index 77768eb..0aea41c 100644 --- a/test/integration/casl2/sla2/0.txt +++ b/test/integration/casl2/sla2/0.txt @@ -9,7 +9,7 @@ Assemble ../../../../as/CMD/sla2.casl (0) ../../../../as/CMD/sla2.casl:6: Label:::: SLA2 ---> #0000 -BEGIN ---> #0000 +SLA2.BEGIN ---> #0000 Assemble ../../../../as/CMD/sla2.casl (1) ../../../../as/CMD/sla2.casl:1:SLA2 START BEGIN diff --git a/test/integration/casl2/sra2/0.txt b/test/integration/casl2/sra2/0.txt index e750e91..6fb1361 100644 --- a/test/integration/casl2/sra2/0.txt +++ b/test/integration/casl2/sra2/0.txt @@ -8,7 +8,7 @@ Assemble ../../../../as/CMD/sra2.casl (0) ../../../../as/CMD/sra2.casl:5: END Label:::: -BEGIN ---> #0000 +SRA2.BEGIN ---> #0000 SRA2 ---> #0000 Assemble ../../../../as/CMD/sra2.casl (1) diff --git a/test/integration/casl2/sra3/0.txt b/test/integration/casl2/sra3/0.txt index a0b0c7e..04b1258 100644 --- a/test/integration/casl2/sra3/0.txt +++ b/test/integration/casl2/sra3/0.txt @@ -10,8 +10,8 @@ Assemble ../../../../as/CMD/sra3.casl (0) Label:::: SLA2 ---> #0000 -X ---> #0005 -BEGIN ---> #0000 +SLA2.X ---> #0005 +SLA2.BEGIN ---> #0000 Assemble ../../../../as/CMD/sra3.casl (1) ../../../../as/CMD/sra3.casl:1:SLA2 START BEGIN diff --git a/test/integration/casl2/sra4/0.txt b/test/integration/casl2/sra4/0.txt index 78967a5..b2f7831 100644 --- a/test/integration/casl2/sra4/0.txt +++ b/test/integration/casl2/sra4/0.txt @@ -11,9 +11,9 @@ Assemble ../../../../as/CMD/sra4.casl (0) ../../../../as/CMD/sra4.casl:8: END Label:::: -X ---> #0007 -Y ---> #0008 -BEGIN ---> #0000 +SRA4.X ---> #0007 +SRA4.Y ---> #0008 +SRA4.BEGIN ---> #0000 SRA4 ---> #0000 Assemble ../../../../as/CMD/sra4.casl (1) diff --git a/test/integration/casl2/st0/0.txt b/test/integration/casl2/st0/0.txt index 8ffb659..97d08e5 100644 --- a/test/integration/casl2/st0/0.txt +++ b/test/integration/casl2/st0/0.txt @@ -9,7 +9,7 @@ Assemble ../../../../as/CMD/st0.casl (0) ../../../../as/CMD/st0.casl:6: END Label:::: -A ---> #0005 +MAIN.A ---> #0005 MAIN ---> #0000 Assemble ../../../../as/CMD/st0.casl (1) diff --git a/test/integration/casl2/st1/0.txt b/test/integration/casl2/st1/0.txt index ad3d6ba..a247d1b 100644 --- a/test/integration/casl2/st1/0.txt +++ b/test/integration/casl2/st1/0.txt @@ -10,7 +10,7 @@ Assemble ../../../../as/CMD/st1.casl (0) ../../../../as/CMD/st1.casl:7: END Label:::: -A ---> #0007 +MAIN.A ---> #0007 MAIN ---> #0000 Assemble ../../../../as/CMD/st1.casl (1) diff --git a/test/integration/casl2/svc2/0.txt b/test/integration/casl2/svc2/0.txt index 256ffa2..94811fd 100644 --- a/test/integration/casl2/svc2/0.txt +++ b/test/integration/casl2/svc2/0.txt @@ -15,9 +15,9 @@ Assemble ../../../../as/CMD/svc2.casl (0) ../../../../as/CMD/svc2.casl:12: END Label:::: -A ---> #000C -D ---> #000B -BEGIN ---> #0000 +MAIN.A ---> #000C +MAIN.D ---> #000B +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/svc2.casl (1) diff --git a/test/integration/casl2/svc2_out/0.txt b/test/integration/casl2/svc2_out/0.txt index 7a4397d..1ed2b01 100644 --- a/test/integration/casl2/svc2_out/0.txt +++ b/test/integration/casl2/svc2_out/0.txt @@ -20,8 +20,8 @@ Assemble ../../../../as/CMD/svc2_out.casl (0) Label:::: OTEST ---> #0000 -OBUF ---> #0013 -LEN ---> #0017 +OTEST.OBUF ---> #0013 +OTEST.LEN ---> #0017 Assemble ../../../../as/CMD/svc2_out.casl (1) ../../../../as/CMD/svc2_out.casl:1:;;; 「OUT」と同等のプログラム diff --git a/test/integration/casl2/xor0/0.txt b/test/integration/casl2/xor0/0.txt index 6567a25..bf8001f 100644 --- a/test/integration/casl2/xor0/0.txt +++ b/test/integration/casl2/xor0/0.txt @@ -11,9 +11,9 @@ Assemble ../../../../as/CMD/xor0.casl (0) ../../../../as/CMD/xor0.casl:8: END Label:::: -A ---> #0006 -B ---> #0007 -BEGIN ---> #0000 +MAIN.A ---> #0006 +MAIN.B ---> #0007 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/xor0.casl (1) diff --git a/test/integration/casl2/xor1/0.txt b/test/integration/casl2/xor1/0.txt index fde4f2c..3fd3b69 100644 --- a/test/integration/casl2/xor1/0.txt +++ b/test/integration/casl2/xor1/0.txt @@ -10,8 +10,8 @@ Assemble ../../../../as/CMD/xor1.casl (0) ../../../../as/CMD/xor1.casl:7: END Label:::: -A ---> #0007 -BEGIN ---> #0000 +MAIN.A ---> #0007 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/xor1.casl (1) diff --git a/test/integration/casl2/xor3/0.txt b/test/integration/casl2/xor3/0.txt index 3946241..cd46bc7 100644 --- a/test/integration/casl2/xor3/0.txt +++ b/test/integration/casl2/xor3/0.txt @@ -10,8 +10,8 @@ Assemble ../../../../as/CMD/xor3.casl (0) ../../../../as/CMD/xor3.casl:7: END Label:::: -A ---> #0007 -BEGIN ---> #0000 +MAIN.A ---> #0007 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/xor3.casl (1) diff --git a/test/integration/casl2/xor4/0.txt b/test/integration/casl2/xor4/0.txt index b685433..d289b68 100644 --- a/test/integration/casl2/xor4/0.txt +++ b/test/integration/casl2/xor4/0.txt @@ -16,12 +16,12 @@ Assemble ../../../../as/CMD/xor4.casl (0) ../../../../as/CMD/xor4.casl:13: END Label:::: -A ---> #000D -BEGIN ---> #0000 -LOOP ---> #0001 +MAIN.A ---> #000D +MAIN.BEGIN ---> #0000 +MAIN.LOOP ---> #0001 MAIN ---> #0000 -FIN ---> #000C -LEN ---> #0012 +MAIN.FIN ---> #000C +MAIN.LEN ---> #0012 Assemble ../../../../as/CMD/xor4.casl (1) ../../../../as/CMD/xor4.casl:1:;;; XORで、GR1の内容をクリア diff --git a/test/integration/casl2/xor5/0.txt b/test/integration/casl2/xor5/0.txt index 975af56..3a280ad 100644 --- a/test/integration/casl2/xor5/0.txt +++ b/test/integration/casl2/xor5/0.txt @@ -10,9 +10,9 @@ Assemble ../../../../as/CMD/xor5.casl (0) ../../../../as/CMD/xor5.casl:7: END Label:::: -A ---> #0005 -B ---> #0006 -BEGIN ---> #0000 +MAIN.A ---> #0005 +MAIN.B ---> #0006 +MAIN.BEGIN ---> #0000 MAIN ---> #0000 Assemble ../../../../as/CMD/xor5.casl (1)