ГлавнаяСистемы команд микропроцессоров
#278Системы команд микропроцессоров

Команды, оперирующие с подпрограммами

Микропроцессоры Intel 8080 и Motorola 6800 используют стек для работы с подпрограммами. Перед тем как начальный адрес подпрограммы помещается в счетчик команд, текущее содержимое этого счетчика сохраняется в стеке. Это делается для того,…

Микропроцессоры Intel 8080 и Motorola 6800 используют стек для работы с подпрограммами. Перед тем как начальный адрес подпрограммы помещается в счетчик команд, текущее содержимое этого счетчика сохраняется в стеке. Это делается для того, чтобы после выполнения подпрограммы можно было вернуться к основной программе.

Команды вызова и возврата в Intel 8080

Intel 8080 использует команду ВЫЗВАТЬ (CALL) для помещения начального адреса подпрограммы в счетчик команд. Команда RETURN используется для возврата к основной программе, восстанавливая прежнее состояние счетчика команд. Эти команды редко используются программистами из-за их простоты. Intel 8080 также имеет специализированную 1-байтную команду CALL для обработки прерываний, которая называется BST (RESTART).

Особенности команд прерываний в Motorola 6800

Motorola 6800 предлагает более разнообразный набор команд для обработки прерываний. Команда SWI (SOFTWARE INTERRUPT) вызывает переход по определенному адресу и одновременно сохраняет содержимое всех регистров в стеке. RTI (RETURN FROM INTERRUPT) используется для восстановления содержимого всех регистров из стека после прерывания.

Команды останова и бездействия

Как Intel 8080, так и Motorola 6800 имеют команду NO OPERATION, которая увеличивает содержимое счетчика команд на единицу без выполнения каких-либо операций. Intel 8080 использует HLT (HALT) для остановки процессора, возобновление работы которого возможно только после прерывания или сброса. В Motorola 6800 аналогичная функция выполняется командой WAI (WAIT FOR INTERRUPT), которая также сохраняет содержимое всех регистров и ждет сигнала прерывания.

Команда/ФункцияIntel 8080Motorola 6800Описание
Работа со стеком и подпрограммами
CALL (Вызвать)ДаJSR и BSR (JUMP; BRANCH TO SUBROUTINE)Перед начальным адресом подпрограммы содержимое счетчика команд засылается в стек
RETURN (Возврат)Да (RETURN)Да (RTS - RETURN FROM SUBROUTINE)Возвращает к прерванной программе, восстанавливает содержимое счетчика команд
Условный переход
Условные CALL и RETURNДа-Используется редко, позволяет выполнять переходы при определенных условиях
Обработка прерываний
Специальные команды прерыванияCALL для прерываний, BST (RESTART)SWI (SOFTWARE INTERRUPT), RTI (RETURN FROM INTERRUPT)CALL и BST для обработки прерываний; SWI вызывает переход по определенному адресу и запоминает содержимое регистров; RTI восстанавливает содержимое регистров
Команды управления
NO OPERATION (Бездействие)ДаДаУвеличивает на единицу содержимое счетчика команд
HLT (Останов)Да-Останавливает процессор, возобновление работы возможно только по сигналам прерывания или сброса
WAI (Ожидание прерывания)-ДаЗапоминает содержимое всех регистров и ожидает сигнала прерывания
  • Применение команд CALL и RETURN в современных условиях: Несмотря на редкое использование в начальные годы, современные программисты активно применяют эти команды в сложных системах и приложениях для обеспечения модульности кода.
  • Безопасность подпрограмм: Современные аспекты безопасности требуют дополнительных механизмов защиты стека при вызове подпрограмм, что не было предусмотрено в первоначальных реализациях микропроцессоров Intel 8080 и Motorola 6800.
  • Эволюция команд прерываний: С развитием микропроцессорных технологий команды прерывания, такие как SWI и RTI, получили более сложные и безопасные аналоги в новых микропроцессорах, что позволило повысить эффективность обработки исключительных ситуаций в системах.
  • Оптимизация команды NO OPERATION: В современных процессорах команда NO OPERATION используется для оптимизации времени выполнения программ, позволяя процессору эффективно управлять ресурсами при ожидании завершения других задач.
  • Применение команды HALT в современных системах: В современных вычислительных системах команда HALT может использоваться для энергосбережения, позволяя процессору входить в режим низкого энергопотребления в периоды простоя.