Система команд микроконтроллеров семейства MCS-51.ppt
- Количество слайдов: 45
Система команд микроконтроллеров семейства MCS-51 • Для описания системы команд были использованы следующие обозначения: • PC- программный счетчик; • A - аккумулятор; • Rn - регистр общего назначения с номером n; • @Ri – ячейка памяти внутреннего ОЗУ, адрес которой записан в регистре Ri (косвенная адресация); • Direct - любой регистр специального назначения или ячейка внутреннего ОЗУ (абсолютная адресация);
Система команд микроконтроллеров семейства MCS-51 • #Data - байт данных, содержащийся во втором байте кода команды (непосредственная адресация); • Dptr – 16 -разрядный регистр-указатель данных; • Met - метка в командах переходов, указывающая какая команда будет выполняться следующей; • Name – имя подпрограммы; • Bit – имя прямоадресуемого бита (например: A. 1, P 2. 3)
Система команд микроконтроллеров семейства MCS-51 • Арифметическая группа команд • Сложение: Add A, Rn Addc A, Rn Прибавляет к содержимому аккумулятора содержимое Rn (и разряд переноса)
Система команд микроконтроллеров семейства MCS-51 Add A, @Ri , i=0, 1 Addc A, @Ri , i=0, 1 • Прибавляет к содержимому аккумулятора содержимое ячейки внутреннего ОЗУ, адрес которой находится в регистре Ri (и плюс разряд С)
Система команд микроконтроллеров семейства MCS-51 Add A, Direct Addc A, Direct • Прибавляет к содержимому аккумулятора содержимое регистра специального назначения или ячейки внутреннего ОЗУ (и плюс разряд С)
Система команд микроконтроллеров семейства MCS-51 Add A, #Data Addc A, #Data • Прибавляет к содержимому аккумулятора содержимое второго байта команды (и плюс разряд С)
Система команд микроконтроллеров семейства MCS-51 Пример
Система команд микроконтроллеров семейства MCS-51 Вычитание Subb A, Rn Вычитает из содержимого аккумулятора содержимое Rn и разряд С Subb A, @Ri , i=0, 1 Вычитает из содержимого аккумулятора содержимое ячейки внутреннего ОЗУ, адрес которой находится в регистре Ri, и разряд С
Система команд микроконтроллеров семейства MCS-51 Subb A, Direct Вычитает из содержимого аккумулятора содержимое регистра специального назначения или ячейки внутреннего ОЗУ и разряд С Subb A, #Data Вычитает из содержимого аккумулятора содержимое второго байта команды и разряд С
Система команд микроконтроллеров семейства MCS-51 Пример
Система команд микроконтроллеров семейства MCS-51 Увеличение на 1 Inc A Увеличивает на 1 содержимое аккумулятора Inc Rn Увеличивает на 1 содержимое регистра Rn Inc Direct Увеличивает на 1 содержимое регистра специального назначения или ячейки внутреннего ОЗУ
Система команд микроконтроллеров семейства MCS-51 Inc @Ri, i=0, 1 Увеличивает на 1 содержимое ячейки памяти, адрес которой находится в Ri Inc Dptr Увеличивает на 1 содержимое 16 разрядного регистра-указателя данных Dptr
Система команд микроконтроллеров семейства MCS-51 Пример
Система команд микроконтроллеров семейства MCS-51 Уменьшение на 1 Dec A Уменьшает на 1 содержимое аккумулятора Dec Rn Уменьшает на 1 содержимое регистра Rn
Система команд микроконтроллеров семейства MCS-51 Dec Direct Уменьшает на 1 содержимое регистра специального назначения или ячейки внутреннего ОЗУ Dec @Ri, i=0, 1 Уменьшает на 1 содержимое ячейки памяти, адрес которой находится в Ri
Система команд микроконтроллеров семейства MCS-51 Пример
Система команд микроконтроллеров семейства MCS-51 Умножение Mul AB Перемножает содержимое регистров A и B. Результат записывается в регистр А (младшие разряды) и регистр B (старшие разряды)
Система команд микроконтроллеров семейства MCS-51 Деление Div AB Делит содержимое аккумулятора на содержимое регистра B. Результат помещается в аккумулятор. В регистре B остаток.
Система команд микроконтроллеров семейства MCS-51 Пример
Система команд микроконтроллеров семейства MCS-51 • Логическая группа команд • Логическое «и» : Anl A, Rn Anl A, Direct Anl A, @Ri, i=0, 1 Anl A, #Data Выполняет операцию «логическое и» над аккумулятором и содержимым второго операнда. Результат в аккумуляторе.
Система команд микроконтроллеров семейства MCS-51 Логическое «и» : Anl Direct, A Anl Direct, #Data Выполняет операцию «логическое и» над содержимым регистра специального назначения или ячейки памяти и аккумулятором или числом. Результат в ячейке памяти (или регистре специального назначения).
Система команд микроконтроллеров семейства MCS-51 Пример
Система команд микроконтроллеров семейства MCS-51 Логическое «или» : Orl A, Rn Orl A, Direct Orl A, @Ri, i=0, 1 Orl A, #Data Выполняет операцию «логическое или» над аккумулятором и содержимым второго операнда. Результат в аккумуляторе.
Система команд микроконтроллеров семейства MCS-51 Логическое «или» : Orl Direct, A Orl Direct, #Data Выполняет операцию «логическое или» над содержимым регистра специального назначения или ячейки памяти и аккумулятором или числом. Результат в ячейке памяти (или регистре специального назначения).
Система команд микроконтроллеров семейства MCS-51 Пример
Система команд микроконтроллеров семейства MCS-51 «Исключающее или» : Xrl A, Rn Xrl A, Direct Xrl A, @Ri, i=0, 1 Xrl A, #Data Выполняет операцию «исключающее или» над аккумулятором и содержимым второго операнда. Результат в аккумуляторе.
Система команд микроконтроллеров семейства MCS-51 «Исключающее или» : Xrl Direct, A Xrl Direct, #Data Выполняет операцию «исключающее или» над содержимым регистра специального назначения или ячейки памяти и аккумулятором или числом. Результат в ячейке памяти (или регистре специального назначения).
Система команд микроконтроллеров семейства MCS-51 Пример
Система команд микроконтроллеров семейства MCS-51 Команды сдвига Rl A Циклический сдвиг содержимого аккумулятора влево Rlc A Сдвиг содержимого аккумулятора влево через разряд переноса
Система команд микроконтроллеров семейства MCS-51 Команды сдвига Rr A Циклический сдвиг содержимого аккумулятора вправо Rrc A Сдвиг содержимого аккумулятора вправо через разряд переноса
Система команд микроконтроллеров семейства MCS-51 Пример
Система команд микроконтроллеров семейства MCS-51 Cpl A Инверсия аккумулятора Clr A Обнуление содержимого аккумулятора Swap A Меняет местами 4 младших и 4 старших бита аккумулятора
Система команд микроконтроллеров семейства MCS-51 Пример
Система команд микроконтроллеров семейства MCS-51 Команды пересылки данных Mov A, Rn Mov A, Direct Mov A, @Ri, i=0, 1 Mov A, #Data Mov Rn, A Mov Rn, Direct Mov Rn, #Data Mov Direct, A
Система команд микроконтроллеров семейства MCS-51 Команды пересылки данных Mov Direct, Rn Mov Direct 1, Direct 2 Mov Direct, @Ri i=0, 1 Mov Direct, #Data Mov @Ri, A i=0, 1 Mov @Ri, Direct i=0, 1 Mov @Ri, #Data i=0, 1 Mov Dptr, #Data
Система команд микроконтроллеров семейства MCS-51 Команды пересылки данных Movc A, @A+Dptr Movc A, @A+PC Movx A, @Ri A, @Dptr @Ri, A @Dptr, A i=0, 1
Система команд микроконтроллеров семейства MCS-51 Пример
Система команд микроконтроллеров семейства MCS-51 Push Direct Pop Direct
Система команд микроконтроллеров семейства MCS-51 Команды передачи управления Безусловные: Ajmp Met Sjmp Met Ljmp Met Acall Name Scall Name Lcall Name Reti
Система команд микроконтроллеров семейства MCS-51 Команды передачи управления Условные: Cjne A, Direct, Met Cjne A, #Data, Met Cjne Rn, #Data, Met Cjne @Ri, #Data, Met , i=0, 1 Перейти на метку Met, если первый операнд не равен второму
Система команд микроконтроллеров семейства MCS-51 Команды передачи управления Условные: Djnz Rn, Met Djnz Direct, Met Уменьшить на 1 содержимое указанного регистра или ячейки памяти. Если после этого оно не равно 0, то перейти на метку Met.
Система команд микроконтроллеров семейства MCS-51 Команды передачи управления Условные: Jnz Met Перейти на метку Met, если содержимое аккумулятора не равно 0 Jz Met Перейти на метку Met, если содержимое аккумулятора равно 0
Система команд микроконтроллеров семейства MCS-51 Пример
Система команд микроконтроллеров семейства MCS-51 Команды битовой обработки данных Действия над битами Mov C, Bit Mov Bit, C Clr Bit Setb С Setb Bit Cpl C Cpl Bit Orl C, Bit Anl C, Bit
Система команд микроконтроллеров семейства MCS-51 Команды битовой обработки данных Проверка состояния бита Jb Bit, Met Jbc Bit, Met Jc Met Jnb Bit, Met Jnc Met