Si S1 y S2 son el primer número. S3 y S4 el segundo, estas permutando sus bits en el multiplexor, debía ir A1-B3 y A2-B4 no como los tuenes por que vuelves el más significativo en el menor y un 2(10) se vuelve 1 (01)
Se me olvidaba, desconecta C en el decodificador, digamos que haces 1-1, bueno, en binario con complemento a 2 será sumar 01+ 11=100, obviamente si a un numero le restas otro no puede haber más números que los que entran, debes despreciar el bit que sobra.