Register Variables

Variables placed in a processor's "hardware registers"…

On PCs and other microprocessor based systems where the processor and RAM are completely separate devices, the register keyword may be used to force a variable to be located in the hardware registers on board the microprocessor. This will provide much faster access to a commonly used variable since the data doesn't have to be accessed from an external chip.

Doesn't usually make sense in embedded microcontroller system…

On a microcontroller where the CPU and memory are integrated in the same package, the access times associated with retrieving data from RAM are generally very fast, so declaring a register variable doesn't often make sense. This is especially true for the PIC18 which has only one working register. The 16-bit products with their 16 working registers can accommodate a register variable much more easily, but they are still somewhat limited with respect to a high-end microprocessor.

May be done with PIC®/dsPIC®…

Register variables may be declared with our microcontrollers, but the syntax used and how it is actually handled are very dependent on the underlying architecture. Therefore this will be covered in the compiler tutorials which covers the platform specific implementation details.

© 2016 Microchip Technology, Inc.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.