That's a 64-bit add, which is actually being used as a 64-bit move
of the "sp" register to k1. Try "objdump -m mips:isa64" (or whatever
variant gives your version of objdump the right to disassemble the
MIPS III+/MIPS64 instructions.
One might suspect that your board monitor ROM was built for a 64-bit CPU.
This illustrates why, if one want to write portable assembler code for MIPS,
one should implement "move" operations as OR Target,$0,Source rather than
using an ADDU or DADDU...
----- Original Message -----
From: "Dmitriy Tochansky" <toch@dfpost.ru>
To: <linux-mips@linux-mips.org>
Sent: Thursday, October 14, 2004 13:53
Subject: Strange instruction
> Hello!
>
> When starts kernel for my au1500 board reseting board. After disassembling I
> found instruction
> which reseting board. Here is few strings of "mipsel-linux-objdump -D
> vmlinux" output:
>
> ---
>
> a0000650: 07400003 bltz k0,a0000660 <nmi_handler+0x1c>
>
> a0000654: 03a0d82d 0x3a0d82d
>
> a0000658: 3c1ba020 lui k1,0xa020
>
> ---
>
> Base address changed by me.
>
> What is A0000654? There is board resets.
>
>
|