• 沒有找到結果。

装入和传送指令

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。

长沙工控帮教育科技有限公司整理

长沙工控帮教育科技有限公司整理