本贴讨论要点不在于元件的分配范围大小,根据手册(图1),在于同一软元件在内部元件和文件寄存器之间变址修饰的分配顺序。
参数配置如图2
测试数据如图3
关于图3第一条Mov指令寻址不报错,手册这样解释
一开始我仿真后没找到实际的赋值地址,后面我把W地址给到8K(原来为0),此时M0先断开,因为D1023Z0寻址到大概W1F36处,重写参数后找到查看W1F36区域,发现之前赋给D1023Z0的HFFFF值就在此区域.
同理,对第二条FMOV指令报错,如果在W区或SW区稍微分配个区域,则FMOV里的D1023将寻址到W区或SW区而不报错。
以上总结变址修饰在使用前需正确初始化,否则在实际应用中将导致不可预见的错误而不被察觉。