Выражения ассемблер AVR

February 27, 2011 by admin Комментировать »

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

–   числа (десятичные, шестнадцатеричные и двоичные);

–   метки;

–   коды символов ASCII (‘А’) и строки ASCII;

–   символические имена, представляющие переменные, определенные директивой .SET, и константы, определенные директивой .EQU;

–   текущее значение счетчика команд (PC).

Для обозначения шестнадцатеричных чисел используют указатели Ох или $ (0x1а, Oxff, $ff), для двоичных чисел – Ob (ObOOOOl 111, Ob 11111111), десятичные числа не имеют указателей (255, 0).

Помимо операндов в выражения могут входить функции, например:

LOW (выражение) – возвращает младший байт выражения;

HIGH (выражение) – возвращает старший байт выражения;

ЕХР2 (N) – возвращает 2 ;

L0G2 (N) – возвращает целую часть log2N.

При записи выражений можно использовать арифметические, логические и операции отношения. Группу арифметических операций образуют сложение двух чисел или выражений (N + М), вычитание (N – М), умножение (N*M), деление (N;M), изменение знака числа (-N). Группу логических операций образуют инверсия (~N), побитовое И (N&M), побитовое ИЛИ (N М), побитовое исключающее ИЛИ (NflM), сдвиг влево (N«M – сдвинуть N влево на М разрядов), сдвиг вправо (N»M – сдвинуть N вправо на М разрядов). Операции отношений:

–   логическое отрицание (!N – возвращает 1, если N = О, и О, если Nt^O);

–   меньше (N < М – возвращает 1, если N < М, и О, если N > М);

–    больше (N > М – возвращает 1, если выражение N > М, и О, если N < М);

–   меньше или равно (N <= М – возвращает 1, если N <= М, и О, если N > М);

–    больше или равно (N >= М – возвращает 1, если N >= М, и О, если N < М);

–   равно (N = М – возвращает 1, если N = М, и О, если N ^ М);

–     не равно (N != М – возвращает 1, если N ^^ М, и О, если N = M);

–    логическое И (N&&M – возвращает 1, если N ^^ О и М ^^ О, иначе 0);

–    логическое ИЛИ (N||M – возвращает 1, если N = О и М = О, иначе 0).

Для указания очередности операций можно использовать круглые скобки.

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты