A register is an easily accessed place on a computer where a particular computer application stores information that is used by the system for execution. All computers, regardless of the type of hardware they are running, have a register file. A register file is accessed whenever an instruction for execution is needed. Instructions can be stored in any register and accessed depending on the availability of the register.
A register consists of a single bit or value, and a register file contains a series of such bits and values. A register can hold a floating-point number, an int, an int32, or a halfword. Some registers may also contain hardware instructions, and can be read or written-to and refer to other registers.
Every computer instructions consists of at least one of the following three forms: a data word, a destination register, or an arithmetic expression. Data words are single words or binary numbers, while destinations are numeric addresses given on the basis of memory addresses. Arithmetic expressions carry out multiply or division operations, and both storage and evaluation of floating-point numbers is done in the central processing unit (CPU). The accumulator is a memory address that is used to store a current value that is used for an arithmetic operation; the register that holds the result is called the result port; and the control word controls the overall execution of the computer. In computers with an embedded software executing on another embedded application using microprocessor instruction lists, all these registers will be stored in the PC register and will be accessed by the software, which is the software executing the computer instructions.
The PC register is also called the machine register, and is basically a pointer to the actual memory address or source register that contains the contents of the instruction register. The control word controls the software, and the accumulator controls the accumulator state. Each of the three main registers mentioned above has its own specific purpose and is used for various instruction and results transformation, as well as storing and / or updating the PC register contents.
The PC register in a microprocessor is positioned immediately behind the register that is accessed to translate the numeric source code into computer memory data. The PC register in an x86 based architecture is typically called the address bus, and is used to pass numerical information between the microprocessor and the rest of the computer hardware. In some cases, the PC register is itself controlled by the microprocessor, or held within an external hardware device such as a cache. In other cases, the external register will be linked to the PC register internally, so that only the appropriate computer instruction commands will be translated into the right computer memory data register.
An instruction pointer is another type of register that coordinates the execution of various instructions. Instructions may themselves be saved into computer memory buffers, and then the processor will access the buffer in question to carry out the requested operation. Instructions are only executed when the corresponding PC register has been reached by the microprocessor, after which the result is determined. A PC register is a random-access memory register, which means that its contents are not changed by any stored instructions. Random access PC registers make it easier for the processor to find and execute the instructions at any point during execution. The most common use for PC registers is to store application software such as a program interpreter, or a generator that creates machine code, that can generate output for the computer.