On 06/07/2013 03:34 AM, Alexis BRENON wrote:
Hi everyone, I'm new on the list, so I'll make a short introduction of me. First of all, I'm french, so, please, be indulgent for my english mistakes... I'm working on the Pypy project, to create a MIPS backend (a MIPS JIT). To create the JIT, I have to load some MIPS instruction directly in memory without passing through a .asm file or else. So, I cannot set some labels. So to make some branches, I try to load the equivalent instruction of : bne $t0, $t1, -8 to go back, just before the bne instruction, if $t0 and $t1 are equals. But when it run, I've got an illegal instruction error. To debug, I write a small program in the MARS MIPS simulator with this instruction. But when compiling, assembler says me that -8 is an operand of incorrect type.
Dump out your program so you can disassemble it with objdump -d (or dissassemble it with gdb) And verify that the code looks good.
David Daney
I would like to know if it's possible to make a branch, with an immediate offset, or have I to always provide a label ? I hope my question is clear. Thanks for your attention, and for your answer :-p Alexis BRENON P.S. I try to go to the IRC channel, but I receive '#mipslinux :Cannot send to channel' every time I send message. Is there any particular process to join the channel ?