A B C 0000 0000 0001 0002 0000 0000 - A = Cx2, B = ?, C = ? 0001 0000 0001 0002 0001 0000 - A = 2C, B = A, C = ? 0000 0001 0000 0800 0000 0001 - A = ?, B = A, C = B 0000 0001 0001 0802 0000 0001 - A = ?.B + 2C 0000 0002 0000 1000 0000 0002 - A = 0x800B? 0000 0003 0000 1800 0000 0003 - A = 0x800B. HOKAY. Let's try a real world example. 8087 3B4E 8BB3 A = 3b4e x 0x800 + 8bb3 x 2 8766 8087 3B4E A = 8087 x 0x800 + 3b4e x 2 A = 3800 + ... AE9C 8766 8087 WRONG 0200 .... .... 0010 .... .... 0100 .... .... 0008 .... .... so... A = A / 0x0020 + B x 0x0800 + C x 0x0002 try again 8087 3B4E 8BB3 A = 8087 / 20 + 3B4E x 800 + 8BB3 x 2 = 404 + 7000 + 1766 = 8B6A WRONG 6362 .... 3B4E 8BB3 6766 0000 3B4E expected 8766 0000 3B4E How can 7000 . 1766 = 6766 XOR 00001011 00000000 00000000 00000000 00000001 00001011 00001010 00001010 ----------------------------------- 00001010 00001011 00001010 00001010 6766 try A = (A / 0x0020 + B * 0x0800) ^^ C * 0x0002 404 + 7000 = 7404 7404 ^^ 1766 =... 00001011 00001000 00000000 00001000 00000001 00001011 00001010 00001010 ----------------------------------- 00001010 00000011 00001010 00000010 = 6362 YES