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

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

 

 

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

 

 

 

Флаги

циклов

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

 

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

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

 

 

 

 

 

 

 

06

 

 

 

 

 

 

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

 

INC @R0

((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

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

 

 

 

 

 

 

 

16

 

 

 

 

 

 

Декрементирование косвенно

 

DEC @R0

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

 

 

 

 

1

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

 

DEC @R1

17

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

 

 

 

 

1

 

 

 

 

(B)15-8{(A)×(B)}

 

 

 

 

 

Умножение

 

MUL AB

A4

(A)7-0{(A)×(B)}

0

 

+

 

4

 

Если в результате:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B≠0 OV1

 

 

 

 

 

Деление

 

DIV AB

84

(A){(A)/(B)}

0

 

+

 

4

 

(B)остаток

 

 

 

 

 

 

Если делитель B=0 OV1

 

 

 

 

 

 

 

 

 

Если (А3..0)>9 или (АС)=1

 

 

 

 

 

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

 

DA A

D4

то (А3..0)3..0)+6;

+

 

 

 

1

 

и если (А7..4)>9 или С=1, то

 

 

 

 

 

 

 

7..4)7..4)+6

 

 

 

 

 

Условные обозначения.

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

adr16 – шестнадцатиразрядный адрес. Младший байт записывается в ячейке с меньшим адресом. bit – адрес (номер) бита от 0 до FF

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

rel – относительное смещение адреса от 80 (-128) до 7F (+127)

daприdaист. – адреса регистров приемника и источника данных от 0 до FF

============================================================================= B-8

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

Приложение C

Коды команд MCS-51

 

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

 

0

NOP

AJMP

LJMP

RR A

INC A

INC

INC

INC

INC R0

INC R1

INC R2

INC R3

INC R4

INC R5

INC R6

INC R7

0

adr11

addr16

direct

@R0

@R1

 

 

(p000)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

JBC

ACALL

LCALL

RRC A

DEC A

DEC

DEC

DEC

DEC R0

DEC R1

DEC R2

DEC R3

DEC R4

DEC R5

DEC R6

DEC R7

1

adr11

bit,rel

addr16

direct

@R0

@R1

 

(p000)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

JB bit,rel

AJMP

RET

RL A

ADD A,

ADD A,

ADD

ADD

ADD

ADD

ADD

ADD

ADD

ADD

ADD

ADD

2

adr11

#data

direct

A,@R0

A,@R1

A,R0

A,R1

A,R2

A,R3

A,R4

A,R5

A,R6

A,R7

 

 

(p001)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

JNB

ACALL

 

 

ADDC

ADDC

ADDC

ADDC

ADDC

ADDC

ADDC

ADDC

ADDC

ADDC

ADDC

ADDC

3

3

adr11

RETI

RLC A

bit,rel

A,#data

A,direct

A,@R0

A,@R1

A,R0

A,R1

A,R2

A,R3

A,R4

A,R5

A,R6

A,R7

 

(p001)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AJMP

ORL

ORL

ORL A,

ORL A,

ORL

ORL

ORL

ORL

ORL

ORL

ORL

ORL

ORL

ORL

4

4

JC rel

direct,

adr11

direct,A

#data

direct

A,@R0

A,@R1

A,R0

A,R1

A,R2

A,R3

A,R4

A,R5

A,R6

A,R7

 

 

#data

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ACALL

ANL

ANL

ANL A,

ANL A,

ANL

ANL

ANL

ANL

ANL

ANL

ANL

ANL

ANL

ANL

 

5

JNC rel

adr11

direct,

5

direct,A

#data

direct

A,@R0

A,@R1

A,R0

A,R1

A,R2

A,R3

A,R4

A,R5

A,R6

A,R7

 

 

(p010)

#data

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AJMP

XRL

XRL

XRL A,

XRL A,

XRL

XRL

XRL

XRL

XRL

XRL

XRL

XRL

XRL

XRL

 

6

JZ rel

adr11

direct,

6

direct,A

#data

direct

A,@R0

A,@R1

A,R0

A,R1

A,R2

A,R3

A,R4

A,R5

A,R6

A,R7

 

 

(p011)

#data

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ACALL

ORL C,

JMP

MOV A,

MOV

MOV

MOV

MOV R0,

MOV R1,

MOV R2,

