Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
A base address is an absolute address that acts as a reference point for other addresses. The base address is used in computing as a relative address of an instruction within a program or the location of a piece of data currently being worked on by the program. The base address may be addressable, or capable of being referred to, depending on how the manufacturer designs the hardware/software interface.
To compute an absolute address, an offset is added to the base address.
Base addresses go back to the mainframe days of pageable memory; the earliest computational machines, which had fixed and limited memory and could only run one program at a time. These machines always loaded programs into the same memory location as their base. Later, virtual-memory machines, which could run several programs at once via partitions (mainframe) or page-swapping, could load a program anywhere. The base address allowed the OS to give the executing program a reference point for computing further instruction and data locations.
Historically, when memory was unprotected, a programmer could directly address the computer's memory by knowing the length of the instruction set commands. This made it possible to alter the program by overlaying the bits in the instruction with another valid bit pattern, thus giving another instruction for the program to follow. Early versions of COBOL allowed this at a symbolic level through the ALTER, GO TO, and DEPENDING ON clauses.