Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КОНСПЕКТ ЛЕКЦИЙ ПО АССЕМБЛЕРУ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
471.55 Кб
Скачать

Ассемблер

Ассемблер – язык программирования низкого уровня, в котором в большинстве случаев одному оператору соответствует одна машинная команда. Это позволяет создавать оптимальные программы специального системного назначения.

Основные понятия языка:

- символы;

- элементарные конструкции;

- выражения;

- операторы.

Алфавит языка:

- прописные и строчные буквы латинского алфавита;

- арабские цифры 0,1, ... ,9;

- знаки арифметических операций + - * / ;

- знаки операций сравнения < > = ;

- скобки () [] ;

- разделители . , : ; ' "

- специальные символы:

- знак вопроса: ?

- коммерческое эт: @

- амперсанд: &

- знак доллара: $

- знак подчеркивания: _

непечатные символы:

- пробел;

- табуляция;

- возврат каретки.

┌───────────────────────────┐

│ Элементарные конструкции │

└──────┬──────┬─────────┬───┘

┌──────────────┘ │ └──────────┐

┌──────────────────┐ ┌──────────────┐ ┌─────────┐

│Зарезервированные │ │Идентификаторы│ │Константы│

│слова │ │ │ │ │

└─┬───────┬─────┬──┘ └─────┬───┬────┘ └──┬───┬──┘

│ │ │ ┌─────┘ │ ┌─────┘ │

│ │

┌─────────┐ │ ┌─────────┐ │ ┌───────────┐ ┌───────┐ ┌──────────┐

│Мнемокоды│ │ │Указатели│ │ │Стандартные│ │ Числа │ │Символьные│

└─────────┘ │ │и функции│ │ │имена │ └─┬───┬─┘ │строки │

│ └─────────┘ │ │регистров │ │ │ │до 255 │

│ └───────────┘ ┌─┘ │ │символов │

┌──────────┐ │ └──────────┘

│Директивы │ ┌────────────────┐ │ ┌─────────────────┐

│ассемблера│ │ Идентификаторы │ │ │Двоичные, │

└──────────┘ │ пользователя │ │ │восьмеричные, │

└────────────────┘ │ │шестнадцатеричные│

└─────────────────┘

┌──────────┐

│Десятичные│

│со знаком │

└──────────┘

Выражения

Выражения ассемблера могут быть двух типов: числовые и адресные. Числовые – вычисляют значение операнда. Адресные – адреса операндов и других объектов.

MOV AX,B[BX+SI]

└──v──┘ – адресное выражение

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

┌─────────────────┐

│ Операторы языка │

└──┬─────┬────┬───┘

┌──────────────┘ │ └────────────────────┐

┌────────────┐ ┌─────────────────────────┐ ┌────────────┐

│ Командные │ │ Операторы распределения │ │ Директивы │

│ операторы │ │ данных │ │ ассемблера │

└────────────┘ └─────────────────────────┘ └────────────┘

( mov al,ah ) ( a db 5 ) ( start proc near )