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,

Please find the attached text doc which contains two mails which I had
sent earlier regarding simulator generator IGEN. These mails can help to
make understanding about '*.igen' files and how they used to implement
the instructions.

Regards
Monika


>-----Original Message-----
>From: gdb-owner@sources.redhat.com
[mailto:gdb-owner@sources.redhat.com] On
>Behalf Of David Voit
>Sent: Wednesday, September 15, 2004 2:34 AM
>To: gdb@sources.redhat.com
>Subject: 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

Attachment: igen.txt
Description: Text document


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