yzc3699
級別: 正式會(huì)員
|
描述:監(jiān)視截圖
圖片: 三菱程序監(jiān)視,這是一個(gè)通訊程序中的數(shù)據(jù)運(yùn)算處理步,請看D20中的數(shù)據(jù),為何從正數(shù)變成了負(fù)數(shù),從該條指令后,絕對無關(guān)于D20的32位的運(yùn)算,若把MUL D20 D14 D22改成DMUL D20 D14 D22則D22中的數(shù)據(jù)為正值并且按運(yùn)算正常思路,結(jié)果都是對的,哪位工控朋友如果有過這樣的經(jīng)驗(yàn),請賜教,QQ:76609809.謝謝! |
---|---|
|
yzc3699
級別: 正式會(huì)員
|
補(bǔ)充一下,這個(gè)問題是偶爾發(fā)生的,不是每次運(yùn)算結(jié)果都是這樣的,絕大多數(shù)運(yùn)算結(jié)果都是對的!! |
---|---|
|
蕭風(fēng)
當(dāng)你不能改變你身處的環(huán)境時(shí),可以重新選擇環(huán)境
級別: 略有小成
|
MUI D13 H100 的運(yùn)算結(jié)果大于16位寄存器(32767)D20的空間,ADD D20的數(shù)字就會(huì)變負(fù)數(shù),請樓主多看16位和32位數(shù)據(jù)運(yùn)算的說明 |
|
---|---|---|
本帖最近評分記錄:
|
yuaiwu
wemhoener
級別: 網(wǎng)絡(luò)英雄
|
上面一行是兩個(gè)一個(gè)字(16)數(shù)相乘,結(jié)果會(huì)占用兩個(gè)字(32),所以顯示的是32位數(shù)值 下面顯示的只顯示48384前15位值,16位是符號位,用計(jì)算器驗(yàn)證了下,也是對的 |
---|---|
|
gcbplc
QQ3130569178 PLC編程、登錄口令修改刪除、調(diào)試
級別: 工控俠客
|
學(xué)習(xí)了 |
|
---|---|---|
|
550374389
!!!
級別: 論壇先鋒
|
樓上,關(guān)鍵是MUL后面顯示的結(jié)果是D20跟D21兩個(gè)寄存器的共同結(jié)果,是32位的。后面的ADD中的D20顯示的只是D20一個(gè)寄存器的結(jié)果,時(shí)16位的,看看ADD SUB,MUL和DIV這幾條指令的用法你就明了!!! |
---|---|
|