syking1234
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 185 個
工控威望: 415 點
下載積分: 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ù)運算我有點糊涂,也看過資料
D*好像保存結(jié)果的是4個16位軟元件地址,DMOV只能傳送32位,64位的高位地址怎么辦???
我是用模擬器反復(fù)試驗,允許沒問題,RUN檔



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

數(shù)據(jù)計算2.rar (12 K) 下载次数:28
[ 此帖被syking1234在2013-01-04 20:38重新編輯 ]
syking1234
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 185 個
工控威望: 415 點
下載積分: 879 分
在線時間: 182(小時)
注冊時間: 2009-01-01
最后登錄: 2024-08-03
查看syking1234的 主題 / 回貼
1樓  發(fā)表于: 2012-11-19 12:21
沒人幫忙啊,自己頂下
aojianyun121
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 133 個
工控威望: 523 點
下載積分: 5580 分
在線時間: 114(小時)
注冊時間: 2010-11-25
最后登錄: 2024-12-21
查看aojianyun121的 主題 / 回貼
2樓  發(fā)表于: 2012-11-19 12:34
圖片:
  好像是哪個D7274寄存器有問題,是不是是特別寄存器呢,我模擬也一樣,不過改成D7260是可以的。我沒接觸過Q系列的,所以幫不了哈!不好意思,希望對你有幫助。
sjm213
有小知識,無大學(xué)問。
級別: 論壇版主

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

aojianyun121
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 133 個
工控威望: 523 點
下載積分: 5580 分
在線時間: 114(小時)
注冊時間: 2010-11-25
最后登錄: 2024-12-21
查看aojianyun121的 主題 / 回貼
4樓  發(fā)表于: 2012-11-19 13:48
學(xué)習(xí)了,我咋就沒想到這個茬呢!!
紫菜空間
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 61 個
工控威望: 193 點
下載積分: 1758 分
在線時間: 67(小時)
注冊時間: 2011-11-10
最后登錄: 2023-12-20
查看紫菜空間的 主題 / 回貼
5樓  發(fā)表于: 2012-11-19 13:50
3樓正解!
syking1234
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 185 個
工控威望: 415 點
下載積分: 879 分
在線時間: 182(小時)
注冊時間: 2009-01-01
最后登錄: 2024-08-03
查看syking1234的 主題 / 回貼
6樓  發(fā)表于: 2012-11-19 16:52
那為什么MIAN1 程序段里的D5842 D5844卻不存在這樣的問題、??
sjm213
有小知識,無大學(xué)問。
級別: 論壇版主

精華主題: 7 篇
發(fā)帖數(shù)量: 5212 個
工控威望: 7436 點
下載積分: 158993 分
在線時間: 3172(小時)
注冊時間: 2007-11-21
最后登錄: 2024-12-22
查看sjm213的 主題 / 回貼
7樓  發(fā)表于: 2012-11-19 17:52
因為程序中D5844在D5842后面使用到,這樣使用的效果就是D5550*K1000的結(jié)果,將D5548*K-10000的結(jié)果覆蓋掉了,卻成了你需要的結(jié)果,所以看起來是正常的。
你可以將D5550~D10012這兩段程序?qū)懙紻5548這一段程序上面。
就會發(fā)現(xiàn)雖然D10012的值雖然還是你要的正確的值,但D5844的值卻是0(如果不是說明D5548的值太大,乘法運算之后超出32位儲存范圍,D5844內(nèi)有儲存的數(shù)據(jù)了)。
syking1234
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 185 個
工控威望: 415 點
下載積分: 879 分
在線時間: 182(小時)
注冊時間: 2009-01-01
最后登錄: 2024-08-03
查看syking1234的 主題 / 回貼
8樓  發(fā)表于: 2012-11-19 18:13
圖片:
剛模擬了,D5844的值為-1
郁悶啊,有點暈頭了
syking1234
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 185 個
工控威望: 415 點
下載積分: 879 分
在線時間: 182(小時)
注冊時間: 2009-01-01
最后登錄: 2024-08-03
查看syking1234的 主題 / 回貼
9樓  發(fā)表于: 2012-11-20 21:19
還是沒辦法啊
我把D* 后面的K100000 改成* 后面K10000,好像不存在4個字的問題
sjm213
有小知識,無大學(xué)問。
級別: 論壇版主

精華主題: 7 篇
發(fā)帖數(shù)量: 5212 個
工控威望: 7436 點
下載積分: 158993 分
在線時間: 3172(小時)
注冊時間: 2007-11-21
最后登錄: 2024-12-22
查看sjm213的 主題 / 回貼
10樓  發(fā)表于: 2012-11-20 22:06
掉換過后,D5844顯示的數(shù)跟D5548   K-10000的數(shù)值有關(guān)。
但你放心,雖然顯示的數(shù)據(jù)你看著有問題,但實際運算結(jié)果是不會錯的。
syking1234
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 185 個
工控威望: 415 點
下載積分: 879 分
在線時間: 182(小時)
注冊時間: 2009-01-01
最后登錄: 2024-08-03
查看syking1234的 主題 / 回貼
11樓  發(fā)表于: 2012-11-21 13:23
非常感謝,受教了