The MCP23X17 has the unique ability to appear to the MCU as either two (2) 8-bit GPIO expanders, or as a single 16-bit GPIO expander. This is accomplished by splitting the 16 I/O into separate 8-bit I/O ports (Port A and Port B). Each part has a group of dedicated registers. The yellow registers are associated with Port A, the cyan registers are associated with Port B. When in 8-bit made, the ports’ registers are separated. Port A register addresses range from 00h – 0Ah and Port B register addresses range from 10h – 1Ah. When in 16-bit mode, the ports’ registers are interleaved to emulate 16-bit wide registers. Port A and Port B register addresses range from 00h – 15h.