14、指针、数据类型全解析

指针与数据类型详解

指针、数据类型全解析

1. 指针类型介绍

1.1 DB 指针

DB 指针用于将标签传递给块参数或函数参数。除了区域指针外,DB 指针还包含一个作为 UINT 编号的数据块编号。若区域指针包含操作数区域全局数据(DBX)或实例数据(DIX),它会指定数据块;在其他情况下,数据块编号为零。

DB 指针的表示方法为:P#Data_block.Data_operand,例如:
- P#DB10.DBX20.5:表示数据块 10 中的数据位 20.5
- P#DB102.DBD250.0:表示数据块 102 中的数据双字 250

1.2 ANY 指针

ANY 指针用于将标签或操作数区域传递给块参数或函数参数。相较于 DB 指针,ANY 指针还包含数据类型和重复因子,因此可以额外指向一个(绝对寻址的)操作数区域。

常量的表示形式为:P#[Data_block.]Operand Type Quantity,例如:
- P#DB11.DBX30.0 INT 12:表示从 %DBB30 开始的 %DB11 中包含 12 个字的区域
- P#M16.0 BYTE 8:表示从 %MB16 开始的 8 字节区域
- P#I18.0 WORD 1:表示输入字 %IW18
- P#I1.5 BOOL 1:表示输入 %I1.5

需要注意的是,ANY 指针中的操作数地址必须始终是位地址。如果以绝对模式寻址数据区域,则数据块中不能激活“优化块访问”块属性(标准访问)。当该区域没有定义标签时,使用绝对寻址的操作数区域才有意义。可以使用 P#P0.0 VOID 0 创建“

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值