发布于 2012-02-25 20:01:13
21楼
使用了仿真软件测试了一些,使用绝对地址的确可能在编译时分配内存,程序运行不会报警(数据安全未知)
如果程序改为这样程序运行时就会出错,写入时发时区域长度错误。
LAR1 P#L0.0
L10
T LW[AR1,P#0.0]
L LW[AR1,P#0.0]
----------------------------------------------------------------------
如果这样程序不会报警
LAR1 P#L0.0
L10
T LW[AR1,P#0.0]
CALL FC2//假设在FC2中没有对AR1改变。FC2中对LW0赋值的11
L LW[AR1,P#0.0] //但在这里同样能得到了10
也许在FC2中程序的复杂度不够,但既是这样程序的安全性也未知,所以局部变量最好还是先定义后使用。
在测试中可能有不足之处,希望不会造成谬误!!!
一切皆有可能