汇编语言_探索C语言的main函数的入口地址

探索C语言的main()函数的入口地址,首先要编译连接。
在xp系统中,如下操作:
**加粗样式

  1. 按f3,test.c文件的路径,将test.c中的源代码读入到tc.exe中;
  2. 接着,按下f10,将option中的directory全部删掉,如下图所示;
    在这里插入图片描述
  3. 进入链接阶段:在compile中,选择link exe开始链接,如下图所示,这一步需要很多.obj文件,放入相同的路径下。
    在这里插入图片描述
    最后成功生成test.exe文件
    在这里插入图片描述
    在这里插入图片描述
    编译一个程序需要前人写好的很多文件,如下图所示,最终才能生成.exe文件。
    在这里插入图片描述
    现在,寻找Main函数的入口地址。
    将程序载入到dos,并且链接成功后,按下U,开始找到自己写的程序,就可以找到main的入口地址。
    在这里插入图片描述
    在这里插入图片描述

问题是:根据上面的图,判断哪里是main函数的入口地址,这需要根据函数调用的进栈出栈规则进行判断(在调用一个函数时,首先将这个函数地址入栈保存,等这个函数ret后,再从栈中弹出,继续向下执行),可以判断main的入口地址是:1FA.
找到Main函数的入口地址后,发现下面还有两行代码,push bp,mov bp,sp是什么作用呢,后边继续写。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值