鱼C论坛

 找回密码
 立即注册
查看: 2226|回复: 8

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

[复制链接]
发表于 2012-4-12 12:08:13 | 显示全部楼层 |阅读模式
1鱼币
assume cs:code
code segment
         mov ax,0020h
         mov dx,ax
         mov bl,0
     mov cx,40hs:  mov [bx],bl//bx 不用自增吗?
     inc bl
  loop s
mov ax,4c00h
int 21h
code ends
end  //这个事怎么实现的?看不懂?

最佳答案

查看完整内容

bl是bx的低位,bh为0的话,只要bl自增就相当于bx自增
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-4-12 12:08:14 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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 [bx],bl  

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

         loop s

                        mov ax,4c00h

                        int 21h

code ends
end  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-4-12 13:17:11 | 显示全部楼层
hxs554f 发表于 2012-4-12 12:39
assume cs:code
code segment

mov [bx],bl    bx 如果不自曾的话...bl每指向一个数据 都存放在同一个bx(内存单元中)了》??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-4-12 14:04:25 | 显示全部楼层
看了下一楼的但是有个问题就是你这样  会把数据写在哪里呢)))如何往内存中写数据呢  只是一直再改reg bl的值呀。。。  应该在自增后加两句吧。。
mov di,0
Mov byte str[di],bl
inc di
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-4-12 14:05:37 | 显示全部楼层
不对他的循环次数也有问题应该为 63
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-4-12 14:11:03 | 显示全部楼层
我看错了应为64或40h
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-4-12 15:07:57 | 显示全部楼层
梦dream惜cheris 发表于 2012-4-12 14:11
我看错了应为64或40h

额   bx 不用自增吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-4-12 15:29:38 | 显示全部楼层
啊,最好在循环前先将bh置0。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-20 00:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表