ВУЗ:
Составители:
29
REP/REPE/REPZ/REPNE/REPNZ
Префикс повторить/повторить пока равно/повторить пока
нуль/повторить пока не равно/повторить пока не нуль определяет условие
повторения строковой команды.
Префикс REP используется в сочетании с командами MOVS
(переслать строку) и STOS (сохранить строку). При этом он трактуется
"Повторять, пока не кончилась строка" (СХ не нуль).
Префиксы REPE и REPZ совершенно идентичны.
Они используются
с командами CMPS (сравнить строку) и SCAS (просканировать строку) и
действуют точно так же, как префикс REP, однако перед каждым
следующим повторением проверяется состояние флага нуля (FZ). Если
флаг взведен, команда повторяется, если флаг сброшен, повторения не
будет.
Префиксы REPNE и REPNZ также идентичны. Они совпадают с
префиксами REPE и REPZ, однако действие флага FZ на них
прямо
противоположно.
MOVS (строка назначения),(строка-источник)
Команда MOVS (переслать строку) пересылает байт или слово из
операнда-источника (адресуемого регистром SI) в операнд назначения
(адресуемый регистром DI) и изменяет содержимое этих регистров так,
чтобы каждый указывал на следующий элемент строки. При
использовании этой команды вместе с префиксом повторения
осуществляется блочная пересылка память-память.
Операнды, указанные в
команде определяют только формат пересылаемой единицы данных (байт
или слово).
MOVSB, MOVSW
Команды MOVSB (переслать строку байтов) и MOVSW (переслать
строку слов) полностью соответствуют команде MOVS, но не имеют
операндов, так как формат пересылаемых данных явно указан в мнемонике
команды (MOVSB – байты, MOVSW – слова).
CMPS (строка назначения),(строка-источник)
Команда CMPS (сравнить строки) вычитает байт
или слово
источника (адресуемого регистром SI) из байта или слова назначения
(адресуемого регистром DI). Сами операнды при этом не меняются.
Команда CMPS воздействует на флаги AF, CF, OF, PF, SF и ZF, а также
изменяет содержимое регистров SI и DI так, чтобы каждый из них
указывал на следующий элемент соответствующей строки. Действие
команды CMPS на флаги аналогично действию команды CMP. Если
команде CMPS предшествует
префикс REPE или REPZ, операция
трактуется так: "производить сравнение пока не достигнут конец строки
29
REP/REPE/REPZ/REPNE/REPNZ
Префикс повторить/повторить пока равно/повторить пока
нуль/повторить пока не равно/повторить пока не нуль определяет условие
повторения строковой команды.
Префикс REP используется в сочетании с командами MOVS
(переслать строку) и STOS (сохранить строку). При этом он трактуется
"Повторять, пока не кончилась строка" (СХ не нуль).
Префиксы REPE и REPZ совершенно идентичны. Они используются
с командами CMPS (сравнить строку) и SCAS (просканировать строку) и
действуют точно так же, как префикс REP, однако перед каждым
следующим повторением проверяется состояние флага нуля (FZ). Если
флаг взведен, команда повторяется, если флаг сброшен, повторения не
будет.
Префиксы REPNE и REPNZ также идентичны. Они совпадают с
префиксами REPE и REPZ, однако действие флага FZ на них прямо
противоположно.
MOVS (строка назначения),(строка-источник)
Команда MOVS (переслать строку) пересылает байт или слово из
операнда-источника (адресуемого регистром SI) в операнд назначения
(адресуемый регистром DI) и изменяет содержимое этих регистров так,
чтобы каждый указывал на следующий элемент строки. При
использовании этой команды вместе с префиксом повторения
осуществляется блочная пересылка память-память. Операнды, указанные в
команде определяют только формат пересылаемой единицы данных (байт
или слово).
MOVSB, MOVSW
Команды MOVSB (переслать строку байтов) и MOVSW (переслать
строку слов) полностью соответствуют команде MOVS, но не имеют
операндов, так как формат пересылаемых данных явно указан в мнемонике
команды (MOVSB – байты, MOVSW – слова).
CMPS (строка назначения),(строка-источник)
Команда CMPS (сравнить строки) вычитает байт или слово
источника (адресуемого регистром SI) из байта или слова назначения
(адресуемого регистром DI). Сами операнды при этом не меняются.
Команда CMPS воздействует на флаги AF, CF, OF, PF, SF и ZF, а также
изменяет содержимое регистров SI и DI так, чтобы каждый из них
указывал на следующий элемент соответствующей строки. Действие
команды CMPS на флаги аналогично действию команды CMP. Если
команде CMPS предшествует префикс REPE или REPZ, операция
трактуется так: "производить сравнение пока не достигнут конец строки
Страницы
- « первая
- ‹ предыдущая
- …
- 27
- 28
- 29
- 30
- 31
- …
- следующая ›
- последняя »
