|
主题 : : 做了三次了都说有一个错误,不知道哪个错了! [待解决] |
回复[ 10次 ]
点击[ 572次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2012-04-15 19:32 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-04-10 14:50 |
能够只将al中的内容压入栈的指令序列是__3__。
1、 push al
2、 pop ax
3、 mov ah,0
push ax
4、 mov ax,0
push ax
在8086CPU系统中一个栈段的容量最大为__3__。
1、 1KB
2、 512KB
3、 64KB
4、 32GB
能够将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
下列说法正确的是:__4_
1、 数据段和代码段的段地址不能相同。
2、 指令mov ax,bx执行完后bx中的值为零。
3、 一个栈段的大小可以设为任意值。
4、 当SP=0时,再次压栈将发生栈顶超界,但压栈操作有效。
若将以1000H为段地址的整个段空间当作栈使用,那么寄存器SP的初始值最合理的设置是__4__。
1、 0000H
2、 0001H
3、 FFFFH
4、 FFFEH | | |
|
|
|
|
[第1楼]
[ 回复时间:2012-04-15 21:51 ]
[引用]
[回复]
[ top ] | |
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51 |
最后一道题做错了,再做一遍,看看还是原来的选择吗? | | |
|
|
|
|
[第2楼]
[ 回复时间:2012-04-15 22:01 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-04-10 14:50 |
感谢tomato,告知我那个错了。
栈最底部的字单元地址为1000:FFFE.要使栈为空时,即最底部的字出栈,IP=IP+2=FFFE+2=10000,因为IP 为16位寄存器,那个1是进位位,不会保存在IP 中,故IP=0000H, | | |
|
|
|
|
[第3楼]
[ 回复时间:2012-04-15 22:03 ]
[引用]
[回复]
[ top ] | |
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51 |
|
|
|
|
|
[第4楼]
[ 回复时间:2012-07-01 09:48 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2011-12-15 15:16 |
请教:
能够将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
为什么这里不选3呢?3也可以把AX的内容送到0000:0200去呀,只不过送的就是AX的值0020吧。题目并没有说不能更改AX的值啊 | | |
|
|
|
|
[第5楼]
[ 回复时间:2012-07-01 09:51 ]
[引用]
[回复]
[ top ] | |
荣誉值:30
信誉值:4
注册日期:2012-01-01 16:36 |
回复:[第4楼]
------------------
你改了,送进去还有什么意义? | | |
|
|
|
|
[第6楼]
[ 回复时间:2012-08-26 01:42 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2012-08-22 18:48 |
|
|
|
|
|
[第7楼]
[ 回复时间:2012-10-25 11:15 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-10-14 12:24 |
|
|
|
|
|
[第8楼]
[ 回复时间:2013-04-15 23:32 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2013-04-11 23:46 |
我觉得第3题也是有问题,当(sp)=0时,那栈空时(sp)=也一样为0啊 | | |
|
|
|
|
[第9楼]
[ 回复时间:2013-05-11 09:24 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2013-05-03 11:48 |
请教:
能够将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
同问,这道题选择第4个???第四个有问题吧???
第一行和第二行代码执行完毕即mov bx,20h和mov ds,bx执行完毕后,ds中的值为20h, mov bx,0后,bx为0,再执行代码mov [bx],ax不是将ax中的值放入了0200:0000处吗?
我怎么感觉这代码应该是下面这样?
mvo bx,0
mov ds,bx
mov bx,200h
mov [bx],ax
是不是我理解错了??求指点。。。。 | | |
|
|
|
|
[第10楼]
[ 回复时间:2013-05-14 09:57 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2013-05-13 16:29 |
0000:200h和0020:0000H是指向同一内存 | | |