MATLAB logic
D0 = [ 0 1 0 1 0 1 0 1];
D1 = [ 0 0 1 1 0 0 1 1];
S = [ 0 0 0 0 1 1 1 1];
fprintf('\n S D1 D0 F\n');
F = (S&D1)|(~S&D0);
disp([S' D1' D0' F']);
S D1 D0 F
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1