发表于:2005-05-23 15:33:00
3楼
乘小數點用浮點數乘法指令 DEMUL,但不能直接乘,因为我们的寄存器D只能放Integer数据。
下面是小数点乘法的例子:2111 x2.4=5066.4,
D500=K2111,D502=K24
LD M1000
FLT D500 D550 Binary--->Float
FLT D502 D552 Binary--->Float
DEDIV D552 K10 D0 浮点数除法,运算结果放在D0,D1
DEMUL D550 D0 D2 浮点数乘法,运算结果放在D2,D3
DINT D2 D4 Float-->Binary,运算结果放在D4,D5
因为只能放INTERGER(整型数据),若有小数点部分將被舍弃,
所以D4=K5066,小数点0.4被舍弃!
增加倍数可用乘法指令:
LDP X0
MUL D420 K2 D420
LD M1000
MOV D420 D440
触发一次X0,D440中值增加2倍