单片机指令系统(2)

这篇博客的内容是指令系统的另一部分,上部分请看上篇博客。单片机指令系统(1)

目录

 

三、逻辑操作类指令

1 逻辑“与”指令

2 逻辑“或”指令

3 逻辑“异或”指令

4 循环移位指令

5 取反指令

6 清0指令

四、控制转移指令

1 无条件转移指令

2 条件转移指令

3 间接转移指令

4 调用子程序及返回指令

5 空操作指令

五、位操作类指令

1 位数据传送指令

2 位修正指令

3 位逻辑运算指令

4 判位转移指令


三、逻辑操作类指令

1 逻辑“与”指令

ANL A,Rn                  ;(A)^(Rn)->A
ANL A,dir                 ;(A)^(dir)->A
ANL A,@Ri                 ;(A)^((Ri))->A
ANL A,#data               ;(A)^data->A
ANL dir,A                 ;(dir)^(A)->dir
ANL dir,#data             ;(dir)^data->dir

2 逻辑“或”指令

ORL A,Rn                  ;(A)V(Rn)->A
ORL A,dir                 ;(A)V(dir)->A
ORL A,@Ri                 ;(A)V((Ri))->A
ORL A,#data               ;(A)Vdata->A
ORL dir,A                 ;(dir)V(A)->dir
ORL dir,#data             ;(dir)Vdata->dir

3 逻辑“异或”指令

;此处的+表示异或的符号
XRL A,Rn                  ;(A)+(Rn)->A
XRL A,dir                 ;(A)+(dir)->A
XRL A,@Ri                 ;(A)+((Ri))->A
XRL A,#data               ;(A)+data->A
XRL dir,A                 ;(dir)+(A)->dir
XRL dir,#data             ;(dir)+data->dir

4 循环移位指令

RL A                ;循环左移
RR A                ;循环右移
RLC A               ;带进位位CY循环左移
RRC A               ;带进位位CY循环右移

5 取反指令

CPL A          ;把A取反的值放入A

6 清0指令

CLR A      ;0->A

四、控制转移指令

1 无条件转移指令

LJMP addr16             ;addr16->PC
AJMP addr11             ;(PC)+2->PC,addr11->PC.10~PC.0
SJMP rel                ;(PC)+2+rel->PC

2 条件转移指令

JZ rel              ;(A)=0:(PC)+2+rel->PC
                    ;(A)!=0:(PC)+2->PC

JNZ REL             ;(A)!=0:(PC)+2+rel->PC
                    ;(A)=0:(PC)+2->PC

CJNE A,dir,rel      ;(A)=(dir):(PC)+3->PC,0->C
                    ;(A)>(dir):(PC)+3+rel->PC,0->C
                    ;(A)<(dir):(PC)+3+rel->PC,1->C

CJNE A,#data,rel    ;(A)=data:(PC)+3->PC,0->C
                    ;(A)>data:(PC)+3+rel->PC,0->C
                    ;(A)<data:(PC)+3+rel->PC,1->C

CJNE Rn,#data,rel   ;(Rn)=data:(PC)+3->PC,0->C
                    ;(Rn)>data:(PC)+3+rel->PC,0->C
                    ;(Rn)<data:(PC)+3+rel->PC,1->C

CJNE @Ri,#data,rel  ;((Ri))=data:(PC)+3->PC,0->C
                    ;((Ri))>data:(PC)+3+rel->PC,0->C
                    ;((Ri))<data:(PC)+3+rel->PC,1->C

DJNZ Rn,rel         ;(Rn)-1->Rn,
                    ;Rn!=0:(PC)+2+rel->PC
                    ;Rn =0:(PC)+2->PC

DJNZ dir,rel        ;(dir)-1->dir
                    ;(dir)!=0:(PC)+3+rel->PC
                    ;(dir) =0:(PC)+3->PC

3 间接转移指令

JMP @A+DPTR        ;(A)+(DPTR)->PC

4 调用子程序及返回指令

LCALL addr16     ;(PC)+3->PC,(SP)+1->SP
                 ;(PC.7~PC.0)->(SP),(SP)+1->SP
                 ;(PC.15~PC.8)->(SP),addr16->PC

ACALL addr11     ;(PC)+2->PC,(SP)+1->SP
                 ;(PC.7~PC.0)->(SP),(SP)+1->SP
                 ;(PC.15~PC.8)->(SP),addr11->PC.10~PC.0

RET              ;((SP))->PC.15~PC.8,(SP)-1->SP
                 ;((SP))->PC.7~PC.0,(SP)-1->SP

RETI             ;同时清除优先级转态触发器

5 空操作指令

NOP                ;单字节指令产生1个机器周期

五、位操作类指令

1 位数据传送指令

MOV C,bit             ;(bit)->C
MOV bit,C             ;(C)->bit

2 位修正指令

CLR C              ;0->C
CLR bit            ;0->bit
CPL C              ;进位位取反
CPL bit;           ;位取反
SETB C;            ;1->C
SETB bit           ;1->bit

3 位逻辑运算指令

ANL C,bit             ;(C)^(bit)->C
ANL C,/bit            ;(C)^(/bit)->C ,/表示取反
ORL C,bit             ;(C)V(bit)->C
ORL C,/bit            ;(C)V(/bit)->c

4 判位转移指令

JC rel               ;(C)=1,(PC)+2+rel->PC
                     ;(C)=0,(PC)+2->PC

JNC rel              ;(C)=0,(PC)+2+rel->PC
                     ;(C)=1,(PC)+2->PC

JB bit,rel           ;(bit)=1,(PC)+3+rel->PC
                     ;(bit)=0,(PC)+3->PC

JNB bit,rel          ;(bit)=0,(PC)+3+rel->PC
                     ;(bit)=1,(PC)+3->PC

JBC bit,rel          ;(bit)=1,(PC)+3+rel->PC,0->bit
                     ;(bit)=0,(PC)+3->PC

希望这篇博客对你学习单片机指令有用!

(by:CHENYUNHE 2018-12-7 https://blog.csdn.net/CHENYUNHE/ )

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值