ARM匯編尋址方式詳解

尋址方式在C語(yǔ)言里面也可以稱為一個(gè)內(nèi)存操作叶圃,說(shuō)到尋址方式,我們就會(huì)想哪里有地址践图,當(dāng)然就是存儲(chǔ)器掺冠,而存儲(chǔ)器就包括內(nèi)存,外存码党,外存就比如硬盤赫舒,內(nèi)存就比如寄存器。也就是說(shuō)我們想操作它們要怎么去尋址闽瓢,現(xiàn)在我把常用的ARM尋址方式做了一個(gè)總結(jié)。

1心赶,立即數(shù)尋址:常量尋址扣讼,比如“ADD R0,R0,#0X3F”也就是操作,條件缨叫,狀態(tài)椭符,Rd(目標(biāo)寄存器),Rn(原寄存器)耻姥,操作數(shù)這六個(gè)部分销钝,對(duì)比來(lái)說(shuō)就是把R0自己加上0x3F這樣一個(gè)立即數(shù),并且把加上的值還是給它自己琐簇。這是最簡(jiǎn)單的尋址方式蒸健。

2,寄存器尋址:比如“ADD R0,R1,R2”就是R1加R2婉商,然后在把值存給R0似忧。這個(gè)時(shí)候我們實(shí)際上就是去尋找寄存器,所以稱為寄存器尋址丈秩。

3盯捌,寄存器間接尋址:比如“LDR R0,[R1]”“STR R0[R1]”,“LDR”和“STR”就是操作把數(shù)據(jù)在內(nèi)存和寄存器之間進(jìn)行傳遞的蘑秽,通過(guò)它們我們才能訪問(wèn)內(nèi)存地址饺著。“LDR R0,[R1]”意思就是把R1里面所指向的內(nèi)存地址的值賦到R0肠牲。比如說(shuō)R1里面的值是0*00000103幼衰,它不會(huì)直接拷貝,因?yàn)樗鼤?huì)把這個(gè)值當(dāng)做內(nèi)存里面的地址埂材,然后去地址里面找值塑顺,然后在給R0。同樣STR也是這樣一個(gè)道理⊙暇埽“STR R0,[R1]”是把R0的值放到R1的內(nèi)存地址里面去扬绪。

4,寄存器移位尋址:這個(gè)又設(shè)計(jì)到位運(yùn)算裤唠,就要記住向左是乘向右是除挤牛,“ADD R3,R2,R1,LSL #2”這個(gè)指令如果拋開(kāi)LSL后面這一段,就是把R1加R2給R3种蘸,加上LSL #2就表示左移兩個(gè)立即數(shù)墓赴。也就表示R1左移兩位再加R2然后在給R3。

5航瞭,基址地址尋址:“LDR R0,[R1#4]”也就是說(shuō)把R1里面的值加上4這樣的立即數(shù)所指向的地址诫硕,然后在給它讀到它所指向的地址R0】睿“LDR R0,[R1]#4”這個(gè)就是R1所指向的內(nèi)存地址章办,取出里面的值,然后再加上這個(gè)立即數(shù)4滨彻,然后再給R0藕届。“LDR R0,[R1,R2]”R1的值加上R2的值亭饵,再去找這個(gè)所指向的內(nèi)存然后給R0休偶。

6,多寄存器尋址:“LDMIA R0,{R1,R2,R3,R4}”就是批量操作辜羊。

7踏兜,相對(duì)尋址:與跳轉(zhuǎn)相關(guān)“BL NEXT”就表示跳轉(zhuǎn)到NEXT,并且把當(dāng)前的狀態(tài)保存到寄存器里面八秃”勇螅“MOV PC,LR”當(dāng)MOV后面跟的是LR,也就表示子函數(shù)的返回調(diào)用喜德,所以它也有一個(gè)跳轉(zhuǎn)的作用山橄,也就是相當(dāng)于一個(gè)子程序的返回。

就是用數(shù)值去除以四舍悯,然后最后能夠整除在0到25之間的就是有效的航棱,因?yàn)樗且蛴椅灰婆紨?shù)位,從進(jìn)位上看萌衬,向左移是乘饮醇,向右移就是除。


原文鏈接:http://www.maiziedu.com/wiki/arm/way/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末秕豫,一起剝皮案震驚了整個(gè)濱河市朴艰,隨后出現(xiàn)的幾起案子观蓄,更是在濱河造成了極大的恐慌,老刑警劉巖祠墅,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侮穿,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡毁嗦,警方通過(guò)查閱死者的電腦和手機(jī)亲茅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)狗准,“玉大人克锣,你說(shuō)我怎么就攤上這事∏怀ぃ” “怎么了袭祟?”我有些...
    開(kāi)封第一講書人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)捞附。 經(jīng)常有香客問(wèn)我榕酒,道長(zhǎng),這世上最難降的妖魔是什么故俐? 我笑而不...
    開(kāi)封第一講書人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮紊婉,結(jié)果婚禮上药版,老公的妹妹穿的比我還像新娘。我一直安慰自己喻犁,他們只是感情好槽片,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著肢础,像睡著了一般还栓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上传轰,一...
    開(kāi)封第一講書人閱讀 51,737評(píng)論 1 305
  • 那天剩盒,我揣著相機(jī)與錄音,去河邊找鬼慨蛙。 笑死辽聊,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的期贫。 我是一名探鬼主播跟匆,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼通砍!你這毒婦竟也來(lái)了玛臂?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎迹冤,沒(méi)想到半個(gè)月后讽营,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡叁巨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年斑匪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锋勺。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蚀瘸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出庶橱,到底是詐尸還是另有隱情贮勃,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布苏章,位于F島的核電站寂嘉,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏枫绅。R本人自食惡果不足惜泉孩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望并淋。 院中可真熱鬧寓搬,春花似錦、人聲如沸县耽。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)兔毙。三九已至唾琼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間澎剥,已是汗流浹背锡溯。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留哑姚,地道東北人趾唱。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蜻懦,于是被迫代替她去往敵國(guó)和親甜癞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容