求助,edi和esi到底指的是什么
相关推荐
汇编语言rep movsd 的使用详解
mov esi,offset @s1mov edi,offset @s2 mov ecx,10cld rep movsd 1.rep movsd 每次ecx!=0便执行movsd ,然后ecx=ecx-1 movsd移动ds:[si] 到es:[di],在32位汇编下可以用esi代替si,edi代替di 2.同时由于在一般exe中ds = es 程序起始位置所以另esi = offset @s1就可以找到变量s1 ,edi= offset @s2就可以找到变量s2 3.movsd此类指令有个性质,当标志位d=0时执行一次esi = esi +1,edi= edi+ 1 d=1时
OllyICE反汇编教程及汇编命令详解
内容目录 计算机寄存器分类简介 计算机寄存器常用指令 一、常用指令 二、算术运算指令 三、逻辑运算指令 四、串指令 五、程序跳转指令 ------------------------------------------ 计算机寄存器分类简介: 32位CPU所含有的寄存器有: 4个数据寄存器(EAX、EBX、ECX和EDX) 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 6个段寄存器(ES、CS、SS、DS、FS和GS) 1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)
【汇编】各种寄存器介绍.pdf
关于寄存器的相关问题,可以在这里找到答案。如果您希望增加嵌入式软件开发经验,这里有很多不错的资料!!!
从汇编到c 调用约定 堆栈原理
学习汇编的一个重要的方法就是将汇编代码和c代码之间进行转换练习,这样的练习做的越多,对汇编就越熟悉,同时对c代码的理解也更加深刻。很多时候,拿到一个程序的反汇编代码,虽然可能每一行汇编代码都知道什么意思,但却发现对于整个程序干了什么却不知道,原因在于一个简单的程序,翻译成汇编的代码量相对于c程序而言多了好多,而且因为汇编代码和人的思维差别比较大,所以,对于整个逻辑的理解就很困难。然而如果经常做一些将汇编翻译成c代码的练习,那么你渐渐就会发现,汇编代码其实也很都有规律,看到这一段汇编代码,你就很自然的联想到它对应的c代码。 下面我们就开始做一下这样的练习,首先看一下下面的汇编代码: ##### 第一段第代码 00401020 push ebp ; 保存epb 00401021 mov ebp,esp ; 将ebp指向栈顶 00401023 sub esp,4Ch ;为局部变量分配空间,sub esp, xxx相当于多个push 00401026 push ebx ; 保存ebx 00401027 push esi ; 保存esi 00401028 push edi ; 保存edi, 上面3个寄存器在使用之前必须保存 00401029 lea edi,[ebp-4Ch] ; 将刚刚分配的局部空间的地址送到edi 0040102C mov ecx,13h ; ecx这里是循环次数=4ch/4h =13h 00401031 mov eax,0CCCCCCCCh ; 将4个int 3指令放入eax 00401036 rep stos dword ptr [edi] ; 将分配的局部变量空间都用int 3指令填充 .....
易语言自用汇编模块
易语言自用汇编模块源码 系统结构:pushad,popad,push_eax,push_ebx,push_ecx,push_edx,push_esi,push_edi,push_ebp,push_esp,push_常数,mov_eax_常数,mov_ebx_常数,mov_ecx_常数,mov_edx_常数,mov_esi_常数,mov_edi_常数,mov_eb


