Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика.doc
Скачиваний:
4
Добавлен:
26.09.2019
Размер:
270.34 Кб
Скачать

Краткая характеристика языков программирования.

При классификации языков программирования выделялись:

1. Машинные языки;

2. Машинно-ориентированные языки (Assembler);

3. Алгоритмические языки;

4. Процедурно- и проблемно-ориентированные языки;

5. Интегрированная система программирования.

Самый нижний уровень из вышеперечисленных языков – машинный язык.

При составлении программ на машинном языке необходимо решить:

1. Распределение памяти для данных, обрабатываемых программой – сформировать таблицу символов (ТС). Например: сформировать таблицу в начале памяти.

Имя параметра

Адрес в ОЗУ

A

00000

00000

B

00001

00001

C

00002

00002

2. Распределить память для команд программы, начиная с адреса, который будет соответствовать вводу слова в ОЗУ с устройством ввода, по адресу 00000 (А) с кодом операции (КОП) 07. Машинные команды можно свести в таблицу кодов операций.

3. Составить программу, для чего записать коды машинных команд с указанием их размещения в ОЗУ, то есть программу можно представить в виде таблицы.

Адрес команды

КОП

Адрес операнда

Действия команды

01000

07

00000

Ввод по адресу А

При этом в ОЗУ между ячейками размещения данных и команд будут свободные ячейки, так как команды, начиная с 01000, будут записываться в память. Для оптимального использования ОЗУ эти ячейки необходимо заполнить. При отладке или корректировке размеры памяти меняются, поэтому приведенные шаги с 1 по 3 необходимо повторять.

Недостатки программно-машинного кода:

1. Неэффективное использование памяти.

2. Действия шагов 1 и 2 формальные не творческие, вызывают много ошибок при программировании. Их можно автоматизировать.

3. Реальные системные команды компьютера громоздкие (сотни различных команд), трудно воспринимаются, запись кодов – трудоемкий процесс.

Достоинства программно-машинного кода:

1. Высокое быстродействие.

2. Минимальные затраты памяти.

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

Ассемблерные языки программирования

Ассемблерные языки имеют особенности:

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

2. Размещение в ОЗУ данных и команд выполняется автоматически (транслятором – компилятором). Шаги 1 и 2 при этом выполняются без пустых ячеек – память используется оптимально.

3. Сохраняется оптимальность по быстродействию и памяти, то есть потери не превышают 5-10%.

Поэтому для системного программирования ассемблерные языки – основные.

Перекодировка ассемблерной команды выполняется транслятором за два подхода в следующей последовательности:

1й проход: составляется таблица символов;

2й проход: с использованием таблиц кодов и операций выполняется перекодировка команд в двоичные коды.

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

При их использовании потери быстродействия составляют 10-15%.