目錄
一、加減指令
1、作用:
使兩個數(shù)據(jù)能夠進行加法或者減法運算。
2、指令形式:
指令形式:[ADD S1 S2 S3]
解析:S1+S2=S3,該代碼的意思是將S1加上S2的數(shù)放入S3中。
3、加減指令種類
A、ADD:16位數(shù)據(jù)間的加法運算
B、DADD:32位數(shù)據(jù)間的加法運算
C、DEADD:浮點數(shù)數(shù)據(jù)間的加法運算
4、實例:
A、16位運算:
加法:
減法:
B、32位運算:
加法:
減法:
C、浮點數(shù)運算 :
加法:
減法:
二、乘法指令
1、作用:
使兩個數(shù)據(jù)能夠進行乘法運算。
2、指令形式:
指令形式:[MUL S1 S2 S3]
解析:S1XS2=S3,該代碼的意思是將S1乘上S2的數(shù)放入S3中。
3、加法指令種類
A、MUL:16位數(shù)據(jù)間的乘法運算
B、DMUL:32位數(shù)據(jù)間的乘法運算
C、DEMUL:浮點數(shù)數(shù)據(jù)間的乘法運算
4、實例:
A、16位乘法運算
B、32位乘法運算
C、浮點數(shù)乘法運算
三、除法指令
1、作用:
使兩個數(shù)據(jù)能夠進行除法運算。
2、指令形式:
指令形式:[DIV S1 S2 S3]
解析:S1S2=S3,該代碼的意思是將S1除以S2的數(shù)放入S3中。
3、加法指令種類
A、DIV:16位數(shù)據(jù)間的除法運算
B、DDIV:32位數(shù)據(jù)間的除法運算
C、DEDIV:浮點數(shù)數(shù)據(jù)間的除法運算
4、實例:
A、16位除法運算
B、32位除法運算
C、浮點數(shù)除法運算
四、內(nèi)存問題
內(nèi)存溢出在加減中不會太明顯,因為涉及數(shù)還比較小。但是在乘除法中會影響數(shù)據(jù)的存儲。
乘除法內(nèi)存分配:
乘法:
16位 X 16位 = 32位(占據(jù)2個數(shù)據(jù)寄存器,都用于裝得數(shù))
32位 X 32位 = 64位 (占據(jù)4個數(shù)據(jù)寄存器,其中2個裝得數(shù);剩下2個是余數(shù))
浮點數(shù)X浮點數(shù) = 32位
除法:
16位 X 16位 = 32位(占據(jù)2個數(shù)據(jù)寄存器,一個數(shù)據(jù)寄存器裝商;一個裝余數(shù))
32位 X 32位 = 64位 (占據(jù)4個數(shù)據(jù)寄存器,其中2個裝商;剩下2個是余數(shù)))
浮點數(shù) X 浮點數(shù) = 浮點數(shù)(64位) (占據(jù)4個數(shù)據(jù)寄存器,其中2個裝商;剩下2個是余數(shù))
對于16位的數(shù)據(jù)寄存器來說, 32位需要占據(jù)2個數(shù)據(jù)寄存器;64位需要占據(jù)4個數(shù)據(jù)寄存器。
五、總結
1、PLC有嚴格的數(shù)據(jù)類型界限,不能使用不同數(shù)據(jù)類型進行加減乘除。例如不能用16位X32位。
2、注意得數(shù)是需要多少個數(shù)據(jù)寄存器,防止數(shù)據(jù)寄存器不夠的情況出現(xiàn)。