- •Программирование на языке Ассемблер
- •Классификация языков программирования
- •Поколения мп
- •Структура мп 8086
- •Регистры мп
- •Регистры общего назначения
- •Сегментные регистры
- •Регистры смещений
- •Регистр флагов
- •Структура и организация памяти
- •Сегментация памяти и формирование адреса
- •Особенности машинных команд
- •Основные команды мп
- •1.2 Перестановка (exchange):
- •1.3 Загрузка исполнительного адреса (load effective address):
- •3.1 Команды умножения
- •3.2 Команды деления
- •Переходы. Циклы
- •Команды сравнения и условного перехода
- •Команды условного перехода
- •3. Команды управления циклом
- •Язык Ассемблера ibm pc. Структура операторов и директив. Метки, переменные и их атрибуты
- •Команды
- •Директивы
- •Директивы определения данных
- •Конструкция повторения dup
- •Директива dd (define double word, определить двойное слово)
- •Директивы эквивалентности и присваивания
- •Структура программы. Логические сегменты
- •Побитовая обработка и ее основные виды
- •2. Команды сдвига
- •2.1. Логические сдвиги
- •2.2. Арифметические сдвиги
- •2.3. Циклические сдвиги
- •Стек и сегмент стека
- •Стековые команды
- •Пример использования стека
- •Модульное программирование
- •Типы объединения модулей
- •Связь Паскаль-Ассемблер
- •Параметры-значения
- •Параметры-переменные
- •Способы адресации
- •Команды строковых примитивов
- •Сканирование строки: scasb, scasw
- •Приемы обработки структурированной информации
- •Inc si ; к следующей оценке
- •Inc dx ; учет отличника
- •Составление и оформление программ на ассемблере
- •Префикс программного сегмента. Com- и exe-программы
- •Команда прерывания
- •Функции прерывания 21h
- •Процесс разработки программы на языке ассемблера
- •Трансляция программы
- •Компоновка программы
- •Макроповторения
- •Макрооператоры
- •Директива local
- •Директивы условного ассемблирования
- •Директивы if и ife
- •Директивы ifidn и ifdif
Программирование на языке Ассемблер
Список литературы
В. Н. Пильщиков Программирование на языке ассемблера IBM PC.
С. В. Зубков Ассемблер.
В. Ю. Пирогов Assembler. Учебный курс.
В. Юров, С. Хорошенко Assembler. Учебный курс.
Абель П. Язык ассемблера для IBM PC и программирования.
Классификация языков программирования
Машинные языки.
Пример: команда сложения двух чисел
|
КОП – код операции А1 – адрес первого операнда А2 – адрес второго операнда | ||||||
|
Сложить число, записанное в ячейке 44 памяти, с числом, записанным в ячейке 48, а затем результат (т.е. сумму) поместить в ячейку 44.
Машинно-зависимые языки.
Ассемблер - символьная форма записи машинного языка.
Процедурно-ориентированные языки.
Проблемно-ориентированные языки.
Поколения мп
1971 – фирма Intel разработала первый микропроцессор (работал с 4-разрядными данными); |
1974 – МП 8080 (работал с 8-разрядными машинными словами и памятью до 64 Кб); |
1976 – появилась первая персональная ЭВМ (то есть процессор плюс память и устройства ввода-вывода), разработанная фирмой Apple; |
1978 – фирма Intel разработала микропроцессор нового поколения – 16-разрядный процессор 8086 с памятью до 1 Мб; |
1979 – появился МП 8088, который также работал с 16-разрядными словами, но использовал 8-разрядную шину, что позволило воспользоваться имевшимися в то время внешними устройствами (дисководами и т. п.) с 8-разрядными соединениями; |
1981 – на базе МП 8088 фирма IBM создала свой первый персональный компьютер (ПК) под названием IBM PC; |
1983 – фирма Intel разработала микропроцессоры 80186 и 80286 (предусмотрены аппаратные средства для реализации многозадачного режима работы ЭВМ); |
1987, 1990 – появлением нового поколения микропроцессоров – 32-разрядных i386 и i486; |
1993 – эпоха 64-разрядных микропроцессоров Pentium. |
Структура мп 8086
МП 8086 - 16-разрядный процессор с памятью до 1 Мб. (1978 г.)
ОУ – операционное устройство;
УШИ – устройство шинного интерфейса;
РОН – регистры общего назначения;
АЛУ – арифметико-логическое устройство;
FR – регистр флагов;
УУ – управляющее устройство;
ОК – очередь команд;
БШ – буфер шин адреса/данных;
ВШ – внешняя шина;
ЕА16 – эффективный адрес;
ФА – физический адрес.
Регистры мп
Все регистры имеют разрядность 16 бит (2 байта). По назначению и способу использования регистры можно разбить на следующие группы:
регистры общего назначения (AX, BX, CX, DX);
сегментные регистры (CS, DS, SS, ES);
регистры смешений (IP, BP, SP, SI, DI);
регистр флагов (Flags).