Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Бродин В.Б., Калинин А.Б. Схемы на микроконтроллерах и БИС программируемой логики, 2002

.pdf
Скачиваний:
265
Добавлен:
11.03.2016
Размер:
9.1 Mб
Скачать

ГЛАВА 2. АРХИТЕКТУРА MCS-51

69

лов обращения к внешней памяти данных. Формат команды сложения ADD A,Rn следующий:

7

 

О

Код операции

п п п

ADD

A,

Rn

• Прямая адресация. Операнд находится во внутренней памяти данных, адрес ячейки определяет отдельный байт команды. Таким образом, коман­ ды с использованием прямой адресации имеют минимум два байта, дос­ тупны только 256 ячеек, обращения за операндом к внешней памяти не требуется. Формат команды сложения ADD A,direct следующий:

7

0

7

0

 

Код операции

 

прямой адрес

ADD

А,

 

direct

• Косвенно-регистровая адресация. Этот метод адресации использует регистры R0 и R1 в качестве указателей. Регистры берутся из банка, опре­ деляемого разрядами RSO, RS1 регистра PSW. Содержимое этих регистров используется как адрес для обращения к ячейке внутренней памяти дан­ ных, хранящей операнд. Команда получается однобайтной, номер регистра указывает младший бит. Длина команды при этом соответствует длине ко­ манды с использованием регистровой адресации, но косвенная адресация дает доступ ко всему пространству внутренней памяти данных. Формат команды сложения ADD A, @Ri следующий:

7

 

0

Код операции

 

i

ADD

A,

©Ri

• Непосредственная адресация. Операнд находится в отдельном байте команды, это константа. Таким образом, команды с использованием непо­ средственной адресации имеют минимум два байта, обращения за операн­ дом к внешней памяти не требуется. Формат команды сложения ADD А, #data следующий:

7

 

0

7

0

Код операции

 

 

 

байт данных

ADD

А,

 

 

#data

Отметим, что в общем случае для указания места нахождения каждого из двух операндов, а также приемника результата, в команде должен быть использован свой метод адресации. В «аккумуляторной» архитектуре MCS-51 результат всегда помещается в аккумулятор, поэтому адресуются только два операнда. Иногда один из операндов берется из определенного

70

СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ

 

регистра, что определяется уникальным кодом операции. По существу это пятый метод - неявная адресация.

Состояние процессора после выполнения очередной команды опреде­ ляется состоянием аккумулятора и регистра PSW, который хранит «слово состояния процессора». Формат этого регистра и функции отдельных би­ тов следующие:

PSW | CY | АС | F0 1 RS1 | RS0 | OV 1 j Р |

флаг

Бит

CY

PSW.7

АС

PSW.6

F0

PSW.5

RS1

PSW.4

RS0

PSW.3

OV

PSW.2

 

PSW.1

Функция

Флаг переноса Флаг вспомогательного переноса (между тетрадами)

Флаг 0, возможно программирование пользователем в общих целях Первый бит селектора регистрового банка Нулевой бит селектора регистрового банка Флаг переполнения Флаг, определяемый пользователем

РPSW.0 Флаг чётности. Указывает чётное число "1" в аккумуляторе

При описании системы команд далее используются следующие обозна­ чения:

Rn - один из регистров R0 - R7 в банке регистров, определенном би­ тами регистра PSW;

Direct - адрес ячейки внутренней памяти данных.

@Ri - ячейка внутренней памяти данных, косвенно адресуемая через регистры R0 или R1 текущего банка;

#data - 8-разрядная константа, включенная в команду; #data 16 - 16-разрядная константа, включенная в команду;

addr 16 - 16-разрядный адрес перехода в командах LCALL и LJMP, addr 11 - l l -разрядный адрес перехода в командах ACALL и AJMP; rel - 8-разрядная константа со знаком (в дополнительном коде). Оп­

ределяет смешение в команде SJMP и всех командах условных переходов; bit - адрес бита во внутренней памяти данных.

Всего в системе команд семейства MCS-51 можно выделить 5 групп. Команды следующим образом изменяют значение флагов регистра PSW:

Команда

 

Флаг

 

Команда

 

Флаг

 

ADD

С

OV

AC

 

С

OV

AC

X

X

X

CLR С

0

 

 

ADDC

X

X

X

CPL С

X

 

 

SUBB

X

X

X

ANL С,bit

X

 

 

MUL

0

X

 

ANLC./bit

X

 

 

DIV

0

X

 

ORL C.bit

X

 

 

DA

X

 

 

ORL C,/bit

X

 

 

RRC

X

 

 

MOV C, bit

X

 

 

RLC

X

 

 

CJNE

X

 

 

SETB С

1

 

 

 

 

 

 

ГЛАВА 2. АРХИТЕКТУРА MCS-51

71

Арифметические команды. Обеспечивают выполнение операций сло­ жения и вычитания (в том числе с учетом переноса) над целочисленными 8-разрядными операндами, инкремент и декремент регистров и ячеек внут­ ренней памяти данных, двоично-десятичную коррекцию содержимого ак­ кумулятора. Краткая сводка этих команд приведена в следующей таблице, а более подробное их описание можно найти в Приложении 1.

Арифметические команды микроконтроллеров MCS-51

Мнемоника Описание Байт Тактов Действие

АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ

ADD

A,Rn

Сложение регистра с

1

12

ADD

 

 

аккумулятором

 

 

(A M A )+ (R n )

ADD

A,direct

Сложение ячейки внутренней

2

12

ADD

 

 

памяти данных с аккумулятором

 

 

(A)<-(A)+(direct)

ADD

A,©Ri

Сложение косвенно адресуемой

1

12

ADD

 

 

ячейки внутренней памяти

 

 

(A)«-(A)+((Ri))

 

 

данных с аккумулятором

2

12

ADD

ADD

A,#data

Сложение непосредственного

 

 

байта данных с аккумулятором

 

 

(A)<-(A)+#data

ADDC

A,Rn

Сложение регистра с

1

12

ADDC

 

 

аккумулятором с учетом переноса

 

 

(A)<-(A)+(C)+(Rn)

ADDC

A,direct

Сложение ячейки внутренней

2

12

ADDC

 

 

памяти данных с аккумулятором с

 

 

(A)<-(A)+(C)+(direct)

 

 

учетом переноса

1

12

ADDC

ADDC

A,©Ri

Сложение косвенно адресуемой

 

 

ячейки внутренней памяти даных с

 

 

(A)<-(A)+(C)+((Ri))

 

 

аккумулятором с учетом переноса

 

 

 

ADDC

A,#data

Сложение непосредственного

2

12

ADDC

 

 

байта данных с аккумулятором с

 

 

(A)<-(A)+(C)+#data

 

 

учетом переноса

 

 

SUBB

SUBB

A,Rn

Вычитание регистра из

1

12

 

 

аккумулятора с учетом заема

 

 

(A H A H C H R n )

SUBB

A, direct

Вычитание ячейки внутренней

2

12

SUBB

 

 

памяти данных из аккумулятора с

 

 

(A)<-(AMC)-(direct)

 

 

учетом заема

1

12

SUBB

SUBB

A,©Ri

Вычитание косвенно адресуемой

 

 

ячейки внутренней памяти данных

 

 

(AM AHCH(Ri))

 

A,#data

из аккумулятора с учетом заема

 

12

SUBB

SUBB

Вычитание непосредственного

2

 

 

байта данных из аккумулятора с

 

 

(A)<-(A)-(C)-#data

INC

 

учетом заема

1

12

INC

A

Инкремент аккумулятора

 

 

 

 

 

(A)«-(A)+1

INC

Rn

Инкремент регистра

1

12

INC

 

 

 

 

 

(Rn)<-(Rn)+1

INC

direct

Инкремент ячейки внутренней

2

12

INC

 

 

памяти данных

 

 

(direct)«-(direct)+1

INC

©Ri

Инкремент косвенно адресуемой

1

12

INC

 

 

ячейки внутренней памяти данных

 

 

<{Ri))<-«Ri))+1

72

 

СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ

 

 

 

 

 

 

Мнемоника

Описание

Байт

Тактов

Действие

DEC

A

Декремент аккумулятора

1

12

DEC

 

 

 

 

 

 

(А)«—(А)—1

 

