
4. Состав машинных команд.
Стандартный набор современных ПК содержит более 240 машинных команд, образующих группы по видам выполняемых операций (Слайд 7):
операции пересылки информации внутри компьютера;
арифметические операции над информацией;
логические операции над информацией;
операции над строками (текстовой информацией);
операции обращения к внешним устройствам компьютера;
операции передачи управления;
обслуживающие и вспомогательные операции.
Операции передачи управления (ветвления программы) служат для изменения естественного порядка выполнения команд:
Операции безусловной передачи управления всегда обусловливают выполнение после данной команды, не следующей по порядку, а той, адрес которой в явном или неявном виде указан в адресной части команды, и делятся на:
команды передачи управления, передающие управление по заданному адресу и больше никаких действий не выполняющие;
команды передачи управления (команды вызова процедуры или подпрограммы) - кроме передачи управления процедуре еще запоминают в специальной стековой памяти адрес следующей команды (адрес возврата из процедуры);
безадресные команды передачи управления (команды возврата из процедуры), возвращающие управление по запомненному адресу возврата.
Вторая и третья команд безусловных передач управления работают совместно — одна передает управление процедуре, другая возвращает из нее.
Важную роль в выполнении этих команд передачи управления играет специальным образом организованная область оперативной памяти — стековая память. Обращение к ячейкам этой памяти выполняется по принципу (FILO — first input, last output - первым вошел — последним вышел), т.е. последний записанный операнд первым считывается.
Стековая память позволяет удобно реализовать процессы иерархического обращения ко многим процедурам, последовательно записывая и выдавая по принципу FILO адреса возврата каждой из них.
Операции условной передачи управления вызывают тоже передачу управления по адресу, указанному в адресной части команды, но только в том случае, если выполняется некоторое заранее оговоренное для этой команды условие. Это условие в явном или неявном виде указано в коде операции команды.
Последовательность подготовки и решения задачи на компьютере (Слайд 8):
Формулировка и формализованная постановка задачи.
Выбор математической модели и метода решения задачи.
Разработка алгоритма решения задачи, то есть последовательности процедур, которые необходимо выполнить для решения задачи.
Составление программы решения задачи, (запись алгоритма на языке, понятном машине).
Ввод программы в компьютер и ее отладка.
Ввод исходных данных и решение задачи на компьютере.
Анализ полученных результатов и выводы по результатам решения.