Меню сайта
Поиск
Форма входа
Категории раздела
Учеба [4]
Электроника [1]
Компы [0]
Hi-Tech [0]
Прочее [1]
Мини-чат
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Воскресенье, 19.05.2024, 01:57
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход
Антиботанский сервак
Главная » Статьи » Учеба

Система команд микроконтроллеров MCS-51

Система команд ОМЭВМ предоставляет большие возможности обработки данных, обеспечивает реализацию логических, арифметических операций, а также управление в режиме реалиного времени. Реализована побитовая, потетрадная (4 бита), побайтовая (8 бит) и 16-разрядная обработка данных.

БИС семейства MCS-51 - 8-разрядная ОМЭВМ: ПЗУ, ОЗУ, регистры специального назначения, АЛУ и внешние шины имеют байтовую организацию. Двухбайтовые данные используются только регистром-указателем (DPTR) и счетчиком команд (РС). Следует отметить, что регистр-указатель данных может быть использован как двухбайтовый регистр DPTR или как два однобайтовых регистра специального назначения DPH и DPL. Счетчик команд всегда используется как двухбайтовый регистр.

Набор команд ОМЭВМ имеет 42 мнемонических обозначения команд для конкретизации 33 функций этой системы.

Синтаксис большинства команд ассемблерного языка состоит из мнемонического обозначения функции, всед за которым идут операнды, указывающие методы адресации и типы данных. Различные типы данных или режимы адресации определяются установленными операндами, а не изменениями мнемонических обозначений.

Систему команд условно можно разбить на пять групп:

Существуют следующие типы адресации операндов-источников:

Таблица обозначений и символов, используемых в системе команд

Обозначение, символ Назначение
А Аккумулятор
Rn Регистры текущего выбранного банка регистров
r Номер загружаемого регистра, указанного в команде
direct Прямо адресуемый 8-битовый внутренний адрес ячейка данных, который может быть ячейкой внутреннего ОЗУ данных (0-127) или SFR (128-255)
@Rr Косвенно адресуемая 8-битовая ячейка внутреннего ОЗУ данных
data8 8-битовое непосредственное данное, входящее в КОП
dataH Старшие биты (15-8) непосредственных 16-битовых данных
dataL Младшие биты (7-0) непосредственных 16-битовых данных
addr11 11-битовый адрес назначения
addrL Младшие биты адреса назначения
disp8 8-битовый байт смещения со знаком
bit Бит с прямой адресацией, адрес которого содержит КОП, находящийся во внутреннем ОЗУ данных или SFR
a15, a14...a0 Биты адреса назначения
(Х) Содержимое элемента Х
((Х)) Содержимое по адресу, хранящемуся в элементе Х
(Х)[M] Разряд М элемента Х

+
-
*
/
AND
OR
XOR
/X
Операции:
сложения
вычитания
умножения
деления
логического умножения (операция И)
логического сложения (операция ИЛИ)
сложения по модулю 2 (исключающее ИЛИ)
инверсия элемента Х

Мнемонические обозначения функций однозначно связаны с конкретными комбинациями способов адресации и типами данных. Всего в системе команд возможно 111 таких сочетаний. В таблице приведен перечень команд, упорядоченных по алфавиту.

Мнемоника Функция Флаги
Команда ACALL <addr 11> Абсолютный вызов подпрограммы  
Команда ADD A, <байт-источник> Сложение AC, C, OV
Команда ADDC A, <байт-источник> Сложение с переносом AC, C, OV
Команда AJMP <addr 11> Абсолютный переход  
Команда ANL <байт-назначения>, <байт-источникa> Логическое "И"  
Команда ANL C, <байт-источникa> Логическое "И" для переменных-битов C
Команда CJNE <байт-назначения>, <байт-источник>, <смещение> Сравнение и переход, если не равно C
Команда CLR A Сброс аккумулятора  
Команда CLR <bit> Сброс бита C, bit
Команда CPL A Инверсия аккумулятора  
Команда CPL <bit> Инверсия бита C, bit
Команда DA A Десятичная коррекция аккумулятора для сложения AC, C
Команда DEC <байт> Декремент  
Команда DIV AB Деление C, OV
Команда DJNZ <байт>, <смещение> Декремент и переход, если не равно нулю  
Команда INC <байт> Инкремент  
Команда INC DPTR Инкремент указателя данных  
Команда JB <bit>, <re18> Переход, если бит установлен  
Команда JBC <bit>, <re18> Переход, если бит установлен и сброс этого бита  
Команда JC <re18> Переход, если перенос установлен  
file://Inel/archive/component_CD/atmel/Компоненты%20компании%20Atmel%20Corporation%202004/html.cgi/txt/doc/micros/mcs51/asm/jmp.htm Косвенный переход  
Команда JNB <bit>, <re18> Переход, если бит не установлен  
Команда JNC <re18> Переход, если перенос не установлен  
Команда JNZ <re18> Переход, если содержимое аккумулятора не равно нулю  
Команда JZ <re18> Переход, если содержимое аккумулятора равно 0  
Команда LCALL <addr16> Длинный вызов  
Команда LJMP <addr16> Длинный переход  
Команда MOV <байт-назначения>, <байт-источника> Переслать переменную-байт  
Команда MOV <бит-назначения>, <бит-источника> Переслать бит данных C
Команда MOV DPTR,#data16 Загрузить указатель данных 16-битовой константой  
file://Inel/archive/component_CD/atmel/Компоненты%20компании%20Atmel%20Corporation%202004/html.cgi/txt/doc/micros/mcs51/asm/movc_a.htm Переслать байт из памяти программ  
Команда MOVX <байт приемника>, <байт источника> Переслать во внешнюю память (из внешней памяти) данных  
Команда MUL AB Умножение C, OV
Команда NOP Нет операции PC
Команда ORL <байт-назначения>, <байт-источникa> Логическое "ИЛИ" для перемнных-байтов  
Команда ORL C, <бит источникa> Логическое "ИЛИ" для переменных-битов C
Команда POP <direct> Чтение из стека  
Команда PUSH <direct> Запись в стек  
Команда RET Возврат из подпрограммы  
Команда RETI Возврат из прерывания  
Команда RL A Сдвиг содержимого аккумулятора влево  
Команда RLC A Сдвиг содержимого аккумулятора влево через флаг переноса  
Команда RR A Сдвиг содержимого аккумулятора вправо  
Команда RRC A Сдвиг содержимого аккумулятора вправо через флаг переноса C
Команда SETB <bit> Установить бит C
Команда SJMP <метка> Короткий переход  
Команда SUBB A, <байт источника> Вычитание с заемом AC, C, OV
Команда SWAP A Обмен тетрадами внутри аккумулятора  
Команда XCH A, <байт> Обмен содержимого аккумулятора с переменной-байтом  
file://Inel/archive/component_CD/atmel/Компоненты%20компании%20Atmel%20Corporation%202004/html.cgi/txt/doc/micros/mcs51/asm/xchd_a.htm Обмен тетрадой  
Команда XRL <байт-назначения>, <байт-источникa> Логическое "ИСКЛЮЧАЮЩЕЕ ИЛИ" для перемнных-байтов  

Категория: Учеба | Добавил: Foboss (20.10.2010)
Просмотров: 2302 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Copyright MyCorp © 2024
Создать бесплатный сайт с uCoz