当前位置:首页 > 单片机 > 单片机
[导读]MCS-51具有强大的加、减、乘、除四则算术运算指令。1.程序状态字PSWMCS-51有一个程序状态字寄存器PSW,用来保存指令执行结果的标志,供程序查讯和判别。PSW是特殊功能寄存器中的一个,其格式如下:PSW7--既是布

MCS-51具有强大的加、减、乘、除四则算术运算指令。

1.程序状态字PSW

MCS-51有一个程序状态字寄存器PSW,用来保存指令执行结果的标志,供程序查讯和判别。PSW是特殊功能寄存器中的一个,其格式如下:

PSW7--既是布尔处理机的累加器C,又是进位标志CY,如果操作结果在最高位有进位输出(加法时)或借位输入(减法时),置位CY,否则清“0”CY。

AC--辅助进位(半进位)标志。如果操作结果的低4位有进位(加法时)或向高4位借位时(减法),置AC,否则清“0”AC,AC主要用于二-十进制数加法调整。

OV--溢出标志。如果操作结果有进位进入最高位,但最高位没有产生进位,或者最高位产生进位而低位没有向最高位进位,这时置位溢出标志位,否则OV清“0”。溢出标志位用于补码运算,当有符号的数运算结果不能用8位二进制数表示时,OV将置位。

P--累加器A的奇偶标志位,如果累加器A的8位的模2和为1(奇),则P=1;否则P=0。由于P总是表示A的奇偶性,随着A的内容变化的,所以一个值写入PSW的P位的值不变。

RS1、RS0--指示当前使用的工作寄存器区。

F0--用户标志位。可作为软件标志,它的作用和内部RAM位寻址区的各位相似。

PSW1--保留位,对它的操作无效。


2.加法指令

1、不带进位加法指令



ADD A,#dataADD A,dataADD A,@RiADD A,Rn


工作寄存器、内部RAM单元内容或立即数的8位无符号二进制数和累加器A中数相加,所得和存放于累加器A中,当和的第3、7位有进位时,分别将AC,CY标志位置1;否则为0。

上述指令的执行将影响标志位AC、CY、OV、P。

对于无符号数,进位标志位CY=1,表示溢出;CY=0表示无溢出。带符号数运算的溢出取决于第6、7位中有一位产生进位,而另一位不产生进位,溢出标志位OV置“1”否则被清“0”。OV=1表示两个正数相加,和变为负数,或两个负数相加,和变为正数的错误结果。

源操作数有四种寻址方式:寄存器、直接、间接和立即数。

2、带进位加法指令:



ADDC A,#dataADDC A,dataADDC A,@RiADDC A,Rn


这是四条带进位的加法指令。将累加器A内容加当前CY标志位内容,再加无符号单字节的数,和存于累加器A中。当运算结果第3、7位产生进位溢出时,则分别置位AC、CY和OV标志位。本指令执行将影响标志位AC、CY、OV、P。

本指令常用于多字节加法。

3、加1指令:



INC AINC dataINC @RiINC RnINC DPTR


INC指令将指定的内容加1,结果仍存放于原A或原单元中。如原值为0FFH,加1运算后将变成00H,运算结果不影响标志位。

本指令可对累加器A、工作寄存器RN、RI间址和直接寻址的单元内容进行加1运算。可见MCS-51加1指令是较丰富的。

注意:当用本指令使输出并行I/O内容加1时,用作输出口原始值,将从输出口的数据锁存器中读入,而不是从输出口的引脚上读入。

4、二-十进制调正指令:




DA A


若[(A0-3)>9]或[(AC)=1),则(A0-3)(A0-3)+06H

本指令是对A的BCD码加法结果进行调正。两个压缩型BCD码按二进制数相加之后,必须经本指令调正,才能得到压缩型BCD码的和数。

本指令的操作为:若累加器A的低4位数值大于9或者第3位向第4位产生进位,即AC辅助进位位为1,则需将A的低4位内容加6调正,以产生低4位正确的BCD码值。如果加0调正后,低4位产生进位,且高4位均为1时,则内部加法将置位CY,反之,它并不清“0”CY标志位。

若累加器A的高4位值大于9或最高进位位CY=1,则高位4位需加6调正,以产生高4位的正确BCD码值。同样,在加6调正后产生最高进位,则置位CY,反之,不清“0”CY这时CY的置位,表示和数BCD码值大于等于100。这对多字节十进制加法有用。不影响OV标志。

由此可见,本指令是根据累加器A的原始数值和PSW的状态,对累加器A进行加O6H、60H或66H的操作。

