MCS-51算术运算指令

发布者:温柔花香最新更新时间:2016-10-23 来源: eefocus关键字:MCS-51  算术运算指令 手机看文章 扫描二维码
随时随地手机看文章
算术运算指令共有24条,算术运算主要是执行加、减、乘、除法四则运算。另外MCS-51指令系统中有相当一部分是进行加、减1操作,BCD码的运算和调整,我们都归类为运算指令。虽然MCS-51单片机的算术逻辑单元ALU仅能对8位无符号整数进行运算,但利用进位标志C,则可进行多字节无符号整数的运算。同时利用溢出标志,还可以对带符号数进行补码运算。需要指出的是,除加、减1指令外,这类指令大多数都会对PSW(程序状态字)有影响。这在使用中应特别注意。

    [1]. 加法指令(4条)

    这4条指令的作用是把立即数,直接地址、工作寄存器及间接地址内容与累加器A的内容相加,运算结果存在A中。

        ADD  A,#data   ;(A)+#data→(A) 累加器A中的内容与立即数#data相加,结果存在A中

        ADD  A,data    ;(A)+(data)→(A) 累加器A中的内容与直接地址单元中的内容相加,结果存在A中

        ADD  A,Rn     ;(A)+(Rn)→(A) 累加器A中的内容与工作寄存器Rn中的内容相加,结果存在A中

        ADD  A,@Ri    ;(A)+((Ri))→(A) 累加器A中的内容与工作寄存器Ri所指向地址单元中的内容相加,结果存在A中

    [2]. 带进位加法指令(4条)

    这4条指令除与[1]功能相同外,在进行加法运算时还需考虑进位问题。

        ADDC  A,data    ;(A)+(data)+(C)→(A) 累加器A中的内容与直接地址单元的内容连同进位位相加,结果存在A中

        ADDC  A,#data   ;(A)+#data +(C)→(A) 累加器A中的内容与立即数连同进位位相加,结果存在A中

        ADDC  A,Rn      ;(A)+Rn+(C)→(A) 累加器A中的内容与工作寄存器Rn中的内容、连同进位位相加,结果存在A中

        ADDC  A,@Ri     ;(A)+((Ri))+(C)→(A) 累加器A中的内容与工作寄存器Ri指向地址单元中的内容、连同进位位相加,结果存在A中

    [3]. 带借位减法指令(4条)

    这组指令包含立即数、直接地址、间接地址及工作寄存器与累加器A连同借位位C内容相减,结果送回累加器A中。

    这里我们对借位位C的状态作出说明,在进行减法运算中,CY=1表示有借位,CY=0则无借位。OV=1声明带符号数相减时,从一个正数减去一个负数结果为负数,或者从一个负数中减去一个正数结果为正数的错误情况。在进行减法运算前,如果不知道借位标志位C的状态,则应先对CY进行清零操作。

        SUBB  A,data      ;(A)-(data) - (C)→(A) 累加器A中的内容与直接地址单元中的内容、连同借位位相减,结果存在A中

        SUBB  A,#data     ;(A)-#data -(C)→(A) 累加器A中的内容与立即数、连同借位位相减,结果存在A中

        SUBB  A,Rn       ;(A)-(Rn) -(C)→(A) 累加器A中的内容与工作寄存器中的内容、连同借位位相减,结果存在A中

        SUBB  A,@Ri      ;(A)-((Ri)) -(C)→(A) 累加器A中的内容与工作寄存器Ri指向的地址单元中的内容、连同借位位相减,结果存在A中

    [4]. 乘法指令(1条)

    这个指令的作用是把累加器A和寄存器B中的8位无符号数相乘,所得到的是16位乘积,这个结果低8位存在累加器A,而高8位存在寄存器B中。如果OV=1,说明乘积大于FFH,否则OV=0,但进位标志位CY总是等于0。

        MUL  AB       ;(A)×(B)→(A)和(B) 累加器A中的内容与寄存器B中的内容相乘,结果存在A、B中

    [5].  除法指令(1条)

    这个指令的作用是把累加器A的8位无符号整数除以寄存器B中的8位无符号整数,所得到的商存在累加器A,而余数存在寄存器B中。除法运算总是使OV和进位标志位CY等于0。如果OV=1,表明寄存器B中的内容为00H,那么执行结果为不确定值,表示除法有溢出。

        DIV  AB       ;(A)÷(B)→(A)和(B) 累加器A中的内容除以寄存器B中的内容,所得到的商存在累加器A,而余数存在寄存器B中。

    [6]. 加1指令(5条)

    这5条指令的的功能均为原寄存器的内容加1,结果送回原寄存器。上述提到,加1指令不会对任何标志有影响,如果原寄存器的内容为FFH,执行加1后,结果就会是00H。这组指令共有直接、寄存器、寄存器减间址等寻址方式:

        INC  A          ;(A)+1→(A) 累加器A中的内容加1,结果存在A中

        INC  data       ;(data)+1→(data) 直接地址单元中的内容加1,结果送回原地址单元中

        INC  @Ri       ;((Ri))+1→((Ri)) 寄存器的内容指向的地址单元中的内容加1,结果送回原地址单元中

        INC  Rn         ;(Rn)+1→(Rn)寄存器Rn的内容加1,结果送回原地址单元中

        INC  DPTR      ;(DPTR)+1→(DPTR)数据指针的内容加1,结果送回数据指针中

        在INC  data这条指令中,如果直接地址是I/O,其功能是先读入I/O锁存器的内容,然后在CPU进行加1操作,再输出到I/O上,这就是“读—修改—写”操作。

    [7].  减1指令(4条)

    这组指令的作用是把所指的寄存器内容减1,结果送回原寄存器,若原寄存器的内容为00H,减1后即为FFH,运算结果不影响任何标志位,这组指令共有直接、寄存器、寄存器间址等寻址方式,当直接地址是I/O口锁存器时,“读—修改—写”操作与加1指令类似。

        DEC  A         ;(A)-1→(A)累加器A中的内容减1,结果送回累加器A中

        DEC  data      ;(data)-1→(data)直接地址单元中的内容减1,结果送回直接地址单元中

        DEC  @Ri      ;((Ri))-1→((Ri))寄存器Ri指向的地址单元中的内容减1,结果送回原地址单元中

        DEC  Rn      ;(Rn)-1→(Rn)寄存器Rn中的内容减1,结果送回寄存器Rn中

    [8]. 十进制调整指令(1条)

    在进行BCD码运算时,这条指令总是跟在ADD或ADDC指令之后,其功能是将执行加法运算后存于累加器A中的结果进行调整和修正。

        DA  A

