MCS-51单片机常用汇编指令大全

1.数据传送指令
寄存器寻址:         MOV R0,30H     ;把30H单元内容赋给寄存器R0
直接寻址:           MOV ACC,30H    ;把30H单元内容赋给累加器A
立即寻址:           MOV R0,#30H    ;把立即数30H赋给寄存器R0
寄存器间接寻址:      MOV RO,@R1     ;把R1内容存放的地址单元内的数赋给R0
变址寻址(查表指令):MOVC A,@A+DPTR  ;((A)+(DPTR))的值赋给A
相对寻址:           SJMP $          ;转移到自身的首地址,构成死循环
位寻址:             CLR C           ;清零Cy
外部数据传送指令:    MOV DPTR,#1818H ;将外部存储器单元的地址数赋给DPTR寄存器
                    MOVX A,@DPTR    ;将DPTR指定的外部数据存储器单元中的数据送入A
                    MOVX A,@Ri      ;
堆栈指令:           PUSH ACC        ;(SP)++,(A)赋给((SP))
                    pop 78H         ;(Sp)--,((Sp))赋给78H单元
数据交换指令:       XCH A,R0        ; A与R0数据交换
                    XCHD A,R0       ;A与R0低四位数据交换
                    SWAP A          ;A的高四位与低四位交换
 
2.算术运算指令
不带进位加法:       ADD A,R0        ;(A)=(A)+(R0);
带进位加法:        ADDC A,RO        ;(A)=(A)+(R0)+(Cy)
加一:              INC A            ;(A)++
减法:              SUBB A,R0        ;(A)=(A)-(R0)-(Cy)
减一:              DEC A            ;(A)--
乘法:              MUL AB           ;(B)(A)=(A)*(B)
除法:              DIV AB           ;(A)..(B)=(A)/(B)
3.逻辑运算和移位指令
逻辑与:            ANL A,R0         ;(A)=(A)&(R0)
逻辑或:            ORL A,R0         ;(A)=(A)|(R0)
逻辑异或:          XRL A,R0         ;(A)=(A)异或(R0)
累加器清零:        CLR A            ;(A)=0
累加器取反:        CPL A            ;(A)=!(A)
不带进位左移:      RL A;
不带进位右移:      RR A;    
带进位左移:        RLC A;
带进位右移:        RLR A;
4.位操作指令
位传送:            MOV bit,C;
位清零:            CLR C;
位置1:             SETB C;
位运算:            ANL bit,C;
                   ORL bit,C;
5.控制转移指令
无条件转移:        LJMP MAIN;
子程序调用:        LCALL FUN1;
子程序返回:        RET
累加器判0转移:     JZ FUN1           ;若A==0,则转移FUN1,否则执行下一条指令
                   JNZ FUN1          ;若A!=0,则转移FUN1,否则执行下一条指令
减一条件转移:      DJNZ R0,FUN1      ;(R0)--,若R0!=0,则转移FUN1,否则执行下一条指令
比较条件转移:      CJNE R0,A,FUN1    ;若R0!=A,则转移FUN1,否则执行下一条指令
以Cy内容转移:      JC FUN1           ;若(Cy)!=0,转移FUN1,否则执行下一条指令
                   JNC FUN1          ;若(Cy)=0,转移FUN1,否则执行下一条指令
以bit内容转移:     JB bit,FUN1       ;若(bit)!=0,转移FUN1,否则执行下一条指令
                   JNB bit,FUN1      ;若(bit)==0,转移FUN1,否则执行下一条指令
6.空操作指令
                   NOP

    














评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZnDream66

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值