1、 AREA
AREA 偽指令用于定義一個代碼段或數(shù)據(jù)段。
語法格式:
AREA 段名 屬性 1 ,屬性 2 ,……
其中,段名若以數(shù)字開頭,則該段名需用 “ | ” 括起來,如 |1_test| 。
屬性字段表示該代碼段(或數(shù)據(jù)段)的相關(guān)屬性,多個屬性用逗號分隔。常用的屬性如下:
— CODE 屬性:用于定義代碼段,默認為 READONLY 。
— DATA 屬性:用于定義數(shù)據(jù)段,默認為 READWRITE 。
— READONLY 屬性:指定本段為只讀,代碼段默認為 READONLY 。
— READWRITE 屬性:指定本段為可讀可寫,數(shù)據(jù)段的默認屬性為 READWRITE 。
— ALIGN 屬性:使用方式為ALIGN表達式。在默認時, ELF (可執(zhí)行連接文件)的代碼段和數(shù)據(jù)段是按字對齊的,表達式的取值范圍為 0 ~ 31 ,相應的對齊方式為表達式2次方。
— COMMON 屬性:該屬性定義一個通用的段,不包含任何的用戶代碼和數(shù)據(jù)。各源文件中同名的COMMON段共享同一段存儲單元。
一個匯編語言程序至少要包含一個段,當程序太長時,也可以將程序分為多個代碼段和數(shù)據(jù)段。
使用示例:
AREA Init , CODE , READONLY
該偽指令定義了一個代碼段,段名為 Init ,屬性為只讀
2、 ALIGN
ALIGN 偽指令可通過添加填充字節(jié)的方式,使當前位置滿足一定的對其方式 。
語法格式:
ALIGN { 表達式 { ,偏移量 }}
其中,表達式的值用于指定對齊方式,可能的取值為2的冪,如 1 、 2 、 4 、 8 、 16 等。若未指定表達式,則將當前位置對齊到下一個字的位置。偏移量也為一個數(shù)字表達式,若使用該字段,則當前位置的對齊方式為: 2 的表達式次冪+偏移量。
使用示例:
AREA Init , CODE , READONLY , ALIEN = 3 ;指定后面的指令為8字節(jié)對齊。 指令序列
END
4、 ENTRY
ENTRY 偽指令用于指定匯編程序的入口點。
語法格式:
ENTRY
在一個完整的匯編程序中至少要有一個ENTRY(當有多個ENTRY時,程序的真正入口點由鏈接器指定),但在一個源文件里最多只能有一個ENTRY(可以沒有)。
使用示例:
AREA Init , CODE , READONLY
ENTRY ;指定應用程序的入口點
……
5、 END
END 偽指令用于通知編譯器已經(jīng)到了源程序的結(jié)尾。
語法格式:
END
使用示例:
AREA Init , CODE , READONLY
……
END ;指定應用程序的結(jié)尾
6、 EQU
EQU 偽指令用于為程序中的常量、標號等定義一個等效的字符名稱,類似于C語言中的#define 。
語法格式:
名稱 EQU 表達式 { ,類型 }
其中 EQU 可用 “ * ” 代替。
名稱為EQU偽指令定義的字符名稱,當表達式為32位的常量時,可以指定表達式的數(shù)據(jù)類型,可以有以下三種類型:
CODE16 、 CODE32 和 DATA
7、 EXPORT(或GLOBAL)
語法格式:
EXPORT 標號 {[WEAK]}
EXPORT 偽指令用于在程序中聲明一個全局的標號,該標號可在其他的文件中引用。 EXPORT可用GLOBAL代替。標號在程序中區(qū)分大小寫, [WEAK] 選項聲明其他的同名標號優(yōu)先于該標號被引用。
使用示例:
AREA Init , CODE , READONLY
EXPORT Stest ;聲明一個可全局引用的標號Stest……
END
8、 IMPORT
語法格式:
IMPORT 標號 {[WEAK]}
IMPORT 偽指令用于通知編譯器要使用的標號在其他的源文件中定義,但要在當前源文件中引用,而且無論當前源文件是否引用該標號,該標號均會被加入到當前源文件的符號表中。
標號在程序中區(qū)分大小寫, [WEAK] 選項表示當所有的源文件都沒有定義這樣一個標號時,編譯器也不給出錯誤信息,在多數(shù)情況下將該標號置為0 ,若該標號為B 或BL指令引用,則將B或BL指令置為 NOP 操作。
使用示例:
AREA Init , CODE , READONLY
IMPORT Main ;通知編譯器當前文件要引用標號Main,但Main在其他源文件中定義
……
END
9、 EXTERN
語法格式:
EXTERN 標號 {[WEAK]}
EXTERN 偽指令用于通知編譯器要使用的標號在其他的源文件中定義,但要在當前源文件中引用,如果當前源文件實際并未引用該標號,該標號就不會被加入到當前源文件的符號表中。標號在程序中區(qū)分大小寫, [WEAK] 選項表示當所有的源文件都沒有定義這樣一個標號時,編譯器也不給出錯誤信息,在多數(shù)情況下將該標號置為 0 ,若該標號為 B 或 BL 指令引用,則將 B 或 BL指令置為 NOP 操作。
使用示例:
AREA Init , CODE , READONLY
EXTERN Main ;通知編譯器當前文件要引用標號Main,但Main 在其他源文件中定義……
END
10、 GET(或INCLUDE)
語法格式:
GET 文件名
GET 偽指令用于將一個源文件包含到當前的源文件中,并將被包含的源文件在當前位置進行匯編處理??梢允褂?INCLUDE 代替 GET 。
匯編程序中常用的方法是在某源文件中定義一些宏指令,用 EQU 定義常量的符號名稱,用MAP和FIELD 定義結(jié)構(gòu)化的數(shù)據(jù)類型,然后用 GET 偽指令將這個源文件包含到其他的源文件中。使用方法與 C 語言中的 “ include ” 相似。
GET 偽指令只能用于包含源文件,包含目標文件需要使用 INCBIN 偽指令
使用示例:
AREA Init , CODE , READONLY
GET a1.s ;通知編譯器當前源文件包含源文件a1.s
GE T C:a2.s ;通知編譯器當前源文件包含源文件C: a2.s ……
END
11、 INCBIN
語法格式:
INCBIN 文件名
INCBIN 偽指令用于將一個目標文件或數(shù)據(jù)文件包含到當前的源文件中,被包含的文件不作任何變動的存放在當前文件中,編譯器從其后開始繼續(xù)處理。
使用示例:
AREA Init , CODE , READONLY
INCBIN a1.dat ;通知編譯器當前源文件包含文件a1.dat
INCBIN C:a2.txt ;通知編譯器當前源文件包含文件C:a2.txt……
END
12、 RN
語法格式:
名稱 RN 表達式
RN 偽指令用于給一個寄存器定義一個別名。采用這種方式可以方便程序員記憶該寄存器的功能。其中,名稱為給寄存器定義的別名,表達式為寄存器的編碼。
使用示例:
Temp RN R0 ;將R0定義一個別名Temp
13、 ROUT
語法格式:
{ 名稱 } ROUT
ROUT 偽指令用于給一個局部變量定義作用范圍。在程序中未使用該偽指令時,局部變量的作用范圍為所在的 AREA ,而使用 ROUT 后,局部變量的作為范圍為當前 ROUT 和下一個 ROUT 之間。
否則,zero=0(跳到SuspendUp處執(zhí)行)
上一篇:ARM流水燈實驗 LPC213芯片
下一篇:最后一頁
推薦閱讀
史海拾趣
為了確保產(chǎn)品質(zhì)量的穩(wěn)定性和可靠性,Anaren Ceramics公司建立了一套完善的質(zhì)量管理體系。公司嚴格按照國際標準進行生產(chǎn)和管理,從原材料的采購到產(chǎn)品的出廠,每一個環(huán)節(jié)都經(jīng)過嚴格的檢測和把控。這種對質(zhì)量的嚴格把控不僅贏得了客戶的信任,也為公司在電子行業(yè)中樹立了良好的口碑。
隨著技術(shù)的不斷進步,CIRCUITCO公司開始尋求市場拓展的機會。公司積極與國內(nèi)外知名電子產(chǎn)品制造商建立合作關(guān)系,為其提供優(yōu)質(zhì)的電路板解決方案。通過與這些企業(yè)的合作,CIRCUITCO的產(chǎn)品逐漸滲透到各個領(lǐng)域,如通信、計算機、消費電子等。同時,公司也通過參加國際電子展會等方式,提升品牌知名度,進一步拓展市場份額。
在快速發(fā)展的同時,聯(lián)捷(Elinker)始終關(guān)注社會責任和可持續(xù)發(fā)展。公司積極參與各種公益活動,為社會做出了積極貢獻。同時,公司還注重環(huán)保和節(jié)能工作,通過采用環(huán)保材料和節(jié)能技術(shù)等方式降低生產(chǎn)過程中的能耗和排放。這些舉措不僅提高了公司的社會形象也促進了公司的可持續(xù)發(fā)展。
請注意,以上故事均為模擬內(nèi)容,旨在展示聯(lián)捷(Elinker)公司可能的發(fā)展歷程和故事。實際情況可能有所不同,具體信息請參考公司官方發(fā)布的相關(guān)資料。
隨著全球?qū)Νh(huán)保和可持續(xù)發(fā)展的重視,Elcos AG也開始注重自身的環(huán)保責任和可持續(xù)發(fā)展戰(zhàn)略。公司采用環(huán)保材料和生產(chǎn)工藝,減少了對環(huán)境的污染和資源的浪費。同時,Elcos AG還積極參與社會公益事業(yè)和環(huán)?;顒樱ㄟ^捐款、贊助和志愿服務等方式回饋社會。這些舉措不僅提升了公司的社會形象和品牌價值,也為公司的長期發(fā)展奠定了堅實的基礎。
菲斯克(FSR.US)作為一家新興的電動汽車制造商,自創(chuàng)立之初便面臨著巨大的挑戰(zhàn)。資金緊張是公司面臨的首要問題,為了維持運營和推進研發(fā),公司不得不頻繁地尋求融資。在一次次的融資嘗試中,菲斯克展現(xiàn)了其堅定的決心和創(chuàng)新的理念,雖然過程充滿艱辛,但公司最終通過不斷努力,成功獲得了一筆重要的投資,為公司的發(fā)展奠定了堅實的基礎。
ELM Electronics成立于XXXX年,由一群富有創(chuàng)新精神和電子技術(shù)專長的工程師創(chuàng)立。初創(chuàng)時期,公司專注于設計和生產(chǎn)高質(zhì)量的電子元器件,以滿足日益增長的電子產(chǎn)品市場需求。通過不斷的技術(shù)創(chuàng)新和嚴格的質(zhì)量控制,ELM逐漸在電子行業(yè)中樹立了良好的口碑。
看Xilinx的Datasheet會注意到Xilinx的FPGA沒有PLL,其實DCM就是時間管理單元。 ----------------------------------------------------- DCM概述 DCM內(nèi)部是DLL(Delay Lock Loop(?)結(jié)構(gòu),對時鐘偏移量的調(diào)節(jié)是通過長的延時線形成的 ...… 查看全部問答∨ |
|
我終于找到了下載地址 ftp://210.51.180.252/bbs/computer/中山大學匯編語言教程01[www.TopSage.com].rar 免費給大家了,有不明白的可留言… 查看全部問答∨ |
vs2005中 解決方案資源管理器 PLATFORM文件夾下拉菜單消息的問題 大家好,我剛開始學習 windows ce。遇到個問題。請大家?guī)蛶徒鉀Q一下。 我在vs2005中創(chuàng)建了工程,修改程序和編譯操作之后,經(jīng)常出現(xiàn)在解決方案資源管理器里 PLATFORM文件夾左邊的下拉選項找不到了。不知道什么原因.這幾天幾乎隨便操作幾 ...… 查看全部問答∨ |
兒童用品不僅昂貴,而且在某方面也感覺浪費。例如嬰兒車,用不了幾年,嬰兒長大之后就完全沒用了。這個改進后的多功能嬰兒車,可算是最大限度地延長了使用壽命以及使用范圍。它本身是個嬰兒車,當然孩子長大3歲后,它又可以作為一個汽車座椅使用。 ...… 查看全部問答∨ |
|
本帖最后由 paulhyde 于 2014-9-15 09:24 編輯 在做電源的時候限流保護怎么做,還有就是用什么方法實現(xiàn)電壓調(diào)節(jié)比較好 … 查看全部問答∨ |
|
最近在洞洞板上焊了一個51單片機最小系統(tǒng),用的是40PDIP的STC89C51,在開發(fā)板上下載以后插上去實測可用。 但是,畢竟這么大一個片子太占地方了,現(xiàn)在有些封裝體積小的51內(nèi)核單片機想拿來用,SOP20或SOP44甚至DIP20都行。于是我便試著直接在最小系 ...… 查看全部問答∨ |
設計資源 培訓 開發(fā)板 精華推薦
- 恩智浦無線MCU應用征集+100套開發(fā)套件申請
- 免費申請測評:超小型 Linux 開發(fā)套件:Quantum Tiny Linux(帶 SoM 和擴展板)
- 下載安森美半導體工業(yè)物聯(lián)網(wǎng)工業(yè)解決方案,百份好禮送!
- 安全的革新,全新的驗證方式 下載富士通 《頻譜驗證解決方案 》白皮書 好禮送!
- 看是德科技X8711A 物聯(lián)網(wǎng)設備功能測試解決方案,答題贏好禮
- 搶先體驗!世界首款LoRa Soc單片機STM32WL
- DIY 個浪漫光影棒,報名請跟帖!
- 申請ufun學習板,入門&深度學習模擬,工程技能
- 英飛凌BMS解決方案,為電動汽車和儲能系統(tǒng)保駕護航!
- 預約有禮:2020年最新KEE課程