Типы многоядерных вычислительных систем


REPE (REPeat string operation while E


Download 475.5 Kb.
bet11/17
Sana09.06.2023
Hajmi475.5 Kb.
#1466793
TuriСамостоятельная работа
1   ...   7   8   9   10   11   12   13   14   ...   17
Bog'liq
Методичка лр №4

REPE (REPeat string operation while Equal) CMPSB (Coare String Byte) сравнение строк и поиск первого несовпадения.
REPE CMPSB (операнды не указываются)
Действие: повторение сравнения двух однобайтовых элементов строк с логическими адресами DS:ESI и ES:EDI. По результату сравнения устанавливаются флаги: OF, SF, ZF, AF, PF, CF. Выход из цикла сравнения происходит при ECX=0 или нахождении в строках первого несовпадения (флаг ZF=0). После каждого сравнения (независимо от результата) происходит увеличение (при сброшенном флаге EFLAGS.DF=0) или уменьшение (при установленном флаге EFLAGS.DF=1) значений регистров ESI и EDI.
Алгоритм выполнения команды в АЛУ
Сравнение байта источника DS:ESI с байтом приемника ES:EDI методом вычитания. По результату сравнения устанавливаются флаги, например, если байты равны (EFLAGS.ZF=1, EFLAGS.СF=0), иначе (EFLAGS.ZF=0, EFLAGS.СF=1).
Переход к просмотру следующего элемента строки.
Если флаг направления просмотра EFLAGS.DF=0,
то увеличить значения индексных регистров на длину элемента строки – 1байт (ESI=ESI+1 и EDI=EDI+1),
Иначе (DF=1) уменьшить значения индексных регистров (ESI=ESI–1 и EDI=EDI–1),
Проверка условий повторения просмотра строк: (EFLAGS.ZF=1 и ECX≠0)?
Если сравниваемые байты равны (ZF=1) и счётчик повторений ECX≠0,
то уменьшить на 1 счётчик повторений (ECX=ECX-1), переход к п.1.
Конец выполнения команды.
Исключения: #GP, #PF.


POP (POP a value from the stack) – извлечение из стека двойного слова и помещение его по адресу операнда.
POP операнд (POP ЕВХ)
Действие: операнд[31÷0]=ОП[SS:ESP]
Извлечение двойного слова в операнд из вершины стека (SS:ESP). Операнд: 32-разрядный регистр или ячейка памяти. Выполнение команды не влияет на флаги.
Алгоритм выполнения команды.
Формирование физического адреса вершины стека (SS:ESP).
Копирование двойного слова из вершины стека по адресу операнда.
Формирование адреса новой вершины стека (ESP=ESP+4).
Исключения: #GP, #PF.



Download 475.5 Kb.

Do'stlaringiz bilan baham:
1   ...   7   8   9   10   11   12   13   14   ...   17




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling