Os erros são por causa dos caracteres multibyte, o Gnu (e eu acho que todos os Unixes modernos) usam utf-8.
Portanto
dc <<< "5 6+s¢l¥p"
é equivalente a dc <<< "5 6+s¢l¢p"
. O primeiro byte de ¢ e ¥ é o mesmo e é usado como o endereço do registrador. O segundo byte produz o erro.
veja a saída de od
#↳ od -ta -to1 <<< "5 6+s¢l¥p"
0000000 5 sp 6 + s B " l B % p nl
065 040 066 053 163 302 242 154 302 245 160 012
Portanto, o erro é válido e não deve ser ignorado.
Tente este caso de teste, dc <<< "4s¢11s¥l¢p"
de qual saída você está esperando? ( dc
avisa que há um problema.) Qual saída ela produz?
dc
não é utf-8 ciente, funciona em bytes. O Utf-8 é quase, mas não totalmente compatível com codificações de 8 bits (como o ascii).
veja: link (computerphile no utf-8).