关键字:MCS-51  算术运算指令 引用地址:MCS-51算术运算指令

上一篇:MCS-51数据传送指令
下一篇:MCS-51逻辑运算及移位指令

推荐阅读最新更新时间:2024-03-16 15:16

MCS-51的ram和sfr的区别
2013-3-13 22:47 上传下载附件 (22.35 KB) 资料上讲的,SFR的地址和高128字节的内部RAM地址相同。为了区别对两者的访问采用不同的寻址方式。这个我知道。 那么我的问题出来了。 1、我想知道SFR到底是不是RAM,或者说是不是属于一种特殊的RAM呢,还是说不是RAM,只不过是一种特殊的的可软件改写的存储器呢。 2、总结一下就是说,如果对单片机的存储器进行分类的话就是分为两种ROM和RAM(当然RAM里面还包括普通的RAM和SRF)。 3、因为我看见有的书上讲的把存储器分成ROM,RAM,SFR三块讲了。 是一样的,只不过,sfr有些有读写限制,还有就是sfr上有一些线,拉到一些逻辑电路
[单片机]
<font color='red'>MCS-51</font>的ram和sfr的区别
MCS-51指令系统概述
一个单片机所需执行指令的集合即为单片机的指令系统。单片机使用的机器语言、汇编语言及高级语言,但不管使用是何种语言,最终还是要“翻译”成为机器码,单片机才能执行之。现在有很多半导体厂商都推出了自己的单片机,单片机种类繁多,品种数不胜数,值得注意的是不同的单片机它们的指令系统不一定相同,或不完全相同。但不管是使用机器语言、汇编语言还是高级语言都是使用指令编写程序的。 所谓机器语言即指令的二进制编码,而汇编语言则是指令的表示符号 。在指令的表达式上也不会直接使用二进制机器码,最常用的是十六进制的形式。但单片机并不能直接执行汇编语言和高级语言,都必须通过汇编器“翻译”成为二进制机器码方能执行,但如果直接使用二进制来编写程序
[单片机]
<font color='red'>MCS-51</font><font color='red'>指令</font>系统概述
MCS-51系列CHMOS型单片机掉电方式
  MCS-51系列CHMOS型 单片机 CPU执行一条置位PCON.1(PD)的指令,就使器件进入掉电方式。如80C31执行如下指令便可以进入掉电方式:      MOVPCON,#02H;PD←1      1、空闲方式特点      掉电方式控制 电路 如图上页所示。上述指令执行后PD端变为低 电平 , 振荡器 因此停振,片内所有功能部件停止工作,进入掉电方式。在掉电方式期间,内部RAM和寄存器的内容维持不变,I/O引脚状态和相关的特殊功能寄存器的内容相对应,ALE和PSEN为逻辑低电平。      2、退出空闲方式      进入掉电方式后,CHMOS型器件退出掉电方式的唯一方法是硬件复位,即需要给RST引脚上外加一个足够
