|
主题 : : 第三关,对了四道 [待解决] |
回复[ 7次 ]
点击[ 1174次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2008-01-29 23:01 ]
[引用]
[回复]
[ top ] | |
荣誉值:10
信誉值:14
注册日期:2007-10-15 14:54 |
能够将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
----
参考别人给的思路,为了保证AX传的值的真是性,不内给AX赋值,所以,3错了
若将以1000H为段地址的整个段空间当作栈使用,那么寄存器SP的初始值最合理的设置是__4___。
1、 0000H
2、 0001H
3、 FFFFH
4、 FFFEH
----
以前回答的
---
这道题答案没把握,每次入栈SP-2,FFFE是偶数,才能减为SP为0,所以FFFF没利用到,栈最大为64K,10000H。
书上说,栈最大为64K,那么SP=0000才是合理。FFFF减到最后不是1就是-1,是排除。但是SP=0000,不就是栈空吗,所以我说是FFFEH
---
各方面总结后,觉得这题最可能是我错的地方。也许是3.
---
下列指令的书写正确的是:__3__
1、 push al
2、 mov cs:[0],ds:[10]
3、 pop si
4、 mov ds:[0],2
----
第二个听说不能内存单元直接给内存单元赋值,错。
第三个挑出的唯一毛病时,王老师,SI这个寄存器第三章还没讲的。
第四个,直接给内存单元赋值,感觉似乎具有不确定性,无法确定数据是否合法。貌似好像都需要寄存器。所以觉得是错的。
----
下列说法正确的是:__4__
1、 数据段和代码段的段地址不能相同。
2、 指令mov ax,bx执行完后bx中的值为零。
3、 一个栈段的大小可以设为任意值。
4、 当SP=0时,再次压栈将发生栈顶超界,但压栈操作有效。
---
SS:SP始终指向栈顶,为0时,表示栈空余空间为0.但压栈照样有效果!
能够只将al中的内容压入栈的指令序列是__3___。
1、 push al
2、 pop ax
3、 mov ah,0
push ax
4、 mov ax,0
push ax
-----
栈操作是字操作,一次操作2个字节入栈或出栈。1,错。
2把AH的值给压入栈了。所以错
4就特有味道了,整个清0.所以应该也不对。
3确实把AL送入栈,但也不能说他AH就没入栈。。。但貌似他最像正确答案!
PS:错德太多了,估计要等32小时才能再答题了! | | |
|
|
|
|
[第1楼]
[ 回复时间:2008-01-29 23:08 ]
[引用]
[回复]
[ top ] | |
荣誉值:10
信誉值:14
注册日期:2007-10-15 14:54 |
最新思路。
可能第2题答案是0001H
----
管他SP是否为0.压栈一样有效果。CPU也没阻止你··那么
SP为0000一样能行,那么答案可能是1
--**--**--
好嘛,1.2.3.4我都答上一遍了~ | | |
|
|
|
|
[第2楼]
[ 回复时间:2008-01-29 23:21 ]
[引用]
[回复]
[ top ] | |
荣誉值:10
信誉值:14
注册日期:2007-10-15 14:54 |
刚想到的。虽然最后SP=0才能判断满,而每次-/+2
但实际上,单元个是单数···我们定义栈时,无论如何,除去0外,设定的值在保证最后SP为零,实际上,第【0】栈根本没有利用到。应为栈操作的单元时SS:SP指向向的单元SP和SP-1
当操作到[2]时,SP-2=0而操作的单元是[2][1]【0】单元没用到。
把栈顶设置成0,一样可以用,第一次操作后,SS:FFFF和SS:0被操作了。
所以答案是:1 | | |
|
|
|
|
[第3楼]
[ 回复时间:2008-01-29 23:22 ]
[引用]
[回复]
[ top ] | |
荣誉值:10
信誉值:14
注册日期:2007-10-15 14:54 |
00
01
02
03
04
05
06
07
08
09
0a
0b
0c
0d
0e
0f
10
十个栈空间,设SP=10大家压栈8次看下··是不是00单再外面! | | |
|
|
|
|
[第4楼]
[ 回复时间:2008-08-02 11:49 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-07-31 09:43 |
当sp指向2的时候,如果再push操作,操作的单元应该是[1]和[0]吧,我认为是这样的:sp所指向的都是已经占据的,如果再push操作那就是再减去2个值,所以我认为是[1][0],不知道大家觉得如何? | | |
|
|
|
|
[第5楼]
[ 回复时间:2009-05-03 20:33 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-05-02 11:54 |
SP=0000 他的栈比较大 FFFE+2 就是0000 书上的栈小 +2是0010 答案 4 1 3 4 3 | | |
|
|
|
|
[第6楼]
[ 回复时间:2009-05-03 20:37 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-05-02 11:54 |
选FFFE 有什么意义 为什么栈里要有一个数据... 他问的肯定是栈空的情况下SP=几 | | |
|
|
|
|
[第7楼]
[ 回复时间:2009-08-19 09:37 ]
[引用]
[回复]
[ top ] | |
荣誉值:4
信誉值:2
注册日期:2009-08-16 13:20 |
|