简明x86汇编语言教程(17)

时间:2025-07-14

x86汇编语言

当然,“偷懒”的意思是说,把那些应该让机器做的事情交给计算机来做,因为它做得更好。我们应该把精力集中到设计算法,而不是编写源代码本身上,因为编译器几乎只能做等价优化,而实现相同功能,但使用更好算法的程序实现,则几乎只能由人自己完成。 举个例子,这样一个函数:

int fun(){ int a=0;

register int i;

for(i=0; i<1000; i++) a+=i; return a; }

在某种编译模式[DEBUG]下被编译为

push ebp mov ebp,esp sub esp,48h push ebx push esi push edi

lea edi,[ebp-48h] mov ecx,12h

mov eax,0CCCCCCCCh rep stos dword ptr [edi] mov dword ptr [ebp-4],0 mov dword ptr [ebp-8],0 jmp fun+31h

mov eax,dword ptr [ebp-8] add eax,1

mov dword ptr [ebp-8],eax cmp dword ptr [ebp-8],3E8h jge fun+45h

mov ecx,dword ptr [ebp-4] add ecx,dword ptr [ebp-8] mov dword ptr [ebp-4],ecx jmp fun+28h

mov eax,dword ptr [ebp-4] pop edi pop esi pop ebx mov esp,ebp pop ebp ret

; 恢复现场 ; 返回 ; 走着 ; i++

; i<1000?

; a+=i;

; return a;

; 保护现场

; 初始化变量-调试版本特有。

; 本质是在堆中挖一块地儿,存CCCCCCCC。 ; 用串操作进行,这将发挥Intel处理器优势 ; ‘a=0’ ; ‘i=0’ ; 子程序入口

简明x86汇编语言教程(17).doc 将本文的Word文档下载到电脑

上一篇:春日教学设计

下一篇:南方民族史

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219