<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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

          本文引用地址:http://www.ex-cimer.com/article/201611/319961.htm

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

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

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



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

          評(píng)論


          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();