如何在ISPSoft中设置变量指定数组?数组下标变量替换报错求助
在ISPSoft中用变量指定数组下标的解决方法
ISPSoft不支持直接写MOV D100 Ary[D1]这种变量下标写法,得用间接寻址或专用指令实现,具体两种方案:
方案1:间接寻址手动计算地址
- 先确认自定义数组
Ary的起始寄存器地址(比如定义时设为D200,长度10)。 - 用
ADD指令计算目标元素的地址:ADD D200 D1 D10,其中D1是下标变量,D10会得到Ary[D1]对应的寄存器地址。 - 用间接寻址完成赋值:
MOV D100 *D10,*D10表示访问D10中存储地址对应的寄存器。
方案2:使用INDEX指令(推荐)
- 用
INDEX指令获取数组元素地址:INDEX Ary D1 D10,参数依次为数组名、下标变量、存储目标地址的寄存器。 - 再执行赋值:
MOV D100 *D10,完成D100到Ary[D1]的写入。
注意:要确保D1的取值在数组的下标范围内,避免越界报错。
内容的提问来源于stack exchange,提问作者kaplan
相关产品推荐
相关产品推荐

