paulj at alphyra.ie
Wed Aug 15 16:14:17 IST 2001
On Wed, 15 Aug 2001, Dave Airlie wrote:
> I've only one thing to say...
> branch delay slots ... *shudder*....
> in pseudo dave-assembly (a combination of C, VAX/MIPS/x86/ARM asms)
> mov 56, r1 # put 56 into r1
> br label # branch to label
> inc r1
> label: printf r1
> guess what r1 is at this stage? 56 taking bets? no it's 57... the increase
> instruction gets executed... it still makes my brain violently ill even 2
> or 3 years later (and I'm no longer active on Linux/MIPS)...
hmmm.. what's the correct way to do above then? (and is there a good
reason for it?)
From the tiny tiny bit¹ that i do know of MIPS asm, you are required
to know scheduling and ordering requirements.... it's all laid bare.
¹ playing around with tiny C progs and comparing the difference in the
resultant x86 and MIPS asm.
More information about the ILUG