视频汇编语言6.2
视频讲解中程序6.2栈空时栈顶指针指向cs:32,但是课本是指向cs:30,哪个是正确的呢首先,堆栈指针指向的是 ss : sp,不是 cs : sp,cs 是代码段。判断 32 还是 30 是正确的栈顶,这要看程序中设计的堆栈段空间是多大。
stack segment stack
db 32 dup(0)
stack ends
上面的例子中,为程序设计了 32 个字节的堆栈段,那么,当 sp = 32 时,便是指向栈顶了。 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吗{:10_291:} 本帖最后由 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) 时,就是指向了栈顶,这一点不要有任何怀疑,也不要跟我讲任何道理,只要能记住就已经是进步了! jackz007 发表于 2019-3-30 20:17
再次给你纠正,cs:30 这种提法是严重的概念错误,对一个程序员而言,这个错误是无法容忍的!
...
我是说堆栈指针指向代码段的地址,课本是这么写的,没和你讲道理 能不能给我一个汇编视频 的地址呀,我怎么找不到? zhenbinhe 发表于 2019-4-6 19:28
能不能给我一个汇编视频 的地址呀,我怎么找不到?
B站就可以看小甲鱼的全部视频{:10_279:}
页:
[1]