新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM尋址方式實(shí)驗(yàn)

ARM尋址方式實(shí)驗(yàn)

作者: 時(shí)間:2016-11-21 來源:網(wǎng)絡(luò) 收藏
一、實(shí)驗(yàn)?zāi)康?br />1. 理解各種尋址方式:立即數(shù);寄存器;寄存器移位;寄存器間接尋址;變址尋址。
2. 鞏固和提高在ADS環(huán)境中用匯編語言進(jìn)行程序設(shè)計(jì)的基本技能。

二、實(shí)驗(yàn)內(nèi)容
1. 在ADS下建立工程,并配置開發(fā)環(huán)境。
2. 創(chuàng)建一個(gè)匯編語言源程序,并添加到工程中,對其進(jìn)行編輯、編譯和鏈接。
3. 使用AXD調(diào)試程序,觀察各種尋址方式的功能。
三、實(shí)驗(yàn)過程(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) 執(zhí)行下面兩條指令,改變***的內(nèi)容,觀看寄存器R1的變化。
MOV R5,#15
MOV R1,R5, *** #1
***的內(nèi)容如下:
LSL:邏輯左移(Logical Shift Left)
ASL:算術(shù)左移(Arithmetic Shift Left)
LSR:邏輯右移(Logical Shift Right)
ASR:算術(shù)右移(Arithmetic Shift Right)
ROR:循環(huán)右移(Rotate Right)
RRX:擴(kuò)展為1的循環(huán)右移(Rotate Right eXtended by 1 place )

3) MOV R5,#0xFFF編譯時(shí)是否會(huì)出錯(cuò)?有錯(cuò)誤
4) 觀察執(zhí)行 MOV R1,R5和ADD R0,R1,R2,LSR #3指令后相關(guān)的寄存器的變化。
4)觀察執(zhí)行LDR R4,=0x900600和STR R0,[R4]指令后,相應(yīng)的存儲(chǔ)器和寄存器的變化。


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

序號(hào)執(zhí)行指令指令執(zhí)行后的變化情況
寄存器(值用16進(jìn)制表示)存儲(chǔ)器(值用16進(jìn)制表示)
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]!



關(guān)鍵詞: ARM尋址方

評論


技術(shù)專區(qū)

關(guān)閉