X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=src%2Fexec.c;h=3e4b1b9fc7922bc559ece93ad1d12e66aed68258;hp=c102d32e5350a7266392cd23373ad25fc719ccd0;hb=e24285f0509319319aef28a188b7c01ba7e22bf1;hpb=2bd59412ac381ddfeca1c3b8f26307d94c82aa57 diff --git a/src/exec.c b/src/exec.c index c102d32..3e4b1b9 100644 --- a/src/exec.c +++ b/src/exec.c @@ -138,7 +138,7 @@ void cpl(WORD val0, WORD val1) /* 算術演算なので、第15ビットは送り出されない */ WORD sla(WORD val0, WORD val1) { - WORD sign, res, last; + WORD sign, res, last = 0x0; int i; FR = 0x0; @@ -169,7 +169,7 @@ WORD sla(WORD val0, WORD val1) /* 空いたビット位置には符号と同じものが入る */ WORD sra(WORD val0, WORD val1) { - WORD sign, res, last; + WORD sign, res, last = 0x0; int i; FR = 0x0; @@ -201,7 +201,7 @@ WORD sra(WORD val0, WORD val1) /* 論理左シフト。フラグを設定して値を返す */ WORD sll(WORD val0, WORD val1) { - WORD res = val0, last; + WORD res = val0, last = 0x0; int i; FR = 0x0; @@ -227,7 +227,7 @@ WORD sll(WORD val0, WORD val1) /* 論理右シフト。フラグを設定して値を返す */ WORD srl(WORD val0, WORD val1) { - WORD res = val0, last; + WORD res = val0, last = 0x0; int i; FR = 0x0; @@ -269,7 +269,7 @@ void exec() { WORD op, r_r1, x_r2, val; CMDTYPE cmdtype; - char *errpr = malloc(8); + char *errpr = malloc(CERRSTRSIZE + 1); clock_t clock_begin, clock_end; if((&execmode)->trace) { @@ -466,7 +466,9 @@ void exec() do { clock_end = clock(); } while(clock_end - clock_begin < CLOCKS_PER_SEC / clocks); -/* printf("PR:%04X; time: %f\n", PR, (double)((clock_end - clock_begin) * CLOCKS_PER_SEC)); */ + #if 0 + printf("PR:%04X; time: %f\n", PR, (double)((clock_end - clock_begin) * CLOCKS_PER_SEC)); + #endif } execerr: fprintf(stderr, "Execute error - %d: %s\n", cerrno, cerrmsg);