鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: bjyfcx

用debug查看栈顶初始化中都发生了什么,它们到底是什么?

[复制链接]
 楼主| 发表于 2017-12-10 14:45:42 | 显示全部楼层
兰陵月 发表于 2017-12-2 21:06
那是个机器码或者其他数据。反正搞陀不清

现在学到第十二章我似乎明白点,我的截图中的位于栈顶(栈空的时候)上面的的那个A301应该是标志寄存器中的数据,但怎么是这个数还没搞明白,在学中断的时候,当调用中断时会自动压入调用指令下一条指令的偏移地址、段地址和标志寄存器的内容,我发现我的新压入的标志寄存器的内容变成0672,弹出后又恢复成A301了,我猜多半就是标志寄存器里面的内容,但不知道怎么算出来的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-10 19:20:29 | 显示全部楼层
bjyfcx 发表于 2017-12-10 14:45
现在学到第十二章我似乎明白点,我的截图中的位于栈顶(栈空的时候)上面的的那个A301应该是标志寄存器中 ...


000.png

0672二进制表示形式为:0000 0110 0111 0010
A301二进制表示形式为:1010 0011 0000 0001
这个能与标志寄存器对上号吗?好像对不上吧?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-10 19:54:37 | 显示全部楼层
兰陵月 发表于 2017-12-10 19:20
0672二进制表示形式为:0000 0110 0111 0010
A301二进制表示形式为:1010 0011 0000 0001
这个能 ...

我也不知道这该怎么算,比如1、3、5到底算是1还是0?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-10 19:59:24 | 显示全部楼层
bjyfcx 发表于 2017-12-10 19:54
我也不知道这该怎么算,比如1、3、5到底算是1还是0?


空白全部默认为0,所以这个跟标志寄存器对不上啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-10 20:33:18 | 显示全部楼层
兰陵月 发表于 2017-12-10 19:59
空白全部默认为0,所以这个跟标志寄存器对不上啊

对了,你的栈初始化后栈顶左边的两个数是不是也不变,我的一直是A301从没变过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-10 20:34:41 | 显示全部楼层
bjyfcx 发表于 2017-12-10 20:33
对了,你的栈初始化后栈顶左边的两个数是不是也不变,我的一直是A301从没变过

我没调试过你这个程序,无从得知。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-10 20:39:03 | 显示全部楼层
兰陵月 发表于 2017-12-10 20:34
我没调试过你这个程序,无从得知。

不会吧,如果你定义过栈段,用了debug就能看见啊,难道你不用debug?我总看见这两个数,总看着不顺眼,才总研究它
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 19:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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