Основные этапы развития технологий программирования Программирование в кодах и ассемблер
Любая программа для ЭВМ — системная или прикладная — воспринимается (распознается) процессором только в том случае, если она состоит из специальных команд, коды которых известны процессору определенного типа.
Команды записаны в памяти компьютера в специальном формате. Каждая команда состоит из ее кода, определяющего действие (сложение, вычитание и т.д.) и адресов операндов, над которыми это действие необходимо выполнить. В вольном переводе на русский язык некоторую команду можно, например, интерпретировать так: сложить два числа, находящиеся в памяти по адресам 100 и 120. В компьютере команды хранятся обычно в виде набора двоичных чисел. Часть набора определяет сущность команды (ее код), остальная часть определяет адреса операндов.Разные типы ЭВМ имеют отличные друг от друга способы кодировки команд. Так, на персональных 1ВМ-совмес-
тимых компьютерах[50] некоторая команда сложения может иметь вид: 0000 ООН 1100 ООН. А на «древних» компьютерах типа М-220 команда сложения двух чисел могла выглядеть так:
001 00000001100100 00000001111000 00000001111011.
Поэтому программа в кодах компьютера является машинно-зависимой и непереносимой, т.е. подготовленная для компьютера одного типа, она не сможет выполняться на других. Этот факт определяет основной недостаток программирования в кодах.
Вторым недостатком программирования в кодах является сильное дробление программы. Дело в том, что логически команды процессора достаточно примитивны и обуславливают выполнение простейших операций. Так, программирование несложной формулы x=(a+b)(c+d) требовало задания серии команд типа:
- сложить а и Ь, промежуточный результат записать в
аіг
я сложить с иё, промежуточный результат записать в а2’
- умножить а; на аг, результат записать в х.
Первоначально программирование велось в кодах.
Визуально каждая программа состояла из большого количества команд-строк, похожих на приведенные выше двоичные коды. Это определяло третий недостаток программирования в кодах — затрудненную читаемость программы и, как следствие, сложность исправления (отладки) или доработки программы.Однако программированию в кодах присущи и значительные плюсы. Программист управляет всеми ресурсами компьютера, полностью контролирует текущее состояние ЭВМ, выбирает наиболее оптимальный код команды. Самые короткие по объему и наиболее быстрые по выполне
нию программы или их фрагменты разрабатываются и сегодня в кодах. Для облегчения наглядности программы в кодах разработаны специальные символические языки - ассемблеры. В них каждой команде компьютера сопоставляется определенный символьный код, являющийся сокращением «родных» для человека слов. Специальная программа (она также называется ассемблером) переводит (транслирует) «непонятную» для компьютера (но более понятную для человека) символьный строку в коды компьютера. T^iK, приведенные вы’че коды команд сложения на ассемблере могли выглядеть так: ADD АХ, ВХ (сложить числа из регистров АХ и ВХ и результат запомнить в АХ). При программировании на ассемблере человек может оперировать не с адресами памяти, в которых хранятся данные, а с их символическим представлением. Например, вначале ассемблеру специальной инструкцией сообщается, что по такому-то адресу хранится число, названное для программиста как а. Далее человек не задумывается над тем, по какому адресу находится соответствующее число, но просто использует его имя а.
Ассемблер является машинно-зависимым языком программирования, так как его инструкции соответствуют кодам команд компьютера. Поэтому ассемблерная программа может выполняться только на тех ЭВМ, для которых она разрабатывалась. Кроме того, для работы на ассемблере требуется детальное знание особенностей конкретной ЭВМ.
Еще по теме Основные этапы развития технологий программирования Программирование в кодах и ассемблер:
- • Принцип оптимальности в планировании и управлении, общая задача оптимального программирования • Формы записи задачи линейного программирования и ее экономическая интерпретация • Математический аппарат • Геометрическая интерпретация задачи • Симплексный метод решения задачи 2.1. Принцип оптимальности в планировании и управлении, общая задача оптимального программирования
- Методические основы стратегического планирования и программирования развития отраслевого комплекса
- Принципы стратегического планирования и программирования развития горнопромышленных комплексов местного значения
- Программирование развития отрасли по добыче общераспространенных полезных ископаемых и смежных отраслей
- Модульное программирование
- Язык программирования
- Языки программирования высокого уровня
- Программирование, управляемое событиями
- 3.3. Целочисленное программирование
- Программирование государственных финансов
- 2.2. Формы записи задачи линейного программирования и ее экономическая интерпретация
- 4. Разработка Л. В. Канторовичем метода линейного программирования.
- 3.5. Нелинейное и динамическое программирование; понятие об имитационном моделировании
- Параметрическое программирование 1 (35 вариантов).
- б. Линейное программирование