. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  第2章汇编测试题目,请给出答案  [待解决] 回复[ 67次 ]   点击[ 4819次 ]  
leonmsi
[帖 主]   [ 发表时间: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
helloworld
[第1楼]   [ 回复时间:2007-10-23 18:08 ]   [引用]   [回复]   [ top ] 
荣誉值:10
信誉值:6
注册日期:2007-10-20 14:34
第一题用cale.exe来算就可以了啊哈哈
sunshine
[第2楼]   [ 回复时间:2007-10-24 10:03 ]   [引用]   [回复]   [ top ] 
荣誉值:106
信誉值:0
注册日期:2007-06-26 15:10
努力,自己解决问题.
zjcjcj
[第3楼]   [ 回复时间:2007-10-25 22:46 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2007-10-03 16:06
第一题,注意高低字节.第二题看书慢慢想吧!第三题   指令缓冲器,执行控制器
zjcjcj
[第4楼]   [ 回复时间:2007-10-25 22:48 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2007-10-03 16:06
第三题,第四题再仔细看书就可以做出正确的答案.....
huibian
[第5楼]   [ 回复时间:2007-10-29 10:35 ]   [引用]   [回复]   [ top ] 
荣誉值:117
信誉值:2
注册日期:2007-09-04 10:41
楼主的答案呢?贴出来让大家讨论一下啊~
huibian
[第6楼]   [ 回复时间:2007-10-29 10:48 ]   [引用]   [回复]   [ top ] 
荣誉值:117
信誉值:2
注册日期:2007-09-04 10:41
sgyy:遇到问题一定要自己分析后再与人讨论,不要贪图方便草草了事。口袋的钱可以由别人给,但自己的能力是别人给不了的! 
---摘自专家喊话区

没有自己的分析判断,等着别人的答案是无法自己提高地,如果每道题后面加上自己的分析,确定哪个题有问题,哪个题肯定没有问题,哪道题不能确定,那就太好了。
不过你要是这么确定的话,好像这个检测题就不是问题了,答案全在书上了~

建议楼主好好看看这个帖子:“做测试题为什么有这么多限制?”
http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=book&kind=1002&qkSg=1&qID=3974&readSg=1
sunshine
[第7楼]   [ 回复时间:2007-10-30 09:41 ]   [引用]   [回复]   [ top ] 
荣誉值:106
信誉值:0
注册日期:2007-06-26 15:10
不好啊,楼主要自力更生,艰苦奋斗
zysong
[第8楼]   [ 回复时间:2007-10-30 13:18 ]   [引用]   [回复]   [ top ] 
荣誉值:19
信誉值:0
注册日期:2007-07-05 17:25
不劳而获啊!!
把自自己的答案贴出来讨论可以。怎么能直接要答案啊。那做这个题还有什么价值啊!!
huanghl05
[第9楼]   [ 回复时间:2007-11-10 21:53 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2007-10-29 00:15
第一2
第二1
第三3
第四2
第五3
做得不请指教
第二道题有点疑问
?高手指点
juven
[第10楼]   [ 回复时间:2007-11-20 20:40 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2007-09-30 10:56
第一2
第二1
第三3
第四2
第五3
做得不请指教
第二道题有点疑问
?高手指点
------------------
回复:a 命令可以进入debug中写入汇编程序,自然可以改变内存中的值。
mouse
[第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指令。

------------------------
后面的等别的兄弟吧~_~
xinam
[第12楼]   [ 回复时间:2007-11-26 19:36 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2007-11-25 22:11
最后一下题选4好不好
huibian
[第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也是正确的;-)
huibian
[第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指向下一条指令,书上有。
googolchen
[第15楼]   [ 回复时间:2007-11-28 21:38 ]   [引用]   [回复]   [ top ] 
荣誉值:1
信誉值:0
注册日期:2007-11-28 19:00
第四题怎么会选二呢,我认选三吧,0d22h书上不是说AX计算时候可进位的吗,新手,期待解答!
startasm
[第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位的才舍弃,所以我觉得答案是三。

还没有做检测题,先来看看题,到时候好过~_~"
xiaofei_0032
[第17楼]   [ 回复时间:2007-12-01 15:41 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2007-11-26 06:48
2 1 4 3 4
这是我的答案
lljs
[第18楼]   [ 回复时间:2007-12-05 08:41 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2007-11-23 08:44
2 1 3 3 4
zhuzhu
[第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、 传送指令能够更改所有通用寄存器的内容。  
==========
传动指令是什么?
通用寄存器又是有那些呢?
scandy24
[第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

的值增加指向下一条指令,但是刚取出的指令还在缓冲器中没有得到执行。
scandy24
[第21楼]   [ 回复时间:2007-12-13 11:07 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:2
注册日期:2007-12-10 14:26
上面的那个题目选3是没有问题的,3就是错误的判断。
我还有一个疑问:
当前指令的执行和取下一条指令是不是同时进行的?书上没有对这个做出说明。
请高手解答
startasm
[第22楼]   [ 回复时间:2007-12-13 17:06 ]   [引用]   [回复]   [ top ] 
荣誉值:50
信誉值:0
注册日期:2007-11-27 20:05
当前指令的执行和取下一条指令是不是同时进行的?书上没有对这个做出说明。 
----------------
我觉得不是,计算机应该是串行的,不能同时做多个。
应该是先读取,然后设置ip,然后在执行,然后在读取,进入循环了。
startasm
[第23楼]   [ 回复时间:2007-12-13 17:07 ]   [引用]   [回复]   [ top ] 
荣誉值:50
信誉值:0
注册日期:2007-11-27 20:05
我记得操作系统讲过,时间片轮转,并行也是相对的。
javaclct
[第24楼]   [ 回复时间:2007-12-25 18:24 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2007-12-17 16:58
我觉得是有两个器件,一个用来读取指令,一个用来执行指令.
cdzjf
[第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)的内容,应该是对的
iceleon
[第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是对的。
tnt123688
[第27楼]   [ 回复时间:2008-01-25 10:10 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:8
注册日期:2008-01-12 11:13
3;1;4;4;4
study_soft
[第28楼]   [ 回复时间:2008-02-20 15:06 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:18
注册日期:2008-02-20 10:20
2 1 3 3 4
debugkkk
[第29楼]   [ 回复时间:2008-04-01 22:32 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:16
注册日期:2008-03-17 20:21
答案本身毫无意义,只有失败才能让你领悟汇编语言的真谛。
sunnyfairy
[第30楼]   [ 回复时间:2008-04-13 16:28 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2008-04-12 00:20
我觉得 答案是 2, 1, 4, 3, 4
jly_412
[第31楼]   [ 回复时间:2008-04-26 16:21 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-04-26 11:38
第三题有疑问 能不能给个权威的答案?
hjdx
[第32楼]   [ 回复时间:2008-04-26 16:56 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-04-15 20:36
2,1,2,3,4
hjdx
[第33楼]   [ 回复时间:2008-04-26 17:04 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-04-15 20:36
考虑了一下觉得还是2,1,3,3,4.
cairulong
[第34楼]   [ 回复时间:2008-04-28 17:14 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-04-27 16:45
真烦,第二章的题总是错一条,做了两次都没有过!
e30614007
[第35楼]   [ 回复时间:2008-05-01 12:42 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-05-01 12:20
我的答案是21434    第三题里面的任何时刻是错误的。你可以在dos里面运行一个程序然后在debug下用r命令和t或p命令进行观察,此时的ip显示的确实当前知行指令的ip地址
kxiao
[第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。这是我的理解。有不对的地方,欢迎批评指正。
asrobot
[第37楼]   [ 回复时间:2008-05-09 18:06 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-05-08 13:43
楼上的好像没看清题目,题目所说的是通用寄存器,不包括CS和IP,不怕大家笑话,我做第二的检测题都错了10多次了!
yoyo_alex_lw
[第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)
zxf0215
[第39楼]   [ 回复时间:2008-05-13 19:09 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-04-16 14:02
其实答案是21334
hualongmian
[第40楼]   [ 回复时间:2008-05-16 01:21 ]   [引用]   [回复]   [ top ] 
荣誉值:6
信誉值:0
注册日期:2008-05-13 20:29
唉。我也做错了第三题。现在看到25楼说的。我突然明白了。。
任何时刻。。这个词说错了。。。。。
当指令存到指令缓存器中后。IP就+上此长度去寻找下一个指令了。而此时存到指令缓存器中的指令正在执行。。。。
受教了。。。。。。想的不够深哇。。。。。
klopin
[第41楼]   [ 回复时间:2008-05-17 23:20 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-05-11 13:33
21334
lanji83
[第42楼]   [ 回复时间:2008-05-23 19:18 ]   [引用]   [回复]   [ top ] 
荣誉值:3
信誉值:4
注册日期:2008-05-23 05:44
其实管理员把这个贴加荐是为了让学习者明白,学汇编不是为了答案.而是为了在学习的过程中去了解和理解PC的工作原理及机制.看到楼上的几位兄弟都在讨论答案有什么意思呢?能让楼主知道为什么会是这个答案吗?
hardyleumg
[第43楼]   [ 回复时间:2008-07-22 21:24 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-07-20 18:33
我也做错了。不过同意21334这个答案。如果有同学觉得不对,把p33的小结第3点看看就好。
hardyleumg
[第44楼]   [ 回复时间:2008-07-22 21:34 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-07-20 18:33
还有,通用寄存器的概念在p13
duress
[第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看一下啊。。。。
oldmtn
[第46楼]   [ 回复时间:2008-07-27 12:15 ]   [引用]   [回复]   [ top ] 
荣誉值:5
信誉值:3
注册日期:2008-07-14 19:30
争论主要在第三题!!
看了CS:IP执行流程图,就好多了.
其中有一个图就是,执行控制器正在执行开始的2000:0000单元的时候,但此时的CS:IP却是2000:0003,
故第三题的"任何时候"就有问题了,
所以认为第三题的3 是错了
有不同意见大胆来提...........
yigu
[第47楼]   [ 回复时间:2008-08-20 23:13 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-08-10 00:01
在这学汇编太好了
wjqaone
[第48楼]   [ 回复时间:2008-08-31 14:09 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-08-18 10:34
二楼的写错了     正确的是calc.exe
mythtalent
[第49楼]   [ 回复时间:2008-09-11 21:45 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2007-10-31 09:51
用DEBUG调试过了.
第一题是2,第四题是3.
但是第五题,试着输入第二和第四选择项的命令,均提示错误,求解?
liuminghemama2
[第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进制数字..
yugong
[第51楼]   [ 回复时间:2008-09-23 15:34 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:8
注册日期:2008-09-15 09:10
2 1 3 3 4 
书上有写到CPU的工作过程,简单的说就是先读取指令,再修改IP,接着执行指令,重复这个过程
xlmcktj
[第52楼]   [ 回复时间:2008-09-30 13:19 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-09-29 08:35
都是强人,我刚做完,错了2,书看千遍,我还是看的不够受教了
xiaoheibing
[第53楼]   [ 回复时间:2008-10-03 09:35 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-07-25 07:46
3 2 1 2 4
xiaoheibing
[第54楼]   [ 回复时间:2008-10-03 09:46 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-07-25 07:46
正确答案为2 1 3 3 4   上面不同的都是错的 请回去看书`````````
poiuytr_81
[第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题,也是本贴讨论最多的一项。谢谢各位,受教了。
poiuytr_81
[第56楼]   [ 回复时间:2008-10-06 10:33 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-04-24 12:11
第2题条错,是因为看错题目了,正好把意思搞反了。通过计算知道第二项不可能,反而就选了它。
(如果偏移地址为FFFFH的话,则段地址为:FFFF0H-FFFFH=EFFF1H,这不是16的倍数,所以不可能。)
chinafish
[第57楼]   [ 回复时间:2008-10-07 21:08 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2008-10-07 20:50
mov al,bh    高位可以传给地位吗
mengxinjinglong
[第58楼]   [ 回复时间:2008-10-12 12:14 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-09-15 21:00
mov al,bh     mov ah,bl都是可以的
zydchina
[第59楼]   [ 回复时间:2018-03-21 09:46 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2018-02-01 09:52
这个主题把第二单元的内容都讲透了。
ubzduu
[第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指向的指令
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved