. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
主题 : :  关于检测点9.3的问题??  [待解决] 回复[ 27次 ]   点击[ 1545次 ]  
huibinfog
[帖 主] [ 发表时间:2008-02-18 11:17 ] 
荣誉值:0
信誉值:0
注册日期:2008-01-17 15:56
利用loop指令,实现在内存2000段中查找第一个值为0的byte, 找到后,将它的偏移地址存储在dx中 

assume cs:code 

code segment 
  
  start:mov ax, 2000h 
        mov ds, ax 
        mov bx, 0 
       
      s:mov cl, [bx] 
        mov ch, 0 
         
        ____________  
        inc bx 
        loop s 
       
     ok:dec bx 
        mov dx, bx 
        mov ax, 4c00h 
        int 21h 
code ends 
end start
这个题里空的地方是添inc cx呢还是添dec cx呢?我感觉好象都可以啊!!我做的对不对啊!给个指导谢谢各位!
另外我想问下inc和dec是把内存地址加减1了还是把里面的内容加减1了?还有就是我想问下loop这个指令是不是说执行到这一条上才会cx=cx-1呢??
duckgaga
[第4楼] [ 回复时间:2008-04-15 13:21 ] 
荣誉值:44
信誉值:0
注册日期:2008-04-11 13:33
那这么说应该是inc 1啦!对吧!因为cx内容变成1,然后执行到loop时减1变成0就会往下了对不?
------------------
回复:对了,因为如果在执行loop前cx就等于0的话,loop时减1,cx就会变成0ffh了,这一点很重要哦
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved