Команды REP, REPE, REPNE, REPNZ, REPZ
Рубрика: Архитектура PC
(Команды CPU)
14203
Опубликовано: 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)