Go to the first, previous, next, last section, table of contents.
GNU C allows you to put a few global variables into specified hardware
registers. You can also specify the register in which an ordinary
register variable should be allocated.
-
Global register variables reserve registers throughout the program.
This may be useful in programs such as programming language
interpreters which have a couple of global variables that are accessed
very often.
-
Local register variables in specific registers do not reserve the
registers. The compiler's data flow analysis is capable of determining
where the specified registers contain live values, and where they are
available for other uses.
These local variables are sometimes convenient for use with the extended
asm
feature (see section Assembler Instructions with C Expression Operands), if you want to write one
output of the assembler instruction directly into a particular register.
(This will work provided the register you specify fits the constraints
specified for that operand in the asm
.)
Go to the first, previous, next, last section, table of contents.