Название: Микроконтроллеры семейства MCS51 Intel
Вид работы: реферат
Рубрика: Информатика и программирование
Размер файла: 970.57 Kb
Скачать файл: referat.me-138314.zip
Краткое описание работы: Инструкции MCS51 Intel Инструкции, модифицирующие флаги (1) Инструкция C OV AC Инструкция C OV AC CLR C ADDC CPL C SUBB ANL C,bit ANL C,/bit ORL C,bit ORL C, bit
Микроконтроллеры семейства MCS51 Intel
Инструкции MCS51TM Intel
Инструкции, модифицирующие флаги (1)
| Инструкция | C OV AC | Инструкция | C OV AC |
| ADD | X X X | CLR C | O |
| ADDC | X X X | CPL C | X |
| SUBB | X X X | ANL C,bit | X |
| MUL | O X | ANL C,/bit | X |
| DIV | O X | ORL C,bit | X |
| DA | X | ORL C, bit | X |
| RRC | X | MOV C,bit | X |
| RLC | X | CJNE | X |
| SETB C | 1 |
Замечание. Операции с регистром специальных функций с регистром PSW или с его битами также модифицируют флаги.
Условные обозначения операндов:
Rn Регистр R7-R0 текущего банка рабочих регистров
direct 8-bit прямой адрес. Это может быть ячейка внутреннего ОЗУ данных (0-7F h) или SFR (7Fh - 0FFh).
@Ri 8-bit косвенный адрес внутреннего ОЗУ (00 - 0ffh) равен содержимому указателя R0 или R1.
#data 8-bit непосредственная константа, включенная в инструкцию.
#data 16 16-bit непосредственная константа, включенная в инструкцию.
addr 16 16-bit адрес длинного перехода, используемый командами LCALL и LJMP.
addr 11 11-bit адрес относительного перехода, используемый командами ACALL и AJMP.
rel 8-bit смещение со знаком, используемое командой SJMP и командами условных переходов.
bit Прямой адрес бита внутреннего ОЗУ или SFR.
Таблица 1. Список инструкций MCS51TM Intel.
| Мнемоника | Содержание | Byte | Tact |
|
1. Арифметические операции. |
|||
| ADD A,Rn | (A) + (Rn) -> A Сложение | 1 | 12 |
| ADD A,direct | (A) + (direct) -> A | 2 | 12 |
| ADD A,@Ri | (A) + ( (Ri) ) -> A | 1 | 12 |
| ADD A,#data | (A) + #data -> A | 2 | 12 |
| ADDC A,Rn | (A) + (Rn) + c -> A Сложение с учетом переноса | 1 | 12 |
| ADDC A,direct | (A) + (direct) + c -> A | 2 | 12 |
| ADDC A,@Ri | (A) + ( (Ri) ) + c -> A | 1 | 12 |
| ADDC A,#data | (A) - #data - c -> A | 2 | 12 |
| SUBB A,Rn | (A) - (Rn) - c -> A Вычитание с учетом заема | 1 | 12 |
| SUBB A,direct | (A) - (direct) - c -> A | 2 | 12 |
| SUBB A,@Ri | (A) - ( (Ri) ) - c -> A | 1 | 12 |
| SUBB A,#data | (A) - #data - c -> A | 2 | 12 |
| INC A | (A) + 1 -> A Инкремент ( увеличение на единицу ) | 1 | 12 |
| INC Rn | (Rn) + 1 -> Rn | 1 | 12 |
| INC direct | (direct) + 1 -> direct | 2 | 12 |
| INC @Ri | ( (Ri) ) + 1 -> ( Ri ) | 1 | 12 |
| INC DPTR | (DPTR) + 1 -> DPTR | 1 | 24 |
| DEC A | (A) - 1 -> A Декремент ( уменьшение на единицу ) | 1 | 12 |
| DEC Rn | (Rn) - 1 -> Rn | 1 | 12 |
| DEC direct | (direct) - 1 -> direct | 2 | 12 |
| DEC @Ri | ( (Ri) ) - 1 -> ( Ri ) | 1 | 12 |
| MUL AB | (A) * (B) -> AB Умножение (AB - произведение) | 1 | 48 |
| DIV AB | (A) / (B) -> AB Деление (A - частное B - остаток) | 1 | 48 |
| DA A | Десятичная коррекция аккумулятора | 1 | 12 |
|
2. Логические операции. |
|||
| ANL A,Rn | (A) и (Rn) -> A Логическое побитовое И | 1 | 12 |
| ANL A,direct | (A) и (direct) -> A | 2 | 12 |
| ANL A,@Ri | (A) и ( (Ri) ) -> A | 1 | 12 |
| ANL A,#data | (A) и #data -> A | 2 | 12 |
| ANL direct,A | (direct) и (A) -> direct | 2 | 12 |
| ANL direct,#data | (direct) и #data -> direct | 3 | 24 |
| ORL A,Rn | (A) или (Rn) -> A Логическое побитовое ИЛИ | 1 | 12 |
| ORL A,direct | (A) или (direct) -> A | 2 | 12 |
| ORL A,@Ri | (A) или ( (Ri) ) -> A | 1 | 12 |
| ORL A,#data | (A) или #data -> A | 2 | 12 |
| ORL direct,A | (direct) или (A) -> direct | 2 | 12 |
| ORL direct,#data | (direct) или #data -> direct | 3 | 24 |
| XRL A,Rn | (A) ^ (Rn) -> A Логическое побитовое исключающее ИЛИ | 1 | 12 |
| XRL A,direct | (A) ^ (direct) -> A | 2 | 12 |
| XRL A,@Ri | (A) ^ ( (Ri) ) -> A | 1 | 12 |
| XRL A,#data | (A) ^ #data -> A | 2 | 12 |
| XRL direct,A | (direct) ^ (A) -> direct | 2 | 12 |
| XRL direct,#data | (direct) ^ #data -> direct | 3 | 24 |
| CLR A | 00h -> A Обнуление | 1 | 12 |
|
Мнемоника |
Содержание |
Byte |
Tact |
| CPL A | not (A) -> A Инверсия | 1 | 12 |
| RL A | Циклический сдвиг аккумулятора влево на один бит | 1 | 12 |
| RLC A | Циклический сдвиг аккумулятора влево на один бит через бит переноса | 1 | 12 |
| RR A | Циклический сдвиг аккумулятора вправо на один бит | 1 | 12 |
| RRC A | Циклический сдвиг аккумулятора вправо на один бит через бит переноса | 1 | 12 |
| SWAP A | Обмен тетрадами в аккумуляторе | 1 | 12 |
|
3. Пересылка данных. |
|||
| MOV A,Rn | (Rn) -> A | 1 | 12 |
| MOV A,direct | (direct) -> A | 2 | 12 |
| MOV A,@Ri | ( (Ri) ) -> A | 1 | 12 |
| MOV A,#data | #data -> A | 2 | 12 |
| MOV Rn,A | (A) -> Rn | 1 | 12 |
| MOV Rn,direct | (direct) -> Rn | 2 | 24 |
| MOV Rn,#data | #data -> Rn | 2 | 12 |
| MOV direct,A | (A) -> direct | 2 | 12 |
| MOV direct,Rn | (Rn) -> direct | 2 | 24 |
| MOV direct,direct | (direct) -> direct | 3 | 24 |
| MOV direct,@Ri | ( (Ri) ) -> direct | 2 | 24 |
| MOV direct,#data | #data -> direct | 3 | 24 |
| MOV @Ri,A | (A) -> (Ri) | 1 | 12 |
| MOV @Ri,direct | (direct) -> (Ri) | 2 | 24 |
| MOV @Ri,#data | #data -> (Ri) | 2 | 12 |
| MOV DPTR,#data16 | #data16 -> DPTR | 3 | 24 |
| MOVC A,@A+DPTR | ( ( A) + ( DPTR ) ) -> A Обмен с внешне памятью программ | 1 | 24 |
| MOVC A,@A+PC | ( ( A) + ( PC ) ) -> A | 1 | 24 |
| MOVX A,@Ri | ( ( Ri) ) -> A Обмен с внешней памятью данных | 1 | 24 |
| MOVX A,@DPTR | ( ( DPTR ) ) -> A | 1 | 24 |
| MOVX @Ri,A | (A) -> ( Ri) | 1 | 24 |
| MOVX @DPTR,A | (A) -> ( DPTR ) | 1 | 24 |
| PUSH direct | (direct) -> Stack Запись в стек | 2 | 24 |
| POP direct | (Stack) -> direct Извлечение из стека | 2 | 24 |
| XCH A,Rn |
(A) <- > (Rn) Обмен содержимым |
1 | 12 |
| XCH A,direct |
(A) <- > (direct) |
2 | 12 |
| XCH A,@Ri |
(A) <- > ( (Ri) ) |
1 | 12 |
| XCHD A,@Ri |
(A) <- > ( (Ri) ) Обмен младшей тетрадой |
1 | 12 |
|
4. Битовые операции. |
|||
| CLR C | 0 -> с | 1 | 12 |
| CLR bit | 0 -> bit | 2 | 12 |
| SETB C | 1 -> c | 1 | 12 |
| SETB bit | 1 -> bit | 2 | 12 |
| CPL C | not(c) -> c | 1 | 12 |
| CPL bit | not(bit) -> bit | 2 | 12 |
| ANL C,bit | ( с ) и (bit) -> c | 2 | 24 |
| ANL C,/bit | ( c ) и not(bit) -> c | 2 | 24 |
| ORL C,bit | ( c ) или (bit) -> c | 2 | 24 |
| ORL C,/bit | ( c ) или not(bit) -> c | 2 | 24 |
| MOV C,bit | (bit) -> c | 2 | 12 |
| MOV bit,C | ( c ) -> bit | 2 | 24 |
| JC rel | если с = 1 , то переход по смещению rel | 2 | 24 |
| JNC rel | если с = 0 , то переход по смещению rel | 2 | 24 |
| JB bit,rel | если bit = 1 , то переход по смещению rel | 3 | 24 |
| JNB bit,rel | если bit = 0 , то переход по смещению rel | 3 | 24 |
| JBC bit,rel | если bit = 1 , то переход по смещению rel и сброс bit | 3 | 24 |
|
5. Команды передачи управления. |
|||
| ACALL addr11 | Вызов процедуры по адресу addr11 | 2 | 24 |
| LCALL addr16 | Вызов процедуры по адресу addr16 | 3 | 24 |
| RET | Возврат из процедуры | 1 | 24 |
| RETI | Возврат из процедуры обработки прерывания | 1 | 24 |
| AJMP addr11 | Безусловный переход по адресу addr11 | 2 | 24 |
| LJMP addr16 | Безусловный переход по адресу addr16 | 3 | 24 |
| SJMP rel | Безусловный переход по смещению rel | 2 | 24 |
| JMP @A+DPTR | Безусловный переход по смещению (A) относительно (DPTR) | 1 | 24 |
| JZ rel | Условный переход, если равно 0, по смещению rel | 2 | 24 |
| JNZ rel | Условный переход, если не равно 0, по смещению rel | 2 | 24 |
| CJNE A,direct,rel | Условный переход, если (A) не равно (direct), по смещению rel | 3 | 24 |
| CJNE A,#data,rel | Условный переход, если (A) не равно #data, по смещению rel | 3 | 24 |
| CJNE Rn,#data,rel | Условный переход, если (Rn) не равно #data, по смещению rel | 3 | 24 |
| CJNE @Ri,#data,rel | Условный переход, если ( (Ri) ) не равно #data, по смещению rel | 3 | 24 |
| DJNZ Rn,rel | Декремент Rn и условный переход, если не равно 0, по смещению rel | 2 | 24 |
| DJNZ direct,rel | Декремент direct и условный переход, если не равно 0, по смещению rel | 3 | 24 |
| NOP |
Пустой оператор. |
1 | 12 |
Похожие работы
-
Разреженная модель базовых блоков для оптимизации потоков команд
Анализ существующих математических моделей вычислительных процессов в базовых блоках. Разреженная модель вычислительных процессов в базовых блоках.
-
Обзор архитектуры процессоров Intel
Обзор архитектуры процессоров Pentium, Pentium PRO, Pentium II фирмы Intel. Процессор Pentium – P54. Выпущен в 1993 г. Разрядность шины адреса – 32 бита, таким образом, максимальный
-
Программа для просмотра изображений
Воспользуемся компонентом Image для создания простейшей программы, позволяющей просматривать файлы изображений.
-
Объединение серверов в кластеры
Кластер – это группа компьютеров, которые работают вместе и составляют единый унифицированный вычислительный ресурс. Хотя кластер и состоит из множества машин, операционных систем и приложений, пользователи «видят» его как одну систему.
-
Конвеер Р4
Здесь есть подробная информация конвеере Р4.
-
Работа с базами данных в JAVA на основе соединения JDBC
Предварительная компиляция SQL-запросов по месту исполнения. Использование инструкции prepareStatement. Использование синтаксиса определения вызова для получения значения, возвращаемого процедурой или функцией. Создание инструкции на выборку по запросу.
-
Проект электронных весов с микропроцессорным управлением
Понятие, сущность, виды и микропроцессорное устройство весов. Структурная схема и алгоритм работы электронных весов, особенности выбора для них датчика давления, индикатора и микроконтроллера. Принципы формирования принципиальной электрической схемы.
-
Аутентификация пользователей
Трансляция полей формы. Метод аутентификации в Web как требование к посетителям предоставить имя пользователя и пароль. Форма для передачи данных. Использование базу данных для хранения паролей. Разработка сценарий для аутентификации посетителей.
-
Арифметические операции с BCD числами
Двоично-десятичный формат (BCD - Binary Coded Decimal). Преобразование ASCII формата в двоичный формат. Арифметические инструкции и флаги. Форматы арифметических данных. Выполнение арифметических операции. Сложение. Вычитание. Умножение. Деление.
-
Программное кэширование
Концепция "прозрачного" кэша. Программная предвыборка в процессорах К6+ и РIII+, в процессорах AMD К6 и VIA C3. Инструкция prefetch. Предвыборка в процессорах РIII и Р4. Pentium III. Pentium 4. Эффективность предвыборки в многозадачных системах.