色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 模擬技術 > 設計應用 > S3C825A型單片機結構及軟件設計

          S3C825A型單片機結構及軟件設計

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

            函數(shù)返回值可根據(jù)其類型放在R15或R15:R14寄存器對中。若返回值是struct或union類型,則返回R15中的值是存放返回結果的堆棧指針起始位置。

            C語言編譯器也是編譯中斷函數(shù)時會自動保護所用到的寄存器(包括R10-R15),狀態(tài)寄存器FLAGS的保護也是在中斷處理過程中自動完成的。中斷過程中用到的寄存器都使用PUSH Rn的指令進行保護,而采用POP Rn指令恢復。當用IRET指令自動恢復狀態(tài)寄存器FLAGS時,可以從中斷中返回。

            3.2 對匯編語言函數(shù)的約定

            對于一個可以被C語言函數(shù)調(diào)用的匯編程序來說,使用時必須滿足以下3點:

            1)符合C語言參數(shù)傳遞規(guī)則;

            2)有PUBLIC函數(shù)入口標志;

            3)在C語言函數(shù)中用extern聲音為外部函數(shù)。

            參加傳遞規(guī)則和C語言函數(shù)一樣,所不同的是,要在匯編語言函數(shù)編寫過程中具體體現(xiàn)出來。

            4 應用實例

            明確了以上調(diào)用規(guī)則,混合編程就比較容易了,歸納起來有以下幾點:

            1)在C語言源文件中用“extern”關鍵字導入被匯編語言源文件導出的標號;

            2)在匯編語言源文件用“PUBLIC”關鍵字把標號導出到C語言源文件;

            3)在匯編語言中用“EXTERN”關鍵字導入被C語言函數(shù)源文件導出的關鍵字;

            4)用C語言把標號導出給匯編語言,這一步不需要關鍵字;

            5)把編輯好的C語言和匯編語言源文件導入設計系統(tǒng),并用各自調(diào)用函數(shù)的指令調(diào)用。

            下面以筆者在校音器設計中用到的2個例子來具體說明。

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

            在該例中,用C語言函數(shù)main()調(diào)用匯編語言函數(shù)get_rand()以得到一個隨機數(shù),接著,用匯編語言函數(shù)get_rand()調(diào)用C語言庫函數(shù)rand()再得到一個整型機隨機數(shù),然后用調(diào)用C語言函數(shù)mult()的方法把這個隨機值的高位乘以main()函數(shù)傳遞給自己的實參,同時把乘積值返回給main()參數(shù)。

            



          關鍵詞: S3C825A 單片機 結構

          評論


          相關推薦

          技術專區(qū)

          關閉