YACASL2
Loading...
Searching...
No Matches
load.c
Go to the documentation of this file.
1#include "load.h"
2
3
7static CERR cerr_load[] = {
8 { 210, "load - memory overflow" },
9 { 211, "object file not specified" },
10 { 212, "invalid option" },
11 { 213, "invalid argument" },
12};
13
14/* load.hで定義された関数群 */
19
20WORD loadassemble(const char *file, WORD start)
21{
22 FILE *fp = NULL;
23 WORD end = 0;
24
25 assert(file != NULL);
26 if((fp = fopen(file, "rb")) == NULL) {
27 perror(file);
28 return 0;
29 }
30 end = start + fread(sys->memory + start, sizeof(WORD), sys->memsize - start, fp);
31 if(end == sys->memsize) {
32 setcerr(210, file); /* load - memory overflow */
33 fprintf(stderr, "Load error - %d: %s\n", cerr->num, cerr->msg);
34 }
35 fclose(fp);
36 return end;
37}
CERR * cerr
現在のエラー
Definition cerr.c:9
struct _CERR CERR
エラーを表すデータ型
void addcerrlist(int cerrc, CERR cerrv[])
エラーリストを作成・追加する
Definition cerr.c:13
void setcerr(int num, const char *str)
現在のエラーを設定する
Definition cerr.c:45
#define ARRAYSIZE(array)
配列のサイズを返すマクロ
Definition cmem.h:14
WORD loadassemble(const char *file, WORD start)
指定されたファイルからアセンブル結果を読み込む
Definition load.c:20
void addcerrlist_load()
アセンブル結果読み込みエラーをエラーリストに追加する
Definition load.c:15
static CERR cerr_load[]
ファイル読み込みのエラー定義
Definition load.c:7
SYSTEM * sys
COMET IIの仮想実行マシンシステム
Definition struct.c:7
unsigned short WORD
16ビットの数値を表すデータ型
Definition word.h:9