Условное графическое обозначение микроконтроллеров семейства МК51. Структура памяти данных МК51, страница 3

Rn       - регистр общего назначения (РОН),  n = 0…7;

Ri        - регистра косвенного адреса,  i = 0, 1;

#          - префикс непосредственных данных;

@         - префикс косвенной адресации;

#d         -  8-битное число (непосредственные данные);

#d16     -  16-битное число (непосредственные данные);

ad         - адрес байта из памяти данных или регистра специальных функций;

(X)   - содержимое регистра с именем X;

((X))     - содержимое ячейки памяти, адресуемое содержимым X;

ß   - оператор присваивания (замещения).

             Группа команд передачи данных (пересылки и обмена).

Команды пересылки:

MOV   A, Rn   ; (A) ß  (Rn)    -  Пересылка в аккумулятор из регистра (n = 0…7)

MOV   A, ad    ; (A) ß  (ad)     - Пересылка в аккумулятор прямоадресуемого байта

MOV   A, @Ri  ; (A) ß  ((Ri)) – Пересылка в аккумулятор байта из ПД (i = 0, 1)

MOV   A, #d     ; (A) ß  #d       - Пересылка (загрузка) в аккумулятор константы

MOV   Rn, A    ; (Rn) ß (A)     - Пересылка в регистр из аккумулятора

MOV   Rn, ad   ; (Rn) ß (ad)    - Пересылка в регистр прямоадресуемого байта

MOV   Rn, #d   ; (Rn) ß #d      - Пересылка (загрузка) в регистр константы

MOV  ad, A     ; (ad) ß  (A)      -  Пересылка  по прямому адресу аккумулятора

MOV  ad, Rn   ; (ad) ß (Rn)     - Пересылка по прямому адресу регистра

MOV  add, ads ; (add) ß (ads)  - Пересылка прямоадресуемого байта по прямому адресу

MOV  ad, @Ri ; (ad) ß ((Ri))  - Пересылка байта из ПД по прямому адресу

MOV  ad, #d    ; (ad) ß #d         - Пересылка по прямому адресу константы

MOV  @Ri, A  ; ((Ri)) ß (A)    - Пересылка в ПД аккумулятора

MOV  @Ri, ad ; ((Ri)) ß (ad)   - Пересылка в ПД прямоадресуемого байта

MOV  @Ri, #d ; ((Ri)) ß #d      - Пересылка в ПД константы

MOV  DPTR, #d16 ; (DPTR) ß #d16       - Загрузка указателя данных

MOVC  A, @A+DPTR ; (A) ß ((A) + (DPTR))    - Пересылка в аккумулятор байта

; из памяти программ

MOVC  A, @A+PC  ; (PC) ß (PC)+1, (A) ß ((A)+ (PC))   - Пересылка в аккумулятор

; байта из памяти программ

MOVX  A, @Ri  ; (A) ß ((Ri))      - Пересылка в аккумулятор байта из внешней ПД

MOVX  A, @DPTR ; (A) ß ((DPTR))    - Пересылка в аккумулятор байта из внешней ПД

MOVX  @Ri, A   ; ((Ri)) ß (A)               - Пересылка во внешнюю ПД из аккумулятора

MOVX  @DPTR, A  ; ((DPTR)) ß (A)   - Пересылка во внешнюю ПД из аккумулятора

PUSH  ad  ; (SP) ß (SP)+1,  ((SP)) ß (ad)       - Загрузка в стек

POP  ad     ; (ad) ß ((SP)),  (SP) ß(SP) – 1      - Извлечение из стека

Команды обмена:

XCH  A, Rn  ; (A) ß> (Rn)               - Обмен аккумулятора с регистром

XCH  A, ad   ; (A) ß> (ad)               - Обмен аккумулятора с прямоадресуемым байтом

XCH  A, @Ri  ; (A) ß> ((Ri))         - Обмен аккумулятора с байтом из ПД

XCHD  A, @Ri                  - Обмен младшей тетрады аккумулятора с младшей тетрадой

; байта из ПД

Группа команд арифметических операций.

Команды сложения:

ADD   A, Rn  ; (A) ß (A) + (Rn)       – Сложение аккумулятора с регистром (n = 0,…,7)

ADD  A, ad    ; (A) ß (A) + (ad)        – Сложение аккумулятора с прямоадресуемым байтом

ADD  A, @Ri ; (A) ß (A) + ((Ri))     – Сложение аккумулятора с байтом из ПД  (i = 0,1)

ADD  A, #d    ; (A) ß (A) + #d           - Сложение аккумулятора с константой

ADDC  A, Rn ; (A) ß (A) + (Rn) + (C)  – Сложение аккумулятора с регистром и переносом

ADDC  A, ad  ; (A) ß (A) + (ad) + (C)   – Сложение аккумулятора с прямоадресуемым

; байтом и переносом

ADDC  A, @Ri ; (A) ß (A) + ((Ri)) + (C)      – Сложение аккумулятора с байтом из ПД и

; переносом

ADDC  A, #d    ; (A) ß (A) + #d          - Сложение аккумулятора с константой и переносом

Команды вычитания:

SUBB  A, Rn      ; (A) ß (A) - (Rn) - (C)    - Вычитание из аккумулятора регистра и заема