. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  检测题9.2的一点感想  [待解决] 回复[ 5次 ]   点击[ 1139次 ]  
fontomas
[帖 主]   [ 发表时间:2008-08-11 06:44 ]   [引用]   [回复]   [ top ] 
荣誉值:6
信誉值:2
注册日期:2007-08-08 14:22
利用jcxz指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。    
assume cs:code    
code segment    
    start:
        mov ax, 2000H
        mov ds, ax
        mov bx, 0H
    s:  ________
        ________
        ________
        ________
        jmp short s
    ok:
        mov dx, bx
        mov ax, 4C00H
        int 21H
code ends
end start

答案:
第一条指令:mov cl,[bx]
第二条指令:mov ch,0
第三条指令:jcxz ok
第四条指令:inc bx
---------------
分析:此题颇费了一番脑筋。刚刚拿到题目的时候完全不知道该如何下手,尤其想不通该如何实现题目中的“查找”二字,只是觉得要使用jcxz指令,就要利用它的cx=0的特性,可是还是不知该如何着手。
后来在论坛的相关版面搜索了一些贴子,仔细的看完方才恍然大悟!
一开使我认为答案的前3条指令是利用了jcxz指令,当cx=0时才执行的特性,使得jcxz指令得以执行、程序得以实现,是十足的欺骗,根本没有实现题目要求中的“查找”的要求!而inc bx则根本可有可无,完全看不出把它填在这里有什么作用,是一条十足的废指令!
然后,我想,如果inc bx是废指令,为什么大家都在最后填它?如果它是废指令,而答案的前3条又利用了jcxz指令的特性,那这道题目根本就没有实现题目要求的“循环查找”功能,但这可能么?那此题还有什么意义?
然后我又接着往下想,到底怎样才能“循环查找”呢?以前我们一直用loop指令来实现,可是此题目里只有两个标号,无论如何也不可能循环回去啊?!这时我突然有看到了jmp short s这条指令,你又什么感觉?反正我真想大嘴巴子抽自己!
找到了循环的办法,但是我还是觉得答案在欺骗我们,直接都令cx=0了,哪里还需要循环?不循环有怎么实现“查找”?!
OK,写到这先换个行,随便问个问题,看书求速度,抓进度的朋友们,你们看到这里是不是也有我上面的疑问——既然CX已经等于零了,那还需要查找吗?这根本就是在骗人嘛!
好了,回魂儿了,如果你有上面的问题,那我给你个建议,放下你的速度,回去翻翻书吧,你走的太快了,快要摔倒了!

bx是什么?[bx]又是什么?bx=0,则[bx]也等于零吗?搞清楚这一点,你就知道mov cl,[bx]和inc bx的作用了!那么可以祝贺你了!

上面的废话是我在做检测点9.2时的一点感想,遗憾的是答案不是自己想出来的。
这篇是我从Blog的【汇编作业】里转帖过来的,毕竟这里人气似乎更旺一些,也许能给正陷入迷惑中的朋友们些微的提示。还有,目的也是希望你们去给哦捧捧场,呵呵 :)
http://www.asmedu.net/blog/user/postcontent.jsp?neighborId=2662&kindId=16393&postId=22074
oldmtn
[第1楼]   [ 回复时间:2008-08-11 11:16 ]   [引用]   [回复]   [ top ] 
荣誉值:5
信誉值:3
注册日期:2008-07-14 19:30
楼主啊,我真的要向你好好学习啊

在做这道题目的时候,我自己也没花多少时间,想的也没怎么多,可是就3弄2弄,答案就被我弄出来了

没你想的那么多,感觉不是很透彻.
但是就好象知道答案一样,,


有了你的许多分析,也受教了
zhangtaopy
[第2楼]   [ 回复时间:2008-08-29 11:05 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-08-19 12:07
其实把 mov ch,0h 写到循环外面会更好    Ch在这个过程中一直没变过吧
eaookii
[第3楼]   [ 回复时间:2013-04-21 14:30 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2013-03-16 12:52
不得不顶
dzxxbj
[第4楼]   [ 回复时间:2013-05-22 19:06 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2013-05-22 12:56
回复:[第2楼]
------------------
不错
1152659530
[第5楼]   [ 回复时间:2023-07-29 18:19 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2023-07-25 10:13
顶!我也有同感,欲速则不达。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved