From: j8takagi Date: Sun, 7 Feb 2010 09:40:14 +0000 (+0900) Subject: masterブランチをマージ X-Git-Tag: v0.1~47^2~16 X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=commitdiff_plain;h=4fe8479d27f535a0ff44c9f6ce270249934e980f;hp=632d6b1815d6ce037e8a58e43e831807aacf0919 masterブランチをマージ 次の競合は、すべて破棄 Conflicts: test/integration/casl2/misc_out_hello/0.txt test/integration/comet2/svc2_out/a.o --- diff --git a/as/cmd/SVC/svc2.casl b/as/cmd/SVC/svc2.casl index f5542fd..173e225 100644 --- a/as/cmd/SVC/svc2.casl +++ b/as/cmd/SVC/svc2.casl @@ -1,5 +1,4 @@ ;;; 「SVC 2」で数値を表示 -;;; casl2 svctest.casl div10.casl MAIN START BEGIN LAD GR1,D LAD GR2,A @@ -8,5 +7,5 @@ BEGIN LAD GR1,D SVC 2 RET D DC '0' -A DS 1 +A DC 1 END diff --git a/doc/Makefile b/doc/Makefile index e356989..59511eb 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,5 +1,5 @@ .PHPNY: html clean html: yacasl2.texi - @makeinfo --html $^ + @makeinfo --html --css-ref=style.css $^ clean: @rm -rf yacasl2 diff --git a/doc/yacasl2.texi b/doc/yacasl2.texi index 8357b35..e5e1fbb 100644 --- a/doc/yacasl2.texi +++ b/doc/yacasl2.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @c %**start of header @setfilename yacasl2 -@settitle YACASL2 +@settitle YACASL2 -Linux上のCASL2処理系- @c %**end of header @copying @@ -9,7 +9,7 @@ Copyright @copyright{} 2010 j8takagi @end copying @titlepage -@title YACASL2 -Linux上で動作するCASL2処理系- +@title @c The following two commands start the copyright page. @page @@ -26,30 +26,95 @@ Copyright @copyright{} 2010 j8takagi @cindex chapter, first -YACASL2は、Linux上で動作するオープンソースのCASL II処理系です。 +YACASL2は、Linux上で動作するオープンソースのCASL II処理系です。CASL IIは情報処理試験で用いられるアセンブラ言語で、次の資料により仕様が公開されています。 -CASL IIは、情報処理試験で用いられるアセンブラ言語で、仕様も公開されています。 +@quotation +@uref{http://www.jitec.ipa.go.jp/1_00topic/topic_20081027_hani_yougo.pdf, 試験で使用する情報処理用語・プログラム言語など(2008å¹´10月版)}ï¼»PDFファイル] +別紙 1 アセンブラ言語の仕様 +@end quotation -@uref{http://www.jitec.ipa.go.jp/1_00topic/topic_20081027_hani_yougo.pdf, 試験で使用する情報処理用語・プログラム言語など(2008å¹´10月版)[PDFファイル]-別紙 1 アセンブラ言語の仕様} +YACASL2は、CASL IIアセンブラ言語で記述されたファイルをアセンブルし、仮想マシンCOMET II上で実行します。アセンブルと実行は、連続で行うことも別々に行うことも可能です。 +YACASL2の動作はCASL IIの仕様に準拠しているため、情報処理試験の問題をはじめ各種参考書やサイトに記載されたCASL IIのプログラムをそのままアセンブルして実行できます。また、本パッケージ中にCASL IIのサンプルプログラムが多数収録されています。 -YACASL2は、CASL IIの仕様に準拠した動作をします。 -そのため、情報処理試験の問題をはじめ、各種参考書やサイトに記載されたCASL IIのプログラムをそのまま動作させることができます。 +YACASL2は、「ふつうの処理系」として動作します。ほかの多くのCASL IIエミュレーターと違い、デバッガーとして動作したり、コンピューター内部の模式図を表示したりすることはありません。そのかわり、YACASL2は、次のような動作内容をすべてテキストで出力します。 -また、本パッケージ中にCASL IIプログラムのサンプルが多数収録されています。 +@itemize @bullet -YACASL2は、「通常の処理系」として動作します。ほかの多くのCASL IIエミュレーターと違い、デバッガーとして動作したり、コンピューター内部の模式図を表示したりすることはありません。そのかわり、YACASL2は、次のような動作内容をすべてテキストで出力します。 - -@enumerate @item ラベルとアドレスの対応 + @item アセンブラ結果 + @item 実行時のレジスタの内容 + @item 実行時のメモリの内容 +@end itemize + +出力された動作内容は、GNU/Linuxのさまざまなツール、たとえば@command{head}、@command{tail}、@command{grep}、@command{diff}などを使って解析できます。 + +@chapter YACASL2のインストール + +YACASL2をインストールするには、Linux上で次の作業が必要です。 + +@enumerate + +@item +@file{yacasl2.tar.gz}のダウンロード + +@item +@file{yacasl2.tar.gz}の展開 + +@item +@command{casl2}、@command{comet2}、@command{dumpword}のビルド + +@item +レグレッションテスト @end enumerate -出力された動作内容は、GNU/Linuxのさまざまなツール、たとえばhead, tail, grep, diffなどを使って解析できます。 +@unnumberedsec 要件 +YACASL2は、Linux上で動作します。インストール時に、@command{tar}、@command{gcc}、@command{make}が必要です。 + +現在動作を確認しているのは、次のディストリビューションです。 + +@itemize @bullet + +@item +Ubuntu Linux 9.04 + +@item +Ubuntu Linux 8.04 + +@item +Vine Linux 4.2 +@end itemize + +@section @file{yacasl2.tar.gz}のダウンロード + +@verbatim +$ cd +$ wget +@end verbatim + +@section @file{yacasl2.tar.gz}の展開 + +@verbatim +$ tar xvzf yacasl2.tar.gz +@end verbatim + +@section @command{casl2}、@command{comet2}、@command{dumpword}のビルド + +@verbatim +$ cd yacasl2 +$ make +@end verbatim + +@section レグレッションテスト + +@verbatim +$ make check +@end verbatim @bye diff --git a/include/assemble.h b/include/assemble.h index f6e081a..ae746fd 100644 --- a/include/assemble.h +++ b/include/assemble.h @@ -12,11 +12,11 @@ enum { /* アセンブルモード */ typedef struct { - bool srcmode; /* ソースを表示する場合はtrue */ - bool labelmode; /* ラベル表を表示する場合はtrue */ - bool onlylabelmode; /* ラベル表を表示して終了する場合はtrue */ - bool asdetailmode; /* アセンブラ詳細結果を表示する場合はtrue */ - bool onlyassemblemode; /* アセンブルだけを行う場合はtrue */ + bool src; /* ソースを表示する場合はtrue */ + bool label; /* ラベル表を表示する場合はtrue */ + bool onlylabel; /* ラベル表を表示して終了する場合はtrue */ + bool asdetail; /* アセンブラ詳細結果を表示する場合はtrue */ + bool onlyassemble; /* アセンブルだけを行う場合はtrue */ } ASMODE; extern ASMODE asmode; @@ -101,9 +101,9 @@ OPD *opdtok(const char *str); /* 1行を解析する */ CMDLINE *linetok(const char *line); -/* 汎用レジスタを表す文字列「GR[0-7]」をWORD値に変換 - is_xがTRUEの場合は、指標レジスタとして用いる汎用レジスタ - 文字列が汎用レジスタを表さない場合は、0xFFFFを返す */ +/* 汎用レジスタを表す文字列「GR[0-7]」から、レジスタ番号[0-7]をWORD値で返す */ +/* 文字列が汎用レジスタを表さない場合は、0xFFFFを返す */ +/* is_xがtrueの場合は指標レジスタ。GR0は、COMET IIの仕様により、エラー発生 */ WORD getgr(const char *str, bool is_x); /* 10進定数をWORDに変換 */ @@ -162,4 +162,4 @@ bool writeRPUSH(PASS pass); /* マクロ命令「RPOP」をメモリに書込 */ bool writeRPOP(PASS pass); -#endif +#endif /* YACASL2_ASSEMBLE_INCLUDEDの終端 */ diff --git a/include/casl2.h b/include/casl2.h index fa4b0ae..42ed92d 100644 --- a/include/casl2.h +++ b/include/casl2.h @@ -126,4 +126,4 @@ void free_code_type(); /* 指定されたファイルにアセンブル結果を書込 */ void outassemble(const char *file); -#endif +#endif /* YACASL2_CASL2_INCLUDEDの終端 */ diff --git a/include/exec.h b/include/exec.h index 6841146..40230b4 100644 --- a/include/exec.h +++ b/include/exec.h @@ -10,54 +10,12 @@ enum { /* 実行モード */ typedef struct { - bool tracemode; /* レジストリの内容を表示する場合はtrue */ - bool logicalmode; /* レジストリの内容を論理値(0〜65535)で表示する場合はtrue */ - bool dumpmode; /* メモリの内容を表示する場合はtrue */ + bool trace; /* レジストリの内容を表示する場合はtrue */ + bool logical; /* レジストリの内容を論理値(0〜65535)で表示する場合はtrue */ + bool dump; /* メモリの内容を表示する場合はtrue */ } EXECMODE; extern EXECMODE execmode; -/* 指定されたファイルからアセンブル結果を読込 */ -bool inassemble(char *file); - -/* 標準入力から文字データを読込(SVC 1) */ -void svcin(); - -/* 標準出力へ文字データを書出(SVC 2) */ -void svcout(); - -/* ロード/論理積/論理和/排他的論理和のフラグ設定。OFは常に0 */ -void setfr(WORD val); - -/* 算術加算。フラグを設定して値を返す */ -WORD adda(WORD val0, WORD val1); - -/* 算術減算。フラグを設定して値を返す */ -WORD suba(WORD val0, WORD val1); - -/* 論理加算。フラグを設定して値を返す */ -WORD addl(WORD val0, WORD val1); - -/* 論理減算。フラグを設定して値を返す */ -WORD subl(WORD val0, WORD val1); - -/* 算術比較のフラグ設定。OFは常に0 */ -void cpa(WORD val0, WORD val1); - -/* 論理比較のフラグ設定。OFは常に0 */ -void cpl(WORD val0, WORD val1); - -/* 算術左シフト。フラグを設定して値を返す */ -WORD sla(WORD val0, WORD val1); - -/* 算術右シフト。フラグを設定して値を返す */ -WORD sra(WORD val0, WORD val1); - -/* 論理左シフト。フラグを設定して値を返す */ -WORD sll(WORD val0, WORD val1); - -/* 論理右シフト。フラグを設定して値を返す */ -WORD srl(WORD val0, WORD val1); - /* 仮想マシンのリセット */ void reset(); @@ -70,4 +28,4 @@ void dumpmemory(); /* COMET IIのレジスタを表示 */ void dspregister(); -#endif +#endif /* YACASL2_EXEC_INCLUDEDの終端 */ diff --git a/src/assemble.c b/src/assemble.c index 27ebfdb..811f670 100644 --- a/src/assemble.c +++ b/src/assemble.c @@ -10,20 +10,21 @@ WORD lptr; /* 他のプログラムで参照する入口名 */ char *prog; -/* 汎用レジスタを表す文字列「GR[0-7]」をWORD値に変換 */ -/* is_xがtrueの場合は、指標レジスタとして用いる汎用レジスタ */ +/* 汎用レジスタを表す文字列「GR[0-7]」から、レジスタ番号[0-7]をWORD値で返す */ /* 文字列が汎用レジスタを表さない場合は、0xFFFFを返す */ +/* is_xがtrueの場合は指標レジスタ。GR0は、COMET IIの仕様により、エラー発生 */ WORD getgr(const char *str, bool is_x) { assert(str != NULL); WORD r; + /* 「GR[0-7]」以外の文字列では、0xFFFFを返して終了 */ if(!(strlen(str) == 3 && strncmp(str, "GR", 2) == 0 && (*(str+2) >= '0' && *(str+2) <= '7'))) { return 0xFFFF; } r = (WORD)(*(str+2) - '0'); - /* COMET IIの仕様により、GR0は指標レジスタとして用いることはできない */ + /* 指標レジスタとして用いることはできない */ if(is_x == true && r == 0x0) { setcerr(120, NULL); /* GR0 in operand x */ return 0x0; @@ -61,7 +62,7 @@ bool writememory(WORD word, WORD adr, PASS pass) } if(cerrno == 0) { memory[adr] = word; - if(pass == SECOND && (&asmode)->asdetailmode == true) { + if(pass == SECOND && (&asmode)->asdetail == true) { fprintf(stdout, "\t#%04X\t#%04X\n", adr, word); } status = true; @@ -417,8 +418,8 @@ bool assemble(const char *file, PASS pass) break; } lineno++; - if((pass == FIRST && (&asmode)->srcmode == true) || - (pass == SECOND && (&asmode)->asdetailmode == true)) + if((pass == FIRST && (&asmode)->src == true) || + (pass == SECOND && (&asmode)->asdetail == true)) { fprintf(stdout, "%s:%5d:%s", file, lineno, line); } diff --git a/src/casl2.c b/src/casl2.c index 1b438e5..35f9a80 100644 --- a/src/casl2.c +++ b/src/casl2.c @@ -4,6 +4,7 @@ #define _GNU_SOURCE #include +/* casl2コマンドのオプション */ static struct option longopts[] = { {"source", no_argument, NULL, 's'}, {"label", no_argument, NULL, 'l'}, @@ -22,7 +23,9 @@ static struct option longopts[] = { {0, 0, 0, 0}, }; +/* アセンブルモード: src, label, onlylabel, asdetail, onlyassemble */ ASMODE asmode = {false, false, false, false, false}; +/* 実行モード: trace, logical, dump */ EXECMODE execmode = {false, false, false}; /* エラー番号とエラーメッセージ */ @@ -84,7 +87,7 @@ const char *objfile_name(const char *str) } } -/* casl2コマンド */ +/* casl2コマンドのメイン */ int main(int argc, char *argv[]) { int opt, i; @@ -98,38 +101,38 @@ int main(int argc, char *argv[]) while((opt = getopt_long(argc, argv, "tTdslLao::O::AM:C:h", longopts, NULL)) != -1) { switch(opt) { case 's': - (&asmode)->srcmode = true; + (&asmode)->src = true; break; case 'l': - (&asmode)->labelmode = true; + (&asmode)->label = true; break; case 'L': - (&asmode)->labelmode = true; - (&asmode)->onlylabelmode = true; + (&asmode)->label = true; + (&asmode)->onlylabel = true; break; case 'a': - (&asmode)->asdetailmode = true; + (&asmode)->asdetail = true; break; case 'A': - (&asmode)->asdetailmode = true; - (&asmode)->onlyassemblemode = true; + (&asmode)->asdetail = true; + (&asmode)->onlyassemble = true; break; case 'o': objfile = strdup(objfile_name(optarg)); break; case 'O': - (&asmode)->onlyassemblemode = true; + (&asmode)->onlyassemble = true; objfile = strdup(objfile_name(optarg)); break; case 't': - (&execmode)->tracemode = true; + (&execmode)->trace = true; break; case 'T': - (&execmode)->tracemode = true; - (&execmode)->logicalmode = true; + (&execmode)->trace = true; + (&execmode)->logical = true; break; case 'd': - (&execmode)->dumpmode = true; + (&execmode)->dump = true; break; case 'M': memsize = atoi(optarg); @@ -161,9 +164,9 @@ int main(int argc, char *argv[]) } else if(pass == SECOND) { ptr = beginptr[i]; } - if((&execmode)->tracemode == true || (&execmode)->dumpmode == true || - (&asmode)->srcmode == true || (&asmode)->labelmode == true || - (&asmode)->asdetailmode == true) + if((&execmode)->trace == true || (&execmode)->dump == true || + (&asmode)->src == true || (&asmode)->label == true || + (&asmode)->asdetail == true) { fprintf(stdout, "\nAssemble %s (%d)\n", argv[i], pass); } @@ -175,10 +178,10 @@ int main(int argc, char *argv[]) exit(-1); } } - if(pass == FIRST && (&asmode)->labelmode == true) { + if(pass == FIRST && (&asmode)->label == true) { fprintf(stdout, "\nLabel::::\n"); printlabel(); - if((&asmode)->onlylabelmode == true) { + if((&asmode)->onlylabel == true) { return 0; } } @@ -188,7 +191,7 @@ int main(int argc, char *argv[]) if(objfile != NULL) { outassemble(objfile); } - if((&asmode)->onlyassemblemode == false) { + if((&asmode)->onlyassemble == false) { exec(); /* プログラム実行 */ } } diff --git a/src/comet2.c b/src/comet2.c index bfe1634..1adf426 100644 --- a/src/comet2.c +++ b/src/comet2.c @@ -3,6 +3,7 @@ #define _GNU_SOURCE #include +/* comet2コマンドのオプション */ static struct option longopts[] = { {"trace", no_argument, NULL, 't'}, {"tracearithmetic", no_argument, NULL, 't'}, @@ -14,6 +15,7 @@ static struct option longopts[] = { {0, 0, 0, 0} }; +/* 実行モード: trace, logical, dump */ EXECMODE execmode = {false, false, false}; /* エラー番号とエラーメッセージ */ @@ -29,9 +31,8 @@ CERRARRAY cerr[] = { }; /* 指定されたファイルからアセンブル結果を読込 */ -bool inassemble(char *file) { +bool loadassemble(char *file) { FILE *fp; - reset(); if((fp = fopen(file, "r")) == NULL) { perror(file); return false; @@ -50,14 +51,14 @@ int main(int argc, char *argv[]) while((opt = getopt_long(argc, argv, "tTdM:C:h", longopts, NULL)) != -1) { switch(opt) { case 't': - (&execmode)->tracemode = true; + (&execmode)->trace = true; break; case 'T': - (&execmode)->tracemode = true; - (&execmode)->logicalmode = true; + (&execmode)->trace = true; + (&execmode)->logical = true; break; case 'd': - (&execmode)->dumpmode = true; + (&execmode)->dump = true; break; case 'M': memsize = atoi(optarg); @@ -73,7 +74,8 @@ int main(int argc, char *argv[]) exit(-1); } } - if(inassemble(argv[optind]) == true) { + reset(); + if(loadassemble(argv[optind]) == true) { exec(); /* プログラム実行 */ } if(cerrno > 0) { diff --git a/src/dump.c b/src/dump.c index c1184be..f1b575f 100644 --- a/src/dump.c +++ b/src/dump.c @@ -32,7 +32,7 @@ void dspregister() int i; for(i = 0; i < REGSIZE; i++ ) { fprintf(stdout, "#%04X: GR%d: ", PR, i); - print_dumpword(GR[i], (&execmode)->logicalmode); + print_dumpword(GR[i], (&execmode)->logical); } fprintf(stdout, "#%04X: SP: %6d = #%04X = %s\n", PR, SP, SP, word2bit(SP)); fprintf(stdout, "#%04X: PR: %6d = #%04X = %s\n", PR, PR, PR, word2bit(PR)); diff --git a/src/exec.c b/src/exec.c index 29b1afc..00cee8d 100644 --- a/src/exec.c +++ b/src/exec.c @@ -273,7 +273,7 @@ void exec() char *errpr = malloc(8); clock_t clock_begin, clock_end; - if((&execmode)->tracemode) { + if((&execmode)->trace) { fprintf(stdout, "\nExecuting machine codes\n"); } /* フラグレジスタの初期値設定 */ @@ -309,15 +309,15 @@ void exec() if(cerrno > 0) { goto execerr; } - if((&execmode)->tracemode){ + if((&execmode)->trace){ fprintf(stdout, "#%04X: Register::::\n", PR); dspregister(); } - if((&execmode)->dumpmode){ + if((&execmode)->dump){ fprintf(stdout, "#%04X: Memory::::\n", PR); dumpmemory(); } - if((&execmode)->dumpmode || (&execmode)->tracemode) { + if((&execmode)->dump || (&execmode)->trace) { fprintf(stdout, "\n"); } PR++; diff --git a/test/integration/casl2/binout/0.txt b/test/integration/casl2/binout/0.txt index e8eab0e..79aa0e7 100644 --- a/test/integration/casl2/binout/0.txt +++ b/test/integration/casl2/binout/0.txt @@ -146,7 +146,7 @@ Assemble ../../../../as/YAKUWA/binout.casl (1) #004C #0000 #004D #1210 #004E #0060 - #004F #1020 + #004F #1220 #0050 #0070 #0051 #F000 #0052 #0002 @@ -154,7 +154,8 @@ Assemble ../../../../as/YAKUWA/binout.casl (1) #0054 #0072 #0072 #000A #0055 #1220 - #0056 #0001 + #0056 #0073 + #0073 #0001 #0057 #F000 #0058 #0002 #0059 #7120 diff --git a/test/integration/casl2/cmd_dc_spc/0.txt b/test/integration/casl2/cmd_dc_spc/0.txt index f740398..1ffc674 100644 --- a/test/integration/casl2/cmd_dc_spc/0.txt +++ b/test/integration/casl2/cmd_dc_spc/0.txt @@ -24,7 +24,7 @@ Assemble ../../../../as/CMD/dc_spc.casl (1) #0003 #0000 #0004 #1210 #0005 #0013 - #0006 #1020 + #0006 #1220 #0007 #0014 #0008 #F000 #0009 #0002 @@ -32,7 +32,8 @@ Assemble ../../../../as/CMD/dc_spc.casl (1) #000B #0015 #0015 #000A #000C #1220 - #000D #0001 + #000D #0016 + #0016 #0001 #000E #F000 #000F #0002 #0010 #7120 @@ -60,8 +61,8 @@ Executing machine codes #0000: FR (OF SF ZF): 000 #0000: Memory:::: #0000: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0000: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#0000: 0010: 7120 7110 8100 0020 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0000: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#0000: 0010: 7120 7110 8100 0020 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -107,8 +108,8 @@ Executing machine codes #0002: FR (OF SF ZF): 000 #0002: Memory:::: #0002: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0002: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#0002: 0010: 7120 7110 8100 0020 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0002: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#0002: 0010: 7120 7110 8100 0020 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -154,8 +155,8 @@ Executing machine codes #0004: FR (OF SF ZF): 000 #0004: Memory:::: #0004: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0004: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#0004: 0010: 7120 7110 8100 0020 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0004: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#0004: 0010: 7120 7110 8100 0020 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -201,8 +202,8 @@ Executing machine codes #0006: FR (OF SF ZF): 000 #0006: Memory:::: #0006: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0006: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#0006: 0010: 7120 7110 8100 0020 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0006: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#0006: 0010: 7120 7110 8100 0020 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0006: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0006: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0006: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -237,7 +238,7 @@ Executing machine codes #0008: Register:::: #0008: GR0: 0 = #0000 = 0000000000000000 #0008: GR1: 19 = #0013 = 0000000000010011 -#0008: GR2: 1 = #0001 = 0000000000000001 +#0008: GR2: 20 = #0014 = 0000000000010100 #0008: GR3: 0 = #0000 = 0000000000000000 #0008: GR4: 0 = #0000 = 0000000000000000 #0008: GR5: 0 = #0000 = 0000000000000000 @@ -248,8 +249,8 @@ Executing machine codes #0008: FR (OF SF ZF): 000 #0008: Memory:::: #0008: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0008: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#0008: 0010: 7120 7110 8100 0020 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0008: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#0008: 0010: 7120 7110 8100 0020 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0008: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0008: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0008: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -284,7 +285,7 @@ Executing machine codes #000A: Register:::: #000A: GR0: 0 = #0000 = 0000000000000000 #000A: GR1: 19 = #0013 = 0000000000010011 -#000A: GR2: 1 = #0001 = 0000000000000001 +#000A: GR2: 20 = #0014 = 0000000000010100 #000A: GR3: 0 = #0000 = 0000000000000000 #000A: GR4: 0 = #0000 = 0000000000000000 #000A: GR5: 0 = #0000 = 0000000000000000 @@ -295,8 +296,8 @@ Executing machine codes #000A: FR (OF SF ZF): 000 #000A: Memory:::: #000A: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#000A: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#000A: 0010: 7120 7110 8100 0020 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#000A: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#000A: 0010: 7120 7110 8100 0020 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000A: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000A: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000A: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -331,7 +332,7 @@ Executing machine codes #000C: Register:::: #000C: GR0: 0 = #0000 = 0000000000000000 #000C: GR1: 21 = #0015 = 0000000000010101 -#000C: GR2: 1 = #0001 = 0000000000000001 +#000C: GR2: 20 = #0014 = 0000000000010100 #000C: GR3: 0 = #0000 = 0000000000000000 #000C: GR4: 0 = #0000 = 0000000000000000 #000C: GR5: 0 = #0000 = 0000000000000000 @@ -342,8 +343,8 @@ Executing machine codes #000C: FR (OF SF ZF): 000 #000C: Memory:::: #000C: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#000C: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#000C: 0010: 7120 7110 8100 0020 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#000C: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#000C: 0010: 7120 7110 8100 0020 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000C: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000C: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000C: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -378,7 +379,7 @@ Executing machine codes #000E: Register:::: #000E: GR0: 0 = #0000 = 0000000000000000 #000E: GR1: 21 = #0015 = 0000000000010101 -#000E: GR2: 1 = #0001 = 0000000000000001 +#000E: GR2: 22 = #0016 = 0000000000010110 #000E: GR3: 0 = #0000 = 0000000000000000 #000E: GR4: 0 = #0000 = 0000000000000000 #000E: GR5: 0 = #0000 = 0000000000000000 @@ -389,8 +390,8 @@ Executing machine codes #000E: FR (OF SF ZF): 000 #000E: Memory:::: #000E: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#000E: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#000E: 0010: 7120 7110 8100 0020 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#000E: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#000E: 0010: 7120 7110 8100 0020 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000E: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000E: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000E: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -426,7 +427,7 @@ Executing machine codes #0010: Register:::: #0010: GR0: 0 = #0000 = 0000000000000000 #0010: GR1: 21 = #0015 = 0000000000010101 -#0010: GR2: 1 = #0001 = 0000000000000001 +#0010: GR2: 22 = #0016 = 0000000000010110 #0010: GR3: 0 = #0000 = 0000000000000000 #0010: GR4: 0 = #0000 = 0000000000000000 #0010: GR5: 0 = #0000 = 0000000000000000 @@ -437,8 +438,8 @@ Executing machine codes #0010: FR (OF SF ZF): 000 #0010: Memory:::: #0010: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0010: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#0010: 0010: 7120 7110 8100 0020 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0010: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#0010: 0010: 7120 7110 8100 0020 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0010: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0010: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0010: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -484,8 +485,8 @@ Executing machine codes #0011: FR (OF SF ZF): 000 #0011: Memory:::: #0011: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0011: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#0011: 0010: 7120 7110 8100 0020 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0011: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#0011: 0010: 7120 7110 8100 0020 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0011: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0011: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0011: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -531,8 +532,8 @@ Executing machine codes #0012: FR (OF SF ZF): 000 #0012: Memory:::: #0012: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0012: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#0012: 0010: 7120 7110 8100 0020 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0012: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#0012: 0010: 7120 7110 8100 0020 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0012: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0012: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0012: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 diff --git a/test/integration/casl2/cmd_literal_spc/0.txt b/test/integration/casl2/cmd_literal_spc/0.txt index 8afb623..6f9ec2b 100644 --- a/test/integration/casl2/cmd_literal_spc/0.txt +++ b/test/integration/casl2/cmd_literal_spc/0.txt @@ -33,7 +33,7 @@ Assemble ../../../../as/CMD/literal_spc.casl (1) #0007 #0000 #0008 #1210 #0009 #0017 - #000A #1020 + #000A #1220 #000B #0018 #000C #F000 #000D #0002 @@ -41,7 +41,8 @@ Assemble ../../../../as/CMD/literal_spc.casl (1) #000F #001A #001A #000A #0010 #1220 - #0011 #0001 + #0011 #001B + #001B #0001 #0012 #F000 #0013 #0002 #0014 #7120 @@ -69,8 +70,8 @@ Executing machine codes #0000: FR (OF SF ZF): 000 #0000: Memory:::: #0000: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0000: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1020 0018 F000 0002 1210 001A -#0000: 0010: 1220 0001 F000 0002 7120 7110 8100 0000 0001 0020 000A 0000 0000 0000 0000 0000 +#0000: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1220 0018 F000 0002 1210 001A +#0000: 0010: 1220 001B F000 0002 7120 7110 8100 0000 0001 0020 000A 0001 0000 0000 0000 0000 #0000: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -116,8 +117,8 @@ Executing machine codes #0002: FR (OF SF ZF): 000 #0002: Memory:::: #0002: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0002: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1020 0018 F000 0002 1210 001A -#0002: 0010: 1220 0001 F000 0002 7120 7110 8100 0000 0001 0020 000A 0000 0000 0000 0000 0000 +#0002: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1220 0018 F000 0002 1210 001A +#0002: 0010: 1220 001B F000 0002 7120 7110 8100 0000 0001 0020 000A 0001 0000 0000 0000 0000 #0002: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -163,8 +164,8 @@ Executing machine codes #0004: FR (OF SF ZF): 000 #0004: Memory:::: #0004: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0004: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1020 0018 F000 0002 1210 001A -#0004: 0010: 1220 0001 F000 0002 7120 7110 8100 0020 0001 0020 000A 0000 0000 0000 0000 0000 +#0004: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1220 0018 F000 0002 1210 001A +#0004: 0010: 1220 001B F000 0002 7120 7110 8100 0020 0001 0020 000A 0001 0000 0000 0000 0000 #0004: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -210,8 +211,8 @@ Executing machine codes #0006: FR (OF SF ZF): 000 #0006: Memory:::: #0006: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0006: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1020 0018 F000 0002 1210 001A -#0006: 0010: 1220 0001 F000 0002 7120 7110 8100 0020 0001 0020 000A 0000 0000 0000 0000 0000 +#0006: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1220 0018 F000 0002 1210 001A +#0006: 0010: 1220 001B F000 0002 7120 7110 8100 0020 0001 0020 000A 0001 0000 0000 0000 0000 #0006: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0006: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0006: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -257,8 +258,8 @@ Executing machine codes #0008: FR (OF SF ZF): 000 #0008: Memory:::: #0008: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0008: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1020 0018 F000 0002 1210 001A -#0008: 0010: 1220 0001 F000 0002 7120 7110 8100 0020 0001 0020 000A 0000 0000 0000 0000 0000 +#0008: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1220 0018 F000 0002 1210 001A +#0008: 0010: 1220 001B F000 0002 7120 7110 8100 0020 0001 0020 000A 0001 0000 0000 0000 0000 #0008: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0008: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0008: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -304,8 +305,8 @@ Executing machine codes #000A: FR (OF SF ZF): 000 #000A: Memory:::: #000A: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#000A: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1020 0018 F000 0002 1210 001A -#000A: 0010: 1220 0001 F000 0002 7120 7110 8100 0020 0001 0020 000A 0000 0000 0000 0000 0000 +#000A: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1220 0018 F000 0002 1210 001A +#000A: 0010: 1220 001B F000 0002 7120 7110 8100 0020 0001 0020 000A 0001 0000 0000 0000 0000 #000A: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000A: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000A: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -340,7 +341,7 @@ Executing machine codes #000C: Register:::: #000C: GR0: 0 = #0000 = 0000000000000000 #000C: GR1: 23 = #0017 = 0000000000010111 -#000C: GR2: 1 = #0001 = 0000000000000001 +#000C: GR2: 24 = #0018 = 0000000000011000 #000C: GR3: 0 = #0000 = 0000000000000000 #000C: GR4: 0 = #0000 = 0000000000000000 #000C: GR5: 0 = #0000 = 0000000000000000 @@ -351,8 +352,8 @@ Executing machine codes #000C: FR (OF SF ZF): 000 #000C: Memory:::: #000C: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#000C: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1020 0018 F000 0002 1210 001A -#000C: 0010: 1220 0001 F000 0002 7120 7110 8100 0020 0001 0020 000A 0000 0000 0000 0000 0000 +#000C: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1220 0018 F000 0002 1210 001A +#000C: 0010: 1220 001B F000 0002 7120 7110 8100 0020 0001 0020 000A 0001 0000 0000 0000 0000 #000C: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000C: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000C: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -387,7 +388,7 @@ Executing machine codes #000E: Register:::: #000E: GR0: 0 = #0000 = 0000000000000000 #000E: GR1: 23 = #0017 = 0000000000010111 -#000E: GR2: 1 = #0001 = 0000000000000001 +#000E: GR2: 24 = #0018 = 0000000000011000 #000E: GR3: 0 = #0000 = 0000000000000000 #000E: GR4: 0 = #0000 = 0000000000000000 #000E: GR5: 0 = #0000 = 0000000000000000 @@ -398,8 +399,8 @@ Executing machine codes #000E: FR (OF SF ZF): 000 #000E: Memory:::: #000E: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#000E: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1020 0018 F000 0002 1210 001A -#000E: 0010: 1220 0001 F000 0002 7120 7110 8100 0020 0001 0020 000A 0000 0000 0000 0000 0000 +#000E: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1220 0018 F000 0002 1210 001A +#000E: 0010: 1220 001B F000 0002 7120 7110 8100 0020 0001 0020 000A 0001 0000 0000 0000 0000 #000E: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000E: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000E: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -434,7 +435,7 @@ Executing machine codes #0010: Register:::: #0010: GR0: 0 = #0000 = 0000000000000000 #0010: GR1: 26 = #001A = 0000000000011010 -#0010: GR2: 1 = #0001 = 0000000000000001 +#0010: GR2: 24 = #0018 = 0000000000011000 #0010: GR3: 0 = #0000 = 0000000000000000 #0010: GR4: 0 = #0000 = 0000000000000000 #0010: GR5: 0 = #0000 = 0000000000000000 @@ -445,8 +446,8 @@ Executing machine codes #0010: FR (OF SF ZF): 000 #0010: Memory:::: #0010: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0010: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1020 0018 F000 0002 1210 001A -#0010: 0010: 1220 0001 F000 0002 7120 7110 8100 0020 0001 0020 000A 0000 0000 0000 0000 0000 +#0010: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1220 0018 F000 0002 1210 001A +#0010: 0010: 1220 001B F000 0002 7120 7110 8100 0020 0001 0020 000A 0001 0000 0000 0000 0000 #0010: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0010: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0010: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -481,7 +482,7 @@ Executing machine codes #0012: Register:::: #0012: GR0: 0 = #0000 = 0000000000000000 #0012: GR1: 26 = #001A = 0000000000011010 -#0012: GR2: 1 = #0001 = 0000000000000001 +#0012: GR2: 27 = #001B = 0000000000011011 #0012: GR3: 0 = #0000 = 0000000000000000 #0012: GR4: 0 = #0000 = 0000000000000000 #0012: GR5: 0 = #0000 = 0000000000000000 @@ -492,8 +493,8 @@ Executing machine codes #0012: FR (OF SF ZF): 000 #0012: Memory:::: #0012: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0012: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1020 0018 F000 0002 1210 001A -#0012: 0010: 1220 0001 F000 0002 7120 7110 8100 0020 0001 0020 000A 0000 0000 0000 0000 0000 +#0012: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1220 0018 F000 0002 1210 001A +#0012: 0010: 1220 001B F000 0002 7120 7110 8100 0020 0001 0020 000A 0001 0000 0000 0000 0000 #0012: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0012: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0012: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -529,7 +530,7 @@ Executing machine codes #0014: Register:::: #0014: GR0: 0 = #0000 = 0000000000000000 #0014: GR1: 26 = #001A = 0000000000011010 -#0014: GR2: 1 = #0001 = 0000000000000001 +#0014: GR2: 27 = #001B = 0000000000011011 #0014: GR3: 0 = #0000 = 0000000000000000 #0014: GR4: 0 = #0000 = 0000000000000000 #0014: GR5: 0 = #0000 = 0000000000000000 @@ -540,8 +541,8 @@ Executing machine codes #0014: FR (OF SF ZF): 000 #0014: Memory:::: #0014: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0014: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1020 0018 F000 0002 1210 001A -#0014: 0010: 1220 0001 F000 0002 7120 7110 8100 0020 0001 0020 000A 0000 0000 0000 0000 0000 +#0014: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1220 0018 F000 0002 1210 001A +#0014: 0010: 1220 001B F000 0002 7120 7110 8100 0020 0001 0020 000A 0001 0000 0000 0000 0000 #0014: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0014: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0014: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -587,8 +588,8 @@ Executing machine codes #0015: FR (OF SF ZF): 000 #0015: Memory:::: #0015: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0015: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1020 0018 F000 0002 1210 001A -#0015: 0010: 1220 0001 F000 0002 7120 7110 8100 0020 0001 0020 000A 0000 0000 0000 0000 0000 +#0015: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1220 0018 F000 0002 1210 001A +#0015: 0010: 1220 001B F000 0002 7120 7110 8100 0020 0001 0020 000A 0001 0000 0000 0000 0000 #0015: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0015: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0015: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -634,8 +635,8 @@ Executing machine codes #0016: FR (OF SF ZF): 000 #0016: Memory:::: #0016: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0016: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1020 0018 F000 0002 1210 001A -#0016: 0010: 1220 0001 F000 0002 7120 7110 8100 0020 0001 0020 000A 0000 0000 0000 0000 0000 +#0016: 0000: 1010 0019 1110 0017 7001 0000 7002 0000 1210 0017 1220 0018 F000 0002 1210 001A +#0016: 0010: 1220 001B F000 0002 7120 7110 8100 0020 0001 0020 000A 0001 0000 0000 0000 0000 #0016: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0016: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0016: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 diff --git a/test/integration/casl2/cmd_out0/0.txt b/test/integration/casl2/cmd_out0/0.txt index be4842d..e3f8de3 100644 --- a/test/integration/casl2/cmd_out0/0.txt +++ b/test/integration/casl2/cmd_out0/0.txt @@ -22,7 +22,7 @@ Assemble ../../../../as/CMD/out0.casl (1) #0003 #0000 #0004 #1210 #0005 #0013 - #0006 #1020 + #0006 #1220 #0007 #0014 #0008 #F000 #0009 #0002 @@ -30,7 +30,8 @@ Assemble ../../../../as/CMD/out0.casl (1) #000B #0015 #0015 #000A #000C #1220 - #000D #0001 + #000D #0016 + #0016 #0001 #000E #F000 #000F #0002 #0010 #7120 @@ -58,8 +59,8 @@ Executing machine codes #0000: FR (OF SF ZF): 000 #0000: Memory:::: #0000: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0000: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#0000: 0010: 7120 7110 8100 0030 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0000: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#0000: 0010: 7120 7110 8100 0030 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -105,8 +106,8 @@ Executing machine codes #0002: FR (OF SF ZF): 000 #0002: Memory:::: #0002: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0002: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#0002: 0010: 7120 7110 8100 0030 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0002: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#0002: 0010: 7120 7110 8100 0030 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -152,8 +153,8 @@ Executing machine codes #0004: FR (OF SF ZF): 000 #0004: Memory:::: #0004: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0004: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#0004: 0010: 7120 7110 8100 0030 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0004: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#0004: 0010: 7120 7110 8100 0030 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -199,8 +200,8 @@ Executing machine codes #0006: FR (OF SF ZF): 000 #0006: Memory:::: #0006: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0006: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#0006: 0010: 7120 7110 8100 0030 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0006: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#0006: 0010: 7120 7110 8100 0030 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0006: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0006: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0006: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -235,7 +236,7 @@ Executing machine codes #0008: Register:::: #0008: GR0: 0 = #0000 = 0000000000000000 #0008: GR1: 19 = #0013 = 0000000000010011 -#0008: GR2: 1 = #0001 = 0000000000000001 +#0008: GR2: 20 = #0014 = 0000000000010100 #0008: GR3: 0 = #0000 = 0000000000000000 #0008: GR4: 0 = #0000 = 0000000000000000 #0008: GR5: 0 = #0000 = 0000000000000000 @@ -246,8 +247,8 @@ Executing machine codes #0008: FR (OF SF ZF): 000 #0008: Memory:::: #0008: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0008: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#0008: 0010: 7120 7110 8100 0030 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0008: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#0008: 0010: 7120 7110 8100 0030 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0008: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0008: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0008: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -282,7 +283,7 @@ Executing machine codes 0#000A: Register:::: #000A: GR0: 0 = #0000 = 0000000000000000 #000A: GR1: 19 = #0013 = 0000000000010011 -#000A: GR2: 1 = #0001 = 0000000000000001 +#000A: GR2: 20 = #0014 = 0000000000010100 #000A: GR3: 0 = #0000 = 0000000000000000 #000A: GR4: 0 = #0000 = 0000000000000000 #000A: GR5: 0 = #0000 = 0000000000000000 @@ -293,8 +294,8 @@ Executing machine codes #000A: FR (OF SF ZF): 000 #000A: Memory:::: #000A: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#000A: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#000A: 0010: 7120 7110 8100 0030 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#000A: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#000A: 0010: 7120 7110 8100 0030 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000A: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000A: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000A: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -329,7 +330,7 @@ Executing machine codes #000C: Register:::: #000C: GR0: 0 = #0000 = 0000000000000000 #000C: GR1: 21 = #0015 = 0000000000010101 -#000C: GR2: 1 = #0001 = 0000000000000001 +#000C: GR2: 20 = #0014 = 0000000000010100 #000C: GR3: 0 = #0000 = 0000000000000000 #000C: GR4: 0 = #0000 = 0000000000000000 #000C: GR5: 0 = #0000 = 0000000000000000 @@ -340,8 +341,8 @@ Executing machine codes #000C: FR (OF SF ZF): 000 #000C: Memory:::: #000C: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#000C: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#000C: 0010: 7120 7110 8100 0030 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#000C: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#000C: 0010: 7120 7110 8100 0030 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000C: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000C: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000C: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -376,7 +377,7 @@ Executing machine codes #000E: Register:::: #000E: GR0: 0 = #0000 = 0000000000000000 #000E: GR1: 21 = #0015 = 0000000000010101 -#000E: GR2: 1 = #0001 = 0000000000000001 +#000E: GR2: 22 = #0016 = 0000000000010110 #000E: GR3: 0 = #0000 = 0000000000000000 #000E: GR4: 0 = #0000 = 0000000000000000 #000E: GR5: 0 = #0000 = 0000000000000000 @@ -387,8 +388,8 @@ Executing machine codes #000E: FR (OF SF ZF): 000 #000E: Memory:::: #000E: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#000E: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#000E: 0010: 7120 7110 8100 0030 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#000E: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#000E: 0010: 7120 7110 8100 0030 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000E: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000E: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000E: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -424,7 +425,7 @@ Executing machine codes #0010: Register:::: #0010: GR0: 0 = #0000 = 0000000000000000 #0010: GR1: 21 = #0015 = 0000000000010101 -#0010: GR2: 1 = #0001 = 0000000000000001 +#0010: GR2: 22 = #0016 = 0000000000010110 #0010: GR3: 0 = #0000 = 0000000000000000 #0010: GR4: 0 = #0000 = 0000000000000000 #0010: GR5: 0 = #0000 = 0000000000000000 @@ -435,8 +436,8 @@ Executing machine codes #0010: FR (OF SF ZF): 000 #0010: Memory:::: #0010: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0010: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#0010: 0010: 7120 7110 8100 0030 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0010: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#0010: 0010: 7120 7110 8100 0030 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0010: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0010: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0010: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -482,8 +483,8 @@ Executing machine codes #0011: FR (OF SF ZF): 000 #0011: Memory:::: #0011: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0011: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#0011: 0010: 7120 7110 8100 0030 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0011: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#0011: 0010: 7120 7110 8100 0030 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0011: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0011: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0011: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -529,8 +530,8 @@ Executing machine codes #0012: FR (OF SF ZF): 000 #0012: Memory:::: #0012: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0012: 0000: 7001 0000 7002 0000 1210 0013 1020 0014 F000 0002 1210 0015 1220 0001 F000 0002 -#0012: 0010: 7120 7110 8100 0030 0001 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0012: 0000: 7001 0000 7002 0000 1210 0013 1220 0014 F000 0002 1210 0015 1220 0016 F000 0002 +#0012: 0010: 7120 7110 8100 0030 0001 000A 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0012: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0012: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0012: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 diff --git a/test/integration/casl2/cmd_out1/0.txt b/test/integration/casl2/cmd_out1/0.txt index c26db15..f524010 100644 --- a/test/integration/casl2/cmd_out1/0.txt +++ b/test/integration/casl2/cmd_out1/0.txt @@ -17,7 +17,7 @@ Assemble ../../../../as/CMD/out1.casl (1) #0003 #0000 #0004 #1210 #0005 #0013 - #0006 #1020 + #0006 #1220 #0007 #0029 #0008 #F000 #0009 #0002 @@ -25,7 +25,8 @@ Assemble ../../../../as/CMD/out1.casl (1) #000B #002A #002A #000A #000C #1220 - #000D #0001 + #000D #002B + #002B #0001 #000E #F000 #000F #0002 #0010 #7120 @@ -74,9 +75,9 @@ Executing machine codes #0000: FR (OF SF ZF): 000 #0000: Memory:::: #0000: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0000: 0000: 7001 0000 7002 0000 1210 0013 1020 0029 F000 0002 1210 002A 1220 0001 F000 0002 +#0000: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002 #0000: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065 -#0000: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0000 0000 0000 0000 0000 +#0000: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000 #0000: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -121,9 +122,9 @@ Executing machine codes #0002: FR (OF SF ZF): 000 #0002: Memory:::: #0002: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0002: 0000: 7001 0000 7002 0000 1210 0013 1020 0029 F000 0002 1210 002A 1220 0001 F000 0002 +#0002: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002 #0002: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065 -#0002: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0000 0000 0000 0000 0000 +#0002: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000 #0002: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -168,9 +169,9 @@ Executing machine codes #0004: FR (OF SF ZF): 000 #0004: Memory:::: #0004: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0004: 0000: 7001 0000 7002 0000 1210 0013 1020 0029 F000 0002 1210 002A 1220 0001 F000 0002 +#0004: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002 #0004: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065 -#0004: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0000 0000 0000 0000 0000 +#0004: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000 #0004: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -215,9 +216,9 @@ Executing machine codes #0006: FR (OF SF ZF): 000 #0006: Memory:::: #0006: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0006: 0000: 7001 0000 7002 0000 1210 0013 1020 0029 F000 0002 1210 002A 1220 0001 F000 0002 +#0006: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002 #0006: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065 -#0006: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0000 0000 0000 0000 0000 +#0006: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000 #0006: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0006: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0006: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -251,7 +252,7 @@ Executing machine codes #0008: Register:::: #0008: GR0: 0 = #0000 = 0000000000000000 #0008: GR1: 19 = #0013 = 0000000000010011 -#0008: GR2: 24 = #0018 = 0000000000011000 +#0008: GR2: 41 = #0029 = 0000000000101001 = ')' #0008: GR3: 0 = #0000 = 0000000000000000 #0008: GR4: 0 = #0000 = 0000000000000000 #0008: GR5: 0 = #0000 = 0000000000000000 @@ -262,9 +263,9 @@ Executing machine codes #0008: FR (OF SF ZF): 000 #0008: Memory:::: #0008: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0008: 0000: 7001 0000 7002 0000 1210 0013 1020 0029 F000 0002 1210 002A 1220 0001 F000 0002 +#0008: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002 #0008: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065 -#0008: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0000 0000 0000 0000 0000 +#0008: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000 #0008: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0008: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0008: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -301,7 +302,7 @@ asqwerty111111. #000A: Register:::: #000A: GR0: 0 = #0000 = 0000000000000000 #000A: GR1: 19 = #0013 = 0000000000010011 -#000A: GR2: 24 = #0018 = 0000000000011000 +#000A: GR2: 41 = #0029 = 0000000000101001 = ')' #000A: GR3: 0 = #0000 = 0000000000000000 #000A: GR4: 0 = #0000 = 0000000000000000 #000A: GR5: 0 = #0000 = 0000000000000000 @@ -312,9 +313,9 @@ asqwerty111111. #000A: FR (OF SF ZF): 000 #000A: Memory:::: #000A: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#000A: 0000: 7001 0000 7002 0000 1210 0013 1020 0029 F000 0002 1210 002A 1220 0001 F000 0002 +#000A: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002 #000A: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065 -#000A: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0000 0000 0000 0000 0000 +#000A: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000 #000A: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000A: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000A: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -348,7 +349,7 @@ asqwerty111111. #000C: Register:::: #000C: GR0: 0 = #0000 = 0000000000000000 #000C: GR1: 42 = #002A = 0000000000101010 = '*' -#000C: GR2: 24 = #0018 = 0000000000011000 +#000C: GR2: 41 = #0029 = 0000000000101001 = ')' #000C: GR3: 0 = #0000 = 0000000000000000 #000C: GR4: 0 = #0000 = 0000000000000000 #000C: GR5: 0 = #0000 = 0000000000000000 @@ -359,9 +360,9 @@ asqwerty111111. #000C: FR (OF SF ZF): 000 #000C: Memory:::: #000C: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#000C: 0000: 7001 0000 7002 0000 1210 0013 1020 0029 F000 0002 1210 002A 1220 0001 F000 0002 +#000C: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002 #000C: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065 -#000C: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0000 0000 0000 0000 0000 +#000C: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000 #000C: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000C: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000C: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -395,7 +396,7 @@ asqwerty111111. #000E: Register:::: #000E: GR0: 0 = #0000 = 0000000000000000 #000E: GR1: 42 = #002A = 0000000000101010 = '*' -#000E: GR2: 1 = #0001 = 0000000000000001 +#000E: GR2: 43 = #002B = 0000000000101011 = '+' #000E: GR3: 0 = #0000 = 0000000000000000 #000E: GR4: 0 = #0000 = 0000000000000000 #000E: GR5: 0 = #0000 = 0000000000000000 @@ -406,9 +407,9 @@ asqwerty111111. #000E: FR (OF SF ZF): 000 #000E: Memory:::: #000E: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#000E: 0000: 7001 0000 7002 0000 1210 0013 1020 0029 F000 0002 1210 002A 1220 0001 F000 0002 +#000E: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002 #000E: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065 -#000E: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0000 0000 0000 0000 0000 +#000E: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000 #000E: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000E: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000E: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -443,7 +444,7 @@ asqwerty111111. #0010: Register:::: #0010: GR0: 0 = #0000 = 0000000000000000 #0010: GR1: 42 = #002A = 0000000000101010 = '*' -#0010: GR2: 1 = #0001 = 0000000000000001 +#0010: GR2: 43 = #002B = 0000000000101011 = '+' #0010: GR3: 0 = #0000 = 0000000000000000 #0010: GR4: 0 = #0000 = 0000000000000000 #0010: GR5: 0 = #0000 = 0000000000000000 @@ -454,9 +455,9 @@ asqwerty111111. #0010: FR (OF SF ZF): 000 #0010: Memory:::: #0010: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0010: 0000: 7001 0000 7002 0000 1210 0013 1020 0029 F000 0002 1210 002A 1220 0001 F000 0002 +#0010: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002 #0010: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065 -#0010: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0000 0000 0000 0000 0000 +#0010: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000 #0010: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0010: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0010: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -501,9 +502,9 @@ asqwerty111111. #0011: FR (OF SF ZF): 000 #0011: Memory:::: #0011: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0011: 0000: 7001 0000 7002 0000 1210 0013 1020 0029 F000 0002 1210 002A 1220 0001 F000 0002 +#0011: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002 #0011: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065 -#0011: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0000 0000 0000 0000 0000 +#0011: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000 #0011: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0011: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0011: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -548,9 +549,9 @@ asqwerty111111. #0012: FR (OF SF ZF): 000 #0012: Memory:::: #0012: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0012: 0000: 7001 0000 7002 0000 1210 0013 1020 0029 F000 0002 1210 002A 1220 0001 F000 0002 +#0012: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002 #0012: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065 -#0012: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0000 0000 0000 0000 0000 +#0012: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000 #0012: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0012: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0012: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 diff --git a/test/integration/casl2/cmd_svc2/0.txt b/test/integration/casl2/cmd_svc2/0.txt index d49338b..6d8d32b 100644 --- a/test/integration/casl2/cmd_svc2/0.txt +++ b/test/integration/casl2/cmd_svc2/0.txt @@ -2,17 +2,16 @@ Assemble ../../../../as/CMD/svc2.casl (0) ../../../../as/CMD/svc2.casl: 1:;;; 「SVC 2」で数値を表示 -../../../../as/CMD/svc2.casl: 2:;;; casl2 svctest.casl div10.casl -../../../../as/CMD/svc2.casl: 3:MAIN START -../../../../as/CMD/svc2.casl: 4:BEGIN LAD GR1,D -../../../../as/CMD/svc2.casl: 5: LAD GR2,A -../../../../as/CMD/svc2.casl: 6: SVC 2 -../../../../as/CMD/svc2.casl: 7: LAD GR1,=#A -../../../../as/CMD/svc2.casl: 8: SVC 2 -../../../../as/CMD/svc2.casl: 9: RET -../../../../as/CMD/svc2.casl: 10:D DC '0' -../../../../as/CMD/svc2.casl: 11:A DS 1 -../../../../as/CMD/svc2.casl: 12: END +../../../../as/CMD/svc2.casl: 2:MAIN START +../../../../as/CMD/svc2.casl: 3:BEGIN LAD GR1,D +../../../../as/CMD/svc2.casl: 4: LAD GR2,A +../../../../as/CMD/svc2.casl: 5: SVC 2 +../../../../as/CMD/svc2.casl: 6: LAD GR1,=#A +../../../../as/CMD/svc2.casl: 7: SVC 2 +../../../../as/CMD/svc2.casl: 8: RET +../../../../as/CMD/svc2.casl: 9:D DC '0' +../../../../as/CMD/svc2.casl: 10:A DC 1 +../../../../as/CMD/svc2.casl: 11: END Label:::: MAIN.BEGIN ---> #0000 @@ -22,31 +21,30 @@ MAIN ---> #0000 Assemble ../../../../as/CMD/svc2.casl (1) ../../../../as/CMD/svc2.casl: 1:;;; 「SVC 2」で数値を表示 -../../../../as/CMD/svc2.casl: 2:;;; casl2 svctest.casl div10.casl -../../../../as/CMD/svc2.casl: 3:MAIN START -../../../../as/CMD/svc2.casl: 4:BEGIN LAD GR1,D +../../../../as/CMD/svc2.casl: 2:MAIN START +../../../../as/CMD/svc2.casl: 3:BEGIN LAD GR1,D #0000 #1210 #0001 #000B -../../../../as/CMD/svc2.casl: 5: LAD GR2,A +../../../../as/CMD/svc2.casl: 4: LAD GR2,A #0002 #1220 #0003 #000C -../../../../as/CMD/svc2.casl: 6: SVC 2 +../../../../as/CMD/svc2.casl: 5: SVC 2 #0004 #F000 #0005 #0002 -../../../../as/CMD/svc2.casl: 7: LAD GR1,=#A +../../../../as/CMD/svc2.casl: 6: LAD GR1,=#A #000D #000A #0006 #1210 #0007 #000D -../../../../as/CMD/svc2.casl: 8: SVC 2 +../../../../as/CMD/svc2.casl: 7: SVC 2 #0008 #F000 #0009 #0002 -../../../../as/CMD/svc2.casl: 9: RET +../../../../as/CMD/svc2.casl: 8: RET #000A #8100 -../../../../as/CMD/svc2.casl: 10:D DC '0' +../../../../as/CMD/svc2.casl: 9:D DC '0' #000B #0030 -../../../../as/CMD/svc2.casl: 11:A DS 1 - #000C #0000 -../../../../as/CMD/svc2.casl: 12: END +../../../../as/CMD/svc2.casl: 10:A DC 1 + #000C #0001 +../../../../as/CMD/svc2.casl: 11: END Executing machine codes #0000: Register:::: @@ -63,7 +61,7 @@ Executing machine codes #0000: FR (OF SF ZF): 000 #0000: Memory:::: #0000: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0000: 0000: 1210 000B 1220 000C F000 0002 1210 000D F000 0002 8100 0030 0000 000A 0000 0000 +#0000: 0000: 1210 000B 1220 000C F000 0002 1210 000D F000 0002 8100 0030 0001 000A 0000 0000 #0000: 0010: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -110,7 +108,7 @@ Executing machine codes #0002: FR (OF SF ZF): 000 #0002: Memory:::: #0002: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0002: 0000: 1210 000B 1220 000C F000 0002 1210 000D F000 0002 8100 0030 0000 000A 0000 0000 +#0002: 0000: 1210 000B 1220 000C F000 0002 1210 000D F000 0002 8100 0030 0001 000A 0000 0000 #0002: 0010: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -157,7 +155,7 @@ Executing machine codes #0004: FR (OF SF ZF): 000 #0004: Memory:::: #0004: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0004: 0000: 1210 000B 1220 000C F000 0002 1210 000D F000 0002 8100 0030 0000 000A 0000 0000 +#0004: 0000: 1210 000B 1220 000C F000 0002 1210 000D F000 0002 8100 0030 0001 000A 0000 0000 #0004: 0010: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -204,7 +202,7 @@ Executing machine codes #0006: FR (OF SF ZF): 000 #0006: Memory:::: #0006: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0006: 0000: 1210 000B 1220 000C F000 0002 1210 000D F000 0002 8100 0030 0000 000A 0000 0000 +#0006: 0000: 1210 000B 1220 000C F000 0002 1210 000D F000 0002 8100 0030 0001 000A 0000 0000 #0006: 0010: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0006: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0006: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -251,7 +249,7 @@ Executing machine codes #0008: FR (OF SF ZF): 000 #0008: Memory:::: #0008: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0008: 0000: 1210 000B 1220 000C F000 0002 1210 000D F000 0002 8100 0030 0000 000A 0000 0000 +#0008: 0000: 1210 000B 1220 000C F000 0002 1210 000D F000 0002 8100 0030 0001 000A 0000 0000 #0008: 0010: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0008: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0008: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -299,7 +297,7 @@ Executing machine codes #000A: FR (OF SF ZF): 000 #000A: Memory:::: #000A: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#000A: 0000: 1210 000B 1220 000C F000 0002 1210 000D F000 0002 8100 0030 0000 000A 0000 0000 +#000A: 0000: 1210 000B 1220 000C F000 0002 1210 000D F000 0002 8100 0030 0001 000A 0000 0000 #000A: 0010: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000A: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000A: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 diff --git a/test/integration/casl2/floatedit/0.txt b/test/integration/casl2/floatedit/0.txt index 1b1dbf7..03850ba 100644 --- a/test/integration/casl2/floatedit/0.txt +++ b/test/integration/casl2/floatedit/0.txt @@ -127,7 +127,7 @@ Assemble ../../../../as/YAKUWA/floatedit.casl (1) #0019 #0000 #001A #1210 #001B #009E - #001C #1020 + #001C #1220 #001D #00AA #001E #F000 #001F #0002 @@ -135,7 +135,8 @@ Assemble ../../../../as/YAKUWA/floatedit.casl (1) #0021 #014E #014E #000A #0022 #1220 - #0023 #0001 + #0023 #014F + #014F #0001 #0024 #F000 #0025 #0002 #0026 #7120 @@ -266,15 +267,16 @@ Assemble ../../../../as/YAKUWA/floatedit.casl (1) #007A #0000 #007B #1210 #007C #00FC - #007D #1020 + #007D #1220 #007E #014C #007F #F000 #0080 #0002 #0081 #1210 - #0082 #014F - #014F #000A + #0082 #0150 + #0150 #000A #0083 #1220 - #0084 #0001 + #0084 #0151 + #0151 #0001 #0085 #F000 #0086 #0002 #0087 #7120 diff --git a/test/integration/casl2/hanoi/0.txt b/test/integration/casl2/hanoi/0.txt index 2a87131..fa8412a 100644 --- a/test/integration/casl2/hanoi/0.txt +++ b/test/integration/casl2/hanoi/0.txt @@ -160,7 +160,7 @@ Assemble ../../../../as/FUNC/hanoi.casl (1) #0039 #0000 #003A #1210 #003B #004E - #003C #1020 + #003C #1220 #003D #004A #003E #F000 #003F #0002 @@ -168,7 +168,8 @@ Assemble ../../../../as/FUNC/hanoi.casl (1) #0041 #005C #005C #000A #0042 #1220 - #0043 #0001 + #0043 #005D + #005D #0001 #0044 #F000 #0045 #0002 #0046 #7120 diff --git a/test/integration/casl2/hello/0.txt b/test/integration/casl2/hello/0.txt index 865a5fe..95e88bc 100644 --- a/test/integration/casl2/hello/0.txt +++ b/test/integration/casl2/hello/0.txt @@ -22,7 +22,7 @@ Assemble ../../../../as/hello.casl (1) #0003 #0000 #0004 #1210 #0005 #0013 - #0006 #1020 + #0006 #1220 #0007 #0020 #0008 #F000 #0009 #0002 @@ -30,7 +30,8 @@ Assemble ../../../../as/hello.casl (1) #000B #0021 #0021 #000A #000C #1220 - #000D #0001 + #000D #0022 + #0022 #0001 #000E #F000 #000F #0002 #0010 #7120 diff --git a/test/integration/casl2/iotest/0.txt b/test/integration/casl2/iotest/0.txt index 0b312a7..d1656c2 100644 --- a/test/integration/casl2/iotest/0.txt +++ b/test/integration/casl2/iotest/0.txt @@ -44,7 +44,7 @@ Assemble ../../../../as/FUNC/iotest.casl (1) #0003 #0000 #0004 #1210 #0005 #005B - #0006 #1020 + #0006 #1220 #0007 #006F #0008 #F000 #0009 #0002 @@ -52,7 +52,8 @@ Assemble ../../../../as/FUNC/iotest.casl (1) #000B #00C8 #00C8 #000A #000C #1220 - #000D #0001 + #000D #00C9 + #00C9 #0001 #000E #F000 #000F #0002 #0010 #7120 @@ -83,15 +84,16 @@ Assemble ../../../../as/FUNC/iotest.casl (1) #0025 #0000 #0026 #1210 #0027 #0070 - #0028 #1020 + #0028 #1220 #0029 #0079 #002A #F000 #002B #0002 #002C #1210 - #002D #00C9 - #00C9 #000A + #002D #00CA + #00CA #000A #002E #1220 - #002F #0001 + #002F #00CB + #00CB #0001 #0030 #F000 #0031 #0002 #0032 #7120 @@ -103,15 +105,16 @@ Assemble ../../../../as/FUNC/iotest.casl (1) #0037 #0000 #0038 #1210 #0039 #0087 - #003A #1020 + #003A #1220 #003B #00C7 #003C #F000 #003D #0002 #003E #1210 - #003F #00CA - #00CA #000A + #003F #00CC + #00CC #000A #0040 #1220 - #0041 #0001 + #0041 #00CD + #00CD #0001 #0042 #F000 #0043 #0002 #0044 #7120 @@ -123,15 +126,16 @@ Assemble ../../../../as/FUNC/iotest.casl (1) #0049 #0000 #004A #1210 #004B #007A - #004C #1020 + #004C #1220 #004D #0086 #004E #F000 #004F #0002 #0050 #1210 - #0051 #00CB - #00CB #000A + #0051 #00CE + #00CE #000A #0052 #1220 - #0053 #0001 + #0053 #00CF + #00CF #0001 #0054 #F000 #0055 #0002 #0056 #7120 diff --git a/test/integration/casl2/misc_out_hello/0.txt b/test/integration/casl2/misc_out_hello/0.txt index 9feb20a..3957e4f 100644 --- a/test/integration/casl2/misc_out_hello/0.txt +++ b/test/integration/casl2/misc_out_hello/0.txt @@ -1,77 +1,70 @@ -../../../../casl2 -slatd ../../../../as/MISC/out/hello1.casl +../../../../casl2 -slatd ../../../../as/CMD/svc2_out.casl -Assemble ../../../../as/MISC/out/hello1.casl (0) -../../../../as/MISC/out/hello1.casl: 1:MAIN START -../../../../as/MISC/out/hello1.casl: 2: PUSH 0,GR1 -../../../../as/MISC/out/hello1.casl: 3: PUSH 0,GR2 -../../../../as/MISC/out/hello1.casl: 4: LAD GR1,OBUF -../../../../as/MISC/out/hello1.casl: 5: LD GR2,LEN -../../../../as/MISC/out/hello1.casl: 6: SVC 2 -../../../../as/MISC/out/hello1.casl: 7: LAD GR1,=#A -../../../../as/MISC/out/hello1.casl: 8: LAD GR2,1 -../../../../as/MISC/out/hello1.casl: 9: SVC 2 -../../../../as/MISC/out/hello1.casl: 10: POP GR2 -../../../../as/MISC/out/hello1.casl: 11: POP GR1 -../../../../as/MISC/out/hello1.casl: 12: RET -../../../../as/MISC/out/hello1.casl: 13:OBUF DC 'Hello, World!' -../../../../as/MISC/out/hello1.casl: 14:LEN DC 13 -../../../../as/MISC/out/hello1.casl: 15: END +Assemble ../../../../as/CMD/svc2_out.casl (0) +../../../../as/CMD/svc2_out.casl: 1:;;; 「OUT」と同等のプログラム +../../../../as/CMD/svc2_out.casl: 2:OTEST START +../../../../as/CMD/svc2_out.casl: 3: PUSH 0,GR1 +../../../../as/CMD/svc2_out.casl: 4: PUSH 0,GR2 +../../../../as/CMD/svc2_out.casl: 5: LAD GR1,OBUF +../../../../as/CMD/svc2_out.casl: 6: LD GR2,LEN +../../../../as/CMD/svc2_out.casl: 7: SVC 2 +../../../../as/CMD/svc2_out.casl: 8: LAD GR1,=#A +../../../../as/CMD/svc2_out.casl: 9: LAD GR2,1 +../../../../as/CMD/svc2_out.casl: 10: SVC 2 +../../../../as/CMD/svc2_out.casl: 11: POP GR2 +../../../../as/CMD/svc2_out.casl: 12: POP GR1 +../../../../as/CMD/svc2_out.casl: 13: RET +../../../../as/CMD/svc2_out.casl: 14:OBUF DC 'abcd' +../../../../as/CMD/svc2_out.casl: 15:LEN DC 4 +../../../../as/CMD/svc2_out.casl: 16: END Label:::: -MAIN.LEN ---> #0020 -MAIN ---> #0000 -MAIN.OBUF ---> #0013 +OTEST ---> #0000 +OTEST.OBUF ---> #0013 +OTEST.LEN ---> #0017 -Assemble ../../../../as/MISC/out/hello1.casl (1) -../../../../as/MISC/out/hello1.casl: 1:MAIN START -../../../../as/MISC/out/hello1.casl: 2: PUSH 0,GR1 +Assemble ../../../../as/CMD/svc2_out.casl (1) +../../../../as/CMD/svc2_out.casl: 1:;;; 「OUT」と同等のプログラム +../../../../as/CMD/svc2_out.casl: 2:OTEST START +../../../../as/CMD/svc2_out.casl: 3: PUSH 0,GR1 #0000 #7001 #0001 #0000 -../../../../as/MISC/out/hello1.casl: 3: PUSH 0,GR2 +../../../../as/CMD/svc2_out.casl: 4: PUSH 0,GR2 #0002 #7002 #0003 #0000 -../../../../as/MISC/out/hello1.casl: 4: LAD GR1,OBUF +../../../../as/CMD/svc2_out.casl: 5: LAD GR1,OBUF #0004 #1210 #0005 #0013 -../../../../as/MISC/out/hello1.casl: 5: LD GR2,LEN +../../../../as/CMD/svc2_out.casl: 6: LD GR2,LEN #0006 #1020 - #0007 #0020 -../../../../as/MISC/out/hello1.casl: 6: SVC 2 + #0007 #0017 +../../../../as/CMD/svc2_out.casl: 7: SVC 2 #0008 #F000 #0009 #0002 -../../../../as/MISC/out/hello1.casl: 7: LAD GR1,=#A - #0021 #000A +../../../../as/CMD/svc2_out.casl: 8: LAD GR1,=#A + #0018 #000A #000A #1210 - #000B #0021 -../../../../as/MISC/out/hello1.casl: 8: LAD GR2,1 + #000B #0018 +../../../../as/CMD/svc2_out.casl: 9: LAD GR2,1 #000C #1220 #000D #0001 -../../../../as/MISC/out/hello1.casl: 9: SVC 2 +../../../../as/CMD/svc2_out.casl: 10: SVC 2 #000E #F000 #000F #0002 -../../../../as/MISC/out/hello1.casl: 10: POP GR2 +../../../../as/CMD/svc2_out.casl: 11: POP GR2 #0010 #7120 -../../../../as/MISC/out/hello1.casl: 11: POP GR1 +../../../../as/CMD/svc2_out.casl: 12: POP GR1 #0011 #7110 -../../../../as/MISC/out/hello1.casl: 12: RET +../../../../as/CMD/svc2_out.casl: 13: RET #0012 #8100 -../../../../as/MISC/out/hello1.casl: 13:OBUF DC 'Hello, World!' - #0013 #0048 - #0014 #0065 - #0015 #006C - #0016 #006C - #0017 #006F - #0018 #002C - #0019 #0020 - #001A #0057 - #001B #006F - #001C #0072 - #001D #006C - #001E #0064 - #001F #0021 -../../../../as/MISC/out/hello1.casl: 14:LEN DC 13 - #0020 #000D -../../../../as/MISC/out/hello1.casl: 15: END +../../../../as/CMD/svc2_out.casl: 14:OBUF DC 'abcd' + #0013 #0061 + #0014 #0062 + #0015 #0063 + #0016 #0064 +../../../../as/CMD/svc2_out.casl: 15:LEN DC 4 + #0017 #0004 +../../../../as/CMD/svc2_out.casl: 16: END Executing machine codes #0000: Register:::: @@ -88,9 +81,9 @@ Executing machine codes #0000: FR (OF SF ZF): 000 #0000: Memory:::: #0000: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0000: 0000: 7001 0000 7002 0000 1210 0013 1020 0020 F000 0002 1210 0021 1220 0001 F000 0002 -#0000: 0010: 7120 7110 8100 0048 0065 006C 006C 006F 002C 0020 0057 006F 0072 006C 0064 0021 -#0000: 0020: 000D 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0000: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002 +#0000: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000 +#0000: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -135,9 +128,9 @@ Executing machine codes #0002: FR (OF SF ZF): 000 #0002: Memory:::: #0002: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0002: 0000: 7001 0000 7002 0000 1210 0013 1020 0020 F000 0002 1210 0021 1220 0001 F000 0002 -#0002: 0010: 7120 7110 8100 0048 0065 006C 006C 006F 002C 0020 0057 006F 0072 006C 0064 0021 -#0002: 0020: 000D 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0002: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002 +#0002: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000 +#0002: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -182,9 +175,9 @@ Executing machine codes #0004: FR (OF SF ZF): 000 #0004: Memory:::: #0004: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0004: 0000: 7001 0000 7002 0000 1210 0013 1020 0020 F000 0002 1210 0021 1220 0001 F000 0002 -#0004: 0010: 7120 7110 8100 0048 0065 006C 006C 006F 002C 0020 0057 006F 0072 006C 0064 0021 -#0004: 0020: 000D 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0004: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002 +#0004: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000 +#0004: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -229,9 +222,9 @@ Executing machine codes #0006: FR (OF SF ZF): 000 #0006: Memory:::: #0006: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0006: 0000: 7001 0000 7002 0000 1210 0013 1020 0020 F000 0002 1210 0021 1220 0001 F000 0002 -#0006: 0010: 7120 7110 8100 0048 0065 006C 006C 006F 002C 0020 0057 006F 0072 006C 0064 0021 -#0006: 0020: 000D 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0006: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002 +#0006: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000 +#0006: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0006: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0006: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0006: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -265,7 +258,7 @@ Executing machine codes #0008: Register:::: #0008: GR0: 0 = #0000 = 0000000000000000 #0008: GR1: 19 = #0013 = 0000000000010011 -#0008: GR2: 13 = #000D = 0000000000001101 +#0008: GR2: 4 = #0004 = 0000000000000100 #0008: GR3: 0 = #0000 = 0000000000000000 #0008: GR4: 0 = #0000 = 0000000000000000 #0008: GR5: 0 = #0000 = 0000000000000000 @@ -276,9 +269,9 @@ Executing machine codes #0008: FR (OF SF ZF): 000 #0008: Memory:::: #0008: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0008: 0000: 7001 0000 7002 0000 1210 0013 1020 0020 F000 0002 1210 0021 1220 0001 F000 0002 -#0008: 0010: 7120 7110 8100 0048 0065 006C 006C 006F 002C 0020 0057 006F 0072 006C 0064 0021 -#0008: 0020: 000D 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0008: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002 +#0008: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000 +#0008: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0008: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0008: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0008: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -309,10 +302,10 @@ Executing machine codes #0008: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0008: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 -Hello, World!#000A: Register:::: +abcd#000A: Register:::: #000A: GR0: 0 = #0000 = 0000000000000000 #000A: GR1: 19 = #0013 = 0000000000010011 -#000A: GR2: 13 = #000D = 0000000000001101 +#000A: GR2: 4 = #0004 = 0000000000000100 #000A: GR3: 0 = #0000 = 0000000000000000 #000A: GR4: 0 = #0000 = 0000000000000000 #000A: GR5: 0 = #0000 = 0000000000000000 @@ -323,9 +316,9 @@ Hello, World!#000A: Register:::: #000A: FR (OF SF ZF): 000 #000A: Memory:::: #000A: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#000A: 0000: 7001 0000 7002 0000 1210 0013 1020 0020 F000 0002 1210 0021 1220 0001 F000 0002 -#000A: 0010: 7120 7110 8100 0048 0065 006C 006C 006F 002C 0020 0057 006F 0072 006C 0064 0021 -#000A: 0020: 000D 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#000A: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002 +#000A: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000 +#000A: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000A: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000A: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000A: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -358,8 +351,8 @@ Hello, World!#000A: Register:::: #000C: Register:::: #000C: GR0: 0 = #0000 = 0000000000000000 -#000C: GR1: 33 = #0021 = 0000000000100001 = '!' -#000C: GR2: 13 = #000D = 0000000000001101 +#000C: GR1: 24 = #0018 = 0000000000011000 +#000C: GR2: 4 = #0004 = 0000000000000100 #000C: GR3: 0 = #0000 = 0000000000000000 #000C: GR4: 0 = #0000 = 0000000000000000 #000C: GR5: 0 = #0000 = 0000000000000000 @@ -370,9 +363,9 @@ Hello, World!#000A: Register:::: #000C: FR (OF SF ZF): 000 #000C: Memory:::: #000C: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#000C: 0000: 7001 0000 7002 0000 1210 0013 1020 0020 F000 0002 1210 0021 1220 0001 F000 0002 -#000C: 0010: 7120 7110 8100 0048 0065 006C 006C 006F 002C 0020 0057 006F 0072 006C 0064 0021 -#000C: 0020: 000D 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#000C: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002 +#000C: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000 +#000C: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000C: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000C: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000C: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -405,7 +398,7 @@ Hello, World!#000A: Register:::: #000E: Register:::: #000E: GR0: 0 = #0000 = 0000000000000000 -#000E: GR1: 33 = #0021 = 0000000000100001 = '!' +#000E: GR1: 24 = #0018 = 0000000000011000 #000E: GR2: 1 = #0001 = 0000000000000001 #000E: GR3: 0 = #0000 = 0000000000000000 #000E: GR4: 0 = #0000 = 0000000000000000 @@ -417,9 +410,9 @@ Hello, World!#000A: Register:::: #000E: FR (OF SF ZF): 000 #000E: Memory:::: #000E: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#000E: 0000: 7001 0000 7002 0000 1210 0013 1020 0020 F000 0002 1210 0021 1220 0001 F000 0002 -#000E: 0010: 7120 7110 8100 0048 0065 006C 006C 006F 002C 0020 0057 006F 0072 006C 0064 0021 -#000E: 0020: 000D 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#000E: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002 +#000E: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000 +#000E: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000E: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000E: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #000E: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -453,7 +446,7 @@ Hello, World!#000A: Register:::: #0010: Register:::: #0010: GR0: 0 = #0000 = 0000000000000000 -#0010: GR1: 33 = #0021 = 0000000000100001 = '!' +#0010: GR1: 24 = #0018 = 0000000000011000 #0010: GR2: 1 = #0001 = 0000000000000001 #0010: GR3: 0 = #0000 = 0000000000000000 #0010: GR4: 0 = #0000 = 0000000000000000 @@ -465,9 +458,9 @@ Hello, World!#000A: Register:::: #0010: FR (OF SF ZF): 000 #0010: Memory:::: #0010: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0010: 0000: 7001 0000 7002 0000 1210 0013 1020 0020 F000 0002 1210 0021 1220 0001 F000 0002 -#0010: 0010: 7120 7110 8100 0048 0065 006C 006C 006F 002C 0020 0057 006F 0072 006C 0064 0021 -#0010: 0020: 000D 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0010: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002 +#0010: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000 +#0010: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0010: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0010: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0010: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -500,7 +493,7 @@ Hello, World!#000A: Register:::: #0011: Register:::: #0011: GR0: 0 = #0000 = 0000000000000000 -#0011: GR1: 33 = #0021 = 0000000000100001 = '!' +#0011: GR1: 24 = #0018 = 0000000000011000 #0011: GR2: 0 = #0000 = 0000000000000000 #0011: GR3: 0 = #0000 = 0000000000000000 #0011: GR4: 0 = #0000 = 0000000000000000 @@ -512,9 +505,9 @@ Hello, World!#000A: Register:::: #0011: FR (OF SF ZF): 000 #0011: Memory:::: #0011: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0011: 0000: 7001 0000 7002 0000 1210 0013 1020 0020 F000 0002 1210 0021 1220 0001 F000 0002 -#0011: 0010: 7120 7110 8100 0048 0065 006C 006C 006F 002C 0020 0057 006F 0072 006C 0064 0021 -#0011: 0020: 000D 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0011: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002 +#0011: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000 +#0011: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0011: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0011: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0011: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -559,9 +552,9 @@ Hello, World!#000A: Register:::: #0012: FR (OF SF ZF): 000 #0012: Memory:::: #0012: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0012: 0000: 7001 0000 7002 0000 1210 0013 1020 0020 F000 0002 1210 0021 1220 0001 F000 0002 -#0012: 0010: 7120 7110 8100 0048 0065 006C 006C 006F 002C 0020 0057 006F 0072 006C 0064 0021 -#0012: 0020: 000D 000A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0012: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002 +#0012: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000 +#0012: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0012: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0012: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0012: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 diff --git a/test/integration/comet2/svc2/a.o b/test/integration/comet2/svc2/a.o index afbe430..88598e3 100644 Binary files a/test/integration/comet2/svc2/a.o and b/test/integration/comet2/svc2/a.o differ diff --git a/test/integration/comet2/svc2_out/a.o b/test/integration/comet2/svc2_out/a.o new file mode 100644 index 0000000..2cd91af Binary files /dev/null and b/test/integration/comet2/svc2_out/a.o differ