. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->第一个程序
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  本章检测题,请给答案。  [待解决] 回复[ 25次 ]   点击[ 1938次 ]  
caoheqian
[帖 主]   [ 发表时间:2007-10-21 21:50 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2007-09-30 21:53
下列程序中,出现逻辑错误的是:____ 
 1、 assume cs:code 
    code segment 
    mov ax,2 
    add ax,ax 
    mov ax,4c00h 
    int 21h 
    code 
    end 
 2、 assume cs:code 
    code segment 
    mov ax,2 
    add ax,ax 
    code ends 
    end 
 3、 aume cs:code 
    code segment 
    mov ax,2 
    add ax,ax 
    mov ax,4c00h 
    int 21h 
    code ends 
    end 
 4、 assume cs:code 
    code segment 
    mov ax,2 
    add ax,ax 
    mov ax,4c00h 
    int 21h 
    code ends
caoheqian
[第1楼]   [ 回复时间:2007-10-21 21:56 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2007-09-30 21:53
1.code 后应为code ends,属语法错误。
3.aume 无此关键字,属语法错误。
正确答案只能在2和4中选择了:
4.最后缺end,也应属于语法错误吧。
排除掉以上三个选择,只有2是逻辑错误了:缺
mov ax,4c00h        
int 21h
happy
[第2楼]   [ 回复时间:2007-10-22 19:55 ]   [引用]   [回复]   [ top ] 
荣誉值:32
信誉值:0
注册日期:2007-07-14 19:06
完全同意一楼的说法
mqmelon
[第3楼]   [ 回复时间:2007-10-23 16:19 ]   [引用]   [回复]   [ top ] 
荣誉值:6
信誉值:0
注册日期:2007-10-05 15:18
可问题是,没有mov ax,4c00h/int 21h,程序是可以执行的呀,只是无法返回调用者,这能算是逻辑错误吗?
happy
[第4楼]   [ 回复时间:2007-10-23 17:56 ]   [引用]   [回复]   [ top ] 
荣誉值:32
信誉值:0
注册日期:2007-07-14 19:06
它没有语法错误,但逻辑上错了,应该算是逻辑错误吧
sunshine
[第5楼]   [ 回复时间:2007-10-24 10:17 ]   [引用]   [回复]   [ top ] 
荣誉值:106
信誉值:0
注册日期:2007-06-26 15:10
en
msn
[第6楼]   [ 回复时间:2007-11-29 21:38 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:1
注册日期:2007-11-25 09:37
书上76页有写
101319007
[第7楼]   [ 回复时间:2008-02-13 17:07 ]   [引用]   [回复]   [ top ] 
荣誉值:3
信誉值:0
注册日期:2007-08-07 13:15
2
lovely-kid
[第8楼]   [ 回复时间:2008-05-01 06:38 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-04-10 12:03
同意一楼~~
chl136389
[第9楼]   [ 回复时间:2008-05-05 14:30 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:5
注册日期:2008-04-27 21:45
排除法可以做题,但学知识还是直面问题的好.书上82页就举个例子,但听楼主说程序还能执行,那就有点麻烦了.莫非书上定义不完全?
chl136389
[第10楼]   [ 回复时间:2008-05-05 14:31 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:5
注册日期:2008-04-27 21:45
排除法可以做题,但学知识还是直面问题的好.书上82页举了类似的例子,但听楼主说程序还能执行,那就有点麻烦了.莫非书上定义不完全?
hualongmian
[第11楼]   [ 回复时间:2008-05-18 15:06 ]   [引用]   [回复]   [ top ] 
荣誉值:6
信誉值:0
注册日期:2008-05-13 20:29
嘎嘎,,9楼灌水了哇!
逻辑错误一般不容易发现的。
语法错误在编译器编译时就会发现,若发现语法错误则不能生成OBJ目标文件。
xianxia
[第12楼]   [ 回复时间:2008-11-03 09:53 ]   [引用]   [回复]   [ top ] 
荣誉值:6
信誉值:6
注册日期:2008-10-15 11:11
郁闷!是逻辑错误码,我说怎么老是过不了。。火了!谢谢!各位!
gsyangchao
[第13楼]   [ 回复时间:2009-01-25 15:50 ]   [引用]   [回复]   [ top ] 
荣誉值:12
信誉值:0
注册日期:2009-01-25 01:37
回复:[第12楼]
------------------
连MOV AX,4C00H
  INT 21H
都没有还能不是逻辑错误呀,编译器根本就发现不了这错误
2007211006sj
[第14楼]   [ 回复时间:2009-03-21 15:41 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:10
注册日期:2009-02-24 12:14
lz注意:'逻辑错误'指的是:汇编代码错误  其它的是:语法错误
题中2项汇编代码中明摆着没有'程序返回'
lihaibo115
[第15楼]   [ 回复时间:2009-07-20 14:03 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-07-11 13:50
这个检测题就是个 脑筋急转弯  555555555
cqujsjcyj
[第16楼]   [ 回复时间:2009-10-22 11:22 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-09-19 12:28
是这样啊,
搞了我好几次了,
完全是搞文字游戏,
郁闷......
liandakun
[第17楼]   [ 回复时间:2009-12-16 11:15 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-10-31 08:24
这个无法返回,书上有啊   我第一题错了,伪指令由编译器执行,编译器也属于计算机吧?只有CPU
liandakun
[第18楼]   [ 回复时间:2009-12-16 11:16 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-10-31 08:24
只有CPU处理数据用机器码吗??
arcman2009
[第19楼]   [ 回复时间:2010-01-19 21:19 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-11-22 15:29
选4~~~语法正确程序可以运行但缺
mov ax,4c00h         
int 21h

程序无法返回~~属于逻辑错误
yunfeiyan
[第20楼]   [ 回复时间:2010-03-27 22:54 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-02-08 17:15
统一楼上
tvr001
[第21楼]   [ 回复时间:2010-07-19 02:59 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-06-22 11:52
测试了下,编译2无错误提示,直接生产EXE文件,但debug跟踪显示: 
0B4E:0000  MOV AX,0002 
0B4E:0003  ADD AX,AX 
0B4E:0005  XCHG CX,AX 
程序没有正常退出,和预期不一致 

编译4直接报1个warning errors和一个severe errors,提示缺end. 

根据课本上的定义,程序在编译时被编译器发现的错误是语法错误,在运行时发生的错误是逻辑错误。所以2是逻辑错误,4是语法错误
kyolxs
[第22楼]   [ 回复时间:2010-07-19 21:03 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-03-09 15:55
呵呵。

刚刚好做到这道题。。

选 2

语法错误:少了 mov ax,4c00h  int 21h
onepan
[第23楼]   [ 回复时间:2010-09-03 18:47 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-08-27 19:59
2.没有程序返回.
cm_203
[第24楼]   [ 回复时间:2010-09-28 20:35 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-07-01 18:35
书的第82页,第6语法错误和逻辑错误 里已经说了,程序在编译时被编译器发现的错误时语法错误。在源程序编译后,在运行时发生的错误时逻辑错误。语法错误容易发现,也容易解决,而逻辑错误通常不容易被发现。
例题,程序4.2中的错误和测试题中的一样,都是缺少程序返回。
mav ax,4cooH
int 21H
到目前为止,缺这个的就是逻辑错误!
ljl
[第25楼]   [ 回复时间:2011-12-05 18:17 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-11-19 15:29
逻辑错误和语法错误的比较。
这道题其实没有理解的话,直接写个4个asm,然后M一下就知道了,1.3.4肯定过不去。L都可以免掉的。
第23楼的解答正确合理。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved