Изучение архитектуры и основ программирования микроконтроллеров. Индришенок В.И - 16 стр.

UptoLike

-16-
lsl Rd
Логический сдвиг разрядов регистра влево, старший разряд пе-
реносится lsl во флаг переноса С, в младший заносится 0.
rol Rd
Циклический сдвиг-вращение влево. В отличие от команды lsl, в
младший разряд заносится прежнее значение С.
asr Rd
Арифметический сдвиг вправо семи старших разрядовцело-
численное деление на 2.
В программе на Ассемблере вместе с командами содержатся
директивы, используемые на этапе трансляции программы в ма-
шинный код, но сами не транслируются. Выше уже упоминались
директивы: .def , присваивающая имена регистрам, и .equ , присваи-
вающая имена и значение константам. При трансляции команд вме-
сто имён подставляются адреса или значения. Практически любая
программа
содержит директиву .include , по которой во время
трансляции подключается дополнительный файл –“исходник”. На-
пример, директива .include “8515def.inc” подключает расположен-
ный в той же директории, что и программа, файл, в котором как
константы определены имена регистров ввода/вывода и их отдель-
ных бит, а также имена адресов векторов прерывания. Эти имена
фактически стандартны
для рассматриваемых микроконтроллеров и
используются как в технических описаниях, так и в примерах про-
грамм. Ниже даётся описание ещё нескольких директив.
.cseg,
.dseg,
.eseg
отмечают в исходном тексте начало сегментов с программным кодом,
данными для программной памяти (Flash) и данными для электриче-
ски перепрограммируемой памяти (EEPROM).
.byte
резервирует указанное параметром директивы число байт во встроен-
ной оперативной памяти данных (SRAM).
.db,
.dw
определяют одну или последовательность одно- или двухбайтовых
констант в памяти программ, данных или EEPROM в зависимости от
места-сегмента нахождения директивы.
.set
присваивает имя и значение метке, имя может использоваться в выражениях
Ассемблера, значение может быть изменено другой такой же директивой.
.org
присваивает значение, заданное параметром, программному счетчику
PC или счетчику положения в SRAM.
В Ассемблере в качестве одного из операндов команды мо-
жет использоваться выражение. Выражение может содержать
операнды, операторы и функции. В роли операндов могут быть
метки, переменные и константы, введённые с помощью директив,
а также непосредственные значения. Тип операцийарифмети-
ческие, логические и отношения. Функции выполняют простей-
                                     -16-

lsl Rd        Логический сдвиг разрядов регистра влево, старший разряд пе-
              реносится lsl во флаг переноса С, в младший заносится 0.
rol Rd        Циклический сдвиг-вращение влево. В отличие от команды lsl, в
              младший разряд заносится прежнее значение С.
asr Rd        Арифметический сдвиг вправо семи старших разрядов – цело-
              численное деление на 2.
     В программе на Ассемблере вместе с командами содержатся
директивы, используемые на этапе трансляции программы в ма-
шинный код, но сами не транслируются. Выше уже упоминались
директивы: .def , присваивающая имена регистрам, и .equ , присваи-
вающая имена и значение константам. При трансляции команд вме-
сто имён подставляются адреса или значения. Практически любая
программа содержит директиву .include , по которой во время
трансляции подключается дополнительный файл –“исходник”. На-
пример, директива .include “8515def.inc” подключает расположен-
ный в той же директории, что и программа, файл, в котором как
константы определены имена регистров ввода/вывода и их отдель-
ных бит, а также имена адресов векторов прерывания. Эти имена
фактически стандартны для рассматриваемых микроконтроллеров и
используются как в технических описаниях, так и в примерах про-
грамм. Ниже даётся описание ещё нескольких директив.
.cseg,   отмечают в исходном тексте начало сегментов с программным кодом,
.dseg,   данными для программной памяти (Flash) и данными для электриче-
.eseg    ски перепрограммируемой памяти (EEPROM).
.byte    резервирует указанное параметром директивы число байт во встроен-
         ной оперативной памяти данных (SRAM).
.db,     определяют одну или последовательность одно- или двухбайтовых
.dw      констант в памяти программ, данных или EEPROM в зависимости от
         места-сегмента нахождения директивы.
.set     присваивает имя и значение метке, имя может использоваться в выражениях
         Ассемблера, значение может быть изменено другой такой же директивой.
.org     присваивает значение, заданное параметром, программному счетчику
         PC или счетчику положения в SRAM.
     В Ассемблере в качестве одного из операндов команды мо-
жет использоваться выражение. Выражение может содержать
операнды, операторы и функции. В роли операндов могут быть
метки, переменные и константы, введённые с помощью директив,
а также непосредственные значения. Тип операций – арифмети-
ческие, логические и отношения. Функции выполняют простей-