鱼C论坛

 找回密码
 立即注册
查看: 1891|回复: 10

汇编 栈的问题

[复制链接]
发表于 2013-3-3 00:17:22 | 显示全部楼层 |阅读模式
5鱼币
   今天看了小甲鱼老师汇编视频,讲到有关栈的问题,提出了两个疑惑,可是看完视频到最后都好像没有解答耶。。。
到底 cpu如何知道哪段空间是当作栈来使用,如何确定哪个单元是栈顶?是不是cpu也没办法确定啊?!求各位大神抽空解答,谢谢~~~

最佳答案

查看完整内容

把哪里当做栈是程序员,也就是我们来定的不是电脑定的。只要你把ss:sp指向哪里,哪里就算栈,栈顶和栈空的问题,要看你是入栈还是出栈,多看看书理解吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-3-3 00:17:23 | 显示全部楼层
把哪里当做栈是程序员,也就是我们来定的不是电脑定的。只要你把ss:sp指向哪里,哪里就算栈,栈顶和栈空的问题,要看你是入栈还是出栈,多看看书理解吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-3-3 00:18:17 | 显示全部楼层
我去,没鱼币了,自顶一下。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-3-3 00:24:11 | 显示全部楼层
求大神赐教啊,,,再次自顶
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-3-3 01:08:12 | 显示全部楼层
:Q:Q:Q:Q:Q:Q求解答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-3-3 02:22:43 | 显示全部楼层
我也是菜鸟~我的理解是~栈的大小就是偏移地址的大小~栈顶 就是当前 SS:SP
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-3-3 09:42:12 | 显示全部楼层
俺的理解是:SP的顶就是栈顶。SP的底就是栈底。SS定义了栈的大小。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-3-3 10:03:23 | 显示全部楼层
不对。觉得应该这样理解。菩提本无树,明镜亦非台 。你定义了多少就是多少?没定义就没有。

但:但最大时SP的顶就是栈顶。SP的底就是栈底。SS定义了栈的大小。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-3-3 10:12:24 | 显示全部楼层
本帖最后由 L]V[G 于 2013-3-3 12:06 编辑

1 栈:如果你没有在程序中指明,这是cpu自行分配的,是按照一定的规律来分配的,不同的机器,都不同
2 栈顶或者栈底:书上说了,如果栈里没有push任何数据,栈是空的,sp = 0,如果你传送了数据,那么就有一个栈顶,这是你创造出来的。
3 cpu只知道一段栈段的大小是64K,有一定的默认性和规律性,至于是什么,我也不清楚,这是cpu的设计者指定的。至于哪里是栈,哪里是栈顶,哪里是栈底,你可以修改,要看你对它“做了什么”。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-3-3 10:13:46 | 显示全部楼层
本帖最后由 183560656 于 2013-3-3 10:15 编辑

额   cpu不知道的哦   是我们自己决定的   你可以吧 ss 和ip 指向 0000:0070h 然后把DS 指向0000    然后入栈   再修改ds:[006eh]的值  再出栈看看是你原来入栈的值还是修改后的值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-3-3 17:41:52 | 显示全部楼层
谢谢,谢谢各位大神啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 00:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表