?? masm3.htm
字號(hào):
<p align="JUSTIFY">07H
</font></td>
<td width="8%" valign="TOP"> <font face="Arial" size=3>
<p align="JUSTIFY">08H
</font></td>
<td width="8%" valign="TOP"> <font face="Arial" size=3>
<p align="JUSTIFY">09H
</font></td>
<td width="8%" valign="TOP"> <font face="Arial" size=3>
<p align="JUSTIFY">0AH
</font></td>
</tr>
<tr>
<td width="9%" valign="TOP"> <font face="宋體" lang="ZH-CN" size=3>
<p align="JUSTIFY">代碼
</font></td>
<td width="8%" valign="TOP"> <font face="Arial" size=3>
<p align="JUSTIFY">02H
</font></td>
<td width="9%" valign="TOP"> <font face="Arial" size=3>
<p align="JUSTIFY">10H
</font></td>
<td width="9%" valign="TOP"> <font face="Arial" size=3>
<p align="JUSTIFY">30H
</font></td>
<td width="8%" valign="TOP"> <font face="Arial" size=3>
<p align="JUSTIFY">02H
</font></td>
<td width="8%" valign="TOP"> <font face="Arial" size=3>
<p align="JUSTIFY">10H
</font></td>
<td width="8%" valign="TOP"> <font face="Arial" size=3>
<p align="JUSTIFY">40H
</font></td>
<td width="8%" valign="TOP"> <font face="Arial" size=3>
<p align="JUSTIFY">00H
</font></td>
<td width="8%" valign="TOP"> </td>
<td width="8%" valign="TOP"> </td>
<td width="8%" valign="TOP"> </td>
<td width="8%" valign="TOP"> </td>
</tr>
<tr>
<td width="9%" valign="TOP"> <font face="宋體" lang="ZH-CN" size=3>
<p align="JUSTIFY">地址
</font></td>
<td width="8%" valign="TOP"> <font face="Arial" size=3>
<p align="JUSTIFY">0BH
</font></td>
<td width="9%" valign="TOP"> <font face="Arial" size=3>
<p align="JUSTIFY">0CH
</font></td>
<td width="9%" valign="TOP"> <font face="Arial" size=3>
<p align="JUSTIFY">0DH
</font></td>
<td width="8%" valign="TOP"> <font face="Arial" size=3>
<p align="JUSTIFY">0EH
</font></td>
<td width="8%" valign="TOP"> <font face="Arial" size=3>
<p align="JUSTIFY">0FH
</font></td>
<td width="8%" valign="TOP"> <font face="Arial" size=3>
<p align="JUSTIFY">10H
</font></td>
<td width="8%" valign="TOP"> <font face="Arial" size=3>
<p align="JUSTIFY">11H
</font></td>
<td width="8%" valign="TOP"> <font face="Arial" size=3>
<p align="JUSTIFY">12H
</font></td>
<td width="8%" valign="TOP"> <font face="Arial" size=3>
<p align="JUSTIFY">13H
</font></td>
<td width="8%" valign="TOP"> <font face="Arial" size=3>
<p align="JUSTIFY">14H
</font></td>
<td width="8%" valign="TOP"> <font face="Arial" size=3>
<p align="JUSTIFY">15
</font></td>
</tr>
</table>
<p align="JUSTIFY"><font face="宋體" lang="ZH-CN" size=3>由上面的映象圖可知</font><font face="Arial" size=3>,</font><font face="宋體" lang="ZH-CN" size=3>在03H處的代碼為10H,而不是我們要的02H,所以外斷程序INT_0不能被正確執(zhí)行,其它各中斷程序的情況同樣如此,如在0BH處,本來存放的應(yīng)當(dāng)是定時(shí)器0中斷程序,但按上述的映象圖,0BH處開始的3個(gè)代碼是:02H,10H,30H,這是定時(shí)器1的入口地址,所以,如果定時(shí)器0發(fā)生中斷,所執(zhí)行的其實(shí)是定時(shí)器1的中斷程序,這當(dāng)然不對(duì)。</font></p>
<p align="JUSTIFY"><font face="Arial" size=3> </font><font face="宋體" lang="ZH-CN" size=3>例2:</font></p>
<font face="Arial" size=3>
<p align="JUSTIFY"> <i> INT_0 EQU 1000H</i></p>
<i>
<p align="JUSTIFY"> TIME_0 EQU 1010H</p>
<p align="JUSTIFY"> INT_1 EQU 1020H</p>
<p align="JUSTIFY"> TIME_1 EQU 1030H</p>
<p align="JUSTIFY"> SERIAL EQU 1040H</p>
</i></font>
<p align="JUSTIFY"><i><font face="Arial" size=3> AJMP START ;</font></i><i><font face="宋體" lang="ZH-CN" size=3>跳轉(zhuǎn)到主程序起始點(diǎn)</font></i></p>
<i> <font face="Arial" size=3>
<p align="JUSTIFY"> ORG 0003H</p>
</font>
<p align="JUSTIFY"><font face="Arial" size=3> LJMP INT_0 ;</font><font face="宋體" lang="ZH-CN" size=3>外中斷</font><font face="Arial" size=3>0</font><font face="宋體" lang="ZH-CN" size=3>處理程序</font></p>
<font face="Arial" size=3>
<p align="JUSTIFY"> ORG 000BH</p>
</font>
<p align="JUSTIFY"><font face="Arial" size=3> LJMP TIME_0 ;</font><font face="宋體" lang="ZH-CN" size=3>定時(shí)中斷</font><font face="Arial" size=3>0</font><font face="宋體" lang="ZH-CN" size=3>處理程序</font></p>
<font face="Arial" size=3>
<p align="JUSTIFY"> ORG 0013H</p>
</font>
<p align="JUSTIFY"><font face="Arial" size=3> LJMP INT_1 ;</font><font face="宋體" lang="ZH-CN" size=3>外中斷</font><font face="Arial" size=3>1</font><font face="宋體" lang="ZH-CN" size=3>處理程序</font></p>
<font face="Arial" size=3>
<p align="JUSTIFY"> ORG 001BH</p>
</font>
<p align="JUSTIFY"><font face="Arial" size=3> LJMP TIME_1 ;</font><font face="宋體" lang="ZH-CN" size=3>定時(shí)中斷</font><font face="Arial" size=3>1</font><font face="宋體" lang="ZH-CN" size=3>處理程序</font></p>
<font face="Arial" size=3>
<p align="JUSTIFY"> ORG 0023H</p>
</font>
<p align="JUSTIFY"><font face="Arial" size=3> LJMP SERIAL ;</font><font face="宋體" lang="ZH-CN" size=3>串行口中斷程序</font></p>
<font face="Arial" size=3>
<p align="JUSTIFY">START:</p>
<p align="JUSTIFY"> NOP</p>
<p align="JUSTIFY"> END</p>
</font></i>
<p align="JUSTIFY"><font face="Arial" size=3><i> </i></font> <font face="宋體" lang="ZH-CN" size=3>上面的程序經(jīng)過匯編后列表文件如下:</font></p>
<i><font face="Arial" size=3>
<p align="JUSTIFY">The Cybernetic Micro Systems 8051 Family Assembler, Version
3.03 Page 1</p>
<p align="JUSTIFY"> 08-26-96</p>
<p align="JUSTIFY"> 1000 = INT_0 EQU 1000H</p>
<p align="JUSTIFY"> 1010 = TIME_0 EQU 1010H</p>
<p align="JUSTIFY"> 1020 = INT_1 EQU 1020H</p>
<p align="JUSTIFY"> 1030 = TIME_1 EQU 1030H</p>
<p align="JUSTIFY"> 1040 = SERIAL EQU 1040H</p>
</font>
<p align="JUSTIFY"><font face="Arial" size=3> 0000 0126 AJMP START ;</font><font face="宋體" lang="ZH-CN" size=3>跳轉(zhuǎn)到主程序起始點(diǎn)</font></p>
<font face="Arial" size=3>
<p align="JUSTIFY"> 0003 ORG 0003H</p>
</font>
<p align="JUSTIFY"><font face="Arial" size=3> 0003 021000 LJMP INT_0 ;</font><font face="宋體" lang="ZH-CN" size=3>外中斷</font><font face="Arial" size=3>0</font><font face="宋體" lang="ZH-CN" size=3>處理程序</font></p>
<font face="Arial" size=3>
<p align="JUSTIFY"> 000B ORG 000BH</p>
</font>
<p align="JUSTIFY"><font face="Arial" size=3> 000B 021010 LJMP TIME_0 ;</font><font face="宋體" lang="ZH-CN" size=3>定時(shí)中斷</font><font face="Arial" size=3>0</font><font face="宋體" lang="ZH-CN" size=3>處理程序</font></p>
<font face="Arial" size=3>
<p align="JUSTIFY"> 0013 ORG 0013H</p>
</font>
<p align="JUSTIFY"><font face="Arial" size=3> 0013 021020 LJMP INT_1 ;</font><font face="宋體" lang="ZH-CN" size=3>外中斷</font><font face="Arial" size=3>1</font><font face="宋體" lang="ZH-CN" size=3>處理程序</font></p>
<font face="Arial" size=3>
<p align="JUSTIFY"> 001B ORG 001BH</p>
</font>
<p align="JUSTIFY"><font face="Arial" size=3> 001B 021030 LJMP TIME_1 ;</font><font face="宋體" lang="ZH-CN" size=3>定時(shí)中斷</font><font face="Arial" size=3>1</font><font face="宋體" lang="ZH-CN" size=3>處理程序</font></p>
<font face="Arial" size=3>
<p align="JUSTIFY"> 0023 ORG 0023H</p>
</font>
<p align="JUSTIFY"><font face="Arial" size=3> 0023 021040 LJMP SERIAL ;</font><font face="宋體" lang="ZH-CN" size=3>串行口中斷程序</font></p>
<font face="Arial" size=3>
<p align="JUSTIFY"> START:</p>
<p align="JUSTIFY"> 0026 00 NOP</p>
<p align="JUSTIFY"> 0000 END</p>
<p align="JUSTIFY">The Cybernetic Micro Systems 8051 Family Assembler, Version
3.03 Page 2</p>
<p align="JUSTIFY"> 08-26-96</p>
<p align="JUSTIFY"> ;%T Symbol Name Type Value</p>
<p align="JUSTIFY"> INT_0 . . . . . . . . . . . . . I 1000</p>
<p align="JUSTIFY"> INT_1 . . . . . . . . . . . . . I 1020</p>
<p align="JUSTIFY"> SERIAL. . . . . . . . . . . . . I 1040</p>
<p align="JUSTIFY"> START . . . . . . . . . . . . . L 0026</p>
<p align="JUSTIFY"> TIME_0. . . . . . . . . . . . . I 1010</p>
<p align="JUSTIFY"> TIME_1. . . . . . . . . . . . . I 1030</p>
<p align="JUSTIFY"> ;%Z</p>
<p align="JUSTIFY"> 00 Errors (0000)</p>
</font></i>
<p align="JUSTIFY"><font face="Arial" size=3> </font><font face="宋體" lang="ZH-CN" size=3>由列表文件,可以繪出代碼在ROM中的映象圖如下:</font></p>
<table cellspacing=0 border=0 cellpadding=1 width=556>
<tr>
<td width="8%" valign="TOP"> <font face="宋體" lang="ZH-CN" size=3>
<p align="JUSTIFY">代碼
</font></td>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -