From: Jason Self Date: Tue, 6 Oct 2015 21:57:50 +0000 (-0700) Subject: Assembly loop added, calling empty routines. X-Git-Url: https://jxself.org/git/?a=commitdiff_plain;h=512d2cae11f05d1b2eb0824557b6daf4ec6c17e9;p=zilutils.git Assembly loop added, calling empty routines. --- diff --git a/zilasm/main.c b/zilasm/main.c index 409e16b..df48b7c 100644 --- a/zilasm/main.c +++ b/zilasm/main.c @@ -30,6 +30,8 @@ enum { ZVERSION = 11, ZORKID, ZSERIAL }; +enum { FAIL = -1, OK = 0, NEED_RESTART = 1 }; + static struct option const long_options[] = { { "help", no_argument, NULL, 'h' }, @@ -41,11 +43,17 @@ static struct option const long_options[] = { NULL, 0, NULL, 0 } }; +typedef struct +{ + int todo; +} Opcode_dict; + struct { int zversion; /* 0 - 8 */ int zorkid; /* 0 - 65535 */ char zserial[7]; /* YYMMDD */ + Opcode_dict *opcode_dict; } Config; void wrong_arg(const char *err, ...) @@ -167,6 +175,23 @@ char *build_output_filename(const char basename[], const char *suffix) return ofile; } +void build_opcode_dict(void) +{ + /* TODO */ +} + +int init_assembly(void) +{ + /* TODO */ + return OK; +} + +int assembly(void) +{ + /* TODO */ + return OK; +} + int main(int argc, char *argv[], char *envp[]) { const char *output_file = NULL; @@ -222,5 +247,9 @@ int main(int argc, char *argv[], char *envp[]) Config.zversion, Config.zorkid, Config.zserial ); + build_opcode_dict(); /* ..fills Config.opcode_dict */ + + while(init_assembly() == OK && assembly() == NEED_RESTART); + return 0; }