The register which holds the address of the location to or from which data are to be transferred is known as

index register
instruction register
memory address register
memory data register E. None of the above

The correct answer is C. memory address register (MAR).

The MAR is a register in the CPU that holds the address of the location in memory from which data is to be read or written. The MAR is used in conjunction with the memory data register (MDR) to perform memory operations.

The MDR is a register in the CPU that holds the data that is being read from or written to memory. The MDR is used in conjunction with the MAR to perform memory operations.

The index register is a register in the CPU that is used to store a value that is used to modify the address of a memory location. The index register is used in conjunction with the MAR to perform indexed addressing.

The instruction register is a register in the CPU that holds the instruction that is currently being executed. The instruction register is used to decode the instruction and to control the execution of the instruction.

None of the above is the correct answer because it is not a register that holds the address of the location to or from which data are to be transferred.