带参数子程序,需要通过输入参数传入一个指针,然后在里面用指针做指定的工作。初定指针是指向V区的。(指向其他区域的暂时不讨论)
好比下面的子程序和调用。子程序是把指针所指的字节传到输出参数。而主程序调用这个子程序就是给一个指针值,给一个输出装载的字节地址。

从状态表里面写入一些值,通过修改vw12的值就可以输出对应地址的数值。
图中可以看到,VW12输入了数值9,就会输出VB9中的值到MB0。
大家可以看到第一个图为何状态表中有VD10这项?而且数值是16#08000009?这是因为我开始的时候需要先向VD10输入一个指针格式的数据(16#08000000我必须用16进制书写),然后再从指针的低16位改写成我需要的地址(我用十进制书写比较直观)。所以我要分开两次输入。

而在第二幅图中,我就在程序中加了一些东西,代替了我动手输入这个指针。而我就只需要直接输入我要的数值就可以了。
综合来说,输入指针这个步骤不是程序做就是人工做。
再看,如果VW12这个数不是状态表输入,而是从触摸屏上过来的,是不是很简单?要是第一个图VD10这个情况,屏上也只能输入个VW12过来(VW12=9),然后还是要程序加上高16位的指针格式(16#0800)再给到VD10 。该做的还是要做。
那么现在问题是,这样传指针到子程序,是完整的指针传送比较好还是只传偏移量进去好?