ADD指令將源操作數(shù)和累加器A中的數(shù)相加,加法的結(jié)果存入累加器A,并且運(yùn)算結(jié)果會影響PSW中的CY、OV、AC和P標(biāo)志位。ADD指令對標(biāo)志位的影響如下:當(dāng)加法結(jié)果的第7位有進(jìn)位時,則進(jìn)位標(biāo)志位CY被置1,否則被清0;如果加法結(jié)果的第3位有進(jìn)位,則輔助進(jìn)位標(biāo)志位AC被置1,否則被清0;如果加法結(jié)果的第6位和第7位的進(jìn)位情況不一致,則溢出標(biāo)志位OV被置1,否則被清0;運(yùn)算結(jié)束時,奇偶標(biāo)志位P的值由累加器A中的數(shù)決定,若累加器A中的值以二進(jìn)制表示后,其中“1”的個數(shù)為奇數(shù)個,則P為1,否則P為0。
算術(shù)運(yùn)算指令共有24條,算術(shù)運(yùn)算主要是執(zhí)行加、減、乘、除法四則運(yùn)算。另外MCS-51指令系統(tǒng)中有相當(dāng)一部分是進(jìn)行加、減1操作,BCD碼的運(yùn)算和調(diào)整,我們都?xì)w類為運(yùn)算指令。雖然MCS-51單片機(jī)的算術(shù)邏輯單元ALU僅能對8位
ADD A,#DATA ;例:ADD A,#10HADD A,direct ;例:ADD A,10HADD A,Rn ;例:ADD A,R7ADD A,@Ri ;例:ADD A,@R0用途:將A中的值與其后面的值相加,最終結(jié)果否是回到A中。例:MOV A,#30HADD A,#10H則執(zhí)行完本條指令
ADDC A,RnADDC A,directADDC A,@RiADDC A,#data用途:將A中的值和其后面的值相加,并且加上進(jìn)位位C中的值。說明:由于51單片機(jī)是一種8位機(jī),所以只能做8位的數(shù)學(xué)運(yùn)算,但8位運(yùn)算的范圍只有0-255,這在實際工作中是不