测试过每个子程序最多可以编辑的内部存储区地址是60个字节
因为每个外部变量最多可以有16个拐角,
所有我希望有数据地址累加的变量用间接寻址直接用一个IN变量用&VB寻址
问题就如下了:
第一 我把LD0 MOV 到AC1中 然后改他的地址码 ADD-DI,因为地址码是16位的所以必须是DI
这样一弄 我算了下如果不算其他内部地址,就间歇寻址一个拐角最多就只有15个内部变量可以和外部做数据交换 (我需要INOUT变量)
如果就是写进去的变量 我就可以直接用*AC1 MOV B/W/D 没啥问题
但是我用地址码偏移,用AC+偏移 偏移到LD20 22 24 ....(我需要很多个INT变量,所以这么测试的)然后 用*去寻址发现数据有点混乱,
但是我用AC+偏移 偏移到LD20 24 28 ....(跳开4个字节寻址)发现数据就正常 ,但是无法把一个子程序全部编辑完成(我有洁癖,希望很多数据能在一个子程序中间完成),偏移到LD20 我用*LD20 MOV B/W 就浪费了大量的L存储区。
请问各位大神 有没有好的办法,我是初学者,在这个问题上卡了很久了,谢谢各位大神知道讲解。
自学,我还在TIA SCL中FOR中卡壳了大半个月。。。