微型计算机原理及应用第三章指令系统3.ppt

微型计算机原理及应用第三章指令系统3.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 算术运算类指令用来执行二进制的算术运算:加、 减、乘、除。 算术运算指令的特点有: 1)在加、减、乘、除基本运算指令中,除±1指令 外,都具有两个操作数; 2)这类指令执行后,除±1指令不影响CF标志外, 对CF,OF,ZF,SF,PF和AF等6位标志均可产生 影响, 3.3 算术运算指令 第三章 8086/8088指令系统 3.3.1 加法运算指令 1.加法指令(ADD) 指令格式:ADD dst , src ;dst←dst+src 指令功能:目的操作数加上源操作数,和的结果送到目的 操作数。 标志寄存器:影响AF、CF、PF、OF、ZF、SF 目的操作数 :通用寄存器、存储器; 源操作数:通用寄存器、存储器、立即数; 操作数类型:字或字节 注意点:两操作数必须类型一致; 两操作数不能同时为存储器操作数。 第三章 8086/8088指令系统 例: ADD AX,0F0F0H,设指令执行前(AX)=5463H; (AX)=0101 0100 0110 0011 + 、1111 0000 1111 0000 [1] 0100 0101 0101 0011→AX 进位 执行后,结果(AX)=4553H,且CF=1,ZF=0,SF=0,OF=0 dst和src还可使用多种寻址方式,例如: ADD DI,SI ;SI和DI内容相加,结果放入DI中 ADD [BX+DI],CX ;CX内容与(BX)+(DI)和(BX)+(DI)+1所指的 两存储单元内容相加,结果放入这两存储单元中 第三章 8086/8088指令系统 2.带进位加法指令 (ADC) 指令格式: ADC dst,src 指令功能:dst←dst + src + CF 标志寄存器:影响OF、CF、SF、ZF、AF、PF; 目的操作数 :通用寄存器、存储器; 源操作数:通用寄存器、存储器、立即数; 操作数类型:字或字节 用法: 多字节数相加 第三章 8086/8088指令系统 例:现有两个4B的无符号数相加,两数分别放在据段中FIRST和SECOND开始的存储单元中,低位在前,高位在后。要求相加之后所得的和放在从FIRST开始的内存单元中。 对双倍精度字相加,可分为两段进行,先对低位字相加,后对高位字相加,实现对此双倍精度字相加的程序段如下: LEA SI, FIRST ;取源地址指针 LEA DI, SECOND ;取目的地址指针 MOV AX,[SI] ;将第一数的低位字取入AX ADD AX,[DI] ;低位字相加 MOV [SI],AX ;存低位字相加之和 MOV AX,[SI+2] ;将第一数的高位字取入AX ADC AX,[DI+2] ;两高位字连同进位相加 MOV [SI+2],AX ;存高位字相加之和 第三章 8086/8088指令系统 3.加1指令 指令格式: INC dst 指令功能:dst←dst+1 标志寄存器:影响 OF、SF、ZF、AF、PF; 操作数:8位/16位通用寄存器或存储器; 用法:该指令常用在循环结构程序中修改指针或用作循环计数,例如: INC CX ;将CX的内容加1后再送回CX中。 INC BYTE PTR[BX+100H] ;将 (BX)+100H所指的单元内容加1后,送回此单元。 注意:指令不影响CF标志,当用INC指令进行循环计数,试图以判断CF=1结束循环,是达不到目的的,而且还会导致程序运行进入死循环 第三章 8086/8088指令系统 指令格式: DAA 指令功能: DAA指令用于对压缩的BCD码相加的结果进行调整,使结果仍为压缩的BCD码。 故DAA指令应紧跟在加法指令ADD或ADDC之后,而且只有相加的结果存入AL后,才能用DAA指令。 标志寄存器:影响CF、SF、ZF、AF、PF; 调整方法:指令执行时,先对相加结果进行测试,若低4位(或高4位) 大于9(非法码)或产生进位CF或辅助进位AF时,DAA自动对低4位(或高4位)进行加6的调整 注意点:因调整是在AL中进行,因此加法运算后,必须把结果放在AL中;BCD码运算时,必须用调整指令。 4. 压缩的十进制数加法调整指令 第三章

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档