JUMP MLOOP
MFIN RET
MWORD DC #0000,#0001,#09CD,#8001
-MLEN DC 4
+MLEN DC 4
END
;;; BINOUT
BINOUT START
/* CASL IIの制限 */
enum {
- LINESIZE = 1024, /* 行の最大文字数 */
- TOKENSIZE = 256, /* トークンの最大文字数 */
- LABELSIZE = 8, /* ラベルの最大文字数 */
+ LINESIZE = 1024, /* 行の最大文字数 */
+ TOKENSIZE = 256, /* トークンの最大文字数 */
+ LABELSIZE = 8, /* ラベルの最大文字数 */
LABELTABSIZE = 256, /* ラベルの最大数 */
- OPDSIZE = 40 /* オペラントの最大数 */
+ OPDSIZE = 40, /* オペラントの最大数 */
};
/* 値を格納するポインタ */
/* リテラル(=付きの値)を格納するポインタ */
extern WORD lptr;
+/* 他のプログラムで参照する入口名 */
+extern char *prog;
+
/* アセンブラ命令とマクロ命令を表す番号 */
typedef enum {
START = 01,
IN = 011,
OUT = 012,
RPUSH = 013,
- RPOP = 014
+ RPOP = 014,
} CASLCMD;
/* アセンブラ命令とマクロ命令を表す配列 */
/* ラベル表 */
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();
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
/* リテラル(=付きの値)を格納するポインタ */
WORD lptr;
+/* 他のプログラムで参照する入口名 */
+char *prog;
+
/* 汎用レジスタを表す文字列「GR[0-7]」をWORD値に変換
is_xがtrueの場合は、指標レジスタとして用いる汎用レジスタ
文字列が汎用レジスタを表さない場合は、0xFFFFを返す */
} 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 */
}
}
} 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 */
}
}
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 */
}
}
else if(pass == SECOND) {
endptr = lptr;
}
+ prog = NULL;
status = true;
break;
case DS:
CMDLINE *cmdl;
char *line;
FILE *fp;
-
+
if(create_cmdtype_code() == false) {
return false;
}
}
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;
}
}
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;
}
}
}
/* ラベルを表に追加する */
-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;
}
{
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);
+ }
}
}
}
{
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);
}
}
../../../../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を呼び出す
../../../../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)
../../../../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)
../../../../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)
../../../../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)
../../../../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)
../../../../as/CMD/and0.casl:6: END
Label::::
-BEGIN ---> #0000
+MAIN.BEGIN ---> #0000
MAIN ---> #0000
Assemble ../../../../as/CMD/and0.casl (1)
../../../../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)
../../../../as/CMD/and2.casl:5: END
Label::::
-BEGIN ---> #0000
+MAIN.BEGIN ---> #0000
MAIN ---> #0000
Assemble ../../../../as/CMD/and2.casl (1)
../../../../as/CMD/and3.casl:5: END
Label::::
-BEGIN ---> #0000
+MAIN.BEGIN ---> #0000
MAIN ---> #0000
Assemble ../../../../as/CMD/and3.casl (1)
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語の内容を、
#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
../../../../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)
../../../../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)
../../../../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
../../../../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(「アセンブラ言語の仕様」プログラム例)を呼び出し、出力結果を表示
../../../../as/CMD/cpa1.casl:6: END
Label::::
-BEGIN ---> #0000
+MAIN.BEGIN ---> #0000
MAIN ---> #0000
Assemble ../../../../as/CMD/cpa1.casl (1)
../../../../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)
../../../../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命令で空白を指定
../../../../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)
../../../../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
../../../../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:; ハノイの塔を解くプログラム
../../../../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
../../../../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)
../../../../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)
../../../../as/CMD/ld1.casl:5: END
Label::::
-A ---> #0003
+MAIN.A ---> #0003
MAIN ---> #0000
Assemble ../../../../as/CMD/ld1.casl (1)
../../../../as/CMD/ld2.casl:6: END
Label::::
-BEGIN ---> #0000
+MAIN.BEGIN ---> #0000
MAIN ---> #0000
Assemble ../../../../as/CMD/ld2.casl (1)
../../../../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)
../../../../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)
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)
../../../../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にデータを転送する
../../../../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:; リテラルに「=' '」を指定した場合のテスト
../../../../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
../../../../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
../../../../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
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の使用例
../../../../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
../../../../as/CMD/sra2.casl:5: END
Label::::
-BEGIN ---> #0000
+SRA2.BEGIN ---> #0000
SRA2 ---> #0000
Assemble ../../../../as/CMD/sra2.casl (1)
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
../../../../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)
../../../../as/CMD/st0.casl:6: END
Label::::
-A ---> #0005
+MAIN.A ---> #0005
MAIN ---> #0000
Assemble ../../../../as/CMD/st0.casl (1)
../../../../as/CMD/st1.casl:7: END
Label::::
-A ---> #0007
+MAIN.A ---> #0007
MAIN ---> #0000
Assemble ../../../../as/CMD/st1.casl (1)
../../../../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)
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」と同等のプログラム
../../../../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)
../../../../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)
../../../../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)
../../../../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の内容をクリア
../../../../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)