i do not want code, i want logic, i will code on my own.
sorry, I miss understud of this point.
so for selecting ur 4 MUX u need 12 address lines 3 for each.
Address selection can be done in many ways. one of the other way is 3 address line and 4 chip select line. so totally u need 7 O/P only.
and 4 I/P lines.
first configure I/P and O/P lines. (TRIS register)
then first chip and first line (Address - 000)
read it's corresponding MUX O/P (controller I/P - 1)
store it's value in array or variable
next step is same chip but address - 001
read it's corresponding MUX O/P (controller I/P - 1)
store it's value in array or variable
like that up to 111
then second chip first line (address - 000)
read it's corresponding MUX O/P (controller I/P - 2)
store it's value in array or variable
and repeat the same for all chip address from 000 to 111
let me know if u find any difficulty.