This is the mail archive of the crossgcc@sourceware.cygnus.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more infromation.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: How to pass a #defined constant as an address to the inline assembler



>And it produces:
>--
>move.w (0F60A).w,(0FFFE,A6)
>--
>
>Now it uses the constant as a pointer (which is good) but the pointer is
>shortened to 16 bits which is not the correct address.
>
>Any ideas how to get rid of this?

No, it is the correct address since on the 68k, specifying (#).w tells
the assembler to use the abolsute short addressing mode where the
16 bit address is sign extended to 32 bits, so 0xf60a is sign
extended to 0xffff60a.

-- 
Peter Barada                             pbarada@wavemark.com
Wizard                                   781-852-2768 (direct)
WaveMark Technologies, Inc.              781-270-0193 (fax)

"Real men know that you should never attempt to accomplish with words
what you can do with a flame thrower" --Bruce Ferstein

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]