📄 page321.html
字号:
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
<title>第11章 更高级的技术</title>
</head>
<body>
<style type="text/css">
body {
background-color: #c0c0c0;
}
table {
background-color: #c0c0c0;
line-height: 24px;
}
</style>
<!导航条>
<p><a href="content1.html">目录</a> <a href="page320.html">上一页</a> <a href="page322.html">下一页</a> <a href="page328.html">附录A</a></p>
<table border=0 align="center" width=800 frame="box" rules="none">
<!标尺行>
<tr>
<td width=3%></td><td width=6%></td><td width=1%></td> <!左侧空白>
<td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td>
<td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td>
<td width=1%></td><td width=6%></td><td width=3%></td> <!右侧空白>
</tr>
<!页眉行>
<tr height=60 valign="bottom">
<td></td><td></td><td></td>
<td colspan=6><img src="icons/flag.gif"></td><td colspan=4></td><td colspan=6 align="right">第11章 更高级的技术</td> <!章节名>
<td></td><td>-321-</td><td></td> <!页码>
</tr>
<!页眉线>
<tr valign="top">
<td></td><td colspan=20><hr></td><td></td>
</tr>
<!正文>
<font face="宋体" lang="ZH-CN" size=3>
<tr height=20><td colspan=22></td></tr> <!顶部空白>
<tr>
<td></td><td></td> <!左边距>
<td colspan=5>伪指令</td><td colspan=13>说明</td>
<td></td><td></td> <!右边距>
</tr>
<tr>
<td></td><td></td> <!左边距>
<td colspan=5>IFIDN 字符串1,字符串2</td><td colspan=13>如果两个字符串相同,则条件成立</td>
<td></td><td></td> <!右边距>
</tr>
<tr>
<td></td><td></td> <!左边距>
<td colspan=5>IFDIF 字符串1,字符串2</td><td colspan=13>如果两个字符串相同,则条件成立</td>
<td></td><td></td> <!右边距>
</tr>
<tr>
<td></td><td></td> <!左边距>
<td colspan=18><font face="黑体"><a name="114">11.4 模块化程序设计</a></font></td>
<td></td><td></td> <!右边距>
</tr>
<tr>
<td></td><td></td> <!左边距>
<td colspan=18>
早期的计算机运算速度很慢而且内存也很小,象最早的个人电脑Altair只有4KB的内存。所以早期的程序设计者所追求的目标是代码越短越好,算法越快越好。他们往往要一个字节一个字节的精心编码,而且喜爱在程序中使用很离奇的算法。这样做虽然使程序能高效运行,但是程序员的源程序恐怕只有他们自己才能读懂,经验不多的人是难于改进这些程序的。<br>
随着电子技术的发展,计算机的速度越来越快,内存也越来越大,这使得现代的软件设计理论也就有了很大的变化。流行的观念认为好的程序首先应该是逻辑清晰,结构严谨,能够适应于不同水平的程序设计者对其加以维护,其次才考虑空间与时间问题。因此把一个软件分解成多个具有独立功能的模块分别设计,最终在组合起来的程序设计技术已经为人们所接受。<br>
另外,编写程序是一件十分费心费力的工作,特别是汇编程序。对于一些小型的软件如果由一个人单独编写还可以接受,可如果是开发象WINDOWS这样的大型操作系统,那可就要由很多人合作才行了。<br>
由于上述原因所以今天的软件设计主要采用"模块化"程序设计技术。所谓"模块化"指得是把一个程序分解成多个具有独立功能的部分,分给多个程序员同时编写,最后再把这些部分连接在一起形成完整的程序。<br>
下面给出的这个程序例就是应用了模块化程序设计技术,程序本身有些老掉牙了,只不过是将键盘上输入字符的扫描码与ASCII码显示在屏幕上而已:
</td>
<td></td><td></td> <!右边距>
</tr>
<tr>
<td></td><td></td> <!左边距>
<td colspan=2>
TEST1.ASM<br>
EXTRN<br>
<br>
data<br>
<br>
msg<br>
<br>
<br>
data<br>
<br>
code<br>
<br>
main<br>
<br>
<br>
</td>
<td colspan=2>
<br>
hex2asc:<br>
<br>
segment<br>
assume<br>
db<br>
db<br>
db<br>
ends<br>
<br>
segment<br>
assume<br>
proc<br>
push<br>
sub
</td>
<td colspan=5>
<br>
far<br>
<br>
PARA PUBLIC 'DATSEG'<br>
ds:data<br>
'Module program demonst<br>
'Press any key,I will t<br>
'the scan-code and ASCI<br>
<br>
<br>
PARA PUBLIC 'CODE'<br>
cs:code<br>
far<br>
ds<br>
ax,ax
</td>
<td colspan=9>
<br>
;告之LINK程序HEX2ASC是位于另一个<br>
;源程序中的过程,且为FAR属性<br>
<br>
<br>
ration',0dh,0ah<br>
ell you ',0dh,0ah<br>
I.',0dh,0ah,24h<br>
<br>
<br>
<br>
<br>
<br>
;初始化堆栈<br>
<br>
</td>
<td></td><td></td> <!右边距>
</tr>
</font>
<!页脚线>
<tr valign="top">
<td></td><td colspan=20><hr></td><td></td>
</tr>
<!页脚>
<tr height=60 valign="top">
<td></td><td></td>
<td colspan=9><i>Copyright © 2004-2005 <a href="mailto:webmaster@nucstorm.com">Chunk Lee</a></i></td>
<td colspan=9 align="right"><i><a href="http://www.nucstorm.com" target="_top">www.nucstorm.com</a></i></td>
<td></td><td></td>
</tr>
</table>
<!导航条>
<p align="right"><a href="content1.html">目录</a> <a href="page320.html">上一页</a> <a href="page322.html">下一页</a> <a href="page328.html">附录A</a></p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -