- ... NAME="91">1.1
- Obviously this has pros and cons
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... not2.1
- If you should know why please drop us a note
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...bitfields3.1
- Not really meant as examples, but nevertheless showing what bitfields
are about: device/include/mc68hc908qy.h and support/regression/tests/bitfields.c
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
anyway3.2
- possible exception: if a function is called ONLY from 'interrupt'
functions using a particular bank, it can be declared with the same
'using' attribute as the calling 'interrupt' functions. For instance,
if you have several ISRs using bank one, and all of them call memcpy(),
it might make sense to create a specialized version of memcpy() 'using
1', since this would prevent the ISR from having to save bank zero
to the stack on entry and switch to bank zero before calling the function
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
lines3.3
- The assembler does not like some characters like ':' or ''' in comments.
You'll find an 100+ pages assembler manual in sdcc/as/doc/asxhtm.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... improvement3.4
- These floating point routines (not sinf(), cosf(), ...) for
the mcs51 are implemented in assembler.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...4.1
- The old format (ie. #pragma stack 0x5ff) is deprecated and will cause
the stack pointer to cross page boundaries (or even exceed the available
data RAM) and crash the program. Make sure that stack does not cross
page boundaries when using the SMALL stack model.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...4.2
- This is not a problem when
- this is a HIGH interrupt ISR and LOW interrupts are disabled
or not used.
- when the ISR is small enough not to reach the next interrupts
vector address.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...4.3
- NOTE that when the _naked attribute is specified for an interrupt
routine, then NO registers are stored or restored.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... burnout6.1
- burnout is bad for electronic devices, programmers and motorcycle
tyres
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...http://sourceforge.net/mail/?group_id=5997.1
- Traffic on sdcc-devel and sdcc-user is about 100 mails/month each
not counting automated messages (mid 2003)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... encouraged7.2
- the phrase "use in education" might evoke the association
"only fit for use in education". This connotation
is not intended but nevertheless risked as the licensing of SDCC makes
it difficult to offer educational discounts
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... little-endian8.1
- Usually 8-bit processors don't care much about endianness. This is
not the case for the standard 8051 which only has an instruction to
increment its dptr-datapointer so little-endian
is the more efficient byte order.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.