算術(shù)運算指令共有24條,算術(shù)運算主要是執(zhí)行加、減、乘、除法四則運算。另外MCS-51指令系統(tǒng)中有相當(dāng)一部分是進(jìn)行加、減1操作,BCD碼的運算和調(diào)整,我們都?xì)w類為運算指令。雖然MCS-51單片機的算術(shù)邏輯單元ALU僅能對8位無符號整數(shù)進(jìn)行運算,但利用進(jìn)位標(biāo)志C,則可進(jìn)行多字節(jié)無符號整數(shù)的運算。同時利用溢出標(biāo)志,還可以對帶符號數(shù)進(jìn)行補碼運算。需要指出的是,除加、減1指令外,這類指令大多數(shù)都會對PSW(程序狀態(tài)字)有影響。這在使用中應(yīng)特別注意。
[1].加法指令(4條)
這4條指令的作用是把立即數(shù),直接地址、工作寄存器及間接地址內(nèi)容與累加器A的內(nèi)容相加,運算結(jié)果存在A中。
ADD A,#data;(A)+#data→(A) 累加器A中的內(nèi)容與立即數(shù)#data相加,結(jié)果存在A中
ADD A,data;(A)+(data)→(A) 累加器A中的內(nèi)容與直接地址單元中的內(nèi)容相加,結(jié)果存在A中
ADD A,Rn;(A)+(Rn)→(A) 累加器A中的內(nèi)容與工作寄存器Rn中的內(nèi)容相加,結(jié)果存在A中
ADD A,@Ri;(A)+((Ri))→(A) 累加器A中的內(nèi)容與工作寄存器Ri所指向地址單元中的內(nèi)容相加,結(jié)果存在A中
上述這四條指令的用途是:將A中的值與后面的值相加,最終結(jié)果存回到累加器A中。
例:MOV A,#30H
ADD A,#10H
則執(zhí)行完本條指令后,A中的值就是40H
下面的題目請大家自行練習(xí)
MOV 34H,#10H
MOV R0,#13H
MOV A,34H
ADD A,R0
MOV R1,#34H
ADD A,@R1