Is there any possibility that C51 could be updated to allow small structures to be assigned to registers? Currently, C51 will call memcpy() for an assignment of one structure to another even when the structer is very small. I am sure I have seen examples even for structures of a single byte (broken down into bit fields). A program will need a copy of memcpy() even just to initialise a structure. As pointed out in another thread (http://www.keil.com/forum/docs/thread4371.asp) memcpy() is large and is an inefficient way to do this. Assigning a structure to registers would allow inline code to be generated to copy a structure directly from (say) code to data. Also, C51 does not currently allow a function to return a structure. The ability to do so would be very convenient and would allow the implementation of such library functions as div() and ldiv(). Something that would certainly be very welcome.