Sorry, I only know 'a'..'q' and 's'..'z'
Either you get a compiler error. Or you get a compiler warning, and the variable won't be stored in register.
It depends entirely on what platform you are using. In an embedded environment, for instance global/static variables go into different RAM memory segments depending on whether or not they are initialised. constants are often left in ROM automatic variables are normally placed of the stack of the currently running task but not always.
Register variables are stored in register of microprocessor/micro-controller. The read/write access to register variable is the fastest because CPU never need any memory BUS operation to access these variable. Auto variable are stored in stack thus access are much slower. Auto variable can be converted to register by using register keyword before it. It has platform specific limitation. Register variable will work only if free registers are available to hold the variable for a function scope. In case of Microprocessor or microcontrollers having very less number of general purpose registers will never take register variable even if we declare it as register.
A register specifier for a variable is a compiler hint that the variable is used often and should be kept in a CPU register. The compiler will treat the variable as automatic, but it will give it preference for staying in a register between sequence points.
Register storage class is a compiler hint that the variable will be often used, and that it should generate code, if it can, to keep the variable's value in a register.
const
In C/C++ when we declare a variable; e.g int var; for this variable (i.e. var) memory is being reserved in RAM (i.e out side processor). If we declare variable like that; register int var2; for this variable memory is being reserved in register of CPU (i.e. withing processor) But register variables are discouraged because processor has to work with registers..... Note: strictly speaking, storage class 'register' means: dear compiler, you might optimize this variable into register, as I won't ever request its address. But of course, it's up to you to decide.
When your variable is going to use quite often then we can request compiler to store the variable in CPU Register, but CPU registers are limited so some time your request may not be granted, so in this case it will be stored in Stack. Don't request compiler to store large structure in CPU registers, because they are limited.
accumulator
A logic microoperation specify binary operation for a string of bits stored in registers.These operation consider each bit in the registers seperately and treat it as a binary variable. Eg:-F--A(+)B If the contents of register A is 1010 and that of register B is 1100 than the information is transfer to register F is 0110
Register storage class is a compiler hint that the variable will be often used, and that it should generate code, if it can, to keep the variable's value in a register.
A memory mapped register is a register that has its specific address stored in a known memory location.