Наверное это одна из самых "экзотических" инструкций в архитектуре x86 . Кто-нибудь знает, где ее можно применить на практике (какая-нибудь формула или алгоритм)? Алгоритм работы этой инструкции можно описать как: 1) Умножить соответсвующее signed word (16 бит) из операнда1 на signed word из операнда2. 2) Результат умножения (32-х битное число) сдвинуть вправо на 14 разрядов. 3) К каждому полученному 18-ти битному числу прибавить 1. 4) Взять из полученного результата 16 бит (начиная с бита 1 по бит 16 - если считать от 0), и поместить это значение на место соответсвующего signed word операнда1. Данный алгоритм применяется ко всем signed words. На C это можно представить как: Op1 = (short int) ( ( ((int)Op1 * Op2) >> 14 ) + 1 ) >> 1 )