?? page273.html
字號:
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
<title>第10章 細節補充</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="page272.html">上一頁</a> <a href="page274.html">下一頁</a> <a href="page291.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">第10章 細節補充</td> <!章節名>
<td></td><td>-273-</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>
out_chr<br>
<br>
<br>
<br>
<br>
out_num<br>
code<br>
<br>
</td>
<td colspan=2>
label<br>
or<br>
mov<br>
int<br>
ret<br>
endp<br>
ends<br>
end
</td>
<td colspan=5>
near<br>
al,30h<br>
ah,0eh<br>
10h<br>
<br>
<br>
<br>
main
</td>
<td colspan=9>
;定義一個標號<br>
;將4位數據轉換成ASCII碼<br>
;利用10H中斷的0EH功能將ASCII碼輸出<br>
<br>
;返回主過程<br>
<br>
<br>
<br>
</td>
<td></td><td></td> <!右邊距>
</tr>
<tr>
<td></td><td></td> <!左邊距>
<td colspan=18>
BCD運算與調整有時也可以應用到其它方面,比如下面給出的這個程序例就是應用了BCD運算將AX寄存器中的數據按十六進制的形式顯示在屏幕上。請大家自行分析這個程序中所用的技巧。<br>
程序中新出現了一條指令--ADC,這條指令以ADD一樣用于完成加法,不過它在把兩個操作數相加之后還要多加一些東西:
</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>
助記符:ADC(Add with Carry)<br>
用 途:完成帶進位的加法運算<br>
格 式:ADC 寄存器,立即數<br>
ADC 寄存器,寄存器<br>
ADC 寄存器,存儲單元<br>
ADC 存儲單元,寄存器<br>
執 行:兩個操作數相加,再加上標志寄存器的CF位,所得結果保存在左邊<br>
的寄存器或存儲單元中。
</td>
<td></td><td></td> <!右邊距>
</tr>
<tr>
<td></td><td></td> <!左邊距>
<td colspan=18>
所謂多加的東西,就是標志寄存器中的CF位。舉個例子,如果AX=0003H,BX=0005H,CF=1,那么執行指令"ADD AX,BX"之后將得結果AX=0008H,若執行的指令是"ADC AX,BX",那么結果就是AX=0009H,CF標志被加入結果中。<br>
與這個指令相對的就是帶借位的減法指令--SBB:
</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>
助記符:SBB(Subtract with Borrow)<br>
用 途:完成帶借位的減法運算<br>
格 式:SBB 寄存器,立即數<br>
SBB 寄存器,寄存器<br>
SBB 寄存器,存儲器<br>
SBB 存儲器,寄存器<br>
執 行:兩個操作數相減,同時減去CF標志,結果保存在左邊的寄存器或存<br>
儲單元中。
</td>
<td></td><td></td> <!右邊距>
</tr>
<tr>
<td></td><td></td> <!左邊距>
<td colspan=2>
TESTKEY.<br>
ESC_KEY<br>
code<br>
<br>
</td>
<td colspan=2>
ASM<br>
equ<br>
segment<br>
assume
</td>
<td colspan=5>
<br>
1bh<br>
<br>
cs:code,ds:code
</td>
<td colspan=9>
<br>
;ESC鍵的ASCII碼<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="page272.html">上一頁</a> <a href="page274.html">下一頁</a> <a href="page291.html">下一章</a></p>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -