单片机指令详解
1、数据传送类指令
1.MOV:MOV(目的字节),(源字节);
2.MOVC:和MOV用法基本相同,主要用于ROM查表,也就是基址变址中。
3.MOVX:和MOV用法基本相同,主要读写片外RAM中,也就是间接寻址,如MOVXA,@Ri。
4.PUSH:主要用于堆栈操作中的压栈操作,例如:(SP)=07H,(40H)=88H,执行指令PUSH40H后,(SP)=08H)(08H)=88H。其中,SP为堆栈指针,压栈之后堆栈指针加一。
5.POP:主要用于堆栈操作中的弹栈操作,(SP)=5FH,(5FH)=90H,执行指令POP70H后,(70H)=90H,(SP)=5EH,弹栈后堆栈指针减一。
6.XCH:主要用于两个数据之间交换,例如:(R0)=80H,(A)=20H。执行指令XCHA,R0后,(A)=80H,(R0)=20H。
7.XCHD:这个指令的主要功能是间址操作数的低半字节与A的低半字节内容相互交换。例如:(A)=20H,(R0)=30H,(30H)=67H。执行XCHDA,@R0后(A)=27,(30H)=60H.
8.SWAP:这个指令的功能是累加器的高、低四位进行互换。例如:(A)=23H,执行SWAPA指令之后(A)=32H。
2、算术运算类指令
1)加法
a)不带进位加法
影响程序状态字标志位PSW中的CY(CY是进位标志位,即和的D7为有进位时(CY)=1,否则,(CY)=0)、AC(AC为辅助进位标志位,当D3为有进位时为1,否则为0)、OV(和的D7和D6为只有一个进位时为1,否则为0)和P(当累加器ACC中的1为奇数时为1,否则为0)
例如:(A)= 84H,(30H)= 8DH,执行指令 ADD A,30H 结果A=11H
b)带进位加法
影响的程序状态字标志位与不带进位的加法相同。表达形式为ADDC A,Rn
c)增一
例如:INC A A的数值自加一
d)十进制调整
当累加器A中的低4位数出现了非BCD码或第四位产生进位时,应在第四位加六调整,以产生第四位正确的BCD码结果。
当累加器A中的高4位数出现了非BCD码或第四位产生进位时,应在第四位加六调整,以产生第四位正确的BCD码结果。
例如:(A)= 0101 0110B (R2)= 0110 0111B
ADD A,R2 DAA结果为123
2)减法
a)带错位减法
要是想实现不带错位减法只需要在每次执行带错位减法之前给CY清零即可。
例如:(A)=C9H,(R2)=54H,CY=1。执行SUBBA,R2之后结果为A-CY-R2。
b)减一
例如:DECAA自减一。
3)乘法
乘法运算之后第八位放在累加器A中,高八位放在寄存器中。
例如:(A)=50H,(B)=A0H。执行指令MULAB后(A)=00H,(B)=32H
4)除法
该指令的功能是将累加器A中的无符号8位二进制数除以B中的无符号8位二进制数,商的整数部分放在累加器A中,余数部分放在寄存器B中。
例如:(A)=FBH,(B)=12H,执行指令DIVAB后,(A)=0DH,B=11H。
3、逻辑运算和循环类指令
1、逻辑与ANL:例如:(A)=C3H,(R0)=AAH,执行指令ANLA,R0后,(A)=82H。
2、逻辑或ORL例如:(A)=C3H,(R0)=55H,执行指令ORGA,R0后,(A)=D7H。
3、逻辑异或XRL:例如:(A)=C3H,(R0)=AAH,执行指令XRLA,R0后(A)=69H。
4、累加器清0:例如:执行指令CLRA,那么无论累加器A之前是什么值,执行这条指令后都为0。
5、累加器取反:例如:CPLA那么累加器A=A非。
6、循环移位:RR循环右移;RL循环左移;有时候循环移位可以很方便的把原来的数据乘以2。
4、控制转移类指令
a)无条件转移指令
1.短跳转指令:AJPM addr11;程序跳转到addr11指示的地址处。
2.长跳转指令:LJPMaddr16;程序跳转到addr16指示的地址处。
3.相对跳转指令:SJMPrel;程序跳转到rel相对地址处。
4.散转移跳转指令:JMP@A+DPTR;程序跳转到变址指出的地址处。
b)条件转移指令
1.判0跳转指令:JZ rel;A为0,程序跳转到rel的相对地址出;
JNZrel;A不为0,程序跳转到rel的相对地址出;
2.比较不等跳转指令:例如:CJNEA,#data;A的内容与data的内容不等则跳转。
3.减一不为0跳转指令:例如:DJNZRn;Rn内容减一不为零则跳转。
4.子程序跳转:ACALLaddr11;调用addr11处理子程序;
LCALLaddr16;调用addr16处理子程序;
5.返回:RET:子程序返回;RETI:中断返回
6.NOP:空操作,耗时一个机器周期。
5、位操作指令
首先,我们想要处理位操作,那么,我们必须知道两个关键字;1、bit代表一个位。2、C相当于A不过只能代表一个bit。
a)位传送:其实和MOV的普通用法没有什么区别,只是每次只传送一个bit。例如:C=1、(P3)=11000101B、(P1)=00110101B。执行一下指令:
MOVP1.3,C
MOVC,P3.3
MOVP1.2,C
结果为:C=0,P3内容不变,P1的内容变为0011001B。
b)位状态子设置:
1、位清零:CLRC或bit可以实现给累加器C和地址内容清零。
2、位置位:SETBC或bit可以实现给累加器C和地址内容设置为1。
c)位逻辑运算:
1、位逻辑“与”:ANLC,bit执行这条指令之后bit的值不发生改变,把与的结果送给累加器C。
2、为逻辑“或”:ORLC,bit执行这条指令之后bit的值不发生改变,把或的结果送给累加器C。
3、位取反:CPLC;
d)位跳转指令(条件转移)
1、判断C:JC C为0跳转
JNC C为0不跳转
2、判断bit:JB bit位为1跳转
JBC bit位为1跳转,同时把bit清零
JNB bit位不为1跳转
相关推荐
【单片机指令详解】 单片机指令是控制单片机执行特定操作的命令,这里主要探讨的是MCS-51系列单片机的指令系统。MCS-51是一种广泛应用的8位微处理器,其指令集丰富多样,涵盖了数据处理、流程控制、输入输出等多种...
"指令.txt"这个文件很可能是MCS-51单片机指令的详细列表,包含了每一条指令的名称、操作码、操作数格式、功能描述以及可能的应用场景。通过学习和理解这些指令,开发者可以更好地理解和编写MCS-51单片机的汇编程序,...
51单片机汇编指令详解 本文对51单片机汇编指令进行了详细的解释,涵盖了指令的格式、汇编、指令类型、数据传递类指令、累加器A与外部数据存储器RAM之间的数据传递类指令、程序存储器向累加器A传送指令等内容。 一...
义隆单片机指令系统 义隆单片机指令系统是台湾义隆单片机常用的汇编指令集。该系统共有58条指令,每个指令码可以分割成两部分:第一部分为标示指令功能的运算码(OPCODE),第二部分则指出运算时所需之參数,亦即...
四、AVR单片机指令详解 ### 1. 数据传送指令 数据传送指令用于在AVR单片机内部的不同寄存器之间或寄存器与外部存储器之间的数据移动。例如,`MOV`, `LDS`, `STS`等指令。 ### 2. 算术逻辑指令 这一类指令包括...
标题中的“PIC18系列单片机指令中文讲解.pdf_ech_”表明这是一份关于PIC18系列单片机的中文教程,重点在于讲解其指令集。PIC18是Microchip Technology公司生产的微控制器系列,广泛应用在各种嵌入式系统中。"ech...
其指令系统是理解和编程的关键,这份“MCS-51系列单片机指令表详解”资料正是针对这一主题进行深入解析的资源。 MCS-51单片机的指令系统基于二进制编码的八位指令格式,包括数据处理指令、转移与控制指令、输入输出...
**PIC单片机指令集详解** 在嵌入式系统领域,PIC单片机因其高效、低功耗和广泛应用而备受青睐。本文将深入探讨PIC单片机的指令集,包括12位、14位和16位指令,旨在帮助读者理解和掌握其编程基础。 1. **12位指令集...
### 三、关键指令详解 #### 1. 数据传送指令 数据传送指令是51单片机中最基础的一类指令,如MOV(移动)指令,它可以实现不同寄存器之间或寄存器与内存之间的数据传递。例如,`MOV A, #data`将立即数data传送给...
MCS-51单片机指令详解 MCS-51单片机是一种常见的微控制器,具有 excelente 的性能和灵活性。了解MCS-51单片机的指令是使用和开发微控制器系统的基础。本文主要介绍MCS-51系列单片机指令以A开头的指令,共有18条,...
### 飞思卡尔单片机_s12单片机指令集详解 #### 一、引言 在嵌入式系统开发中,选择合适的微控制器(MCU)至关重要。飞思卡尔(现已被恩智浦半导体收购)是全球领先的半导体公司之一,在汽车电子、工业自动化等领域...
### 8051单片机指令系统详解 #### 一、引言 8051单片机作为一款经典的微控制器,在工业控制、消费电子等领域有着广泛的应用。其指令系统的设计不仅体现了微处理器的基本原理,也是编程人员进行高效开发的基础。...
《51单片机指令集详解》 51单片机是微电子技术中的一个重要组成部分,广泛应用于嵌入式系统、工业控制等领域。其指令集是理解和编程51系列单片机的基础,对于初学者来说,掌握这些指令是至关重要的。下面我们将详细...
在这个“单片机指令(精辟讲解)”的资源中,我们主要探讨的是汇编语言层面的单片机指令,而非C语言。汇编语言是一种面向过程的语言,它的每一个指令都直接对应于单片机硬件中的一个操作,因此理解这些指令对于深入...
标题:“单片机指令\C51指令详解” 描述:本文档深入解析了51单片机指令系统,特别聚焦于C51指令集,旨在为初学者和专业工程师提供全面的指导,帮助他们掌握MCS-51系列单片机的编程技巧。文档通过实例演示了各种...
**PIC单片机指令详解** PIC单片机是Microchip公司推出的一种广泛应用的微控制器,以其高效、低功耗和易编程的特点而受到广大工程师的青睐。本文将详细讲解PIC16F87X系列单片机的指令系统,帮助读者理解和掌握其基本...
- **传统8051单片机指令定义详解**:这部分内容深入解读了传统8051单片机的每一条指令,包括其英文和中文解释。 #### 中断系统 - **中断结构**:介绍了STC89C51RC/RD+系列单片机中断系统的整体架构。 - **中断...