. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->[bx]和loop指令
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  火死了``两次检测题都填了一样的`都错一道`实在想不出了```  [待解决] 回复[ 22次 ]   点击[ 1038次 ]  
xuan214
[帖 主]   [ 发表时间:2009-03-13 01:51 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2009-02-22 23:57
两次检测题都填了一样的`都错一道`又不提示哪个错了``火死了```我把问题写在下边:
已知21000h处字单元的内容为 BE00H,对于如下程序: 
     mov ax,2000h 
     mov ds,ax 
     mov bx,1000h 
     mov ax,[bx] 
     inc bx 
     inc bx 
     mov [bx],ax 
     inc bx 
     inc bx 
     mov [bx],ax 
     inc bx 
     mov [bx],al 
     inc bx 
     mov [bx],al 
     程序执行后,内存中字单元2000:1005中的内容为___1___。 
 1、  00 
 2、  BE 
 3、  00BE 
 4、  0000
我选的是1,AX=BE00 那AL=00  所以我选1


在Intel8086环境下,对指令mov ax,[bx]描述错误的是__4___。 
 1、  指令中,源操作数的段地址默认为ds中的内容 
 2、  指令中,源操作数的偏移地址为bx中的内容 
 3、  指令执行后,(al)=((ds)*16+(bx)),(ah)=((ds)*16+(bx)+1) 
 4、  指令执行后,((ds)*16+(bx))=(al),((ds)*16+(bx)+1)=(ah) 

