- •Программное управление — основа автоматизации вычислительного процесса
- •2 Состав машинных команд
- •3 Режимы работы компьютеров
- •3.1 Однопрограммные и многопрограммные режимы
- •I.Система прерываний программ в пк
- •3.2 Адресация регистров и ячеек памяти в пк
- •3.3 Относительная адресация
- •II.Стековая адресация
- •3.4 Элементы программирования на языке ассемблер
- •4 Основные компоненты языка ассемблер
- •4.1Алфавит языка
- •4.2 Константы (числа и строки)
- •4.3 Директивы (псевдооператоры)
- •4.4 Модификаторы
- •4.5 Адресация регистров и ячеек памяти в ассемблере
- •4.6 Непосредственная адресация
- •4.7 Прямая адресация регистров мпп
- •4.8 Адресация ячеек оп
- •Основные команды языка ассемблер
- •A.Команды пересылки данных
- •I.Команды сложения, вычитания и сравнения
- •1.Команды приращения
- •A.Команды умножения
- •I.Команды безусловной передачи данных
- •4.9 Команды перехода к подпрограмме и выхода из подпрограммы
- •4.10 Команда перехода к подпрограмме: call opr
- •4.11 Команда выхода из подпрограммы
- •4.12 Команды условной передачи управления
- •4.13 Команды условной передачи управления для беззнаковых данных
- •4.14 Команды условной передачи управления для знаковых данных
- •4.15 Команды условной передачи управления для прочих проверок
- •4.16 Команды управления циклами
- •4.17 Команды прерывания
- •4.18Основные директивы ассемблера
- •4.19 Директивы определения идентификаторов
- •4.20 Директивы определения данных
- •Директивы определения сегментов и процедур
- •4.21 Директивы управления трансляцией
- •5 Краткие сведения о программировании процедур работы с устройствами ввода-вывода
- •5.1 Программирование работы с дисплеем
- •5.2 Видеооперации с прерыванием 10н bios
- •5.3 Видеооперации с прерыванием 21н dos
- •5.4 Программирование работы с клавиатурой
- •5.5 Программирование работы с принтерами
- •5.6 Печатающие устройства параллельного типа
- •5.7 Печатающее устройство последовательного типа
- •5.8 Программирование работы с файлами
- •5.9 Прерывания, используемые при работе с файлами на дисках
- •5.10 Некоторые аспекты создания исполняемых программ
- •5.11 Процедуры формирования программы
- •5.12 Структура исходной программы на языке ассемблера для получения исполняемой программы .Ехе
- •5.13 Основные сведения о листинге и его структуре
- •5.14 Особенности структуры машинных команд
- •5.14 Последовательность работы пк при выполнении программы
- •6 Краткие сведения об отладчике программ debug
- •6.1 Основные команды отладчика debug
2 Состав машинных команд
Современные компьютеры автоматически выполняют несколько сотен различных команд. Например, стандартный набор современных ПК содержит более 240 машинных команд.
Все машинные команды можно разделить на группы по видам выполняемых операций:
операции пересылки информации внутри компьютера;
арифметические операции над информацией;
логические операции над информацией;
операции над строками (текстовой информацией);
операции обращения к внешним устройствам компьютера;
операции передачи управления;
обслуживающие и вспомогательные операции.
Пояснения требуют операции передачи управления (или, иначе, — ветвления программы), которые служат для изменения естественного порядка выполнения команд. Существуют операции безусловной передачи управления и операции условной передачи управления.
Операции безусловной передачи управления всегда обусловливают выполнение после данной команды не следующей по порядку, а той, адрес которой в явном или неявном виде указан в адресной части команды.
Операции условной передачи управления вызывают тоже передачу управления по адресу, указанному в адресной части команды, но только в том случае, если выполняется некоторое заранее оговоренное для этой команды условие. Это условие в явном или неявном виде указано в коде операции команды. Команд условной передачи управления насчитывается обычно до нескольких десятков — по числу используемых условий.
Команд безусловных передач управления обычно только три:
команда передачи управления, которая просто передает управление по заданному адресу и больше никаких действий не выполняет;
команда передачи управления (ее часто называют командой вызова процедуры или подпрограммы), которая кроме передачи управления процедуре еще и запоминает в специальной стековой памяти адрес следующей команды (адрес возврата из процедуры);
безадресная команда передачи управления (команда возврата из процедуры), возвращающая управление по запомненному адресу возврата.
Вторая и третья из названных команд безусловных передач управления работают «на пару» — одна передает управление процедуре, другая возвращает из нее. Важную роль в выполнении этих команд передачи управления (да и при многих других ситуациях, отрабатываемых компьютером) играет специальным образом организованная область оперативной памяти — стековая память. Обращение к ячейкам этой памяти выполняется по принципу «последний записанный операнд первым считывается» или, иначе, «первым вошел — последним вышел» (FILO — first input, last output). Стековая память позволяет удобно реализовать процессы иерархического обращения ко многим процедурам (количество уровней иерархии практически не ограничено), последовательно записывая и выдавая по принципу FILO адреса возврата каждой из них.
Последовательность подготовки и решения задачи на компьютере обычно следующая:
Формулировка и формализованная постановка задачи.
Выбор математической модели и метода решения задачи.
Разработка алгоритма решения задачи, то есть последовательности процедур, которые необходимо выполнить для решения задачи.
Составление программы решения задачи, то есть запись алгоритма решения задачи на языке, понятном машине.
Ввод программы в компьютер и ее отладка.
Ввод исходных данных и решение задачи на компьютере.
Анализ полученных результатов и выводы по результатам решения.
