Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SUPR_Sirotin_Shpora.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
4.9 Mб
Скачать
  1. Форматы команд мк.

Если первый символ в строке отличный отп робела явл символ #, то такая строка рассматривается процессором как командная.

Командная строка наз директивами предпроцессора.

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

Осн директивы предпроцессора(в начале обозн #):

Include – испл для включения в прогу др файла;

Defain – для замены единиц языка Си на другие;

Undef – для отмены действия директивы Defain.

Для условных компиляций - If, else, if def, if undef.

Error позволяет остановить компиляцию и сообщить об ошибке.

Asm – для включения в прогу какого-то амиблярного(хз, не могу понять свой подчерк) кода.

Операнд – математическая функция. Каждый операнд имеет тип.

В кач операндов могут служить:

- ( ); - [ ]; - « . »(точка), PORTB.1 – обращение к элементу структуры.

Арифметические:

- «++», «--» - операторы инкремента и автодекремента после того, как выражение, в кот задействован операнды вычислено. - «+-» изменение знака операнда

- «*» умножение; - «/» деление; A=++B – А присвоить значение В, а потом увеличить на единицу.

Логические операнды: ! – логиц отрицание; & - «и»; ^ - исключающее «или»;

| - «или» и т.д.

Переменный деляться на типы. Переменная каждого типа может принимать значение из одного опред диапазона.

Char – только целые числа; Fload – вещественные числа (в частности десятичная дробь); Bit – 0 или 1; Integer – 16 бит…

В языке си любая переменная прежде чем быть использованной должно быть описанной.

При описании задаётся её тип. Описание переменной и задание типа должно быть обязательно, т.к. в языке си прога для хранения значений каждой переменной выделяет опред ресурсы памяти. Это может быть ячейка ОЗУ, РОН (рег общ назн),ячейки flash-памяти и т.д.

Имя переменной выбирает программист. Допускается использование только латинских букв, цифр и символа «_». Наичнаться имя должно с буквы и с «_». Кроме арифм и лог выраж Си использует функции.

Любая прога должна обязательно содержать 1 главную функцию. Главная ф-я наз main.

Выполнение проги всегда начинается с выполнения main.

Оператор while – организ цикл многократногоповторениятела цикла, кот записывается в фигурных скобках. Повторение происходит, пока выполняется условие. Т.е. пока {} является истинным. Принято считать, что выражение истинно, если оно ≠ 0 и ложно, если оно=0.

  1. Способы адресации в мк.

Непосредственная адресация используется только при обращении к регистовому файлу:

А)Непосредственная регистровая, операнды - один регистр и константа;

б) Непосредственная регистровая, операнды - регистровая пара и константа.

Прямая адресация применима ко всему пространству памяти данных. В AVR-контроллерах есть четыре вида прямой адресации:

a) Прямая регистровая, операнд - один регистр. Используется при обращении к регистровому файлу.

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

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

г) Прямая к памяти программ (JMP, CALL) операнды - 16-разрядный адрес 16-разрядного слова в памяти программ.

При косвенной адресации используются регистры X, Y или Z в качестве неявного операнда. Есть четыре типа косвенной адресации:

а) Без явного операнда, используя регистр Z: LPM б) С явным указанием индексного регистра и регистра-получателя: LD Rn,i, где i - X,Y или Z в) С явным указанием индексного регистра, регистра-получателя и смещения: LD Rn,i+q, где i - Y или Z, q - значение смещения относительно адреса в i г) С предекрементом или постинкрементом индексного регистра: LD Rn,X+

Относительная адресация используется только в командах RJMP и RCALL. Адрес следующей команды вычисляется относительно текущего значения счётчика комманд, используя формулу PC=PC+k+1, где -2048<=k<=2047.

Есть два вида битовой адресации:

а) С непосредственным указанием бита (используется только при обращении к слову состояния SREG).

б) С обращением к биту, используя адрес содержащего его элемента памяти данных, например SBR Rn,b

Битовая адресация используется только при обращении к регистровому файлу и к I/O-регистрам.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]