二、算术运算指令包括加、减、乘、除、加1、减1等共24条指令注:这类指令大都影响标志位。⑴不带进位加法指令ADDA,Rn; (A)←(A)+(Rn)ADDA,direct;(A)←(A)+(direct)ADDA,***@Ri;(A)←(A)+((Ri))ADDA,#data;(A)←(A)+data对于PSW的影响:执行这组指令将影响标志位Cy、AC、OV、P。当然,溢出标志OV只有带符号数运算才有用。二、算术运算指令例3-10:设(A)=0C3H,(R0)=0AAH,执行指令“ADDA,R0”结果:所得和为6DH,标志位Cy=1,OV=1,Ac=0。二、算术运算指令⑵带进位加法指令ADDCA,Rn;(A)←(A)+(Rn)+(Cy)ADDCA,direct;(A)←(A)+(direct)+(Cy)ADDCA,***@Ri;(A)←(A)+((Ri))+(Cy)ADDCA,#data;(A)←(A)+data+(Cy)注:主要用于多字节的加法运算。二、算术运算指令例3-11:设(A)=0C3H,(R0)=0AAH,(Cy)=1执行指令:ADDCA,R0;二、算术运算指令例3-12:试编写计算6655H+11FFH的程序MOV A,#55HADD A,#0FFHMOV50H,AMOV A,#66HADDCA,#11HMOV51H,A二、算术运算指令(3)二-十进制调正指令(BCD码修正指令)DAA;若[(A3~0)>9]或[(AC)=1]则(A3~0)←(A3~0)+06H;若[(A7~4)>9]或[(Cy)=1]则(A7~4)←(A7~4)+60H注:本指令不能单独使用,只能用在加法指令之后本指令不能直接用于十进制数减法的调正本指令不能简单的把累加器A中的16进制数变换成BCD码二、算术运算指令例3-13:设累加器A内容为压缩BCD码56(即01010110B),寄存器R3的内容为压缩BCD码67(即01100111B),Cy内容为1。执行下列的指令:ADDCA,R3DAA二、算术运算指令例3-14:设有4个压缩BCD码,分别放在内部数据存储器50H~51H单元和60H~61H单元中,试编写求出两个数的和的程序,结果存放到40H~41H单元中。二、算术运算指令MOV A,50H;(A)←(50H)ADD A,60H;(A)←(A)+(60H)DA A ;BCD码修正MOV 40H,AMOV A,51HADDCA,61HDA AMOV41H,A二、算术运算指令
二、算术逻辑运算指令 来自淘豆网m.daumloan.com转载请标明出处.