An address bus is used to specify memory locations. The number of bits in the address bus determines the maximum number of unique addresses that the CPU can generate. With an n-bit address bus, there are 2^n possible unique binary combinations, each representing a distinct memory address. Therefore, a 32-bit address bus can address 2^32 memory locations.