新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM匯編中的標號

        ARM匯編中的標號

        作者: 時間:2016-11-22 來源:網絡 收藏
        標號(LABEL)是為一組機器指令所起名字,表示程序中的指令或者數據地址的符號。標號可有可無,只有當需要用符號地址來訪問該語句時,才給此語句賦予標號。通過在目標地址的前面放上一個標號,可以在指令中使用標號來代替直接使用地址。標號是程序目標標志,總是和某地址相聯系,供轉移或循環指令控制轉移使用。標號是編譯程序使用的,也就是說程序中最后生成的代碼中標號都換成了相應的數值。

          因標號表示是指令地址,所以它有三個屬性,即段屬性、偏移屬性和類型屬性。段屬性即段地址,標號段必須在CS中。偏移屬性是表示該標號到段首地址距離,單位是字節,是16位無符號整數。類型屬性是距離屬性,指標號和轉移指令距離,該標號在本段內引用,距離在-128~ 127之間時稱短標號,距離屬性為SHORT,當標號在本段,距離在-32768~ 32767之間時稱近標號,距離屬性為NEAR,當引用標號指令和標號不在同一段時稱遠標號,距離屬性為FAR。

        本文引用地址:http://www.104case.com/article/201611/319961.htm

        根據標號的生成方式可分為3種:

        1.基于PC的標號。
        基于PC的標號是位于目標指令前或者程序中數據定義偽操作前的標號。這種標號在匯編時將被處理成PC值加上(或減去)一個數字常量。常用于表示跳轉指令的目標地址,或者代碼段中所嵌入的少量數據。
        2.基于寄存器的標號。
        基于寄存器的標號常用MAP和FIELD未定義操作,也可以該用EQU偽定義。這種標號在匯編時將被處理成寄存器的值加上(或減去)一個數據常量。常用于訪問數據段中的數據。
        3.絕對地址。

        絕對地址是一個32位數據。它可以尋址2的32次方 -1,即直接可以尋址整個內存空間。



        關鍵詞: ARM匯編標

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 邵东县| 霸州市| 利辛县| 胶南市| 兴安盟| 杭锦旗| 西林县| 宣汉县| 曲周县| 稷山县| 兴安盟| 阳谷县| 德州市| 广元市| 博罗县| 防城港市| 娄烦县| 郧西县| 仁化县| 荔浦县| 松滋市| 罗田县| 土默特右旗| 彭山县| 谢通门县| 竹北市| 洛川县| 阿勒泰市| 墨竹工卡县| 黄冈市| 基隆市| 柘城县| 锡林郭勒盟| 耒阳市| 定西市| 枣庄市| 扎囊县| 黑山县| 宜春市| 麻江县| 瑞金市|