青岛黄工
如题,碰到一个有趣的问题,今天贴出来,期望高手们多多来讨论一下,给个科学合理的解释
如下图,我要做双字乘法,用了如下数据寄存器。
闭合R10,DT200中为什么写不进去数
如下图,闭合R11,又可以写进去了,
谁能从计算机原理角度给个科学合理的解释阿。
楼主最近还看过
宝马760LI
你发群主里的软件如水。李总,他是这方面专家。让他看看,他是很少来论坛。
steelen
唉,定义2个变量
DW u,V,R
r=U*V不就得了
干嘛非要抱着类似汇编的语言
welfare87
miy_gongkong
sunnycit
芳季
DT198使用了198 199 200 201四个地址。所以头一个边缘指令写不进去,写进去了右马上被改回。
而后一个是一直连续写的,所以可以覆盖前面的乘法的结果。
以上仅以三菱FX的思路推测。
如有不对,当做灌水。
通讯网
chenshiji2006
wrilk
r10上升沿将30写入双字dt200后,(r11为off未执行相应指令)代码段执行完成,
下次扫描时候寄存器双字dt200中的数据为30,此时代码双字乘执行的结果为1200存放于四字dt198,
拆开即双字dt198中数据为1200,双字dt200中数据又变成了0。
所以上升操作的结果貌似没变化。
而r11被置on时则不管扫描到它之前双字dt200中的数据是多少,
反正扫描到此处时30被写入了双字dt200,代码段扫描完毕,
下次运算到双字乘的结果其实还是将0写入了双字dt200,只是r11仍然将30重新写了回去。
大话东游