chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

ASM要被時(shí)代淘汰了嗎

Q4MP_gh_c472c21 ? 來源:TopSemic嵌入式 ? 作者:Norman Guo ? 2021-11-16 15:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

最近瀏覽一個(gè)挺流行的視頻——X天學(xué)會(huì)單片機(jī)。內(nèi)容確實(shí)通俗易懂,制作的比較用心。但其中的有個(gè)觀點(diǎn)筆者不敢茍同,就是現(xiàn)在 C 語言已經(jīng)強(qiáng)大到勝任所有任務(wù),大家沒有必要再去學(xué)習(xí)匯編語言了,直接從 C 學(xué)起就行了。

這種觀點(diǎn)似乎有一定道理,我甚至懷疑現(xiàn)在是不是真的有很多同學(xué)不再學(xué)習(xí)匯編了。特別是現(xiàn)在大多數(shù)廠商都提供了完備的驅(qū)動(dòng)代碼的情況下,我們做項(xiàng)目基本上用不到寫 ASM 代碼了。

ASM 就要被時(shí)代淘汰了!可真的是這樣嗎?

下面我們結(jié)合兩個(gè)實(shí)際工程中碰到的例子談一下,掌握 ASM 語言對(duì)我們寫出穩(wěn)定高效代碼的必要性。

我們看代碼,主程序翻轉(zhuǎn) PORTA 的引腳 0,定時(shí)中斷服務(wù)程序翻轉(zhuǎn) PORTA 的引腳 1。乍一看很難看出有什么問題。有不少同學(xué)就是這么中招兒的。這要是控制一些 LED 指示燈或蜂鳴器之類的還好,最多就是偶爾看著有點(diǎn)亂,或出點(diǎn)兒噪音。要是控制設(shè)備沒準(zhǔn)兒就要出大問題了。

有什么問題呢?因?yàn)橹袛喟l(fā)生時(shí),主程序?qū)⒃谏弦粭l正在執(zhí)行中的語句執(zhí)行完后中止運(yùn)行。這里一定要注意,這里說的語句,不是一條 C 語句,而是一條 ASM 語句。我們?cè)谡{(diào)試環(huán)境看一下反匯編。一條 C 語句被編譯成了多條 ASM 語句。

LDRH r1, [r5,#0x14] (1)

EORS r1,r1,r4 (2)

STRH r1,[r5,#0x14] (3)

我們看到一條 C 語句實(shí)際上編譯為 3 句 ASM,(1)把 PORTA 當(dāng)前內(nèi)容讀進(jìn) r1,(2)最低位通過異或取反,(3)把取反后的值輸出至 PORTA。如果中斷恰好發(fā)生在 (1)或 (2)的執(zhí)行期間,那么中斷服務(wù)程序?qū)?PORTA 引腳 1 的操作,會(huì)被主程序中語句(3)覆蓋掉。

要避免這種情況,可以在操作 IO 端口(或其它類似的操作)前禁止中斷,操作完之后再允許中斷。在一些有位帶(Bit Map)的單片機(jī)里,對(duì)單個(gè)引腳的操作可以通過位帶區(qū)操作,避免各引腳之間互相影響。

匯編語言的使用,還可以大幅度的提高代碼的效率。即使現(xiàn)在編譯器的效率已經(jīng)挺高了,但畢竟機(jī)器還是要比人笨一點(diǎn)兒。

舉個(gè)例子,有不少工程里面需要用到浮點(diǎn)運(yùn)算。如果直接調(diào)用浮點(diǎn)運(yùn)算庫,可以輕松的完成任務(wù)。但這樣有一個(gè)限制,就是運(yùn)算過程一直以最大的精度來運(yùn)算,相當(dāng)浪費(fèi) MCU 的時(shí)間。

我們的應(yīng)用可能并不需要這么高的精度,而是需要盡快的完成運(yùn)算并保留一定精度即可。在此情況下,如果我們用嵌入 ASM 做運(yùn)算,可以通過減少迭代運(yùn)算次數(shù) (精度和迭代運(yùn)算次數(shù)成正比)達(dá)到快速完成運(yùn)算。在發(fā)動(dòng)機(jī)控制等分秒必爭(zhēng)的領(lǐng)域,有時(shí)候這樣做是很有必要的。

責(zé)任編輯:haq

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

    關(guān)注

    6071

    文章

    45256

    瀏覽量

    660034
  • C語言
    +關(guān)注

    關(guān)注

    183

    文章

    7634

    瀏覽量

    143903
  • ASM
    ASM
    +關(guān)注

    關(guān)注

    1

    文章

    69

    瀏覽量

    19691

原文標(biāo)題:ASM真要被掃進(jìn)歷史的垃圾堆了嗎?

文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    國(guó)產(chǎn)CANFD芯片技術(shù)特性與應(yīng)用前景綜述:以ASM1042系列為例

    本文綜述了國(guó)科安芯推出的國(guó)產(chǎn)CANFD芯片ASM1042系列的技術(shù)特性與應(yīng)用前景。ASM1042系列作為一款高性能的CANFD收發(fā)器,支持5Mbps的高速通信和高達(dá)±70V的總線耐壓,廣泛應(yīng)用于汽車電子、工業(yè)控制和航空航天等領(lǐng)域。
    的頭像 發(fā)表于 08-27 18:02 ?558次閱讀

    抗輻照與國(guó)產(chǎn)替代:ASM1042在衛(wèi)星光纖放大器(EDFA)中的應(yīng)用探索

    本文以國(guó)科安芯推出的ASM1042芯片為例,通過分析ASM1042的抗輻照性能、高速數(shù)據(jù)傳輸能力、可靠性以及國(guó)產(chǎn)化優(yōu)勢(shì),結(jié)合EDFA系統(tǒng)的需求特點(diǎn),深入探討了其在商業(yè)衛(wèi)星光纖放大器(EDFA)項(xiàng)目
    的頭像 發(fā)表于 07-22 18:14 ?670次閱讀

    求助,關(guān)于ASM330LHH TR調(diào)試中的問題求解

    想讓各位大佬幫我看看我的ASM330LHH TR的問題,我使用SPI的模式3與陀螺儀進(jìn)行通訊,一直調(diào)不通,返回的數(shù)據(jù)要么是FF要么是0,下面是我的原理圖和代碼,不知道是我軟件的問題還是什么,
    發(fā)表于 07-11 06:09

    一文讀懂 ASM1042 芯片應(yīng)用技巧

    關(guān)于國(guó)科安芯 ASM1042 芯片的基礎(chǔ)參數(shù)與規(guī)格書細(xì)節(jié),已有大量資料可供查閱。本文聚焦應(yīng)用工程師實(shí)際開發(fā)需求,從管腳接線技巧、電路防護(hù)設(shè)計(jì)到典型場(chǎng)景落地,拆解這款CAN FD 收發(fā)器的實(shí)戰(zhàn)應(yīng)用方法
    的頭像 發(fā)表于 06-27 16:28 ?638次閱讀
    一文讀懂 <b class='flag-5'>ASM</b>1042 芯片應(yīng)用技巧

    所以你做出來了嗎

    所以你做出來了嗎,求
    發(fā)表于 06-16 01:43

    硅基時(shí)代的黃昏:為何SiC MOSFET全面淘汰IGBT?

    革命性替代:為何SiC MOSFET全面淘汰IGBT? —— 當(dāng)效率差距跨越臨界點(diǎn),IGBT被淘汰便是唯一結(jié)局 傾佳電子楊茜致力于推動(dòng)國(guó)產(chǎn)SiC碳化硅模塊在電力電子應(yīng)用中全面取代進(jìn)口IGBT模塊
    的頭像 發(fā)表于 05-30 16:24 ?629次閱讀
    硅基<b class='flag-5'>時(shí)代</b>的黃昏:為何SiC MOSFET全面<b class='flag-5'>淘汰</b>IGBT?

    第一代半導(dǎo)體被淘汰了嗎

    在半導(dǎo)體產(chǎn)業(yè)的百年發(fā)展歷程中,“第一代半導(dǎo)體是否被淘汰”的爭(zhēng)議從未停歇。從早期的鍺晶體管到如今的硅基芯片,以硅為代表的第一代半導(dǎo)體材料,始終以不可替代的產(chǎn)業(yè)基石角色,支撐著全球95%以上的電子設(shè)備
    的頭像 發(fā)表于 05-14 17:38 ?646次閱讀
    第一代半導(dǎo)體被<b class='flag-5'>淘汰</b><b class='flag-5'>了嗎</b>

    Altium 365平臺(tái)有效解決電子元件淘汰管理難題

    倘若電子元件從未開啟更新?lián)Q代的進(jìn)程,如今您手中的智能手機(jī)或許仍在依賴電子管艱難 “運(yùn)作” 。元件的淘汰是電子領(lǐng)域中不可或缺的一部分。盡管這一過程是漸進(jìn)的,但它代表著技術(shù)的進(jìn)步。然而,元件的淘汰也會(huì)給PCB設(shè)計(jì)師帶來痛點(diǎn),尤其是當(dāng)他們沒有使用合適的元件和
    的頭像 發(fā)表于 03-18 09:44 ?733次閱讀
    Altium 365平臺(tái)有效解決電子元件<b class='flag-5'>淘汰</b>管理難題

    高安全可靠CAN FD芯片ASM1042的技術(shù)特性與應(yīng)用前景

    1.ASM1042簡(jiǎn)介 ASM1042是國(guó)科安芯推出的一款高性能CAN FD(CAN with Flexible Data-Rate)收發(fā)器芯片,專為高可靠性場(chǎng)景設(shè)計(jì)。該芯片基于ISO
    的頭像 發(fā)表于 03-14 15:49 ?1030次閱讀
    高安全可靠CAN FD芯片<b class='flag-5'>ASM</b>1042的技術(shù)特性與應(yīng)用前景

    STM32CUBEIDE編譯報(bào)error: expected identifier or \'(\' before \'__asm\'怎么解決?

    程序內(nèi)容如下 / CMSIS compiler specific defines / ifndef__ASM define ASM asm endif / CMSIS compiler
    發(fā)表于 03-07 08:16

    EE-32:語言擴(kuò)展:內(nèi)存存儲(chǔ)類型、ASM和內(nèi)聯(lián)構(gòu)造

    電子發(fā)燒友網(wǎng)站提供《EE-32:語言擴(kuò)展:內(nèi)存存儲(chǔ)類型、ASM和內(nèi)聯(lián)構(gòu)造.pdf》資料免費(fèi)下載
    發(fā)表于 01-14 15:03 ?0次下載
    EE-32:語言擴(kuò)展:內(nèi)存存儲(chǔ)類型、<b class='flag-5'>ASM</b>和內(nèi)聯(lián)構(gòu)造

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Oracle ASM實(shí)例無法掛載的數(shù)據(jù)恢復(fù)案例

    Oracle數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境&故障: Oracle ASM磁盤組由4塊磁盤組成。Oracle ASM磁盤組掉線 ,ASM實(shí)例不能mount。 Oracle數(shù)據(jù)庫故障分析&恢復(fù)
    的頭像 發(fā)表于 10-28 11:26 ?609次閱讀
    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Oracle <b class='flag-5'>ASM</b>實(shí)例無法掛載的數(shù)據(jù)恢復(fù)案例

    Purepath studio生成的ASM文件有好幾個(gè) ,應(yīng)該選擇哪個(gè)文件加載到工程文件中?

    Purepath studio生成的ASM文件有好幾個(gè) ,應(yīng)該選擇哪個(gè)文件加載到工程文件中? 還有C文件工程中如何嵌入這個(gè)ASM文件?
    發(fā)表于 10-25 12:40

    ASM推出全新PE2O8碳化硅外延機(jī)臺(tái)

    全新推出的PE2O8碳化硅外延機(jī)臺(tái)是對(duì)行業(yè)領(lǐng)先的ASM單晶片碳化硅外延機(jī)臺(tái)產(chǎn)品組合(包含適用于6英寸晶圓的 PE1O6 和適用于8英寸晶圓的 PE1O8)的進(jìn)一步增強(qiáng)。該機(jī)臺(tái)采用獨(dú)立雙腔設(shè)計(jì),兼容6
    發(fā)表于 10-17 14:21 ?409次閱讀
    <b class='flag-5'>ASM</b>推出全新PE2O8碳化硅外延機(jī)臺(tái)

    ASM推出全新PE2O8碳化硅外延機(jī)臺(tái)

    全新推出的PE2O8碳化硅外延機(jī)臺(tái)是對(duì)行業(yè)領(lǐng)先的ASM單晶片碳化硅外延機(jī)臺(tái)產(chǎn)品組合(包含適用于6英寸晶圓的 PE1O6 和適用于8英寸晶圓的 PE1O8)的進(jìn)一步增強(qiáng)。該機(jī)臺(tái)采用獨(dú)立雙腔設(shè)計(jì),兼容6
    發(fā)表于 10-17 14:11 ?677次閱讀
    <b class='flag-5'>ASM</b>推出全新PE2O8碳化硅外延機(jī)臺(tái)