sinun
級別: *
![]() |
請教各位大蝦: 我是新手,問題是: 下面用三菱FX2N(C)寫的,輸出的D0、D1、D3、D4都是48,而D2卻是0,為什么? (MUL乘法和DIV除法都有類似的問題) 請各位老師幫忙診斷一下是哪里出了問題,謝謝! M8000 ---| |-------|---------------------------------[MUL K6 K8 D0] | |---------------------------------[MUL K6 K8 D1] | |---------------------------------[MUL K6 K8 D4] | |---------------------------------[MUL K6 K8 D2] | |---------------------------------[MUL K6 K8 D3] |
---|---|
|
550374389
!!!
級別: 論壇先鋒
![]() ![]() |
樓主,貌似數(shù)據(jù)寄存器的編號重復(fù)了~~~MUL指令出來的結(jié)果是32位的,也就是說MUL K8 K6 D0出來的結(jié)果存在D0和D1中,而你下面的程序。。。。。 ![]() |
---|---|
本帖最近評分記錄: |
qinchuangyi
級別: 略有小成
![]() |
圖片:
![]()
圖片:
![]()
圖片:
![]() ![]() 使用MUL乘法指令時其運(yùn)算的結(jié)果: 源數(shù)據(jù)是16位的:結(jié)果是以32位存于D0中,D0是低位,D1是高位;就是存于D0時,D1已被占用,不可以再存其它數(shù)據(jù)了. 若源據(jù)是32位的結(jié)果存于D0,那么D1,D2,D3都已被占用,不可以再用來存儲其它數(shù)據(jù). ![]() |
---|---|
本帖最近評分記錄: |
zqing2003
級別: 探索解密
![]() |
用乘法或者除法建議用4個寄存器放一個數(shù)據(jù),就是跳開4個寄存器再放一個數(shù)據(jù) |
---|---|
|
matengfei
攻人之過勿太嚴(yán),要思其堪受;教人以善勿過高,要令其可從。
級別: 論壇先鋒
![]() |
學(xué)習(xí)了 |
---|---|
|