Interfacing involves connecting devices or programs to allow communication between a user and computer or between hardware and software. Memory interfacing specifically designs circuits that match a microprocessor's memory requirements by enabling it to read from and write to memory registers by generating appropriate signals. Address decoding is used to identify a specific memory register for a given address by decoding the microprocessor's address lines and generating a unique pulse for each possible address. This allows the microprocessor to select the appropriate memory chip, identify the register, and enable the correct buffer for reading or writing.