Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции части 1 и 2 начало части3.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
231.94 Кб
Скачать

3.3 Машинный язык и язык ассемблера

Необходимо понимать - как соотносятся между собой "машинный язык" и "язык ассемблера" и - не путать эти понятия.

Любая программа на машинном языке - набор двоичных кодов, легко разбираемых устройством управления процессора, но, увы – очень трудных для чтения человеком. "Машинная команда" - последовательность двоичных чисел. Сначала – двоичное число (двоичный код) КОП, затем – двоичные числа атрибутов.

В языке Ассемблера двоичные коды: коды команд, адреса данных - заменены на словесные, "мнемонические обозначения" - более удобные для восприятия человеком. Программист может написать программу на языке ассемблера, и такая программа – будет очень близка к машинной программе. Отличаться будет – только формой записи.

На машинном языке –На Assembler’е запись команд выглядит так:

КОП A1 A2 A3

Пример: ADD mem3 mem2 mem1

ADD – мнемоническое имя для операции сложения

mem1, mem2 – мнемонические имена ячеек памяти, где находятся исходные данные.

mem3 – мнемоническое имя ячейки памяти, куда будет помещен результат.

В разговорном языке программистов на ассемблере, мнемонические имена иногда называют, не совсем по смыслу точно, но зато проще и короче: то просто "именами", а то и "адресами".

Программа транслятора на машинный язык – выполнит очень простую операцию: заменит в программе "мнемонические имена" на двоичные числовые коды. Мнемоническое имя ADD – будет заменено на двоичный код команды сложения. Мнемонические имена ячеек памяти – на двоичные коды адресов. В результате – из программы на Ассемблере будет получена "машинная программа", пригодная для выполнения на ЭВМ.

3.4 Формат программы

Если команда состоит из отдельных полей, то программа – из отдельных команд. По аналогии - рассмотрим формат программы, используя рисунок:

K1, K2, ..Kn – команды;

LK1, LK2, ..LKn – длины команд

LП – длина программы

АП – адрес программы (адрес первой команды программы)