|
主题 : : 选择哪个是正确的 请说明原因 [已解决] |
回复[ 9次 ]
点击[ 320次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2009-08-28 15:46 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:4
注册日期:2009-08-18 09:46 |
1、 数据段和代码段的段地址不能相同。
2、 指令mov ax,bx执行完后bx中的值为零。
3、 一个栈段的大小可以设为任意值。
4、 当SP=0时,再次压栈将发生栈顶超界,但压栈操作有效。 | | |
|
|
|
|
[第1楼]
[ 回复时间:2009-08-28 15:55 ]
[引用]
[回复]
[ top ] | |
荣誉值:169
信誉值:0
注册日期:2008-08-19 16:07 |
楼主为什么不先说说自己的看法呢?和相应的依据。
别人说一下不难,而是正确的分析问题是方法是要“自己”先分析,提出自己的疑惑,大家在讨论。 | | |
|
|
|
|
[第2楼]
[ 回复时间:2009-08-28 17:36 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:4
注册日期:2009-08-18 09:46 |
好吧 我先抛砖
1,我实验了下,其实一开始 debug 输 r的时候 他们就相同的
2,bx的值不变
3,大小 最大是64k 最小是 1个字
4,看过去好像是对的 但我举个列子 ss=1000h,这个栈的空间为64k,那么当这个栈为空时,sp也是等于0,这样好像就不会发生超界
以上就是我的看法 ,大家有什么不同的见解请说 | | |
|
|
|
|
[第3楼]
[ 回复时间:2009-08-28 23:25 ]
[引用]
[回复]
[ top ] | |
荣誉值:15
信誉值:0
注册日期:2009-07-08 20:35 |
楼主,第四个是错的,至于你的解释是不对的,栈只是我们编程时的一种安排而已,所以那个超界也是对于我们的编程目的而言的,其实CPU并不存在栈超界的问题,它只会按我们的指令办事,目前还没有哪个CPU智能到识别栈顶超界,也许在下一代可以吧 | | |
|
|
|
|
[第4楼]
[ 回复时间:2009-08-28 23:32 ]
[引用]
[回复]
[ top ] | |
荣誉值:15
信誉值:0
注册日期:2009-07-08 20:35 |
补充下,当SP为0时,再执行POP时,栈顶会指向0FFF:FFFF | | |
|
|
|
|
[第5楼]
[ 回复时间:2009-08-29 19:37 ]
[引用]
[回复]
[ top ] | |
荣誉值:188
信誉值:4
注册日期:2009-07-05 19:26 |
|
|
|
|
|
[第6楼]
[ 回复时间:2009-08-31 09:12 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:4
注册日期:2009-08-18 09:46 |
|
|
|
|
|
[第7楼]
[ 回复时间:2009-08-31 09:20 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:4
注册日期:2009-08-18 09:46 |
补充问题
若将以1000H为段地址的整个段空间当作栈使用,那么寄存器SP的初始值最合理的设置是_____。
1、 0000H
2、 0001H
3、 FFFFH
4、 FFFEH
这个是选1吗 | | |
|
|
|
|
[第8楼]
[ 回复时间:2009-08-31 10:44 ]
[引用]
[回复]
[ top ] | |
荣誉值:16
信誉值:0
注册日期:2008-10-12 13:46 |
|
|
|
|
|
[第9楼]
[ 回复时间:2009-09-01 09:21 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:4
注册日期:2009-08-18 09:46 |
此贴由 贴主 于 [ 2009-09-01 09:21 ] 结贴。 结贴原因:问题已解决 | | |