русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Команды пересылки данных микроконтроллера -8051


Дата добавления: 2015-08-31; просмотров: 619; Нарушение авторских прав


Эта группа представлена 28 командами, их краткое описание приведено в таблице, где также указаны тип команды (Т) в соответствии с таблицей, ее длина в байтах (В) и время выполнения в машинных циклах (С).

 

Мнемокод КОП Т В С Описание
MOV A, Rn 11101rrr 1 1 1 (A) <-- (Rn)
MOV A, ad 3 2 1 (A) <--(ad)
MOV A, @Ri 1110011i 1 1 1 (A) <-- ((Ri))
MOV A, #d 2 2 1 (A) <-- #d
MOV Rn, A 11111rrr 1 1 1 (Rn) <-- (A)
MOV Rn, ad 10101rrr 3 2 2 (Rn) <-- (ad)
MOV Rn, #d 01111rrr 2 2 1 (Rn) <-- #d
MOV ad, A 3 2 1 (ad) <--(A)
MOV ad, Rn 10001rrr 3 2 2 (ad) <-- (Rn)
MOV add, ads 9 3 2 (add) <-- (ads)
MOV ad, @Ri 1000011i 3 2 2 (ad) <-- ((Ri))
MOV ad, #d 7 3 2 (ad) <-- #d
MOV @Ri, A 1111011i 1 1 1 ((Ri)) <-- (A)
MOV @Ri, ad 0110011i 3 2 2 ((Ri)) <-- (ad)
MOV @Ri, #d 0111011i 2 2 1 ((Ri)) <-- #d
MOV DPTR, #d16 3 3 2 (DPTR) <-- #d16
MOVC A, @A+DPTR 1 1 2 (A) <-- ((A)+(DPTR))
MOVC A, @A+pc 4 1 2 (PC) <-- (PC+1), (A) <-- ((A)+(PC))
MOVX A,@Ri 1 1 2 (A) <-- ((Ri))
MOVX a, @DPTR 1 1 2 (A) <-- ((DPTR))
MOVX @Ri, A 1111001i 1 1 2 ((Ri)) <-- (A)
MOVX @DPTR, A 1 1 2 (DPTR)) <-- (A)
PUSH ad 3 2 2 (SP) <-- (SP)+1, ((SP)) <-- (ad)
POP ad 3 2 2 (ad) <-- ((SP)), (SP) <-- (SP)-1
XCH A, Rn 11001rrr 1 1 1 (A) <-> (Rn)
XCH A, ad 3 2 1 (A) <-->(ad)
XCH A, @Ri 1 1 1 (A) <->((@Ri))
A, @Ri 1 1 1 (А0-3)<->((@Ri0-3))

 



По команде MOV выполняется пересылка данных из второго операнда в первый. Эта команда не имеет доступа ни к внешней памяти данных, ни к памяти программ. Для этих целей предназначены команды M0VX и MOVC соответственно. Первая из них обеспечивает чтение/запись байт из внешней памяти данных, вторая - чтение байт из памяти программ.

По команде XCH выполняется обмен байтами между аккумулятором и ячейкой РПД, а по команде XCHD - обмен младшими тетрадами (битами 0 - 3).

Команды PUSH и РОР предназначены соответственно для записи данных в стек и их чтения из стека .Размер стека ограничен лишь размером резидентной памяти данных. В процессе инициализации микроконтроллеры после сигнала сброса или при включении питающего напряжения в SP заносится код 07Н. Это означает, что первый элемент стека будет располагаться в ячейке памяти с адресом 08Н.

Группа команд пересылок микроконтроллера имеет следующую особенность - в ней нет специальных команд для работы со специальными регистрами: PSW, таймером, портами ввода-вывода. Доступ к ним, как и к другим регистрам специальных функций, осуществляется заданием соответствующего прямого адреса, т.е. это команды обычных пересылок, в которых вместо адреса можно ставить название соответствующего регистра. Например, чтение PSW в аккумулятор может быть выполнено командой

MOV A, PSW

которая преобразуется Ассемблером к виду

MOV А, 0D0h (E5 D0),

где Е5 - код операции, а D0 - операнд (адрес PSW).

Кроме того, следует отметить, что в микроконтроллере аккумулятор имеет два различных имени в зависимости от способа адресации: А - при неявной адресации (например, MOV A, R0) и АСС - при использовании прямого адреса. Первый способ предпочтительнее, однако, не всегда применим.

 



<== предыдущая лекция | следующая лекция ==>
Oбозначения, используемые при описании команд | Команды арифметических операций микроконтроллера -8051


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.192 сек.