Команды REP, REPE, REPNE, REPNZ, REPZ
Рубрика: Архитектура PC
(Команды CPU)
12005
Опубликовано: 08.05.2017
Команды REP, REPE, REPNE, REPNZ, REPZ - на самом деле это префиксы к командам, работающим со строками, такими как MOVSB, SCSB и т.п. Эти префиксы позволяют организовывать циклы без использования команды LOOP.
Префиксы REP, REPE, REPZ
Синтаксис: | REP REPE REPZ |
Операнды: | Нет |
Назначение: | Префикс повторения команды |
Процессор: | 8086+ |
Флаги: | Не изменяются |
Комментарий: | Все эти три префикса являются синонимами и имеют один и тот же код операции. Префиксы повторяют выполнение следующей за ними команды, работающей со строками. Количество повторений заносится в регистр CX до выполнения команды с префиксом. После каждого повторения команды регистр CX уменьшается на 1 и, если он стал равен нулю или в результате выполнения команды флаг ZF стал равен 0, происходит выход из цикла. Если команда используется в 32-разрядном режиме адресации, то в качестве счетчика используется регистр ECX. |
Ограничения: | Нет |
Примеры: |
mov si,offset str1 mov di,offset str2 mov cx,40 rep movsb ;Перенос 40 байт из str1 в str2 |
Префиксы REPNE, REPNZ
Синтаксис: | REPNE REPNZ |
Операнды: | Нет |
Назначение: | Префикс повторения команды |
Процессор: | 8086+ |
Флаги: | Не изменяются |
Комментарий: | Эти два префикса являются синонимами и имеют один и тот же код операции. Префиксы повторяют выполнение следующей за ними команды, работающей со строками. Количество повторений заносится в регистр CX до выполнения команды с префиксом. После каждого повторения команды регистр CX уменьшается на 1 и, если он стал равен нулю или в результате выполнения команды флаг ZF стал равен 1, происходит выход из цикла. Если команда используется в 32-разрядном режиме адресации, то в качестве счетчика используется регистр ECX. |
Ограничения: | Нет |
Примеры: |
mov di,offset str1 mov al,13 mov cx,40 repne scasb ;Поиск символа в строке |
Комментарии (0)