ВУЗ:
Составители:
-13-
чает в себя текстовый редактор, транслятор-ассемблер, отладчик-
симулятор и программу загрузки Flash-памяти и EEPROM через
специальное устройство-программатор. Язык ассемблера состоит
из набора команд-инструкций, в которых можно использовать
простые операторные выражения, и директив, используемых на
этапе трансляции-ассемблирования.
Базовый набор команд подразделяется на арифметико-
логические, передачи данных, переходов и битовые
. Команда со-
стоит из кода операции и одного или двух операндов. Ряд команд
не содержит операндов. Операндом может являться: либо значе-
ние, непосредственно заносящееся в команду; либо адрес ячейки,
содержащей значение, - прямая адресация; либо адрес ячейки, со-
держащей адрес, - косвенная адресация. Список и подробное опи-
сание команд содержится в [1-6] а
также в справочном разделе
среды программирования AVR Studio. Ниже рассматриваются
примеры команд в таком виде, как они записываются в программе.
В арифметических и логических командах обязательным
операндом является один из рабочих (операционных) регистров.
В мнемокоде этот операнд указывается первым и является как ре-
гистром источником, так и регистром назначения, в который за-
носится
результат операции (за исключением операций сравне-
ния). В соответствии с результатом операции устанавливаются
значения флагов в регистре состояния SREG.
add r16, r20
Сложение данных, находящихся в регистрах r16 и r20 ..
adc tmp, r21
Сложение данных, находящихся в регистрах tmp и r20, и ;
значения бита переноса C в регистре флагов состояния SREG.
( tmp –имя регистра, предварительно присвоенное директивой
ассемблера, например, .def tmp=r17).
inc tmp
Увеличение значения в регистре tmp на 1.
com tmp
Инвертирование разрядов (дополнение до единицы).
neg tmp
Смена знака (дополнение до двух).
cp tmp, level
Сравнение - вычитание значения level из значения tmp. Флаги
SREG изменяются в соответствии с результатом. Операнды-
регистры не изменяются.
cpi tmp, up2
Сравнение значения tmp и константы up2,предварительно
объявленной директивой ассемблера (.equ up2=170).
ori tmp, $30
Поразрядное ИЛИ значения tmp и непосредственно заданного
шестнадцатиричного числа. Результат помещается в
регистр tmp.
-13- чает в себя текстовый редактор, транслятор-ассемблер, отладчик- симулятор и программу загрузки Flash-памяти и EEPROM через специальное устройство-программатор. Язык ассемблера состоит из набора команд-инструкций, в которых можно использовать простые операторные выражения, и директив, используемых на этапе трансляции-ассемблирования. Базовый набор команд подразделяется на арифметико- логические, передачи данных, переходов и битовые. Команда со- стоит из кода операции и одного или двух операндов. Ряд команд не содержит операндов. Операндом может являться: либо значе- ние, непосредственно заносящееся в команду; либо адрес ячейки, содержащей значение, - прямая адресация; либо адрес ячейки, со- держащей адрес, - косвенная адресация. Список и подробное опи- сание команд содержится в [1-6] а также в справочном разделе среды программирования AVR Studio. Ниже рассматриваются примеры команд в таком виде, как они записываются в программе. В арифметических и логических командах обязательным операндом является один из рабочих (операционных) регистров. В мнемокоде этот операнд указывается первым и является как ре- гистром источником, так и регистром назначения, в который за- носится результат операции (за исключением операций сравне- ния). В соответствии с результатом операции устанавливаются значения флагов в регистре состояния SREG. add r16, r20 Сложение данных, находящихся в регистрах r16 и r20 .. adc tmp, r21 Сложение данных, находящихся в регистрах tmp и r20, и ; значения бита переноса C в регистре флагов состояния SREG. ( tmp –имя регистра, предварительно присвоенное директивой ассемблера, например, .def tmp=r17). inc tmp Увеличение значения в регистре tmp на 1. com tmp Инвертирование разрядов (дополнение до единицы). neg tmp Смена знака (дополнение до двух). cp tmp, level Сравнение - вычитание значения level из значения tmp. Флаги SREG изменяются в соответствии с результатом. Операнды- регистры не изменяются. cpi tmp, up2 Сравнение значения tmp и константы up2,предварительно объявленной директивой ассемблера (.equ up2=170). ori tmp, $30 Поразрядное ИЛИ значения tmp и непосредственно заданного шестнадцатиричного числа. Результат помещается в регистр tmp.
Страницы
- « первая
- ‹ предыдущая
- …
- 11
- 12
- 13
- 14
- 15
- …
- следующая ›
- последняя »