"Robert Crago" <[EMAIL PROTECTED]> wrote:

> Can anyone tell me if there is a gcc switch to force it to use 32 bit
> displacements when calling C functions?
> 
> I am running into displacement problems (app is only 45K out of possible 64K
> and have applied the Fred Bayer workarounds)
> 
> The only relevant gcc switch I can find is "--disp-size-default-32" but I
> haven't tried that as it says it is the default anyway.

It's not a gcc thing, it's a 68K thing. The 68000 CPU core inside the 
Dragonball is limited to signed 16-bit displacements for branches. And 
the jmp instruction is out of the question, since it uses fixed 
destination address, rather than PC-relative. Some of the higher-
numbered processors in the 68K family do support 32-bit branch 
displacements (68040 I think, and maybe CPU32.)

So why did Motorola choose to use the 68000 CPU core instead of CPU32 
as the heart of the Dragonball?

--
Roger Chaplin
<[EMAIL PROTECTED]>

Reply via email to