新聞中心

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

        ARM·指令集

        作者: 時間:2016-11-24 來源:網絡 收藏
        (馮諾依曼結構就是程序存儲指令存儲器和數據存儲器結合在一起的結構)
        (RISC和CISC相對,reduced 和 complex)
        1)單寄存器加載


        LDR/STR指令用于對內存變量的訪問、內存緩沖區數據的訪問、查表、外表部件的控制操作等。
        若使用LDR指令加載數據到PC寄存器,則實現程序跳轉功能 。
        *LDR和STR——字和無符號字節加載/存儲指令
        LDR/STR指令尋址非常靈活,它由兩部分組成,其中一部分為一個基址寄存器,可以為人一個通過寄存器;另一個部分為地址偏移寄存器。
        ①立即數 LDR R1, [R0,#12] R1<-[R0+0x12]
        ②寄存器 LDR R1, [R0, R2] R1<-[R0+R2]
        ③寄存器及移位常數 LDR R1, [R0,R2,LSL#2]; R1<-[R0+R2*4]
        *LDR/STR——半字和有符號字節加載/存儲指令

        2)批量數據加載/存儲指令

        *cond:執行的條件
        *模式:控制地址的增長方式,一共8種模式
        *!:表示在操作結束后,將最后的地址寫回Rn中
        reglist:表示寄存器列表,可以包含多個寄存器{R1,R2,R4-R9}
        ^:允許在用戶模式或系統模式下使用

        例子。

        【堆棧操作】
        *堆棧指針(SP)總是指向棧頂
        遞增堆棧:向高地址方向生長
        遞減堆棧:向低地址方向生長
        滿堆棧:堆棧指針向最后壓入堆棧的有效數據項
        空堆棧:堆棧指針指針向下一個要放入數據的空位置

        【關于最后的疑問:LDR/STR LDM/STM為什么加載的方式相反,是不是這課寫錯了】
        【數據交換指令】

        【異常產生指令】

        SWI 0 調用0中斷
        SWI 12 調用12中斷
        上一頁 1 2 下一頁

        關鍵詞: ARM指令

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 方正县| 巩义市| 泸定县| 远安县| 宜黄县| 闸北区| 荔浦县| 靖宇县| 营山县| 新疆| 四川省| 江华| 沧州市| 旌德县| 陕西省| 邯郸市| 齐齐哈尔市| 大埔区| 佛学| 浦江县| 肇州县| 龙江县| 民勤县| 剑河县| 新郑市| 报价| 惠东县| 永春县| 香河县| 正安县| 饶河县| 钦州市| 镇赉县| 兴山县| 天津市| 青冈县| 贵港市| 申扎县| 广西| 延寿县| 淳安县|