[单片机]
MCS-51系列单片机控制寄存器TCON(88H)
特殊功能寄存器TCON的高4位为定时器的运行控制位和溢出标志位,低4位为外部中断的触发方式控制位和锁存外部中断请求源。TCON格式如下: D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0   1.定时器T0运行控制位TR0      TR0由软件置位和清“0”。门控位GATE为0时,T0的计数仅由TR0控制,TR0为1时允许T0计数,TR0为0时禁止T0计数;门控位GATE为1时,仅当TR0等于1且INT0(P3.2)输入为高 电平 时T0才计数,TR0为0或INT0输入低电平时都禁止T0计数。   2.定时器T0溢出标志位TF0      当T0被允许计数以后,
[单片机]
MCS-51的存储器分类
  存储器(Memory)是现代信息技术中用于保存信息的记忆设备。其概念很广,有很多层次,在数字系统中,只要能保存二进制数据的都可以是存储器;那么MCS-51单片机的存储器有哪几类呢?如何分类呢?   程序存储器   一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。程序相当于给微处理器处理问题的一系列命令。其实程序和数据一样,都是由机器码组成的代码串。只是程序代码则存放于程序存储器中。   MCS-51具有64kB程序存储器寻址空间,它是用于存放用
[单片机]
<font color='red'>MCS-51</font>的存储器分类
mcs-51单片机 扫描矩阵键盘程序
#include reg52.h #define uint unsigned int #define uchar unsigned char sbit DSCQ=P2^6;//位定义段锁存器控制端 sbit WSCQ=P2^7;//位定义位锁存器控制端 uchar code table ={0x3f,0x06,0x5b,0x4f, //0,1,2,3 0x66,0x6d,0x7d,0x07, //4,5,6,7 0x7f,0x6f,0x77,0x7c, //8,9,a,b 0x39,0x5e,0x79,0x71};//c,d,e,f void delay(uint t);//声明延时函数 void keyscan()
[单片机]
简述MCS-51系列单片机主从结构多机通信原理
简述MCS-51系列单片机主从结构多机通信原理,设有一台主机与三台从机通信,其中一台从机通信地址号为01H,请叙述主机呼叫从机并向其传送一个字节数据的过程。(请给出原理图) 答: 原理图如上图所示,假设主机呼叫01H从机,首先呼叫:主机发送地址帧0000 00011(TB8)此时各从机的SM2位置1,且收到的RB8=1,故激活RI。各从机将接收到的地址与地机地址比较,结果1#机被选中,则其SM2清零;0#、2#机不变。接着传数;主机发送数据帧,×××× ×××× 0 ,此时1#机SM2=0, RB8=0 则激活RI,而0#,2#机SM2=1,RB8=0则不激活RI,然后数据进入1#机的缓冲区
[单片机]
简述<font color='red'>MCS-51</font>系列单片机主从结构多机通信原理
MCS-51单片机与无线调制器的综合应用
GPS是目前技术上最成熟且已实用的一种定位系统,但是在GPS定位系统中,由于其是一个单向导航系统,他是把星历数据等传给地面接收机,可在许多具体应用时,例如在车辆调度系统中,一般都需要把利用GPS测得的信息数据传到调度中心,由于其系统由一个基准站和多个用户台组成,基准站与用户台之间的联系,即由基准站计算出的各种校正值发送到用户台,上边这一切都需要用到数据链来完成数据的传输。其中,数据链由调制解调器和电台组成。在无线数据传输系统中,调制解调器足一个关键部分,调制解调器(Modem)是将数据进行编码和调制,然后输入到电台发射出去,用户台将其接收下来,并将数据解调后,送入GPS接收机进行改正。本文介绍了单片机控制Modem的原理和方法。
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved