微机原理及应用第4章课件(3).ppt

上传人(卖家):三亚风情 文档编号:3142163 上传时间:2022-07-21 格式:PPT 页数:41 大小:2.13MB
下载 相关 举报
微机原理及应用第4章课件(3).ppt_第1页
第1页 / 共41页
微机原理及应用第4章课件(3).ppt_第2页
第2页 / 共41页
微机原理及应用第4章课件(3).ppt_第3页
第3页 / 共41页
微机原理及应用第4章课件(3).ppt_第4页
第4页 / 共41页
微机原理及应用第4章课件(3).ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、4.4.2 算术运算指令v加法指令ADD、ADC、INC、AAA、DAAv减法指令SUB、SBB、DEC、AAS、DAS、CMP、NEGv乘法指令MUL、IMUL、AAMv除法指令DIV、IDIV、AAD、CBW、CWDv小结 加法运算指令 2、加法运算指令 加法运算指令加法运算指令1、加指令ADDv形式:ADD 目的操作数,源操作数v功能:目操作数内容源操作数内容目的操作数;执行之后影响所有状态标志SF、ZF、AF、PF、CF、OF。v允许的操作数类型:目的操作数通用寄存器、存储器;源操作数通用寄存器、存储器、立即数。2、带进位的加指令ADCv功能:目操作数内容源操作数内容CF目操作数v其余

2、与ADD指令相同!3、自加1指令INCv形式:INC 操作数 (通用寄存器或存储器)v功能:操作数内容1 操作数;执行之后影响标志位SF、ZF、AF、PF、OF,但不影响CF!最常用的加法用于高字(字节)相加常用于修改地址指针8位数符号数和无符号数的溢出情况1.带符号数和无符号数都不溢出二进制加法 看作无符号数 看作带符号数 0000 1100 13 +13 +0010 1011 +55 +(+55)0011 0111 68 +68 CF0 OF02.无符号数溢出 二进制加法 看作无符号数 看作带符号数 0011 0101 53 +53 +1101 1010 +218 +(-38)1 0000

3、 1111 271 +15 CF=1 OF=0 现为15,结果错3.带符号数溢出 二进制加法 看作无符号数 看作带符号数 0001 0001 17 +17 +0111 0011 +115 +(+115)1000 0100 132 +132 CF0 OF=1 现为-124,结果错。4.带符号数和无符号数都溢出 二进制加法 看作无符号数 看作带符号数 1010 0111 167 (-89)+1001 1101 +157 +(-99)1 0100 0100 324 -188 CF=1 OF=1现为68,结果错。现为68,结果错。减法运算指令 减法运算指令减法运算指令减法运算指令1、减指令SUBv形式

4、:SUB 目操作数,源操作数v功能:目操作数内容源操作数内容目操作数;执行之后影响所有状态标志SF、ZF、AF、PF、CF、OF。v允许的操作数类型:目操作数通用寄存器、存储器;源操作数通用寄存器、存储器、立即数。2、带借位的减指令SBBv功能:目操作数内容源操作数内容CF目操作数v其余与SUB指令相同!3、自减1指令DECv形式:DEC 操作数 (通用寄存器或存储器)v功能:操作数内容1 操作数;执行之后影响标志位SF、ZF、AF、PF、OF,但不影响CF!最常用的减法用于高字(字节)相减常用于修改地址指针 比较指令CMP(Compare two operands)v比较指令通常用于比较两个

5、操作数的大小。由受影响的标志位状态来判断两个操作数比较的结果。不论是无符号数比较还是有符号数比较,若在比较指令后,(ZF)=1,则两者相等,否则不相等。若两者不相等,则可在比较两个数之后,利用其他标志位的状态来确定两者中哪个大。比较指令CMP 比较指令CMP比较指令CMPv使用方法与SUB、SBB相同。v功能:目操作数源操作数,同时影响状态标志SF、ZF、AF、PF、CF、OF。vCMP通常用于比较两个数,其后一般紧跟着条件转移指令以实现不同情况下的分支处理。v例:CMP AL,BL ;ALBL,保持寄存器的值不变 JNZ EQUAL ;若(ZF)0(不等),转EQUAL处 ;(ZF)1(相等

6、)情况下的处理不改变操作数本身的值!取相反数指令NEG取相反数指令NEGv形式:NEG 操作数v功能:0操作数内容操作数;影响所有状态标志SF、ZF、AF、PF、CF、OF v允许的操作数类型:通用寄存器、存储器实质上,NEG指令相当于将目操作数固定为0值的SUB指令;执行结果即取原数的相反数。乘法运算指令2、带符号数乘法 IMUL OPRD;操作同上 IMUL 进行字节运算时,目的操作数必须是累加器AL,乘积在寄存器AX中;进行字运算时,目的操作数必须是累加器AX,乘积在寄存器DX,AX中。源操作数不允许使用立即数。乘法指令运算结果只影响状态标志CF、OF。例:MUL BX;无符号数乘法,B

7、X乘上AX乘法运算指令 乘法运算指令乘法运算指令乘法运算指令无符乘法指令:MUL 通用寄存器或存储器带符乘法指令:IMUL 通用寄存器或存储器乘积低字节AL乘积高字节AH乘积低位字AX乘积高位字DX除法运算指令 除法运算指令除法运算指令 除法指令:DIV 通用寄存器或存储器 除法指令:IDIV 通用寄存器或存储器商AL余数AH商AX余数DX 加法的十进制调整指令1、非压缩BCD码调整指令AAA(无操作数)v何时使用?两个非压缩BCD码相加,想得到非压缩BCD码结果自动调整AL中的和,非压缩BCD码的结果存在AL中,进位反映在AH上两个压缩BCD码相加,希望得到压缩BCD码结果自动调整AL中的和

8、,结果在AL中产生一个压缩BCD码的和 减法的十进制调整指令1、非压缩BCD码调整指令AAS(无操作数)两个非压缩BCD码相减,结果在AL中。要想得到非压缩BCD码的结果,在减法之后用AAS指令进行自动调整,可在AL中得到非压缩BCD码结果。若有借位,AH会自动减1。影响CF、AF。2、压缩BCD码调整指令DAS(无操作数)两个压缩BCD码相减,结果在AL中。要想得到组合BCD码的结果,在减法之后用DAS指令进行自动调整,可在AL中得到压缩BCD码结果。影响SF、ZF、AF、CF、PF。非压缩BCD码的乘法十进制调整指令AAM(ASCII adjust for multiply)非压缩BCD码

9、的乘法十进制调整指令AAMv应用举例:MOV AL,4 MOV CL,9 MUL CL ;04H09H0024HAX AAM ;(AL)103(AH)(AL)mod 106(AL)AX:非压缩BCD码AAM实现了16进制数十进制数的转化!非压缩BCD码的除法十进制调整指令AAD(ASCII adjust for division)非压缩BCD码的除法十进制调整指令AADv应用举例:MOV AX,0306H ;AX中是两个非压缩BCD码 MOV BL,9 AAD ;(AH)10(AL)0024H(AX);(SF)0,(ZF)0,(PF)1 DIV BL ;(AL)4,(AH)0 AAD指令进行的是AAM的逆操作vAAD必须在DIV之前,与其它调整指令不同!v只能进行非压缩BCD码除法调整。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(微机原理及应用第4章课件(3).ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|