吴忠躺衫网络科技有限公司

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

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

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

零基礎(chǔ)學(xué)ARM:MDK和GNU偽指令區(qū)別

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-12-24 18:34 ? 次閱讀

ARM邪獵文章,請(qǐng)點(diǎn)擊以下匯總鏈接:

《從0學(xué)arm合集》

一、MDK和GNU偽指令區(qū)別

我們?cè)趯W(xué)習(xí)匯編代碼的時(shí)候經(jīng)過(guò)會(huì)看到以下兩種風(fēng)格的代碼:

gnu代碼開(kāi)頭是:

.global _start
_start: @匯編入口
ldr sp,=0x41000000
.end @匯編程序結(jié)束

MDK代碼開(kāi)頭是:

AREA Example,CODE,READONLY ;聲明代碼段Example
ENTRY ;程序入口
Start
MOV R0,#0
OVER
END

這兩種風(fēng)格的代碼是要使用不同的編譯器,我們之前的實(shí)例代碼都是MDK風(fēng)格的。

那么多對(duì)于我們初學(xué)者來(lái)說(shuō)要學(xué)習(xí)哪種風(fēng)格呢?答案是肯定的,學(xué)習(xí)GNU風(fēng)格的匯編代碼,因?yàn)樽?a href="http://www.solar-ruike.com.cn/v/tag/538/" target="_blank">Linux驅(qū)動(dòng)開(kāi)發(fā)必須掌握的linux內(nèi)核、uboot,而這兩個(gè)軟件就是GNU風(fēng)格的。

為了大家不要把過(guò)多精力浪費(fèi)在暫時(shí)沒(méi)用的知識(shí)上,下面我們只講GNU風(fēng)格匯編。

二、GNU匯編書(shū)寫(xiě)格式:1. 代碼行中的注釋符號(hào):

‘@’ 整行注釋符號(hào):‘?!?語(yǔ)句分離符號(hào):
直接操作數(shù)前綴: ‘?!?或 ‘$’

2. 全局標(biāo)號(hào):

標(biāo)號(hào)只能由a~z,A~Z,0~9,“.”,_等(由點(diǎn)、字母、數(shù)字、下劃線(xiàn)等組成,除局部標(biāo)號(hào)外,不能以數(shù)字開(kāi)頭)字符組成,標(biāo)號(hào)的后面加“:”。

段內(nèi)標(biāo)號(hào)的地址值在匯編時(shí)確定;
段外標(biāo)號(hào)的地址值在連接時(shí)確定。
3. 局部標(biāo)號(hào):

局部標(biāo)號(hào)主要在局部范圍內(nèi)使用而且局部標(biāo)號(hào)可以重復(fù)出現(xiàn)。它由兩部組成開(kāi)頭是一個(gè)0-99直接的數(shù)字局部標(biāo)號(hào) 后面加“:”

F:指示編譯器只向前搜索,代碼行數(shù)增加的方向 / 代碼的下一句
B:指示編譯器只向后搜索,代碼行數(shù)減小的方向

注意局部標(biāo)號(hào)的跳轉(zhuǎn),就近原則「舉例:」

