OrcInstruction *insn;
OrcOpcode *opcode;
- //printf("n %d\n", ex->n);
- //printf("n_insns %d\n", program->n_insns);
-
for(i=0;i<ex->n;i++){
for(j=0;j<program->n_insns;j++){
insn = program->insns + j;
opcode = insn->opcode;
- //printf("%d: %s\n", j, insn->opcode->name);
-
/* set up args */
for(k=0;k<opcode->n_src + opcode->n_dest;k++){
ex->args[k] = ex->vars + insn->args[k];
- //printf("setting up arg %d as var %d vartype %d\n",
- // k, insn->args[k], ex->args[k]->vartype);
-
if (ex->args[k]->vartype == ORC_VAR_TYPE_SRC) {
void *ptr = ex->arrays[insn->args[k]] + ex->args[k]->size*i;
- //printf("load %p\n", ptr);
switch (ex->args[k]->size) {
case 1:
ex->args[k]->value = *(int8_t *)ptr;
}
opcode->emulate (ex, opcode->emulate_user);
- //printf("emulate: %d %d %d\n", ex->args[0]->s16,
- // ex->args[1]->s16, ex->args[2]->s16);
for(k=0;k<opcode->n_src + opcode->n_dest;k++){
if (ex->args[k]->vartype == ORC_VAR_TYPE_DEST) {
void *ptr = ex->arrays[insn->args[k]] + ex->args[k]->size*i;
- //printf("store %p\n", ptr);
*(int16_t *)ptr = ex->args[k]->value;
switch (ex->args[k]->size) {
case 1: