This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Need help at writing basic igen simulator


Hello everybody,

I writed a simple igen file and want to test it now. So I tried to
integrate it with the existing v850 sourcecode (this looked the simplest
of all igen sims) but I find it still to complex for my needs. And now I
want to ask if somebody has tried the same and has a base for a simple
igen simulator which dont need to do much but execute the instructions in
the igen file.

I dont need:

- Any sort of memory handling
- Interupts
- or any other complicated things

I just want, in the begining, write a template for all MMIX instructions.

Here is the very very simple igen file at the moment:

:model:::mmix:mmix:

:internal::::illegal:
{
  sim_io_eprintf (SD, "Illegal instruction at address 0x%lx\n",
		  (unsigned long) cia);
  sim_engine_halt (SD, CPU, NULL, cia, sim_signalled, SIM_SIGILL);
}

11100011,8.reg,16.value::::setl
"setl reg, value"
{
	/* TODO */
}

00100000,8.reg1,8.reg2,8.reg3::::add
"add reg1, reg2, reg3"
{
	/* TODO */
}

00011000,8.reg1,8.reg2,8.reg3::::mul
"mul reg1, reg2, reg3"
{
	/* TODO */
}

00100100,8.reg1,8.reg2,8.reg3::::sub
"sub reg1, reg2, reg3"
{
	/* TODO */
}

00011100,8.reg1,8.reg2,8.reg3::::div
"div reg1, reg2, reg3"
{
	/* TODO */
}

ps.:

If i write the instruction identifer in hexform like this
"8.0xe3,8.reg,16.value::::setl" igen fails with "ld-insn.c:293: assertion
failed - word->first->last < 0" it this the correct behavior.

Thanks David


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]