芊芊 发表于 2012-4-12 12:08:13

将0:200~0:23f 依次传送数据0~63怎么实现的 ?

assume cs:code
code segment
         mov ax,0020h
         mov dx,ax
         mov bl,0
   mov cx,40hs:mov ,bl//bx 不用自增吗?
   inc bl
loop s
mov ax,4c00h
int 21h
code ends
end//这个事怎么实现的?看不懂?

hxs554f 发表于 2012-4-12 12:08:14

本帖最后由 hxs554f 于 2012-4-12 15:34 编辑

芊芊 发表于 2012-4-12 15:07 static/image/common/back.gif
额   bx 不用自增吗?
bl是bx的低位,bh为0的话,只要bl自增就相当于bx自增

hxs554f 发表于 2012-4-12 12:39:19

assume cs:code
code segment

         mov ax,0020h

       ; mov dx,ax   
         mov ds,ax    ;ds为20h, 20:0相当于0:200
         mov bl,0

         mov cx,40h   ;循环次数
   s:mov ,bl

         inc bl       ;这句bl自增,64在bl中就可以放得下,不必用bx

         loop s

                        mov ax,4c00h

                        int 21h

code ends
end

芊芊 发表于 2012-4-12 13:17:11

hxs554f 发表于 2012-4-12 12:39 static/image/common/back.gif
assume cs:code
code segment



mov ,bl    bx 如果不自曾的话...bl每指向一个数据 都存放在同一个bx(内存单元中)了》??

梦dream惜cheris 发表于 2012-4-12 14:04:25

看了下一楼的但是有个问题就是你这样会把数据写在哪里呢)))如何往内存中写数据呢只是一直再改reg bl的值呀。。。应该在自增后加两句吧。。
mov di,0
Mov byte str,bl
inc di

梦dream惜cheris 发表于 2012-4-12 14:05:37

不对他的循环次数也有问题应该为 63

梦dream惜cheris 发表于 2012-4-12 14:11:03

我看错了应为64或40h

芊芊 发表于 2012-4-12 15:07:57

梦dream惜cheris 发表于 2012-4-12 14:11 static/image/common/back.gif
我看错了应为64或40h

额   bx 不用自增吗?

hxs554f 发表于 2012-4-12 15:29:38

啊,最好在循环前先将bh置0。
页: [1]
查看完整版本: 将0:200~0:23f 依次传送数据0~63怎么实现的 ?