新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM尋址方式實驗

        ARM尋址方式實驗

        作者: 時間:2016-11-21 來源:網絡 收藏
        一、實驗目的
        1. 理解各種尋址方式:立即數;寄存器;寄存器移位;寄存器間接尋址;變址尋址。
        2. 鞏固和提高在ADS環境中用匯編語言進行程序設計的基本技能。

        二、實驗內容
        1. 在ADS下建立工程,并配置開發環境。
        2. 創建一個匯編語言源程序,并添加到工程中,對其進行編輯、編譯和鏈接。
        3. 使用AXD調試程序,觀察各種尋址方式的功能。
        三、實驗過程(exp4_1_1.s)
        AREA AddressingMode_1,CODE,READONLY
        ENTRY
        1) MOV R5,#15
        2) MOV R2,#0xC
        3) MOV R1,R5
        4) ADD R0,R1,R2,LSR #3
        5) LDR R4,=0x900600
        6) STR R0,[R4]
        STR R0,[R4,#4]
        STR R0,[R4,#4]!
        HERE B HERE
        END

        1) 寫出上述指令的尋址方式
        2) 執行下面兩條指令,改變***的內容,觀看寄存器R1的變化。
        MOV R5,#15
        MOV R1,R5, *** #1
        ***的內容如下:
        LSL:邏輯左移(Logical Shift Left)
        ASL:算術左移(Arithmetic Shift Left)
        LSR:邏輯右移(Logical Shift Right)
        ASR:算術右移(Arithmetic Shift Right)
        ROR:循環右移(Rotate Right)
        RRX:擴展為1的循環右移(Rotate Right eXtended by 1 place )

        3) MOV R5,#0xFFF編譯時是否會出錯?有錯誤
        4) 觀察執行 MOV R1,R5和ADD R0,R1,R2,LSR #3指令后相關的寄存器的變化。
        4)觀察執行LDR R4,=0x900600和STR R0,[R4]指令后,相應的存儲器和寄存器的變化。


        寄存器 register
        存儲器 memory
        R0 32位 0b 00000000 00000000 00000000 00000010
        (8位)
        0009 000000000010
        0009 0001
        0009 0002
        0009 0003

        序號執行指令指令執行后的變化情況
        寄存器(值用16進制表示)存儲器(值用16進制表示)
        R0R1R2R3R4R5
        MOV R5,#15
        0000015
        MOV R2,#0xC
        00120015
        MOV R1,R5
        015120015
        ADD R0,R1,R2,LSR #3
        2115120015
        LDR R4,=0x90000
        211512058982415
        STR R0,[R4]
        211512058982415
        STR R0,[R4,#4]
        STR R0,[R4,#4]!



        關鍵詞: ARM尋址方

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 图们市| 镇远县| 土默特右旗| 应用必备| 武定县| 沁源县| 麻江县| 鄂托克旗| 鹤壁市| 宜君县| 云林县| 赣榆县| 辉县市| 屯昌县| 澄迈县| 社旗县| 桓台县| 宁海县| 利津县| 东港市| 石林| 龙里县| 章丘市| 保亭| 临泽县| 永州市| 青田县| 顺平县| 天气| 开江县| 靖宇县| 阳东县| 宁武县| 青铜峡市| 雷州市| 呼图壁县| 唐河县| 双桥区| 喀喇| 香河县| 阿鲁科尔沁旗|