1. 字节、字、双字、实数单个数据传送指令MOV
数据传送指令MOV,用来传送单个的字节、字、双字、实数。指令格式及功能如表5-1所示。
表5-1单个数据传送指令MOV指令格式
|
|
|
|
|
MOVB IN,OUT |
MOVW IN,OUT |
MOVD IN,OUT |
MOVR IN,OUT |
|
操作数及数据类型 |
IN:VB, IB, QB, MB, SB, SMB, LB, AC, 常量 OUT:VB, IB, QB, MB, SB, SMB, LB, AC |
IN:VW, IW, QW, MW, SW, SMW, LW, T, C, AIW, 常量, AC OUT:VW, T, C, IW, QW, SW, MW, SMW, LW, AC, AQW |
IN:VD, ID, QD, MD, SD, SMD, LD, HC, AC, 常量 OUT:VD, ID, QD, MD, SD, SMD, LD, AC |
IN:VD, ID, QD, MD, SD, SMD, LD, AC, 常量 OUT:VD, ID, QD, MD, SD, SMD, LD, AC |
字节 |
字、整数 |
双字、双整数 |
实数 |
|
功能 |
使能输入有效时,即EN=1时,将一个输入IN的字节、字/整数、双字/双整数或实数送到OUT指定的存储器输出。在传送过程中不改变数据的大小。传送后,输入存储器IN中的内容不变 |
使ENO = 0即使能输出断开的错误条件是:SM4.3(运行时间),0006(间接寻址错误)。
【例5-1】将变量存储器VW10中内容送到VW100中。程序如图5-1所示。
LD I0.1
MOVW VW10, VW100
图5-1 例5-1题图
2. 字节、字、双字、实数数据块传送指令BLKMOV
数据块传送指令将从输入地址IN开始的N个数据传送到输出地址OUT开始的N个单元中,N的范围为1至255,N的数据类型为:字节。指令格式及功能如表5-2所示。
表5-2 数据传送指令BLKMOV指令格式
|
|
|
|
操作数及数据类型 |
IN:VB, IB, QB, MB, SB, SMB, LB。 OUT:VB, IB, QB, MB, SB, SMB, LB。 数据类型:字节 |
IN:VW, IW, QW, MW, SW, SMW, LW, T, C, AIW。 OUT:VW, IW, QW, MW, SW, SMW, LW, T, C, AQW。 数据类型:字 |
IN/ OUT :VD, ID, QD, MD, SD, SMD, LD。 数据类型:双字 |
N:VB, IB, QB, MB, SB, SMB, LB, AC, 常量;数据类型:字节;数据范围:1-255 |
|||
功能 |
使能输入有效时,即EN=1时,把从输入IN开始的N个字节(字、双字)传送到以输出OUT开始的N个字节(字、双字)中 |
使ENO = 0的错误条件:0006(间接寻址错误)0091(操作数超出范围)。
【例5-2】程序举例:将变量存储器VB20开始的4个字节(VB20- VB23)中的数据,移至VB100开始的4个字节中(VB100-VB103)。程序如图5-2所示。
BMB VB20 ,VB100,4
图5-2 例5-2图
程序执行后,将VB20~VB23中的数据30、31、32、33送到VB100~VB103。
执行结果如下:数组1数据 30 31 32 33
数据地址 VB20 VB21 VB22 VB23
块移动执行后:数组2数据 30 31 32 33
数据地址 VB100 VB101 VB102 VB103
本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!
添加新评论