bjyfcx 发表于 2017-12-10 14:45:42

兰陵月 发表于 2017-12-2 21:06
那是个机器码或者其他数据。反正搞陀不清

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

兰陵月 发表于 2017-12-10 19:20:29

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



0672二进制表示形式为:0000 0110 0111 0010
A301二进制表示形式为:1010 0011 0000 0001
这个能与标志寄存器对上号吗?好像对不上吧?

bjyfcx 发表于 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?

兰陵月 发表于 2017-12-10 19:59:24

bjyfcx 发表于 2017-12-10 19:54
我也不知道这该怎么算,比如1、3、5到底算是1还是0?

空白全部默认为0,所以这个跟标志寄存器对不上啊

bjyfcx 发表于 2017-12-10 20:33:18

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

对了,你的栈初始化后栈顶左边的两个数是不是也不变,我的一直是A301从没变过

兰陵月 发表于 2017-12-10 20:34:41

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

我没调试过你这个程序,无从得知。

bjyfcx 发表于 2017-12-10 20:39:03

兰陵月 发表于 2017-12-10 20:34
我没调试过你这个程序,无从得知。

不会吧,如果你定义过栈段,用了debug就能看见啊,难道你不用debug?我总看见这两个数,总看着不顺眼,才总研究它{:5_109:}
页: 1 [2]
查看完整版本: 用debug查看栈顶初始化中都发生了什么,它们到底是什么?