日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何寫要被C調(diào)用的匯編函數(shù)

麥辣雞腿堡 ? 來源:Microchip微芯 ? 作者:Microchip微芯 ? 2023-01-22 14:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

問:我該怎么寫一個將被C調(diào)用的匯編函數(shù)?

答:一個最簡單的學(xué)習(xí)怎么寫匯編的方式是,先用C寫這個代碼的簡單版本,然后用編譯器將它編譯成為匯編代碼。然后你就可以用這個輸出的匯編代碼作為你自己匯編函數(shù)的模板。例如:

你說你想寫一個帶有“l(fā)ong”類型參數(shù)的匯編子程序,那么首先用C寫一個函數(shù):

void MyAsmFunc(unsigned long parameter)
{
}

好了,現(xiàn)在編譯它產(chǎn)生匯編代碼。PICC編譯器的-S選項可以。

picc -16f877 -S file.c

這個命令將產(chǎn)生"file.as",打開它,它看起來像下面這樣:


; param _parameter assigned to ?_MyAsmFunc+0
_MyAsmFunc$parameter set ?_MyAsmFunc+0
psect text1,local,class=CODE,delta=2
global _MyAsmFunc
signat _MyAsmFunc,4216
psect text1
_MyAsmFunc
bcf 3,6
bcf 3,5
return


因為PICC編譯器會讓函數(shù)的bank回零。所以我們在這里看到它在return之前把bank回到bank0。從這個匯編代碼開始,你可以擴(kuò)充你的匯編代碼。函數(shù)的參數(shù)可以使用_MyAsmFunc$paramter符號來訪問。這個符號訪問的是第一個字節(jié),其余的字節(jié)就在符號上加偏移量,例如:

_MyAsmFunc$parameter+2

這將引用第三個字節(jié)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4422

    瀏覽量

    67867
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1673

    瀏覽量

    51955
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    C語言函數(shù)調(diào)用過程中的內(nèi)存變化解析

    調(diào)用實例,內(nèi)存視角,反匯編代碼來探討C 語言函數(shù)調(diào)用過程,也可以說是C 語言
    的頭像 發(fā)表于 12-11 16:21 ?4615次閱讀

    匯編C語言中的定義和調(diào)用

    單片機(jī)開發(fā)或多或少都會接觸一些匯編代碼,今天就來說說關(guān)于匯編C中的定義和調(diào)用,以及舉例說明嵌套匯編代碼。
    發(fā)表于 08-29 14:07 ?2074次閱讀

    匯編語言模塊調(diào)用C++函數(shù)實例

    現(xiàn)在編寫一個簡單的應(yīng)用程序,提示用戶輸入整數(shù),通過移位的方式將其與 2 的幕 (21?2?) 相乘,并用填充前導(dǎo)空格的形式再次顯示每個乘積。輸入-輸出使用 C++。匯編模塊將調(diào)用 3 個 C
    發(fā)表于 10-11 09:52 ?1495次閱讀

    C函數(shù)調(diào)用機(jī)制與棧幀原理詳解

    當(dāng)一個C函數(shù)調(diào)用時,函數(shù)的參數(shù)如何傳遞、堆棧指針如何變化、棧幀是如何被建立以及如何被消除的,一直缺乏系統(tǒng)性的理解,因此決定花時間學(xué)習(xí)下函數(shù)
    發(fā)表于 06-08 10:49 ?2685次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>函數(shù)</b><b class='flag-5'>調(diào)用</b>機(jī)制與棧幀原理詳解

    如何使用內(nèi)聯(lián)函數(shù)調(diào)用匯編函數(shù)?

    C/C++中調(diào)用匯編代碼中的函數(shù)使用內(nèi)聯(lián)函數(shù)調(diào)用匯編函數(shù)
    發(fā)表于 04-02 06:57

    如何寫一個簡易的printf函數(shù)?

    如何寫一個簡易的printf函數(shù)
    發(fā)表于 04-28 06:47

    匯編調(diào)用C1、用c編寫函數(shù)

    匯編調(diào)用C1、用c編寫函數(shù) int jc(int n),其功能是返回n!,保存為1c.c,編寫
    發(fā)表于 12-20 07:59

    C++教程之函數(shù)的遞歸調(diào)用

    C++教程之函數(shù)的遞歸調(diào)用 在執(zhí)行函數(shù) f 的過程中,又要調(diào)用 f 函數(shù)本身,稱為
    發(fā)表于 05-15 18:00 ?35次下載

    如何在c51程序中調(diào)用匯編函數(shù)

    一個整型變量。例中,先用c51寫出這個函數(shù)的主體,然后用SRC控制指令編譯產(chǎn)生asm文件,進(jìn)一步修改這個asm文件就得到我們所要的匯編函數(shù)。該方法讓編譯器自動完成各種段的安排,提高了
    發(fā)表于 11-02 15:57 ?4805次閱讀

    Linux匯編C互相調(diào)用

    ? 一. 概述  匯編通過call指令調(diào)用C函數(shù),call指令主要有兩個功能:1.將下一條指令的地址保存在棧頂;2.設(shè)置eip指向被
    發(fā)表于 04-02 14:46 ?677次閱讀

    C匯編如何互相調(diào)用?

    一、gcc 內(nèi)聯(lián)匯編 內(nèi)聯(lián)匯編即在C中直接使用匯編語句進(jìn)行編程,使程序可以在C程序中實現(xiàn)C語言不
    的頭像 發(fā)表于 12-25 15:50 ?3749次閱讀

    EE-128:C++中的DSP:從C++調(diào)用匯編類成員函數(shù)

    EE-128:C++中的DSP:從C++調(diào)用匯編類成員函數(shù)
    發(fā)表于 04-16 17:04 ?2次下載
    EE-128:<b class='flag-5'>C</b>++中的DSP:從<b class='flag-5'>C</b>++<b class='flag-5'>調(diào)用匯編</b>類成員<b class='flag-5'>函數(shù)</b>

    C語言代碼中調(diào)用匯編函數(shù)需要注意什么

    來看下混合語言工程中,就比如在匯編程序中調(diào)用C函數(shù),或者在C語言代碼中調(diào)用匯編
    的頭像 發(fā)表于 11-12 11:04 ?3856次閱讀

    匯編調(diào)用C函數(shù)

    大多數(shù)情況下,可能只需要一到兩個簡單的匯編函數(shù),所以就想將這些匯編代碼嵌入C代碼的文件中。多數(shù)開發(fā)工具都有一種被稱作內(nèi)聯(lián)匯編的特性,而ARM
    發(fā)表于 08-05 10:07 ?5396次閱讀

    EE-128:C語言中的DSP:從C調(diào)用匯編類成員函數(shù)

    電子發(fā)燒友網(wǎng)站提供《EE-128:C語言中的DSP:從C調(diào)用匯編類成員函數(shù).pdf》資料免費下載
    發(fā)表于 01-07 13:48 ?0次下載
    EE-128:<b class='flag-5'>C</b>語言中的DSP:從<b class='flag-5'>C</b><b class='flag-5'>調(diào)用匯編</b>類成員<b class='flag-5'>函數(shù)</b>
    达孜县| 平安县| 石阡县| 襄汾县| 海安县| 来凤县| 甘泉县| 团风县| 巴中市| 临海市| 玉山县| 龙南县| 蓬莱市| 莆田市| 天台县| 汕头市| 驻马店市| 白城市| 固阳县| 南城县| 肇庆市| 肇源县| 衡水市| 齐河县| 清徐县| 昌黎县| 沧州市| 翼城县| 乌苏市| 永靖县| 赫章县| 竹山县| 滨海县| 白玉县| 陆良县| 万年县| 盈江县| 潞西市| 晋中市| 榆中县| 浙江省|