(1)传送指令
该指令的助记符、指令代码、操作数范围、程序步如下表所示。
传送指令的要素表
指令名称
助记符
指令代码位数
操作数范围
程序步
s(.)
d(.)
n
传送
mov
mov(p)
fnc12
(16/32)
k、h
knx、kny、knm、kns
t、c、d、v、z
kny、knm、kns
t、c、d、v、z
mov、movp…步
dmov、dmovp…步
#p#分页标题#e#
传送指令mov指令是将源操作数内的数据传送到指定的目标操作数内,即[s] → [d]。
传送指令mov的说明如图。当x0=on时,源操作数[s]中的常数k100传送到目标操作元件d10中。当指令执行时,常数k100自动转换成二进制数。
当x0断开时,指令不执行,数据保持不变。
(2)比较指令
该指令的助记符、指令代码、操作数范围、程序步如下表所示。
比较指令的要素表
指令名称
助记符
指令代码位数
操作数范围
程序步
s1(.)
s2(.)
d(.)
比较
cmp
cmp(p)
fnc10
(16/32)
k、h
knx、kny、knm、kns
t、c、d、v、z
y、m、s
cmp、cmpp…7步
dcmp、dcmpp…13步
#p#分页标题#e#
比较指令cmp是将源操作数[s1]和[s2]的数据进行比较,结果送到目标操作数[d]中。
说明如图所示:在x0断开,即不执行cmp指令时,m0~m2保持x0断开前的状态。
数据比较是进行代数值大小比较(即带符号比较)。所有的源数据均按二进制处理。当比较指令的操作数不完整(若只指定一个或两个操作数),或者指定的操作数不符合要求(例如把x、d、t、c指定为目标操作数),或者指定的操作数的元件号超出了允许范围等情况,用比较指令就会出错。
2传送和比较指令的作用是什么?
(1)用以获得程序的初始工作数据
一个控制程序总是需要初始数据。这些数据可以从输入端口上连接的外部器件获得,需要使用传送指令读取这些器件上的数据并送到内部单元;初始数据也可以用程序设置,即向内部单元传送立即数;另外,某些运算数据存储在机内的某个地方,等程序开始运行时通过初始化程序送到工作单元。
(2)机内数据的存取管理
在数据运算过程中,机内的数据传送是不可缺少的。运算可能要涉及不同的工作单元,数据需在他们之间传送;运算可能会产生一些中间数据,这需要传送到适当的地方暂时存放;有时机内的数据需要备份保存,这要找地方把这些数据存储妥当。总之,对一个涉及数据运算的程序,数据管理是很重要的。
此外,二进制和bcd码的转换在数据管理中也是很重要的。
(3)运算处理结果向输出端口传送
运算处理结果总是要通过输出实现对执行器件的控制,或者输出数据用于显示,或者作为其他设备的工作数据。对于输出口连接的离散执行器件,可成组处理后看作是整体的数据单元,按各口的目标状态送入一定的数据,可实现对这些器件的控制。
(4)比较指令用于建立控制点
控制现场常有将某个物理量的量值或变化区间作为控制点的情况。如温度低于多少度就打开电热器,速度高于或低于一个区间就报警等。作为一个控制“阀门”,比较指令常出现在工业控制程序中。