?? page64.html
字號(hào):
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
<title>第4章 奇妙的聲音</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="page63.html">上一頁(yè)</a> <a href="page65.html">下一頁(yè)</a> <a href="page80.html">下一章</a></p>
<table border=0 align="center" width=800 frame="box" rules="none">
<!標(biāo)尺行>
<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>
<!頁(yè)眉行>
<tr height=60 valign="bottom">
<td></td><td>-64-</td><td></td> <!頁(yè)碼>
<td colspan=6>PC機(jī)匯編語(yǔ)言實(shí)戰(zhàn)精解</td><td colspan=4></td><td colspan=6 align="right"><img src="icons/flag.gif"></td> <!書名>
<td></td><td></td><td></td> <!右側(cè)空白>
</tr>
<!頁(yè)眉線>
<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></td>
<td colspan=2>
0A53:0036<br>
0A53:0038<br>
0A53:003A<br>
0A53:003C<br>
0A53:003E<br>
0A53:0040<br>
0A53:0042<br>
0A53:0044<br>
0A53:0046<br>
0A53:0047<br>
0A53:004C<br>
0A53:004E<br>
0A53:0050
</td>
<td colspan=2>
8BD8<br>
B400<br>
CD1A<br>
3BDA<br>
75F8<br>
E461<br>
24FC<br>
E661<br>
5B<br>
80BF1200FF<br>
75BE<br>
B44C<br>
CD21
</td>
<td colspan=2>
MOV<br>
MOV<br>
INT<br>
CMP<br>
JNZ<br>
IN<br>
AND<br>
OUT<br>
POP<br>
CMP<br>
JNZ<br>
MOV<br>
INT
</td>
<td colspan=10>
BX,AX<br>
AH,00<br>
1A<br>
BX,DX<br>
0038<br>
AL,61<br>
AL,FC<br>
61,AL<br>
BX<br>
BYTE PTR [BX+0012],FF<br>
000C<br>
AH,4C<br>
21
</td>
<td></td><td></td> <!右邊距>
</tr>
<tr>
<td></td><td></td> <!左邊距>
<td colspan=2></td>
<td colspan=2>
-da4e:0<br>
0A4E:0000<br>
0A4E:0010<br>
0A4E:0020<br>
0A4E:0030<br>
0A4E:0040
</td>
<td colspan=10>
<br>
00 00 C8 11 BD 0F 21 0E-57 0D E2 0B 96 0A 6F 09<br>
E7 08 03 02 01 02 03 03-03 02 02 02 03 05 05 03<br>
02 01 02 03 03 03 03 02-02 03 02 01 FF 04 04 04<br>
04 04 04 08 04 04 08 04-04 08 04 04 04 04 04 04<br>
04 04 04 04 04 04 08 00-00 00 00 00 00 00 00 00
</td>
<td colspan=4>
<br>
......!.W.....o.<br>
................<br>
................<br>
................<br>
................
</td>
<td></td><td></td> <!右邊距>
</tr>
<tr>
<td></td><td></td> <!左邊距>
<td colspan=18>
仔細(xì)閱讀反匯編出來(lái)的程序,可以看到CMP指令的反匯編結(jié)果和源程序有很大的不同:其一,源程序中并沒(méi)有"BYTE PTR",這樣的文字;其二,"-1"居然成了"FF",難道"-1=255"嗎?<br>
在回答這兩個(gè)問(wèn)題之前,我們先將下面給出的程序編譯成COM文件:
</td>
<td></td><td></td> <!右邊距>
</tr>
<tr>
<td></td><td></td> <!左邊距>
<td colspan=2></td>
<td colspan=2>
TEMP.ASM<br>
code<br>
<br>
<br>
main<br>
<br>
msg<br>
crlf<br>
start:<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</td>
<td colspan=2>
<br>
segment<br>
assume<br>
org<br>
proc<br>
jmp<br>
db<br>
dw<br>
mov<br>
mov<br>
int<br>
mov<br>
mov<br>
int<br>
mov<br>
int<br>
int<br>
</td>
<td colspan=4>
<br><br>
cs:code<br>
100h<br>
far<br>
short start<br>
'Hello,World!',24h<br>
0d0ah<br>
ah,9<br>
dx,offset msg<br>
21h<br>
ah,2<br>
dl,crlf<br>
21h<br>
dl,crlf+1<br>
21h<br>
20h<br>
</td>
<td colspan=8>
<br><br><br><br><br>
;跳過(guò)數(shù)據(jù)區(qū)<br>
;定義一個(gè)字符串<br>
;定義回車、換行符<br>
;選擇DOS API的09H功能<br>
;設(shè)置DX寄存器指向字符串首地址<br>
;顯示字符串<br>
;選擇DOS API的02H功能<br>
;取得ASCII碼0AH<br>
;顯示換行符<br>
;取得ASCII碼0DH<br>
;顯示回車符<br>
;結(jié)束程序<br>
</td>
<td></td><td></td> <!右邊距>
</tr>
</font>
<!頁(yè)腳線>
<tr valign="top">
<td></td><td colspan=20><hr></td><td></td>
</tr>
<!頁(yè)腳>
<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="page63.html">上一頁(yè)</a> <a href="page65.html">下一頁(yè)</a> <a href="page80.html">下一章</a></p>
</body>
</html>
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -