11 {
"trace", no_argument, NULL,
't'},
12 {
"tracearithmetic", no_argument, NULL,
't'},
13 {
"tracelogical", no_argument, NULL,
'T'},
14 {
"dump", no_argument, NULL,
'd'},
15 {
"reverse", no_argument, NULL,
'r'},
16 {
"memorysize", required_argument, NULL,
'M'},
17 {
"clocks", required_argument, NULL,
'C'},
18 {
"version", no_argument, NULL,
'v' },
19 {
"help", no_argument, NULL,
'h'},
27 { 401,
"invalid option" },
43int main(
int argc,
char *argv[])
50 const char *cmdversion =
"comet2monitor: COMET II machine code monitor of YACASL2 version %s\n";
51 const char *usage =
"Usage: %s [-tTdrvh] [-M <MEMORYSIZE>] [-C <CLOCKS>] FILE\n";
61 while((opt = getopt_long(argc, argv,
"tTdqM:C:vh",
longopts, NULL)) != -1) {
78 goto comet2monitorfin;
83 goto comet2monitorfin;
87 fprintf(stdout, cmdversion, version);
90 fprintf(stdout, usage, argv[0]);
93 fprintf(stderr, usage, argv[0]);
95 goto comet2monitorfin;
101 if(argv[optind] != NULL) {
static struct option longopts[]
casl2コマンドのオプション
struct _CERR CERR
エラーを表すデータ型
void addcerrlist(int cerrc, CERR cerrv[])
エラーリストを作成・追加する
void warn_ignore_arg(int argc, char *argv[])
引数が無視されることを表示する
void freecerr()
エラーリストと現在のエラーを解放する
void cerr_init()
エラーを初期化する
void setcerr(int num, const char *str)
現在のエラーを設定する
#define ARRAYSIZE(array)
配列のサイズを返すマクロ
int main(int argc, char *argv[])
comet2monitorコマンドのメイン
void addcerrlist_comet2monitor()
CERR cerr_comet2monitor[]
casl2のエラー定義
void exec()
COMET II仮想マシンを実行する
CLOCK clock_str2clock(const char *str)
クロック周波数を表す数値文字列を、正の整数値であるCLOCK型の数値に変換。変換できない場合は、エラーを表示して0を返す
void addcerrlist_exec()
実行エラーをエラーリストに追加する
WORD loadassemble(const char *file, WORD start)
指定されたファイルからアセンブル結果を読み込む
void addcerrlist_load()
アセンブル結果読み込みエラーをエラーリストに追加する
WORD memsize_str2word(const char *str)
メモリーサイズを表す数値文字列をWORD値に変換して返す。WORD値に変換できない場合は、エラーを表示して0を返す
void comet2_shutdown()
COMET II仮想マシンのシャットダウン
bool create_cmdtable(CMDTAB_HASH hash)
命令ハッシュ表を作成する
void free_cmdtable(CMDTAB_HASH hash)
void comet2_init(WORD memsize, CLOCK clocks)
COMET II仮想マシンの初期化
EXECMODE execmode
実行モード: trace, logical, dump, reverse, monitor, step