Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Справочник по программировани BASCOM-8051 (М.Л. Кулиш, 2001).pdf
Скачиваний:
478
Добавлен:
12.08.2013
Размер:
6.93 Mб
Скачать

===================================== Справочник по программированию «Bascom-8051» ==

Действие команды

Мнемоническое

КОП(16)

Описание

Кол.

обозначение

циклов

 

 

 

Команды перехода (продолжение)

 

 

 

DJNZ R0, rel

D8,rel

 

2

 

DJNZ R1, rel

D9,rel

 

2

 

DJNZ R2, rel

DA,rel

RiRi-1

2

 

DJNZ R3, rel

DB,rel

2

Декремент РОН и переход, если не ноль

если Ri≠0

DJNZ R4, rel

DB,rel

2

 

PCPC+2+rel

 

DJNZ R5, rel

DC,rel

2

 

 

 

DJNZ R6, rel

DE,rel

 

2

 

DJNZ R7, rel

DF,rel

 

2

Декремент прямо адресуемого байта и

DJNZ direct, rel

D5,da,rel

directdirect-1 если

2

переход, если не ноль

direct≠0 PCPC+3+rel

 

 

 

Нет операции

NOP

00

 

1

 

Логические операции

 

 

 

 

ANL A,R0

58

(A)(A) AND (R0)

1

 

ANL A,R1

59

(A)(A) AND (R1)

1

 

ANL A,R2

5A

(A)(A) AND (R2)

1

Логическое “И” А с РОН

ANL A,R3

5B

(A)(A) AND (R3)

1

ANL A,R4

5C

(A)(A) AND (R4)

1

 

 

ANL A,R5

5D

(A)(A) AND (R5)

1

 

ANL A,R6

5E

(A)(A) AND (R6)

1

 

ANL A,R7

5F

(A)(A) AND (R7)

1

Логическое “И” А с прямо адресуемым

ANL A, direct

55,da

(A)(A) AND (direct)

1

регистром

 

 

 

 

Логическое “И” А с косвенно адресуемым

ANL A,@R0

56

(A)(A) AND ((R0))

1

регистром

ANL A,@R1

57

(A)(A) AND ((R1))

1

Логическое “И” А с константой

ANL A, #data

54,dt

(A)(A) AND #data

1

Логическое “И” прямо адресуемого

ANL direct, A

52,da

(direct)(direct) AND

1

регистра с А

(A)

 

 

 

Логическое “И” прямо адресуемого

ANL direct, #data

53,da,dt

(direct)(direct) AND

2

регистра с константой

#data

 

 

 

 

ORL A,R0

48

(A)(A) OR (R0)

1

 

ORL A,R1

49

(A)(A) OR (R1)

1

 

ORL A,R2

4A

(A)(A) OR (R2)

1

Логическое “ИЛИ” А с РОН

ORL A,R3

4B

(A)(A) OR (R3)

1

ORL A,R4

4C

(A)(A) OR (R4)

1

 

 

ORL A,R5

4D

(A)(A) OR (R5)

1

 

ORL A,R6

4E

(A)(A) OR (R6)

1

 

ORL A,R7

4F

(A)(A) OR (R7)

1

Логическое “ИЛИ” А с прямо адресуемым

ORL A, direct

45,da

(A)(A) OR (direct)

1

регистром

 

 

 

 

Логическое “ИЛИ” А с косвенно

ORL A,@R0

46

(A)(A) OR ((R0))

1

адресуемым регистром

ORL A,@R1

47

(A)(A) OR ((R1))

1

Логич еское “ИЛИ” А с константой

ORL A, #data

44,dt

(A)(A) OR #data

1

Логическое “ИЛИ” прямо адресуемого

ORL direct, A

42,da

(direct)(direct)OR(A)

1

регистра с А

 

 

 

 

Логическое “ИЛИ” прямо адресуемого

ORL direct, #data

43,da,dt

(direct)(direct) OR

2

регистра с константой

#data

 

 

 

============================================================================= B-4

===================================== Справочник по программированию «Bascom-8051» ==

Действие команды

 

 

 

Мнемоническое

КОП(16)

Описание

Кол.

 

 

 

обозначение

циклов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Логические операции (продолжение)

 

 

 

 

 

 

 

 

 

 

 

XRL A,R0

68

(A)(A) XOR (R0)

1

 

 

 

 

 

 

 

 

 

XRL A,R1

69

(A)(A) XOR (R1)

1

 

 

 

 

 

 

 

 

 

XRL A,R2

6A

(A)(A) XOR (R2)

1

Исключающее “ИЛИ” А с РОН

XRL A,R3

6B

(A)(A) XOR (R3)

1

XRL A,R4

6C

(A)(A) XOR (R4)

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

XRL A,R5

6D

(A)(A) XOR (R5)

1

 

 

 

 

 

 

 

 

 

XRL A,R6

6E

(A)(A) XOR (R6)

1

 

 

 

 

 

 

 

 

 

XRL A,R7

6F

(A)(A) XOR (R7)

1

Исключающее “ИЛИ” А с прямо

XRL A, direct

65,da

(A)(A) XOR (direct)

1

адресуемым регистром

 

 

 

 

 

 

 

 

 

 

Исключающее “ИЛИ” А с косвенно

XRL A,@R0

66

(A)(A) XOR ((R0))

1

адресуемым регистром

 

 

 

XRL A,@R1

67

(A)(A) XOR ((R1))

1

Исключающее “ИЛИ” А с константой

XRL A, #data

64,dt

(A)(A) XOR #data

1

Исключающее “ИЛИ” прямо адресуемого

XRL direct, A

62,da

(drect)(direct)XOR

1

регистра с А

 

 

 

 

 

(A)

 

Исключающее “ИЛИ” прямо адресуемого

XRL direct, #data

63,da,dt

(direct)(direct) XOR

2

регистра с константой

 

 

 

 

 

#data

 

Очистка А

 

 

 

CLR A

E4

(A)0

1

Инвертирование А

 

 

 

CPL A

F4

(A)NOT (A)

1

Сдвиг А влево

 

 

 

RL A

23

(An+1)(An) (A0)(A7),

1

 

 

 

 

 

A

 

 

 

n=0..6

 

 

 

 

 

 

 

 

 

 

 

Сдвиг А влево через перенос

 

 

 

RLC A

33

(An+1)(An)

1

 

 

 

 

 

 

 

 

 

(A0)(C), n=0..6

 

C

 

 

 

A

 

 

 

(C)(A7)

 

 

 

 

 

 

 

 

 

 

 

 

Сдвиг А вправо

 

 

 

RR A

03

(An)(An+1) (A7)(A0),

1

 

 

 

 

 

A

 

 

 

n=0..6

 

 

 

 

 

 

 

 

 

 

 

Сдвиг А вправо через перенос

 

 

 

RRC A

13

(An)(An+1)

1

 

 

 

 

 

 

 

 

 

(A7)(C), n=0..6

 

C

 

 

A

 

 

 

(C)(A0)

 

Перестановка полубайтов А

 

 

 

SWAP A

C4

(A3..0)↔(A7..4)

1

============================================================================= B-5

===================================== Справочник по программированию «Bascom-8051» ==

Действие команды

Мнемоническое

КОП(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

 

2

-

 

PCPC+2+rel

 

 

 

 

 

 

 

JNZ rel

70,rel

Если А ≠0 PCPC+2+rel

2

-

Тестирование переноса

 

JC rel

40,rel

Если C=1

PCPC+2+rel

2

 

 

JNC rel

50,rel

Если C=0

PCPC+2+rel

2

 

 

 

 

 

 

JB bit, rel

20,bit,rel

Если bit=1

PCPC+3+rel

2

 

Тестирование битов

 

JNB bit, rel

30,bit,rel

Если bit=0

PCPC+3+rel

2

 

 

JBC bit, rel

10,bit,rel

Если bit=C

 

2

 

 

 

 

 

 

 

 

 

PCPC+3+rel , bit=0

 

 

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

 

CPL bit

B2,bit

(bit)NOT(bit)

1

 

Инверсия переноса

 

CPL C

B3

(C)NOT(C)

1

+

============================================================================= B-6

===================================== Справочник по программированию «Bascom-8051» ==

 

Мнемоническое

 

 

 

Флаги

 

цикл

 

 

 

 

 

 

Действие команды

КОП(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

 

+

 

+

 

+

1

адресуемым регистром с учетом

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

 

 

переноса

 

 

 

 

 

 

 

 

 

Сложение аккумулятора с

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

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

 

 

 

 

 

 

 

 

 

 

 

 

SUBB A, R0

98

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

+

 

+

 

+

1

 

SUBB A, R1

99

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

+

 

+

 

+

1

Вычитание от аккумулятора C

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

 

+

 

+

 

+

1

(заема) и прямо адресуемого

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

 

 

регистра

 

 

 

 

 

 

 

 

 

Вычитание от аккумулятора 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

(заема) и константы

 

 

 

 

 

 

 

 

 

 

 

============================================================================= B-7