必须注意:本指令不能简单地把累加器A中的16进制数交换成BCD码,也不能用于十进制减法的调正。

3.减法指令


MCS-51在MCS-48的基础上增加了带借位减法指令,加强了计算机的运算功能。

1、带借位减法指令:


SUBB A,#dataSUBB A,dataSUBB A,@RiSUBB A,Rn


带借位减法指令SUBB,从累加器A中减去进位标志位CY和指定的变量,结果在累加器A中,若第七位有借位,则置位位CY,否则CY清0。若第3位有错位,则置位辅助进位标志AC,否则清0 AC。若第7和第6位中有一位需借位,而另一位不借位,则置位溢出标志OV。溢出位OV用于带符号的整数减法,它表示(OV=1)一个正数减负数结果为负数;或一个负数减正数结果为正数的错误结果。

源操作数允许有四种寻址方式:寄存器RN,直接地址direct,间址Ri或立即数。

当在进行单字节或多字节减法前,不知道进位标志位CY的值,则应在减法指令前先将CY清“0”。

4.乘法指令



MUL AB


乘法指令是MCS-51新增加的,运算速度只需4个机器周期。它大大增加了MCS-51单片机的运算功能,克服了MCS-48系列单片机的不足。

本指令将累加器A和寄存器B中二个8位无符号整数进行相乘,16位乘积的低8位存于A中,高8位存于B中,如果乘积大于255(0FFH),即B的内容不为0时,则置位溢出标志位OV,否则清“0”OV。进位标志位CY总是清“0”。

5.除法指令



DIV AB


MCS-51系列单片机增加的除法指令,运算时间亦只需4个机器周期,同样也增强了MCS-51的运算功能,使它能适用于复杂的且要求运算功能较强的控制系统。除法指令格式:

本指令将累加器A中8位无符号整数除以B寄存器中8位无符号整数,所得结果商的整数部分存于A中,整数作数部分存于寄存器B中。清“0”CY和OV标志位。当除数(B中内容)为00H时,则执行结果将为不定值,即执行结果送往A和B中的为不定值,且置位溢出标志位OV。在任何情况下,均清“0”CY。

6.减一指令


DEC ADEC dataDEC @RiDEC Rn


DEC指令把所指的寄存器内容减1,结果仍送回原寄存器,若原来寄存器的内容为00H,则减1后将为FFH,运算结果不影响任何标志位,该组指令使用了直接、寄存器和寄存器间寻址。同加1指令一样,在第二条指令中,若直接地址是I/O口,则进行“读-改-写”操作。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

STM32与51单片机之间有什么差异呢?两者可以说是一场科技与性能的较量了。在科技飞速发展的今天,微控制器(MCU)已广泛应用于各类电子设备和系统中,发挥着举足轻重的作用。其中,STM32和51单片机作为两种常见的微控制...

关键字: STM32 51单片机 MCU

51单片机将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对51单片机的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 单片机 51单片机

在嵌入式系统开发中,单片机是不可或缺的重要组成部分。其中,STM32单片机和51单片机是两种常见的单片机芯片。本文将对比分析这两种单片机的区别,并探讨STM32单片机的优势。

关键字: stm32单片 51单片机

51单片机是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了许多品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基...

关键字: 51单片机 串行通信

51单片机是一种常见的微控制器,它具有串行通信接口(Serial Communication Interface,SCI)。通过串口通信接口,51单片机可以与其他设备或系统进行串行通信,实现数据传输和控制。

关键字: 51单片机 串口通信

Pic单片机和51单片机是两种应用广泛的微控制器,它们各自具有不同的特点和优势,选择哪种单片机取决于具体应用需求。下面将对Pic单片机和51单片机进行详细的介绍和对比。

关键字: PIC单片机 51单片机 单片机

随着电子信息技术的快速发展,串行通信在各种应用中得到了广泛的应用。其中,51单片机作为一种常见的嵌入式系统,具有低功耗、高性能、易于编程等特点,常用于各种自动化控制、数据采集等系统中。而PC机具有强大的数据处理能力和丰富...

关键字: 51单片机 PC机 串行通信

51 单片机内部有一个全双工串行接口。什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。

关键字: 51单片机 串口通信 半双工

步进电机是一种无刷电机,可将电脉冲转换为机械旋转。顾名思义,它根据输入脉冲逐步旋转,是现代数字程序控制系统中的主要执行元件。

关键字: 51单片机 步进电机 无刷电机

1.ROM:只读存储器,单片机的只读存储区大多用于存储程序固又称程序存储器。

关键字: 51单片机 工作原理 电路
关闭
关闭