鱼C论坛

 找回密码
 立即注册
查看: 2779|回复: 6

视频汇编语言6.2

[复制链接]
发表于 2019-3-29 21:02:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
视频讲解中程序6.2栈空时栈顶指针指向cs:32,但是课本是指向cs:30,哪个是正确的呢

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

使用道具 举报

发表于 2019-3-29 21:17:07 | 显示全部楼层
        首先,堆栈指针指向的是 ss : sp,不是 cs : sp,cs 是代码段。判断 32 还是 30 是正确的栈顶,这要看程序中设计的堆栈段空间是多大。
  1. stack segment stack
  2.     db 32 dup(0)
  3. stack ends
复制代码

        上面的例子中,为程序设计了 32 个字节的堆栈段,那么,当 sp = 32 时,便是指向栈顶了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2019-3-30 17:10:41 | 显示全部楼层
jackz007 发表于 2019-3-29 21:17
首先,堆栈指针指向的是 ss : sp,不是 cs : sp,cs 是代码段。判断 32 还是 30 是正确的栈顶,这 ...

课本程序6.3中mov sp,30h 设置栈顶ss:sp指向cs:30,但是前面定义的是24个数据一共48个字节,对应16进制是30h,可是栈空时栈顶不应该是30h+2=32h也就是ss:sp不应该是指向cs:32h吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-30 20:17:02 | 显示全部楼层
本帖最后由 jackz007 于 2019-3-30 20:22 编辑
胡同学 发表于 2019-3-30 17:10
课本程序6.3中mov sp,30h 设置栈顶ss:sp指向cs:30,但是前面定义的是24个数据一共48个字节,对应16进制是 ...


        再次给你纠正,cs:30 这种提法是严重的概念错误,对一个程序员而言,这个错误是无法容忍的!

        如果堆栈定义了 48 个字节,那么,sp 等于 48 (30h) 时,就是指向了栈顶,这一点不要有任何怀疑,也不要跟我讲任何道理,只要能记住就已经是进步了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-4-2 15:32:49 | 显示全部楼层
jackz007 发表于 2019-3-30 20:17
再次给你纠正,cs:30 这种提法是严重的概念错误,对一个程序员而言,这个错误是无法容忍的!
...

我是说堆栈指针指向代码段的地址,课本是这么写的,没和你讲道理
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-6 19:28:51 | 显示全部楼层
能不能给我一个汇编视频 的地址呀,我怎么找不到?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-4-10 23:02:20 | 显示全部楼层
zhenbinhe 发表于 2019-4-6 19:28
能不能给我一个汇编视频 的地址呀,我怎么找不到?

B站就可以看小甲鱼的全部视频
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-28 01:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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