?? page327.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="page326.html">上一頁</a> <a href="page328.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>-327-</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=2>
module1.<br>
data<br>
<br>
num1<br>
num2<br>
data<br>
......
</td>
<td colspan=2>
asm<br>
segment<br>
assume<br>
dw<br>
dw<br>
ends<br>
<br>
</td>
<td colspan=5>
<br>
para COMMON 'data'<br>
ds:data<br>
?<br>
?<br>
<br>
<br>
</td>
<td colspan=2>
module2.<br>
data<br>
<br>
num1<br>
num2<br>
data<br>
......
</td>
<td colspan=2>
asm<br>
segment<br>
assume<br>
dw<br>
dw<br>
ends<br>
<br>
</td>
<td colspan=5>
<br>
para COMMON 'data'<br>
ds:data<br>
2<br>
5<br>
<br>
<br>
</td>
<td></td><td></td> <!右邊距>
</tr>
<tr>
<td></td><td></td> <!左邊距>
<td colspan=18>
由于兩個模塊中的DATA段都是"COMMON"類型的,所以這兩個模塊在連接的時候模塊1中的DATA段會被模塊2中的DATA段"覆蓋"。因此雖然模塊1的數據段中有兩個字的數據,模塊2的數據段內也有兩個字,但是最終生成的可執行文件中只有一個數據段且其中只有兩個字,而不是有四個字。<br>
正是由于"覆蓋"的關系,所以模塊1中的num1與模塊2中的num1實際是在內存同一地址處,所以在模塊1中引用num1就等于引用了模塊2中的num1。這樣就形成了數據共享的關系。<br>
以上介紹的是模塊化程序設計技術中最基本的內容,實際上模塊化程序設計技術中還有兩個重點內容:第一是匯編子程序庫<a href="#note1"><sup>①</sup></a>的建立與維護;第二是匯編語言與高級語言的聯合編程。限于篇幅,有關這兩方面的內容本書不再介紹。<br>
<font face="黑體">
本章結束語<br>
</font>
本章對于程序設計技術所進行的討論是很簡單的,并不十分全面。有些重要的內容,如TSR程序的設計技巧我們沒有進行更多的研究,實際上單單是TSR程序的設計技巧就足以寫一本書來講述。筆者在這最后一章內只是很初步地給大家開了個頭兒,更深入的內容還要讀者自己去探索。想學會一種本領不容易,想學精一種本領就更難了,探索是永無止境的。<br>
<br><br><br><br><br><br><br><br><br><br><br>
</td>
<td></td><td></td> <!右邊距>
</tr>
</font>
<tr>
<td></td><td></td>
<td colspan="9"><hr></td><td colspan="9"></td>
<td></td><td></td>
</tr>
<tr>
<td></td><td></td>
<td colspan="18"><font face="楷體_GB2312" size="2"><a name="note1">① LINK程序最后提示大家輸入一個擴展名為LIB的文件,這類文件就是子程序庫文件。</a>
</font></td>
<td></td><td></td>
</tr>
<!頁腳線>
<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="page326.html">上一頁</a> <a href="page328.html">下一頁</a> <a href="page328.html">附錄A</a></p>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -