[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] TAS in GFA Linker



On 05/09/2014 22:25, Lonny Pursell a wrote:
This is a very interesting discussion about the TAS instruction. The GFA
Linker which is an extremely small program acts very strange on the FireBee.
I had no luck solving it the past several months. Now I find two TAS
instruction in there. Do you suppose this is the source of the mysterious
problems? Sometimes it works, sometimes not, much like a cache issue.

Sure! TAS can't work on the FireBee, it has random behavior due to the copy-back data cache.

The first one is:

     tas (a1)
     bpl.s   label

Try this:
       bset.b  #7,(a1)
       beq.s   label

The other one is:

     tas 0(a3,d1.l)
     bmi.s   label

Try this:
       bset.b  #7,0(a3,d1.l)
       bne.s   label

That should fix your problem.

--
Vincent Rivière