小蜜蜂
你讓我滾,我滾了。你讓我回來,對不起,滾遠了...
級別: 論壇先鋒

精華主題: 0
發(fā)帖數(shù)量: 1396 個
工控威望: 1500 點
下載積分: 13251 分
在線時間: 2199(小時)
注冊時間: 2008-03-19
最后登錄: 2024-09-20
查看小蜜蜂的 主題 / 回貼
樓主  發(fā)表于: 2008-11-08 15:17
MUL   D10   K80   D20
DIV   D20   D30   D40
MOV  D40   D50

求助大家,第一行的乘法中D10乘以K80是生成D20還是D20  D21兩個?第二行的要用DIV還是DDIV?第三行要用MOV還是DMOV呢?拜托大家了,謝謝!
zxc6688
工業(yè)自動化是我們的目標
級別: 略有小成
精華主題: 1 篇
發(fā)帖數(shù)量: 385 個
工控威望: 338 點
下載積分: 3994 分
在線時間: 174(小時)
注冊時間: 2007-09-11
最后登錄: 2024-01-05
查看zxc6688的 主題 / 回貼
1樓  發(fā)表于: 2008-11-08 15:22
那要看你D10里的數(shù)據(jù)。假如相乘后超過了16位,用MUL就得不到你想要的結(jié)果,就要用DMUL。
MUL  16位
DMUL 32位
其他一樣。
http://zxc6688.ys168.com/
小蜜蜂
你讓我滾,我滾了。你讓我回來,對不起,滾遠了...
級別: 論壇先鋒

精華主題: 0
發(fā)帖數(shù)量: 1396 個
工控威望: 1500 點
下載積分: 13251 分
在線時間: 2199(小時)
注冊時間: 2008-03-19
最后登錄: 2024-09-20
查看小蜜蜂的 主題 / 回貼
2樓  發(fā)表于: 2008-11-08 15:39
但是我從手冊上看到 MUL   D0    D2    D4,它是這樣解釋的 D0 16位的,D2 16位的,D4就是32位的(D5,D4),按手冊上說的凡是兩個16位的,不管大小,哪怕1乘以1等于1也要放到(D5  D4)中去,如果樓上的意思D0=1000  D2=1000,得100000,D0乘以D2就要用DMUL,這顯然和書上的不同嗎,因為D0和D2都是16位的!
zwz579
這系蝦米社會,七透的比打拼的錢卡多。
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 502 個
工控威望: 408 點
下載積分: 2895 分
在線時間: 226(小時)
注冊時間: 2008-03-18
最后登錄: 2019-07-21
查看zwz579的 主題 / 回貼
3樓  發(fā)表于: 2008-11-08 18:38
乘法的結(jié)果必定會要用兩個
共同學習,共同進步。 www.xmohm.com
小蜜蜂
你讓我滾,我滾了。你讓我回來,對不起,滾遠了...
級別: 論壇先鋒

精華主題: 0
發(fā)帖數(shù)量: 1396 個
工控威望: 1500 點
下載積分: 13251 分
在線時間: 2199(小時)
注冊時間: 2008-03-19
最后登錄: 2024-09-20
查看小蜜蜂的 主題 / 回貼
4樓  發(fā)表于: 2008-11-08 18:51
哦,謝謝了,那第二行的除法運算D20就是(D20  D21)32位的,但是D30的是16位的,那么這個DIV前面要加D嗎?還有就是除的結(jié)果D40是指(D40  D41  D42  D43)嗎?還是只有(D40  D41)兩個?還有第三行的MOV又是否要加D嗎?
xiexiao
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 97 個
工控威望: 227 點
下載積分: 591 分
在線時間: 10(小時)
注冊時間: 2008-10-18
最后登錄: 2024-01-10
查看xiexiao的 主題 / 回貼
5樓  發(fā)表于: 2008-11-09 00:18

加D
dv0429
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 205 個
工控威望: 221 點
下載積分: 837 分
在線時間: 96(小時)
注冊時間: 2008-02-27
最后登錄: 2023-09-18
查看dv0429的 主題 / 回貼
6樓  發(fā)表于: 2008-11-09 07:27
如果結(jié)果大于32767要在前面加D,如果在32767范圍內(nèi)的就不加加D,32767是16位寄存器最大的值,什么時候用16位還是32位主要是看結(jié)果會不會大于這個值
小蜜蜂
你讓我滾,我滾了。你讓我回來,對不起,滾遠了...
級別: 論壇先鋒

精華主題: 0
發(fā)帖數(shù)量: 1396 個
工控威望: 1500 點
下載積分: 13251 分
在線時間: 2199(小時)
注冊時間: 2008-03-19
最后登錄: 2024-09-20
查看小蜜蜂的 主題 / 回貼
7樓  發(fā)表于: 2008-11-09 12:34
6樓的朋友,首先謝謝你,但是你講的和指令手冊上的不一樣,MUL   D0    D2    D4,D0=16位的,D2=16位的,D4=32位的,照你這么說,這個乘法不是要用DMUL了,可是書上偏偏只用MUL,我是這樣理解的:只要乘數(shù)和被乘數(shù)是16位的,只要用MUL,不管你的結(jié)果是多大,只要乘數(shù)和被乘數(shù)是32位的,就要用DMUL,不管你的結(jié)果是多大,現(xiàn)在在這論壇里有好多說法,不知道要相信哪個人。
tangyq
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 273 個
工控威望: 408 點
下載積分: 1797 分
在線時間: 374(小時)
注冊時間: 2007-03-25
最后登錄: 2022-04-06
查看tangyq的 主題 / 回貼
8樓  發(fā)表于: 2008-11-09 13:27
你自己的看法正確
小蜜蜂
你讓我滾,我滾了。你讓我回來,對不起,滾遠了...
級別: 論壇先鋒

精華主題: 0
發(fā)帖數(shù)量: 1396 個
工控威望: 1500 點
下載積分: 13251 分
在線時間: 2199(小時)
注冊時間: 2008-03-19
最后登錄: 2024-09-20
查看小蜜蜂的 主題 / 回貼
9樓  發(fā)表于: 2008-11-09 13:50
那如果用傳送指令MOV,D40如果是32位的,那么我們應(yīng)該這樣寫程序,DMOV   D40   D50,那么如果D40是64位的(D43  D42  D41  D40),那么我們的DMOV是不能用了?而要用成批傳送指令BMOV   D40  D50  K4,把(D43  D42  D41  D40)傳送到(D50  D51  D52  D53)?不知這樣對不對?
小蜜蜂
你讓我滾,我滾了。你讓我回來,對不起,滾遠了...
級別: 論壇先鋒

精華主題: 0
發(fā)帖數(shù)量: 1396 個
工控威望: 1500 點
下載積分: 13251 分
在線時間: 2199(小時)
注冊時間: 2008-03-19
最后登錄: 2024-09-20
查看小蜜蜂的 主題 / 回貼
10樓  發(fā)表于: 2008-11-09 15:50
沒人幫我看看嗎?
kawasakilu
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 319 個
工控威望: 380 點
下載積分: 2265 分
在線時間: 90(小時)
注冊時間: 2007-04-12
最后登錄: 2024-06-29
查看kawasakilu的 主題 / 回貼
11樓  發(fā)表于: 2008-11-09 15:57
最好用DDIV。