第3章数据处理3算数与逻辑运算指令优秀课件.ppt
《第3章数据处理3算数与逻辑运算指令优秀课件.ppt》由会员分享,可在线阅读,更多相关《第3章数据处理3算数与逻辑运算指令优秀课件.ppt(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3 3章数据处理章数据处理3 3算数算数与逻辑运算指令与逻辑运算指令第1页,本讲稿共22页3.5.1 3.5.1 加法指令加法指令加法指令加法指令 ADDADD带进位加法指令带进位加法指令 ADCADC增量指令增量指令 INCINC除除INCINC不影响进位标志不影响进位标志CFCF外外其他指令按定义影响全部状态标志位其他指令按定义影响全部状态标志位按照运算结果相应设置各个状态标志为按照运算结果相应设置各个状态标志为0 0或为或为1 1数据传送类指令数据传送类指令不影响(不改变)不影响(不改变)状态标志状态标志加法和减法指令加法和减法指令根据结果按定义改变根据结果按定义改变状态标志状态标志
2、第2页,本讲稿共22页1.1.加法指令加法指令ADDADD目的操作数加上源操作数,和送到目的操作数目的操作数加上源操作数,和送到目的操作数ADD dest,srcADD dest,src;加法:加法:destdestdestdestsrcsrc寄存器与立即数、寄存器、存储单元的加法寄存器与立即数、寄存器、存储单元的加法存储单元与立即数、寄存器的加法存储单元与立即数、寄存器的加法可以是字节加法、可以是字节加法、1616位加法、位加法、3232位加法。位加法。影响影响6 6个状态标志位个状态标志位第3页,本讲稿共22页例例mov eax,0aaff7348hmov eax,0aaff7348h;E
3、AX;EAXAAFF7348HAAFF7348Hadd al,27h add al,27h ;al=48h+27h=6Fh;al=48h+27h=6Fh;EAX;EAXAAFF736FHAAFF736FH,OFOF0 0,SFSF0 0,ZFZF0 0,PFPF1 1,CFCF0 0add ax,3fffh add ax,3fffh ;ax=736fh+3fffh=b36eh;ax=736fh+3fffh=b36eh;EAX;EAXAAFFB36EHAAFFB36EH,OFOF1 1,SFSF1 1,ZFZF0 0,PFPF0 0,CFCF0 0add eax,88000000h add ea
4、x,88000000h ;0aaffb36eh+88000000h;0aaffb36eh+88000000h;EAX;EAX32FFB36EH32FFB36EH,OFOF1 1,SFSF0 0,ZFZF0 0,PFPF0 0,CFCF1 1第4页,本讲稿共22页2.2.带进位加法指令带进位加法指令ADCADC两个操作数相加,再加两个操作数相加,再加CFCF,结果送目的操作数,结果送目的操作数按照定义影响按照定义影响6 6个状态标志位个状态标志位ADC dest,srcADC dest,src;destdest;destdestsrcsrcCFCF用于与用于与ADDADD指令相结合实现多精度数的
5、加法指令相结合实现多精度数的加法先将两个操作数的低先将两个操作数的低3232位相加(用位相加(用ADDADD指令)指令)再加高位部分、并将进位加到高位(用再加高位部分、并将进位加到高位(用ADCADC指令)指令)例例6464位数据相加程序位数据相加程序mov eax,dword ptr qvar1mov eax,dword ptr qvar1;取低取低3232位位addadd eax,dword ptr qvar2 eax,dword ptr qvar2;加低加低3232位,设置位,设置CFCFmov edx,dword ptr qvar1+4mov edx,dword ptr qvar1+4
6、;取高取高3232位位adcadc edx,dword ptr qvar2+4 edx,dword ptr qvar2+4;加高加高3232位,同时加位,同时加CFCF第5页,本讲稿共22页3.3.增量指令增量指令INCINC只有一个操作数:寄存器或存储单元只有一个操作数:寄存器或存储单元对操作数加对操作数加1 1(增量)再将结果返回原处(增量)再将结果返回原处INC reg/memINC reg/mem;加加1 1:reg/memreg/memreg/memreg/mem1 1用于计数器和地址指针的调整用于计数器和地址指针的调整不影响进位不影响进位CFCF标志,影响其他状态标志位标志,影响其
7、他状态标志位例如例如inc ecxinc ecxinc esiinc esiinc wvarinc wvarinc dvarebx+ediinc dvarebx+edi第6页,本讲稿共22页3.5.2 3.5.2 减法指令减法指令减法指令减法指令 SUBSUB带借位减法指令带借位减法指令 SBBSBB减量指令减量指令 DECDEC求补指令求补指令 NEGNEG比较指令比较指令 CMPCMP除除DECDEC不影响不影响CFCF标志外标志外其他按定义影响全部状态标志位其他按定义影响全部状态标志位 数据传送类指令数据传送类指令不影响(不改变)不影响(不改变)状态标志状态标志加法和减法指令加法和减法指
8、令根据结果按定义改变根据结果按定义改变状态标志状态标志第7页,本讲稿共22页1.1.减法指令减法指令SUBSUB目的操作数减去源操作数,差送到目的操作数目的操作数减去源操作数,差送到目的操作数SUB dest,srcSUB dest,src;减法:减法:destdestdestdestsrcsrc寄存器与立即数、寄存器、存储单元的减法寄存器与立即数、寄存器、存储单元的减法存储单元与立即数、寄存器的减法存储单元与立即数、寄存器的减法可以是字节、可以是字节、1616位、位、3232位减法。位减法。按照定义影响按照定义影响6 6个状态标志位个状态标志位 第8页,本讲稿共22页例例mov eax,0a
9、aff7348hmov eax,0aaff7348h ;EAX;EAXAAFF7348HAAFF7348Hsub al,27hsub al,27h;EAX;EAXAAFF7321HAAFF7321H,OFOF0 0,SFSF0 0,ZFZF0 0,PFPF1 1,CFCF0 0sub ax,3fffhsub ax,3fffh;EAX;EAXAAFF3322HAAFF3322H,OFOF0 0,SFSF0 0,ZFZF0 0,PFPF1 1,CFCF0 0sub eax,0bb000000hsub eax,0bb000000h;EAX;EAXEFFF3322HEFFF3322H,OFOF0 0,
10、SFSF1 1,ZFZF0 0,PFPF1 1,CFCF1 1第9页,本讲稿共22页2.2.带借位减法指令带借位减法指令SBBSBB目的操作数减去源操作数,再减目的操作数减去源操作数,再减CFCF,结果送目的操作,结果送目的操作数数按照定义影响按照定义影响6 6个状态标志位个状态标志位SBB dest,srcSBB dest,src;destdest;destdestsrcsrcCFCF用于与用于与SUBSUB指令相结合实现多精度数的减法指令相结合实现多精度数的减法先将两个操作数的低先将两个操作数的低3232位相减(用位相减(用SUBSUB指令)指令)然后减高位部分、并减去借位(用然后减高位部
11、分、并减去借位(用SBBSBB指令)指令)第10页,本讲稿共22页3.3.减量指令减量指令DECDEC对操作数减对操作数减1 1(减量)再将结果返回原处(减量)再将结果返回原处DEC reg/memDEC reg/mem;减减1 1:reg/memreg/memreg/memreg/mem1 1用于计数器和地址指针的调整用于计数器和地址指针的调整不影响进位不影响进位CFCF标志标志,影响其他状态标志位,影响其他状态标志位例如例如dec ecxdec ecxdec esidec esidec wvardec wvardec dvarebx+edidec dvarebx+edi第11页,本讲稿共2
12、2页例例大小写字母转换程序大小写字母转换程序;数据段数据段msgmsgbyte welcome,0byte welcome,0;代码段代码段mov ecx,(lengthof msg)-1mov ecx,(lengthof msg)-1;ECX;ECX等于字符串长度等于字符串长度mov ebx,0mov ebx,0;EBX;EBX0 0指向头一个字母指向头一个字母again:again:sub msgebx,a-Asub msgebx,a-A;小写字母减小写字母减20H20H转换为大写转换为大写inc ebxinc ebx;指向下一个字母指向下一个字母loop againloop again;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据处理 算数 逻辑运算 指令 优秀 课件
限制150内