Am 06.09.2002 23:35:14, schrieb "Garst R. Reese" <[email protected]>:
>Can someone enlighten me on the meaning of sfrb in the following ? >#define ME1_ 0x0004 /* Module Enable 1 */ >sfrb(ME1,ME1_); noooo dont ask ;-) the macro is defined in <iomacros.h> it's a rather tricky macro to convince GCC that it can access that address as variable and that it's volatile (must not be cached in a register). (just defining a volatile variable at address x does generate less efficient code, e.g. "bic" and "bis" asm insn are not used directly, rather a its a read, modify, store sequence) i don't know the real the reason that it's split in two parts, a define and ans sfrb(), our files are just based on the TI ones, and those had this like that. maybe they thought that you could use the underline verison if you use the address for calculations or so. chris
