资源描述:
《微机原理及应用王惠中、王强、李建海电子课件 第4章(3).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、§4.4.2算术运算指令加法指令ADD、ADC、INC、AAA、DAA减法指令SUB、SBB、DEC、AAS、DAS、CMP、NEG乘法指令MUL、IMUL、AAM除法指令DIV、IDIV、AAD、CBW、CWD小结算术运算指令可完成加、减、乘、除运算以及在算术运算过程中进行进制及编码调整操作。在进行这些操作时,可针对字节或字运算,也可对带符号数和无符号数进行运算。1、加法指令ADD(Addition)。指令格式:ADDOPRD1,OPRD2指令功能:将源操作数与目的操作数相加,结果存放于目的操作数。即OPRD1+OPRD2→OPRD1
2、。具体指令形式:ADDreg,reg;reg←reg+regADDreg,mem;reg←reg+memADDreg,imm;reg←reg+immADDmem,reg;mem←mem+regADDmem,imm;mem←mem+imm要求源操作数和目的操作数同时为带符号的数或无符号数,且长度相等。加法运算指令2、带进位加法指令ADC(Addwithcarry)。指令格式:ADCOPRD1,OPRD2指令功能:将源操作数与目的操作数以及进位标志位CF的值相加,并将结果存放于目的操作数,即OPRD1+OPRD2+CF→OPRD
3、1。具体指令形式:ADCreg,reg;reg←reg+reg+CFADCreg,mem;reg←reg+mem+CFADCreg,imm;reg←reg+imm+CFADCmem,reg;mem←mem+reg+CFADCmem,imm;mem←mem+imm+CF加法运算指令3、加1指令INC(Incrementdestinationby1)。指令格式:INCOPRD指令功能:将指定操作数内容加1。INC指令不影响进位标志CF。具体指令形式:INCmem;mem←mem+1INCreg;reg←reg+1加法运算指
4、令加法运算指令1、加指令ADD形式:ADD目的操作数,源操作数功能:目操作数内容+源操作数内容→目的操作数;执行之后影响所有状态标志SF、ZF、AF、PF、CF、OF。允许的操作数类型:目的操作数——通用寄存器、存储器;源操作数——通用寄存器、存储器、立即数。2、带进位的加指令ADC功能:目操作数内容+源操作数内容+CF→目操作数其余与ADD指令相同!3、自加1指令INC形式:INC操作数(通用寄存器或存储器)功能:操作数内容+1→操作数;执行之后影响标志位SF、ZF、AF、PF、OF,但不影响CF!最常用的加法用于高字(字节)相加常用于修
5、改地址指针8位数符号数和无符号数的溢出情况1.带符号数和无符号数都不溢出二进制加法看作无符号数看作带符号数0000110013+13+00101011+55+(+55)0011011168+68CF=0OF=02.无符号数溢出二进制加法看作无符号数看作带符号数0011010153+53+11011010+218+(-38)100001111271+15CF=1OF=0现为15,结果错3.带符号数溢出二进制加法看作无符号数看作带符号数0001000117+17+01110011+115+(+115)10000100132+132CF=0OF=
6、1现为-124,结果错。4.带符号数和无符号数都溢出二进制加法看作无符号数看作带符号数10100111167(-89)+10011101+157+(-99)101000100324-188CF=1OF=1现为68,结果错。现为68,结果错。1、减法指令SUB(Subtract)。指令格式:SUBOPRD1,OPRD2指令功能:将目的操作数减去源操作数,结果存放于目的操作数,即OPRD1-OPRD2→OPRD1。具体指令形式:SUBreg,reg;reg←reg-regSUBreg,mem;reg←reg-memSUBreg,im
7、m;reg←reg-immSUBmem,reg;mem←mem-regSUBmem,imm;mem←mem-imm减法运算指令2、带借位减法指令SBB(Subtractwithborrow)。指令格式:SBBOPRD1,OPRD2指令功能:将目的操作数减去源操作数,再减去借位CF的值,结果存放于目的操作数。即OPRD1-OPRD2-CF→OPRD1。具体指令形式:SBBreg,reg;reg←reg-reg-CFSBBreg,mem;reg←reg-mem-CFSBBreg,imm;reg←reg-imm-CFSBBmem
8、,reg;mem←mem-reg-CFSBBmem,imm;mem←mem-imm-CF减法运算指令3、减1指令DEC(Decrementdestinationby1)。指令