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
!!!
級別: 論壇先鋒
|
樓主,貌似數據寄存器的編號重復了~~~MUL指令出來的結果是32位的,也就是說MUL K8 K6 D0出來的結果存在D0和D1中,而你下面的程序。。。。。 |
---|---|
本帖最近評分記錄: |
qinchuangyi
級別: 略有小成
|
圖片:
圖片:
圖片:
樓主木活干啊,研究這樣的問題出來忽悠觀眾. 使用MUL乘法指令時其運算的結果: 源數據是16位的:結果是以32位存于D0中,D0是低位,D1是高位;就是存于D0時,D1已被占用,不可以再存其它數據了. 若源據是32位的結果存于D0,那么D1,D2,D3都已被占用,不可以再用來存儲其它數據. |
---|---|
本帖最近評分記錄: |