1 ANY参数类型概念 在Pointer参数类型中我们已经告诉大家Pointer参数类型是基于交叉区域寄存器间接寻址发展而来的,由于交叉区域寄存器间接寻址无法存放数据块编号信息,所以我们为了可以对数据块进行寻址,在交叉区域寄存器间接寻址的存储空间中增加了一个字的空间来存放数据块编号信息,但是这样也只能一次寻址一个存储区域,如果我们想对连续的几个存储空间进行寻址比如对MW0、MW2、MW4一起进行寻址,无论是寄存器寻址还是Pointer参数类型都是无法完成的。此时我们引进ANY参数类型,ANY参数类型在Pointer参数类型的基础上又增加了两个字的存储空间。
图 1-1
图 1-2
图 1-3 ANY参数类型中第0字节是ANY参数类型的标识位,无论何时只要是ANY参数类型第0字节就是16进制的10。第1字节是数据类型信息,确定每个存储空间的数据类型,图 1-4是每种数据类型对应的16进制代码,第2第3字节重复因子表示由几个存储空间构成的这段指针。
图 1-4 2 ANY参数类型举例 下面我们用P#DB1.DBX0.0 WORD 3这个ANY类型指针来给大家具体举例,首先我们要明确这个指针是由DB1.DBW0、DB1.DBW2、DB1.DBW4、三个连续的存储空间构成同时这三个存储空间的数据类型是WORD。
图 2-1
图 2-2
图 2-3
图 2-4
图 2-5 3 程序示例 首先要告诉大家我们这个程序的功能是将ANY指针规定的空间的数值相加然后求平均数。
图 3-1
图 3-2
图 3-3
图 3-4
图 3-5
图 3-6 |
|