use loop and jrcxz instructions to slim code
fix and test zero-length input string
make it obvious that we initialize a