Система команд мікроконтролера 8051

(16)

Логічні операції (Продовження)

Дія команди

Мнемонічне позначення

КОП (16)

Опис

Кол

циклів

C

Команди бітової обробки (Команди логічного процесора)

Установка перенесення

SETB  C

D3

(C)←1

1

+

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

SETB bit

D2,bit

(bit)←1

1

Скидання перенесення

CLR  C

C3

(C)←0

1

0

Скидання біта

CLR  bit

C2,bit

(bit)←0

1

Завантаження перенесення бітом

MOV C, bit

A2,bit

(C)←(bit)

1

+

Завантаження біта перенесенням

MOV bit, C

92,bit

(bit)←(C)

2

Логічне «І» з бітом перенесенням

ANL C, bit

82,bit

(C)←(C)AND(bit)

2

+

ANL C, /bit

B0,bit

(C)←(C)AND NOT(bit)

2

+

Логічне «АБО» з бітом перенесенням

ORL C, bit

72,bit

(C)←(C) OR (bit)

2

+

ORL C, /bit

A0,bit

(C)←(C)OR NOT(bit)

2

+

Тестування біта Z

JZ  rel

60,rel

Якщо А = 0

PC←PC+2+rel

2

JNZ  rel

70,rel

Якщо А ≠ 0 PC ← PC +2 + rel

2

Тестування перенесення

JC  rel

40,rel

Якщо C = 1 PC ← PC +2 + rel

2

JNC rel

50,rel

Якщо C = 0 PC ← PC +2 + rel

2

Тестування бітів

JB bit, rel

20,bit,rel

Якщо bit = 1 PC ← PC +3 + rel

2

JNB bit, rel

30,bit,rel

Якщо bit = 0 PC ← PC +3 + rel

2

JBC bit, rel

10,bit,rel

Якщо bit = C

PC←PC+3+rel , bit=0

2

Інверсія біта

CPL bit

B2,bit

(bit)←NOT(bit)

1

Інверсія перенесення

CPL  C

B3

(C)←NOT(C)

1

+

Дія команди

Мнемонічне позначення

КОП (16)

Опис

Прапори

цикл

З

OV

AC

Команди арифметичних операцій

Додавання акумулятора з РОН

ADD A, R0

28

(A)←(A)+(R0)

+

+

+

1

ADD A, R1

29

(A)←(A)+(R1)

+

+

+

1

ADD A, R2

2A

(A)←(A)+(R2)

+

+

+

1

ADD A, R3

2B

(A)←(A)+(R3)

+

+

+

1

ADD A, R4

2C

(A)←(A)+(R4)

+

+

+

1

ADD A, R5

2D

(A)←(A)+(R5)

+

+

+

1

ADD A, R6

2E

(A)←(A)+(R6)

+

+

+

1

ADD A, R7

2F

(A)←(A)+(R7)

+

+

+

1

Додавання акумулятора з прямо

адресуються регістром

ADD A, direct

25,da

(A)←(A)+(direct)

+

+

+

1

Додавання акумулятора з побічно адресуються регістром

ADD A, @R0

26

(A)←(A)+((R0))

+

+

+

1

ADD A, @R1

27

(A)←(A)+((R1))

+

+

+

1

Додавання акумулятора з

константою

ADD A, #data

24,dt

(A)←(A)+#data

+

+

+

1

Додавання акумулятора з РОН з урахуванням перенесення

ADDC A, R0

38

(A)←(A)+(C)+(R0)

+

+

+

1

ADDC A, R1

39

(A)←(A)+(C)+(R1)

+

+

+

1

ADDC A, R2

3A

(A)←(A)+(C)+(R2)

+

+

+

1

ADDC A, R3

3B

(A)←(A)+(C)+(R3)

+

+

+

1

ADDC A, R4

3C

(A)←(A)+(C)+(R4)

+

+

+

1

ADDC A, R5

3D

(A)←(A)+(C)+(R5)

+

+

+

1

ADDC A, R6

3E

(A)←(A)+(C)+(R6)

+

+

+

1

ADDC A, R7

3F

(A)←(A)+(C)+(R7)

+

+

+

1

Додавання акумулятора з прямо

адресуються регістром з урахуванням перенесення

ADDC A, direct

35,da

(A)←(A)+(C)+(direct)

+

+

+

1

Додавання акумулятора з

побічно адресуються регістром з урахуванням перенесення

ADDC A, @R0

36

(A)←(A)+(C)+((R0))

+

+

+

1

ADDC A, @R1

37

(A)←(A)+(C)+((R1))

+

+

+

1

Додавання акумулятора з

константою з урахуванням перенесення