MOV R3,

MOV R4,

MOV R5,

MOV R6,

MOV R7,

7

7

JNZ rel

adr11

@A+

direct,

@R0,

@R1,

bit

#data

#data

#data

#data

#data

#data

#data

#data

#data

 

 

(p011)

DPTR

#data

#data

#data

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

 

=========================================================================================================================== C-1

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

Коды команд MCS-51 (продолжение)

 

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

 

 

 

AJMP

ANL C,

MOVC

 

MOV

MOV

MOV

MOV

MOV

MOV

MOV

MOV

MOV

MOV

MOV

 

8

SJMP rel

adr11

A,@A+P

DIV AB

direct,

direct,

direct,

direct,

direct,

direct,

direct,

direct,

direct,

direct,

direct,

8

bit

 

 

(p100)

C

 

direct

@R0

@R1

R0

R1

R2

R3

R4

R5

R6

R7

 

 

 

 

 

 

 

MOV

ACALL

MOV bit,

MOVC

SUBB A,

SUBB A,

SUBB A,

SUBB A,

SUBB A,

SUBB A,

SUBB A,

SUBB A,

SUBB A,

SUBB A,

SUBB A,

SUBB A,

 

9

OPTR,

adr11

A,@A+D

9

C

#data

direct

@R0

@R1

R0

R1

R2

R3

R4

R5

R6

R7

 

#data16

(p100)

PTR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

ORL

AJMP

MOV C,

INC

MUL AB

 

MOV

MOV

MOV R0,

MOV R1,

MOV R2,

MOV R3,

MOV R4,

MOV R5,

MOV R6,

MOV R7,

A

adr11

 

@R0,

@R1,

C,/bit

bit

DPTR

 

direct

direct

direct

direct

direct

direct

direct

direct

 

(p101)

 

 

direct

direct

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ACALL

 

 

CJNE A,

 

CJNE

CJNE

CJNE

CJNE

CJNE

CJNE

CJNE

CJNE

CJNE

CJNE

 

 

ANL

 

 

CJNE A,

@R0,

 

B

adr11

CPL bit

CPL C

#data,

@R0,

R0,

R1,

R2,

R3,

R4,

R5,

R6,

R7,

B

C,/bit

direct, rel

#data,

 

(p101)

 

 

rel

#data,rel

#data,rel

#data,rel

#data,rel

#data,rel

#data,rel

#data,rel

#data,rel

#data,rel

 

 

 

 

 

 

rel

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

PUSH

AJMP

CLR bit

CLR C

SWAP A

XCH A,

XCH A,

XCH A,

XCH A,

XCH A,

XCH A,

XCH A,

XCH A,

XCH A,

XCH A,

XCH A,

C

adr11

direct

direct

@R0

@R1

R0

R1

R2

R3

R4

R5

R6

R7

 

(p110)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

POP

ACALL

 

 

 

DJNZ

XCHD A,

XCHD A,

DJNZ

DJNZ

DJNZ

DJNZ

DJNZ

DJNZ

DJNZ

DJNZ

 

D

adr11

SETB bit

SETB C

PA A

D

direct

direct, rel

@R0

@R1

R0,rel

R1,rel

R2,rel

R3,rel

R4,rel

R5,rel

R6,rel

R7,rel

 

(p110)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E

MOVX

AJMP

MOVX

MOVX

CLR A

MOV A,

MOV A,

MOV A,

MOV A,

MOV A,

MOV A,

MOV A,

MOV A,

MOV A,

MOV A,

MOV A,

E

A,

adr11

A,@R0

A,@R1

direct

@R0

@R1

R0

R1

R2

R3

R4

R5

R6

R7

 

@DPTR

(p111)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MOVX

ACALL

MOVX

MOVX

 

MOV

MOV

MOV

MOV R0,

MOV R1,

MOV R2,

MOV R3,

MOV R4,

MOV R5,

MOV R6,

MOV R7,

 

F

@DPTR,

adr11

CPL A

F

@R0,A

@R1,A

direct,A

@R0, A

@R1, A

A

A

A

A

A

A

A

A

 

A

(p111)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

 

Код команды определяется первой цифры по вертикали (старший полубайт) и второй по горизонтали (младший полубайт). Например, команда INC DPTR имеет код A3.

=========================================================================================================================== C-2