X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fexec.c;h=aa99076b72168519d513664d9768d4af4c780793;hb=1b50560326f7ce2b73848537b20d48a961195a0f;hp=73b30cd4222f4e3fac65194d33f4c69f9ad8922d;hpb=3482948c47ace39da08b8546f6b466d5b623a877;p=YACASL2.git diff --git a/src/exec.c b/src/exec.c index 73b30cd..aa99076 100644 --- a/src/exec.c +++ b/src/exec.c @@ -100,7 +100,7 @@ void svcin() break; } if(sys->cpu->gr[1] + i > execptr->end) { - setcerr(208, NULL); /* SVC input - memory overflow */ + setcerr(208, ""); /* SVC input - memory overflow */ break; } sys->memory[sys->cpu->gr[1]+i] = *(buffer + i); @@ -119,12 +119,16 @@ void svcout() for(i = 0; i < sys->memory[sys->cpu->gr[2]]; i++) { if(sys->cpu->gr[1] + i > execptr->end) { - setcerr(209, NULL); /* SVC output - memory overflow */ + setcerr(209, ""); /* SVC output - memory overflow */ return; } - /* 「文字の組」の符号表に記載された文字と、改行(CR)/タブを表示 */ + /* 「JIS X 0201ラテン文字・片仮名用8ビット符号で規定する文字の符号表」 + に記載された文字と、改行(CR)/タブを表示 */ /* それ以外の文字は、「.」で表す */ - if(((w = sys->memory[sys->cpu->gr[1]+i]) >= 0x20 && w <= 0x7E) || w == 0xA || w == '\t') { + if(((w = sys->memory[sys->cpu->gr[1]+i]) >= 0x20 && w <= 0x7E) || /* JIS X 0201ラテン文字 */ + (w >= 0xA0 && w <= 0xFE) || /* JIS X 0201片仮名用8ビット符号 */ + w == 0xA || w == '\t') + { putchar((char)w); } else { putchar('.'); @@ -523,8 +527,6 @@ void cpa_r1_r2() */ void cpl(WORD r, WORD val) { - WORD w[1]; - w[0] = sys->memory[sys->cpu->pr]; sys->cpu->fr = 0x0; if(sys->cpu->gr[r] < val) { sys->cpu->fr = SF;