指令系统(算术运算类)

上传人:muw****50 文档编号:245304285 上传时间:2024-10-08 格式:PPT 页数:17 大小:307.61KB
返回 下载 相关 举报
指令系统(算术运算类)_第1页
第1页 / 共17页
指令系统(算术运算类)_第2页
第2页 / 共17页
指令系统(算术运算类)_第3页
第3页 / 共17页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,算术运算指令,1.加法指令,(1)不带进位加法指令ADD,指令格式:ADD DST,,,SRC,;,执行操作:DST(SRC)(DST),(2)带进位加法指令ADC,指令格式:ADC DST,,,SRC,;,执行操作:DST(SRC)(DST)CF,注意:,(1)目的操作数不能为立即数。,(2)不允许两个操作数都为存储器操作数。,(3)段寄存器不能参与加法操作。,(4)指令执行结果影响CF、OF、PF、SF、ZF和AF标志位。OF位可以用来表示带符号数的运算是否溢出,而CF位则可用来表示无符号的运算是否有进位。,例:ADD AX,BX,ADD AL,2000H,ADD BX,AL,ADD BL,6H,ADD BYTE PTR SI,5H,ADC AX,BX,ADC AL,2000H,ADC BX,AL,ADC BL,6H,ADC WORD PTR DI,89H,例:有两个4字节的无符号数相加:,2C 56 F8 AC+30 9E 47 BE=?,设被加数、加数分别存放在BUFFER1及BUFFER2开始的两个存储区内,结果放回BUFFER1存储区,如下页图所示。,因CPU只能进行8位或16位的加法运算,为此可将加法分4次进行。,56H,2CH,BEH,47H,BUFFER1,BUFFER2,ACH,F8H,9EH,30H,被加数,加数,数据段,多字节加法示意图,.,.,程序段如下:,MOV CX,4 ;置循环次数,MOV SI,0 ;置SI初值为零,CLC ;清进位标志CF,LL,:MOV AL,BUFFER2SI,AD,C,BUFFER1SI,AL ;,带进位加,INCSI ;(SI)+1,DEC CX ;(CX)-1,JNZ LL ;若(CX),0,则转LL,思考:若最高位有进位,如何改?,1.加法指令,(3),指令格式:INC OPR,执行操作:OPR(OPR)1,加1指令INC,例:INC AX,INC BYTE PTRBX,例:INC AL,前:AL=7FH,AF=0,CF=1,OF=0,SF=1,PF=0,ZF=1,后:AL=80H,AF=1,CF=1,OF=1,SF=1,PF=0,ZF=0,使用INC指令应,注意,:,(1)目的操作数不能为立即数和段寄存器。,(2)目的操作数为存储器操作数时,应指明按字类型还是字节类型操作。,(3)本指令影响标志OF、PF、SF、ZF和AF,但不影响CF标志位。,(1)SUB,指令,指令格式:SUB DST,,,SRC,执行操作:,DST,(,DST,)(,SRC,),2.减法指令,(2),带借位减法指令,SBB,指令格式:SBB DST,,,SRC,执行操作:,DST,(,DST,)(,SRC,),CF,(3),减,1,指令,DEC,指令格式:DEC OPR,执行操作:OPR(OPR)1,以上三种减法运算,影响各标志位,情,况同对应加法运算,注意,2.减法指令,(4),求补指令,NEG,指令格式:NEG OPR,执行操作:OPR 0(OPR),(1)目的操作数可以是通用寄存器寻址或存储器寻址方式,若是存储器操作数,应指明按字类型还是字节类型操作。,(2)指令执行结果影响标志AF、OF、PF、SF、ZF和CF。仅当目的操作数为零时,CF=0;否则CF=1。,(3)对一个操作数求补相当于用0减去此操作数,故利用NEG指令可得到负数的绝对值。,例:,若(AL)=0FCH,则执行 NEG AL 后,,(AL)=04H,CF=1,本例中,0FCH为-4的补码,执行求补指令后,即得到4(-4的绝对值)。,注意,指令格式:CMP dest,src,执行操作:(dest)(src),(5),比较指令,CMP,(1)目的操作数减源操作数,结果只影响标志位,不送入目的地址。,(2)根据ZF判断两个数是否相等。若ZF=1,则两数相等。,若ZF=0,则两个数不相等,则分两种情况考虑:,比较的是两个无符号数,若CF=0,则destsrc;,若CF=1,则destsrc。,比较的是两个有符号数,若OFSF=0,则destsrc;,若OFSF=1,则destsrc。,注意,例:在内存中有从BUF开始的10个无符号字数据,求出最大值存放到MAX单元中。,MOV,CX,9,;9送CX,控制循环次数,LEA,BX,BUF,;取BUF的有效地址送BX,MOV,AX,BX,;从BX指向的一个字信息送AX,ADD,BX,2,;(BX)+2BX,指向下一个字,AGAIN:,CMP,AX,BX,;AX的内容与BX指向字比较,JA,NEXT,;,若(AX)(BX),跳到NEXT,MOV,AX,BX,;否则,BX指向字的内容送AX,NEXT:,ADD,BX,2,;(BX)+2BX,指向下一个字,DEC,CX,;(CX)-1CX,JNZ,AGAIN,;若(CX),0,跳到AGAIN,MOV,MAX,AX,;执行循环完后,把最大值送MAX,HLT,3.,(1),无符号数乘法指令,MUL,乘法指令,指令格式:MUL SRC,指令操作:,AX,(,AL,),*,(,SRC,);字节操作数,DX,,,AX,(,AX,),*,(,SRC,);字操作数,例:MUL BL,前:AL=00000011B,BL=00000010B,后:AH=00000000B,AL=00000110B,OF=CF=0,源操作数可以采用寄存器寻址或存储器寻址方式,若是存储器操作数,应指明按字类型还是字节类型操作。,MUL WORD PTR SI,(2)带符号数乘法,指令,IMUL,指令格式与操作同MUL指令。,1),乘法指令中源操作数不能为立即数;,2),AL,(,AX,)为隐含的乘数寄存器;,3),AX,(,DX,,,AX,)为隐含的乘积寄存器。,4),MUL指令,影响CF和OF标志位;当结果的高一半等于0时(即AH或DX的内容),CF、OF都为0,否则CF、OF都为1;5)IMUL指令,同样影响CF和OF标志位;当结果的高一半是低一,半的符号扩展时,CF、OF都为0,否则CF、OF都为1;,注意,除法指令,4.,(1),无符号数除法指令,DIV,指令格式:,DIVSRC,指令操作:,字节除法:,AL,(商)、,AH,(余数)(,AX,),/,(,SRC,),字除法:,AX,(商)、,DX,(余数)(,DX,,,AX,),/,(,SRC,),源操作数可以采用,寄存器,或,存储器操作数,寻址方式。,DIV CL,DIV WORD PTRBX,指令,IDIV,格式与操作同,DIV,指令。,(2),带符号数除法指令,IDIV,1)除法指令中源操作数不能为立即数;,2),AX,(,DX,,,AX,)为隐含的被除数寄存器;,3)AL,(,AX,)为隐含的商寄存器;,4),AH,(,DX,)为隐含的余数寄存器;,5),除法指令对所有标志位无定义。,注意,(3),字节转换为字指令,CBW,指令功能:将源操作数由字节转换为字,指令格式:,CBW,CBW,指令默认(,AL,)为源操作数,若(,AL,)的最高有效位为,0,,,则执行,CBW,后,,(AH)=00H,若(AL)最高有效位为1,则执,行CBW后,(AH)=0FFH。,指令功能:将源操作数由字转换为双字,指令格式:,CWD,CWD,指令默认(,AX,)为源操作数,若(,AX,)的最高有效位为,0,,,则执行,CWD,后,,(DX)=0000H,若(AX)最高有效位为1,,则执行CWD后,(DX)=0FFFFH。,(4),字转换为双字指令,CWD,例:写出两带符号数34H,25H的程序段。,MOV AL,34H,MOV BL,25H,CBW ;AL的符号扩展到AH,IDIV BL ;0034H,25H,结果为,;(AH)=0FH,(AL)=01H,ASCII,的加法调整指令,AAA,ASCII,的减法调整指令,AAS,十进制的加法调整指令,DAA,十进制的减法调整指令,DAS,乘法的,ASCII,调整指令,AAM,除法的,ASCII,调整指令,AAD,十进制调整指令,5.,8086,提供了,6,种调整指令,注意:加法、减法和乘法的调整指令都是紧跟在算术指令之后,将二进制的运算结果调整为十进制数。而除法的调整指令必须放在除法指令之前进行,以防止除法出现错误的结果。,例如:,计算(,X*Y,Z,),/X,,其中,X,、,Y,、,Z,均为,16,位带符号数,分别存,入存储单元,BUFF1,、,BUFF2,、,BUFF3,中。,MOVAX,,,BUFF1,;将,BUFF1,存入默认被乘数寄存器,AX,IMULBUFF2,;带符号乘法运算,结果在(,DX,,,AX,),MOVCX,,,AX,;中间结果转移,让出,AX,寄存器,MOVBX,,,DX,;中间结果转移,让出,DX,寄存器,MOVAX,,,BUFF3,;,CWD,;将,Z,转换为双字放入(,DX,,,AX,),ADDCX,,,AX,;,ADCBX,,,DX,;双字加法运算,MOVAX,,,CX,;,MOVDX,,,BX,;将被除数存入默认寄存器(,DX,,,AX,),IDIVBUFF1;带符号除法运算,结果商(AX)余数(DX),
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!