8.3.4 /R 作为浮点数(32位,IEEE-FP),累加器2的内容除以累加器1的内容
9 装入和传送指令
9 装入和传送指令
9.1 装入和传送指令概述
说明
使用装入(L)和传送(T)指令,可以对输入或输出模块与存储区之间的信息交 换进行编程。CPU 在每次扫描中将无条件执行这些指令,也就是说,这些指令不 受语句逻辑操作结果(RLO)的影响。
下述装入和传送指令可供使用:
• L 装入
• L STW 将状态字装入累加器 1
• LAR1 AR2 将地址寄存器 2 的内容装入地址寄存器 1
• LAR1 <D> 将两个双整数(32 位指针)装入地址寄存器 1
• LAR1 将累加器 1 中的内容装入地址寄存器 1
• LAR2 <D> 将两个双整数(32 位指针)装入地址寄存器 2
• LAR2 将累加器 2 中的内容装入地址寄存器 1
• T 传送
• T STW 将累加器 1 中的内容传送到状态字
• TAR1 AR2 将地址寄存器 1 的内容传送到地址寄存器 2
• TAR1 <D> 将地址寄存器 1 的内容传送到目的地(32 位指针)
• TAR2 <D> 将地址寄存器 2 的内容传送到目的地(32 位指针)
• TAR1 将地址寄存器 1 中的内容传送到累加器 1
• TAR2 将地址寄存器 2 中的内容传送到累加器 1
• CAR 交换地址寄存器 1 和地址寄存器 2 的内容
长沙工控帮教育科技有限公司整理
9.2 L 装入 在装入指令执行之前 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 在L MB10(L <字节>)执行之后 00000000 00000000 00000000 <MB10>
在L MW10(L <字>)执行之后 00000000 00000000 <MB10> <MB11>
在L MD10(L <双字>)执行之后 <MB10> <MB11> <MB12> <MB13>
在L P# ANNA(功能块中)执行之 <86> <相对于功能块,开始 ANNA
长沙工控帮教育科技有限公司整理
9-3
9.3 L STW 将状态字装入累加器 1
格式
L STW
说明
使用 L STW(使用地址 STW 装入)指令,可以将状态字的内容装入累加器 1。
指令的执行与状态位无关,而且对状态位没有影响。
注意
对于 S7-300 系列 CPU,L STW 语句不能装入状态字的 FC、STA 和 OR 位。
只有位 1、4、5、6、7 和 8 才能装入累加器 1 低字中的相应位。
状态字
BR CC 1 CC 0 OV OS OR STA RLO /FC
写: - - - - - - - - -
举例
STL 解 释
L STW // 将状态字的内容装入累加器 1 中。
执行 L STW 后累加器 1 的内容如下:
位 31-9 8 7 6 5 4 3 2 1 0
内容 0 BR CC 1 CC 0 OV OS OR STA RLO /FC
长沙工控帮教育科技有限公司整理
9.4 LAR1 将累加器 1 中的内容装入地址寄存器 1
格式
LAR1
说明
使用该指令,可以将累加器 1 的内容(32 位指针)装入地址寄存器 AR1。累加 器 1 和累加器 2 保持不变。指令的执行与状态位无关,而且对状态位没有影响。
状态字
BR CC 1 CC 0 OV OS OR STA RLO /FC
写: - - - - - -
长沙工控帮教育科技有限公司整理
9-5
9.5 LAR1 <D> 将两个双整数(32位指针)装入地址寄存器1
格式
LAR1 <D>
地 址 数据类型 存储区 源地址
<D> DWORD 指针常数
D,M,L 0...65532
说明
使用该指令,可以将寻址双字<D>的内容或指针常数装入地址寄存器 AR1。累加 器 1 和累加器 2 保持不变。指令的执行与状态位无关,而且对状态位没有影响。
状态字
BR CC 1 CC 0 OV OS OR STA RLO /FC
写: - - - - - -
例如:直接寻址
STL 解 释 LAR1 DBD20
LAR1 DID30 LAR1 LD180 LAR1 MD24
// 将数据双字 DBD20 中的指针装入 AR1 。 // 将背景数据双字 DID30 中的指针装入 AR1 。 // 将本地数据双字 LD180 中的指针装入 AR1。
// 将存储数据双字 MD24 的内容装入 AR1。
例如:指针常数
STL 解 释
LAR1 P#M100.0 // 将一个 32 位指针常数装入 AR1。
长沙工控帮教育科技有限公司整理
9.6 LAR1 AR2 将地址寄存器 2 的内容装入地址寄存器 1
格式
LAR1 AR2
说明
使用该指令(带地址 AR2 的 LAR1 指令),可以将地址寄存器 AR2 的内容装 入地址寄存器 AR1。累加器 1 和累加器 2 保持不变。指令的执行与状态位无关,
而且对状态位没有影响。
状态字
BR CC 1 CC 0 OV OS OR STA RLO /FC
写: - - - - - -
9.7 LAR2 将累加器 1 中的内容装入地址寄存器 2
格式
LAR2
说明
使用该指令,可以将累加器 1 的内容(32 位指针)装入地址寄存器 AR2。
累加器 1 和累加器 2 保持不变。指令的执行与状态位无关,而且对状态位没有 影响。
状态字
BR CC 1 CC 0 OV OS OR STA RLO /FC
写: - - - - - -
长沙工控帮教育科技有限公司整理
9-7
9.8 LAR2 <D> 将两个双整数(32位指针)装入地址寄存器2
格式
LAR2 <D>
地 址 数据类型 存储区 源地址
<D> DWORD 指针常数
D,M,L 0...65532
说明
使用该指令,可以将寻址双字<D>的内容或指针常数装入地址寄存器 AR2。累加 器 1 和累加器 2 保持不变。指令的执行与状态位无关,而且对状态位没有影响。
状态字
BR CC 1 CC 0 OV OS OR STA RLO /FC
写: - - - - - -
例如:直接寻址
STL 解 释 LAR2 DBD 20
LAR2 DID 30 LAR2 LD 180 LAR2 MD 24
// 将数据双字 DBD20 中的指针装入 AR2。
// 将背景数据双字 DID30 中的指针装入 AR2。
// 将本地数据双字 LD180 中的指针装入 AR2。
// 将存储双字 MD24 中的指针装入 AR2。
例如:指针常数
STL 解 释
LAR2 P#M100.0 // 将一个 32 位指针常数装入 AR2。
长沙工控帮教育科技有限公司整理
9.9 T 传送
9-9
9.10 T STW 将累加器 1 中的内容传送到状态字
格式
T STW
说明
使用 T STW(使用地址 STW 传送)指令,可以将累加器 1 的位 0 到位 8 传 送到状态字。
指令的执行与状态位无关。
状态字
BR CC 1 CC 0 OV OS OR STA RLO /FC
写: x x x x x x x x x
举例
STL 解 释
T STW // 将累加器 1 的位 0 到位 8 传送到状态字。
累加器 1 中的位包含以下状态位:
位 31-9 8 7 6 5 4 3 2 1 0
内容 *) BR CC 1 CC 0 OV OS OR STA RLO /FC
*) 该位不被传送
长沙工控帮教育科技有限公司整理
9.11 CAR 交换地址寄存器 1 和地址寄存器 2 的内容
格式
CAR
说明
使用 CAR(交换地址寄存器)指令,可以将地址寄存器 AR1 和 AR2 中的内容 进行交换。指令的执行与状态位无关,而且对状态位没有影响。
地址寄存器 AR1 中的内容移至地址寄存器 AR2 中,地址寄存器 AR2 中的内 容移至地址寄存器 AR1 中。
状态字
BR CC 1 CC 0 OV OS OR STA RLO /FC
写: - - - -
9.12 TAR1 将地址寄存器 1 中的内容传送到累加器 1
格式
TAR1
说明
使用该指令,可以将地址寄存器 AR1 的内容传送到累加器 1(32 位指针)。
累加器 1 的原有内容保存到累加器 2 中。指令的执行与状态位无关,而且对状 态位没有影响。
状态字
BR CC 1 CC 0 OV OS OR STA RLO /FC
写: - - - -
长沙工控帮教育科技有限公司整理
9-11
9.13 TAR1 <D>将地址寄存器1的内容传送到目的地(32位指针)
格式
TAR1 <D>
地 址 数据类型 存储区 源地址
<D> DWORD D,M,L 0...65532
说明
使用该指令,可以将地址寄存器 AR1 的内容传送到寻址双字 <D>。可能的目的 区域有存储双字(MD)、本地数据双字(LD)、数据双字(DBD)和背景数据 双字(DID)。
累加器 1 和累加器 2 保持不变。指令的执行与状态位无关,而且对状态位没有 影响。
状态字
BR CC 1 CC 0 OV OS OR STA RLO /FC
写: - - - - - -
举例
STL 解 释 TAR1 DBD20
TAR1 DID30 TAR1 LD18 TAR1 MD24
// 将 AR1 中的内容传送到数据双字 DBD20。
// 将 AR1 中的内容传送到背景数据双字 DID30。
// 将 AR1 中的内容传送到本地数据双字 LD18。
// 将 AR1 中的内容传送到存储双字 MD24。
长沙工控帮教育科技有限公司整理
9.14 TAR1 AR2 将地址寄存器1的内容传送到地址寄存器2
格式
TAR1 AR2
说明
使用该指令(使用地址 AR2 的 TAR1 指令),可以将地址寄存器 AR1 的内容 传送到地址寄存器 AR2。
累加器 1 和累加器 2 保持不变。指令的执行与状态位无关,而且对状态位没有 影响。
状态字
BR CC 1 CC 0 OV OS OR STA RLO /FC
写: - - - -
9.15 TAR2 将地址寄存器 2 中的内容传送到累加器 1
格式
TAR2
说明
使用该指令,可以将地址寄存器 AR2 的内容传送到累加器 1(32 位指针)。
累加器 1 的原有内容保存到累加器 2 中。指令的执行与状态位无关,而且对状 态位没有影响。
状态字
BR CC 1 CC 0 OV OS OR STA RLO /FC
写: - - - -
长沙工控帮教育科技有限公司整理
9-13
9.16 TAR2 <D>将地址寄存器2的内容传送到目的地(32位指针)
格式
TAR2 <D>
地 址 数据类型 存储区 源地址
<D> DWORD D,M,L 0...65532 说明
使用该指令,可以将地址寄存器 AR2 的内容传送到寻址双字 <D>。可能的目的 区域有存储双字(MD)、本地数据双字(LD)、数据双字(DBD)和背景双字
(DID)。
累加器 1 和累加器 2 保持不变。指令的执行与状态位无关,而且对状态位没有 影响。
状态字
BR CC 1 CC 0 OV OS OR STA RLO /FC
写: - - - - - -
举例
STL 解 释 TAR2 DBD20
TAR2 DID30 TAR2 LD18 TAR2 MD24
// 将 AR2 中的内容传送到数据双字 DBD20。
// 将 AR2 中的内容传送到背景双字 DID30。
// 将 AR2 中的内容传送到本地数据双字 LD18。
// 将 AR2 中的内容传送到存储双字 MD24。