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
复制代码
相关文章
|
存储 移动开发 C语言
【ARM汇编速成】零基础入门汇编语言之指令集(三)
【ARM汇编速成】零基础入门汇编语言之指令集(三)
352 0
|
编译器 C语言 计算机视觉
【ARM汇编速成】零基础入门汇编语言之指令集(二)
【ARM汇编速成】零基础入门汇编语言之指令集(二)
1210 0
51单片机用汇编语言实现独立按键检测,每个按键有不同功能,包含按键消抖程序
51单片机用汇编语言实现独立按键检测,每个按键有不同功能,包含按键消抖程序
458 3
加快软盘操作速度的汇编程序源代码
加快软盘操作速度的汇编程序源代码
|
存储 机器学习/深度学习 芯片
8086 汇编笔记(十二):int 指令 & 端口 & 直接定址表
8086 汇编笔记(十二):int 指令 & 端口 & 直接定址表
|
程序员 编译器 数据处理
汇编高手秘籍:解锁性能优化新境界,用汇编语言让你的程序飞起来!
【8月更文挑战第31天】汇编语言作为编程基石,其高效性能备受推崇。尽管现代软件开发更偏爱高级语言,但在性能要求极高的场景下,汇编优化仍不可或缺。本文通过示例代码介绍四种优化技巧:循环展开、寄存器分配、指令重排及SIMD指令使用,显著提升执行效率。同时强调分析性能瓶颈、测试优化效果及保持代码可读性的重要性,助力开发者在关键代码路径上实现性能突破。
825 0
|
存储 算法 安全
深入理解汇编语言:基础语法和常用指令介绍
深入理解汇编语言:基础语法和常用指令介绍
汇编语言(第四版) 实验一 查看CPU和内存,用机器指令和汇编指令编程
汇编语言(第四版) 实验一 查看CPU和内存,用机器指令和汇编指令编程
238 1
|
安全 编译器
8086 汇编笔记(四):[BX] 和 loop 指令
8086 汇编笔记(四):[BX] 和 loop 指令