这个就不要说解释了吧`



要计算123与456的乘积,应填在空白处的指令序列是__4___。 
     assume cs:code 
     code segment 
     ____________ 
     mov ax,4c00h 
     int 21h 
     code ends 
     end 
 1、  mov ax,1 
     mov cx,123 
     s: add ax,123 
     loop s 
 2、  mov ax,0 
     mov cx,456 
     s: add ax,456 
     loop s 
 3、  mov ax,1 
     mov cx,456 
     s: add ax,123 
     loop s 
 4、  mov ax,0 
     mov cx,456 
     s: add ax,123 
     loop s 

明显就是4啊``



对于如下程序 
     assume cs:code 
     code segment 
      start:mov ax,code 
      mov ds,ax 
      mov ax,0020h 
      mov es,ax 
      mov bx,0 
      s:mov al,[bx] 
      mov es:[bx],al 
      inc bx 
      loop s 
      mov ax,4c00h 
      int 21h 
      code ends 
     end 
     下列说法正确的是__3____。 
 1、  指令mov ax,code改为mov ax,start对程序要实现的功能没有任何影响。 
 2、  程序不能通过编译,因为在loop指令之前,没有对寄存器cx进行设定。 
 3、  程序实现的功能是将程序的所有指令复制到内存中以0:200h为起始地址的一段内存空间中。 
 4、  程序实现的功能是用内存中以0:200h为起始地址的一段内存空间中的数据将程序的所有指令覆盖。
这题我选的(3)` 首先(1)肯定错的``因为code是段地址 而start相当与就是段地址加上start 把start比作偏移地址所以1是错的 段地址不同
(2)因为CX是字节书 也是循环次数`
(4)我啥也不说了,因为明显是错的

郁闷死了``还有一题没有复制下来``不知道这里面有没错`我是找不出来了`
acool
[第1楼]   [ 回复时间:2009-03-13 14:55 ]   [引用]   [回复]   [ top ] 
荣誉值:49
信誉值:0
注册日期:2008-10-15 16:15
首先建议楼主看看下面这个帖子,“做测试题为什么有这么多限制?”,知道这样的目的就能平心静气了 呵呵
http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=book&kind=1002&qkSg=1&qID=3974

程序执行后,内存中字单元2000:1005中的内容为___1___。  
-----------------
首先对于这个第一题就错了,注意这里的“字单元”,显然1和2两个答案就排除了。
xuan214
[第2楼]   [ 回复时间:2009-03-13 16:41 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2009-02-22 23:57
谢拉``通过了 555不容易啊``后面应该会更难的 =.=
second
[第3楼]   [ 回复时间:2009-03-27 11:49 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-03-22 17:01
分析:已知21000h处字单元的内容为 BE00H
既然他写了H,就说明他是一个值,在内存中的表现就应该是
00 be
这样解下来的话最后结果只能是
00 be 00 be 00 be 00 00
最后问字的内容是多少就应该是答案3.

相反的如果他说的不是值的话,就是答案四。最后我考虑还是答案三
second
[第4楼]   [ 回复时间:2009-03-28 09:22 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-03-22 17:01
我错了。还是需要仔细看题。
82356722
[第5楼]   [ 回复时间:2009-03-28 15:07 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2009-03-27 20:52
1
4
4
2
哈哈哈
82356722
[第6楼]   [ 回复时间:2009-03-28 16:06 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2009-03-27 20:52
哦。。晕,,原来是4443啊。哈哈哈
huifffff55555
[第7楼]   [ 回复时间:2009-06-09 23:00 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-11-13 09:31
伤心,我也错在第一道题!
wsay369
[第8楼]   [ 回复时间:2009-06-14 14:42 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-06-14 13:34
还是4443
zdpopup
[第9楼]   [ 回复时间:2009-06-22 23:00 ]   [引用]   [回复]   [ top ] 
荣誉值:8
信誉值:10
注册日期:2009-06-18 18:17
内存中字单元2000:1005中的内容为___1___。  
考,考人,没想到,原来也是卡在这.
lihaibo115
[第10楼]   [ 回复时间:2009-08-04 07:56 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-07-11 13:50
首先建议楼主看看下面这个帖子,“做测试题为什么有这么多限制?”,知道这样的目的就能平心静气了 呵呵
http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=book&kind=1002&qkSg=1&qID=3974

程序执行后,内存中字单元2000:1005中的内容为___1___。  
-----------------
首先对于这个第一题就错了,注意这里的“字单元”,显然1和2两个答案就排除了。
------------------
回复:55555555555 哭死  错2次都在这里 又是文字游戏
zhanqimj
[第11楼]   [ 回复时间:2009-10-11 17:50 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2009-10-05 23:12
我和楼主一样,第一题太简单了,没想到会错...下次要把题多看看
heiok.com
[第12楼]   [ 回复时间:2009-10-31 09:08 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:16
注册日期:2009-10-21 20:01
第一次做对三题,第二次做对四题,看来是错在“字”了,看少一个字,晕!等几小时再来。。。。
liamlee
[第13楼]   [ 回复时间:2009-11-09 23:23 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-10-28 09:45
我晕···最后一个看错题
  选错
  我想死············
release_lag
[第14楼]   [ 回复时间:2009-11-25 10:39 ]   [引用]   [回复]   [ top ] 
荣誉值:3
信誉值:0
注册日期:2009-10-27 16:12
第一题做错了,题目问的是内存中字单元2000:1005的内容,很显然,选项1和2都错,答案就是3和4里面,再通过程序分析,(2000:10005)=00  (2000:1006)=00
所以,选4
82356722
[第15楼]   [ 回复时间:2009-12-15 14:59 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2009-03-27 20:52
一下子根本看不出来啊。。嗬嗬嗬、、、、、、、、、、
dq051524
[第16楼]   [ 回复时间:2009-12-29 10:04 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-01-14 11:55
晕死- -第一道题我点了1我就知道错了 又不能改。。。
flong158
[第17楼]   [ 回复时间:2010-05-12 12:38 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-05-08 00:59
刚做完题,被扁回来了,这四道我做了4443,应该没错,那应该错在哪一道了,继续找,路过
flong158
[第18楼]   [ 回复时间:2010-05-12 12:42 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-05-08 00:59
晕,找到了,错在CX上
我一直以为循环一开始cx就减1
现在知道是到loop才减
真是第一印象害死人啊

我觉得检测题出得太神了,一直过来,落掉哪个知识点就考哪个:)
zhengcong3250
[第19楼]   [ 回复时间:2010-06-13 12:45 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:10
注册日期:2010-06-09 16:22
晕死,做了两遍啊,原来是字单元,“字”啊!杂就没看清呢?
joneui
[第20楼]   [ 回复时间:2010-06-26 21:57 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-06-08 22:23
我也错在第一题
yiday
[第21楼]   [ 回复时间:2010-07-13 00:12 ]   [引用]   [回复]   [ top ] 
荣誉值:5
信誉值:0
注册日期:2009-09-24 17:56
第一道是第四个
yeshuping
[第22楼]   [ 回复时间:2010-09-10 21:07 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-04-20 13:53
我跟楼主都犯了同样的错误!
就是粗心,没看清楚题目要求!!是字,不是字节!!!
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved