syking1234
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 185 個
工控威望: 415 點(diǎn)
下載積分: 879 分
在線時間: 182(小時)
注冊時間: 2009-01-01
最后登錄: 2024-08-03
查看syking1234的 主題 / 回貼
樓主  發(fā)表于: 2012-11-18 22:52



請教這個D7274為什么無法傳送數(shù)據(jù)?
而同樣的MIAN1里的D10014卻可以

說明D8000、D8006、D5548均為十進(jìn)制3位整數(shù)

這個數(shù)據(jù)運(yùn)算我有點(diǎn)糊涂,也看過資料
D*好像保存結(jié)果的是4個16位軟元件地址,DMOV只能傳送32位,64位的高位地址怎么辦???
我是用模擬器反復(fù)試驗(yàn),允許沒問題,RUN檔



求解!。!急1。。。
老大,也進(jìn)來幫我下,謝謝!!
數(shù)學(xué)沒學(xué)好啊,丟人啊

數(shù)據(jù)計算2.rar (12 K) 下载次数:28
[ 此帖被syking1234在2013-01-04 20:38重新編輯 ]
sjm213
有小知識,無大學(xué)問。
級別: 論壇版主

精華主題: 7 篇
發(fā)帖數(shù)量: 5196 個
工控威望: 7419 點(diǎn)
下載積分: 158620 分
在線時間: 3154(小時)
注冊時間: 2007-11-21
最后登錄: 2024-11-13
查看sjm213的 主題 / 回貼
1樓  發(fā)表于: 2012-11-19 13:42
紅框中標(biāo)出的32位乘法指令,其結(jié)果存儲地址占用64位,故[D7275  D7274]都在該指令影響下將MOV得到的值覆蓋掉。

sjm213
有小知識,無大學(xué)問。
級別: 論壇版主

精華主題: 7 篇
發(fā)帖數(shù)量: 5196 個
工控威望: 7419 點(diǎn)
下載積分: 158620 分
在線時間: 3154(小時)
注冊時間: 2007-11-21
最后登錄: 2024-11-13
查看sjm213的 主題 / 回貼
2樓  發(fā)表于: 2012-11-19 17:52
因?yàn)槌绦蛑蠨5844在D5842后面使用到,這樣使用的效果就是D5550*K1000的結(jié)果,將D5548*K-10000的結(jié)果覆蓋掉了,卻成了你需要的結(jié)果,所以看起來是正常的。
你可以將D5550~D10012這兩段程序?qū)懙紻5548這一段程序上面。
就會發(fā)現(xiàn)雖然D10012的值雖然還是你要的正確的值,但D5844的值卻是0(如果不是說明D5548的值太大,乘法運(yùn)算之后超出32位儲存范圍,D5844內(nèi)有儲存的數(shù)據(jù)了)。
sjm213
有小知識,無大學(xué)問。
級別: 論壇版主

精華主題: 7 篇
發(fā)帖數(shù)量: 5196 個
工控威望: 7419 點(diǎn)
下載積分: 158620 分
在線時間: 3154(小時)
注冊時間: 2007-11-21
最后登錄: 2024-11-13
查看sjm213的 主題 / 回貼
3樓  發(fā)表于: 2012-11-20 22:06
掉換過后,D5844顯示的數(shù)跟D5548   K-10000的數(shù)值有關(guān)。
但你放心,雖然顯示的數(shù)據(jù)你看著有問題,但實(shí)際運(yùn)算結(jié)果是不會錯的。