MCS-51指令功能简述表

2006-04-28 10:46:25

MCS-51指令功能简述表

类别

指令格式

功能简述

字节数

周期

MOV A, Rn

寄存器送累加器

1

1

MOV Rn,A

累加器送寄存器

1

1

MOV A ,@Ri

内部RAM单元送累加器

1

1

MOV @Ri ,A

累加器送内部RAM单元

1

1

MOV A ,#data

立即数送累加器

2

1

MOV A ,direct

直接寻址单元送累加器

2

1

MOV direct ,A

累加器送直接寻址单元

2

1

MOV Rn,#data

立即数送寄存器

2

1

MOV direct ,#data

立即数送直接寻址单元

3

2

MOV @Ri ,#data

立即数送内部RAM单元

2

1

MOV direct ,Rn

寄存器送直接寻址单元

2

2

MOV Rn ,direct

直接寻址单元送寄存器

2

2

MOV direct ,@Ri

内部RAM单元送直接寻址单元

2

2

MOV @Ri ,direct

直接寻址单元送内部RAM单元

2

2

MOV direct2,direct1

直接寻址单元送直接寻址单元

3

2

MOV DPTR ,#data16

16位立即数送数据指针

3

2

MOVX A ,@Ri

外部RAM单元送累加器(8位地址)

1

2

MOVX @Ri ,A

累加器送外部RAM单元(8位地址)

1

2

MOVX A ,@DPTR

外部RAM单元送累加器(16位地址)

1

2

MOVX @DPTR ,A

累加器送外部RAM单元(16位地址)

1

2

MOVC A ,@A+DPTR

查表数据送累加器(DPTR为基址)

1

2

MOVC A ,@A+PC

查表数据送累加器(PC为基址)

1

2

XCH A ,Rn

累加器与寄存器交换

1

1

XCH A ,@Ri

累加器与内部RAM单元交换

1

1

XCHD A ,direct

累加器与直接寻址单元交换

2

1

XCHD A ,@Ri

累加器与内部RAM单元低4位交换

1

1

SWAP A

累加器高4位与低4位交换

1

1

POP direct

栈顶弹出指令直接寻址单元

2

2

PUSH direct

直接寻址单元压入栈顶

2

2

ADD A, Rn

累加器加寄存器

1

1

ADD A, @Ri

累加器加内部RAM单元

1

1

ADD A, direct

累加器加直接寻址单元

2

1

ADD A, #data

累加器加立即数

2

1

ADDC A, Rn

累加器加寄存器和进位标志

1

1

ADDC A, @Ri

累加器加内部RAM单元和进位标志

1

1

ADDC A, #data

累加器加立即数和进位标志

2

1

ADDC A, direct

累加器加直接寻址单元和进位标志

2

1

INC A

累加器加1

1

1

INC Rn

寄存器加1

1

1

INC direct

直接寻址单元加1

2

1

INC @Ri

内部RAM单元加1

1

1

INC DPTR

数据指针加1

1

2

DA A

十进制调整

1

1

SUBB A, Rn

累加器减寄存器和进位标志

1

1

SUBB A, @Ri

累加器减内部RAM单元和进位标志

1

1

SUBB A, #data

累加器减立即数和进位标志

2

1

SUBB A, direct

累加器减直接寻址单元和进位标志

2

1

DEC A

累加器减1

1

1

DEC Rn

寄存器减1

1

1

DEC @Ri

内部RAM单元减1

1

1

DEC direct

直接寻址单元减1

2

1

MUL AB

累加器乘寄存器B

1

4

DIV AB

累加器除以寄存器B

1

4

ANL A, Rn

累加器与寄存器

1

1

ANL A, @Ri

ANL A, #data

累加器与内部RAM单元

1

1

累加器与立即数

2

1

ANL A, direct

累加器与直接寻址单元

2

1

ANL direct, A

直接寻址单元与累加器

2

1

ANL direct, #data

直接寻址单元与立即数

3

1

ORL A, Rn

累加器或寄存器

1

1

ORL A,@Ri

累加器或内部RAM单元

1

1

ORL A,#data

累加器或立即数

2

1

ORL A,direct

累加器或直接寻址单元

2

1

ORL direct, A

直接寻址单元或累加器

2

1

ORL direct, #data

直接寻址单元或立即数

3

1

XRL A, Rn

累加器异或寄存器

1

1

XRL A,@Ri

累加器异或内部RAM单元

1

1

XRL A,#data

累加器异或立即数

2

1

XRL A,direct

累加器异或直接寻址单元

2

1

XRL direct, A

直接寻址单元异或累加器

2

1

XRL direct, #data

直接寻址单元异或立即数

3

2

RL A

累加器左循环移位

1

1

RLC A

累加器连进位标志左循环移位

1

1

RR A

累加器右循环移位

1

1

RRC A

累加器连进位标志右循环移位

1

1

CPL A

累加器取反

1

1

CLR A

累加器清零

1

1

ACCALL addr11

2KB范围内绝对调用

2

2

AJMP addr11

2KB范围内绝对转移

2

2

LCALL addr16

2KB范围内长调用

3

2

LJMP addr16

2KB范围内长转移

3

2

SJMP rel

相对短转移

2

2

JMP @A+DPTR

相对长转移

1

2

RET

子程序返回

1

2

RET1

中断返回

1

2

JZ rel

累加器为零转移

2

2

JNZ rel

累加器非零转移

2

2

CJNE A ,#data ,rel

累加器与立即数不等转移

3

2

CJNE A ,direct ,rel

累加器与直接寻址单元不等转移

3

2

CJNE Rn,#data ,rel

寄存器与立即数不等转移

3

2

CJNE @Ri ,#data ,rel

RAM单元与立即数不等转移

3

2

DJNZ Rn ,rel

寄存器减1不为零转移

2

2

DJNZ direct ,rel

直接寻址单元减1不为零转移

3

2

NOP

空操作

1

1

MOV C, bit

直接寻址位送C

2

1

MOV bit, C

C送直接寻址位

2

1

CLR C

C清零

1

1

CLR bit

直接寻址位清零

2

1

CPL C

C取反

1

1

CPL bit

直接寻址位取反

2

1

SETB C

C置位

1

1

SETB bit

直接寻址位置位

2

1

ANL C, bit

C逻辑与直接寻址位

2

2

ANL C, /bit

C逻辑与直接寻址位的反

2

2

ORL C, bit

C逻辑或直接寻址位

2

2

ORL C, /bit

C逻辑或直接寻址位的反

2

2

JC rel

C为1转移

2

2

JNC rel

C为零转移

2

2

JB bit,rel

直接寻址位为1转移

3

2

JNB bit,rel

直接寻址为0转移

3

2

JBC bit,rel

直接寻址位为1转移并清该位

3

2

 

你可能感兴趣的:(c,div)