Главная страница
Случайная страница
КАТЕГОРИИ:
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Команды языка ассемблер
Основные типы команд в группе команд передачи данных AVR-контроллера
Основные арифметические команды AVR-контроллера.
Команды языка ассемблер
Набор команд AT90S2313
КОМАНДЫ ПЕРЕСЫЛКИ
| MOV
| Rd, Rr
| Пересылка между рег.
| Rd< Rr
| None
|
| LDI
| Rd, K
| Загрузить константу
| Rd< K
| None
|
| LD
| Rd, X
| Загрузить регистр непосредственно
| Rd< (X)
| None
|
| LD
| Rd, X+
| Загрузить регистр непоср. c пост инкрем.
| Rd< (X), X< X+1
| None
|
| LD
| Rd, -X
| Загрузить регистр непоср. с предв.декрем.
| X< X-1, Rd< (X)
| None
|
| LD
| Rd, Y
| Загрузить регистр непосредственно
| Rd< (Y)
| None
|
| LD
| Rd, Y+
| Загрузить регистр непоср. c пост инкрем.
| Rd< (Y), Y< Y+1
| None
|
| LD
| Rd, -Y
| Загрузить регистр непоср. с предв.декрем.
| Y< Y-1, Rd< (Y)
| None
|
| LDD
| Rd, Y+q
| Загрузить регистр непоср. со смещением
| Rd< (Y+q)
| None
|
| LD
| Rd, Z
| Загрузить регистр непосредственно
| Rd< (Z)
| None
|
| LD
| Rd, Z+
| Загрузить регистр непоср. c пост инкрем.
| Rd< (Z), Z< Z+1
| None
|
| LD
| Rd, -Z
| Загрузить регистр непоср. с предв.декрем.
| Z< Z-1, Rd< (Z)
| None
|
| LDD
| Rd, Z+q
| Загрузить регистр непоср. со смещением
| Rd< (Z+q)
| None
|
| LDS
| Rd, k
| Загрузить из ОЗУ
| Rd< (k)
| None
|
| ST
| X, Rr
| Записать регистр непосредственно
| (X)< Rr
| None
|
| ST
| X+, Rr
| Записать регистр непоср.c пост инкр.
| (X)< Rr, X< X+1
| None
|
| ST
| -X, Rr
| Записать регистр непоср.c пред.декрем.
| X< X-1, (X)< Rr
| None
|
| ST
| Y, Rr
| Записать регистр непосредственно
| (Y)< Rr
| None
|
| ST
| Y+, Rr
| Записать регистр непоср.c пост инкр.
| (Y)< Rr, Y< Y+1
| None
|
| ST
| -Y, Rr
| Записать регистр непоср.c пред.декрем.
| Y< Y-1, (Y)< Rr
| None
|
| STD
| Y+q, Rr
| Запис.рег.непоср.со смещением
| (Y+q)< Rr
| None
|
| ST
| Z, Rr
| Записать регистр непосредственно
| (Z)< Rr
| None
|
| ST
| Z+, Rr
| Записать регистр непоср.c пост инкр.
| (Z)< Rr, Z< Z+1
| None
|
| ST
| -Z, Rr
| Записать регистр непоср.c пред.декрем.
| Z< Z-1, (Z)< Rr
| None
|
| STD
| Y+q, Rr
| Запис.рег.непоср.со
смещением
| (Y+q)< Rr
| None
|
| STS
| k, Rr
| Записать в ОЗУ
| (k)< Rr
| None
|
| LPM
|
| Загр.из памяти прогр.
| R0< (Z)
| None
|
| IN
| Rd, P
| Ввод из порта
| Rd< P(адрес порта, 0-63)
| None
|
| OUT
| P, Rr
| Вывод в порт
| P< Rr
| None
|
| PUSH
| Rr
| Записать в стек
| STACK< Rr
| None
|
| POP
| Rr
| Прочитать из стека
| Rr< STACK
| None
|
| //------Включение стека----------------------
.include " m8535def.inc";
.ORG$0;
rjmp Reset
Reset:
ldi r16, $02;
out SPH, r16;
ldi r16, $5f
out SPL, r16
//-------------------------------------------------------------
|