社区
汇编语言
帖子详情
关于堆栈的一点疑惑?
voidpointer
2007-12-08 11:18:07
一般一个汇编程序都有一个堆栈段,比如用以下语句定义:
STACK1 SEGMENT STACK
256 dup (?)
STACK1 ENDS
我的疑惑就是当用指令call调用子程序的时候,先要push ip,这个ip是不是保存在这个定义的堆栈中呢?
...全文
76
3
打赏
收藏
关于堆栈的一点疑惑?
一般一个汇编程序都有一个堆栈段,比如用以下语句定义: STACK1 SEGMENT STACK 256 dup (?) STACK1 ENDS 我的疑惑就是当用指令call调用子程序的时候,先要push ip,这个ip是不是保存在这个定义的堆栈中呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhanzhenbo
2007-12-09
打赏
举报
回复
是的。
当调用一个函数的时候。
1:调用方把参数反序压入堆栈中。
2:调用函数
3:恢复堆栈。
而被调用方需要保存EBP等值,用的就是这个堆栈,在执行
完成后将恢复
czlyc006
2007-12-09
打赏
举报
回复
call指令等价于 push (eip+1)
jmp (子程序处)
ret指令等于 pop eip (虽然实际程序中不能这么写)
fxxygg
2007-12-09
打赏
举报
回复
是的. 只不过在压入栈的时候,压入的是 EIP+1 , 恢复的时候,EIP+1弹出,从这里开始继
续执行.
关于多进程编程中fork()函数返回两次的探究
可以每个接触到多进程编程的人在遇到fork()函数的时候都会由一些
疑惑
,它怎么能返回两次?而且返回值不同。对于以前的认知大家都知道一个函数只能返回依次啊。 呵呵,这是fork的神奇所在,它为什么这么神奇?它...
Visual Studio调试技巧汇总
它具有挑战性,同时也很让人
疑惑
和烦恼。总的来说,对于稍大
一点
的程序,调试是不可避免的。最近几年,调试工具的发展让很多调试任务变的越来越简单和省时。 1 悬停鼠标查看表达式值 调试是很有挑战性的。比如在...
C语言嵌入式Linux编程第4期:
堆栈
管理
本课程是《C语言嵌入式Linux编程》第4期主要内容包括: 1)程序运行过程中
堆栈
的内存分布 2)栈初始化、大小、栈在函数调用和参数传递过程中的作用 3)栈与作用域、栈对形参和实参的管理 4)黑客栈溢出攻击原理及...
RTOS任务
堆栈
分配多大才合适?
原文链接:RTOS任务
堆栈
分配多大才合适? ...1.RTOS任务
堆栈
分配2.任务代码量3.任务代码量和
堆栈
大小有关系吗?4.
堆栈
分配多大才合适? 之前有读者问了这样一个问题:我有个任务中的代码量很多,是不是这个任务的...
arm的LDMFD--4种
堆栈
方式
我们先要理解一下关于
堆栈
的相关概念. 1,满
堆栈
:即入栈后
堆栈
指针sp指向最后一个入栈的元素。也就是sp先减一(加一)再入栈。 2,空
堆栈
:即入栈后
堆栈
指针指向最后一个入栈元素的下一个元素。也就是先入栈sp...
汇编语言
21,459
社区成员
41,600
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章