Accessing Registers without the 'reg' Prefix

Question: What happens when I write an assembly code to access a register without the "reg" keyword, for example, "mov A, [PRT1DR]".  Does the assembler generate an error for this?



No. The assembler does not generate an error or warning if a register is accessed without the "reg" keyword.  The register name defined in the file is only an address equate.  So, if the assembler comes across an instruction with a register name, but without the "reg" keyword, it replaces the register name with the address of the register and the CPU will perform a RAM access instead of register access.