|
主题 : : 第2章汇编测试题目,请给出答案 [待解决] |
回复[ 67次 ]
点击[ 4819次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2007-10-23 13:29 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2007-10-10 19:41 |
共5道单选题目
mov ax,936aH
mov bx,79b8H
add al,bl
指令执行后AX中的数据是:____
1、 1c22H
2、 9322H
3、 9422H
4、 1d22H
在DEBUG中,____选项中的命令可以修改内存单元的内容
1、 a
2、 d
3、 t
4、 u
下列关于8086CPU的工作原理的描述错误的是_____。
1、 汇编程序员可以通过对各种寄存器中内容的修改实现对CPU的控制。
2、 CPU在访问内存时,采用“段地址*16+偏移地址”的形式给出要访问的内存单元的物理地址。
3、 任意时刻,CS:IP指向的内容即是此刻CPU正在执行的指令。
4、 传送指令能够更改所有通用寄存器的内容。
mov ax,936aH
mov bx,79b8H
add ax,bx
指令执行后AX中的数据是:____
1、 1c22H
2、 0c22H
3、 0d22H
4、 1d22H
下面哪个是错误的指令_____
1、 mov ax,bx
2、 add al,0f5H
3、 mov al,bh
4、 add al,100H | | |
|
|
|
|
[第1楼]
[ 回复时间:2007-10-23 18:08 ]
[引用]
[回复]
[ top ] | |
荣誉值:10
信誉值:6
注册日期:2007-10-20 14:34 |
|
|
|
|
|
[第2楼]
[ 回复时间:2007-10-24 10:03 ]
[引用]
[回复]
[ top ] | |
荣誉值:106
信誉值:0
注册日期:2007-06-26 15:10 |
|
|
|
|
|
[第3楼]
[ 回复时间:2007-10-25 22:46 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2007-10-03 16:06 |
第一题,注意高低字节.第二题看书慢慢想吧!第三题 指令缓冲器,执行控制器 | | |
|
|
|
|
[第4楼]
[ 回复时间:2007-10-25 22:48 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2007-10-03 16:06 |
第三题,第四题再仔细看书就可以做出正确的答案..... | | |
|
|
|
|
[第5楼]
[ 回复时间:2007-10-29 10:35 ]
[引用]
[回复]
[ top ] | |
荣誉值:117
信誉值:2
注册日期:2007-09-04 10:41 |
|
|
|
|
|
[第6楼]
[ 回复时间:2007-10-29 10:48 ]
[引用]
[回复]
[ top ] | |
荣誉值:117
信誉值:2
注册日期:2007-09-04 10:41 |
|
|
|
|
|
[第7楼]
[ 回复时间:2007-10-30 09:41 ]
[引用]
[回复]
[ top ] | |
荣誉值:106
信誉值:0
注册日期:2007-06-26 15:10 |
|
|
|
|
|
[第8楼]
[ 回复时间:2007-10-30 13:18 ]
[引用]
[回复]
[ top ] | |
荣誉值:19
信誉值:0
注册日期:2007-07-05 17:25 |
不劳而获啊!!
把自自己的答案贴出来讨论可以。怎么能直接要答案啊。那做这个题还有什么价值啊!! | | |
|
|
|
|
[第9楼]
[ 回复时间:2007-11-10 21:53 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2007-10-29 00:15 |
第一2
第二1
第三3
第四2
第五3
做得不请指教
第二道题有点疑问
?高手指点 | | |
|
|
|
|
[第10楼]
[ 回复时间:2007-11-20 20:40 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2007-09-30 10:56 |
第一2
第二1
第三3
第四2
第五3
做得不请指教
第二道题有点疑问
?高手指点
------------------
回复:a 命令可以进入debug中写入汇编程序,自然可以改变内存中的值。 | | |
|
|
|
|
[第11楼]
[ 回复时间:2007-11-21 13:21 ]
[引用]
[回复]
[ top ] | |
荣誉值:472
信誉值:12
注册日期:2007-10-16 15:34 |
mov ax,936aH
mov bx,79b8H
add al,bl
指令执行后AX中的数据是:____
1、 1c22H
2、 9322H
3、 9422H
4、 1d22H
-----------
第一题一定选2,既然是al,bl相加,那么一定不影响ah,则答案肯定是93**h,所以不算也只能选2。
第二题如楼上所说一定选1,a指令。
------------------------
后面的等别的兄弟吧~_~ | | |
|
|
|
|
[第12楼]
[ 回复时间:2007-11-26 19:36 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2007-11-25 22:11 |
|
|
|
|
|
[第13楼]
[ 回复时间:2007-11-27 16:15 ]
[引用]
[回复]
[ top ] | |
荣誉值:117
信誉值:2
注册日期:2007-09-04 10:41 |
下面哪个是错误的指令_____
1、 mov ax,bx
2、 add al,0f5H
3、 mov al,bh
4、 add al,100H
-----------------
同意楼上观点,最后一道题选4。
al是8位的,100h大于8位了,况且其它三个都没有问题。
哪怕是把3写成mov al,0bh也是正确的;-) | | |
|
|
|
|
[第14楼]
[ 回复时间:2007-11-27 16:19 ]
[引用]
[回复]
[ top ] | |
荣誉值:117
信誉值:2
注册日期:2007-09-04 10:41 |
下列关于8086CPU的工作原理的描述错误的是_____。
1、 汇编程序员可以通过对各种寄存器中内容的修改实现对CPU的控制。
2、 CPU在访问内存时,采用“段地址*16+偏移地址”的形式给出要访问的内存单元的物理地址。
3、 任意时刻,CS:IP指向的内容即是此刻CPU正在执行的指令。
4、 传送指令能够更改所有通用寄存器的内容。
----------------------
这个题我觉得是3错了。
cpu执行指令时,cs,ip指向下一条指令,书上有。 | | |
|
|
|
|
[第15楼]
[ 回复时间:2007-11-28 21:38 ]
[引用]
[回复]
[ top ] | |
荣誉值:1
信誉值:0
注册日期:2007-11-28 19:00 |
第四题怎么会选二呢,我认选三吧,0d22h书上不是说AX计算时候可进位的吗,新手,期待解答! | | |
|
|
|
|
[第16楼]
[ 回复时间:2007-11-29 08:05 ]
[引用]
[回复]
[ top ] | |
荣誉值:50
信誉值:0
注册日期:2007-11-27 20:05 |
mov ax,936aH
mov bx,79b8H
add ax,bx
指令执行后AX中的数据是:____
1、 1c22H
2、 0c22H
3、 0d22H
4、 1d22H
---------------------
支持楼上,我也觉的选三,既然是以ax单位运算的,那么在ax内部运算是可以随便进位的,超出了16位的才舍弃,所以我觉得答案是三。
还没有做检测题,先来看看题,到时候好过~_~" | | |
|
|
|
|
[第17楼]
[ 回复时间:2007-12-01 15:41 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2007-11-26 06:48 |
|
|
|
|
|
[第18楼]
[ 回复时间:2007-12-05 08:41 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2007-11-23 08:44 |
|
|
|
|
|
[第19楼]
[ 回复时间:2007-12-05 09:15 ]
[引用]
[回复]
[ top ] | |
荣誉值:50
信誉值:0
注册日期:2007-07-08 09:33 |
下列关于8086CPU的工作原理的描述错误的是_____。
1、 汇编程序员可以通过对各种寄存器中内容的修改实现对CPU的控制。
2、 CPU在访问内存时,采用“段地址*16+偏移地址”的形式给出要访问的内存单元的物理地址。
3、 任意时刻,CS:IP指向的内容即是此刻CPU正在执行的指令。
4、 传送指令能够更改所有通用寄存器的内容。
------------------
看了看,上面是两个答案,对错的争论只在这个题上。
我觉得只给出答案没有什么意义,说出对错的理由来大家才能讨论。对错的原因是越辨越明白的~
3、 任意时刻,CS:IP指向的内容即是此刻CPU正在执行的指令。
=========
CS:IP指向的内容是CPU当作指令执行的内容,那是不是此刻执行的呢?
我觉得有两个小问题:1.cs、ip什么时候发生的变化?2.指令是什么时候执行的?在ip执行指令前还是之后?
CPU执行指令的过程是什么呢?得到地址,得到数据,执行运算等等这些操作的先后顺序是什么。
4、 传送指令能够更改所有通用寄存器的内容。
==========
传动指令是什么?
通用寄存器又是有那些呢? | | |
|
|
|
|
[第20楼]
[ 回复时间:2007-12-13 11:05 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:2
注册日期:2007-12-10 14:26 |
下列关于8086CPU的工作原理的描述错误的是_____。
1、 汇编程序员可以通过对各种寄存器中内容的修改实现对CPU的控制。
2、 CPU在访问内存时,采用“段地址*16+偏移地址”的形式给出要访问的内存单元的物理地址。
3、 任意时刻,CS:IP指向的内容即是此刻CPU正在执行的指令。
4、 传送指令能够更改所有通用寄存器的内容。
3没有问题
------
在cpu取出当前CS:IP指向的指令以后,该指令被送到指令缓冲器,IP值增加。简单的说就是取出当前指令以
后,该指令执行之前,IP的值增加。
------
CPU正在执行的指令并不是CS:IP当前指向的指令,而是上一条指令,因为在指令进入指令缓冲器的时候,IP
的值增加指向下一条指令,但是刚取出的指令还在缓冲器中没有得到执行。 | | |
|
|
|
|
[第21楼]
[ 回复时间:2007-12-13 11:07 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:2
注册日期:2007-12-10 14:26 |
上面的那个题目选3是没有问题的,3就是错误的判断。
我还有一个疑问:
当前指令的执行和取下一条指令是不是同时进行的?书上没有对这个做出说明。
请高手解答 | | |
|
|
|
|
[第22楼]
[ 回复时间:2007-12-13 17:06 ]
[引用]
[回复]
[ top ] | |
荣誉值:50
信誉值:0
注册日期:2007-11-27 20:05 |
当前指令的执行和取下一条指令是不是同时进行的?书上没有对这个做出说明。
----------------
我觉得不是,计算机应该是串行的,不能同时做多个。
应该是先读取,然后设置ip,然后在执行,然后在读取,进入循环了。 | | |
|
|
|
|
[第23楼]
[ 回复时间:2007-12-13 17:07 ]
[引用]
[回复]
[ top ] | |
荣誉值:50
信誉值:0
注册日期:2007-11-27 20:05 |
|
|
|
|
|
[第24楼]
[ 回复时间:2007-12-25 18:24 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2007-12-17 16:58 |
我觉得是有两个器件,一个用来读取指令,一个用来执行指令. | | |
|
|
|
|
[第25楼]
[ 回复时间:2008-01-02 12:40 ]
[引用]
[回复]
[ top ] | |
荣誉值:1
信誉值:6
注册日期:2007-11-14 11:28 |
下列关于8086CPU的工作原理的描述错误的是_____。
1、 汇编程序员可以通过对各种寄存器中内容的修改实现对CPU的控制。
2、 CPU在访问内存时,采用“段地址*16+偏移地址”的形式给出要访问的内存单元的物理地址。
3、 任意时刻,CS:IP指向的内容即是此刻CPU正在执行的指令。
4、 传送指令能够更改所有通用寄存器的内容。
----------------------
3 应该有问题吧.我看书上说的,ip指向的内容应该是下一条指令吧.
4的传送指令(包括mov lea等等)能够更改所有通用寄存器(ax,bx,cx,dx)的内容,应该是对的 | | |
|
|
|
|
[第26楼]
[ 回复时间:2008-01-23 10:39 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-01-11 10:54 |
我的答案是 2,1,3,3,4,对于有争议的第3和第5题做个说明:
任意时刻,CS:IP指向的内容应该为CPU下一时刻要执行的指令,传送命令可以更改所有通用寄存器的内容是正确的。
下面哪个是错误的指令_____
1、 mov ax,bx
2、 add al,0f5H
3、 mov al,bh
4、 add al,100H
很明显,add al,100H是错误的,因为 al是8位寄存器,而100H已经超过8位的最大值,而add al,0f5H是对的。 | | |
|
|
|
|
[第27楼]
[ 回复时间:2008-01-25 10:10 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:8
注册日期:2008-01-12 11:13 |
|
|
|
|
|
[第28楼]
[ 回复时间:2008-02-20 15:06 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:18
注册日期:2008-02-20 10:20 |
|
|
|
|
|
[第29楼]
[ 回复时间:2008-04-01 22:32 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:16
注册日期:2008-03-17 20:21 |
答案本身毫无意义,只有失败才能让你领悟汇编语言的真谛。 | | |
|
|
|
|
[第30楼]
[ 回复时间:2008-04-13 16:28 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:4
注册日期:2008-04-12 00:20 |
|
|
|
|
|
[第31楼]
[ 回复时间:2008-04-26 16:21 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-04-26 11:38 |
|
|
|
|
|
[第32楼]
[ 回复时间:2008-04-26 16:56 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-04-15 20:36 |
|
|
|
|
|
[第33楼]
[ 回复时间:2008-04-26 17:04 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-04-15 20:36 |
|
|
|
|
|
[第34楼]
[ 回复时间:2008-04-28 17:14 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-04-27 16:45 |
|
|
|
|
|
[第35楼]
[ 回复时间:2008-05-01 12:42 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-05-01 12:20 |
我的答案是21434 第三题里面的任何时刻是错误的。你可以在dos里面运行一个程序然后在debug下用r命令和t或p命令进行观察,此时的ip显示的确实当前知行指令的ip地址 | | |
|
|
|
|
[第36楼]
[ 回复时间:2008-05-08 18:19 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-05-06 20:24 |
我的答案是2 1 4 3 4。看了楼上的回答发现争议主要在第三题。第三题前三个答案都是对的,第一个答案可以参考P13;第二个答案可以参考P19-20;第三个答案可以参考P33的小结。而第四个答案是错的。因为寄存器包括CS和IP(参看P13),但是传送指令不能改变CS和IP(参看P31),只有jmp等转移指令才能改变CS和IP。这是我的理解。有不对的地方,欢迎批评指正。 | | |
|
|
|
|
[第37楼]
[ 回复时间:2008-05-09 18:06 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-05-08 13:43 |
楼上的好像没看清题目,题目所说的是通用寄存器,不包括CS和IP,不怕大家笑话,我做第二的检测题都错了10多次了! | | |
|
|
|
|
[第38楼]
[ 回复时间:2008-05-10 00:44 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-05-10 00:20 |
mov ax,936aH
mov bx,79b8H
add ax,bx
指令执行后AX中的数据是:____
1、 1c22H
2、 0c22H
3、 0d22H
4、 1d22H
------------------
如果不考虑溢出问题,结果是10d22H,但是由于ax是16位的寄存器,因此,最高位的1无法存储,因此结果是0d22H,选3。计算依据:《汇编语言》王爽,p16,chapter2.3中提到的问题2.1就是这个题目的翻版。(ax = bx = 8226H,add ax,bx ;->ax = 044cH) | | |
|
|
|
|
[第39楼]
[ 回复时间:2008-05-13 19:09 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-04-16 14:02 |
|
|
|
|
|
[第40楼]
[ 回复时间:2008-05-16 01:21 ]
[引用]
[回复]
[ top ] | |
荣誉值:6
信誉值:0
注册日期:2008-05-13 20:29 |
唉。我也做错了第三题。现在看到25楼说的。我突然明白了。。
任何时刻。。这个词说错了。。。。。
当指令存到指令缓存器中后。IP就+上此长度去寻找下一个指令了。而此时存到指令缓存器中的指令正在执行。。。。
受教了。。。。。。想的不够深哇。。。。。 | | |
|
|
|
|
[第41楼]
[ 回复时间:2008-05-17 23:20 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-05-11 13:33 |
|
|
|
|
|
[第42楼]
[ 回复时间:2008-05-23 19:18 ]
[引用]
[回复]
[ top ] | |
荣誉值:3
信誉值:4
注册日期:2008-05-23 05:44 |
其实管理员把这个贴加荐是为了让学习者明白,学汇编不是为了答案.而是为了在学习的过程中去了解和理解PC的工作原理及机制.看到楼上的几位兄弟都在讨论答案有什么意思呢?能让楼主知道为什么会是这个答案吗? | | |
|
|
|
|
[第43楼]
[ 回复时间:2008-07-22 21:24 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-07-20 18:33 |
我也做错了。不过同意21334这个答案。如果有同学觉得不对,把p33的小结第3点看看就好。 | | |
|
|
|
|
[第44楼]
[ 回复时间:2008-07-22 21:34 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-07-20 18:33 |
|
|
|
|
|
[第45楼]
[ 回复时间:2008-07-25 17:00 ]
[引用]
[回复]
[ top ] | |
荣誉值:6
信誉值:0
注册日期:2008-07-25 14:24 |
不是翻版吧,ax = bx = 8226H,add ax,bx ;->ax = 044cH 这个AL+BL没有进位,
但是下面这个就有进位
mov ax,936aH
mov bx,79b8H
add ax,bx
指令执行后AX中的数据是:____
1、 1c22H
2、 0c22H
3、 0d22H
4、 1d22H
我觉得答案应该是2吧,进位CF应该只是指8位相加时的进位吧!
啰嗦半天,哪位兄弟debug看一下啊。。。。 | | |
|
|
|
|
[第46楼]
[ 回复时间:2008-07-27 12:15 ]
[引用]
[回复]
[ top ] | |
荣誉值:5
信誉值:3
注册日期:2008-07-14 19:30 |
争论主要在第三题!!
看了CS:IP执行流程图,就好多了.
其中有一个图就是,执行控制器正在执行开始的2000:0000单元的时候,但此时的CS:IP却是2000:0003,
故第三题的"任何时候"就有问题了,
所以认为第三题的3 是错了
有不同意见大胆来提........... | | |
|
|
|
|
[第47楼]
[ 回复时间:2008-08-20 23:13 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-08-10 00:01 |
|
|
|
|
|
[第48楼]
[ 回复时间:2008-08-31 14:09 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-08-18 10:34 |
|
|
|
|
|
[第49楼]
[ 回复时间:2008-09-11 21:45 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2007-10-31 09:51 |
用DEBUG调试过了.
第一题是2,第四题是3.
但是第五题,试着输入第二和第四选择项的命令,均提示错误,求解? | | |
|
|
|
|
[第50楼]
[ 回复时间:2008-09-23 13:01 ]
[引用]
[回复]
[ top ] | |
荣誉值:4
信誉值:0
注册日期:2008-03-20 18:42 |
mov ax,936aH
mov bx,79b8H
add al,bl
指令执行后AX中的数据是:____
1、 1c22H
2、 9322H
3、 9422H
4、 1d22H
AH=93H AL=6AH
BH=79H BL=B8H
AL+BL=122H
由于AL只是8位寄存器,只能8个二进制数字(4个二进制数字相当于一个十进制数字),所以最高位的1舍去,得到了新的AL=22H
新AX=9322H
在DEBUG中,____选项中的命令可以修改内存单元的内容
1、 a
2、 d
3、 t
4、 u
这个了解其中的命令代表的含义就明白了
A命令:以汇编指令的格式在内存中写入一条机器指令
D命令:查看内存中的内容(D 段地址:偏移地址)(d 段地址:起始偏移地址 结尾偏移地址)
T命令:执行一条机器指令
U命令:将内存中的机器指令翻译成汇编指令
下列关于8086CPU的工作原理的描述错误的是_____。
1、 汇编程序员可以通过对各种寄存器中内容的修改实现对CPU的控制。
2、 CPU在访问内存时,采用“段地址*16+偏移地址”的形式给出要访问的内存单元的物理地址。
3、 任意时刻,CS:IP指向的内容即是此刻CPU正在执行的指令。
4、 传送指令能够更改所有通用寄存器的内容。
1:汇编程序员可以通过对各种寄存器中内容的修改实现对CPU的控制
2.11节的第一段
2:CPU在访问内存时,采用“段地址*16+偏移地址”的形式给出要访问的内存单元的物理地址。
物理地址=基础地址(段地址*16)+偏移地址
3:任意时刻,CS:IP指向的内容即是此刻CPU正在执行的指令。
CS:IP指向的是下一条将执行的指令.
4、 传送指令能够更改所有通用寄存器的内容。
MOV不能改变CS,IP的值,但二者并不是通用寄存器
mov ax,936aH
mov bx,79b8H
add ax,bx
指令执行后AX中的数据是:____
1、 1c22H
2、 0c22H
3、 0d22H
4、 1d22H
直接AX+BX=10D22
AX是16位寄存器,所以只能存放4位16进制.第一位1舍去
得到0D22H
下面哪个是错误的指令_____
1、 mov ax,bx
2、 add al,0f5H
3、 mov al,bh
4、 add al,100H
明显第四个..AL只是8位寄存器,只能存放二位16进制数字.. | | |
|
|
|
|
[第51楼]
[ 回复时间:2008-09-23 15:34 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:8
注册日期:2008-09-15 09:10 |
2 1 3 3 4
书上有写到CPU的工作过程,简单的说就是先读取指令,再修改IP,接着执行指令,重复这个过程 | | |
|
|
|
|
[第52楼]
[ 回复时间:2008-09-30 13:19 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-09-29 08:35 |
都是强人,我刚做完,错了2,书看千遍,我还是看的不够受教了 | | |
|
|
|
|
[第53楼]
[ 回复时间:2008-10-03 09:35 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-07-25 07:46 |
|
|
|
|
|
[第54楼]
[ 回复时间:2008-10-03 09:46 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-07-25 07:46 |
正确答案为2 1 3 3 4 上面不同的都是错的 请回去看书````````` | | |
|
|
|
|
[第55楼]
[ 回复时间:2008-10-06 10:29 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-04-24 12:11 |
本以为第二章一定跟第一章一样,一次就能轻易通过,而且自以为已经学到第十章了,但昨天才发现可以网上做检测题。没有想到,这一章三次都是五题错二题。
共5道单选题目
1,16位结构的CPU 不一定具备的特性是:____
1、 运算器一次最多可以处理16位的数据
2、 寄存器的最大宽度为16位
3、 寄存器和运算器之间的通路为16位
4、 地址总线为16根
答:4
2,下列说法中正确的是:____
1、 8086CPU采用“段地址*16+偏移地址=物理地址”的寻址模式,所以内存是由一个一个的段组成,每
一个段有一个段地址。
2、 物理地址为ffff0H的内存单元的偏移地址可能为ffffH。
3、 一个段的大小可以是8Byte。
4、 在一段没有任何跳转指令的程序中,超出64K的部分将不会被执行。
答:2 (可能应该答4)
3,在DEBUG中,____选项中的命令可以修改内存单元的内容
1、 a
2、 d
3、 t
4、 u
答1
4, mov ax,936aH
mov bx,79b8H
add ax,bx
指令执行后AX中的数据是:____
1、 1c22H
2、 0c22H
3、 0d22H
4、 1d22H
答 3
5,下列关于8086CPU的工作原理的描述错误的是_____。
1、 汇编程序员可以通过对各种寄存器中内容的修改实现对CPU的控制。 P13
2、 CPU在访问内存时,采用“段地址*16+偏移地址”的形式给出要访问的内存单元的物理地址。
3、 任意时刻,CS:IP指向的内容即是此刻CPU正在执行的指令。
4、 传送指令能够更改所有通用寄存器的内容。
答2 (应该答3,书上原话为:“CS:IP,是CPU当前要读取指令的地址。”“任意时刻,CPU将CS:IP指向的内容当作指令执行。”就是因为这一句,我就连续三次没有选这一项。以为是对的,虽然别的也觉得是对的,但硬不选这一项。但根据流程图,就知道如楼上几位所说的,CS:IP指向的是下一条将执行的指令。CPU正在执行的指令并不是CS:IP当前指向的指令,而是上一条指令,因为在指令进入指令缓冲器的时候,IP的值增加指向下一条指令,但是刚取出的指令还在缓冲器中没有得到执行。)
前二次后悔没有把题目记下来,这一次复制下来了。原来问题就是第5题,也是本贴讨论最多的一项。谢谢各位,受教了。 | | |
|
|
|
|
[第56楼]
[ 回复时间:2008-10-06 10:33 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-04-24 12:11 |
第2题条错,是因为看错题目了,正好把意思搞反了。通过计算知道第二项不可能,反而就选了它。
(如果偏移地址为FFFFH的话,则段地址为:FFFF0H-FFFFH=EFFF1H,这不是16的倍数,所以不可能。) | | |
|
|
|
|
[第57楼]
[ 回复时间:2008-10-07 21:08 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:4
注册日期:2008-10-07 20:50 |
|
|
|
|
|
[第58楼]
[ 回复时间:2008-10-12 12:14 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-09-15 21:00 |
|
|
|
|
|
[第59楼]
[ 回复时间:2018-03-21 09:46 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2018-02-01 09:52 |
|
|
|
|
|
[第60楼]
[ 回复时间:2021-06-30 18:17 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2021-06-30 16:34 |
3.C 执行命令三步骤;1.将CS:IP中的指令存入指令缓存器 2.IP=IP+指令字长 3.执行指令缓存器中的指令 显而易见,执行的是缓存器中的指令,并不是CS:IP指向的指令 | | |