Безусловные переходы

Команды передачи управления.

Команды обработки строк

Команды сдвигов

Все реализуемые команды сдвигов могут быть разделены по признакам:

1. Вид сдвига (арифметический или логический).

2. Направление сдвига.

3. Характер сдвига (простой или циклический).

4. По количеству разрядов, на которое сдвигается операнд.

Формат команды содержит как минимум три поля:

КОп Адрес операнда Направление и число сдвигов

 

Для работы со строками в ЭВМ обычно предусматриваются команды, обеспечивающие перемещение, сравнение и поиск строк. В большинстве машин перечисленные операции просто имитируются за счет других команд.

 

 

В большинстве программ существуют точки, в которых нужно принять решение о том, какая команда будет выполняться следующей. Это решение может быть

безусловным — в данной точке необходимо передать управление не той команде, которая идет следующей, а другой, которая находится на некотором удалении от текущей команды;

условным — решение о том, какая команда будет выполняться следующей, принимается на основе анализа некоторых условий или данных.

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

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

1. Команды безусловной передачи управления.

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

1.2. Команды вызова процедуры и возврата из процедуры.

1.3. Команды вызова программных прерываний и возврата из них.

2. Команды условной передачи управления.

2.1. Команды перехода по результату команды сравнения cmp.

2.2. Команды перехода по состоянию определенного флага.

2.3. Команды перехода по содержимому регистра.

3. Команды управления циклом.

3.1. Команда организации цикла со счетчиком.

3.2. Команда организации цикла со счетчиком с возможностью досрочного выхода из цикла по дополнительному условию.

 

Команды перехода модифицируют регистр указателя команды IP и, возможно, сегментный регистр кода CS. Что именно должно подвергнуться модификации, зависит:

- от типа операнда в команде безусловного перехода (ближний или дальний);

- от указания перед адресом перехода (в команде перехода) модификатора; при этом сам адрес перехода может находиться либо непосредственно в команде (прямой переход), либо в регистре или ячейке памяти (косвенный переход).