22.11.2.7 查找存储器

以块为单位执行数据查找,查找从指定范围内的第一个项目开始。从指定的(偏移)块开始比较数据块,并将查找结果返回(保存)到指定的存储地址。当发现匹配块时,就保存该块的偏移值(1或更高)。未发现匹配块时,就保存“FFFFh”。当发生错误时,会将错误状态值写入LS9153。

_memsearch([要查找的块地址]、[查找起始地址]、[查找结束地址]、[查找结果存储地址]、自起始块的偏移、比较字数、1个块中的字数)

要写入的数据

表达式示例1:

_memsearch([w:[#INTERNAL]LS1000],[w:[#INTERNAL]LS1005],[w:[#INTERNAL]LS1025],[w:[#INTERNAL]LS0100],0,1,5)

(从LS1005至LS1025中查找具有相同值的块。从源查找块的偏移0开始,将查找结果保存在LS0100中)

本例中,“块1”的值就与“源查找块”的值匹配。因此,在LS0100中保存查找结果“1”。

表达式示例2:

_memsearch([w:[#INTERNAL]LS1000],[w:[#INTERNAL]LS1005],[w:[#INTERNAL]LS1025],[w:[#INTERNAL]LS0100].3.2,5)

(从LS1005至LS1025中查找具有相同值的块。用两个字,从偏移3开始,并将结果保存在LS0100中。)

本例中,“块4”的值就与“源查找块”的值匹配。因此,在LS0100中保存查找结果“4”。

错误状态

编辑器函数名称

LS区

错误状态

原因

_memsearch ( )

LS9153

0000h

成功完成

0001h

参数错误

0003h

写入/读取错误