[ЭКЗАМЕН 06] Выполнение программы. Машинный код. Исполняемые файлы. Язык ассемблера. - mRrvz/bmstu-asm GitHub Wiki

Выполнение программы

1. Определение формата файла (.COM или .EXE, в случае 8086)
2. Чтение и разбор заголовка
3. Считывание разделов исполняемого модуля (файла) в ОЗУ по необходимым адресам.
4. Подготовка к запуску, если требуется. (установка регистров; настройка окружения, загрузка библиотек (см. 1 ЛР, 2 часть))
5. Передача управления на точку входа.

Дальше выполняются инструкции заданные в самой программе.

Машинный код

Машинный код - набор команд, который напрямую интерпертируется процессором.
Каждая машинная инструкция выполняет определенное действие.

Исполняемые файлы

Исполняемый файл — файл, содержащий программу в виде, в котором она может быть исполнена компьютером.
Стадии получения: компиляция + линковка (компоновка).

Компилятор - программа для преобразования исходного текста другой программы на определенном ЯП в объектный модуль.
Линковщик (компоновщик) - связывает несколько объектных файлов в исполняемый файл

Язык ассемблера

Язык ассемблера - машинно-зависимый язык программирования низкого уровня, команды которого прямо соответствуют машинным командам.

Следующий вопрос: Классификация команд процессора x86.

Предыдущий вопрос: Процессор 8086. Шина адреса. Сегментная модель памяти.