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

          新聞中心

          關(guān)于匯編ARM指令DCD

          作者: 時(shí)間:2016-11-26 來源:網(wǎng)絡(luò) 收藏
          數(shù)據(jù)定義(DataDefinition)偽指令

          數(shù)據(jù)定義偽指令一般用于為特定的數(shù)據(jù)分配存儲(chǔ)單元,同時(shí)可完成已分配存儲(chǔ)單元的初始化。

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

          DCDDCDU用于分配一片連續(xù)的字存儲(chǔ)單元并用指定的數(shù)據(jù)初始化。

          3、DCD(或DCDU)

          語(yǔ)法格式:

          標(biāo)號(hào)DCD(或DCDU表達(dá)式

          DCD(或DCDU)偽指令用于分配一片連續(xù)的字存儲(chǔ)單元并用偽指令中指定的表達(dá)式初始化。其中,表達(dá)式可以為程序標(biāo)號(hào)或數(shù)字表達(dá)式。DCD也可用&代替。

          DCD分配的字存儲(chǔ)單元是字對(duì)齊的,而用DCDU分配的字存儲(chǔ)單元并不嚴(yán)格字對(duì)齊。

          使用示例:

          DataTestDCD4,56;分配一片連續(xù)的字存儲(chǔ)單元并初始化。

          舉例1:

          SwiFunction
          DCDTASK_SW;0
          DCDENTER_CRITICAL;1
          DCDEXIT_CRITICAL;2
          DCDISRBegin;3
          DCDChangeToSYSMode;4
          DCDChangeToUSRMode;5
          DCD__OSStartHighRdy;6
          DCDTaskIsARM;7
          DCDTaskIsTHUMB;8
          DCDOSISRNeedSwap;9
          DCDGetOSFunctionAddr;10
          DCDGetUsrFunctionAddr;11

          TASK_SW
          MRSR3, SPSR;保存任務(wù)的CPSR

          MOVR2, LR;保存任務(wù)的PC

          舉例2:

          語(yǔ)句如下:
          FiqStackSpace SPACE FIQ_Stack_Legth
          FiqStack DCD FiqStackSpace + FIQ_Stack_Legth

          最后一條語(yǔ)句,DCD的后面跟FiqStackSpace + FIQ_Stack_Legth,
          DCD后面的FiqStackSpace,表示一串空字符,這好理解
          但是再上FIQ_Stack_Legth,就不明白了,WHY?

          FiqStackSpace是標(biāo)號(hào),相當(dāng)與地址,實(shí)際上就是在FiqStackSpace SPACE FIQ_Stack_Legth 這個(gè)語(yǔ)句給分配的空間的首地址,F(xiàn)iqStackSpace+ FIQ_Stack_Legth 是這個(gè)地址空間的結(jié)束地址,將FiqStack指向這個(gè)地址,當(dāng)做棧的頂部,該棧向下生長(zhǎng),長(zhǎng)度FIQ_Stack_Legth



          關(guān)鍵詞: 匯編ARM指令DC

          評(píng)論


          技術(shù)專區(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); })();