1、1、加法指令、加法指令ADD2、加进位的加法指令、加进位的加法指令ADC3、加、加1指令指令INC1.加法指令加法指令ADD格式:格式:ADD OPRD1,OPRD2功能:功能:OPRD1OPRD1+OPRD2 说明:说明:完成两个操作数的相加,结果送至目完成两个操作数的相加,结果送至目的操作数的操作数OPRD1。其中。其中目的操作数可以是目的操作数可以是累加器,通用寄存器及存储器操作数。累加器,通用寄存器及存储器操作数。ADD指令影响所有标志位指令影响所有标志位CF、DF、PF、SF、ZF和和AF。例如:例如:ADD AL,30 累加器与立即数相加累加器与立即数相加ADD BX,3000H
2、通用寄存器与存储器单元内容相加通用寄存器与存储器单元内容相加ADD DI,CX 通用寄存器之间通用寄存器之间ADD DX,DATABX+SI 通用寄存器与存储单元内容相加通用寄存器与存储单元内容相加ADD BUFFSI,DX 存储器操作数与寄存器相加存储器操作数与寄存器相加2.加进位的加法指令加进位的加法指令ADC格式:格式:ADC OPRD1,OPRD2功能:功能:OPRD1OPRD1+OPRD2+CF 说明:说明:ADC指令与指令与ADD指令类似,指令类似,只是在两个操作数相加只是在两个操作数相加 时,要把进位标志时,要把进位标志CF的现行值加上去,的现行值加上去,结果送至目的操作数。结果
3、送至目的操作数。ADC指令影响所有标志位指令影响所有标志位CF、DF、PF、SF、ZF和和AF。ADC指令主要用于多字节运算中。指令主要用于多字节运算中。若有两个若有两个4字节的数,已字节的数,已分别放在自分别放在自FIRST和和SECOND开始的存储区中,每个数占开始的存储区中,每个数占4个存储单元。存放时,最低字节在地址最低处,则可用以下个存储单元。存放时,最低字节在地址最低处,则可用以下程序段实现相加。程序段实现相加。例题例题计算计算13579BDF H+02468ACE H的值的值MOV DX,1357 HMOV AX,9BDF HMOV AX,8ACE H CF=1,(AX)=26A
4、DHMOV DX,0246 H (DX)=159H3.加加1指令指令INC格式:格式:INC OPRD功能:功能:OPRDOPRD说明:说明:完成对指定的操作数完成对指定的操作数OPRD加加1,然后返回此,然后返回此操作数。此指令主要用于在循环程序中修改地址指操作数。此指令主要用于在循环程序中修改地址指针和循环次数等。针和循环次数等。INC指令执行的结果不影响指令执行的结果不影响CF位,位,而对其他而对其他5个标志位个标志位AF、OF、PF、SF和和ZF有影响。有影响。例题例题MOV AL,-2 (AL)=-2ADD AL,1 (AL)=-1,CF=0ADD AL,1 (AL)=0,CF=1ADC AL,4 (AL)=5,CF=0MOV AL,-2 (AL)=-2ADD AL,1 (AL)=-1,CF=0INC AL (AL)=0,CF=0ADC AL,4 (AL)=4,CF=0