DEC

Rn

Декремент регистра

1

12

DEC

 

 

 

 

 

 

(Rn)«-(Rn)-1

 

DEC

direct

Декремент ячейки внутренней

2

12

DEC

 

 

 

памяти данных

 

 

(direct)«-(direct)-1

DEC

©Ri

Декремент косвенно адресуемой

1

12

DEC

 

 

 

ячейки внутренней памяти данных

 

 

((Ri))«-((Ri)H

 

INC

DPTR

Инкремент указателя данных

1

24

INC

 

 

 

 

 

 

(DPTR)«-(DPTR)+1

MUL

AB

Умножение А на В

1

48

MUL

 

 

 

 

 

 

(A)70<-(A)X(B);

(B)158

DIV

AB

Деление А на В

1

48

DIV

 

 

 

 

 

 

(A)t5e<-(A)/(B);

(B)70

DA

A

Двоично-десятичная коррекция

1

12

DA • содержимое

 

 

аккумулятора

 

 

аккумулятора в BCD

 

 

 

 

 

IF[[(A3o)>9]V[(AC)=1])

THEN (A3 o)*~(A3 o)+6

AND

IF[[(A 74)>9]V[(C)=1]]

THEN (A74)<-(A74)+6

Особенностью системы команд MCS-51 является наличие в составе этой группы команд умножения и деления 8-разрядных целочисленных операндов. Получающийся 16-разрядный результат хранится в регистрах А и В. Результатом выполнения арифметических команд является, кроме нового содержимого аккумулятора, измененное значение регистра PSW.

Логические команды. Выполняют операции AND, OR, «исключающее ИЛИ», сдвиги содержимого аккумулятора вправо и влево, очистку акку­ мулятора и перестановку его тетрад. В качестве операндов могут исполь­ зоваться непосредственные данные и содержимое ячеек внутренней памяти данных. Выполнение некоторых логических команд влияет на значение флага С (перенос) регистра PSW.

Логические команды микроконтроллеров MCS-51

Мнемоника

Описание

Байт Тактов

Действие

ЛОГИЧЕСКИЕ ОПЕРА1 (ИИ

ANL A,Rn

ANL A,direct

ANL A,©Ri

ANL A,#data

AND регистра и аккумулятора

1

12

ANL (A)<-(A)A(Rn)

AND ячейки внутренней

2

12

ANL

памяти данных и аккумулятора

 

 

(A)«-(A)A(direct)

AND косвенно адресуемой

1

12

ANL

ячейки внутренней памяти

 

 

(A)«-(A)A((Ri))

данных и аккумулятора

 

 

 

AND непосредственного байта

2

12

ANL

данных и аккумулятора

 

 

(A)«-(A)A#data

ГЛАВА 2

АРХИТЕКТУРА MCS-51

 

 

 

 

73

Мнемоника

Описание

Байт

Тактов

 

Действие

ANL

direct,A

AND аккумулятора и ячейки

2

12

ANL

 

 

 

 

внутренней памяти данных

3

24

(direct)«-(direct)A(A)

ANL

direct, #data

AND непосредственного байта

ANL

 

 

 

 

данных и ячейки внутренней

 

 

(direct)«-(direct)A#data

 

 

памяти данных

1

 

 

 

 

ORL

A,Rn

OR регистра и аккумулятора

12

ORL

(A)<-(A)V(Rn)

ORL

A, direct

OR ячейки внутренней памяти

2

12

ORL

 

 

 

A,©Ri

данных и аккумулятора

1

 

(A)«-(A)V(direct)

ORL

OR косвенно адресуемой

12

ORL

 

 

 

 

ячейки внутренней памяти

 

 

(A)<-(A)V((Ri))

 

 

 

данных и аккумулятора

 

 

 

 

 

ORL

A,#data

OR непосредственного байта

2

12

ORL

 

 

 

 

данных и аккумулятора

 

 

(A)«-(A)V#data

ORL

direct,A

OR аккумулятора и ячейки

2

12

ORL

 

 

 

 

внутренней памяти данных

 

 

(direct)«-(direct)V(A)

ORL

direct, #data

OR непосредственного байта

3

24

ORL

 

 

 

 

данных и ячейки внутренней

 

 

(direct)«-(direct)V#data

 

 

памяти данных

1

 

 

 

 

XRL

A,Rn

XOR регистра и аккумулятора

12

XRL

 

 

 

 

XOR ячейки внутренней памяти

 

 

(A)<_(A)V(Rn)

 

XRL

A,direct

2

12

XRL

 

 

 

 

данных и аккумулятора

 

 

(A)«-(A)V(direct)

XRL

A,©Ri

XOR косвенно адресуемой

1

12

XRL

 

 

 

 

ячейки внутренней памяти

 

 

(A)<_(A)V((Ri))

 

 

данных и аккумулятора

 

 

 

 

 

XRL

A,#data

XOR непосредственного

2

12

XRL

 

 

 

 

байта данных и аккумулятора

 

 

(A)<-(A)V#data

XRL

direct,A

XOR аккумулятора и ячейки

2

12

XRL

 

 

 

 

внутренней памяти данных

 

 

(direct)«-(direct)V(A)

XRL

direct, #data

XOR непосредственного

3

24

XRL

 

 

 

 

байта данных и ячейки

 

 

(direct)«-(direct)V#data

 

 

внутренней памяти данных

 

 

 

 

 

CLR

A

Очистка аккумулятора

1

12

CLR

(A)<-0

 

CPL

A

Инверсия аккумулятора

1

12

CPL

 

 

 

A

Сдвиг аккумулятора влево

1

 

(A)<- -.(A)

 

RL

12

RL

 

 

 

 

 

 

 

(An+1)«-(An)

n = 0-6

 

 

 

 

 

(A0)<-(A7)

 

RLC

A

Сдвиг аккумулятора влево

1

12

RLC

 

 

 

 

через перенос

 

 

(An+1)«-(An)

n = 0-6

 

 

 

 

 

(A0)<-(C)

 

 

 

 

 

 

(C)<-(A7)

 

RR

A

Сдвиг аккумулятора вправо

1

12

RL

 

 

 

 

 

 

 

(An)«-(An+1)

n = 0-6

 

 

 

 

 

(A7)<-(A0)

 

RRC

A

Сдвиг аккумулятора вправо

1

12

RRC

 

 

 

 

через перенос

 

 

(An)«-(An+1)

n = 0-6

 

 

 

 

 

(A7)<-(C)

 

 

 

 

 

 

(C)<-(A0)

 

SWAP

A

Перестановка тетрад

1

12

SWAP

 

 

 

аккумулятора

 

 

(A3 o)

<->(A7 4)

 

74

СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ

Команды пересылки данных. Осуществляют передачу данных между ячейками внутренней памяти данных (команды MOV), внешней памяти данных (команды MOVX) и аккумулятором.

Команды пересылки данных микроконтроллеров MCS-51

Мнемоника

Описание

Байт Тактов

Действие

ПЕРЕСЫЛКА ДАННЫХ

MOV

A,Rn

MOV

A,direct

MOV

A,©Ri

MOV

A,#data

MOV

Rn,A

MOV

Rn, direct

MOV

Rn,#data

MOV

direct,A

MOV

direct, Rn

MOV

direct,direct

MOV

direct, ©Ri

MOV

direct, #data

MOV

©Ri,A

MOV

©Ri, direct

MOV

©Ri,#data

MOV

DPTR,data16

MOVC A,©A+DPTR

Пересылка из регистра в

1

12

MOV

аккумулятор

2

12

(A)<-(Rn)

Пересылка из ячейки внутренней

MOV

памяти данных в аккумулятор

 

 

(А)ч—(direct)

Пересылка из косвенно

1

12

MOV

адресуемой ячейки внутренней

 

 

(direct)«-((Ri))

памяти данных в аккумулятор

 

 

 

Пересылка непосредственного

2

12

MOV

байта данных в аккумулятор

 

 

(A)«-#data

Пересылка из аккумулятора в

1

12

MOV

регистр

 

 

(Rn)«-(A)

Пересылка из ячейки внутренней

2

24

MOV

памяти данных в регистр

 

 

(Rn)«-(direct)

Пересылка непосредственного

2

12

MOV

байта данных в регистр

 

 

(Rn)«-#data

Пересылка из аккумулятора в

2

12

MOV

ячейку внутренней памяти данных

 

 

(direct)«-(A)

Пересылка из регистра в ячейку

2

24

MOV

внутренней памяти данных

 

 

(direct)«-(Rn)

Пересылка из ячейки внутренней

3

24

MOV

памяти данных в ячейку внутрен­

 

 

(direct)«-(direct)

ней памяти данных

 

 

 

Пересылка из косвенно

2

24

MOV

адресуемой ячейки внутренней

 

 

(direct)«-((Ri))

памяти данных в ячейку внутрен­

 

 

 

ней памяти данных

 

 

 

Пересылка непосредственного

3

24

MOV

байта данных в ячейку внутренней

 

 

(direct)«-#data

памяти данных

 

 

 

Пересылка из аккумулятора в

1

12

MOV

косвенно адресуемую ячейку

 

 

((Ri»<-(A)

внутренней памяти данных

 

 

 

Пересылка из ячейки внутренней

2

24

MOV

памяти данных в косвенно

 

 

((Ri))«-(direct)

адресуемую ячейку внутренней

 

 

 

памяти данных

 

 

 

Пересылка непосредственного

2

12

MOV

байта данных в косвенно

 

 

((Ri))<-(data)

адресуемую ячейку

 

 

 

Загрузка 16-разрядной константы в

3

24

MOV

указатель данных

 

 

(DPTR)<—# data is о

 

 

 

DPH <—#data,58

Пересылка байта кода,

 

 

DPL «-#data7 0

1

24

MOVC

связанного с DPTR, в аккумулятор

 

 

(A1«-((A1+(DPTR))

ГЛАВА 2 АРХИТЕКТУРА MCS-51

75

Мнемоника

Описание

MOVC

А.вА+РС

Пересылка байта кода,

 

 

связанного с PC, в аккумулятор

MOVX

A,©Ri

Пересылка байта из

 

 

внешней памяти данных

 

 

(8-разр. адрес) в аккумулятор

MOVX

A,©DPTR

Пересылка байта из

 

 

внешней памяти данных

MOVX

 

(16-разр. адрес) в аккумулятор

©Ri,A

Пересылка из аккумулятора в

 

 

ячейку внешней памяти данных

 

 

(8 -разр. адрес)

MOVX

©DPTR.A

Пересылка из аккумулятора в

 

 

ячейку внешней памяти данных

 

 

(16-разр. адрес)

PUSH

direct

Загрузка ячейки внутренней

 

 

памяти данных в стек

POP

direct

Выгрузка из стека в ячейку

 

 

внутренней памяти данных

ХСН

A,Rn

Обмен между регистром и

ХСН

 

аккумулятором

A,direct

Обмен между ячейкой внутренней

ХСН

 

памяти данных и аккумулятором

A,©Ri

Обмен между косвенно

 

 

адресуемой ячейкой внутренней

XCHD

A,©Ri

памяти данных и аккумулятором

Обмен младшими тетрадами

 

 

между косвенно адресуемой

ячейкой внутренней памяти данных и аккумулятором

Байт

Тактов

Действие

1

24

MOVC

 

 

(РС)<-(РС)+1

 

24

(А)<-((А)+(РС))

1

MOVX

 

 

(A)«-((Ri))

1

24

MOVX

 

 

(A)«-((DPTR))

124 MOVX ((Ri))<-(A)

124 MOVX (DPTR)<—(A)

224 PUSH

 

 

(SP)<-(SP)+1

2

24

((SP))«-(direct)

POP

 

 

(direct)«-((SP))

 

 

(SP)<-(SP)-1

1

12

XCH

 

 

(A)<->((Rn))

2

12

XCH

 

 

(A)<-»(direct)

1

12

XCH

 

 

(AK>(R,))

1

12

XCHD

 

 

(A3 oK*((Ri3 o))

Существуют две команды MOVC, позволяющие читать в аккумулятор содержимое памяти программ. К этой группе относятся парные команды PUSH и POP, осуществляющие загрузку и выгрузку содержимого прямо адресуемой ячейки в стек (из стека). Имеются четыре команды взаимного обмена информацией между ячейками внутренней памяти данных (ХСН и XCHD). Команды пересылки данных значения флагов в регистре PSW не изменяют.

Команды работы с битами. Эти команды устанавливают в «1» (SETB) или «О» (CLR) прямо адресуемый бит внутренней памяти данных, изменяют его значение на противоположное (CPL), выполняют операции AND и OR над флагом переноса С и прямо адресуемым битом (ANL и ORL), осуществляют пересылку значения между флагом С и прямо адре­ суемым битом (MOV), осуществляют передачу управления по состоянию флага С или прямо адресуемого бита (JC, JNC, JB, JNB, JBC).

76

СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ

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

Мнемоника

Описание

Байт Тактов

Действие

ОПЕРАЦИЯ С БУЛЕВЫМИ ПЕРЕМЕННЫМИ

CLR С

CLR bit

SETB С

SETB bit

CPL С

CPL bit

ANL С,bit

ANL C,/bit

ORL С,bit

ORL С,/bit

MOV С,bit MOV bit,С

JC rei

JNC rel

JB bit,rei

JNB bit, rel

JBC bit,rel

Очистка флага переноса

1

12

CLR

 

 

 

 

(С)<-0

 

Очистка бита

2

12

CLR

 

 

 

 

(bit)<-0

Установка флага переноса

1

12

SETB

 

 

 

 

(С)<-1

 

Установка бита

2

12

SETB

 

 

 

12

(bit)<-1

Инверсия флага переноса

1

CPL

 

Инверсия бита

2

12

(C)<- - (С)

CPL

 

AND бита и флага переноса

2

24

(bit)<— i (bit)

ANL

(C)<-(C) A (bit)

AND инверсии бита и флага

2

24

ANL

 

переноса

 

 

(C)«-(C) A (bit)

OR бита и флага переноса

2

24

ORL

 

OR инверсии бита и флага

2

24

(C M C ) V (bit)

ORL

 

переноса

 

 

(C M C ) V -.(bit)

Пересылка бита во флаг переноса

2

12

MOV

(C)<-(bit)

Пересылка флага переноса в бит

2

24

MOV

 

Переход, если флаг переноса

 

24

(b itM C )

2

JC

 

установлен

 

 

( P C M PC) + 2

 

 

 

IF (C)=1

 

 

 

THEN

 

Переход, если флаг переноса

2

24

JNC

(PC)<-(PC)+ rel

 

установлен

 

 

(P C M PC) + 2

 

 

 

IF (C)=0

 

 

 

THEN

 

Переход, если бит установлен

3

24

JB

(PC)<-(PC)+ rel

 

 

 

 

(P C M PC) + 3

 

 

 

IF (bit)=1

 

 

 

THEN

 

Переход, если бит не установлен

3

24

JNB

(PC)<-(PC)+ rel

 

 

 

 

(P C M P C ) + 3

 

 

 

IF (bit)=0

Переход, если бит установлен, и

 

 

THEN

(PC)<-(PC)+rel

3

24

JBC

 

очистка этого бита

 

 

(P C M P C ) + з

 

 

 

IF (bit)=1

THEN (bit)<-0

(P C M P C )+ rel

ГЛАВА 2. АРХИТЕКТУРА MCS-51

77

Команды этой группы, выполняющие логические операции и осущест­ вляющие пересылку значения бита, изменяют значение флага С регистра PSW. Остальные команды на флаги не действуют.

Команды передачи управления. Передача управления может осуще­ ствляться безусловно или по условию, без возврата или с возвратом. В последнем случае для возврата необходимо хранить состояние процессора. Система команд MCS-51 кроме обычных «длинных» переходов с исполь­ зованием 16-разрядного адреса унаследовала от семейства MCS-48 коман­ ды передачи управления с «коротким» l l -разрядным адресом.

Команды передачи управления микроконтроллеров MCS-51

Мнемоника Описание

ПЕРЕДАЧА УПРАВЛЕНИЯ

ACALL addrl 1

Короткий переход с

 

возвратом.

LCALL addrl6

Длинный переход с

 

возвратом

RET

 

Возврат из

 

 

подпрограммы

RETI

 

Возврат из подпрограм­

 

 

мы прерывания

AJMP

addrl 1

Короткий переход без

 

 

возврата

LJMP

addrl 6

Длинный переход без

 

 

возврата

SJMP

rel

Короткий переход

 

 

с 8-разрядным

 

 

смещением

JMP

©A+DPTR

Переход относительно

 

 

DPTR

Байт

Тактов

Действие

2

24

ACALL

 

 

(РС)<-(РС)+ 2

 

 

(SP)<-(SP) + 1

 

 

((SP))<-(PC70)

 

 

(SP)<-(SP) + 1

 

 

((SP))<-(PC,5.e)

3

24

(PC,o 0)«-page address

LCALL

 

 

(PC)«-(PC)+ 3

 

 

(SP)<-(SP) + 1

 

 

((SP))<-(PC70)

 

 

(SP)<-(SP) + 1

 

 

((SP))<-(PC,5e)

 

24

(PC)<—addT)5 о

1

RET

 

 

(PC158)<-((SP))

 

 

(SP)<-(SP)-1

 

 

(PC70)<-((SP))

 

24

(SP)<-(SP)-1

1

RETI

 

 

(PC158)<-((SP))

 

 

(SP)<-(SP)-1

 

 

(PC70)<-((SP))

 

 

(SP)<-(SP)-1

2

24

AJMP

 

 

(PC)<-(PC)+2

 

 

(PC10 0)<-Pa9e address

3

24

LJMP

 

 

(PC)«-addr150

2

24

SJMP

 

 

(PC)<-(PC)+2

 

 

(PC)«-(PC)+rel

1

24

JMP

 

 

(PC)<-(A)+(DPTR)

78

СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ

Мнемоника

Описание

JZ

rel

Переход, если

 

 

аккумулятор равен нулю

JNZ

rel

Переход, если

 

 

аккумулятор не

 

 

равен нулю

CJNE

A,direct,rel

Переход, если ячейка

 

 

внутренней памяти

 

 

данных не идентична

 

 

аккумулятору

CJNE

A,#data,rel

Переход, если

 

 

непосредственный байт

 

 

данных не равен

 

 

аккумулятору

DJNE

Rn,#data,rel

Переход, если

 

 

непосредственный байт

 

 

данных не равен

 

 

регистру

CJNE

©Ri,#data, rel

Переход, если

 

 

непосредственный байт

данных не равен косвенно адресуемой ячейке внутренней памяти данных

DJNZ Rn.rel

DJNZ direct, rel

NOP

Декремент регистра и переход, если он не равен нулю

Декремент ячейки внутренней памяти данных и переход, если она не равна нулю

Нет операции

Байт Тактов

Действие

24JZ (РС)<—(РС)+2 IF (А)= О

THEN (PC)<-(PC)+rel

24JNZ (РС)<—(РС)+2 IF (А)* О

THEN (PC)<-(PC)+rel

24(РС)<-(РС)+3 IF(A)< > (direct)

THEN (РС)<-(PC)+relative offset

IF(A) < (direct) THEN

(C)<-1

ELSE (C)<-0

24(PC)<-(PC)+3 IF(A)< > (data)

THEN (PC)<-(PC)+relative offset

IF(A) < (data) THEN

(C)<-1

ELSE (C)<-0

24(PC)<-(PC)+3 IF((Ri))< > data

THEN (PC)<-(PC)+relative offset

IF((R i)) < data THEN (С)ч—1 ELSE (C)<-0

24(PC)<-(PC) + 3 IF ((Ri)) <> data THEN

(PC)<-(PC) +relative offset

IF((Ri)) < data THEN (C)<-1

ELSE (C)<-0

24DJNZ (PC)<-(PC) + 2 (Rn)<-(Rn) - 1

IF (Rn) > 0 or (Rn) < 0

THEN (PC)<-(PC) + rel

24DJNZ (PC)<-(PC) + 2

(direct)<-(direct) - 1 IF(direct)>Oor(direct)< 0

THEN (PC)<-(PC) + rel

12NOP

(PC)<-(PC) + 1___________

Группа команд передачи управления включает четыре команды безус ловного перехода без возврата («ультракороткая» SJMP, «короткая»

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