• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
donneyming
博客园    首页    新随笔    联系   管理    订阅  订阅
看汇编感悟~

程序分:代码段、数据段、以及堆栈区(running statck);

对变量的操作需要借助寄存器做中介;

EAX:存取变量,累加寄存器

EBX:

ECX:计数器

EDx:

ESI:源地址

EDI:目的地址

EBP:堆栈基址

ESP:堆栈操作指针

局部变量:栈存储并释放

全局变量:数据区

用户分配的变量都是在堆里面申请并释放

子函数调用过程:

 

push ebp;将ebp保存到堆栈

move ebp esp;使用ebp寄存器,将esp赋值到ebp;

sub esp,44h;分配局部变量存储区域;i386等堆栈是向下增长的即往内存小的地址增长

。。。。。

add....

pop...

函数的调用 在内部都是以地址跳转进行的

posted on 2010-04-12 10:46  donneyming  阅读(148)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3