linux-mips
[Top] [All Lists]

Re: Immediate branch offset

To: Alexis BRENON <abrenon@wyplay.com>
Subject: Re: Immediate branch offset
From: David Daney <ddaney.cavm@gmail.com>
Date: Fri, 07 Jun 2013 09:25:09 -0700
Cc: linux-mips@linux-mips.org
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=N+6iEO6mW5FK9wuvWdzHV0nhtl5hQFSKxrNjpuS3wrY=; b=k6k1p8/jLhED0BzDSgzaV2e1+GMttTro8IBVvCCay0kvldEYZVJ5GTTji7dXIsGkAV 4V8PuVuRxN2Q+NemPFCF8fK0O9oG6ICsX3/xUfVhgs7B1SUXvzBsB1oVhseUm2AeZ1TT GGkL/91t5K/4/TsCdwVeqK8Zk7JeUkvQZaJlNfAvH+44NTLZUeB/rBkfMi+GuzPjm6YH 1JRI/aeqpzKxXRIDQ7E+ZroujfGM6YOZUYah4/QOAl6tEVwn3EClBJgrArLbJLNh/2Ob 4oXa9Bj2K2IIJ5ZSh5cF6THGIe7TwAmSwRYhdSo7Gf7LMQoLTHzP0gdmK/ERX+hbztrf Ypmw==
In-reply-to: <51B1B739.7080104@wyplay.com>
List-archive: <http://www.linux-mips.org/archives/linux-mips/>
List-help: <mailto:ecartis@linux-mips.org?Subject=help>
List-id: linux-mips <linux-mips.eddie.linux-mips.org>
List-owner: <mailto:ralf@linux-mips.org>
List-post: <mailto:linux-mips@linux-mips.org>
List-software: Ecartis version 1.0.0
List-subscribe: <mailto:ecartis@linux-mips.org?subject=subscribe%20linux-mips>
List-unsubscribe: <mailto:ecartis@linux-mips.org?subject=unsubscribe%20linux-mips>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <51B1B739.7080104@wyplay.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130311 Thunderbird/17.0.4
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 ?





<Prev in Thread] Current Thread [Next in Thread>