中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 汇编语言编译器使用3 上一主题 | 下一主题
chrise
初级用户





积分 88
发帖 32
注册 2010-3-27
状态 离线
『楼 主』:  汇编语言编译器使用3

是检测单元STRN中字符个数的程序
DATAS SEGMENT
    STRN DB 'ASDFADFASSDF','$'
    STRLN DB ?
   
DATAS ENDS
CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS
START:
    MOV AX,DATAS
    MOV DS,AX
    MOV DL,0
    LEA SI,STRN
CYCLE:CMP [SI],'$'
       JE DONE
       INC DL
       INC SI
       JMP CYCLE
DONE:MOV STRLN,DL
      AND DL,30H
      MOV AH,02H
      INT 21H
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START
可以正常编译,但是运行时却不会显示出个数,已经写上了显示的程序,是什么原因呢?望指教

2010-4-7 21:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
本是
银牌会员





积分 2201
发帖 789
注册 2005-1-27
状态 离线
『第 2 楼』:  

错误有2处,一是STRN DB 'ASDFADFASSDF','$',但关键在于AND DL,30H。
你本来是想显示DL中字符个数(你的个数显示太简单,只能显示1到9,其它就显示为字符了),其实也显示了,但因为AND DL,30H后DL为0,加上字符颜色是默认值,故看不出。只要改AND为ADD,并至少去掉STRN中3个及以上的字符,即可正常显示。



my major is english----my love is dos----my teacher is the buddha----my friends--how about U
2010-4-8 09:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
070
高级用户

苏醒的沉睡者


积分 659
发帖 217
注册 2003-2-15
来自 福建
状态 离线
『第 3 楼』:  

本是 对汇编很精通啊,厉害

chrise,你学汇编是用什么教程? 书后面有没有附带电子版的源代码?



好久没碰Dos,手都生了,赶紧回来练练.嘿嘿
2010-4-8 12:15
查看资料  发送邮件  发短消息 网志  OICQ (181315400)  编辑帖子  回复  引用回复
本是
银牌会员





积分 2201
发帖 789
注册 2005-1-27
状态 离线
『第 4 楼』:  

070还是007?谢谢夸奖!高手不敢当,爱好而已。
初学者是这样的——几乎什么都会错的。记得有本专讲VGA编程的书,其中有个VGA直线显示程序,某一行一个寄存器印错,怎么也调试不出来。后来还是看到类似程序段,对勘悟出的。汇编一定要读懂源程序,然后尝试改进,最后就能自编了。一个好的办法是从王爽的《汇编语言》起步。我当年可没这么好的入门砖!



my major is english----my love is dos----my teacher is the buddha----my friends--how about U
2010-4-8 14:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
070
高级用户

苏醒的沉睡者


积分 659
发帖 217
注册 2003-2-15
来自 福建
状态 离线
『第 5 楼』:  

070,不是特工哈。
汇编不算太难,结构清晰的,应该还是没有问题。。。

我对c更了解些,汇编能不用就不用。


现在论坛越来越萧条了啊,发帖回复的都很少了
Wengier貌似也好久没有现身了,新dos时代也很久没有更新,许多软件链接都失效了。

国内开源软件做的不多,关于dos的就更不多了。



好久没碰Dos,手都生了,赶紧回来练练.嘿嘿
2010-4-8 15:14
查看资料  发送邮件  发短消息 网志  OICQ (181315400)  编辑帖子  回复  引用回复
chrise
初级用户





积分 88
发帖 32
注册 2010-3-27
状态 离线
『第 6 楼』:  用的教程

我用的是西安电子科技大学罗万钧写的书。刚开始学,出现些问题确实自己找不出,多谢你们指教啊

2010-4-8 20:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
070
高级用户

苏醒的沉睡者


积分 659
发帖 217
注册 2003-2-15
来自 福建
状态 离线
『第 7 楼』:  

网上都推荐王爽的汇编书籍,我没有看过,你可以试着找找看,评价那么好,应该有点底蕴在里面。



好久没碰Dos,手都生了,赶紧回来练练.嘿嘿
2010-4-9 11:42
查看资料  发送邮件  发短消息 网志  OICQ (181315400)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: