title: CRC16 calculation not quite right
body: <p>I am working from <a href="http://www.ross.net/crc/download/crc_v3.txt" rel="nofollow">http://www.ross.net/crc/download/crc_v3.txt</a>, and using the 16-bit polynomial <code>0x8005</code>. </p>
  
  <p>My message is <code>0xAE</code>.</p>
  
  <p>This site <a href="http://www.lammertbies.nl/comm/info/crc-calculation.html" rel="nofollow">http://www.lammertbies.nl/comm/info/crc-calculation.html</a> generates a correct calculation from other data I have.</p>
  
  <p>This is the output from my code, describing each step.</p>
  
  <pre><code>Poly: 1010000000000001
  Initial message: 01110101
  Message: 011101010000000000000000 24
  crcreg: 0000000000000000
  crcreg: 0000000000000001
  crcreg: 0000000000000011
  crcreg: 0000000000000111
  crcreg: 0000000000001110
  crcreg: 0000000000011101
  crcreg: 0000000000111010
  crcreg: 0000000001110101
  crcreg: 0000000011101010
  crcreg: 0000000111010100
  crcreg: 0000001110101000
  crcreg: 0000011101010000
  crcreg: 0000111010100000
  crcreg: 0001110101000000
  crcreg: 0011101010000000
  crcreg: 0111010100000000
  crcreg: 1110101000000000
  crcreg: 1101010000000000  //Here we had a 1 pop off the shift reg, so we XOR in the poly.
  ^poly:  1010000000000001
  =crcreg:0111010000000001
  
  crcreg: 1110100000000010
  crcreg: 1101000000000100
  ^poly:  1010000000000001
  =crcreg:0111000000000101
  
  crcreg: 1110000000001010
  crcreg: 1100000000010100
  ^poly:  1010000000000001
  =crcreg:0110000000010101
  
  crcreg: 1100000000101010
  crcreg: 1000000001010100
  ^poly:  1010000000000001
  =crcreg:0010000001010101
  
  CRC:    0010000001010101
  
  4 aa
  R-CRC:  1010101000000100   //Reversed, just in case MSB/LSB display got hosed.
  
  55 20
  </code></pre>
  
  <p>The expected CRC16 is <code>0xBC81</code></p>