zoukankan      html  css  js  c++  java
  • vs2010查看程序反汇编后的指令

    在调试的环境下,我们可以很方便地通过反汇编窗口查看程序生成的反汇编信息。如下图所示。

    image

    记得中断程序的运行,不然看不到反汇编的指令

    image

    看一个简单的程序及其生成的汇编指令

    #include<stdio.h>
    #include<windows.h>
    const long Lenth=5060000/5;
    int main(){
        while(true){
            for(long i=0;i<Lenth;i++){
                ;
            }
            Sleep(10);
        }
    }

    汇编窗口

    image

    对应的汇编语句

    #include<stdio.h>
    #include<windows.h>
    //using namespace std;
    const long Lenth=5060000/5;
    int main(){
    00F41380  push        ebp  
    00F41381  mov         ebp,esp  
    00F41383  sub         esp,0CCh  
    00F41389  push        ebx  
    00F4138A  push        esi  
    00F4138B  push        edi  
    00F4138C  lea         edi,[ebp-0CCh]  
    00F41392  mov         ecx,33h  
    00F41397  mov         eax,0CCCCCCCCh  
    00F4139C  rep stos    dword ptr es:[edi]  
        while(true){
    00F4139E  mov         eax,1  
    00F413A3  test        eax,eax  
    00F413A5  je          main+57h (0F413D7h)  
            for(long i=0;i<Lenth;i++){
    00F413A7  mov         dword ptr [i],0  
    00F413AE  jmp         main+39h (0F413B9h)  
    00F413B0  mov         eax,dword ptr [i]  
    00F413B3  add         eax,1  
    00F413B6  mov         dword ptr [i],eax  
    00F413B9  cmp         dword ptr [i],0F7120h  
    00F413C0  jge         main+44h (0F413C4h)  
                ;
            }
    00F413C2  jmp         main+30h (0F413B0h)  
            Sleep(10);
    00F413C4  mov         esi,esp  
    00F413C6  push        0Ah  
    00F413C8  call        dword ptr [__imp__Sleep@4 (0F48194h)]  
    00F413CE  cmp         esi,esp  
    00F413D0  call        @ILT+295(__RTC_CheckEsp) (0F4112Ch)  
        }
    00F413D5  jmp         main+1Eh (0F4139Eh)  
    }
    00F413D7  pop         edi  
    00F413D8  pop         esi  
    00F413D9  pop         ebx  
    00F413DA  add         esp,0CCh  
    00F413E0  cmp         ebp,esp  
    00F413E2  call        @ILT+295(__RTC_CheckEsp) (0F4112Ch)  
    00F413E7  mov         esp,ebp  
    00F413E9  pop         ebp  
    00F413EA  ret
  • 相关阅读:
    js--事件
    js之table操作
    2019年目标
    history.back返回后输入框值丢失问题
    C++ 工程师养成 每日一题4.5 (迭代器遍历)
    C++ 工程师养成 每日一题fourth (reverse的使用)
    C++ 工程师养成 每日一题third (子数列排序)
    C++工程师养成 每日一题(string使用)
    C++工程师养成 每日一题(vector使用)
    运算符优先级
  • 原文地址:https://www.cnblogs.com/kissazi2/p/3135055.html
Copyright © 2011-2022 走看看