wxk8000
級別: 略有小成
![]() |
圖片:
![]() 請教大家一個(gè)問(wèn)題: 最近在使用模擬量輸出編程的時(shí)候發(fā)現一個(gè)問(wèn)題,在標定的時(shí)候。 儲存區AQW的用法?為何ADD_I指令將兩個(gè)數相加不能直接放在A(yíng)QW中?提示錯誤“指令操作數的存儲器區無(wú)效” [attachment=118211] 提示如下錯誤: ![]() 而可以放在LW中,再通過(guò)MOV_W傳送至AQW中 如下圖所示 ![]() 有人說(shuō)是“數據類(lèi)型不符” ADD_I也是將兩個(gè)整型數相加得到的結果也是整型啊 AQW也是整數啊 都是整型為何不能直接OUT-AQW呢? 也有人說(shuō): 整數運算不支持OUT-AQW著(zhù)整數 讀寫(xiě)不能同時(shí)進(jìn)行 [ 此帖被wxk8000在2014-02-27 22:25重新編輯 ] |
---|---|
|
wxk8000
級別: 略有小成
![]() |
另外,昨天問(wèn)了一個(gè)好友,ADD_I在輸入引腳可以接AIW,就是輸出引腳不能接AQW,說(shuō)是手冊和西門(mén)子軟件這么規定的,如下圖所示: ![]() ![]() 也就是說(shuō)必須用一個(gè)MOV_W指令將轉換后的結果送入AQW ![]() 雖然手冊上這么規定,但是我不太理解 |
---|---|
|
wxk8000
級別: 略有小成
![]() |
我貼一個(gè)西門(mén)子論壇的回復,請大家在討論討論 “你用語(yǔ)句來(lái)觀(guān)看這一個(gè)add指令就知道為什么了。 AQ是不允許讀的,一個(gè)add指令可以分成兩個(gè)下面的指令 LD SM0.0 MOVW 1, AC0 +I 2, AC0 ld是配角沒(méi)問(wèn)題。mov指令沒(méi)有問(wèn)題。+I指令必然要先把ac讀出來(lái)準備運算,然后把2加上去,然后再把結果寫(xiě)進(jìn)去ac0。結果就產(chǎn)生了讀的操作。然后就錯了! |
---|---|
|