Лабораторный практикум

  • 06 дек. 2013 г.
  • 42156 Слова
CОДЕРЖАНИЕ

Лабораторная работа № 6. Основы программирования на языке ассемблера. Ассемблирование, компоновка и отладка программы | 4 |
Лабораторная работа № 7. Организация стековой памяти | 13 |
Лабораторная работа № 8. Прерывания. Работа микропроцессора при организации программных прерываний | 31 |
Лабораторная работа № 9.Основные директивы ассемблера. Модели памяти | 42 |Лабораторная работа № 10. Команды пересылки данных | 53 |
Лабораторные работы № 11,12. Арифметические команды | 70 |
Лабораторные работы № 13,14. Логические команды | 101 |
Лабораторная работа № 15. Команды передачи управления | 116 |
Лабораторная работа № 16. Команды условного и безусловного переходов | 133 |
Лабораторная работа № 17. Циклы и условные переходы | 146 |
Лабораторные работы № 18,19,20.Составление, написание и отладка программ на языке ассемблера. Работа с графикой | 164 |

Лабораторная работа № 6.
Основы программирования на языке ассемблера. Ассемблирование, компоновка и отладка программы

Цель работы: закрепить теоретические знания по изученным командам ассемблера, проследить этапы подготовки исходного текста, трансляции, компоновки и отладки.

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

Теоретическая часть:

Если существующие сегодня языки программирования (а их насчитывается не один десяток) условно разбить на две категории, то в одну из них попадет язык ассемблера, а в другую - все остальные. В то время, как языки высокого уровня ориентированы на решение тех или иных прикладныхзадач (математических, экономических и др.) и содержат в себе средства алгоритмического описания этих задач, язык ассемблера является отражением архитектуры процессора, т.е. его логического устройства, режимов и алгоритмов функционирования. Операторы языка ассемблера представляют собой фактически команды микропроцессора, только выраженные не в виде машинных кодов, а с помощью более или менеенаглядных мнемонических обозначений. Эта особенность языка ассемблера определяет его возможности и сферы использования. Программы, написанные на языке ассемблера, отличаются высокой эффективностью, т.е. минимальным объемом и максимальным быстродействием. Это обстоятельство обусловило широкое использование языка ассемблера в тех случаях, когда скорость работы программы или расходуемая ею память имеютрешающее значение. Некоторые классы программ (например, программы драйверов устройств, отличающиеся жесткой структурой) требуют для своего составления обязательного использования языка ассемблера. Язык ассемблера также удобен для написания программ управления нестандартной аппаратурой, подключаемой к компьютеру с целью построения автоматизированных систем управления научными измерениями или технологическимипроцессами, тем более, что от таких программ часто требуется еще и максимальное быстродействие.

Ассемблирование и компоновка программы
После того, как вы набрали текст программы в текстовом редакторе (Norton commander, Dos navigator),coxpaнитe файл, например PRIMER.ASM. Перед тем, как вы сможете его запустить, вам потребуется преобразовать программу в выполняемый вид. На схеме изображен полный циклсоздания программы (редактирование, ассемблирование, компоновка и выполнение), это потребует двух дополнительных шагов - ассемблирования и компоновки.
Выполняемый файл PRIMER.EXE

На этапе ассемблирования ваш исходный код (текст программы) превращается в промежуточную форму, которая называется объектным модулем, а на этапе компоновки один или несколько модулей комбинируются в выполняемуюпрограмму. Ассемблирование и компоновку вы можете выполнять с помощью командной строки.
Ассемблирование программы
Для ассемблирования файла PRIMER.ASM наберите команду:
TASM primer
Если вы не задали другое имя, файл PRIMER.ASM будет ассемблирован в файл PRIMER.OBJ. (Заметим, что расширение имени файла вводить не требуется). На экране вы увидите следующее:
Turbo...