言易行难 发表于 2015-5-28 10:36:14

请问DEBUG中能查栈的数值么?

我入栈之后想查查栈的值。能查么?

ryxcaixia 发表于 2015-5-28 17:08:04

必须可以查啊
你push之后 直接
d ss:(sp)
想查哪里就查哪里, 不过sp要适当的增加或减少, 毕竟push pop 每次 sp 减2加2

言易行难 发表于 2015-5-28 17:11:11

ryxcaixia 发表于 2015-5-28 17:08
必须可以查啊
你push之后 直接
d ss:(sp)


感谢。我去试试。有点把数据和栈值搞混的冲动

ryxcaixia 发表于 2015-5-28 17:45:29

本帖最后由 ryxcaixia 于 2015-5-28 17:48 编辑

言易行难 发表于 2015-5-28 17:11
感谢。我去试试。有点把数据和栈值搞混的冲动
书上有一句话很经典
叫 栈段 数据段 代码段 完全可以重叠在一起
ss:sp 指向这里 这里就被认为是栈段
ds:指向这里 这里就被认为是数据段
CS:SP 指向这里 这里就被认为是代码段
一句话 CPU只认寄存器
b8 00 10 这个如果是在数据段 它可能代表的是 00b8h 10h这两个数值
b8 00 10 如果是在代码段 则代表 mov ax, 1000h 代表这样一条指令
还是那句话 数据和指令在内存中没有任何区别 只看寄存器的指向 CPU只任寄存器 不认数据

言易行难 发表于 2015-5-28 22:18:50

ryxcaixia 发表于 2015-5-28 17:45
书上有一句话很经典
叫 栈段 数据段 代码段 完全可以重叠在一起
ss:sp 指向这里 这里就被认为是栈段


感谢指点。给你点赞。
页: [1]
查看完整版本: 请问DEBUG中能查栈的数值么?