I've seen some messages about the error that ORG directive into
inline assembler. ORG directive can only be used into ABSOLUTE areas.
By default sdcc declares code area like this:
.area CSEG (CODE)
And it is, by default, a relative segment, i.e.: absolute
addresses of instructions are configured by linker. Declaring code segment
.area CSEG (CODE,ABS)
Will accept the .org directive. Because makes the code segment an
absolute addressable area. I don't know how this modification can alter
the code generated by sdcc; but, i've used this ABS CODE areas into
assembler sources (not C) for asx8051 directly, and works ok.
I extract this info from as/mcs51/asm.h file into sdcc folder (see
comment starting at line 140).
Avelino (Sorry about my english, i am spanish :-)
From: Bernhard Held <bernhard@be...> - 2002-04-12 11:11:06
> I've seen some messages about the error that ORG directive into
> inline assembler.
Yep, this turned out to become a FAQ. Thanks for your information.
> Avelino (Sorry about my english, i am spanish :-)
Hey, don't worry! Your english is absolutely not a problem ... we check the
information, not the syntax ;-)