新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM 的DCD指令

        ARM 的DCD指令

        作者: 時間:2016-11-11 來源:網絡 收藏
        DCD(或DCDU)

        語法格式:

        標號 DCD(或DCDU) 表達式

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

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

        使用示例:

        DataTest DCD 4,5,6 ;分配一片連續的字存儲單元并初始化。

        在中斷向量表中不直接LDR PC,"異常地址".而是使用一個標號,然后再在后面使用DCD定義這個標號,其原因是:

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

        LDR 指令只能跳到當前PC 4kB 范圍內,而B 指令能跳轉到32MB 范圍,而現在這樣在LDR PC, "xxxx"這條指令不遠處用"xxxx"DCD 定義一個字,而這

        個字里面存放最終異常服務程序的地址,這樣可以實現4GB 全范圍跳轉。

        另:有如下語句

        USR_STACK_LEGTH EQU 64 ;定義用戶模式堆棧長度為64字

        StackUsr DCD UsrStackSpace + (USR_STACK_LEGTH-1)*4 ;定義一個字的空間,這個字的內容是一個遞減堆棧的首地址

        UsrStackSpace SPACE USR_STACK_LEGTH*4 ;為用戶模式分配一個64字的堆棧空間,若這個堆棧做遞減使用,則其首地址為

        UsrStackSpace + (USR_STACK_LEGTH-1)*4



        關鍵詞: ARMDCD指

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 聊城市| 繁昌县| 嵩明县| 奉贤区| 濮阳县| 苏州市| 大城县| 无极县| 延庆县| 习水县| 资兴市| 泸溪县| 洞口县| 嘉鱼县| 富民县| 定州市| 石泉县| 安化县| 左权县| 石林| 新宾| 怀来县| 梅州市| 兴业县| 克什克腾旗| 青阳县| 马尔康县| 灵宝市| 聂拉木县| 扶风县| 潍坊市| 长顺县| 肥乡县| 祁东县| 鞍山市| 通许县| 泸定县| 盈江县| 凤山县| 龙陵县| 兴宁市|