冠軍歐洲
級別: 略有小成
![]() |
傳送的時候要用DMOV,定位指令也用雙字DDRVA 樓主留言:按照您的方法試了下果然正常,再次感謝您! |
---|---|
本帖最近評分記錄: |
eq8zw5xb
級別: 探索解密
![]() |
如果你把這個補碼 當作 無符號整數(unsigned short) 來看,它的值就是: 這就解釋了為什么你傳送的是 -3000,但接收到的是 62536 ——因為在接收端,它被當作了 無符號整數 來解釋。 樓主留言:感謝您的耐心指導! |
---|---|
本帖最近評分記錄: |
1105250205
級別: 家園常客
![]() |
mov是單字,但d=是雙字。符號位不對,自然顯示的數據也就不對 樓主留言:感謝您的耐心指導 |
---|---|
本帖最近評分記錄: |
dalao123
級別: 論壇先鋒
![]() |
用dmov 就不會出問題,不要用mov,,因為你沒有理解mov數據地址的范圍。 ![]() ![]() ![]() ![]() 樓主留言:謝謝的指導,我馬上把MOV的數據地址范圍再仔細學習下 |
|
---|---|---|
本帖最近評分記錄:
|
wzy4828
風流雖能驚天下,唯有悶騷動世人
級別: 家園常客
![]() |
這是PLC寄存器的一種機制,16位寄存器運算結果為負數時,寄存器監視看到的是補碼后的二進制(-3000補碼后的二進制轉換成十進制就是62536)。運算過程為:把3000的二進制000101110111000取反→1111010001000111再+1→1111010001001000→轉換成十進制→62536 樓主留言:感謝您給出如此詳細的指導,向您致以崇高的敬意!再次感謝您 |
---|---|
本帖最近評分記錄: |
wzy4828
風流雖能驚天下,唯有悶騷動世人
級別: 家園常客
![]() |
必須要理解和掌握這種機制,PLC在和8進制(準確的說應該是8位機)儀器通訊的時候,要進行頻繁的轉換。 樓主留言:感謝您,PLC也是8進制和8進制儀器設備通訊的時候頻繁的轉換這個原理我還明白 [ 此帖被wzy4828在2025-08-16 22:53重新編輯 ] |
---|---|
本帖最近評分記錄: |
85022122
級別: 正式會員
![]() |
昨天下午我搞了好久都沒想明白的問題,再這里諸位大佬耐心細心的接到幫助我解決了問題!再次感諸位大佬!我想說有你們真好!以后我也會盡量的幫助他人,傳遞愛心 |
---|---|
|