. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  第二章测试又没过!!!!!!!!!!!4次了要等8个小时  [待解决] 回复[ 29次 ]   点击[ 1087次 ]  
sunchaohaung
[帖 主]   [ 发表时间:2008-08-22 14:37 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-08-21 13:29
一:在DEBUG中,____选项中的命令可以修改内存单元的内容 
 1、 a 
 2、 d 
 3、 t 
 4、 u 

我选3


二:1000:0 mov ax,8 
    1000:3 jmp ax 
    1000:5 mov ax,0 
    1000:8 mov bx,ax 
    1000:a jmp bx 
    CPU从1000:0处开始执行指令当执行完1000:a处的指令后CPU几次修改IP_____。 
 1、 4 
 2、 5 
 3、 6 
 4、 7 


我选3


三:下列说法中正确的是:____ 
 1、 8086CPU采用“段地址*16+偏移地址=物理地址”的寻址模式,所以内存是由一个一个的段组成,每一个段有一个段地址。 
 2、 物理地址为ffff0H的内存单元的偏移地址可能为ffffH。 
 3、 一个段的大小可以是8Byte。 
 4、 在一段没有任何跳转指令的程序中,超出64K的部分将不会被执行。 
我选4


四:下列地址信息与0020H:03EFH确定的内存地址不同的是_____。 
 1、 5EFH 
 2、 203H:00EFH 
 3、 005EH:000FH 
 4、 0002H:05CFH 

我选2


五:下面哪个是错误的指令_____ 
 1、 mov ax,bx 
 2、 add al,0f5H 
 3、 mov al,bh 
 4、 add al,100H 
我选4



错了一个  55555555555555555
lwbfq
[第1楼]   [ 回复时间:2008-08-22 16:50 ]   [引用]   [回复]   [ top ] 
荣誉值:56
信誉值:0
注册日期:2008-01-19 13:58
博主自信分析一下。
我感觉好像1出了问题。
musicvs
[第2楼]   [ 回复时间:2008-08-23 08:26 ]   [引用]   [回复]   [ top ] 
荣誉值:56
信誉值:14
注册日期:2008-08-20 11:21
同意,第一题不对^_^
sunchaohaung
[第3楼]   [ 回复时间:2008-08-23 08:35 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-08-21 13:29
T照样可以改变内存吧,这答案本身就是模棱两可的,不过答案确实是选A今天通过了
musicvs
[第4楼]   [ 回复时间:2008-08-23 08:44 ]   [引用]   [回复]   [ top ] 
荣誉值:56
信誉值:14
注册日期:2008-08-20 11:21
呵呵,那也是,a能写入指令,但也要通过t来执行。希望能谁能解释下
fontomas
[第5楼]   [ 回复时间:2008-08-23 16:00 ]   [引用]   [回复]   [ top ] 
荣誉值:6
信誉值:2
注册日期:2007-08-08 14:22
A是真正的向内存单元写入数据,而T只是执行CS:IP单元的指令,改变内存单元的是汇编指令,而不是T命令
zgqawjc
[第6楼]   [ 回复时间:2008-08-26 16:24 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:5
注册日期:2008-08-14 16:19
我刚做过题,也错一个,就是第二题,二:1000:0 mov ax,8  
    1000:3 jmp ax  
    1000:5 mov ax,0  
    1000:8 mov bx,ax  
    1000:a jmp bx  
    CPU从1000:0处开始执行指令当执行完1000:a处的指令后CPU几次修改IP_____。  
 1、 4  
 2、 5  
 3、 6  
 4、 7  
现在明白了改6次

我第一题选A.
zgqawjc
[第7楼]   [ 回复时间:2008-08-26 16:31 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:5
注册日期:2008-08-14 16:19
回答一下第4楼的问题:

用a向内存单元写入指令,就已经是修改内存单元的内容了!!!!

相对来讲t可以改变内存单元内容,而不是修改!!
jack222
[第8楼]   [ 回复时间:2008-09-02 18:05 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-08-18 14:35
第一题答案应该是a,t是执行
liuxianming2001
[第9楼]   [ 回复时间:2008-09-06 17:39 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-09-03 00:18
t修改的是CPU寄存器的内容吧?
ai_cr
[第10楼]   [ 回复时间:2008-09-09 16:40 ]   [引用]   [回复]   [ top ] 
荣誉值:8
信誉值:2
注册日期:2008-09-04 17:29
一:在DEBUG中,____选项中的命令可以修改内存单元的内容  
 1、 a  
 2、 d  
 3、 t  
 4、 u  

答:全能。 

我刚做过题,也错一个,就是第二题,二:1000:0 mov ax,8   
    1000:3 jmp ax   
    1000:5 mov ax,0   
    1000:8 mov bx,ax   
    1000:a jmp bx   
    CPU从1000:0处开始执行指令当执行完1000:a处的指令后CPU几次修改IP_____。   
 1、 4   
 2、 5   
 3、 6   
 4、 7   
答:未知。
breakan
[第11楼]   [ 回复时间:2008-09-10 10:46 ]   [引用]   [回复]   [ top ] 
荣誉值:4
信誉值:14
注册日期:2008-09-03 11:12
二:1000:0 mov ax,8  
    1000:3 jmp ax  
    1000:5 mov ax,0  
    1000:8 mov bx,ax  
    1000:a jmp bx  
    CPU从1000:0处开始执行指令当执行完1000:a处的指令后CPU几次修改IP_____。  
 1、 4  
 2、 5  
 3、 6  
 4、 7  

这一题我觉得应该先1呀

mov ax,8
jmp ax ;跳到了1000:8
mov bx,ax
jmp bx ;又跳到了1000:8

因为题上说的是执行完1000:a处的指令后CPU几次修改IP,所以应该是4次
如果题上说的是执行到1000:a处的指令后CPU几次修改IP,所以应该是3次

不知道我说的对不对呢?
yugong
[第12楼]   [ 回复时间:2008-09-23 15:53 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:8
注册日期:2008-09-15 09:10
求助:请问下面个问题为什么不对;
1、 8086CPU采用“段地址*16+偏移地址=物理地址”的寻址模式,所以内存是由一个一个的段组成,每一个段有一个段地址。
3、 一个段的大小可以是8Byte。
asm_sande
[第13楼]   [ 回复时间:2008-09-26 17:30 ]   [引用]   [回复]   [ top ] 
荣誉值:5
信誉值:0
注册日期:2008-07-04 19:03
从物理机制上讲,只有A是真正地修改内存单元内容.而其它的命令,只是修改了个别寄存器值.如T修改了IP寄存器值....,U D 也是如此而已.
yj65485811
[第14楼]   [ 回复时间:2010-07-08 17:52 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-07-07 11:23
我感觉debug命令里,E和A是直接的修改内存单元的内容,而T是根据指令的内容,在执行时,修改了内存的内容。我原来一直以为是T,今天看了几个帖子,慢慢琢磨着感觉A比T更适合题意。
zjt88661199
[第15楼]   [ 回复时间:2010-07-20 23:48 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-07-19 03:17
在哪儿做的测试啊>???
c_losed
[第16楼]   [ 回复时间:2010-07-24 18:30 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:1
注册日期:2010-07-15 19:25
一:在DEBUG中,____选项中的命令可以修改内存单元的内容  
 1、 a  
 2、 d  
 3、 t  
 4、 u  

选3的是执行吧 我选的是1 过了
blackdevil
[第17楼]   [ 回复时间:2010-07-30 17:12 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-07-28 15:50
我想问 一个段 大小 为什么不能是 8BYTE。。。。。看来我看书不仔细。。。只看到 必须 小于等于 64KB
ieooo
[第18楼]   [ 回复时间:2010-07-31 13:38 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-07-28 20:28
段起始地址都比须是16的倍数!
blackdevil
[第19楼]   [ 回复时间:2010-07-31 16:58 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-07-28 15:50
我还是 不懂。。。。。笨啊。。不好意思。。。其实 地址是 16的 倍数   就是说 一个 段最小是 16B?
zwjq
[第20楼]   [ 回复时间:2010-08-05 21:54 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:6
注册日期:2010-07-31 15:39
回复:[第19楼]
------------------
我的感觉是段是人为分出来的,最长是因为偏移地址的限制,所以不能一个段是不能超过2的16次,即64KB,而一个段不应该是8Byte,而只能是64KB,但是64KB之后的指令要是不断执行的话,也会被执行,因为段是人为分出来的(偏移地址不能我们说了算,但段地址可以我们说了算,只要它是16的倍数)讨论而已
coderone
[第21楼]   [ 回复时间:2010-10-28 17:55 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-10-13 10:24
弱弱的问一下什么是段?段和物理地址有什么关系?书第2.8节写的很清楚了吧?你们去看看是不是一个段可以为8Byte?
ohy
[第22楼]   [ 回复时间:2010-10-31 12:35 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-10-31 12:24
第一个错了
t改变的是寄存器的
ohy
[第23楼]   [ 回复时间:2010-10-31 12:39 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-10-31 12:24
回复:[第21楼]
------------------
段最小是16比特 8比特一个内存单元
ohy
[第24楼]   [ 回复时间:2010-10-31 13:41 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-10-31 12:24
回复:[第21楼]
------------------
段最小是16比特 8比特一个内存单元
------------------
回复:
说错了  因该是 段是不存在的  所以没有大小 只有段地址这个概念(记住只是一个地址罢了地址是没有大小这个概念的)
如果存在的话  段的最小值应该是8bit 那么选8byte不会错
20085617
[第25楼]   [ 回复时间:2010-11-03 10:57 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2010-11-01 15:17
我想问一下,那个测试在哪里测啊?
lovelyboy
[第26楼]   [ 回复时间:2010-11-03 16:59 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-10-28 14:05
第一题错了,T是执行CS:IP指向内存地址的指令,应该选A,a是用汇编指令形式修内存的,在计算机中,指令和数据都是以二进制码形式保存的,所以指令和数据在计算机看来是等价的,在具体应用山不同而已
udbduty
[第27楼]   [ 回复时间:2010-11-11 18:16 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-11-06 01:57
主页的学习计划里有。
guoqingshun123
[第28楼]   [ 回复时间:2010-11-19 20:44 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2010-11-18 22:02
第一题是a吧,d是查看,t是执行,u是翻译;楼主其他题目都对.下面这几题比较有问题,我也说一下我的答案.
第二题是6次,1000:5内存单元被跳过没执行,之后一条指令算一次,遇到JMP算两次,我是这么认为的;第三题:1.段的划分来自CPU,内存并不分段,选项错,2.IP为ffff后,物理地址最后一位应该是F,选项错,3.一个段的最大长度是64KB这没问题,定位段的起始地址也就是基础地址,基础地质=段地址*16所以是一定是16的倍数,依理得:起始地址最小应该是10H!!!所以8B不在这个范围内,至少要第10个内存单元,23楼和24楼理解错了,微机存储器的容量是以字节为最小单位来计算的,现在面对的是内存不是晶体管,不能用比特来衡量;
jtrakn
[第29楼]   [ 回复时间:2010-11-29 11:40 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2010-11-25 19:35
0算不算是16的倍数?16乘0等于0。。所以段地址可以为0h。。再乘16。。还是0h。。可以为8B
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved