. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  做检测题,大家给答案?  [待解决] 回复[ 22次 ]   点击[ 565次 ]  
hot623
[帖 主]   [ 发表时间:2010-06-23 15:51 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-12-07 20:03
下列说法中正确的是:____ 
 1、  8086CPU采用“段地址*16+偏移地址=物理地址”的寻址模式,所以内存是由一个一个的段组成,每一个段有一个段地址。 
 2、  物理地址为ffff0H的内存单元的偏移地址可能为ffffH。 
 3、  一个段的大小可以是8Byte。 
 4、  在一段没有任何跳转指令的程序中,超出64K的部分将不会被执行。
hot623
[第1楼]   [ 回复时间:2010-06-23 15:53 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-12-07 20:03
答案是3
hot623
[第2楼]   [ 回复时间:2010-06-23 15:54 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-12-07 20:03
mov ax,936aH 
      mov bx,79b8H 
      add ax,bx 
     指令执行后AX中的数据是:____ 
 1、  1c22H 
 2、  0c22H 
 3、  0d22H 
 4、  1d22H
hot623
[第3楼]   [ 回复时间:2010-06-23 15:56 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-12-07 20:03
答案是3
hot623
[第4楼]   [ 回复时间:2010-06-23 15:56 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-12-07 20:03
面哪个是错误的指令_____ 
 1、  mov ax,bx 
 2、  add al,0f5H 
 3、  mov al,bh 
 4、  add al,100H
hot623
[第5楼]   [ 回复时间:2010-06-23 15:57 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-12-07 20:03
答案是2还是4?
hot623
[第6楼]   [ 回复时间:2010-06-23 15:58 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-12-07 20:03
答案是2
hot623
[第7楼]   [ 回复时间:2010-06-23 15:59 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-12-07 20:03
16位结构的CPU 不一定具备的特性是:____ 
 1、  运算器一次最多可以处理16位的数据 
 2、  寄存器的最大宽度为16位 
 3、  寄存器和运算器之间的通路为16位 
 4、  地址总线为16根
hot623
[第8楼]   [ 回复时间:2010-06-23 15:59 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-12-07 20:03
答案4
hot623
[第9楼]   [ 回复时间:2010-06-23 15:59 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-12-07 20:03
下列说法中正确的是:____ 
 1、  一条指令被执行后,IP的值进行改变。 
 2、  当CPU执行完当前指令返回debug后CPU就闲下来不再进行工作。 
 3、  e命令可将所有内存单元中的数据进行改变。 
 4、  CPU将CS:IP所指向的内存单元中的数据当作指令来执行。
hot623
[第10楼]   [ 回复时间:2010-06-23 16:00 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-12-07 20:03
答案2
hot623
[第11楼]   [ 回复时间:2010-06-23 16:02 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-12-07 20:03
答案是3
hot623
[第12楼]   [ 回复时间:2010-06-23 16:12 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-12-07 20:03
我做对了2道题,有3题错了,麻烦老师告诉我错的是那3题?为什么?谢谢?
hot623
[第13楼]   [ 回复时间:2010-06-23 16:15 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-12-07 20:03
本学生由于工作忙,过几天来看,谢谢帮忙指正。
tulip784461422
[第14楼]   [ 回复时间:2010-10-25 21:09 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-03-08 11:29
第一个选项肯定是不对的,在逻辑上内存是一段整体空间,只是cpu在读写内存单元的时候需要知道内存单元的位置才划分了段。就像是一张白纸,你在里面画了几条横线,白纸就被分成了几个格子,但是白纸并没变成一片一片的。所以,内存并不是一段一段存在的。

第二个选项也是不对的,物理地址 = 段地址×16+偏移地址,如果偏移地址是0ffffh了,段地址×10h之后加上偏移地址的话最后一位肯定是f吧,怎么可能会等于0ffff0h呢?

第四个选项也是不对的,内存本就是一段整体空间,cpu只执行cs:ip指向的内存,如果程序中没有跳转,但是cs:ip指向的内存单元已经超出既定的64K的话,也是要继续执行的。

至于第三个,应该是正确的
tulip784461422
[第15楼]   [ 回复时间:2010-10-28 17:20 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-03-08 11:29
我想了一下,我第四个选项的解释是错误的,希望楼主不要被误导。我再参考参考资料,如果有正确分析,再答复楼主。抱歉
qucklay
[第16楼]   [ 回复时间:2010-10-28 20:33 ]   [引用]   [回复]   [ top ] 
荣誉值:10
信誉值:0
注册日期:2009-06-25 23:01
一个段的大小可以是8Byte
    .model small
    .code
start:
    db 90h
end start
zhllhz
[第17楼]   [ 回复时间:2010-11-03 19:40 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2009-12-18 19:17
第3题错误的指令:4.add al,100h
错误原因:运算指令的两个操作数的位数应该是一致的,add al,xxh中,al只能与两位16进制数发生运算
zhllhz
[第18楼]   [ 回复时间:2010-11-03 19:45 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2009-12-18 19:17
回复:[第9楼]
------------------
第5题:答案为4

选项1:IP应该先指向下一条指令,然后指令缓冲器中的指令被执行
选项2: 当CPU执行完当前指令返回debug后,CPU并没有空闲,显示各寄存器的值也是DEBUG做的
选项3:E命令不可以更改ROM中的数据
选项4:什么是指令?CS:IP指向的内存单元中存储的内容就是指令
zhllhz
[第19楼]   [ 回复时间:2010-11-03 20:06 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2009-12-18 19:17
回复:[贴 主]
------------------
第一题,我总觉得3、4都对
选项3:我认为一个段的大小可以是8B。
一个段是内存地址连续,起始地址是16的倍数的一组内存单元。

选项4:我用DEBUG把一段程序写入内存(操作如下),得不到预期的执行结果。
-----------------------------------
C:\Documents and Settings\Administrator>debug
-r cs
CS 0B13
:0
-r ip
IP 0100
:fffa
-a cs:fffa
0000:FFFA mov ax,1
0000:FFFD mov bx,1
0000:0000
-a 1000:0
1000:0000 mov ax,1
1000:0003 jmp 1000:0
1000:0005
-r
AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0B13  ES=0B13  SS=0B13  CS=0000  IP=FFFA   NV UP EI PL NZ NA PO NC
0000:FFFA B80100        MOV     AX,0001
-g
C:\Documents and Settings\Administrator>
---------------------------------------------------------------------
如果程序能够继续执行到1000:0003处,那应该是一个死循环,DEBUG不会退出。
所以我认为选项4也是正确的。

第3项是错的吗?错在哪里?请各位朋友指正
guoqingshun123
[第20楼]   [ 回复时间:2010-11-19 21:26 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2010-11-18 22:02
最小是第10H单元也就是16Byte
jtrakn
[第21楼]   [ 回复时间:2010-11-29 11:28 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2010-11-25 19:35
答案是4。。好不。。0f5h=f5h
rebelsky
[第22楼]   [ 回复时间:2010-12-03 08:44 ]   [引用]   [回复]   [ top ] 
荣誉值:3
信誉值:0
注册日期:2010-09-13 09:09
应该是4吧,这个书上就有的
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved