Лекция: Пример логической команды

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

XOR EAX,EAX

Самый быстрый для процессора способ обнулить регистр EAX (если операнды одинаковые, то на выходе в любом случае будет 0).

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

Для того чтобы рассказать, что такое условный переход необходимо предварительно рассказать о регистре состояния процессора (PSW). Иначе этот регистр называют регистром флагов. Он предназначен для отражения текущего состояние процессора. Биты этого регистра устанавливаются или очищаются в соответствии с результатом каждой выполненной команды. Каждый бит регистра состояния имеет свой смысл и называется флагом.

Чаще всего нас интересует флаг нуля (ZF – Zero Flag), который включается, когда в результате действия команды переменная обнуляется. Другим часто используемым флагом является флаг знака (SF – Sign Flag), который показывает что переменная, установленная в результате действия команды, будет положительна. Все арифметические и некоторые другие команды меняют флаги, т.е. мы всегда знаем, что получилось в результате (операнд приемник содержит нуль, положительное или отрицательное число и т.д.)

Вернемся к условным и безусловным переходам.

Команды безусловных переходов вызывают переход в новый адрес независимо ни от чего. Они могут вызывать переход на указанную величину смещения (вперед или назад) или же на указанный адрес памяти. Величина смещения или новое значение адреса указываются в качестве входного операнда.

 

Команды условных переходов вызывают переход не всегда, а только при выполнении заданных условий. В качестве таких условий обычно выступают значения флагов в регистре состояния процессора (PSW). То есть условием перехода является результат предыдущей операции, меняющей значения флагов. Несколько примеров команд условных переходов:

— переход, если равно нулю;

— переход, если больше нуля;

— переход, если меньше или равно нулю.

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

еще рефераты
Еще работы по информатике