]> j8takagi.net Git Repository - YACASL2.git/commitdiff
ラベル表にプログラム名(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 1d920aa5d41f8687a78a844ca1d5676235c1acda..d25b188d497a4f3c1a008b67ccd01042fbe953e5 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 fddad63565f18ab25ce0fb9e89fc8f7c58e88c0e..30a4afbff6ea4a7d3f53f3d874f627a32885b238 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 af972cd5561e09cdbafe67a1fe03df6f8868ae3e..2edfaa013090c572a765143a8b0ba94586e77709 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 3b9139800fcbc79f5f88768441ef6581e9ae85dd..25762c32822ea815c7a3cd3bf5ac67fd07e7f50e 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 02840a5481c4cb43aae18c520b578ba91bab8ada..5a0b4cc9aa540cbaa3cd20bbf9938a81076f10fb 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 4d285e3909bf889bf77f5dbbb64dc1bf3cbfed6f..30f66152f7b262935ebf510f99cea1edfc101caf 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 7ab3c59784cf3124aacbee3a9ed14d836ce64c10..e855f2cae4fc0c85f96e1262319faa175078ed5b 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 de8ad7584ad9fa1e55921bfd75ba3851f656183e..73a09e794582dda18be3e77b7634552f64b27bf6 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 69add4f61de5fc0331a550a4260a78b6b979d8b6..f75405ca971cb0a0710e52ab553a9b7fef4edf3f 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 6080e64640c1971a68d7e072bb43c9bbed63b832..f9ba41f1b35aba4491f378c6ec62cf7d7c43d741 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 679db67e56257f214cc46dcf8835c2400a69124c..5a2a914d352bf0d2a57109107dd5b7fcafcaaac6 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 16a66ba7ddcd654ce06e07b4e8077953cd37fbcd..7b5cf85374020d7af8d8c7ee4805ed6744d22534 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 286ce03300094f6b96163a17e4c97c6ccc5d52f5..e8abcff649828f67105af61a8adbf3353d1bda5f 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 0faebbfdb7fb729598d3278d3458728d51f9e56b..b41e7396fa0f18ee432a63a3a2033d83550ac036 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 d46d1d93277fcebfbb6fec41843dccf6ae72b9c8..2a2301ca2da85e8a5f4a977a48ed28624e403c95 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 bbd710c4759813a827a618501c47b9e35d753058..6bcf5c36c85253dfd0da9db66980350cf58525f7 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 8043f8ec0ee215f743fb2ea3f3434a3607202d58..8396f26bc3d53cc1805224402ad747c0cfc360c5 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 95db745aacb8e00739ca1488c815886bf2cc10c2..0fcfa00db9b9b17bf5036434db1e068d6227bb7f 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 b1381731e755d3eba55d2ab70465bd963a5b7f27..a41b54fb65ce025d14a9a93e32334656f283077e 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 9b01abc844238a8a3c089a19156b42085a3234c8..0e9b61bd386b265e1352aeb457bb7783f3b6f7e6 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 cb0d474112c2805e4ab03d750081e8afee6e00de..bf61a687bf84cadfdaaf34f91a843465f70a0ad4 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 fff22f2c24a5222d8d0f7d9356707023e5fb07ec..2c0b3b4b73cd6a12bd28e33cd4cdcb33d72c3af1 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 4ccb195f7d45790e888628854efb16bd1c3997dd..8c599e56655bfdda1fc982da5ca3d148a72c5a7b 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 245780ee80c29fee5f39ec4bfdbf9ce1da645aba..b79e08d4c5183e21fd0c4ca16d841a90df833e73 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 c8369b1ba0c3e3768b3c8a68280c5d183a6ab019..c6336bbf06ba48c1d77cf6734d1bef0901665d4f 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 933fe19641abb4c36c6d28208449386107d86ac7..679c42f42f198a870ed89bd3267add3bb3dbc09f 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 e406485ff4656fa99b15e745aca499e5ca16bbdc..08e97e832d015ae751caaf929e4b03113612d350 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 4b3a5e6c7cd3f6758583e718717d8cb584502bb1..aefa8e15d092e3a05a7576ce52c9a1bf3c3c8b64 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 ad9b814986b8d63b7dcdd3628fc4158c806e641a..f43a2f51619b1340e4efbe13dae353f4f3c4459c 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 17d9960bf7f013bf9fcd85b8d9a5d231b62d383b..5d3b36b94f0e98c3ca5817a09baed6b63eed8409 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 022648fcfb6992c3219f12acdc3232d5d193cbfa..032a8243013373d8ec7e6ccea0ae4c1edc5fa3fd 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 1ff9b5caeb0def8cda1bc2408c0eb38977efe0b3..ebe04debb532a9c36baae6e8dd6b609a0fa70409 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 3445d886e7b9d2317875398cfcf07d6c40de64b0..d500a533627cdbe2ebb62b4f60c46e94aba55745 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 2f9fa9cbb43bf5e1e28c0ca4c58c93f3302f0a37..f4868cccba7ccca1d66d9317b222ab2b8ff456e1 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 13bea6d8caceea8bfa8f542cda567efc443a4bf3..90d44cf2ea26df35a3c8c9c64b34e33cbdd3d958 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 2a686cd7a99c477030747edcb096c33183f2449c..e6701314492295da7f44541f277a4a1ff01811d3 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 78e7207d8e367aa9d2b75059d145f54b09f387a8..75ba1760b650d17ee84b200ae186d4635a82a763 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 44b74e39bf52d166af2d14ee28504397fcf4849e..e7aff1d7356a5a42a0627d5efe8d4bfc8caee0fe 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 e3c7f5553a9d0e4b2300ba7d942df90df8bc67dc..71363ccd2a532578703e7780de478e50314e05c5 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 2cbc0748ad1aa8a88d8b6364c50cee2f54f968f8..7d5a04c65abb7ece48ca859dfa5ac0eef3419457 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 77768ebfa44fed95d2edaeda2e576f7fed1244a9..0aea41cc95a6af1c905112c466f92c39a108d501 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 e750e91a2843216355181c41ec1a8c9a5e9cad18..6fb1361a2a4d7cd8a550bf371eddbbb81c8d03e7 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 a0b0c7ec25d8d6bd1a2834c2146972a22b169ce2..04b1258bd1a9e1a7c4932921560a1877b4f01334 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 78967a54d335d21421d1fae42e8faa646088695c..b2f78311b34996198f973319bcdb30e9c76cc0aa 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 8ffb659929426afa7615c4ae0199bc0c2aaa0c35..97d08e508a847e360433c07998f72e04b179f991 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 ad3d6bab0e94177cc757f48a6d1c63a5a6f09f12..a247d1b57d8b42891ec0f10086c9eaf1d17a0ac5 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 256ffa2d97a0260ecf5f6e17c3ba2f73f7c62b51..94811fd93669524cf4e1b466d8939b839f3f3aa1 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 7a4397d1b079effd36eebb286af0b2a1e8d5a31f..1ed2b0190f24fd768eea69888bcf230f9e989a95 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 6567a259bd31b79228d21ba87232b3b3a9a6131b..bf8001f1071ad78a8fbb71f83fd5e319334d9b27 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 fde4f2c5d0c9931a73863d92be09be2bd0159137..3fd3b69c300ef54e09d14aa4281f5d5741fc6e01 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 39462411baac67312986f8e6361786cc0d3f9f61..cd46bc749a01137660a6b4ea2b6d594b3de99a93 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 b68543341f6ffddeeb44b506afea79c6e3a36eec..d289b684ca3b0af36cb4e58fe496c37443a9955a 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 975af56cd37bf43588884a3f1f44631af5f7c96f..3a280ad47721f0e37a94bb2ef6aea685b1c26b6d 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)