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


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

SUB (SUBtract) – вычитание.
SUB операнд_1, операнд_2 (SUB EAX, EAX)
Действие: операнд_1 = операнд_2 – операнд_1.
Команда выполняет целочисленное вычитание операндов со знаком. Значение флагов OF, SF, ZF, AF, PF, CF зависят от результата выполнения команды. Операнд_1 – регистр или ячейка памяти размером байт, слово или двойное слово. Операнд_2 – регистр, ячейка памяти или непосредственный операнд того же размера, что и операнд_1 (исключается случай, когда оба операнда находятся в памяти).
Алгоритм выполнения команды в АЛУ
Выборка значения операнда_2 и запись его в накопитель.
Выборка значения операнда_1 в свободный регистр1 АЛУ и преобразование его в дополнительный код
Сложение содержимого регистра1 АЛУ из содержимого накопителя.
Копирование содержимого накопителя в опернад_1.
Установка флагов.
Исключения: #GP, #PF.


SHR (SHift logical Right) – поразрядный сдвиг вправо.
SHR операнд_1, операнд_2 (SHR ЕАХ, 8)
Действие: Cдвиг всех разрядов операнда_1 на число, определяемое операндом_2. Разряды, выдвинутые за пределы разрядной сетки теряются (кроме последнего, который попадает во флаг переноса СF), освободившиеся разряды заполняются нулями. Операнд_1: 8, 16 или 32-разрядный регистр или ячейка памяти. Операнд_2: 1(единица), 8-разрядная константа или регистр CL. Флаги CF, SF, ZF, PF устанавливаются по результату операции.
Алгоритм выполнения команды в АЛУ
Сдвиг всех разрядов операнда_1 вправо один разряд; при этом выдвигаемый справа бит становится значением флага переноса CF.
Одновременно слева в операнд_1 вдвигается нулевой бит.
Указанные выше два действия повторяются количество раз, равное значению операнда_2.
Исключения: #GP, #PF.


LOOP – команда организации цикла со счётчиком в регистре ЕСХ.
LOOP метка (LOOP МЕТ1)
Действие: передача управления (зацикливание) по метке, типа SHORT-ближняя, пока значение ECX не будет равно 0. Регистр ECX декрементируется после проверки условия выхода из цикла. Метка (однобайтовая знаковая константа) – это адрес команды, отнесенной от LOOP не более чем на +127 или на –128 байт. Выполнение команды не влияет на флаги.
Алгоритм выполнения команды в АЛУ
Сравнение ECX с нулём.
Если ЕСХ=0, то занесение в регистр команд EIP адреса следующей после LOOP команды (завершение цикла).
Иначе занесение в EIP адреса метки (адрес начала цикла).
К.Если
Уменьшение ECX на 1.
Исключения: #GP, #PF.



Download 475.5 Kb.

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




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