ラベル表にプログラム名(prog)を追加
authorj8takagi <j8takagi@nifty.com>
Mon, 25 Jan 2010 04:21:05 +0000 (13:21 +0900)
committerj8takagi <j8takagi@nifty.com>
Mon, 25 Jan 2010 04:27:27 +0000 (13:27 +0900)
プログラム名を追加することで、プログラムの入口以外の
ラベルの範囲がプログラム内だけに変更
プログラムの入口では、progはNULL

53 files changed:
as/YAKUWA/binout.casl
include/assemble.h
src/Makefile
src/assemble.c
src/label.c
test/integration/casl2/abs_call/0.txt
test/integration/casl2/adda0/0.txt
test/integration/casl2/adda1/0.txt
test/integration/casl2/adda_overflow/0.txt
test/integration/casl2/addl/0.txt
test/integration/casl2/addl_overflow/0.txt
test/integration/casl2/and0/0.txt
test/integration/casl2/and1/0.txt
test/integration/casl2/and2/0.txt
test/integration/casl2/and3/0.txt
test/integration/casl2/binout/0.txt
test/integration/casl2/call0/0.txt
test/integration/casl2/call1/0.txt
test/integration/casl2/call2/0.txt
test/integration/casl2/count_call/0.txt
test/integration/casl2/cpa1/0.txt
test/integration/casl2/dc_overflow/0.txt
test/integration/casl2/dc_spc/0.txt
test/integration/casl2/ds_0/0.txt
test/integration/casl2/floatedit/0.txt
test/integration/casl2/hanoi/0.txt
test/integration/casl2/hello/0.txt
test/integration/casl2/iotest/0.txt
test/integration/casl2/lad1/0.txt
test/integration/casl2/ld1/0.txt
test/integration/casl2/ld2/0.txt
test/integration/casl2/ld3/0.txt
test/integration/casl2/ld4/0.txt
test/integration/casl2/ld5/0.txt
test/integration/casl2/ld_loop/0.txt
test/integration/casl2/literal_spc/0.txt
test/integration/casl2/literalstr/0.txt
test/integration/casl2/minim_call/0.txt
test/integration/casl2/out0/0.txt
test/integration/casl2/out1/0.txt
test/integration/casl2/sla2/0.txt
test/integration/casl2/sra2/0.txt
test/integration/casl2/sra3/0.txt
test/integration/casl2/sra4/0.txt
test/integration/casl2/st0/0.txt
test/integration/casl2/st1/0.txt
test/integration/casl2/svc2/0.txt
test/integration/casl2/svc2_out/0.txt
test/integration/casl2/xor0/0.txt
test/integration/casl2/xor1/0.txt
test/integration/casl2/xor3/0.txt
test/integration/casl2/xor4/0.txt
test/integration/casl2/xor5/0.txt

index 1d920aa..d25b188 100644 (file)
@@ -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
index fddad63..30a4afb 100644 (file)
@@ -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();
index af972cd..2edfaa0 100644 (file)
@@ -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
index 3b91398..25762c3 100644 (file)
@@ -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;
                 }
             }
index 02840a5..5a0b4cc 100644 (file)
@@ -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);
         }
     }
index 4d285e3..30f6615 100644 (file)
@@ -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を呼び出す
index 7ab3c59..e855f2c 100644 (file)
@@ -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)
index de8ad75..73a09e7 100644 (file)
@@ -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)
index 69add4f..f75405c 100644 (file)
@@ -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)
index 6080e64..f9ba41f 100644 (file)
@@ -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)
index 679db67..5a2a914 100644 (file)
@@ -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)
index 16a66ba..7b5cf85 100644 (file)
@@ -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)
index 286ce03..e8abcff 100644 (file)
@@ -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)
index 0faebbf..b41e739 100644 (file)
@@ -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)
index d46d1d9..2a2301c 100644 (file)
@@ -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)
index bbd710c..6bcf5c3 100644 (file)
@@ -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
index 8043f8e..8396f26 100644 (file)
@@ -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)
index 95db745..0fcfa00 100644 (file)
@@ -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)
index b138173..a41b54f 100644 (file)
@@ -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
index 9b01abc..0e9b61b 100644 (file)
@@ -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(「アセンブラ言語の仕様」プログラム例)を呼び出し、出力結果を表示
index cb0d474..bf61a68 100644 (file)
@@ -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)
index fff22f2..2c0b3b4 100644 (file)
@@ -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)
index 4ccb195..8c599e5 100644 (file)
@@ -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命令で空白を指定
index 245780e..b79e08d 100644 (file)
@@ -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)
index c8369b1..c6336bb 100644 (file)
@@ -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
index 933fe19..679c42f 100644 (file)
@@ -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:; ハノイの塔を解くプログラム
index e406485..08e97e8 100644 (file)
@@ -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
index 4b3a5e6..aefa8e1 100644 (file)
@@ -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)
index ad9b814..f43a2f5 100644 (file)
@@ -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)
index 17d9960..5d3b36b 100644 (file)
@@ -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)
index 022648f..032a824 100644 (file)
@@ -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)
index 1ff9b5c..ebe04de 100644 (file)
@@ -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)
index 3445d88..d500a53 100644 (file)
@@ -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)
index 2f9fa9c..f4868cc 100644 (file)
@@ -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)
index 13bea6d..90d44cf 100644 (file)
@@ -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にデータを転送する
index 2a686cd..e670131 100644 (file)
@@ -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:; リテラルに「=' '」を指定した場合のテスト
index 78e7207..75ba176 100644 (file)
@@ -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
index 44b74e3..e7aff1d 100644 (file)
@@ -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
index e3c7f55..71363cc 100644 (file)
@@ -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
index 2cbc074..7d5a04c 100644 (file)
@@ -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の使用例
index 77768eb..0aea41c 100644 (file)
@@ -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
index e750e91..6fb1361 100644 (file)
@@ -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)
index a0b0c7e..04b1258 100644 (file)
@@ -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
index 78967a5..b2f7831 100644 (file)
@@ -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)
index 8ffb659..97d08e5 100644 (file)
@@ -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)
index ad3d6ba..a247d1b 100644 (file)
@@ -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)
index 256ffa2..94811fd 100644 (file)
@@ -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)
index 7a4397d..1ed2b01 100644 (file)
@@ -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」と同等のプログラム
index 6567a25..bf8001f 100644 (file)
@@ -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)
index fde4f2c..3fd3b69 100644 (file)
@@ -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)
index 3946241..cd46bc7 100644 (file)
@@ -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)
index b685433..d289b68 100644 (file)
@@ -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の内容をクリア
index 975af56..3a280ad 100644 (file)
@@ -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)