发布于 2014-04-15 00:25:24
15楼
L "DB303_CONFIG_MISURE_ASSI".ASSE_X.NUM_SISTEMA_MISURA_X; //DB303.DBW14 (BCD)
BTD ;
L 100;
/I ;
T "DB080_CNFG".NUM_SISTEMA_MISURA_X; //DB80.DBW12
程序中装载到累加器中的是一个字,这里可以是3位BCD带符号,也可以是4位BCD,前者使用转换指令应该是BTI,后者使用转换指令应该是BTD,显然程序作者把它作为4位BCD数来使用了。接下来就是正整数除法,运算结果,余数存累加器1的高位,商存累加器1的低位,程序中取商送到DB80.DBW12。这很正常啊!
但楼主的仿真程序,除法运算的最后结果却送到了一个双字单元里,当然这也没问题,手册上的例子就是这样的,有点常识的人都该知道,只要被除数小于除数的正整数除法,都会是这个结果,累加器高位是运算结果的余数即被除数,低位是商就是0。
请问,楼主这左移16位的结论及推广从何而来?!
试想,如果一个初入行的网友,认真地读了此贴后,会产生什么后果?他会是什么想法?会不会开骂啊?
既然楼主敢写,那我也敢批,不看则罢,看了必批,作为版主也好,作为网友也好,我就不能表达我对此贴的观点吗?即使做反面教材,也是批了以后才能做反面教材啊,若无人批,那就是我来批。
这就是我的态度,我对事不对人,楼主可以继续喝您的咖啡。
Zane
注册自动化系统工程师
Always save before download