CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他开发语言 >  汇编语言

看看C语句都生成了什么汇编指令

楼主carsinogen(电子水牛)2005-08-01 18:57:28 在 其他开发语言 / 汇编语言 提问

http://community.csdn.net/Expert/topic/4181/4181891.xml?temp=.9167749 问题点数:0、回复次数:4Top

1 楼carsinogen(电子水牛)回复于 2005-08-01 18:58:49 得分 0

空函数代码   build   by   devcpp4990  
   
  int   main(void){}  
   
   
   
  //Assembler   code  
  //Function:   main  
  0x401290   <main>: push ebp                                     //C函数中用ebp做指针[基址]对变量寻址  
  0x401291   <main+1>: mov ebp,esp  
  0x401293   <main+3>: sub esp,0x8                             //生成一个堆栈框架存放(局部)变量  
  0x401296   <main+6>: and esp,0xfffffff0                   //对齐?  
  0x401299   <main+9>: mov eax,0x0  
  0x40129e   <main+14>: mov DWORD   PTR   [esp-4],eax  
  0x4012a1   <main+17>: mov eax,DWORD   PTR   [ebp-4]     //这三条指令干啥用?  
  0x4012a4   <main+20>: call 0x401710   <_alloca>  
  0x4012a9   <main+25>: call 0x401380   <__main>             //这两个call做了什么??  
  0x4012ae   <main+30>: leave                                                 //释放堆栈  
  0x4012af   <main+31>: ret                                                     //返回  
   
   
        0x4012a4   <main+20>: call 0x401710   <_alloca>  
        0x4012a9   <main+25>: call 0x401380   <__main>          
  请问这两条call指令都做了什么操作?  
         
        ——这是一个让我巨迷惑的问题  
  Top

2 楼zara(Kyrie eleison)回复于 2005-08-01 20:01:54 得分 0

看你上面提到的另外个帖子,   看汇编的能力应该还算不错的,   为什么不自己进去瞧瞧呢?Top

3 楼carsinogen(电子水牛)回复于 2005-08-02 01:20:20 得分 0

zara(Kyrie   eleison)   :怎么进去呢?  
   
  我用的是dev   c++,用查看cpu窗口得到汇编代码的。别的招就不会了Top

4 楼zara(Kyrie eleison)回复于 2005-08-02 10:15:48 得分 0

没有用过   dev   c++,   但是,   它应该有   Goto   功能的吧,   即转移到某个指定的地址;   或者,   在那两个   call   上置个断点,   运行,   停下来之后,   用   Step-In   功能就可以进入子程了   (对应的是   Step-Over   单步调试功能,   它是把   call   或   loop   类指令作为一个指令来完成的,   直接就到下面的那个指令了)Top

相关问题

  • 看看C语句都生成了什么汇编指令
  • Sco Unix下如何在C语言中嵌入汇编语句?
  • C里面怎样插入汇编指令?!?!?
  • C里面怎样插入汇编指令
  • 汇编语句的理解??
  • c与汇编
  • c++变汇编?
  • 求如何用汇编语言实现C语言中的malloc指令
  • 征集汇编新的指令和伪指令,最好能在C++Builder内嵌运行
  • 汇编指令在哪找?

关键词

  • c++
  • 指令
  • call
  • 功能

得分解答快速导航

  • 帖主:carsinogen

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo