WEB开发网
开发学院软件开发汇编语言 汇编语言的艺术-准备工作(二) 阅读

汇编语言的艺术-准备工作(二)

 2007-04-25 09:30:18 来源:WEB开发网   
核心提示:四、简化名称 前述各种工具,在程式侦错过程中使用频繁,汇编语言的艺术-准备工作(二),为了应用上的方便,如果能少输入一些字符,当然,将其他程式标记后的标题删除亦可,不仅节省时间,且可避免错误

四、简化名称

前述各种工具,在程式侦错过程中使用频繁,为了应用上的方便,如果能少输入一些字符,不仅节省时间,且可避免错误。令用者在惯性反应下,得以集中精神,思考其他细节。
简化名称是最简单的方法,最好只用一个字母,由于长度相等,其后面的档案名称,就可以利用系统所提供的“F3”「复制上行」功能,不必再行输入。

是以:edlin.com 改为 e.com
masm.exe 改为 m.exe
link.exe 改为 l.exe
debug.exe 改为 d.exe
symdeb.exe 改为 s.exe
例如:在完成一个程式后,若要汇编,只要改第一个字母即可。
c:\>e myfile.asm ( 原来在系统中输入的字符 )
此时仅输入“M”,再按“F3”键,立即变为:
c:\>m myfile.asm
此外,如不需 .lst 等档案,则再加一“;”即可。
c:\>m myfile.asm;
“L”及“D”等同样都可依循上面的方法,看来是雕虫小技,但实际上所节省的时间及精力却不同凡响。

五、参考资料

除专门性的资料外,程式师应该备妥各种有关输出、入,各种周边设备的参考资料或手册等,以便随手查阅。
最重要的是软件参考手册 MS-DOS Software Reference,其中有各种中断命令的使用规格。唯应注意的,是有一些中断功能与IBM BIOS相同,我建议读者不要使用这些中断,因其调用过程中,要借道BIOS,会使速度减慢。
其次为 IBM Programmer's Manual 的BIOS中断规格, 是处理所有周边设备必需的工具。
正因为它涉及周边设备,在设计中文系统时,输出入、显示及列印等功能都有待修改,这本手册更须彻底瞭解。
此外还有键盘的输入码表,也是编程必备的资料,本书附录三即为简要的码表介绍。
如果是编写应用程式,上述的资料已足够应付,但若涉及系统,则尚需瞭解系统的记忆空间安排,下表为 IBM微电脑的记忆区结构。各种厂牌设计理念虽有差别,但大同小异。
系统段 位 址 机 能 用 途
┌──────────────┐
0000 0000H │中断调用表 │
├──────────────┤
0000 0500H │DOS 及系统操作区 │
├──────────────┤
0000 4C00H │周边控制程式 │
├──────────────┤
0000 5400H │COMMAND 运用 │
├──────────────┤
0000 0E0A0H │使用者操作空间 │
├──────────────┤
000A 0000H │萤幕缓冲区(VGA) │
├──────────────┤
000B 0000H │萤幕缓冲区(CGA,EGA) │
├──────────────┤
000C 0000H │EMS 记忆体扩充区 │
├──────────────┤
000F 0000H │ROM BIOS 程式区 │
└──────────────┘
上述之系统段,调入段暂存器中时,原来的 000AH应该是0A00H,余同。
又使用者操作空间的起始点,因各家设计而异。
第二节 应用工具的制作

一、联接目标档(OBJ Files)

程式完成以后,相互间的联结,越大越难,有时是结构的改变,有时是档名的变动。不论什么因素,在在都需要加以维护,而且对工作效率关系重大。

因此,需先建立一个 do.bat 的执行档,其内容为:
1:LINK/M @XXXX
此 XXXX 为一记录档,其中记载所有需联结的目标档名,如果有任何异动,直接更改此档即可。
在联结时,执行 DO 即可。

例如:要制作 draw.exe 档,已有 dr1.obj .. drn.obj 以及dr-seg.obj 等档,则此 xxxx 档内容应为:
1: DR-SEG+
2: dr1+dr2+.. drn
3: DRAW,DRAW,,
在执行 do 后,如果没有错误,所产生的 draw.exe 以及draw.sym 即可供测试。

也可在第三条后加入:
4: symdeb (或仅用 s)draw.exe draw.sym
似此,在发展初期,立即可以测试。如果不需再次联结,将第四条另外作一 .bat 档,随时执行亦可。

另外有一点需要注意的是,为了要让可执行的程式由指定的起点开始,应在原始档 .asm 的结束格式标记‘end ’后,加一起点的标题名称。
此标记不论有多少,联接目标档时,会以第一个找到的标题为唯一的入口。如果程式很多,参与工作的程式师也多,在分开测试时,经常使用自己的入口,一旦联接在一起,就可能发生错误。
解决的方法是由负责联接的程式师,事先准备好前述XXXX记录档,将带有入口标记的程式放在最前面即可。当然,将其他程式标记后的标题删除亦可,但不如前法效率高。

Tags:汇编语言 艺术 准备

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接