Тема: Составление программ на языке низкого уровня.

ЯЗЫКИ ПРОГРАММИРОВАНИЯ НИЗКОГО УРОВНЯ

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

Тема: Составление программ на языке низкого уровня. - student2.ru

Рис.1. Пример машинного кода и представления его на ассемблере

Трансляторы делятся на:

· компиляторы - превращают текст программы в машинный код, который можно сохранить и затем использовать уже без компилятора (примером являются исполняемые файлы с расширением *. exe);

· интерпретаторы - превращают часть программы в машинный код, выполняют и после этого переходят к следующей части. При этом каждый раз при выполнении программы используется интерпретатор.

Примером языка низкого уровня является ассемблер. Языки низкого уровня ориентированы на конкретный тип процессора и учитывают его особенности, поэтому для переноса программы на ассемблере на другую аппаратную платформу ее нужно почти полностью переписать. Определенные различия имеются и в синтаксисе программ под разные компиляторы. Правда, центральные процессоры для компьютеров фирм AMD и Intel практически совместимы и отличаются лишь некоторыми специфическими командами. А вот специализированные процессоры для других устройств, например, видеокарт, телефонов содержат существенные различия.

Преимущества

С помощью языков низкого уровня создаются эффективные и компактные программы, поскольку разработчик получает доступ ко всем возможностям процессора.

Недостатки

· Программист, работающий с языками низкого уровня, должен быть высокой квалификации, хорошо понимать устройство микропроцессорной системы, для которой создается программа. Так, если программа создается для компьютера, нужно знать устройство компьютера и, особенно, устройство и особенности работы его процессора;

· результирующая программа не может быть перенесена на компьютер или устройство с другим типом процессора;

· значительное время разработки больших и сложных программ.

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

Ассемблер - язык низкого уровня, что широко применяется до сих пор.

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

Подготовка к работе

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

2. Пользуясь системой команд, составьте программу сложения двух однобайтовых чисел без знака:

а) числа последовательно вводятся с внешнего устройства с адресом 2;

б) числа находятся в ОЗУ по выбранным адресам.

В обоих случаях предусмотрите вывод результата на внешнее устройство с адресом 3 и сохранение в ячейке ОЗУ

Запишите в шестнадцатеричной системе счисления вводимые числа и результат, а также содержимое используемых РОН, аккумулятора и регистра флагов по завершении программы. Рассмотрите два случая: сумма не превышает значения 255 и сумма превышает 255. Программу оформите в виде табл.1.

Таблица 1

Работа в лаборатории

1. Создайте свой каталог и скопируйте в него программы av.bat, a85.com, avsim85.exe, avsim85.hlpи подкаталогerror.

Данную и все последующие лабораторные работы проводите только в своем каталоге!

2. В подкаталоге errorзаписаны короткие программы, содержащие ошибки. Проассемблируйте и отладьте несколько примеров по указанию преподавателя.

3. В текстовом редакторе (Shift/F4) наберите подготовленную дома программу. Проассемблируйте ее и исправьте возможные ошибки.

4. Вызовите моделирующую программу Avsim85, загрузите прикладную программу и выполните ее в пошаговом режиме, отмечая изменения содержимого регистров МП и памяти. Загрузку и выполнение прикладной программы проведите для всех рассмотренных дома вариантов.

Содержание отчета

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

Наши рекомендации