Назначение: логический сдвиг двойного слова влево.
Синтаксис
Алгоритм работы:
сдвинуть операнд приемник влево на количество битов, определяемое операндом количество_сдвигов;
одновременно сдвинуть операнд источник влево на количество битов, определяемое операндом количество_сдвигов. Важно заметить, что операнд источник только обеспечивает вдвигаемые в операнд приемник биты, сам он при этом не изменяется;
выдвигаемые во время сдвига влево из операнда источник биты вдвигаются в операнд приемник с его правого края.
Состояние флагов после выполнения команды:
OF
SF
ZF
AF
PF
CF
?
r
r
?
r
r
Применение:
Команда shld используется для манипуляции битовыми строками длиной до 64 бит. Эту команду удобно использовать для быстрой вставки (или извлечения) битной строки в большую битную строку; при этом, что очень важно, не разрушается контекст (битное окружение) этих подстрок.
.386;извлечь старшую половину eax в bx без разрушения eaxmov cl,16 shld ebx,eax,cl push bx shl ebx,cl shld eax,ebx,cl ;восстановим eax pop bx
См. также: урок 9 и команды rcr, rcl, ror, rol, sar, sal, shr, shrd