目录 上一页 下一页 附录A

第11章 更高级的技术 -321-

伪指令说明
IFIDN 字符串1,字符串2如果两个字符串相同,则条件成立
IFDIF 字符串1,字符串2如果两个字符串相同,则条件成立
11.4 模块化程序设计
  早期的计算机运算速度很慢而且内存也很小,象最早的个人电脑Altair只有4KB的内存。所以早期的程序设计者所追求的目标是代码越短越好,算法越快越好。他们往往要一个字节一个字节的精心编码,而且喜爱在程序中使用很离奇的算法。这样做虽然使程序能高效运行,但是程序员的源程序恐怕只有他们自己才能读懂,经验不多的人是难于改进这些程序的。
  随着电子技术的发展,计算机的速度越来越快,内存也越来越大,这使得现代的软件设计理论也就有了很大的变化。流行的观念认为好的程序首先应该是逻辑清晰,结构严谨,能够适应于不同水平的程序设计者对其加以维护,其次才考虑空间与时间问题。因此把一个软件分解成多个具有独立功能的模块分别设计,最终在组合起来的程序设计技术已经为人们所接受。
  另外,编写程序是一件十分费心费力的工作,特别是汇编程序。对于一些小型的软件如果由一个人单独编写还可以接受,可如果是开发象WINDOWS这样的大型操作系统,那可就要由很多人合作才行了。
  由于上述原因所以今天的软件设计主要采用"模块化"程序设计技术。所谓"模块化"指得是把一个程序分解成多个具有独立功能的部分,分给多个程序员同时编写,最后再把这些部分连接在一起形成完整的程序。
  下面给出的这个程序例就是应用了模块化程序设计技术,程序本身有些老掉牙了,只不过是将键盘上输入字符的扫描码与ASCII码显示在屏幕上而已:
TEST1.ASM
EXTRN

data

msg


data

code

main



hex2asc:

segment
assume
db
db
db
ends

segment
assume
proc
push
sub

far

PARA PUBLIC 'DATSEG'
ds:data
'Module program demo
'Press any key,I will t
'the scan-code and ASCI


PARA PUBLIC 'CODE'
cs:code
far
ds
ax,ax

;告之LINK程序HEX2ASC是位于另一个
;源程序中的过程,且为FAR属性


nstration',0dh,0ah
ell you ',0dh,0ah
I.',0dh,0ah,24h





;初始化堆栈


Copyright © 2004-2015 Reanimator www.cookmoon.org

目录 上一页 下一页 附录A