MOVZX
(MOVe and Zero eXtension)
Пересылка с нулевым расширением
Схема команды: | movzx приемник,источник |
Назначение: преобразование элементов без знака меньшей размерности в эквивалентные им элементы без знака большей размерности.
Алгоритм работы:
считать содержимое источника;
записать содержимое операнда источника в операнд приемник, начиная с его младших разрядов;
распространить двоичный нуль на свободные старшие разряды операнда назначения.
Состояние флагов после выполнения команды:
выполнение команды не влияет на флаги |
Применение:
Команду movzx обычно используют для получения эквивалентного, но большего по размеру операнда без учета знака. Она может быть использована для согласования операндов различной размерности. Но не следует думать, что все эти разнотипные пересылки делает одна машинная команда. На самом деле существует несколько машинных команд, каждая из которых работает со своими размерами операндов. Генерацию же нужной команды обеспечивает транслятор на основе анализа исходного текста программы.
.data sl db ? .code ... mov al,0ffh movzx bx,al ;bx=00ffh ... ;или из памяти: movzx eax,byte ptr sl |
См. также: урок 8 и команды ,
, , , ,