引用
引用楼主xtl123925于2009-05-04 21:48发表的 算术运算 :
请问这几行程序如何做
DIV K800 K3 D110
DMUL K60000 D110 D120
为何出现负数把K800换成K900就可以搞不懂哪位大侠能指点一下?
1,DIV K800 K3 D110的运算结果是:D110存放商(266),D111存放余数(2)
2,在32位运算 DMUL K60000 D110 D120指令中 软元件被征用的范围是:D110 和D111
结果存放于D120,D121,D122,D123
你自己算吧,D110和D111本来一个是商一个是余数,但是混合成一个32位数据后是个什么数?
再和60000乘一下,是不是得到一个怪胎!
3,你不要直接拿D110来作运算,过渡一下。比如将D110(MOV)给D115或其他寄存器,注意要跟结果寄存器保留最小的征用距离。
再试试看。