数据处理算数与逻辑运算指令.ppt

数据处理算数与逻辑运算指令.ppt

ID:51996996

大小:180.50 KB

页数:22页

时间:2020-03-27

数据处理算数与逻辑运算指令.ppt_第1页
数据处理算数与逻辑运算指令.ppt_第2页
数据处理算数与逻辑运算指令.ppt_第3页
数据处理算数与逻辑运算指令.ppt_第4页
数据处理算数与逻辑运算指令.ppt_第5页
资源描述:

《数据处理算数与逻辑运算指令.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、3.5算术运算类指令算术运算对数据进行加减乘除基本的数据处理方法加减运算有“和”或“差”的结果外,还有进借位、溢出等状态标志,也是结果的一部分注意算术运算类指令对标志的影响掌握:加法和减法指令熟悉:乘法和除法指令理解:零位扩展和符号扩展+-*/+-×÷3.5.1加法指令加法指令ADD带进位加法指令ADC增量指令INC除INC不影响进位标志CF外其他指令按定义影响全部状态标志位按照运算结果相应设置各个状态标志为0或为1数据传送类指令不影响(=不改变)状态标志加法和减法指令根据结果按定义改变状态标志1.加法指令ADD目的操作数加上源操作数,和送到目的操作数ADDdest,src;加法:dest←

2、dest+src寄存器与立即数、寄存器、存储单元的加法存储单元与立即数、寄存器的加法可以是字节加法、16位加法、32位加法。影响6个状态标志位例moveax,0aaff7348h;EAX=AAFF7348Haddal,27h;al=48h+27h=6Fh;EAX=AAFF736FH,OF=0,SF=0,ZF=0,PF=1,CF=0addax,3fffh;ax=736fh+3fffh=b36eh;EAX=AAFFB36EH,OF=1,SF=1,ZF=0,PF=0,CF=0addeax,88000000h;0aaffb36eh+88000000h;EAX=32FFB36EH,OF=1,SF=0,

3、ZF=0,PF=0,CF=12.带进位加法指令ADC两个操作数相加,再加CF,结果送目的操作数按照定义影响6个状态标志位ADCdest,src;dest←dest+src+CF用于与ADD指令相结合实现多精度数的加法先将两个操作数的低32位相加(用ADD指令)再加高位部分、并将进位加到高位(用ADC指令)〔例〕64位数据相加程序moveax,dwordptrqvar1;取低32位addeax,dwordptrqvar2;加低32位,设置CFmovedx,dwordptrqvar1+4;取高32位adcedx,dwordptrqvar2+4;加高32位,同时加CF3.增量指令INC只有一个操作

4、数:寄存器或存储单元对操作数加1(增量)再将结果返回原处INCreg/mem;加1:reg/mem←reg/mem+1用于计数器和地址指针的调整不影响进位CF标志,影响其他状态标志位例如incecxincesiincwvarincdvar[ebx+edi]3.5.2减法指令减法指令SUB带借位减法指令SBB减量指令DEC求补指令NEG比较指令CMP除DEC不影响CF标志外其他按定义影响全部状态标志位数据传送类指令不影响(=不改变)状态标志加法和减法指令根据结果按定义改变状态标志1.减法指令SUB目的操作数减去源操作数,差送到目的操作数SUBdest,src;减法:dest←dest-src寄

5、存器与立即数、寄存器、存储单元的减法存储单元与立即数、寄存器的减法可以是字节、16位、32位减法。按照定义影响6个状态标志位例moveax,0aaff7348h;EAX=AAFF7348Hsubal,27h;EAX=AAFF7321H,OF=0,SF=0,ZF=0,PF=1,CF=0subax,3fffh;EAX=AAFF3322H,OF=0,SF=0,ZF=0,PF=1,CF=0subeax,0bb000000h;EAX=EFFF3322H,OF=0,SF=1,ZF=0,PF=1,CF=12.带借位减法指令SBB目的操作数减去源操作数,再减CF,结果送目的操作数按照定义影响6个状态标志位S

6、BBdest,src;dest←dest-src-CF用于与SUB指令相结合实现多精度数的减法先将两个操作数的低32位相减(用SUB指令)然后减高位部分、并减去借位(用SBB指令)3.减量指令DEC对操作数减1(减量)再将结果返回原处DECreg/mem;减1:reg/mem←reg/mem-1用于计数器和地址指针的调整不影响进位CF标志,影响其他状态标志位例如dececxdecesidecwvardecdvar[ebx+edi]〔例〕大小写字母转换程序;数据段msgbyte'welcome',0;代码段movecx,(lengthofmsg)-1;ECX等于字符串长度movebx,0;EB

7、X=0指向头一个字母again:submsg[ebx],'a'-'A';小写字母减20H转换为大写incebx;指向下一个字母loopagain;循环moveax,offsetmsgcalldispmsg;显示大写=小写-20H小写=大写+20H4.求补指令NEG对操作数执行求补运算,即用零减去操作数NEGreg/mem;reg/mem←0-reg/mem对标志的影响与用零作减法的SUB指令一样可用于求补码或

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。