新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM匯編中的標(biāo)號

ARM匯編中的標(biāo)號

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

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

本文引用地址:http://m.butianyuan.cn/article/201611/319961.htm

根據(jù)標(biāo)號的生成方式可分為3種:

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

絕對地址是一個32位數(shù)據(jù)。它可以尋址2的32次方 -1,即直接可以尋址整個內(nèi)存空間。



關(guān)鍵詞: ARM匯編標(biāo)

評論


技術(shù)專區(qū)

關(guān)閉