* gencode.c, interp.c: Snapshot current simulator code.

(crude) hashing works, along with dispatch to the OP_* functions.
This commit is contained in:
Jeff Law 1996-11-26 20:40:19 +00:00
parent 23b01150f5
commit b5f831ac51
3 changed files with 27 additions and 3 deletions

View File

@ -1,3 +1,7 @@
Tue Nov 26 13:36:01 1996 Jeffrey A Law (law@cygnus.com)
* gencode.c, interp.c: Snapshot current simulator code.
Mon Nov 25 12:46:38 1996 Jeffrey A Law (law@cygnus.com)
* Makefile.in, config.in, configure, configure.in: New files.

View File

@ -95,8 +95,27 @@ write_opcodes ()
for (opcode = (struct mn10300_opcode *)mn10300_opcodes; opcode->name; opcode++)
{
printf (" { 0x%x,0x%x,OP_%X,",
opcode->opcode, opcode->mask, opcode->opcode);
int size;
if (opcode->format == FMT_S0)
size = 1;
else if (opcode->format == FMT_S1
|| opcode->format == FMT_D0)
size = 2;
else if (opcode->format == FMT_S2
|| opcode->format == FMT_D1)
size = 3;
else if (opcode->format == FMT_S4)
size = 5;
else if (opcode->format == FMT_D2)
size = 4;
else if (opcode->format == FMT_D4)
size = 6;
else
size = 7;
printf (" { 0x%x,0x%x,OP_%X,%d,",
opcode->opcode, opcode->mask, opcode->opcode, size);
Opcodes[curop++] = opcode->opcode;
@ -139,5 +158,5 @@ write_opcodes ()
printf ("}},\n");
}
printf ("{ 0,0,NULL,0,{0,0,0,0,0,0}},\n};\n");
printf ("{ 0,0,NULL,0,0,{0,0,0,0,0,0}},\n};\n");
}

View File

@ -50,6 +50,7 @@ struct simops
long opcode;
long mask;
void (*func)();
int length;
int numops;
int operands[16];
};