- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据处理算数与逻辑运算指令.ppt
3.5 算术运算类指令 算术运算 对数据进行加减乘除 基本的数据处理方法 加减运算有“和”或“差”的结果外,还有进借位、溢出等状态标志,也是结果的一部分 注意算术运算类指令对标志的影响 掌握:加法和减法指令 熟悉:乘法和除法指令 理解:零位扩展和符号扩展 3.5.1 加法指令 加法指令 ADD 带进位加法指令 ADC 增量指令 INC 除INC不影响进位标志CF外 其他指令按定义影响全部状态标志位 按照运算结果相应设置各个状态标志为0或为1 1. 加法指令ADD 目的操作数加上源操作数,和送到目的操作数 ADD dest,src ;加法:dest←dest+src 寄存器与立即数、寄存器、存储单元的加法 存储单元与立即数、寄存器的加法 可以是字节加法、16位加法、32位加法。 影响6个状态标志位 例 mov eax,0aaff7348h ;EAX=AAFF7348H add al,27h ;al=48h+27h=6Fh ;EAX=AAFF736FH,OF=0,SF=0,ZF=0,PF=1,CF=0 add ax,3fffh ;ax=736fh+3fffh=b36eh ;EAX=AAFFB36EH,OF=1,SF=1,ZF=0,PF=0,CF=0 add eax ;0aaffb36eh ;EAX=32FFB36EH,OF=1,SF=0,ZF=0,PF=0,CF=1 2. 带进位加法指令ADC 两个操作数相加,再加CF,结果送目的操作数 按照定义影响6个状态标志位 ADC dest,src ;dest←dest+src+CF 用于与ADD指令相结合实现多精度数的加法 先将两个操作数的低32位相加(用ADD指令) 再加高位部分、并将进位加到高位(用ADC指令) 〔例〕64位数据相加程序 mov eax,dword ptr qvar1 ;取低32位 add eax,dword ptr qvar2 ;加低32位,设置CF mov edx,dword ptr qvar1+4 ;取高32位 adc edx,dword ptr qvar2+4 ;加高32位,同时加CF 3. 增量指令INC 只有一个操作数:寄存器或存储单元 对操作数加1(增量)再将结果返回原处 INC reg/mem ;加1:reg/mem←reg/mem+1 用于计数器和地址指针的调整 不影响进位CF标志,影响其他状态标志位 例如 inc ecx inc esi inc wvar inc dvar[ebx+edi] 3.5.2 减法指令 减法指令 SUB 带借位减法指令 SBB 减量指令 DEC 求补指令 NEG 比较指令 CMP 除DEC不影响CF标志外 其他按定义影响全部状态标志位 1. 减法指令SUB 目的操作数减去源操作数,差送到目的操作数 SUB dest,src ;减法:dest←dest-src 寄存器与立即数、寄存器、存储单元的减法 存储单元与立即数、寄存器的减法 可以是字节、16位、32位减法。 按照定义影响6个状态标志位 例 mov eax,0aaff7348h ;EAX=AAFF7348H sub al,27h ;EAX=AAFF7321H,OF=0,SF=0,ZF=0,PF=1,CF=0 sub ax,3fffh ;EAX=AAFF3322H,OF=0,SF=0,ZF=0,PF=1,CF=0 sub eax,0bb000000h ;EAX=EFFF3322H,OF=0,SF=1,ZF=0,PF=1,CF=1 2. 带借位减法指令SBB 目的操作数减去源操作数,再减CF,结果送目的操作数 按照定义影响6个状态标志位 SBB dest,src ;dest←dest-src-CF 用于与SUB指令相结合实现多精度数的减法 先将两个操作数的低32位相减(用SUB指令) 然后减高位部分、并减去借位(用SBB指令) 3. 减量指令DEC 对操作数减1(减量)再将结果返回原处 DEC reg/mem ;减1:reg/mem←reg/mem-1 用于计数器和地址指针的调整 不影响进位CF标志,影响其他状态标志位 例如 dec ecx dec esi dec wvar dec dvar[ebx+edi] 〔例〕大小写字母转换程序 ; 数据段 msg byte welcome,0 ; 代码段 mov ecx,(lengthof msg)-1 ; ECX等于字符串长度 mov ebx,0 ; EBX=0指向头一个字母 again: sub msg[ebx],a-A ; 小写字母减20H转换为大写 inc ebx ; 指向下一个字母 loop a
您可能关注的文档
最近下载
- 项目一集控运行职业岗位认知课件.pptx VIP
- Nordic 系列:nRF52840 (基于 Cortex-M4)_(25).nRF52840的硬件测试.docx VIP
- Nordic 系列:nRF52840 (基于 Cortex-M4)_(16).nRF52840的硬件设计指南.docx VIP
- 医疗器械说明书:迈瑞麻醉机WATO+EX-55,65_使用说明书V_1.1中文.pdf
- GMC96B钢轨打磨列车手册.pdf VIP
- 南京三合宅课件.ppt VIP
- 猩红热护理查房.pptx VIP
- 中国肺血栓栓塞症诊治、预防和管理指南(2025版).pptx
- 2025年高考数学全国新课标Ⅰ卷试卷评析及备考策略(课件).pptx VIP
- 医疗器械 质量手册 ISO 13485 QRS 820 (通过FDA、NMPA、CE的审批 版.pdf VIP
文档评论(0)