Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры v3.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
4 Мб
Скачать
☆

7. Система команд микро-эвм семейства mcs51 (к1816ве51). Группа команд пересылки данных.

Команды для пересылки 8-разрядного операнда, который содержится в команде, в аккумулятор или РОН или в ячейку внутренней памяти данных:

MOV A, #data, MOV Rr, #data, MOV ad, #data, MOV @R0, #data - 8-разрядный операнд пересылается в ячейку внутр памяти, адрес в рег R0 (R1).

MOV DPTR,#data – 16-разрядный операнд пересылается в указ-ль данных DPTR.

Команды типа MOVX служат для обмена операндами между аккумулятором и ячейками внешней памяти данных.

MOVX A, @DPTR (емкость внешней памяти 64Кбайт)

MOVX A, @R0 (емкость внешней памяти 256 байт)

MOVX A, @R1 (емкость внешней памяти 256 байт)

Команды для пересылки содержимого ACC в ячейки внешней памяти данных:

MOVX @DPTR, A (емкость внешней памяти 64Кбайт)

MOVX @R0, A (емкость внешней памяти 256 байт)

MOVX @R1, A (емкость внешней памяти 256 байт)

Внеш память данных м.б. разбита на страницы по 256 байт. Номер страницы указывается в регистре-порте Р2.

Команды для просмотра таблиц, записанных в памяти программ (базовый регистр – аккумулятор, индексный – указатель данных DPTR или счетчик команд PC):

MOVC A, @A+DPTR MOVC A, @A+PC

в ACC загружается сод-мое ячейки памяти программ, адрес которой определяется суммой A+DPTR. После выполнения A=’I’.

TEXT: db ‘Ivanov’

MOV DPTR,#TEXT ; Адрес первого символа ‘I’

CLR A

MOVС A,@A+DPTR;

Команда SWAP – обмен тетрадами аккумулятора.

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

MOV C, bit – пересылка значения бита в разряд переноса

MOV bit, C – пересылка разряда переноса в соответствующий бит

Работа со стеком:

PUSH ad POP ad – запись/выборка в/из стека операнда, который находится/засылается по адресу, указанному в команде.

8. Система команд микро-эвм семейства mcs51 (к1816ве51). Группа команд обработки данных.

Команда сложения ADD (признак переноса в сложении не участвует):

ADD A, Rr ADD A, @R0(@R1) ADD A, #data ADD A, ad

Команда сложения ADDC (в сложении участвует признак переноса):

ADDC A, Rr ADDC A, @R0(@R1) ADDC A, #data ADDC A, ad

Команда вычитания SUBB (результат записывается в аккумулятор, с учетом флага заема): SUBB A, Rr SUBB A, @R0(@R1) SUBB A, #data SUBB A, ad

Команда умножения MUL AB (рез: мл байт – в АСС, старший – в регистр B).

Команда деления DIV AB (результат: целая часть частного от деления – в аккумулятор, остаток от деления – в регистр B).

Команда десятичной коррекции DA A – коррекция результата сложения двух операторов, представленных в двоично-десятичном коде.

Команда инкремента INC (увеличение на единицу):

Inc a inc Rr inc @r0(@r1) inc ad inc dptr

Команда декремента DEC (уменьшение на единицу):

DEC A DEC Rr DEC @R0(@R1) DEC ad

Команды логических операций:

ANL – поразрядное «И»; ORL – поразрядное «ИЛИ»;

XRL – поразрядное «исключающее ИЛИ»;

RL A – циклический сдвиг влево содержимого аккумулятора;

RLC A – циклич сдвиг влево содержимого АСС через разряд переноса (сдвиг 9-разрядного значения);

RR A – циклический сдвиг вправо содержимого аккумулятора;

RRC A – циклич сдвиг вправо содержимого аккумулятора через разряд переноса (сдвиг 9-разрядного значения).

Команда CLR A – сброса в нуль всех разрядов аккумулятора.

Команда CPL A – инверсии всех разрядов аккумулятора.

ANL C, bit – логическое «И» признака переноса и значения бита

ANL C, /bit – логич «И» признака переноса и инвертированного значения бита

ORL C, bit – логическое «ИЛИ» признака переноса и значения бита

ORL C, /bit – логич «ИЛИ» признака переноса и инвертированного значения бита

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]