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