Виды компиляторов

Компиляторы бывают оценочные и профессиональные.

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

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

Оценочные компиляторы обычно предлагаются бесплатно фирмами - производителями микроконтроллеров. Только фирма Intel предложила в свое время профессиональный пакет разработки программ - язык программирования PLM-51 в состав, которого входит профессиональный язык программирования ASM-51.

Профессиональные компиляторы разрабатываются и продаются отдельными фирмами. Для микроконтроллеров семейства MCS-51 получили известность продукты таких фирм как FRANCLIN, IAR, KEIL. В состав современных средств написания и отладки программ для микроконтроллеров обычно входят эмуляторы процессоров или отладочные платы, текстовый редактор, компиляторы языка высокого уровня (чаще всего "C") и ассемблера, редактор связей и загрузчик программы в отладочную плату. Все программы обычно объединены интегрированной средой разработки программного проекта, позволяющую поддерживать один или несколько программных проектов.

В данном курсе рассматривается язык пограммирования микроконтроллеров Ассемблер ASM-51 как наиболее простой, дающий общее представление о структуре команд микроконтроллеров семейства MCS-51 и сопособам построения микропрограмм для этих микроконтроллеров.

Алфавит Ассемблера состоит из прописных и строчных латинских букв, из цифр, знаков препинания и некоторых других символов, которые перечислены ниже в порядке возрастания их ASCII кода:

! # “ $ % & ` () * +, -. /

0 1 2 3 4 5 6 7 8 9:; < = >?

@ A B C D E F G H I J K L M N O

P Q R S T U V W X Y Z [ \ ] ^ _

' a b c d e f g h i j k l m n o

p q r s t u v w x y z { | } ~

Кроме того, транслятор воспринимает символы, не имеющие отображения (пробел, табуляцию и пару символов - возврат каретки и перевод строки), но изменяющих положение следующих за ними символов текста. Транс­лятор производит грамматический разбор текста построчно. Каждая строка (аналог предложения) делится на лексемы (аналоги слов). В Ассемб­лере имеются лексемы 5 видов: специальные символы, имена (идентифи­каторы), числовые литералы, строковые литералы и комментарии. Специ­альные символы служат для обозначения операций в выражениях и в качестве разделителей других лексем.

Ассемблер не является языком свободной формы. Синтаксис Ассемб­лера в части записи операторов следует таким же правилам, какие приме­нялись для программирования в кодах. Каждый оператор Ассемблера также занимает одну строку, состоящую из четырех полей:

поле_метки поле_мнемокода поле_операндов;поле комментариев.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: