On 3 Jan 2012, at 19:30, Memory Lane Computing Ltd wrote:

> 
> Is there anyone out there with experience of using C68 (v4.24f) with the
> compile-time switch -datamodel=small?
> 
> I have been looking at the code generated with this option (which is
> supposed to generate 16 bit displacements against a base register) and all
> the offsets are 0 ... which, of course, means that the code doesn't work
> because every variable has the "address" of 0(a5)!
> 
> I'm hoping that this is just something simple and stupid that I've missed.
> btw The code is not linking any of the standard libraries, and I have read
> the warning about being very careful with this setting in the documentation.
> 
> Any suggestions?

I have tried a program using C68 v5.0 beta. Without datamodel=S one instruction 
is:

        MOVE.L #_this+1,D3

With -datamodel=S the instruction becomes:
        
        LEA     _this-.Xdata(A5),A0
        ADDQ.W  #1,A0
        MOVE.L  A0,D3

The first assembly has

 _this  DS.B    66
        

The second assembly has

_this   DS.B    66
        XREF    .Xdata


The suggestion thus is to use C68 v5.0

George
_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

Reply via email to