?? page133.html
字號:
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
<title>第6章 文字輸出與鍵盤輸入</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="page132.html">上一頁</a> <a href="page134.html">下一頁</a> <a href="page168.html">下一章</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">第6章 文字輸出與鍵盤輸入</td> <!章節名>
<td></td><td>-133-</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=3>
09F9:0100<br>
09F9:0103<br>
09F9:0105<br>
09F9:0107<br>
09F9:0109<br>
09F9:010C<br>
09F9:010E<br>
09F9:0110<br>
09F9:0112<br>
09F9:0114<br>
09F9:0116<br>
09F9:0119<br>
09F9:011B
</td>
<td colspan=2>
BA0000<br>
B700<br>
B402<br>
CD10<br>
B98000<br>
B020<br>
B307<br>
B409<br>
CD10<br>
FEC6<br>
80FE19<br>
72E8<br>
CD20
</td>
<td colspan=1>
MOV<br>
MOV<br>
MOV<br>
INT<br>
MOV<br>
MOV<br>
MOV<br>
MOV<br>
INT<br>
INC<br>
CMP<br>
JB<br>
INT
</td>
<td colspan=2>
DX,0000<br>
BH,00<br>
AH,02<br>
10<br>
CX,0080<br>
AL,20<br>
BL,07<br>
AH,09<br>
10<br>
DH<br>
DH,19<br>
0103<br>
20
</td>
<td colspan=10>
;設置新的光標位置<br>
;BH寄存器裝入顯示頁號<br>
;利用10H中斷的02功能<br>
;設置光標位置<br>
;顯示80個字符<br>
;準備顯示空格<br>
;顯示黑底白字正常屬性<br>
;利用10H中斷的09功能<br>
;顯示空格<br>
;光標行號加1<br>
;已經到屏幕底部了嗎?<br>
;未到屏幕底部,轉0103繼續<br>
;結束程序
</td>
<td></td><td></td> <!右邊距>
</tr>
<tr>
<td></td><td></td> <!左邊距>
<td colspan=18>
好象問題就這么簡單,難道只有這一種方法嗎?下面我們就要來學習新的解決辦法。<br>
大家對于屏幕的"滾動"并不陌生,我們所面對的屏幕只能顯示25行文字,如果顯示的文字多于25行,那么位于屏幕最頂端的字符就會滾到屏幕外面。其實屏幕的上下滾動是完全可以用程序控制的,而且我們不僅可以控制整個屏幕的滾動,還能讓屏幕上某一部分的內容上下滾動。方法也很簡單,只不過是10H中斷的兩個功能調用而已:
</td>
<td></td><td></td> <!右邊距>
</tr>
<tr>
<td></td><td></td> <!左邊距>
<td colspan=3 align="center"><img src="icons/note.gif"></td>
<td colspan=15>
功能號:06H/07H<br>
用 途:窗口內容向上/向下滾動<br>
參 數:AL=要滾動的行數(若是0將清窗口)<br>
BH=填入新行的屬性<br>
CH=滾動窗口的左上角行號<br>
CL=滾動窗口的左上角列號<br>
DH=滾動窗口的右下角行號<br>
DL=滾動窗口的右下角列號<br>
調 用:INT 10H<br>
返 回:無
</td>
<td></td><td></td> <!右邊距>
</tr>
<tr>
<td></td><td></td> <!左邊距>
<td colspan=18>
兩個功能調用滾動的方向相反,如果我們從給出的這兩個功能調用的參數上加以分析,我們可以大概推測出這兩個功能調用所能完成的工作:<br>
<font face="楷體_GB2312">
?。?)用這兩個功能調用既可以滾動屏幕上的一個窗口,也可以滾動整個屏幕,只需將窗口的左上角定為(0,0),將右下角定為(79,25);<br>
?。?)滾動的行數可以任意(由AL寄存器決定);<br>
?。?)在清除后的屏幕上顯示文字會產生色彩,而不僅僅是單純的黑色(由BH寄存器決定)。<br>
</font>
這只是簡單的設想,能否實現還要靠編程驗證。讓我們編寫下列程序:
</td>
<td></td><td></td> <!右邊距>
</tr>
<tr>
<td></td><td></td> <!左邊距>
<td colspan=2>
code<br>
<br>
<br>
</td>
<td colspan=2>
segment<br>
assume<br>
org
</td>
<td colspan=6>
<br>
cs:code,ds:code<br>
100h
</td>
<td colspan=8>
</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="page132.html">上一頁</a> <a href="page134.html">下一頁</a> <a href="page168.html">下一章</a></p>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -