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

UptoLike

-14-
В командах этой группы с непосредственной адресацией (два
последних примера) могут использоваться только регистры с r16 по
r31. В остальных командах допустимы все рабочие регистры.
Команды передачи данных
содержат два операнда, первый
из которыхоперанд назначения, второйисточник. Один из
операндов должен быть рабочим регистром, другой может быть
регистром, непосредственным значением, прямым или косвен-
ным адресом данных.
mov Rd, Rr
Передача данных между регистрами. Rd, Rrимена регистров.
ldi Rd, K
Загрузка регистра непосредственным значением. Kчисло или
имя константы (директива .equ).
lds Rd, k
Прямая загрузка регистра из памяти данных SRAM с адреса k ,
заданного числом или именем (директива .equ).
sts k, Rd
Прямая передача байта в адрес k из регистра.
ld Rd, X
Косвенная загрузка регистра из памяти данных SRAM с адреса,
заданного содержимым регистровой пары X.
ld Rd, X+
Косвенная загрузка регистра с последующим увеличением ; со-
держимого X на 1.
ld Rd, -X
Косвенная загрузка регистра с предварительным уменьшением ;
содержимого X на 1.
st X, Rd,
Косвенная передача содержимого регистра в ячейку памяти дан-
ных SRAM с адресом, заданным содержимым X.
Команды с косвенной адресацией и регистровой парой,
примеры которых приведены выше, могут использовать любой из
сдвоенных регистров- X, Y, Z.
В трёх следующих командах один или оба операнда отсут-
ствуют.
lpm
Загрузка из памяти программ (FLASH) байта, адресуемого Z, в R0.
push Rr
Заталкивание содержимого регистра Rr в стек.
pop Rd
Выталкивание байта из стека в регистр Rd
Две команды выполняют передачу байта между рабочим ре-
гистром и каким-либо портом - регистром ввода/вывода.
in Rd, $19
Загрузка рабочего регистра байтом из регистра ввода вывода,
заданного его номером.
out Port, Rd
Загрузка байта из рабочего регистра в порт, заданный именем.
Команды переходов предназначены для изменения после-
довательности выполнения операторов программы. По этим ко-
мандам производится изменение указателя адреса следующей
                                     -14-

      В командах этой группы с непосредственной адресацией (два
последних примера) могут использоваться только регистры с r16 по
r31. В остальных командах допустимы все рабочие регистры.
      Команды передачи данных содержат два операнда, первый
из которых – операнд назначения, второй – источник. Один из
операндов должен быть рабочим регистром, другой может быть
регистром, непосредственным значением, прямым или косвен-
ным адресом данных.
mov Rd, Rr Передача данных между регистрами. Rd, Rr –имена регистров.
ldi Rd, K  Загрузка регистра непосредственным значением. K – число или
               имя константы (директива .equ).
lds Rd, k      Прямая загрузка регистра из памяти данных SRAM с адреса k ,
               заданного числом или именем (директива .equ).
sts k, Rd      Прямая передача байта в адрес k из регистра.
ld Rd, X       Косвенная загрузка регистра из памяти данных SRAM с адреса,
               заданного содержимым регистровой пары X.
ld Rd, X+      Косвенная загрузка регистра с последующим увеличением ; со-
               держимого X на 1.
ld Rd, -X      Косвенная загрузка регистра с предварительным уменьшением ;
               содержимого X на 1.
st X, Rd,      Косвенная передача содержимого регистра в ячейку памяти дан-
               ных SRAM с адресом, заданным содержимым X.
     Команды с косвенной адресацией и регистровой парой,
примеры которых приведены выше, могут использовать любой из
сдвоенных регистров- X, Y, Z.
     В трёх следующих командах один или оба операнда отсут-
ствуют.
lpm          Загрузка из памяти программ (FLASH) байта, адресуемого Z, в R0.
push Rr      Заталкивание содержимого регистра Rr в стек.
pop Rd       Выталкивание байта из стека в регистр Rd
     Две команды выполняют передачу байта между рабочим ре-
гистром и каким-либо портом - регистром ввода/вывода.
in Rd, $19       Загрузка рабочего регистра байтом из регистра ввода вывода,
                 заданного его номером.
out Port, Rd     Загрузка байта из рабочего регистра в порт, заданный именем.
     Команды переходов предназначены для изменения после-
довательности выполнения операторов программы. По этим ко-
мандам производится изменение указателя адреса следующей