From: j8takagi Date: Wed, 1 Jul 2026 12:22:52 +0000 (+0900) Subject: casl2とcomet2コマンドに、逆アセンブル結果を表示する-rオプションを追加 X-Git-Tag: v0.6p03~2 X-Git-Url: https://j8takagi.net/gitweb?a=commitdiff_plain;h=f8bdea1bd9313d18ebb5d28a2b2ba155ba609aa9;p=yacasl2.git casl2とcomet2コマンドに、逆アセンブル結果を表示する-rオプションを追加 --- diff --git a/src/casl2.c b/src/casl2.c index 641fd5a..99ea410 100644 --- a/src/casl2.c +++ b/src/casl2.c @@ -34,6 +34,7 @@ static struct option longopts[] = { { "tracelogical", no_argument, NULL, 'T' }, { "dump", no_argument, NULL, 'd' }, { "monitor", no_argument, NULL, 'm' }, + { "reverse", no_argument, NULL, 'r' }, { "memorysize", required_argument, NULL, 'M' }, { "clocks", required_argument, NULL, 'C' }, { "version", no_argument, NULL, 'v' }, @@ -83,7 +84,7 @@ int main(int argc, char *argv[]) const char *version = PACKAGE_VERSION; const char *cmdversion = "casl2 of YACASL2 version %s\n"; const char *usage = - "Usage: %s [-slLaAtTdmvh] [-oO[]] [-M ] [-C ] FILE1[ FILE2 ...]\n"; + "Usage: %s [-slLaAtTdmrvh] [-oO[]] [-M ] [-C ] FILE1[ FILE2 ...]\n"; /* エラーの定義 */ cerr_init(); @@ -92,7 +93,7 @@ int main(int argc, char *argv[]) addcerrlist_exec(); /* オプションの処理 */ - while((opt = getopt_long(argc, argv, "tTdslLmao::O::AM:C:vh", longopts, NULL)) != -1) { + while((opt = getopt_long(argc, argv, "tTdslLmaro::O::AM:C:vh", longopts, NULL)) != -1) { switch(opt) { case 's': asmode.src = true; @@ -130,6 +131,10 @@ int main(int argc, char *argv[]) break; case 'm': execmode.step = true; + execmode.reverse = true; + break; + case 'r': + execmode.reverse = true; break; case 'M': if((memsize = memsize_str2word(optarg)) == 0) { diff --git a/src/comet2.c b/src/comet2.c index 73796ca..c3101f1 100644 --- a/src/comet2.c +++ b/src/comet2.c @@ -7,19 +7,19 @@ * comet2コマンドのオプション */ static struct option longopts[] = { - {"trace", no_argument, NULL, 't'}, - {"tracearithmetic", no_argument, NULL, 't'}, - {"tracelogical", no_argument, NULL, 'T'}, - {"dump", no_argument, NULL, 'd'}, - {"monitor", no_argument, NULL, 'm'}, - {"memorysize", required_argument, NULL, 'M'}, - {"clocks", required_argument, NULL, 'C'}, - {"version", no_argument, NULL, 'v' }, - {"help", no_argument, NULL, 'h'}, - {0, 0, 0, 0}, + { "trace", no_argument, NULL, 't' }, + { "tracearithmetic", no_argument, NULL, 't' }, + { "tracelogical", no_argument, NULL, 'T' }, + { "dump", no_argument, NULL, 'd' }, + { "monitor", no_argument, NULL, 'm' }, + { "reverse", no_argument, NULL, 'r' }, + { "memorysize", required_argument, NULL, 'M'}, + { "clocks", required_argument, NULL, 'C' }, + { "version", no_argument, NULL, 'v' }, + { "help", no_argument, NULL, 'h' }, + { 0, 0, 0, 0}, }; - /** * @brief comet2コマンドのメイン * @@ -36,7 +36,7 @@ int main(int argc, char *argv[]) int stat = 0; const char *version = PACKAGE_VERSION; const char *cmdversion = "comet2 of YACASL2 version %s\n"; - const char *usage = "Usage: %s [-tTdmvh] [-M ] [-C ] FILE\n"; + const char *usage = "Usage: %s [-tTdmrvh] [-M ] [-C ] FILE\n"; /* エラーの定義 */ cerr_init(); @@ -44,7 +44,7 @@ int main(int argc, char *argv[]) addcerrlist_exec(); /* オプションの処理 */ - while((opt = getopt_long(argc, argv, "tTdmM:C:vh", longopts, NULL)) != -1) { + while((opt = getopt_long(argc, argv, "tTdmrM:C:vh", longopts, NULL)) != -1) { switch(opt) { case 't': execmode.trace = true; @@ -58,6 +58,10 @@ int main(int argc, char *argv[]) break; case 'm': execmode.monitor = true; + execmode.reverse = true; + break; + case 'r': + execmode.reverse = true; break; case 'M': if((memsize = memsize_str2word(optarg)) == 0) { diff --git a/test/system/casl2_opt/opt_h/0.txt b/test/system/casl2_opt/opt_h/0.txt index 06d7a62..3d46899 100644 --- a/test/system/casl2_opt/opt_h/0.txt +++ b/test/system/casl2_opt/opt_h/0.txt @@ -1 +1 @@ -Usage: ../../../../casl2 [-slLaAtTdmvh] [-oO[]] [-M ] [-C ] FILE1[ FILE2 ...] +Usage: ../../../../casl2 [-slLaAtTdmrvh] [-oO[]] [-M ] [-C ] FILE1[ FILE2 ...] diff --git a/test/system/casl2_opt/opt_opterr/0.txt b/test/system/casl2_opt/opt_opterr/0.txt index 06d7a62..3d46899 100644 --- a/test/system/casl2_opt/opt_opterr/0.txt +++ b/test/system/casl2_opt/opt_opterr/0.txt @@ -1 +1 @@ -Usage: ../../../../casl2 [-slLaAtTdmvh] [-oO[]] [-M ] [-C ] FILE1[ FILE2 ...] +Usage: ../../../../casl2 [-slLaAtTdmrvh] [-oO[]] [-M ] [-C ] FILE1[ FILE2 ...] diff --git a/test/system/comet2_opt/opt_h/0.txt b/test/system/comet2_opt/opt_h/0.txt index ad4ad38..c8e87b0 100644 --- a/test/system/comet2_opt/opt_h/0.txt +++ b/test/system/comet2_opt/opt_h/0.txt @@ -1 +1 @@ -Usage: ../../../../comet2 [-tTdmvh] [-M ] [-C ] FILE +Usage: ../../../../comet2 [-tTdmrvh] [-M ] [-C ] FILE diff --git a/test/system/comet2_opt/opt_opterr/0.txt b/test/system/comet2_opt/opt_opterr/0.txt index ad4ad38..c8e87b0 100644 --- a/test/system/comet2_opt/opt_opterr/0.txt +++ b/test/system/comet2_opt/opt_opterr/0.txt @@ -1 +1 @@ -Usage: ../../../../comet2 [-tTdmvh] [-M ] [-C ] FILE +Usage: ../../../../comet2 [-tTdmrvh] [-M ] [-C ] FILE