新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 第1天-ARM尋址方式

        第1天-ARM尋址方式

        作者: 時間:2016-11-26 來源:網絡 收藏
        第1天-ARM尋址方式

        1、立即尋址

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

        立即尋址方式的目的就是將操作數緊跟在操作碼后面,與操作碼一起放在指令代碼段中,在程序運行時,程序直接調用該操作數,而不需要到其他地址單元中去取相應的操作數,上述的寫在指令中的操作數也稱作立即數。

        在MCS-51單片機匯編語言編程中,該尋址方式是將“#”號放在立即數前面,以表示該尋址方式為立即尋址,如將操作數寫為#52H。
        例: MOV A ,#52H

        2、寄存器尋址

        指令所要的操作數已存儲在某寄存器中,或把目標操作數存入寄存器。把在指令中指出所使用寄存器(即:寄存器的助憶符)的尋址方式稱為寄存器尋址方式。

        3、寄存器間接尋址

        寄存器間接尋址方式,寄存器內存放的是操作數的地址,而不是操作數本身,即操作數是通過寄存器間接得到的,因此稱為寄存器間接尋址。

        4、基址變址尋址

        5、多寄存器尋址

        6、相對尋址

        跳轉指令

        7、堆棧(先進后出)尋址

        遞增堆棧

        遞減堆棧

        滿堆棧

        空堆棧

        ;立即尋址
        MOVR0,#0 ; R0 <= 0,將立即數0x00存入寄存器R0,可通過AXD的processor views-->register查看
        ADD R0,R0,#1; R0 <= R0 + 1
        ADD R0,R0,#0x3f; R0 <= R0 + 0x3f

        ;寄存器尋址
        MOV R1,#1; R1 <= 1,將立即數0x01存入寄存器R1
        MOV R2,#2; R2 <= 2,將立即數0x02存入寄存器R2
        ADD R0,R1,R2; R0 <= R1+R2,將寄存器R1和R2的內容相加,其結果存放在寄存器R0中

        ;寄存器間接尋址
        LDRR1,=COUNT; R1 <= COUNT,將存儲器地址放入寄存器R0
        ;MOVR0,#0x12; R0 <= 0x12,MOV指令目地操作數只能是8位
        LDR R0,=0x12345678
        STRR0,[R1]; [R1] <= R0,將寄存器R0的內容存入寄存器R1所指向的存儲器
        ;即設置COUNT為0x12345678,
        ;STR指令用于從源寄存器中將一個32位的字數據傳送到存儲器中
        ;可通過AXD的processor views-->memory查看0x30003100的值

        ;基址變址尋址
        LDRR1,=COUNT;將存儲器地址0x30003100放入寄存器R1
        LDRR2,=(COUNT+4);將存儲器地址0x30003104放入寄存器R1
        MOV R3,#0x12;將立即數0x12存入寄存器R3
        STRR3,[R2];將寄存器R3的內容存入寄存器R2所指向的存儲器
        LDRR4,[R1,#4];將寄存器R1的內容加上4所指向的存儲器的字存入寄存器R4

        ;多寄存器尋址
        LDRR1,=COUNT;將存儲器地址0x30003100放入寄存器R1
        LDMIA R1,{R5,R6};R5 <= [R1],R6 <= [R1+4]


        ;相對尋址
        BL NEXT ;跳轉到子程序NEXT處執行,注意使用F8(step in)
        NOP
        NOP



        關鍵詞: ARM尋址方

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 山阳县| 泉州市| 卓资县| 惠东县| 文化| 广州市| 泊头市| 南汇区| 韩城市| 江阴市| 新安县| 石渠县| 文昌市| 开江县| 类乌齐县| 巨鹿县| 辽阳市| 昔阳县| 昌黎县| 屯留县| 凌海市| 格尔木市| 色达县| 临泉县| 宁安市| 鹤庆县| 徐州市| 宝兴县| 黎川县| 宽甸| 荥阳市| 霸州市| 宜章县| 博乐市| 沂水县| 名山县| 犍为县| 武川县| 桦南县| 阿拉善盟| 孝感市|