Команда сдвига shrd - Assembler

Узнай цену своей работы

Формулировка задачи:

Всем привет! Столкнулся с использованием команды shrd. У меня она в таком виде:
shrd       di,dx,6
Я знаю, что происходит сдвиг на 6 битов вправо в di, и, во время каждого сдвига в di записывается младший бит dx. dx = 0CAh, di = 0. После работы команды di = 2800h. Какого фига? Я разобрал операнды на биты: di = 0000000000000000b, dx = 11001010b. После сдвига в di должно получиться 001010b... Возникает уверенность, что я не понимаю работы команды. Должно быть она действует иначе... Помогите разобраться, ПЛИЗ!!

Решение задачи: «Команда сдвига shrd»

textual
Листинг программы
DI = 00000000.00000000b
DX = 00000000.11001010b
------------------
DI = 00101000.00000000b = 2800h

Оцени полезность:

10   голосов , оценка 3.6 из 5