|
主题 : : 第九章检测题分析,欢迎指点 [待解决] |
回复[ 22次 ]
点击[ 1645次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2008-05-26 21:00 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:16
注册日期:2008-03-17 20:21 |
有如下程序段,填写2条指令,使程序在运行中将s处的一条指令复制到s0处。 1
assume segment
code segment
s: mov ax,bx
mov si,offset s
mov di,offset s0
_______________
_______________
s0: nop
nop
code ends
end s
1、 mov ax,cs:[si]
mov cs:[di],ax
2、 mov ax,cs:[di]
mov cs:[si],ax
3、 mov ax,[si]
mov [di],ax
4、 mov ax,ds:[di]
mov ds:[si],ax
注解:将s处的指令复制到s0处,就是将cs:offset s处的数据复制到cs:offset s0处,而si= offset s,di= offset s0,故选1
对于如下程序:
assume cs:code
data segment
?
data ends
code segment
start:mov ax,data
mov ds,ax
mov bx,0
jmp dword ptr [bx+2]
code ends
end start
若在指令jmp dword ptr [bx+2]执行后,要使程序再次从第一条指令开始执行,下列对data段中的数据的定义更合理的是______。 3
1、 dd 0,0,0
2、 dw 0,0,0
3、 dw 0,0,seg code
4、 dw 0,0,offset code
注解:题目要求指令jmp dword ptr [2]执行后,程序再次从第一条指令开始执行,即(cs)= (内存单元地址+2)=(ds:4), (ip)= (内存单元地址)=(ds:2,所以答案1和2都不对,至于3和4谁对谁错不知道,不过我把3和4分别带入后编译得到的结果表明3是正确答案,这里还请各位指点下。
mov cx,0
s: mov ax,bx
loop s
以上指令序列执行后mov ax,bx被执行了多少次_____。 4
1、 0
2、 256
3、 65535
4、 65536
注解:loop s执行时,先cx自减1,cx=cx-1=0-1=0+10000H-1=FFFFH,即65535,加上loop s前mov ax,bx被执行了一次,所以mov ax,bx被执行了65535+1=65536次
下列能够改变CS:IP所指位置并能通过编译的指令是______。 4
1、 jmp short [bx]
2、 jne [bx]
3、 loop byte ptr [bx]
4、 jmp [bx]
注解:jmp short后应该接标号,loop 后面也是。Jne没学过,高手指点下~,jmp [bx],即CS不变,IP=ds:[bx]
对于如下程序:
mov ax,2
mov cx,3
s: add ax,2
s1:loop s
mov di,offset s1
mov si,offset s3
mov ax,cs:[di]
mov cs:[si],ax
mov ax,1
mov cx,3
s2: add ax,2
s3: nop
nop
所有指令执行完后ax的值为_____。 2
1、 15
2、 7
3、 11
4、 3
注解:mov di,offset s1 和mov si,offset s3的作用是把S1处的LOOP S复制到S3处,由于mov ax,1指令的作用,ax最终值为1+2+2+2=7 | | |
|
|
|
|
[第1楼]
[ 回复时间:2008-05-29 09:29 ]
[引用]
[回复]
[ top ] | |
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48 |
呵呵,题都对了网站该有提示了,把不清楚的可以拿出来讨论讨论,这样发上来可能让别人偷懒了,反而害了人家;) | | |
|
|
|
|
[第2楼]
[ 回复时间:2008-05-29 22:53 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:16
注册日期:2008-03-17 20:21 |
回mess :我是希望大家都能拿出自己的观点,我个人觉得,在组织观点的同时,也是个对知识进行回顾的过程 | | |
|
|
|
|
[第3楼]
[ 回复时间:2008-05-30 10:37 ]
[引用]
[回复]
[ top ] | |
荣誉值:273
信誉值:0
注册日期:2008-01-23 20:23 |
debugkkk老兄的说法确实很对,组织知识点对于知识的掌握很有作用。
不过,mess的担心一不无道理。之多以检测题没有错误提示,就是想让每个人都好好的学习,姥姥的掌握。
有些懒惰的人,可能就会过于参照你的讲解和答案了。你不杀人,而某人却因你而亡啊。 | | |
|
|
|
|
[第4楼]
[ 回复时间:2008-06-18 20:22 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2008-06-13 17:02 |
对于如下程序:
assume cs:code
data segment
?
data ends
code segment
start:mov ax,data
mov ds,ax
mov bx,0
jmp dword ptr [bx+2]
code ends
end start
若在指令jmp dword ptr [bx+2]执行后,要使程序再次从第一条指令开始执行,下列对data段中的数据的定义更合理的是______。 3
1、 dd 0,0,0
2、 dw 0,0,0
3、 dw 0,0,seg code
4、 dw 0,0,offset code
注解:题目要求指令jmp dword ptr [2]执行后,程序再次从第一条指令开始执行,即(cs)= (内存单元地址+2)=(ds:4), (ip)= (内存单元地址)=(ds:2,所以答案1和2都不对,至于3和4谁对谁错不知道,不过我把3和4分别带入后编译得到的结果表明3是正确答案,这里还请各位指点下。
------------------
回复:
这个楼主是通过实验得知应该是seg code而不是offset code,考虑一下,这两个都表示什么呢?然后就明白了 | | |
|
|
|
|
[第5楼]
[ 回复时间:2008-10-04 15:46 ]
[引用]
[回复]
[ top ] | |
荣誉值:3
信誉值:0
注册日期:2008-08-02 09:52 |
|
|
|
|
|
[第6楼]
[ 回复时间:2008-10-17 22:17 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-01-21 11:43 |
下列能够改变CS:IP所指位置并能通过编译的指令是______。 4
1、 jmp short [bx]
2、 jne [bx]
3、 loop byte ptr [bx]
4、 jmp [bx]
注解:jmp short后应该接标号,loop 后面也是。Jne没学过,高手指点下~,jmp [bx],即CS不变,IP=ds:[bx]
此题为什么选jmp [bx] 能通过编译?为什么不加word ptr 或 dword ptr?是不是不加dword ptr就默认是dword ptr? 有人回答下吗? | | |
|
|
|
|
[第7楼]
[ 回复时间:2008-10-21 14:07 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-09-03 12:36 |
|
|
|
|
|
[第8楼]
[ 回复时间:2008-11-02 00:20 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:4
注册日期:2008-10-16 23:41 |
对于如下程序:
mov ax,2
mov cx,3
s: add ax,2
s1:loop s
mov di,offset s1
mov si,offset s3
mov ax,cs:[di]
mov cs:[si],ax
mov ax,1
mov cx,3
s2: add ax,2
s3: nop
nop
所有指令执行完后ax的值为_____。 2
1、 15
2、 7
3、 11
4、 3
注解:mov di,offset s1 和mov si,offset s3的作用是把S1处的LOOP S复制到S3处,由于mov ax,1指令的作用,ax最终值为1+2+2+2=7
这个地方答案应该是4吧.
二个LOOP共用一个CX的. | | |
|
|
|
|
[第9楼]
[ 回复时间:2008-11-02 00:22 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:4
注册日期:2008-10-16 23:41 |
看错了.我说的那个题目好像是死循环.因为前后都有mov cx,3这样一直循环下去.不可能到0的,各位高手指点一下 | | |
|
|
|
|
[第10楼]
[ 回复时间:2008-11-30 19:49 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-11-24 08:49 |
下列能够改变CS:IP所指位置并能通过编译的指令是______。
1、 jmp short [bx]
2、 jne [bx]
3、 loop byte ptr [bx]
4、 jmp [bx]
这题我不怎么明白,希望高手能指点一下 | | |
|
|
|
|
[第11楼]
[ 回复时间:2008-12-02 11:42 ]
[引用]
[回复]
[ top ] | |
荣誉值:12
信誉值:0
注册日期:2008-11-24 18:10 |
|
|
|
|
|
[第12楼]
[ 回复时间:2009-01-27 19:10 ]
[引用]
[回复]
[ top ] | |
荣誉值:12
信誉值:0
注册日期:2009-01-25 01:37 |
我认为offset code这条指令里,offset后面跟的应该是标号,而不可能是代码段的段名。。。 | | |
|
|
|
|
[第13楼]
[ 回复时间:2009-02-05 09:38 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-01-24 11:42 |
offset取偏移量的 jmp dword ptr 高位要求是段地址 | | |
|
|
|
|
[第14楼]
[ 回复时间:2009-03-03 18:01 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:5
注册日期:2008-12-18 16:07 |
1.对于指令jmp dword ptr [bx+0dh]的说法错误的是______。
1、 该指令能够实现段间转移。
2、 该指令转移的目的地址是在指令明确给出的。
3、 该指令转移的目的地址被存放在内存空间中。
4、 该指令中运用的寻址方式是寄存器相对寻址。
这个题你们没做吗?
这个谁讲讲呀? | | |
|
|
|
|
[第15楼]
[ 回复时间:2009-04-01 10:15 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2009-03-27 20:52 |
|
|
|
|
|
[第16楼]
[ 回复时间:2009-04-23 15:32 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-04-07 12:40 |
回复:[第14楼]
------------------
我认为:
1.jmp dword ptr [bx+odh],(CS)=(内存单元地址+2),(IP)=(内存单元地址),所以是可以进行段间转移的
3.[bx+odh]这样的格式明显是内存单元中的内容
4.bx就是寄存器,再加上idata=0dH,就是寄存器相对寻址 | | |
|
|
|
|
[第17楼]
[ 回复时间:2009-06-26 16:38 ]
[引用]
[回复]
[ top ] | |
荣誉值:8
信誉值:10
注册日期:2009-06-18 18:17 |
1.对于指令jmp dword ptr [bx+0dh]的说法错误的是______。
1、 该指令能够实现段间转移。
2、 该指令转移的目的地址是在指令明确给出的。
3、 该指令转移的目的地址被存放在内存空间中。
4、 该指令中运用的寻址方式是寄存器相对寻址。
其它都对的,就这个做错.晕死人,
后来发现,这个最简单,不会汇编都会做.
第2句 指令哪里明确给出地址,这个个语文理解题啊.考 | | |
|
|
|
|
[第18楼]
[ 回复时间:2009-07-08 16:49 ]
[引用]
[回复]
[ top ] | |
荣誉值:31
信誉值:3
注册日期:2009-06-15 19:20 |
|
|
|
|
|
[第19楼]
[ 回复时间:2009-07-23 17:09 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2009-06-29 14:39 |
复制过去的指令是段内短转移,指令中只有位移,楼上要再去看看书哦,复制之后并不是转移到标号s处。 | | |
|
|
|
|
[第20楼]
[ 回复时间:2009-07-23 17:46 ]
[引用]
[回复]
[ top ] | |
荣誉值:31
信誉值:3
注册日期:2009-06-15 19:20 |
哎~记得在第九章时候最注意学习的就是转移指令的实际含义~可应用时候还是会忽略。。。多谢楼上指点! | | |
|
|
|
|
[第21楼]
[ 回复时间:2009-07-29 08:55 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:3
注册日期:2009-06-08 15:13 |
offset的功能是取得标号的偏移地址,显然不能取得段地址 | | |
|
|
|
|
[第22楼]
[ 回复时间:2010-02-05 17:38 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:1
注册日期:2010-01-30 14:38 |
回复:[第6楼]
------------------
我也是在这里不知道。。 | | |