您现在的位置是:首页 >技术交流 >【MCS-51单片机汇编语言】期末复习总结①——常见指令汇总(题型一)网站首页技术交流

【MCS-51单片机汇编语言】期末复习总结①——常见指令汇总(题型一)

花想云 2024-07-23 18:01:02
简介【MCS-51单片机汇编语言】期末复习总结①——常见指令汇总(题型一)

在这里插入图片描述

七大寻址方式

  • 立即寻址:通过一个立即数来指定存储单元的地址,例如#41H;
  • 寄存器寻址:Rn(n=0~7),A,B,DPTR,C;
  • 直接寻址:通过存储单元的地址本身来访问数据,例如地址3AH;
  • 寄存器间接寻址:通过一个指针变量来访问存储单元的数据,例如@Ri (i=0或1) 、 @DPTR;
  • 变址寻址:@A+PC、@A+DPTR;
  • 相对寻址:rel(相对偏移量);
  • 位寻址:00H-25H.5(.5表示第五位)、TCON.3(TCON的第三位)、CY(进位标志位);

重要指令

转移

  • MOV (片内RAM)
    • MOV A, Rn;(Rn) -> (A)
  • MOVX(片外RAM)
    • MOVX A, @DPTR; ((DPTR)) -> (A)
  • MOVC(ROM)
    • MOVC A, @A+DPTR;((A)+(DPTR)) -> (A)

堆栈

  • PUSH direct;(sp)+1 - > (sp), (direct) -> ((sp))
  • POP direct;((sp)) -> (direct), (sp)-1 -> (sp)
    在这里插入图片描述

sp为栈顶指针,指向栈顶元素)

  • ADD(直接加)
    • ADD A, Rn; (A) + (Rn) -> (A)
  • ADDC(考虑进位标志位)
    • ADDC A, Rn; (A) + (Rn) + (CY) -> (A)
  • INC(自加1)
    • INC A; (A) + 1 -> (A)

  • SUBB(默认考虑进位标志位)
    • SUBB A, Rn; (A) - (CY) - (Rn) -> (A)
  • DEC(自减一)
    • DEC A; (A) -1 -> (A)

  • MUL AB; (A)*(B) -> A存结果的低 8 位,B存高 8 位;

  • DIV AB; (A) / (B) -> A存商,B存余数;

位操作

  • ANL(按位与)(都是1,才为1)

    • ANL A, Rn;结果给A
      在这里插入图片描述
  • ORL(按位或)(只要有1,就为1)

    • ORL A,Rn;结果给A
      在这里插入图片描述
  • XRL(按位异或)(相同为0,相异为1)

    • XRL A, Rn;结果给A

在这里插入图片描述

  • SETB(置1)
    • SET C;1 -> ( C )
  • CLR(清零)
    • CLR A;0 -> (A)
  • CPL(取反)
    • CPL A

在这里插入图片描述

  • RL(循环左移)

在这里插入图片描述

  • RR(循环右移)

跳转

  • LJMP(跳转到某个地址开始执行)
    • LJMP addr16;addr16 -> (PC)
  • SJMP(与上相同)
  • AJMP(与上相同)

(三者任选其一即可)

条件转移

  • JZ rel;(A)全0,跳转,否则顺序执行
  • CJNE A, #data, rel;(A) != data 就跳转
  • DJNZ Rn, rel;(Rn) - 1 -> (Rn),若(Rn) != 0就跳转

子程序

  • ACALL(子程序调用)
    • ACALL addr11
  • RET(子程序返回)
    • RET; ((sp)) -> (PCH) (sp) -1 -> (sp);((sp)) -> (PCL) (sp) -1 -> (sp)

常考题型

给出一个程序,求程序结束后,一些寄存器的值。例如:

  • 下面程序执行后(SP)、(A)、(B)各位多少?

      		ORG	2000H
      		MOV	SP,	#40H
      		MOV	A,	#30H
      		LCALL		2500H
      		ADD	A,		#10H
      		MOV	B,		A
      HERE:	SJMP HERE
      		ORG	2500H
      		MOV	DPTR,		#2008H
      		PUSH	DPL
      		PUSH	DPH
      		RET
    

在这里插入图片描述

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。