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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 關(guān)于匯編ARM指令DCD

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

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

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

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

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

          3、DCD(或DCDU)

          語法格式:

          標號DCD(或DCDU表達式

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

          DCD分配的字存儲單元是字對齊的,而用DCDU分配的字存儲單元并不嚴格字對齊。

          使用示例:

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

          舉例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:

          語句如下:
          FiqStackSpace SPACE FIQ_Stack_Legth
          FiqStack DCD FiqStackSpace + FIQ_Stack_Legth

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

          FiqStackSpace是標號,相當與地址,實際上就是在FiqStackSpace SPACE FIQ_Stack_Legth 這個語句給分配的空間的首地址,F(xiàn)iqStackSpace+ FIQ_Stack_Legth 是這個地址空間的結(jié)束地址,將FiqStack指向這個地址,當做棧的頂部,該棧向下生長,長度FIQ_Stack_Legth



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

          評論


          技術(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); })();