ARM匯編語(yǔ)言程序設(shè)計(jì):ARM匯編語(yǔ)言源程序中的語(yǔ)句由指令、偽操作和宏指令組成。ARM指令已經(jīng)在上一節(jié)介紹過(guò)了。
ARM偽操作和宏指令分類(lèi):
<1>符號(hào)定義偽操作
GBLA:聲明一個(gè)全局的算術(shù)變量,并將其初始化為0。 語(yǔ)法:GBLA variable
GBLL:聲明一個(gè)全局的邏輯變量,并將其初始化為FALSE 語(yǔ)法:GBLL variable
GBLS:聲明一個(gè)全局的串變量,并將其初始化為空串“” 語(yǔ)法:GBLS variable
LCLA:聲明一個(gè)局部的算術(shù)變量,并將其初始化為0 語(yǔ)法:LCLA variable
LCLL:聲明一個(gè)局部的邏輯變量,并將其初始化為FALSE 語(yǔ)法:LCLL variable
LCLS:聲明一個(gè)局部的串變量,并將其初始化為空串“” 語(yǔ)法:LCLS variable
SETA:給一個(gè)算術(shù)變量賦值 語(yǔ)法:SETA variable expr
SETL:給一個(gè)邏輯變量賦值 語(yǔ)法:SETL variable expr
SETS:給一個(gè)串變量賦值 語(yǔ)法:SETS variable expr
RLIST:為一個(gè)通用寄存器列表定義名稱(chēng) 語(yǔ)法:name RLIST {list-of-registers}
CN:為一個(gè)協(xié)處理器的寄存器定義名稱(chēng) 語(yǔ)法:name CN expr
CP:為一個(gè)協(xié)處理器定義名稱(chēng) 語(yǔ)法:name CP expr
<2>數(shù)據(jù)定義偽操作
LTORG:用于聲明一個(gè)數(shù)據(jù)緩沖池的開(kāi)始 語(yǔ)法:LTORG
MAP:用于定義一個(gè)結(jié)構(gòu)化的內(nèi)存表的首地址 語(yǔ)法:MAP expr{, base-register}
FIELD:用于定義一個(gè)結(jié)構(gòu)化的內(nèi)存表中的數(shù)據(jù)域,#是FIELD的同義詞 語(yǔ)法:{label} FIELD expr
SPACE:用于分配一塊內(nèi)存單元,并用0初始化,%是SPACE的同義詞 語(yǔ)法:{label} SPACE expr
DCB:用于分配一段字節(jié)內(nèi)存單元,并用expr初始化,=是DCB的同義詞 語(yǔ)法:{label} DCB expr
DCD:用于分配一段字內(nèi)存單元,并用expr初始化,&是DCD的同義詞 語(yǔ)法:{label} DCD expr
<3>匯編控制偽操作
IF,ELSE及ENDIF:[是IF偽操作的同義詞,|是ELSE偽操作的同義詞,]是ENDIF偽操作的同義詞。
WHILE及WEND:
MACRO及MEND:語(yǔ)法:
MACRO
{$label} macroname {$parameter1{,parameter2}...}
;code
...
;code
MEND
MEXIT:用于從宏中跳轉(zhuǎn)出去
<4>框架描述偽操作
CODE16:告訴匯編器后面的指令序列為16位的Thumb指令 語(yǔ)法:CODE16
CODE32:告訴匯編器后面的指令序列為32位的ARM指令 語(yǔ)法:CODE32
EQU:為數(shù)字常量和程序中的標(biāo)號(hào)定義一個(gè)字符名稱(chēng),*是EQU的同義詞。 語(yǔ)法:name EQU expr{, type}
AREA:用于定義一個(gè)代碼段或者數(shù)據(jù)段。一個(gè)大的程序可以包含多個(gè)代碼段和數(shù)據(jù)段。一個(gè)匯編程序至少包含一個(gè)段。 語(yǔ)法:AREA sectionname{,attr1}{,attr2}...
ENTRY:指定程序的入口點(diǎn)。一個(gè)程序中至少要有一個(gè)ENTRY,一個(gè)源文件中最多只能有一個(gè)ENTRY 語(yǔ)法:ENTRY
END:告訴匯編器已經(jīng)到了源程序的結(jié)尾。每個(gè)匯編程序都包含END,以告知本源程序的結(jié)束。
ALIGN:通過(guò)添加補(bǔ)丁字節(jié),使得當(dāng)前位置滿(mǎn)足一定的對(duì)齊方式。 語(yǔ)法:ALIGN {expr,{, offset}}
EXPORT:聲明一個(gè)符號(hào)可以被其他文件引用,相當(dāng)于聲明了一個(gè)全局變量。 語(yǔ)法:EXPORT symbol{[WEAK]}
IMPORT:告訴匯編器當(dāng)前的符號(hào)不是在本源文件中定義的,而是在其他源文件中定義的,在本源文件中可以引用該符號(hào)。不論本源文件是否引用,該符號(hào)都將被加入到本源文件的符號(hào)表中。 語(yǔ)法:IMPORT symbol{[WEAK]}
EXTERN:告訴匯編器當(dāng)前的符號(hào)不是在本源文件中定義的,而是在其他源文件中定義的,在本源文件中可以引用該符號(hào)。如果本源文件實(shí)際上沒(méi)有引用該符號(hào),它將不會(huì)被加入到本源文件的符號(hào)表中。 語(yǔ)法:EXTERN symbol{[WEAK]}
GET及INCLUDE;將一個(gè)源文件包含到當(dāng)前源文件中,并將被包含的文件在當(dāng)前位置進(jìn)行匯編處理。 語(yǔ)法:GET filename
<5>信息報(bào)告?zhèn)尾僮?p>ASSERT:用于保證源程序被匯編時(shí)滿(mǎn)足相關(guān)條件,如果條件不滿(mǎn)足,ASSERT偽操作報(bào)告錯(cuò)誤類(lèi)型并終止匯編。 語(yǔ)法:ASSERT logical-expression
<6>雜項(xiàng)偽操作
ARM匯編語(yǔ)言偽指令:這些偽指令不是真正的ARM或Thumb指令,這些偽指令在匯編時(shí)被替換成對(duì)應(yīng)的ARM或Thumb指令。
ADR偽指令:小范圍的地址讀取指令,該指令將基于PC的地址或者基于寄存器的地址讀取到寄存器中。該指令在匯編時(shí)被替換成一條指令。
語(yǔ)法:ADR{cond} register, expr
ADRL偽指令:中等范圍的地址讀取指令,該指令將基于PC的地址或者基于寄存器的地址讀取到寄存器中。該指令在匯編時(shí)被替換成兩條指令。
語(yǔ)法:ADRL{cond} register, expr
LDR偽指令:大范圍的地址讀取指令,該指令將一個(gè)32位常數(shù)或地址值讀取到寄存器中。
語(yǔ)法:LDR{cond} register, =expr
NOP:空操作指令
ARM匯編語(yǔ)言語(yǔ)句格式:如下:
{symbol} {instruction|directive|pseudo-instruction} {;commnet}
symbol:符號(hào)
instrution:指令,在ARM匯編語(yǔ)言中,指令不能從一行的行頭開(kāi)始,在一行語(yǔ)句中,指令的前面必須有空格或者符號(hào)
directive:偽操作
pseudo-instruction:偽指令
comment:語(yǔ)句注釋。在ARM匯編語(yǔ)言中,注釋以;開(kāi)頭。
ARM匯編語(yǔ)言程序格式:ARM匯編語(yǔ)言以段(section)為單位組織源文件,段又分為代碼段、數(shù)據(jù)段。一個(gè)ARM源程序至少需要一個(gè)代碼段,大的程序可以包含多個(gè)代碼段和數(shù)據(jù)段。
上一篇:ARM異常返回修正值
下一篇:ARM體系結(jié)構(gòu)與編程-3
推薦閱讀
史海拾趣
隨著新能源和儲(chǔ)能市場(chǎng)的快速發(fā)展,福斯特公司也積極拓展相關(guān)業(yè)務(wù)領(lǐng)域。公司不僅關(guān)注光伏材料的研發(fā)和生產(chǎn),還將目光投向了動(dòng)力電池及儲(chǔ)能領(lǐng)域。例如,公司推出的鋁塑復(fù)合膜產(chǎn)品已完成一期2000萬(wàn)平米擴(kuò)產(chǎn)項(xiàng)目,并計(jì)劃未來(lái)進(jìn)一步拓展至動(dòng)力電池及儲(chǔ)能領(lǐng)域。這一舉措不僅豐富了公司的產(chǎn)品線,還為公司帶來(lái)了新的增長(zhǎng)點(diǎn)和發(fā)展機(jī)遇。同時(shí),福斯特還加強(qiáng)與新能源產(chǎn)業(yè)鏈上下游企業(yè)的合作,共同推動(dòng)新能源和儲(chǔ)能產(chǎn)業(yè)的發(fā)展。
隨著技術(shù)實(shí)力的不斷提升,鈺創(chuàng)科技開(kāi)始積極拓展國(guó)際市場(chǎng)。公司憑借高品質(zhì)的產(chǎn)品和專(zhuān)業(yè)的技術(shù)服務(wù),成功打入歐美等發(fā)達(dá)國(guó)家市場(chǎng)。在國(guó)際市場(chǎng)上,鈺創(chuàng)科技面臨著更加激烈的競(jìng)爭(zhēng)和更高的品質(zhì)要求。然而,公司始終堅(jiān)持以客戶(hù)為中心的經(jīng)營(yíng)理念,不斷提升產(chǎn)品和服務(wù)質(zhì)量,贏得了越來(lái)越多客戶(hù)的信賴(lài)和支持。
高頻電子成立于1961年(也有資料顯示為1962年),最初主要根據(jù)美國(guó)政府的最終使用合同,生產(chǎn)專(zhuān)有的精密時(shí)間和頻率技術(shù)產(chǎn)品。在20世紀(jì)90年代中期,公司敏銳地捕捉到市場(chǎng)變化,開(kāi)始從一家國(guó)防合同制造商轉(zhuǎn)變?yōu)槊嫦蛏虡I(yè)和政府最終用途的高科技供應(yīng)商。這一戰(zhàn)略轉(zhuǎn)型不僅拓寬了公司的業(yè)務(wù)范圍,還為公司帶來(lái)了更多的市場(chǎng)機(jī)遇和增長(zhǎng)潛力。
隨著公司業(yè)務(wù)的不斷發(fā)展,F(xiàn)ASTRAX開(kāi)始積極拓展海外市場(chǎng),并與多家國(guó)際知名企業(yè)建立了戰(zhàn)略合作關(guān)系。通過(guò)與這些企業(yè)的合作,F(xiàn)ASTRAX不僅獲得了更多的市場(chǎng)份額,也學(xué)習(xí)到了先進(jìn)的管理經(jīng)驗(yàn)和技術(shù)知識(shí)。這些合作經(jīng)驗(yàn)為FASTRAX的持續(xù)發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
1959年,F(xiàn)agor Electrónica在電子領(lǐng)域嶄露頭角,當(dāng)時(shí)它還只是Ulgor, S. Coop.公司旗下的一個(gè)電子部門(mén)。這一年,公司開(kāi)始制造硒板和整流器,這標(biāo)志著其電子制造業(yè)務(wù)的開(kāi)始。盡管初始規(guī)模不大,但Fagor Electrónica憑借其高質(zhì)量的產(chǎn)品和卓越的客戶(hù)服務(wù),迅速在市場(chǎng)上贏得了聲譽(yù)。
讀者希望了解用用什么方法來(lái)測(cè)試單片機(jī)系統(tǒng)的可靠性,鄧宏杰指出:“當(dāng)一個(gè)單片機(jī)系統(tǒng)設(shè)計(jì)完成,對(duì)于不同的單片機(jī)系統(tǒng)產(chǎn)品會(huì)有不同的測(cè)試項(xiàng)目和方法,但是有一些是必須測(cè)試的: 1.測(cè)試單片機(jī)軟件功能的完善性。這是針對(duì)所有單片機(jī) ...… 查看全部問(wèn)答∨ |
額現(xiàn)在轉(zhuǎn)做STM32系統(tǒng)arm了,用IAR5.4開(kāi)發(fā),從網(wǎng)上下STM32的V3.2的固件庫(kù),移植到IAR5.4總提示出錯(cuò),最主要的一個(gè)是不能打開(kāi) stm32f10x.h這個(gè)頭文件,請(qǐng)問(wèn)各位大俠該怎么移植這個(gè)固件庫(kù),給發(fā)個(gè)說(shuō)明文檔也可以,謝謝了。ji.an86@163.com… 查看全部問(wèn)答∨ |
【求助】關(guān)于SD16在輸入通道短路后采樣數(shù)據(jù)不為零 SD16在F42X0出現(xiàn),我在使用F4250的時(shí)候發(fā)現(xiàn)這樣一個(gè)問(wèn)題,就是用通道7測(cè)量失調(diào) 電壓與將AD輸入端口短路(我是在芯片引腳上短路的,應(yīng)該不會(huì)引入其它的干擾信號(hào))測(cè)得的電壓不同. 我在用通道7測(cè)得各個(gè)PGA放大倍數(shù)的失調(diào)電壓后,再切換到通道0,將通道0 ...… 查看全部問(wèn)答∨ |
|
總覺(jué)得EEWORLD里面缺少一些實(shí)際性的問(wèn)題討論!不夠經(jīng)典! 很多人貌似是為了\"出賣(mài)\"電子資料才來(lái)的!我個(gè)人覺(jué)得模擬專(zhuān)區(qū)里值得看的東西太少了?… 查看全部問(wèn)答∨ |
【MSP430共享】具有大容量的嵌入式數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 目前的數(shù)據(jù)采集系統(tǒng)越來(lái)越偏向于低電壓、 低功耗, 而海量存儲(chǔ)則是它發(fā)展的一個(gè)強(qiáng)大趨勢(shì)。本文設(shè)計(jì)了一種借助于U S B 總線技術(shù)、 嵌人式系統(tǒng)設(shè)計(jì)技術(shù)和微處理器技術(shù)來(lái)實(shí)現(xiàn)的一種低功耗、 便攜、 大容量存儲(chǔ)的數(shù)據(jù)采集系統(tǒng)。硬件方面, 本設(shè)計(jì) ...… 查看全部問(wèn)答∨ |
目前采用是是STM32F205主控芯片,需要增加語(yǔ)音錄入功能,需要得到WAV格式語(yǔ)音數(shù)據(jù)。 準(zhǔn)備采用ADC采樣,得到的是原始的二進(jìn)制數(shù)據(jù)。有兩個(gè)問(wèn)題不是特別清楚,想請(qǐng)問(wèn)版上 各位達(dá)人: 1.是不是通過(guò)定時(shí)器控制AD采樣的速度就可以控制音頻信號(hào)質(zhì)量?獲 ...… 查看全部問(wèn)答∨ |
|
本帖最后由 paulhyde 于 2014-9-15 03:15 編輯 能實(shí)現(xiàn)模擬傳輸,只是距離不夠怎么辦啊,求大神指點(diǎn)啊 … 查看全部問(wèn)答∨ |
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦
- 全主動(dòng)懸架?chē)?guó)產(chǎn)化落地,未來(lái)也能“人人買(mǎi)得起”?
- 第三方激光雷達(dá)ASIC方案,能改變行業(yè)格局嗎?
- 為何端到端成為各車(chē)企智駕布局的首要選擇?
- 智能網(wǎng)聯(lián)汽車(chē)組合駕駛輔助系統(tǒng)安全要求立項(xiàng)制定,東風(fēng)、華為等參與起草
- 從高精地圖到VLA,一場(chǎng)技術(shù)路線的競(jìng)速
- 韓國(guó)團(tuán)隊(duì)開(kāi)發(fā)自動(dòng)駕駛軟件 透明障礙物識(shí)別準(zhǔn)確率達(dá)96%
- OpenGMSL?聯(lián)盟宣告成立 推動(dòng)未來(lái)車(chē)載連接技術(shù)變革
- 高通完成對(duì)V2X芯片企業(yè)Autotalks收購(gòu),強(qiáng)化車(chē)聯(lián)網(wǎng)通信
- “磷酸鐵鋰需求激增,寧德時(shí)代等電池巨頭鎖定未來(lái)五年大單”
- 面壁智能端側(cè)大模型首日上線,英特爾工程師聯(lián)合優(yōu)化實(shí)現(xiàn)2.2倍推理效率躍升
- 【投票瓜分2500元紅包】2022得捷電子創(chuàng)新設(shè)計(jì)大賽優(yōu)秀作品人氣獎(jiǎng)由你來(lái)定!
- 積分芯幣兌換情人節(jié)專(zhuān)場(chǎng)
- DEYISUPPORT:【全新FAQ來(lái)襲】今夏且聽(tīng)風(fēng)吟,你不能錯(cuò)過(guò)的精華!
- 暢想十二月,設(shè)計(jì)我自己的EEWORLD!
- DEYISUPPORT TI 大咖級(jí)工程師在這里,等你來(lái)約!
- 提出你的電源問(wèn)題&技術(shù)解答,提升自我電源知識(shí),贏取好禮
- 看是德科技利用校準(zhǔn)降低儀器測(cè)量不確定度、提高測(cè)試精度 直播享好禮!
- 有獎(jiǎng)直播:8月21上午10:00 泰克助您應(yīng)對(duì)現(xiàn)在及未來(lái)的測(cè)試挑戰(zhàn)!
- 賈躍亭從酷派套現(xiàn),這8億港元會(huì)用來(lái)還錢(qián)嗎?
- 無(wú)人機(jī)產(chǎn)業(yè)鏈,飛控/主控/圖傳/攝像機(jī)都由誰(shuí)操盤(pán)?
- 亞馬遜和谷歌都降價(jià),智能音箱要打價(jià)格戰(zhàn)?
- 國(guó)內(nèi)媒體唱衰比特幣,中國(guó)政府會(huì)給比特幣松綁嗎?
- CES2018最佳創(chuàng)新獎(jiǎng)名單公布,滿(mǎn)屏都是黑科技
- 2017世界科技發(fā)展回顧:5G發(fā)展保持領(lǐng)先
- 聚焦2018 CES消費(fèi)電子產(chǎn)品展,英特爾和AMD點(diǎn)燃PC市場(chǎng)
- CES 2018什么最火?智能家居絕對(duì)不容錯(cuò)過(guò)
- CES 2018將在1月9日正式啟動(dòng),這三個(gè)領(lǐng)域要關(guān)注
- 三星攜全球首款雷電3接口QLED顯示屏參展CES 2018
- 硬件設(shè)計(jì)
- 單片機(jī)恒流源
- ADI創(chuàng)新大賽又開(kāi)始了~~有精力的人可以試試
- 單片機(jī)數(shù)控穩(wěn)壓電源
- 【ESK32-360測(cè)評(píng)】+ RTC計(jì)時(shí)器
- 各位高手,幫我解決一下程序問(wèn)題吧
- 【N32L43x評(píng)測(cè)】創(chuàng)建DEMO例程測(cè)試SHT20溫濕度傳感器
- 學(xué)了電子半年了,一點(diǎn)收貨也沒(méi)有
- 對(duì)作好稅控投標(biāo)工作的幾點(diǎn)建議
- 【注意】折騰一晚上,得出這樣一個(gè)結(jié)論:IAR提供的標(biāo)準(zhǔn)庫(kù)函數(shù)<math.h>有BUG?