CMP指令(cmp指令的功能)
目前有哪些类型的CMP?
目前有共享一级Cache的CMP、共享二级Cache的CMP以及共享主存的CMP
PLC里的cmp比较指令是不是停电保持?
OQ0.0 /或 Q0.0常开触点 这个是Q0.0线圈的常开触点,作用就是停电自保持
CMP指令的指令详解
原发布者:weilei1201
cmp是比较指令,cmp的功能相当于减法指令,只是不保存结果。cmp指令执行后,将对标志寄存器产生影响。其他相关指令通过识别这些被影响的标志寄存器位来得知比较结果。比如:movax,8movbx,3cmpax,bx执行后:ax=8,ZF=0,PF=1,SF=0,CF=0,OF=0.通过cmp指令执行后,相关标志位的值就可以看出比较的结果。cmpax,bx的逻辑含义是比较ax,bx中的值。如果执行后:ZF=1则AX=BXZF=0则AX!=BXCF=1则AX=BXCF=0并ZF=0则AX>BXCF=1或ZF=1则AX<=BX 80X86标志寄存器及比较和跳转指令zfpfsfcfofdfcmpjejnejbjnbjajna标志寄存器80X86的标志寄存器的结构如下部分标志位说明ZFZF==ZeroFlag,是零标志位,记录指令执行结果是事为零。如果一条指令执行后结果为零,ZF置位,也就是ZF的值为1,否则为0。比如[csharp] Array1.Array2.Arrayax-1=0,所以ZF=0。PFPF==ParityFlag,奇偶标志位,相关指令执行后,结果寄存器是所bit位中的1的个数是否为偶数,如果为偶数,PF=1,如果为奇数,PF=0。比如[csharp] Array1.Array2.Array执行后,al中的结果为00000011B,有2个1,为偶数,所以PF=1。SFSF==SignFlage,符号标志位,记录相关指令执行后,结果是否为负。如果为负,SF=1;如果非负,SF=0。CFCF==CarryFlage,进位标志位,无符号运算后是否向更高位进位或借位。如果进位或者借位,CF=1;否则CF=0。如果把指令看作有符号运算,则该标志会无意义。OFOF==OverFlage,溢出标志位,有符号cmp(compare)指令进行比较两个操作数的大小
例:cmpoprd1,oprd2
为第一个操作减去第二个操作数,
但不影响第两个操作数的值
它影响flag的CF,ZF,OF,AF,PF
我们怎么判断大小呢?
若执行指令后
ZF=1 这个简单,则说明两个数相等,因为zero为1说明结果为0
当无符号时:
CF=1 则说明了有进位或借位,cmp是进行的减操作,故可以看出为借位,所以,此时oprd1
CF=0 则说明了无借位,但此时要注意ZF是否为0,若为0,则说明结果不为0,故此时oprd1>oprd2
当有符号时:
若SF=0,OF=0 则说明了此时的值为正数,没有溢出,可以直观的看出,oprd1>oprd2
若SF=1,OF=0 则说明了此时的值为负数,没有溢出,则为oprd1
若SF=0,OF=1 则说明了此时的值为正数,有溢出,可以看出oprd1
若SF=1,OF=1则说明了此时的值为负数,有溢出,可以看出oprd1>oprd2
最后两个可以作出这种判断的原因是,溢出的本质问题:
两数同为正,相加,值为负,则说明溢出
两数同为负,相加,值为正,则说明溢出
故有,正正得负则溢出,负负得正则溢出
pLC CMP命令如何使用
在执行条2113件为ON时,将C1 和C2进行比较。
当 C1 > C2时,标志位25505 ON
当 C1 = C2时,标志位25506 ON
当 C1 < C2时,标志位25507 ON
CMP比较指令是比较2个值,将其结果(大、一致、小)输出软元件(3点)。动作和说明如下:
K2>D0(数字为0)状态M10被激5261活同时Y0线圈得电。K2=D0(数字为2)状态M11被激活同时Y1线圈得电。
pLC工作原理
当可编程逻辑控制器投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程4102序执行和输出刷新三个阶段。完成上述三个阶段称作一个扫描周期。在整个运行期间,可编程逻辑控制器的CPU以一定的扫描速度重复执行上述三个阶段。
在输入采样阶段,可编程逻辑控制器以扫描方式依次地读入所有输入状1653态和数据,并将它们存入I/O映象区中的相应专的单元内。输入采样结束后,转入用户程序执行和输出刷新阶段。
在这两个阶段中,即使输入状态和数据发生变化,I/O映象区中的相应单元的状态和数据也不会改变。因此,如果输入是脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,才能保证在任何情况下,该输入均能被读入。属1.比较指令 cmp s1 s2 d
将数据s1和数据s2进行比较.用3个首地址指定为d的位软元件来表示结果.位软元件表示如下:
s2
s2=s1,位软元件d+1变on,
s2>s1,位软元件d+2变on.
在你的那句指令cmp k3m13 k0 m25,
k0
k0=k3m13时, m26为on
k0>k3m13时, m27为on
2. 说明k3m13这一个组合的意义
首先介绍一下,
位软元件:只有处理on/off状态的软元件,如x.y.m.x
字软元件:处理数字数据的元件,如t.c.v.d.z等
但对位软元件,由kn加首元件号的组合,也可以处理数字软元件,组成字软元件。位软元件的4位为一组,组合成单元。
k1:4位,k2:8位,k3:12位,k4:16位
比如k1x0表示x3~x0的4位数据,k3m13表示m24~m13的12位数据。1.比较指令 CMP S1 S2 D
将数据S1和数据S2进行bai比较.用3个首地址指定为D的位软元件来表示结果.位软元件表du示如下:
S2
S2=S1,位软元件D+1变ON,
S2>S1,位软元件D+2变ON.
在你的那句指令CMP K3M13 K0 M25,
K0
K0=K3M13时, M26为ON
K0>K3M13时, M27为ON
2. 说明K3M13这一个组合的意义
首先介绍一下,
位软元件:只有处理ON/OFF状态的软元件,如daoX.Y.M.X
字软元件:处理数字数据的元件,如T.C.V.D.Z等
但对位软元件,由Kn加首元件号的组合,也可以处理数字软元件,组成专字软元件。位软元件的4位为一组属,组合成单元。
K1:4位,K2:8位,K3:12位,K4:16位
比如K1X0表示X3~X0的4位数据,K3M13表示M24~M13的12位数据。意思就抄是说“
K3M13>K0时,袭 M25为ON
K3M13=K0时, M26为ON
K3M13
K3M13是一个位bai组合
呵呵``本人在找关于PLC的工du作中 谁可以zhi介绍一下 我在dao广东。。。。
CMP指令(cmp指令的功能)相关推荐
- cmp 字节 汇编_汇编 常用指令 cmp jmp call ret
cmp 指令 功能相当于减法指令 只是不保存结果 不过cmp执行后会影响标志位 其它指令 通过识别标志位 来得知比较的结果 CPU在执行cmp指令时 像add sub指令一样 也包含两种含义 (有符号 ...
- ARM指令CMP详解
ARM指令CMP详解 1.加减指令 add r1, r ...
- 学习笔记-----浅谈汇编指令CMP运行机制
在汇编中,CMP和JMP指令常常用于比较操作,而且查看反汇编源码时也发现不管是.IF伪指令还是其他的底层都是用CMP实现的. 指令格式: CMP 目的操作数,源操作数 计算机在遇到CMP指令的时候,C ...
- ARM汇编指令CMP/CMN/TST/TEQ
译注: CMP 和 CMP 是算术指令, TEQ 和 TST 是逻辑指令.把它们归入一类的原因是它们的 S 位总是设置的,就是说,它们总是影响标志位. CMN : 比较取负的值 (Compar ...
- 汇编语言-中括号-mov指令-cmp指令-lea指令
文章目录 1.汇编语言中"[]"的用法 2.mov指令中用到"[]" 3.cmp指令中用到"[]" 4.lea指令 5.test指令 其实& ...
- 密码学专题 证书和CA指令 证书和CA功能概述
为什么需要证书 实现了公钥和私钥的相互验证,但是任何人都可以生成很多的密钥对,密钥对并没有关联实体身份,因此诞生可数字证书 前提是CA是所有用户都信任的 用户需要将自己的信息和公钥交给CA进行认证生成 ...
- ARM指令英文全称及功能
ARM指令英文全称及功能 https://blog.csdn.net/Strokess/article/details/52945686 查看全文 http://www.taodudu.cc/news ...
- cmd指令大全指令_汇编语言常用指令大全
MOV 指令为双操作数指令,两个操作数中必须有一个是寄存器. MOV DST , SRC // Byte / Word 执行操作: dst = src 1.目的数可以是通用寄存器, 存储单元和段寄存器 ...
- 汇编指令 栈现场保护 算数运算 位运算 比较指令 跳转指令 循环指令 寻址方式
文章目录 1 nop 指令 2 现场保护指令 2.1 push 与 pop 2.2 pushad 与 popad 2.3 pushfd 与 popfd 3 内存操作 3.1 mov指令 3.2 mov ...
最新文章
- 广东生态所孙蔚旻团队EST发表利用稳定同位素示踪-宏基因组分箱联用技术揭示砷污染土壤中的厌氧砷氧化微生物及其代谢途径...
- 新的一年你该如何起飞
- 使用Apache自带的ab命令测试网站性能(小强性能测试班学员作品)
- CSS transition 的默认值
- git经常使用命令和问题
- WUSTOJ 1282: Start(Java)
- memcached在大负载高并发网站上的应用(一)
- SpringBoot整合RabbitMQ测试代码
- python enumerate_详解 Python 的 enumerate 函数
- 淘淘商城项目技术点-8:vsftpd
- mariadb 存储引擎mysql_MySQL/MariaDB---查询缓存与存储引擎
- Nginx流媒体服务器搭建
- 电脑软件:主流的压缩软件对比,看完你就会选择了
- UrU4000B指纹仪驱动
- MD通过vscode生成PDF(带目录标签)
- 服务端通过AWS SNS创建消息推送记录
- 关于Oracle官网需要登录Oracle账户问题(亲测有效)
- CF838D Airplane Arrangements
- Java中判断两个日期是否在同一个月
- 分数加减法 java,Java练习 SDUT-2253_分数加减法