- •4. Программирование микропроцессоров
- •4.1. Запись программ
- •4.2. Методы адресации
- •4.3. Состав команд арифметических действий
- •4.4. Состав команд логических операций
- •4.5. Команды перемещения данных
- •4.6. Команды операций перехода и передачи управления
- •4.7. Команды операций вызова подпрограмм и возврата в основную программу
- •4.8. Команда загрузки в стек и возврата в основную программу
- •4.9. Команды управления
- •Вопросы для самоконтроля
4.9. Команды управления
Команды управления IN (ввод) и ОUТ (вывод), обеспечивающие обмен данными между МП, периферийными устройствами и устройствами ввода – вывода, помещены в одноименном разделе.
Второй байт этих команд задает адрес устройства, с которым ведется обмен. При выполнении команд IN и OUТ формируются специальные системные сигналы управления 4В и 3В, что позволяет обеспечить разделение адресных пространств памяти и периферийных устройств. Байт адреса даст возможность обращаться к 256 портам ввода и 256 портам вывода. Например, для выполнения команды ввода IN данные порта ввода 0000 1111, на который указывает второй байт команды, передаются в аккумулятор, исходя из порта ввода, идентифицированного LОС.
Команды управления прерываниями Е1 и D1 устанавливают и сбрасывают триггер разрешения прерывания. Когда выполняется начальная установка MП, триггер разрешения прерывания сбрасывается, и система не воспринимает запросов на прерывание от внешних устройств. Разрешить прерывание можно только программно с помощью команды Е1, устанавливающей РП=1. Эта команда подается также в ходе выполнения программ обработки прерываний: вначале, если требуется организовать вложение прерываний, или в конце для обеспечения следующего прерывания по окончании обработки данных.
Команда NОР (нет операции) используется для организации коротких задержек (1 или 2 мкс) и замены ненужных команд при отладке программы. Это однобайтовая команда, единственным эффектом которой является инкремент счетчика команд.
Команда НLТ вызывает прекращение выполнения программы и переход МП в состояние «Останов» при сохранении состояния всех регистров МП. Вывод из состояния останов возможен при подаче сигнала сброса «Сб», вызывающего сброс программного счетчика, или путем перехода к обработке запроса прерывания, если предварительно установлен триггер разрешения прерывания. В последнем случае после выполнения подпрограммы обработки прерывания в счетчик команд МП заносится адрес команды, следующей за командой НLT.
Рис. 4.10. Выполнение команды загрузки в стек PUSH
Вопросы для самоконтроля
На какие группы делятся команды МП К580?
Зачем программисту необходимо знать код первого байта команды?
Зачем программисту необходимо знать число байтов команды?
Зачем программисту необходимы данные о числе циклов и тактов в команде?
Зачем в табл. 4.1 приведена символика (операция) команд?
Перечислите какие арифметические действия может выполнять МП.
Как MП выполняет вычитание?
Как МП выполняет умножение и деление?
Как MП производит сложение двоично-десятичных чисел?
Как МП использует значения бит Z и СY регистра F?
Какая команда инкрементирования не влияет на индикатор нуля (см. табл. 4.1)?
Какой КОП у команды "сравнить прямо" (см. табл. 4.1.)?
Какой индикатор переноса будет у команды CPI после ее выполнения (установлен, сброшен) (см. табл. 4.1.)?
Каким будет содержимое пары регистров НL после операции инкрементирования (см. табл. 4.1)?
Индикаторы подвержены влиянию многих арифметических операций, но используются МП в ходе операций (ветвления, логических)?
Перечислите по табл. 4.1 состав команд логических операций?
Откуда поступает операнд, подверженный операции ИЛИ непосредственно (ORI) с содержимым аккумулятора?
Что означает в табл. 4.2 знак +?
Какова роль регистра F при составлении команд логических операций?
Перечислите по табл. 4.1 состав команд перемещения денных?
Какие функции выполняют команды перемещения данных? Напишите их символику.
Что означает в коде первого байта команды MOV RР (см. табл. 4.1) буквы D и S ,
Какой вид адресации применяется в команде STA?
Какова роль регистра F в командах перемещения данных?
Через какой узел MП перемещаются данные при выполнении команд МOV, МVl, LXI, STA?
Какова роль регистра F при составлении команд MП KР580?
Какое еще название имеют команды операций перехода и передачи управления?
Перечислите все функции команд условного перехода.
Как записывается мнемоника команд перехода, вызова и возврата в табл. 4.1 и как по ней перейти к табл. 4.5?
Почему команды CALL и REТ всегда используются парно?
Какой формат имеют команды CALL и REТ, какая у них символика?
Какая адресация у команд CALL и REТ?
Какие команды обеспечивают работу со стеком, сколько их?
Что означает в команде PUSH PSW вторая часть?
Если команды PUSH использованы для размещения содержимого регистров МП в стек, то какие команды будут использованы для восстановления содержимого регистров?
Что означает выражение «вершина стека»?
Когда происходит декремент указателя стека, а когда его инкремент?
Где находится стек в схеме микроЭВМ?
