中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-23 22:16
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]批处理版汇编语言开发工具 查看 14,356 回复 46
楼 主 [原创]批处理版汇编语言开发工具 发表于 2009-04-01 12:38 ·  中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
17年会员
UID 135147
性别 男
来自 广西
状态 离线
这是一个完全批处理程序。

一、它的功能是,对为它写的汇编语言源程序进行编译生成可执行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 ]
本帖最近评分记录 (共 6 条) 点击查看详情
评分人分数时间
plp626 +15 2009-05-06 05:06
s11ss +15 2009-07-31 15:01
Evangel +2 2009-10-31 15:56
zcydez +1 2010-02-22 09:58
sl543001 +4 2010-02-23 19:11
goltaxhs +1 2017-08-26 20:36
附件
batasm2.0.2.rar (20.92 KiB, 下载次数: 261)
batasm2.3.rar (23.55 KiB, 下载次数: 97)
精简
=> 个人网志
2 发表于 2009-04-01 13:54 ·  中国 广东 东莞 电信
新手上路
积分 3
发帖 2
注册 2007-05-08 15:36
19年会员
UID 87863
性别 男
状态 离线
谢谢分享,太好了!很牛!
3 发表于 2009-04-02 06:00 ·  中国 河南 南阳 联通
新手上路
积分 1
发帖 1
注册 2009-03-04 04:47
17年会员
UID 140540
性别 男
状态 离线
谢谢分享,
4 发表于 2009-04-03 08:23 ·  中国 黑龙江 哈尔滨 联通
高级用户
★★
苏醒的沉睡者
积分 659
发帖 217
注册 2003-02-15 00:00
23年会员
UID 930
性别 男
来自 福建
状态 离线
没有想到批处理如此强大!
好久没碰Dos,手都生了,赶紧回来练练.嘿嘿
5 发表于 2009-04-03 08:30 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
这楼上的简直是史前恐龙,2003年注册的
居然还有存活

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
6 好啊 发表于 2009-04-03 10:56 ·  中国 湖北 武汉 联通
新手上路
积分 3
发帖 3
注册 2009-03-08 07:09
17年会员
UID 140940
性别 男
状态 离线
谢谢分享,太好了!很牛!
7 发表于 2009-04-05 16:19 ·  中国 广东 东莞 电信
初级用户
积分 50
发帖 44
注册 2008-12-07 13:05
17年会员
UID 133134
性别 男
状态 离线
谢谢分享,
8 发表于 2009-04-06 06:09 ·  中国 广东 河源 联通
初级用户
积分 23
发帖 15
注册 2008-03-26 19:44
18年会员
UID 114120
性别 男
状态 离线
好东西,收下了,谢谢分享
正想重新学学汇编
9 发表于 2009-04-10 01:01 ·  中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
17年会员
UID 135147
性别 男
来自 广西
状态 离线
看来玩批处理又同时玩汇编的人不多。

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

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

再顶起来看看能否遇到感兴趣的。。。
精简
=> 个人网志
10 发表于 2009-04-10 01:26 ·  中国 北京 海淀区 联通
银牌会员
★★★
积分 2,098
发帖 566
注册 2007-09-11 07:27
18年会员
UID 97070
性别 男
状态 离线
用debug玩……
11 发表于 2009-04-10 03:48 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
不知道学汇编的入门在哪里
要哪看哪些书,用哪些工具。。完全不知道。
要不然肯定有兴趣学一学

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
12 发表于 2009-04-10 05:57 ·  中国 北京 海淀区 联通
银牌会员
★★★
积分 2,098
发帖 566
注册 2007-09-11 07:27
18年会员
UID 97070
性别 男
状态 离线
Originally posted by yishanju at 2009-4-10 03:48 AM:
不知道学汇编的入门在哪里
要哪看哪些书,用哪些工具。。完全不知道。
要不然肯定有兴趣学一学



王爽和罗云彬的书
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
yishanju +8 2009-04-10 07:33
13 发表于 2009-04-10 23:14 ·  中国 天津 红桥区 联通
新手上路
积分 8
发帖 5
注册 2008-12-10 14:29
17年会员
UID 133434
性别 男
状态 离线
恩,是好东西啊,谢谢分享
14 发表于 2009-04-12 02:18 ·  中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
17年会员
UID 135147
性别 男
来自 广西
状态 离线
对!
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 ]
精简
=> 个人网志
15 发表于 2009-04-15 01:12 ·  中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
17年会员
UID 135147
性别 男
来自 广西
状态 离线
再顶一次,我感觉应该还可以忧化的,想所速度提上去,只是自己能力有限,不知道怎么搞了,真希望哪位高人能提点一下。

耐心的等。。。
精简
=> 个人网志
论坛跳转: