ayusecret
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 180 個
工控威望: 258 點
下載積分: 800 分
在線時間: 72(小時)
注冊時間: 2021-10-31
最后登錄: 2024-10-31
查看ayusecret的 主題 / 回貼
樓主  發(fā)表于: 2022-04-24 08:53
圖片:
如圖,什么情況下能讓光標位置的FMOV指令出錯,這種情況我相信一般項目是很難遇到的,而在實際項目如果遇到了,一般很難分析出哪里有問題(前提在大量程序和變址調(diào)用干擾下)。歡迎分享你們的看法,讓其他人可以學習學習。晚點我會分享我的答案。
ayusecret
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 180 個
工控威望: 258 點
下載積分: 800 分
在線時間: 72(小時)
注冊時間: 2021-10-31
最后登錄: 2024-10-31
查看ayusecret的 主題 / 回貼
1樓  發(fā)表于: 2022-04-24 09:57
引用
引用第1樓cvlsam于2022-04-24 09:53發(fā)表的  :

這是第一個坑,請看第一條指令,D3000是能被尋址到的。

[attachment=266699]

Good Luck~
ayusecret
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 180 個
工控威望: 258 點
下載積分: 800 分
在線時間: 72(小時)
注冊時間: 2021-10-31
最后登錄: 2024-10-31
查看ayusecret的 主題 / 回貼
2樓  發(fā)表于: 2022-04-24 11:11
圖片:
如圖、D2060能給到值,但D2048給值就報錯,分析下啥原因
ayusecret
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 180 個
工控威望: 258 點
下載積分: 800 分
在線時間: 72(小時)
注冊時間: 2021-10-31
最后登錄: 2024-10-31
查看ayusecret的 主題 / 回貼
3樓  發(fā)表于: 2022-04-25 10:42
本貼討論要點不在于元件的分配范圍大小,根據(jù)手冊(圖1),在于同一軟元件在內(nèi)部元件和文件寄存器之間變址修飾的分配順序。


參數(shù)配置如圖2


測試數(shù)據(jù)如圖3


關(guān)于圖3第一條Mov指令尋址不報錯,手冊這樣解釋


一開始我仿真后沒找到實際的賦值地址,后面我把W地址給到8K(原來為0),此時M0先斷開,因為D1023Z0尋址到大概W1F36處,重寫參數(shù)后找到查看W1F36區(qū)域,發(fā)現(xiàn)之前賦給D1023Z0的HFFFF值就在此區(qū)域.
同理,對第二條FMOV指令報錯,如果在W區(qū)或SW區(qū)稍微分配個區(qū)域,則FMOV里的D1023將尋址到W區(qū)或SW區(qū)而不報錯。

以上總結(jié)變址修飾在使用前需正確初始化,否則在實際應(yīng)用中將導致不可預見的錯誤而不被察覺。
本帖最近評分記錄:
  • 下載積分:+5(金秋來)