WORD はwindowsでは符号無16bitの筈なので (a-b)>>16 はゼロになるのだと思うのだが