<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MSP430 單片機(jī)C語言和匯編語言混合編程

          MSP430 單片機(jī)C語言和匯編語言混合編程

          作者: 時間:2012-03-19 來源:網(wǎng)絡(luò) 收藏

          3

          明確了以上約定,就非常容易?;咀龇ㄊ牵?br /> (1)C源文件用‘extren’關(guān)鍵字導(dǎo)入被源文件導(dǎo)出的標(biāo)號。
          (2)源文件用‘PUBLIC’關(guān)鍵字把標(biāo)號導(dǎo)出給C語言源文件。
          (3)源文件用‘EXTREN’關(guān)鍵字導(dǎo)入被C語言源文件導(dǎo)出的標(biāo)號。
          (4)C語言源文件把標(biāo)號導(dǎo)出給匯編語言文件,則不需要關(guān)鍵字。
          (5)把寫好的C語言源文件和匯編語言源文件加入工程,并用各自調(diào)用函數(shù)的指令調(diào)用即可。

          4 應(yīng)用實(shí)例

          4.1 C 語言函數(shù)和匯編語言函數(shù)相互調(diào)用

          在這個示例中C語言函數(shù)main()調(diào)用匯編語言函數(shù)get_rand()以得到一個隨機(jī)數(shù);匯編語言函數(shù)get_rand()首先調(diào)用C語言的標(biāo)準(zhǔn)庫函數(shù)rand()得到一個整型隨機(jī)值,然后用調(diào)用C語言函數(shù)mult()的方法把這個隨機(jī)值乘以main()函數(shù)傳遞給自己的實(shí)參,并把乘積值返回給 main()函數(shù)。

          4.1.1 C語言源文件
          /**************************************************************/
          /* 文件名:c_source.c 2003-01-05 */
          /* C語言和匯編語言,C源程序 */
          /* 這段源程序調(diào)用匯編語言函數(shù)get_rand() */
          /* 注意工程必需包含匯編語言源文件 asm_source.s43 */
          /**************************************************************/
          #include x14x.h> /* 頭文件 */
          extern unsigned long get_rand(unsigned char seed); /* 匯編語言函數(shù)原型聲明 */
          /****************************************************************/
          /* 主函數(shù) */
          /****************************************************************/
          void main( void )
          {
          unsigned char seed; /* 局部變量定義*/
          unsigned long value;
          // === 系統(tǒng)初始化 ==========================================
          IFG1 = 0; /* 清除中斷標(biāo)志1 */
          WDTCTL = WDTPW+WDTHOLD; /* 停止看門狗 */
          P1DIR = 0xff;
          // === 系統(tǒng)初始化結(jié)束========================================

          seed = 0x55;
          value = get_rand(seed); /* 調(diào)用匯編語言函數(shù)get_rand()得到一個隨機(jī)數(shù) */
          while(1); /*程序結(jié)束*/
          }
          // === 主程序結(jié)束 ==================================================
          /******************************************************************/
          /* 乘法子程序,供匯編語言函數(shù)調(diào)用 */
          /******************************************************************/
          unsigned long mult(int x , int y)
          {
          return (x *y); /*x乘y */
          }
          // === 乘法子程序結(jié)束 ================================================

          c語言相關(guān)文章:c語言教程




          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();