Управляющие конструкции

Содержание

Слайд 2

Последовательное выполнение команд

Последовательное выполнение команд

Слайд 3

Что это? Каждая программа состоит из одной или нескольких последовательностей отдельных

Что это?

Каждая программа состоит из одной или нескольких последовательностей отдельных элементарных

команд.
Последовательность здесь означает участок программы, где команды выполняются одна за другой, без любых переходов.
Если программа не содержит других конструкций, кроме последовательности элементарных команд, она называется линейной.
Слайд 4

Конструкция «IF THEN» — выбор пути

Конструкция «IF THEN» — выбор пути

Слайд 5

Что это? В языке ассемблера механизм выбора реализован посрздством команд сравнения, условного и безусловного переходов.

Что это?
В языке ассемблера механизм выбора реализован посрздством команд сравнения, условного

и безусловного переходов.
Слайд 6

Команды СМР и TEST Команды СМР и TEST используются для сравнения

Команды СМР и TEST

Команды СМР и TEST используются для сравнения

двух операндов.
Операндами могут быть как регистры, так и адреса памяти, размер операнда — 8, 16 или 32 бита.
Слайд 7

Команды СМР и TEST СМР ol , о2 Команда СМР —

Команды СМР и TEST

СМР ol , о2
Команда СМР — это

сокращение от «compare», «сравнить».
Она работает подобно SUB: операнд о2 вычитается из ol.
Результат нигде не сохраняется, команда просто изменяет регистр признаков.
Команда СМР может использоваться как для сравнения целых беззнаковых чисел, так и для сравнения чисел со знаком.
Команда TEST работает подобно СМР, но вместо вычитания она вычисляет поразрядное И операндов.
Слайд 8

Например…

Например…

Слайд 9

Команда безусловного перехода — JMP Самый простой способ изменить последовательность выполнения

Команда безусловного перехода — JMP

Самый простой способ изменить последовательность выполнения

команд заключается в использовании команды jmp
Это команда безусловного перехода.
Она перезаписывает указатель команд (регистр IP или CS), что заставляет процессор «переключиться» на выполнение команды по указанному адресу.
Формат команды таков:
JMP операнд
Слайд 10

Куда пойдем? метка — это идентификатор, заканчивающийся двоеточием. Во время компиляции

Куда пойдем?

метка — это идентификатор, заканчивающийся двоеточием.
Во время компиляции

он будет заменен точным адресом согласно его позиции в программе.
Слайд 11

Условные переходы В языке ассемблера имеется множество команд условного перехода Имена

Условные переходы

В языке ассемблера имеется множество команд условного перехода
Имена этих команд

различаются в зависимости от условия перехода
Работают эти команды одинаково: если условие истинно, выполняется переход на указанную метку, если нет, то процессор продолжит выполнять программу со следующей команды.
Общий формат команд условного перехода следующий:
Jx метка_назначения
Слайд 12

Сводная таблица

Сводная таблица

Слайд 13

Как это запомнить? Чтобы лучше запомнить имена команд, запомните несколько английских

Как это запомнить?

Чтобы лучше запомнить имена команд, запомните несколько английских слов:


equal — равно,
above — больше,
below — ниже,
zero — ноль,
greater — больше,
less — меньше.
Таким образом, JE — Jump if Equal (Переход, если Равно), JNE — Jump if Not Equal (Переход, если Не Равно), JA — Jump if Above (Переход, если больше)
Слайд 14

Например…

Например…

Слайд 15

Слайд 16