Hello,
__sbit is heavily used in the mcs51 include files of sdcc.
My understanding is that __sbit selects a specific bit from a
register. For example, __sbit at (0x83) P0_3 means P0_3 is bit 3 of
register 0x80.
With the following C source file:
#include <8051.h>
main()
{
P0_3 = 1; // set bit 3 of P0 to 1
P0_5 = 0; // set bit 5 of P0 to 0
return 0;
}
the generated asm file contains:
...
_P0_3=0x0083
_P0_5=0x0085
...
setb _P0_3
clr _P0_5
...
I don't think that the generated asm instructions do the expected
operation. I may probably miss something obvious.
I'm running sdcc mcs51 3.0.3 #6571.
Thanks
Zafi.
------------------------------------------------------------------------------
BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts.
Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos & much more. Register early & save!
http://p.sf.net/sfu/rim-blackberry-1
_______________________________________________
Sdcc-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sdcc-user