Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по Ассемблеру.docx
Скачиваний:
12
Добавлен:
09.11.2018
Размер:
125.1 Кб
Скачать

Содержание

1.Введение 1

2.Архитектура микропроцессоров Intel 8086 2

2.1.Общие принципы работы МП 8086 при выполнении прикладных программ 3

2.2.Регистры 4

2.3. Адресация 6

3.Система команд 10

3.1.Команды пересылки данных 10

3.2.Арифметические команды 12

3.3.Битовые команды 12

3.4.Строковые команды 13

3.5.Команды передачи управления 14

1.2.Условные 16

1.1.Безусловные 16

3.6.Команды прерываний 19

4.СТРУКТУРА ПРОГРАММЫ НА ЯЗЫКЕ АССЕМБЛЕРА 19

4.1.Основные понятия языка ассемблера 19

4.2.Написание сегмента данных 20

4.3.Написание сегмента стека 20

4.4.Написание сегмента кода 21

4.5.Написание головной подпрограммы 21

4.6.Подготовка программ к выполнению 23

4.7.Отладка программ в Turbo Debugger 23

5.СПЕЦИФИКА ВСТРОЕННОГО АССЕМБЛЕРА 24

5.1.Оператор ASM 24

5.2.Синтаксис ассемблерных команд 25

5.3.Операции 29

5.4.Директивы ассемблера 32

  1. Введение

В настоящее время одной из основных ЭВМ для решения большинства практических задач является IBM-совместимый компьютер с процессорами Intel Pentium и совместимыми процессорами. Для написания эффективных по времени выполнения программ для данных машин необходимо знать принципы работы процессора, команды, которые он может выполнять и т.д. Процессоры Intel Pentium совместимы по командам с первым процессором этой серии – Intel 8086, поэтому программы для Intel 8086 выполняются и на процессорах Pentium.

Языки программирования компьютеров делятся на 2 основные группы:

1) языки низкого уровня;

2) языки высокого уровня.

  К языкам низкого уровня относятся языки Ассемблера. Свое название они получили от имени системной программы Ассемблер, которая преобразует исходные программы, написанные на таких языках, непосредственно в коды машинных команд. Термин "Ассемблер" произошел от английского слова assembler (сборщик частей в одно целое). Частями здесь служат операторы, а результатом сборки последовательность машинных команд. Процесс сборки называется ассемблированием.

  Язык Ассемблера объединяет в себе достоинства языка машинных команд и некоторые черты языков высокого уровня. Ассемблер обеспечивает возможность применения символических имен в исходной программе и избавляет программиста от утомительного труда (неизбежного при программировании на языке машинных команд) по распределению памяти компьютера для команд, переменных и констант.

  Ассемблер позволяет также гибко и полно использовать технические возможности компьютера, как и язык машинных команд. Транслятор исходных программ в Ассемблере проще транслятора, требующегося для языка программирования высокого уровня. На Ассемблере можно написать столь же эффективную по размеру и времени выполнения программу, как и программу на языке машинных команд. Это достоинство отсутствует у языков высокого уровня. Этот язык часто применяют для программирования систем реального времени, технологическими процессами и оборудованием, обеспечение работы информационно-измерительных комплексов. К таким системам обычно предъявляются высокие требования по объему занимаемой машинной памяти. Часто язык Ассемблера дополняется средствами формирования макрокоманд, каждая из которых эквивалентна целой группе машинных команд. Такой язык называют языком макроассемблера. Применение мак - "строительных" блоков и приближает язык Ассемблера к языку высокого уровня.

  Ассемблер машинно-зависимый язык, т. е. он отражает особенности архитектуры конкретного типа компьютера. Исходная программа, написанная на ассемблере, состоит из одного или нескольких исходных модулей, а каждый модуль – из операторов.

Ассемблер дает возможность программиро­вать на уровне отдельных машинных инструкций. Это - главное отличие ассемблера от Паскаля и в этом отличии сосредоточены все его достоинства и недостатки. Досто­инство заключается в том, что, программируя на ассемблере, программист обычно выбирает последовательность машинных инструкций так, чтобы реализовать нужные вычисления с максимальной скоростью при минимальных затратах памяти. В то время как даже такой совершенный компилятор, как компилятор Турбо Паскаля, неизбежно вносит в машинный код некоторую избыточность, уменьшающую скорость счета и увеличивающую затраты памяти. С другой стороны, программирование на уровне машинных инструкций - чрезвычайно хлопотное занятие и не может сравнить­ся по скорости разработки программ с программированием на Паскале - в этом заключается главный недостаток ассемблера.