文件位置
arch/arm/kernel/entry-armv.S

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

    關(guān)注

    134

    文章

    9169

    瀏覽量

    369245
  • 偽指令
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    10550
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Vivado Tcl零基礎(chǔ)入門(mén)與案例實(shí)戰(zhàn)【高亞軍編著】

    Vivado Tcl零基礎(chǔ)入門(mén)與案例實(shí)戰(zhàn)-高亞軍編寫(xiě)
    發(fā)表于 01-14 11:13

    零基礎(chǔ)入門(mén)PCB工程師

    各位前輩大家好,零基礎(chǔ)入門(mén)PCB工程師,有什么學(xué)習(xí)資料推薦嗎?
    發(fā)表于 11-27 16:54

    你聽(tīng)說(shuō)過(guò)MIPS嗎?它和ARM有何區(qū)別?

    基于MIPS指令集的君正X2000處理器。有些工程師對(duì)于MIPS不怎么了解,究竟MIPS和ARM有何區(qū)別呢?本期文對(duì)MIPS做一個(gè)簡(jiǎn)單介紹。MIPS和ARM都屬于
    的頭像 發(fā)表于 11-23 01:05 ?339次閱讀
    你聽(tīng)說(shuō)過(guò)MIPS嗎?它和<b class='flag-5'>ARM</b>有何<b class='flag-5'>區(qū)別</b>?

    新唐科技率先發(fā)布免費(fèi)版Arm Keil MDK,助力嵌入式開(kāi)發(fā)

    2024年11月5日,新唐科技正式推出了免費(fèi)版的Arm? Keil? MDK Nuvoton Edition,成為全球首家向開(kāi)發(fā)者提供Keil MDK完整版本的半導(dǎo)體公司。這款專(zhuān)業(yè)開(kāi)發(fā)工具專(zhuān)為
    的頭像 發(fā)表于 11-06 11:07 ?1321次閱讀

    GNU構(gòu)建裸機(jī)系統(tǒng)

    基于AT91SAM7S平臺(tái),介紹裸機(jī)開(kāi)發(fā),以閃燈為藍(lán)本,涉及匯編、鏈接、C/C++、中斷等。   無(wú)處不在的ARM處理器家族得到了GNU C/C++工具鏈的良好支持。雖然許多在線(xiàn)和印刷資源關(guān)注
    發(fā)表于 10-16 17:34 ?0次下載

    RISC-V和arm指令集的對(duì)比分析

    RISC-V和ARM指令集是兩種不同的計(jì)算機(jī)指令集架構(gòu),它們?cè)诙鄠€(gè)方面存在顯著的差異。以下是對(duì)這兩種指令集的詳細(xì)對(duì)比分析: 一、設(shè)計(jì)理念 RISC-V :RISC-V的設(shè)計(jì)理念是簡(jiǎn)化
    發(fā)表于 09-28 11:05

    ARM處理器的指令集包括哪些

    ARM處理器的指令集是一個(gè)龐大而復(fù)雜的系統(tǒng),它涵蓋了多種類(lèi)型的指令,用于實(shí)現(xiàn)數(shù)據(jù)處理、程序控制、內(nèi)存訪(fǎng)問(wèn)等多種功能。
    的頭像 發(fā)表于 09-10 11:15 ?710次閱讀

    ARM處理器和CISC處理器的區(qū)別

    ARM處理器和CISC(復(fù)雜指令集計(jì)算機(jī))處理器在多個(gè)方面存在顯著的區(qū)別。這些區(qū)別主要體現(xiàn)在架構(gòu)原理、性能與功耗、設(shè)計(jì)目標(biāo)、應(yīng)用領(lǐng)域以及市場(chǎng)生態(tài)等方面。
    的頭像 發(fā)表于 09-10 11:10 ?571次閱讀

    電壓開(kāi)關(guān)與電流開(kāi)關(guān)的區(qū)別

    電壓開(kāi)關(guān)(Zero Voltage Switch, ZVS)和電流開(kāi)關(guān)(Zero Current Switch, ZCS)是電力電子技術(shù)中兩種重要的軟開(kāi)關(guān)技術(shù),它們?cè)谔岣呦到y(tǒng)效率、降低開(kāi)關(guān)損耗、減少電磁干擾等方面具有顯著優(yōu)勢(shì)。以下將詳細(xì)探討這兩種技術(shù)的
    的頭像 發(fā)表于 07-25 11:18 ?3309次閱讀

    PLC中ALT和ALTP指令區(qū)別

    在PLC(可編程邏輯控制器)編程中,ALT和ALTP是兩個(gè)重要的指令,它們各自具有獨(dú)特的功能和應(yīng)用場(chǎng)景。本文將從多個(gè)方面對(duì)這兩個(gè)指令進(jìn)行詳細(xì)的分析和比較,以便讀者能夠更深入地理解它們之間的區(qū)別。
    的頭像 發(fā)表于 06-17 16:42 ?4077次閱讀

    GNU make中文手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《GNU make中文手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 06-05 13:22 ?0次下載

    I2C boot使用ARM GCC編譯pass, 改用ARM MDK編譯報(bào)錯(cuò)怎么解決?

    I2C boot 使用ARM GCC 編譯pass, 改用ARM MDK 編譯報(bào)錯(cuò)如下, 怎么解決,謝謝! cannot open source input file &quot
    發(fā)表于 06-03 06:06

    FPGA與ARM的本質(zhì)區(qū)別

    FPGA(Field-Programmable Gate Array)與ARM在多個(gè)方面存在本質(zhì)區(qū)別。 首先,從它們的定義和結(jié)構(gòu)上來(lái)看,F(xiàn)PGA是一種現(xiàn)場(chǎng)可編程門(mén)陣列,屬于可編程器件的一種。它的內(nèi)部
    發(fā)表于 04-28 09:00

    FPGA與ARM的本質(zhì)區(qū)別是什么?

    FPGA(Field-Programmable Gate Array)與ARM在多個(gè)方面存在本質(zhì)區(qū)別。 首先,從它們的定義和結(jié)構(gòu)上來(lái)看,F(xiàn)PGA是一種現(xiàn)場(chǎng)可編程門(mén)陣列,屬于可編程器件的一種。它的內(nèi)部
    發(fā)表于 04-28 08:56

    零基礎(chǔ)小白適不適合學(xué)鴻蒙開(kāi)發(fā)?

    ,自由流轉(zhuǎn);統(tǒng)一生態(tài),原生智能。隨著鴻蒙生態(tài)的壯大,投入鴻蒙開(kāi)發(fā)的IT專(zhuān)業(yè)人才越來(lái)越多,對(duì)于從未接觸過(guò)此方面零基礎(chǔ)的學(xué)生而言,也是一次很不錯(cuò)的職業(yè)轉(zhuǎn)向和技術(shù)提升的好機(jī)會(huì)。 什么是鴻蒙? ? 鴻蒙系統(tǒng)(HarmonyOS)是華為技
    的頭像 發(fā)表于 03-04 17:50 ?2008次閱讀
    <b class='flag-5'>零基</b>礎(chǔ)小白適不適合<b class='flag-5'>學(xué)</b>鴻蒙開(kāi)發(fā)?
    云鼎娱乐城优惠| 百家乐官网的嬴钱法| 至尊百家乐20130301| 百家乐多少点数算赢| 百家乐官网破解赌戏玩| 百家乐官网在线赌场| 百家乐官网太阳城球讯网| 肥西县| 轮盘赌技巧| 鸿运国际娱乐城| 单机棋牌游戏下载| qq德州扑克下载| 大发888官方df888gfxzylc8| 大发888娱乐城下载lm0| 百家乐微笑玩法| 百家乐开过的路纸| 最好的百家乐博彩网站| 平注打百家乐的方法| 百家乐论坛香港马会| 百家乐赌博筹码| 利都百家乐国际娱乐平台| 百家乐技巧头头娱乐| 百家乐透视牌靴价格| 百家乐7scs娱乐平台| 百家乐龙虎的投注法| 最大的百家乐网站| 百家乐娱乐下载| 凯斯百家乐的玩法技巧和规则 | 百家乐官网永利娱乐城| 百家乐官网大赢家客户端| 邻水| 百家乐官网代理龙虎| 战胜百家乐官网的技巧| 真人百家乐官网娱乐场| 名山县| 博狗百家乐官网开户| 龙虎斗网站| 百家乐官网免费路单| 百家乐官网两头压注| 真人百家乐官网是啥游戏| 百家乐官网玩法介绍图片|