昨天真可惜, 发了却没有保存下那么多,丢了一部分内容.
W1WW_P4LCJS_COM-PLC-技.术_网
当时又没有保存,今天还得接着继续写了.
WWW_PL※CJS_COM-PLC-技.术_网
接上部分没有显示完的部分程序:;
WWW.PLCJS.COM——可编程控制器技术门户
2008182197808.rar
WWW_P※LCJS_COM-PLC-)技.术_网
self goto self
WWW_PL※CJS_COM-PLC-技.术_网
;
WW.W_PLCJS_COM-PLC-技.术_网
org PIC54 ;复位地址,和PIC中高档的MCU是有别的哟,不是在程序空间地址0处.
W1WW_P4LCJS_COM-PLC-技.术_网
goto main
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
END
WWW_PLC※JS_COM-PmLC-技.术_网
WWW_PLC※JS_COM-PmLC-技.术_网
该程序,也有测试程序,就是将输入数据单元进行赋值后,然后执行乘法子程序.
plcjs.技.术_网
为了方便起见,先看无符号运算吧.先将SIGNED 设为0;
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
将以上程序的变量赋值修改下,即计算无符号运算的最大值,看看结果;
WWW_PL※CJS_COM-PLC-技.术_网
WWW_P※LCJS_CO※M-PLC-技-.术_网
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
WWW_PLC※JS_COM-PmLC-技.术_网
以上结果是用软件模拟开启WATCH窗口,请留意画面右边的数据单元中的数据结果,FDFE0001,和正确结果FFFE0001差了不少呢.当然这种BUG并不是在所有数据乘法中都能够体现出来,所以一般也不会太引人注意,很多人都直接抄下类似的子程序应用.所以在不知不觉中在程序中引入BUG了.
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
看看下面的简单测试结果,数据非常正确呢,呵呵:
WW.W_PLC※JS_C,OM-PL,C-技.术_网
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
plcjs.技.术_网
总之这样的子程序是存在些问题的,我把它传上来,有兴趣的朋友还可以试一下负数运算怎么样,至于这个程序的BUG在什么地方,呵呵,研究一下吧.也希望有PIC中小项目开发的朋友和我联系呀,哈哈. 欢迎测试该文件,或者提出哪里有没有BUG的这样的乘法子程序
WWW_P※LCJS_COM-PLC-)技.术_网