ADDC A, #data

34,dt

(A)←(A)+(C)+#data

+

+

+

1

Віднімання від акумулятора C (позичання) і РОН

SUBB A, R0

98

(A)←(A)-(C)-(R0)

+

+

+

1

SUBB A, R1

99

(A)←(A)-(C)-(R1)

+

+

+

1

SUBB A, R2

9A

(A)←(A)-(C)-(R2)

+

+

+

1

SUBB A, R3

9B

(A)←(A)-(C)-(R3)

+

+

+

1

SUBB A, R4

9C

(A)←(A)-(C)-(R4)

+

+

+

1

SUBB A, R5

9D

(A)←(A)-(C)-(R5)

+

+

+

1

SUBB A, R6

9E

(A)←(A)-(C)-(R6)

+

+

+

1

SUBB A, R7

9F

(A)←(A)-(C)-(R7)

+

+

+

1

Віднімання від акумулятора C

(Позичання) і прямо адресується регістра

SUBB A, direct

95,da

(A)←(A)-(C)-(direct)

+

+

+

1

Віднімання від акумулятора C

(Позичання) і побічно адресується регістра

SUBB A, @R0

96

(A)←(A)-(C)-((R0))

+

+

+

1

SUBB A, @R1

97

(A)←(A)-(C)-((R1))

+

+

+

1

Віднімання від акумулятора C

(Позичання) і константи

SUBB A, #data

94,dt

(A)←(A)-(C)-#data

+

+

+

1

Дія команди

Мнемонічне позначення

КОП (16)

Опис

Прапори

Колціклов

З

OV

AC

Команди арифметичних операцій (Продовження)

Инкрементирования А

INC A

04

(A)←(A)+1

1

Инкрементирования РОН

INC R0

08

(R0)←(R0)+1

1

INC R1

09

(R1)←(R1)+1

1

INC R2

0A

(R2)←(R2)+1

1

INC R3

0B

(R3)←(R3)+1

1

INC R4

0C

(R4)←(R4)+1

1

INC R5

0D

(R5)←(R5)+1

1

INC R6

0E

(R6)←(R6)+1

1

INC R7

0F

(R7)←(R7)+1

1

Инкрементирования прямо

адресуемого регістра

INC direct

55,da

(direct)←(direct)+1

1

Инкрементирования побічно адресується регістра

INC @R0

06

((R0))←((R0))+1

1

INC @R1

07

((R1))←((R1))+1

1

Инкрементирования DPTR

INC DPTR

A3

(DPTR)←(DPTR)+1

2

Декрементірованіе А

DEC  A

14

(A)←(A)-1

1

Декрементірованіе РОН

DEC  R0

18

(R0)←(R0)-1

1

DEC  R1

19

(R1)←(R1)-1

1

DEC  R2

1A

(R2)←(R2)-1

1

DEC  R3

1B

(R3)←(R3)-1

1

DEC  R4

1C

(R4)←(R4)-1

1

DEC  R5

1D

(R5)←(R5)-1

1

DEC  R6

1E

(R6)←(R6)-1

1

DEC  R7

1F

(R7)←(R7)-1

1

Декрементірованіе прямо

адресуемого регістра

DEC direct

15,da

(direct)←(direct)-1

1

Декрементірованіе побічно адресується регістра

DEC @R0

16

((R0))←((R0))-1

1

DEC @R1

17

((R1))←((R1))-1

1

Множення

MUL  AB

A4

(B) ← 15-8 {(A) × (B)} (A) ← 7-0 {(A) × (B)} Якщо в результаті: B ≠ 0 OV ← 1

0

+

4

Ділення

DIV  AB

84

(A) ← {(A) / (B)} (B) ← залишок

Якщо дільник B = 0 OV ← 1

0

+

4

Десяткова корекція

DA A

D4

Якщо (А3 0)> 9 або (АС) = 1

то (А3 0) ← (А3 0) +6

і якщо (А7 4)> 9 або С = 1, то

(А7 4) ← (А7 4) +6

+

1

Умовні позначення

adr8 – восьмизарядний адресу

adr16 – шестнадцатіразрядний адресу Молодший байт записується в осередку з меншою адресою

bit – адреса (номер) біта від 0 до FF

da (direct) – прямоадресуемий регістр (його адресу) від 0 до FF dt (data) – безпосередні дані від 0 до FF

rel – відносне зміщення адреси від 80 (-128) до 7F (+127)

daпр і daіст – Адреси регістрів приймача і джерела даних від 0 до FF

Джерело: МЛКуліш, ДОВІДНИК З ПРОГРАМУВАННЯ BASCOM-8051, Краснодар 2001

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*