X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=src%2Fcomet2.c;h=24040b3c1aff2d76fc69f7aef8f5e5ea66c03d8a;hp=03120350a9d9e8af2483d2a671ee41db26c097df;hb=faec695d5b7ecf7dd3e4a07ac926ea93ca89020b;hpb=1e636c95bf237645b6c9117e3eb64aa2d8aa4c90 diff --git a/src/comet2.c b/src/comet2.c index 0312035..24040b3 100644 --- a/src/comet2.c +++ b/src/comet2.c @@ -6,11 +6,12 @@ /* 指定されたファイルからCOMET II仮想メモリ(アセンブル結果)を読込 */ bool inassemble(char *file) { FILE *fp; + reset(); if((fp = fopen(file, "r")) == NULL) { perror(file); return false; } - fread(memory, sizeof(WORD), MEMSIZE, fp); + fread(memory, sizeof(WORD), memsize, fp); fclose(fp); return true; } @@ -20,6 +21,8 @@ static struct option longopts[] = { {"tracearithmetic", no_argument, NULL, 't'}, {"tracelogical", no_argument, NULL, 'T'}, {"dump", no_argument, NULL, 'd'}, + {"memsize", required_argument, NULL, 'M'}, + {"clocks", required_argument, NULL, 'C'}, {"help", no_argument, NULL, 'h'}, {0, 0, 0, 0} }; @@ -27,9 +30,9 @@ static struct option longopts[] = { int main(int argc, char *argv[]) { int opt; - const char *usage = "Usage: %s [-tTdh] FILE\n"; + const char *usage = "Usage: %s [-tTdh] [-M] [-C] FILE\n"; - while((opt = getopt_long(argc, argv, "tTdh", longopts, NULL)) != -1) { + while((opt = getopt_long(argc, argv, "tTdM:C:h", longopts, NULL)) != -1) { switch(opt) { case 't': tracemode = true; @@ -41,6 +44,12 @@ int main(int argc, char *argv[]) case 'd': dumpmode = true; break; + case 'M': + memsize = atoi(optarg); + break; + case 'C': + clocks = atoi(optarg); + break; case 'h': fprintf(stdout, usage, argv[0]); exit(-1);