https://ecsource.net/pic16f877a/