Hi, I've more or less just started using the Keil 6.10a C51 kit and am getting confused slightly with the predefined SFR's. I have some assembler code here which I need to modify, but the preprocessor used by the original author seems to be somewhat different to Keil's... Is there any information on exactly what is and is not predefined anywhere? On page 73 of the A51.pdf manual (07.2000) there is a list of reserved symbols, but this list does not seem to be complete as the IE register bits do not seem to be listed, yet do seem to be defined. Or is what is defined in the stock ASM/REG51.INC file what is actually predefined? Are the reserved symbols a separate issue, i.e. used purely to select the correct opcode for a given mnemonic? In the same way, am I right in thinking that A is predefined for use in instructions that have different opcodes according to whether the accumulator is used in the instruction (like MOV), and that ACC should be used with instructions that only use direct addressing, such as PUSH and POP? The code I have here just uses A everywhere... Is bit access to the accumulator predefined, and if so with what symbols, or do I need to define it myself? The code I have here uses symbols in the form A.n but it seems that a dot is illegal in symbol names with Keil. Defining symbols in the form An seems to be okay. I can go with that and change the existing code to use my symbols, so now I just need to be sure that bit addresses for ACC are not predefined as it would seem pointless to add more symbols... I don't really like having to ask these sorts of questions, since it should all be pretty basic! I've searched through the documentation from Keil, the online support and this forum, but can't seem to find anything. I think I've probably managed to work out the answers to my questions via some logical thinking, but it would be nice to get a second opinion! Thanks. -- Cheers, Ian.