Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ЭВМ-студ Юдин.doc
Скачиваний:
26
Добавлен:
09.04.2015
Размер:
881.15 Кб
Скачать

Основные команды эвм

Система команд у типичной ЭВМ включает в себя от 60 до 250 базовых команд. Все команды в основном служат для выполнения очень простых действий, типа чтения, записи, сложения, сдвига и т.д.

«Интеллектуальность» ЭВМ достигается за счет того, что ЭВМ способна выполнять программы, состоящие из большого числа таких простых команд с огромной скоростью.

Классификация команд ЭВМ

    1. По функциональному назначению

  • команды передачи данных

  • команды обработки данных

  • команды передачи управления

  • дополнительные команды

    1. По количеству адресов

  • безадресный

  • с первого адреса

  • со второго адреса

  • с третьего адреса

III. По способу кодирования операции

  • с фиксированной длиной кода операции

  • с переменной длинной кода операции

IV. По длине

  • один байт (слово)

  • 2 байта (слово)

  • 3 байта (слово)

Команды передачи данных

Данная группа команд включает в себя подгруппу команд передачи кода внутри МП между регистрами, из регистров МП в память, из памяти в регистры, из одних ячеек памяти в другие и передачи данных между МП и портами ВУ.

Отдельную подгруппу составляют команды работы со стеком. Они позволяют включать данные в стек для временного хранения и извлекать данные из стека при необходимости их использования.

Команды обработки данных

Данную группу команд можно подразделить на арифметические, логические и команды сдвига.

Команды этого типа могут иметь один или два операнда. Операнды могут хранится в регистрах, ЦП, памяти или самой команде. Результат данной группы операций формируется в регистре-приемнике или в специальном регистре-аккумуляторе.

Команды этой группы формируют признаки результатов, устанавливая в регистре флагов процессора перенос из старшего разряда, переполнение, нулевой результат. К арифметическим командам относят также и команды сравнения, т.к. для сравнения двух чисел ЦП выполняет операцию вычитание. По результату вычитания устанавливаются флаги во флаговом регистре МП. Результат вычитания не сохраняется в памяти, но по состоянию флагового регистра можно узнать о результатах сравнения двух величин.

Многие ЦП имеют команды сравнения операнда с 0. В других МП имеются команды проверки или установки состояния отдельных битов в операнде.

Команды передачи управления

Они имеют важное значение, т.к. используются для изменения естественного порядка следования команд и организации циклических участков в программах. Простейшей командой передачи управления является команда безусловного перехода JMP, которая загружает адрес перехода, указанного в команде в программный счетчик.

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

Команды для работы с подпрограммами. Стек.

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

Адрес программы, на которую управление передается после окончания работы подпрограммы, называется адресом возврата. Для организации подпрограмм большинство ЭВМ используют аппаратно-поддерживаемую структуру данных, называемую стеком. Стек – это структура данных, организованная по принципу LIFO. В ЭВМ для организации стека выделяется область ОП, а для адресации и доступа к стеку используется регистр-указатель стека.

Указатель стека хранит адрес ячейки памяти, содержащий последнее помещенное в стек значение. При записи числа в стек указатель стека модифицируется так. Чтобы он указывал на следующую свободную ячейку, в которую записываются данные. При извлечение из стека данные считываются из ячейки, на которую указывает указатель стека, затем указатель стека модифицируется так, чтобы указывать на предпоследнее заполненное значение. Обычно стеки растут в сторону уменьшения адресов, т.е. при записи числа указатель стека уменьшается, а при увеличение увеличивается.