Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 22

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 16 17 18 19 20 21 < 22 > 23 24 25 26 27 28 .. 528 >> Следующая

значением (равно или не равно нулю) адресуемого операнда.
Команды битовых операций. Эти команды производят установку значения
признака С в регистре состояний в соответствии со значением тестируемого
бита Ьп в адресуемом операнде. В некоторых микропроцессорах по результату
тестирования бита производится установка признака Z. Номер тестируемого
бита п задается либо содержимым указанного в команде регистра, либо
непосредственным операндом.
Команды данной группы реализуют разные варианты изменения тестируемого
бита. Команда ВТ сохраняет значение этого бита неизменным. Команда BTS
после тестирования устанавливает значение Ьп = 1, а команда ВТС-значение
Ьп = 0. Команда ВТС инвертирует значение бита Ьп после его тестирования.
СИСТЕМА КОМАНД И СПОСОБЫ АДРЕСАЦИИ ОПЕРАНДОВ
Операции управления программой. Для управления программой используется
большое количество команд, среди которых можно выделить:
• команды безусловной передачи управления;
• команды условных переходов;
• команды организации программных циклов;
• команды прерывания;
• команды изменения признаков.
Безусловная передача управления производится командой JMP, которая
загружает в программный счетчик PC новое содержимое, являющееся адресом
следующей выполняемой команды. Этот адрес либо непосредственно
указывается в команде JMP (прямая адресация), либо вычисляется как сумма
текущего содержимого PC и заданного в команде смещения, которое является
числом со знаком (относительная адресация). Так как PC содержит адрес
очередной команды программы, то последний способ задает адрес перехода,
смещенный относительно очередного адреса на заданное число байтов. При
положительном смещении производится переход к последующим командам
программы, при отрицательном смещении - к предыдущим.
Вызов подпрограммы также производится путем безусловной передачи
управления с помощью команды CALL (или JSR). Однако в этом случае перед
загрузкой в PC нового содержимого, задающего адрес первой команды
подпрограммы, необходимо сохранить его текущее значение (адрес очередной
команды), чтобы после выполнения подпрограммы обеспечить возвращение к
основной программе (или к предыдущей подпрограмме при вложении
подпрограмм). Текущее содержимое PC обычно сохраняется в стеке, который
организуется в ОЗУ. После выполнения подпрограммы выполняется безусловная
передача управления исходной программе с помощью команды возврата из
подпрограммы RET, которая выбирает из стека и загружает в PC его старое
содержимое.
Команды условных переходов (ветвлений программы) производят загрузку в PC
нового содержимого, если выполняются определенные условия, которые обычно
задаются в соответствии с текущим значением различных признаков в
регистре состояния. Если условие не реализуется, то выполняется следующая
команда программы. В табл. 1.1. приведены типовые команды условных
переходов, которые реализуются в большинстве микропроцессоров (мнемокоды
команд даны для процессоров Pentium).
Таблица 1.1
Типовые команды условных переходов
Мнемокод Условие Мнемокод Условие
J0 Переполнение V = 1 JNO Нет переполнения V = 0
JB Ниже (не выше и не равно) С = 1 JNB Не ниже (выше или равно) С =
0
Е Равно (нуль) ZF = 1 JNE Не равно (не нуль) 2 = 0
JBE Ниже или равно (не выше) С + Z = 1 JNBE Не ниже и не равно
(выше) С + Z = 0
JS Отрицательный знак N = 1 JNS Положительный знак N=0
JL Меньше (не больше и не равно) N (r) V = 1 JNL Не меньше (больше или
равно) N (r) V = 0
JLE Меньше или равно (не больше) (N (r)V) + Z= 1 JNLE Не меньше и не
равно (больше) (N (r)Е V) + Z = 1
33
ОСНОВЫ МИКРОПРОЦЕССОРНОЙ ТЕХНИКИ
В качестве условия часто используется относительное значение двух
операндов, определяемое с помощью команды сравнения СМР. Например,
равенство операндов определяется значением признака нуля Z после команды
СМР: операнды равны, если Z = 1 (результат равен 0); не равны, если Z = 0
(результат не равен 0). Если сравниваются беззнаковые операнды, то
соотношение их значений "выше - ниже - равно" определяют следующие
условия (см. табл. 1.1):
• ниже/не выше и не равно (<), команда JB;
• не ниже/выше или равно (>=), команда JNB;
• ниже или равно/не выше (<=), команда JBE;
• не ниже и не равно/выше (>), команда JNBE.
Если сравниваются операнды со знаком, то соотношение между ними "больше -
меньше - равно" определяют условия (см. табл. 1.1):
• меньше/не больше и не равно (<), команда JL;
• не меньше/больше или равно (>=), команда JNL;
• меньше или равно/не больше (<=), команда JLE;
• не меньше и не равно/больше (>), команда JNLE.
Отметим, что для предварительной установки необходимых признаков могут
использоваться также команды тестирования и битовых операций.
Команды организации программных циклов осуществляют условный переход в
зависимости от значения содержимого заданного регистра, который
используется как счетчик циклов. Например, в процессорах Pentium для
организации циклов используется команда LOOP и регистр ЕСХ. Команда LOOP
Предыдущая << 1 .. 16 17 18 19 20 21 < 22 > 23 24 25 26 27 28 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed