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

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

ASM要被時代淘汰了嗎

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

EORS r1,r1,r4 (2)

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

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

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

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

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

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

責任編輯:haq

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

    關注

    6078

    文章

    45591

    瀏覽量

    673969
  • C語言
    +關注

    關注

    183

    文章

    7646

    瀏覽量

    146200
  • ASM
    ASM
    +關注

    關注

    1

    文章

    69

    瀏覽量

    19960

原文標題:ASM真要被掃進歷史的垃圾堆了嗎?

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Astrodyne TDI ASM65:65W 醫(yī)療與工業(yè)電源的卓越之選

    Astrodyne TDI ASM65:65W 醫(yī)療與工業(yè)電源的卓越之選 在電子設備的設計中,電源的性能與可靠性至關重要。特別是在醫(yī)療和工業(yè)領域,對電源的要求更為嚴格。今天,我們就來詳細了解一下
    的頭像 發(fā)表于 04-28 15:40 ?78次閱讀

    Astrodyne TDI 400W高功率密度醫(yī)療/工業(yè)級開放式框架電源ASM400S/BSM400S評測

    Astrodyne TDI 400W高功率密度醫(yī)療/工業(yè)級開放式框架電源ASM400S/BSM400S評測 在電子設備的設計中,電源模塊的性能直接影響著整個系統(tǒng)的穩(wěn)定性和可靠性。今天我們就來詳細
    的頭像 發(fā)表于 04-28 11:15 ?263次閱讀

    探秘ASM30:30瓦醫(yī)療與工業(yè)電源的卓越之選

    探秘ASM30:30瓦醫(yī)療與工業(yè)電源的卓越之選 在電子工程師的世界里,電源供應器是各類設備穩(wěn)定運行的基石。今天,我們要深入了解一款專為醫(yī)療和工業(yè)應用打造的電源供應器——Astrodyne TDI
    的頭像 發(fā)表于 04-28 11:15 ?256次閱讀

    高速銅纜或被淘汰?零線纜時代真的來了嗎?

    風光無限的高速銅纜,正面臨一場前所未有的結(jié)構(gòu)性考卷。銅纜會被淘汰嗎?銅纜行業(yè)又將迎來什么樣的重構(gòu)? 01 OEX架構(gòu)無銅纜 機柜“零線纜”的核心密碼 OEX(Orthogonal Electrical Exchange)正交無背板架構(gòu),是中興首創(chuàng)、面向高密度算力集群的下一代整機柜互聯(lián)方案,更是
    的頭像 發(fā)表于 04-24 10:46 ?183次閱讀
    高速銅纜或被<b class='flag-5'>淘汰</b>?零線纜<b class='flag-5'>時代</b>真的來<b class='flag-5'>了嗎</b>?

    S32DS無法調(diào)用ghs來編譯asm代碼,為什么?

    將ghs集成到s32ds中,并使用S32ds IDE構(gòu)建項目,如您所見,我已經(jīng)導入了asm文件,但是日志顯示S32DS無法調(diào)用ghs來編譯asm代碼,我不知道為什么。我需要一些幫助。 謝謝。 在構(gòu)建日志中,我看不到要編譯的 asm
    發(fā)表于 04-08 06:36

    200W高功率密度醫(yī)療與工業(yè)級電源ASM201:設計與應用解析

    200W高功率密度醫(yī)療與工業(yè)級電源ASM201:設計與應用解析 在電子設備的設計中,電源的性能和可靠性至關重要。今天,我們要深入探討AstrodyneTDI的ASM201系列200W高功率密度醫(yī)療
    的頭像 發(fā)表于 03-29 14:40 ?219次閱讀

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

    一個Oracle數(shù)據(jù)庫故障表現(xiàn)為ASM磁盤組掉線,ASM實例無法掛載(mount)。數(shù)據(jù)庫管理員自行進行簡單修復,未能成功,隨后聯(lián)系北亞數(shù)據(jù)恢復中心恢復數(shù)據(jù)。
    的頭像 發(fā)表于 02-24 15:19 ?228次閱讀
    Oracle數(shù)據(jù)庫<b class='flag-5'>ASM</b>實例無法掛載的數(shù)據(jù)恢復案例

    5G時代 無人集群控制不用考慮帶寬了嗎

    5G時代飛速發(fā)展應用的今天,遠程控制展現(xiàn)出非凡的低延遲特點,利用5G控制無人設備進行遠程控制是當下主流,但是這樣就不用考慮帶寬問題了嗎?無人設備集群控制一直面臨著穩(wěn)定性的考驗,由于設備眾多,需要回傳
    的頭像 發(fā)表于 12-16 18:00 ?1871次閱讀
    5G<b class='flag-5'>時代</b>  無人集群控制不用考慮帶寬<b class='flag-5'>了嗎</b>?

    ASM330LHB:高精度汽車級6軸慣性模塊,賦能下一代智能駕駛系統(tǒng)

    STMicroelectronics ASM330LHB高精度汽車級6軸慣性模塊是一款系統(tǒng)級封裝器件,配備三軸數(shù)字加速度計和三軸數(shù)字陀螺儀。提供安全手冊和軟件庫(通過ISO26262:2018認證),支持開發(fā)采用 ASM330LHB和滿足ASIL-B要求的應用。
    的頭像 發(fā)表于 10-25 17:57 ?1874次閱讀
    <b class='flag-5'>ASM</b>330LHB:高精度汽車級6軸慣性模塊,賦能下一代智能駕駛系統(tǒng)

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

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

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

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

    一文讀懂 ASM1042 芯片應用技巧

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

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

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

    第一代半導體被淘汰了嗎

    在半導體產(chǎn)業(yè)的百年發(fā)展歷程中,“第一代半導體是否被淘汰”的爭議從未停歇。從早期的鍺晶體管到如今的硅基芯片,以硅為代表的第一代半導體材料,始終以不可替代的產(chǎn)業(yè)基石角色,支撐著全球95%以上的電子設備
    的頭像 發(fā)表于 05-14 17:38 ?1291次閱讀
    第一代半導體被<b class='flag-5'>淘汰</b><b class='flag-5'>了嗎</b>
    日土县| 大宁县| 祁连县| 吴堡县| 乌拉特后旗| 沁源县| 青海省| 莎车县| 恭城| 天峨县| 无棣县| 延吉市| 诸城市| 平乡县| 疏勒县| 肥西县| 太原市| 隆回县| 鄂温| 塔城市| 唐山市| 阜新| 营口市| 桦南县| 灌云县| 常宁市| 大城县| 中牟县| 双牌县| 惠来县| 上林县| 万安县| 安溪县| 安泽县| 海林市| 伊宁县| 南乐县| 桦川县| 博罗县| 尚义县| 德州市|