?? page275.html
字號:
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
<title>第10章 細節(jié)補充</title>
</head>
<body>
<style type="text/css">
body {
background-color: #c0c0c0;
}
table {
background-color: #c0c0c0;
line-height: 24px;
}
</style>
<!導(dǎo)航條>
<p><a href="content1.html">目錄</a> <a href="page274.html">上一頁</a> <a href="page276.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> <!左側(cè)空白>
<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> <!右側(cè)空白>
</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章 細節(jié)補充</td> <!章節(jié)名>
<td></td><td>-275-</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>
<br>
<br>
<br>
<br>
<br>
<br>
hex16o<br>
code<br>
<br>
</td>
<td colspan=2>
dec<br>
jnz<br>
<br>
pop<br>
pop<br>
ret<br>
endp<br>
ends<br>
end
</td>
<td colspan=5>
ch<br>
loop1<br>
<br>
cx<br>
bx<br>
<br>
<br>
<br>
main
</td>
<td colspan=9>
;處理完AX寄存器中的數(shù)據(jù)了嗎?<br>
;未處理完數(shù)據(jù),轉(zhuǎn)LOOP1繼續(xù)<br>
<br>
;恢復(fù)寄存器<br>
<br>
;返回主過程<br>
<br>
<br>
<br>
</td>
<td></td><td></td> <!右邊距>
</tr>
<tr>
<td></td><td></td> <!左邊距>
<td colspan=18>
壓縮的BCD碼不能進行乘、除運算,因為沒有相應(yīng)的調(diào)整指令處理運算結(jié)果。而采用非壓縮BCD碼不僅可以進行加、減運算,而且可以作乘、除運算,計算結(jié)果都有相應(yīng)指令進行調(diào)整。其調(diào)整指令共有4條:<br>
·AAA(ASCII Adjust for Addition)加法的ASCII調(diào)整指令<br>
·AAS(ASCII Adjust for Subtraction)減法的ASCII調(diào)整指令<br>
·AAM(ASCII Adjust for Multiplication)乘法的ASCII調(diào)整指令<br>
·AAD(ASCII Adjust for Division)除法的ASCII調(diào)整指令<br>
這四條指令之所以被稱為"ASCII調(diào)整指令",可能是由于字符0-9的ASCII碼與非壓縮BCD碼之間的密切關(guān)系而來的。指令記憶起來也比較容易,前兩個字母都是AA,第三個字母表示了這條指令對何種運算結(jié)果進行調(diào)整。<br>
有些朋友總覺得匯編指令繁雜難記,其實并非如此,關(guān)鍵在于掌握合理的記憶方法。按字母死背是最笨的。實際上指令的助記符都來源于一些實際的英文單詞,就連標志寄存器中各個位的符號其實也是英文縮寫。如果能確實搞懂這些單詞的含義自然就能把這些指令、符號之類的東西記住,所以說死記指令不如活學(xué)英語。這樣學(xué)習(xí)就可以做到一舉多得,至少可以兩得,既學(xué)了編程又學(xué)了英語。
</td>
<td></td><td></td> <!右邊距>
</tr>
<tr>
<td></td><td></td> <!左邊距>
<td colspan=18><font face="黑體"><a name="102">10.2 標志寄存器</a></font></td>
<td></td><td></td> <!右邊距>
</tr>
<tr>
<td></td><td></td> <!左邊距>
<td colspan=18>
標志寄存器在前面幾章里已有所討論,不過有幾個稍微特殊的位還要作些更詳細的研究。<br>
(1)PF(Parity Flag)位<br>
這是奇偶標志位,當運算結(jié)果之中"1"的個數(shù)為偶數(shù)時此位將置位,當運算結(jié)果中"1"的個數(shù)是奇數(shù)時此位復(fù)位。請看下面的實驗:<br>
C:\ASM\>debug[Enter]<br>
-a[Enter]<br>
0F6A:0100 mov al,36<br>
0F6A:0102 or al,81<br>
0F6A:0104 and al,7f<br>
0F6A:0106 add al,80<br>
0F6A:0108 shl al,1
</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>
<!導(dǎo)航條>
<p align="right"><a href="content1.html">目錄</a> <a href="page274.html">上一頁</a> <a href="page276.html">下一頁</a> <a href="page291.html">下一章</a></p>
</body>
</html>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -