code_defs_add (def);
code_chars_put (name, strlen(name));
code_chars_add ('\0');
-
+
util_debug("ASM", "added internal function %s to function table\n", name);
/*
int size = 0;
char *find = strchr(name, '#');
char *peek = find;
-
+
/*
* Code structures for filling after determining the correct
* information to add to the code write system.
code_chars_add ('\0');
/* update assembly state */
-
+
*state = ASM_FUNCTION;
util_debug("ASM", "added context function %s to function table\n", name);
}
-
+
mem_d(copy);
mem_d(name);
return true;
*/
while (*skip == ' ' || *skip == '\t')
skip++;
-
+
for (; i < sizeof(asm_instr)/sizeof(*asm_instr); i++) {
/*
* Iterate all possible instructions and check if the selected
* Each instruction can have from 0-3 operands; and can
* be used with less or more operands depending on it's
* selected use.
- *
+ *
* DONE for example can use either 0 operands, or 1 (to
* emulate the effect of RETURN)
*
*c = '\0'; \
c = (char*)skip; \
} while (0)
-
+
case 3: {
const char *data; OPFILL(data);
printf("OP3: %s\n", data);
while (*c == ' ' || *c == '\t') c++;
c += asm_instr[i].l;
while (*c == ' ' || *c == '\t') c++;
-
+
printf("OP1: %s\n", c);
s.o1.s1 = 0;
}
code_functions_data[it].argsize[5],
code_functions_data[it].argsize[6],
code_functions_data[it].argsize[7]
-
+
);
util_debug("GEN", " NAME: %s\n", &code_chars_data[code_functions_data[it].name]);
/* Internal functions have no code */