
- •Вопрос 1
- •Вопрос 2
- •Алгоритм работы управляющего автомата
- •Inta - признак начала работы в режиме прерывания.
- •Вопрос 3
- •Способы адресации
- •Спецкоманды
- •Псевдокоманды
- •2.4. Способы адресации
- •2.5. Форматы команд 16-разрядного мп
- •2.6. Система команд 16-разрядного мп
- •2.6.1. Команды передачи данных
- •2.6.2. Команды обработки данных
- •2.6.3. Команды управления
- •2.6.4. Команды условного перехода
- •2.6.5. Команды обработки цепочек данных
- •Вопрос 4
- •Вопрос 5
- •Организация шин микроЭвм.
- •Увеличение нагрузочной способности шин мп
- •Шинные формирователи
- •Системный контроллер
- •Вопрос 6
- •Вопрос 7
- •Инициализация.
- •2 Разряда
- •Г Сброс раф работы первичного автомата
- •Вопрос 8
- •Структурная схема.
- •Режимы работы.
- •Управляющие слова, инициализация (уси).
- •Каскадная схема включения.
- •Вопрос 10
- •3.4. Обработка прерываний
- •3.5. Организация прямого доступа к памяти
- •3.6. Запуск и сброс микропроцессора
- •Вопрос 11
- •Вопрос 12
- •Вопрос 13
- •Вопрос 14
- •Вопрос 15
- •Сторожевые таймеры
- •Организация таймеров/счетчиков.
2.6.3. Команды управления
Команда CALL служит для вызова подпрограмм. Имеется два типа команды CALL: для межсегментных вызовов подпрограмм с прямой и косвенной адресацией и для внутрисегментных вызовов подпрограмм с прямой и косвенной адресацией.
При выполнении команды CALL addr для межсегментного вызова подпрограммы с прямой адресацией содержимое программного счетчика РС увеличивается на 5 (относительно первого адреса первого байта команды) и заносится в стек. Содержимое регистра SP уменьшается на 4. Новое значение РС определяется первыми двумя байтами адреса, содержащегося в команде CALL, а новое значение регистра CS - вторыми двумя байтами адреса, содержащегося в команде САLL.
При выполнении команды CALL [M] для межсегментного вызова подпрограммы с косвенной адресацией адрес подпрограммы выбирается из четырех ячеек памяти, причем адрес первой ячейки указан в [M] .
Для команд (CALL disp и CALL R/[M] ) внутрисегментных вызовов подпрограмм содержимое счетчика РС запоминается в стеке. Содержимое регистра SP уменьшается на 2. Новое содержимое программного счетчика РС определяется значением disp для прямой адресации или содержимым регистра R или памяти [M] для косвенной адресации. Новое содержимое сегментного регистра CS определяется суммированием старых значений счетчика РС и регистра CS.
Каждому типу команды CALL для возврата из подпрограммы соответствует своя команда RET. Для внутрисегментных возвращений из подпрограмм используются команды RET (C3H) и RET (C2H) disp, для межсегментных возвращений из подпрограмм - RET (CBH) и RET (CAH) disp. Смещение disp в командах RET прибавляется к содержимому указателя стека SP.
Команда JMP безусловного перехода в отличие от команды CALL не записывает какую-либо информацию в стек. Имеется пять типов команд:
JMP disp - внутрисегментный переход с прямой адресацией и 16-разрядным смещением disp;
JMP disp - внутрисегментный переход с прямой адресацией и 8-разрядным смещением disp;
JMP R/[M] - внутрисегментный переход с косвенной адресацией;
JMP addr - межсегментный переход с прямой адресацией;
JMP [M] - межсегментный переход с косвенной адресацией.
Команды условного перехода приведены в табл. 2.6
2.6.4. Команды условного перехода
Таблица 2.6
Обозначение команды |
Условие перехода |
Описание условия перехода |
JA, JNBE
JAE, JNB
JB, JNAE JBE, JNA JC JNC JZ, JE JBZ, JNE JGE, JNL JL, JNGE JLE, JNG JNO JO JP, JPE JNP, JPO JNS JS |
(CvZ) = 0
С = 0
C = 1 (CvZ) = 1 C = 1 С = 0 Z = 1 Z = 0 (S + O) = 0 (S + O) = 1 ((S+O)vZ)=1 O = 0 O = 1 P = 1 P = 0 S = 0 S = 1 |
Больше с учетом знака или не меньше с учетом знака и не эквивалентно Больше с учетом знака или не меньше с учетом знака или равно Меньше с учетом знака или не больше и не эквивалентно Меньше с учетом знака, или эквивалентно, или не больше Переход к переносу Переход по непереносу Переход по нулю результата Результат не равен нулю Больше, или эквивалентно, или не меньше Меньше или не больше и не эквивалентно Меньше, или эквивалентно, или не больше Нет переполнения Переполнение Число двоичных единиц четное Число двоичных единиц нечетное Положительный результат Отрицательный результат |
В систему команд МП К1810ВМ86 входят команды управления циклами.
Команда LOOP служит для декремента регистра СХ и безусловного перехода по (СХ)=0.
Команды LOOPZ или LOOPE осуществляют декремент регистра СХ и переход по условию (СХ)=0 и Z=1, команды LOOPNZ или LOOPNE по (СХ)0.
Команда JCXZ аналогична команде JMP, но переход осуществляется, если (СХ)=0.
Состояния разрядов регистра признаков могут быть изменены командами:
CLC - сброс признака переноса;
CMC - инвертирование признака переноса;
CLD - сброс признака декремента/инкремента;
CLI - сброс признака разрешения прерывания;
STC - установка признака переноса;
STD - установка признака декремента/инкремента;
STI - установка признака разрешения прерывания.
Для обслуживания прерываний служат команды:
INT - программное прерывание;
INTO- прерывание по переполнению;
IRET- возврат из прерывания.
Управление работой МП осуществляется командами:
HLT - останов;
WAIT- ожидание по сигналу низкого уровня на выводе 23 МП;
ESC - переключение на сопроцессор;
NOP - нет операции.