中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]批处理版汇编语言开发工具
« [1] [2] [3] [4] »
作者:
标题: [原创]批处理版汇编语言开发工具 上一主题 | 下一主题
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『楼 主』:  [原创]批处理版汇编语言开发工具

这是一个完全批处理程序。

一、它的功能是,对为它写的汇编语言源程序进行编译生成可执行exe/com文件


而这种源程序支持以下描述:

一),用8088汇编语言指令系统

二),用DB/DW定义数据,并支持重复定义

三),用SET进行变量设置,如同BAT一样使用。

四),支持宏定义,宏扩展,宏嵌套扩展,并支持参数使用

五),支持子过程定义及调用

六),支持重复宏编程,

七),支持if else endif条件宏编程,可多层嵌套。

八),inc宏定义库文件调用

九),数据文件直接嵌入目标程序

十),特色#为头的标号,可作数据可作地址,主程序,宏(多层嵌套),子过程,if宏(多层嵌套)等
      之间的标号自然独立,并又可相互引用,

十一),以分号;为注释,可独立一行或在行后

十二),EXE程序的段定义方法简单,




二、不需要系统命令外的任何三方工具,

三、程序指令有错误时,直观报错,方便调试

四、了解8088指令系统后,简单学习本工具编程方法便可以使用该工具

五、程序开源,修改方便,可根据个人需要进行修改扩展,

============================
2009.8.1 更新为:    版本2.0.2
小提速了一下,增强了示例源码

============================
2010.9.25 更新为:    版本2.3.0
  1,增加:子过程可以使用参数,并且增加了“invoke” 伪指令,用于带参数调用子过程
  2,增加:子过程可以使用局部变量,这样可以轻松的把常用子过程,做成黑箱代码,方便编译和移殖。
  3,增加:数据结构定义和使用,并且可用于子过程的局部变量定义中
  4,改进了:10进制转16进制的算法,得以小提速
  5,增加:自动对较大的源码进行重复调整地址,这样复杂一点的汇编程序也可以用batasm来开发了。
  6,增加多行汇编语句连写功能,if else endif 连写功能
  7,增加case功能,与else 区别:case的分支只执行一个,而else 则是所有条件成立的。
  8,增加使用if@ else@ case@来解决分支过长时的短跳限制问题。

[ Last edited by netbenton on 2010-9-24 at 07:58 ]

   此帖被 +38 点积分         点击查看详情   
评分人:【 plp626 分数: +15  时间:2009-5-6 05:06
评分人:【 s11ss 分数: +15  时间:2009-7-31 15:01
评分人:【 Evangel 分数: +2  时间:2009-10-31 15:56
评分人:【 zcydez 分数: +1  时间:2010-2-22 09:58
评分人:【 sl543001 分数: +4  时间:2010-2-23 19:11
评分人:【 goltaxhs 分数: +1  时间:2017-8-26 20:36


附件 1: batasm2.0.2.rar (2009-8-1 11:19, 20.92 K,下载次数: 261)
附件 2: batasm2.3.rar (2010-9-25 03:51, 23.55 K,下载次数: 97)


精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-4-1 12:38
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
princezhou
新手上路





积分 3
发帖 2
注册 2007-5-8
状态 离线
『第 2 楼』:  

谢谢分享,太好了!很牛!

2009-4-1 13:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wja2030
新手上路





积分 1
发帖 1
注册 2009-3-4
状态 离线
『第 3 楼』:  

谢谢分享,

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

苏醒的沉睡者


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

没有想到批处理如此强大!



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

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 5 楼』:  

这楼上的简直是史前恐龙,2003年注册的
居然还有存活




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-4-3 08:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
764873221
新手上路





积分 3
发帖 3
注册 2009-3-8
状态 离线
『第 6 楼』:  好啊

谢谢分享,太好了!很牛!

2009-4-3 10:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
DJ131452DJ
初级用户




积分 50
发帖 44
注册 2008-12-7
状态 离线
『第 7 楼』:  

谢谢分享,

2009-4-5 16:19
查看资料  发短消息 网志  OICQ (450775589)  编辑帖子  回复  引用回复
hugreen
初级用户





积分 23
发帖 15
注册 2008-3-26
状态 离线
『第 8 楼』:  

好东西,收下了,谢谢分享
正想重新学学汇编

2009-4-6 06:09
查看资料  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 9 楼』:  

看来玩批处理又同时玩汇编的人不多。

本想得到一点意见,然后再完善完善的,都沉到看不见了,花了那么多时间搞的,不甘心就这么消失了。

这可是能促进批处理和汇编的“关系”的东西哦,一个从BAT进入ASM的小小"管道",可以让玩批处理的人也玩玩汇编。

再顶起来看看能否遇到感兴趣的。。。



精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-4-10 01:01
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
s11ss
银牌会员





积分 2098
发帖 566
注册 2007-9-11
状态 离线
『第 10 楼』:  

用debug玩……

2009-4-10 01:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 11 楼』:  

不知道学汇编的入门在哪里
要哪看哪些书,用哪些工具。。完全不知道。
要不然肯定有兴趣学一学




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-4-10 03:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
s11ss
银牌会员





积分 2098
发帖 566
注册 2007-9-11
状态 离线
『第 12 楼』:  



  Quote:
Originally posted by yishanju at 2009-4-10 03:48 AM:
不知道学汇编的入门在哪里
要哪看哪些书,用哪些工具。。完全不知道。
要不然肯定有兴趣学一学

王爽和罗云彬的书

   此帖被 +8 点积分        点击查看详情   
评分人:【 yishanju 分数: +8  时间:2009-4-10 07:33


2009-4-10 05:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
uchina
新手上路





积分 8
发帖 5
注册 2008-12-10
状态 离线
『第 13 楼』:  

恩,是好东西啊,谢谢分享

2009-4-10 23:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 14 楼』:  

对!
batasm.bat 主要是靠debug来完成,

但是,debug 能支持标号定义,并调用吗?如call  标号
不能,debug 只支持call 1023绝对地址调用

debug可以接收汇编指令的输入,但是顺序一条一条的输入,如果中间有修改,则全部都要修改。


batasm.bat 可以让debug编程差不多像masm一样,并且有些地方更方便,如:
在源码可以这样定义:db "%date%" "%time%"
把实时的系统日期和时间定义到程序中。

batasm.bat 还带有这样一个功能,可以把代码生成16进制数据,在批处理中调用debug来还原为可执行程序。还可以固化为宏代码。

[ Last edited by netbenton on 2009-4-12 at 00:21 ]



精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-4-12 02:18
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 15 楼』:  

再顶一次,我感觉应该还可以忧化的,想所速度提上去,只是自己能力有限,不知道怎么搞了,真希望哪位高人能提点一下。

耐心的等。。。



精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-4-15 01:12
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
« [1] [2] [3] [4] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: