91视频免费?看_蜜芽MY188精品TV在线观看_国产免费无遮挡在线观看视频_深夜国产_亚洲精品欧洲精品_欧美黑人粗暴多交

微軟公司宣布不再支持你正在使用的 IE瀏覽器,這會嚴重影響瀏覽網頁,請使用微軟最新的Edge瀏覽器
廠商專區
產品/技術
應用分類

多變元素 ARM語言中符號的重要作用

2016-06-13 09:11 來源:電源網綜合 編輯:鈴鐺

對于ARM匯編語言來說,在其他編程語言中通用的設定會失去其效用。很多在其他匯編語言中的地址、變量、數字常量能都可以用一種東西代替,那就是符號。符號在代表地址時就稱謂隨之改變,由符號改為標號,而在這一轉變過程中,其包含的內容也產生了一定的變化,本文就將對ARM匯編語言中的符號進行大致的介紹,感興趣的朋友快來看一看吧。

在ARM匯編語言中,符號可代表地址、變量和數字常量。當符號代表地址時又被稱為標號。標號包含變量、數字常量、標號和局部標號。

符號的命名規則如下:

符號由大小寫字母、數字以及下劃線組成。局部標號以數字開頭,其他符號都不能以數字開頭。符號是區分大小寫的。符號中在其作用范圍內必須惟一,即在其作用范圍內不可有同名的符號。程序中的符號不能與系統內部變量或者系統預定義的符號同名。程序中的符號通常不要與指令助記符或者偽操作同名。

變量

在ARM匯編語言中,變量有數字變量、邏輯變量和串變量3種類型。變量的類型在程序中是不能改變的。數字變量的取值范圍為數字常量的數字表達式所能表示的數值范圍。關于數字常量和數字表達式所能表示的數值范圍。邏輯變量的取值為{ture}和{false}。串變量的取值范圍為串表達式可表示的范圍。

在ARM匯編語言中,使用GBLA、GBLL及GBLS偽操作聲明全局變量;使用LCLA、LCLL及LCLS偽操作聲明局部變量;使用SETA、SETL及SETS偽操作為這些變量賦值。

數字常量

數字常量一般由3種表示方式:

十進制數,如43、6、112等。

十六進制數,如0x3425、0xFE、0x1等。

n進制數,用n_XXX表示,其中n為2~9,XXX為具體數,如2_01001101、8_4326等。

若數字常量時32位整數,當做為無符號整數時,其取值范圍為0~2的32次冪-1;當作為有符號整數時,其取值范圍為-2的31次冪~2的31次冪-1。匯編編譯器并不區分一個數是無符號的還是有符號的,事實上,-n與2的32次冪-n在內存中是同一個數。

在ARM匯編語言中,使用EQU偽操作來定義數字常量。

注意:數字常量一經定義,其數值就不能再修改。

在ARM匯編語言中,標號是表示程序中的指令或數據地址的符號,一般它代表一個地址。根據標號的生成方式可有以下3種:

基于PC的標號:是位于目標指令前或程序中數據定義偽操作前的標號,在匯編時將被處理成PC值加上一個數字常量。它常用于表示跳轉指令的目標地址,或者代碼段中所嵌入的少量數據。

基于寄存器的標號:通常用MAP和FILED偽操作定義該標號,也可用EQU偽操作定義。這種標號在匯編時將被處理成寄存器的值加上一個數字常量。它常用于訪問位于數據段中的數據。

絕對地址:是一個32位的數字量,尋址的范圍為0~2的32次冪-1,即直接可尋址整個內存空間。

局部標號

局部標號主要用于局部范圍代碼。它由一個0~99數字和一個通常表示該局部標號作用范圍的標號組成,可重復定義。局部標號的作用范圍通常為當前段,也可用偽操作ROUT表定義局部標號的作用范圍。

局部標號定義的語法格式如下:

N{routname}

其中:N為0~99數字;routname為符號,通常為該標號作用范圍的名稱。

局部標號引用的語法格式如下:

%{F|B}{A|T} N{routname}

其中:%表示引用操作;F指示編譯器只向前搜索;B指示編譯器只向后搜索;A指示編譯器搜索宏的所有嵌套層次;T指示編譯器搜索宏的當前層次。

如果F和B都沒有指定,則編譯器先向前搜索,再向后搜索;如果A和T都沒有指定,則編譯器搜索所有從當前層次到宏的最高層次,比當前層次低的層次不再搜索。如果指定了routname,則編譯器向前搜索最近的ROUT偽操作;若routname與該ROUT偽操作定義的名稱不匹配,則編譯器你報告錯誤,匯編失敗。

通過以上介紹可以看到符號在ARM匯編語言當中的重要性,在以符號轉變為標號的過程中,其意義也會發生非常大的變化,因此熟知ARM在匯編語言中何時改變以及改變后的意義是什么就變得非常重要。近期在研究匯編語言的朋友不妨收藏本文,以備不時之需。

標簽: ARM ARM匯編語言

聲明:本內容為作者獨立觀點,不代表電源網。本網站原創內容,如需轉載,請注明出處;本網站轉載的內容(文章、圖片、視頻)等資料版權歸原作者所有。如我們采用了您不宜公開的文章或圖片,未能及時和您確認,避免給雙方造成不必要的經濟損失,請電郵聯系我們,以便迅速采取適當處理措施;歡迎投稿,郵箱∶editor@netbroad.com。

相關閱讀

微信關注
技術專題 更多>>
技術專題之EMC
技術專題之PCB

頭條推薦

電子行業原創技術內容推薦
客服熱線
服務時間:周一至周五9:00-18:00
微信關注
獲取一手干貨分享
免費技術研討會
editor@netbroad.com
400-003-2006
主站蜘蛛池模板: 兖州市| 璧山县| 德阳市| 韶山市| 东明县| 广水市| 郎溪县| 盐池县| 桐庐县| 二连浩特市| 屯门区| 佛学| 屏边| 罗甸县| 涞水县| 大埔县| 磐安县| 娄烦县| 阿合奇县| 麻城市| 大田县| 德令哈市| 九龙县| 铁岭市| 淮滨县| 屯留县| 阳泉市| 盐池县| 泽普县| 黔江区| 毕节市| 彩票| 商丘市| 睢宁县| 延庆县| 佛坪县| 龙游县| 句容市| 德州市| 婺源县| 博兴县|