|
主题 : : 第三章检测题 [待解决] |
回复[ 10次 ]
点击[ 715次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2009-10-12 09:22 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-09-23 15:15 |
1.能够将ax中的内容送到内存0000:0200H处的指令序列是_4___。
1、 mov ds,0
mov bx,200h
mov [bx],ax
2、 mov ax,200h
mov ds,ax
mov bx,0
mov [bx],ax
3、 mov ax,20h
mov ds,ax
mov bx,0
mov [bx],ax
4、 mov bx,20h
mov ds,bx
mov bx,0
mov [bx],ax
2.下列指令的书写正确的是:__3__
1、 push al
2、 mov cs:[0],ds:[10]
3、 pop si
4、 mov ds:[0],2
3.在8086CPU系统中一个栈段的容量最大为__3___。
1、 1KB
2、 512KB
3、 64KB
4、 32GB
4.下列说法正确的是:__4__
1、 数据段和代码段的段地址不能相同。
2、 指令mov ax,bx执行完后bx中的值为零。
3、 一个栈段的大小可以设为任意值。
4、 当SP=0时,再次压栈将发生栈顶超界,但压栈操作有效。
5.若将以1000H为段地址的整个段空间当作栈使用,那么寄存器SP的初始值最合理的
设置是___2__。
1、 0000H
2、 0001H
3、 FFFFH
4、 FFFEH
做错了,第5题应该是错了,但是不知道选什么,大家帮帮忙!
最好能解释一下根据什么选的 | | |
|
|
|
|
[第1楼]
[ 回复时间:2009-10-12 20:33 ]
[引用]
[回复]
[ top ] | |
荣誉值:1
信誉值:0
注册日期:2009-10-11 02:23 |
我也刚在学第三章,这题在课文的问题3.11中有讨论,课文的答案是0000H.你可以去翻翻看.我正在思考中,思路还没理顺!无法给你个人的见解了! | | |
|
|
|
|
[第2楼]
[ 回复时间:2009-10-13 09:07 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-09-23 15:15 |
回复:[第1楼]
------------------
谢谢您的帮助!昨天我看了,可还是没看明白,可能是我太笨了,我在继续看看 | | |
|
|
|
|
[第3楼]
[ 回复时间:2009-10-13 12:27 ]
[引用]
[回复]
[ top ] | |
荣誉值:1
信誉值:0
注册日期:2009-10-11 02:23 |
栈我门要确定其段地址,在此题的段地址是1000H,就是从10000H处的物理地址开始一个栈
10000
10001
.
.
.
1FFFF
总共64M,是一个栈的最大容量
我们需要讨论两个极限,就是满栈和空栈时的情况,毕竟编程中我们需要注意栈是否超栈
栈中只有一个数据时,栈顶是多少?将这唯一的数据出栈后,栈顶又是多少?如何设置才能避免超栈?这只是一个思考方向(注意重点:栈的容量,进出栈后栈顶的改变公式)
我是从这样的思路思考的,希望对你有帮助!
一个人我认为没有笨和聪明的分法,只要你找到了合理清晰的思路,自己就会有自己的看法,自己的理解.人们对事物的理解看法会不一样,但事物的本质是不变的!
努力吧,我也是! | | |
|
|
|
|
[第4楼]
[ 回复时间:2009-10-15 19:22 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-10-14 21:30 |
既然是整个段都当栈来用,我觉得0000H不合适。
首先,压栈是以字为单位的,两个字节,所以SP的值应该是2的倍数,所以0001H应该不对。
整个段都用作栈的话,SP应尽可能的大,所以FFFE应该差不多。 | | |
|
|
|
|
[第5楼]
[ 回复时间:2009-10-19 09:55 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-09-23 15:15 |
谢谢了,这个问题先放下了,先往后学,后面学完我在回过头来好好看下这个问题. | | |
|
|
|
|
[第6楼]
[ 回复时间:2009-10-19 19:24 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:4
注册日期:2009-09-28 22:40 |
栈空的时候SP指向有一个数据时的下一个字单元,有一个数据时SP=fffeh,下一个单元就加二,得sp=0000h | | |
|
|
|
|
[第7楼]
[ 回复时间:2009-11-06 14:12 ]
[引用]
[回复]
[ top ] | |
荣誉值:10
信誉值:4
注册日期:2009-05-30 22:14 |
既然是整个段都当栈来用,我觉得0000H不合适。
首先,压栈是以字为单位的,两个字节,所以SP的值应该是2的倍数,所以0001H应该不对。
整个段都用作栈的话,SP应尽可能的大,所以FFFE应该差不多。
------------------
回复:我觉得应该是0000H,第一个放堆栈字应该在0000H上面那个存储字,可偏移已经到顶,应该会自动跳到FFFFH开始存储吧~!存完后指针指向FFFEH.我也是新手,如有高手路过帮忙看看我的思路有没有错 | | |
|
|
|
|
[第8楼]
[ 回复时间:2009-11-06 14:15 ]
[引用]
[回复]
[ top ] | |
荣誉值:10
信誉值:4
注册日期:2009-05-30 22:14 |
对了,你们的书第几版的,我没发现有讨论栈偏移设什么值为最好一说~! | | |
|
|
|
|
[第9楼]
[ 回复时间:2010-02-19 12:29 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-02-10 10:52 |
|
|
|
|
|
[第10楼]
[ 回复时间:2010-03-20 18:12 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-01-02 17:21 |
6l's answer seemingly makes sense...... | | |