projects
/
zilutils.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
031039d
)
Assembly loop added, calling empty routines.
author
Jason Self
<j@jxself.org>
Tue, 6 Oct 2015 21:57:50 +0000
(14:57 -0700)
committer
Jason Self
<j@jxself.org>
Tue, 6 Oct 2015 21:57:50 +0000
(14:57 -0700)
zilasm/main.c
patch
|
blob
|
history
diff --git
a/zilasm/main.c
b/zilasm/main.c
index 409e16b186c62b70305371bdf747011fd984974c..df48b7c86cd9b3cecdbbd0ca8391ec6a4d6b8070 100644
(file)
--- a/
zilasm/main.c
+++ b/
zilasm/main.c
@@
-30,6
+30,8
@@
enum { ZVERSION = 11, ZORKID, ZSERIAL };
enum { ZVERSION = 11, ZORKID, ZSERIAL };
+enum { FAIL = -1, OK = 0, NEED_RESTART = 1 };
+
static struct option const long_options[] =
{
{ "help", no_argument, NULL, 'h' },
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 }
};
{ NULL, 0, NULL, 0 }
};
+typedef struct
+{
+ int todo;
+} Opcode_dict;
+
struct
{
int zversion; /* 0 - 8 */
int zorkid; /* 0 - 65535 */
char zserial[7]; /* YYMMDD */
struct
{
int zversion; /* 0 - 8 */
int zorkid; /* 0 - 65535 */
char zserial[7]; /* YYMMDD */
+ Opcode_dict *opcode_dict;
} Config;
void wrong_arg(const char *err, ...)
} Config;
void wrong_arg(const char *err, ...)
@@
-167,6
+175,23
@@
char *build_output_filename(const char basename[], const char *suffix)
return ofile;
}
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;
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
);
Config.zversion, Config.zorkid, Config.zserial
);
+ build_opcode_dict(); /* ..fills Config.opcode_dict */
+
+ while(init_assembly() == OK && assembly() == NEED_RESTART);
+
return 0;
}
return 0;
}