⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 masm3.htm

📁 单片机入门的好书
💻 HTM
📖 第 1 页 / 共 5 页
字号:
        <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不能被正确执行,其它各中断程序的情况同样如此,如在0BH处,本来存放的应当是定时器0中断程序,但按上述的映象图,0BH处开始的3个代码是:02H,10H,30H,这是定时器1的入口地址,所以,如果定时器0发生中断,所执行的其实是定时器1的中断程序,这当然不对。</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>跳转到主程序起始点</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>定时中断</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>定时中断</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>上面的程序经过汇编后列表文件如下:</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>跳转到主程序起始点</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>定时中断</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>定时中断</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>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -