X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fexec.c;h=5d8f62fa2c6d66241546cbdad2681273d1ed8d23;hb=d7e354e158456082e6207be916d2a82f0a4412fe;hp=8530640b7f8a4d0a8bbc163973ec2e86656ab90d;hpb=e2a1963d2ddaf89d33494212a0a16f7a368797e0;p=YACASL2.git diff --git a/src/exec.c b/src/exec.c index 8530640..5d8f62f 100644 --- a/src/exec.c +++ b/src/exec.c @@ -9,7 +9,6 @@ * 実行エラーの定義 */ static CERR cerr_exec[] = { - { 201, "Loading - full of COMET II memory" }, { 202, "SVC input - out of Input memory" }, { 203, "SVC output - out of COMET II memory" }, { 204, "Program Register (PR) - out of COMET II memory" }, @@ -20,19 +19,34 @@ static CERR cerr_exec[] = { { 210, "not command code of COMET II" }, }; +/** + * アセンブル結果読み込みエラーの定義 + */ +static CERR cerr_load[] = { + { 201, "Loading - full of COMET II memory" }, + { 208, "object file is not specified" }, +}; + /** * 実行モード: trace, logical, dump */ EXECMODE execmode = {false, false, false}; /** - * 実行エラーをエラーリストに追加 + * アセンブル結果読み込みエラーをエラーリストに追加 */ -bool addcerrlist_exec() +void addcerrlist_load() { - return addcerrlist(ARRAYSIZE(cerr_exec), cerr_exec); + addcerrlist(ARRAYSIZE(cerr_load), cerr_load); } +/** + * 実行エラーをエラーリストに追加 + */ +void addcerrlist_exec() +{ + addcerrlist(ARRAYSIZE(cerr_exec), cerr_exec); +} /** * 指定されたファイルからアセンブル結果を読み込む */ @@ -81,7 +95,7 @@ static void svcin() sys->memory[sys->cpu->gr[1]+i] = *(buffer + i); } sys->memory[sys->cpu->gr[2]] = i + 1; - free_chk(buffer, "buffer"); + FREE(buffer); } /** @@ -133,7 +147,7 @@ static WORD adda(WORD val0, WORD val1) sys->cpu->fr = 0x0; /* 引数の値を16ビット符号付整数として加算し、オーバーフローをチェック */ - assert(sizeof(short)*8 == 16 && (short)0xFFFF == -1); + assert(sizeof(short) * 8 == 16 && (short)0xFFFF == -1); if((tmp = (short)val0 + (short)val1) > 32767 || tmp < -32768) { sys->cpu->fr += OF; }