第四章ARM指令系統(tǒng)-首都師范大學(xué)歡迎您_第1頁(yè)
第四章ARM指令系統(tǒng)-首都師范大學(xué)歡迎您_第2頁(yè)
第四章ARM指令系統(tǒng)-首都師范大學(xué)歡迎您_第3頁(yè)
第四章ARM指令系統(tǒng)-首都師范大學(xué)歡迎您_第4頁(yè)
第四章ARM指令系統(tǒng)-首都師范大學(xué)歡迎您_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

ARM指令系統(tǒng)數(shù)據(jù)傳輸輸指令Mov傳傳送指令令Mov指指令將<<shift__operand>表表示的數(shù)數(shù)據(jù)傳送送到目標(biāo)標(biāo)寄存器器<RD>中,,并根據(jù)據(jù)操作的的結(jié)果更更新CPSR中中相應(yīng)的的條件標(biāo)標(biāo)志位Mov傳傳送指令令Mov指指令可以以完成以以下功能能:將數(shù)據(jù)從從一個(gè)寄寄存器傳傳送到另另一個(gè)寄寄存器將一個(gè)常常數(shù)傳送送到一個(gè)個(gè)寄存器器中當(dāng)PC作作為目標(biāo)標(biāo)寄存器器時(shí)可實(shí)實(shí)現(xiàn)程序序跳轉(zhuǎn),,這種跳跳轉(zhuǎn)可實(shí)實(shí)現(xiàn)子程程序調(diào)用用以及從從子程序序中返回回。當(dāng)PC作作為目標(biāo)標(biāo)寄存器器且指令令中S位位被設(shè)置置時(shí),指指令在執(zhí)執(zhí)行跳轉(zhuǎn)轉(zhuǎn)的同時(shí)時(shí),將當(dāng)當(dāng)前處理理器模式式的SPSR寄寄存器內(nèi)內(nèi)容復(fù)制制到CPSR中中,這樣樣,指令令movspc,lr可實(shí)實(shí)現(xiàn)從某某些異常常中斷中中返回。。Mvn傳傳送指令令Mvn指指令將<<shift__operand>表表示的數(shù)數(shù)據(jù)的反反碼傳送送到目標(biāo)標(biāo)寄存器器<RD>中,,并根據(jù)據(jù)操作的的結(jié)果更更新CPSR中中相應(yīng)的的條件標(biāo)標(biāo)志位指令的用用途向寄存器器中傳送送一個(gè)負(fù)負(fù)數(shù)生成位掩掩碼求一個(gè)數(shù)數(shù)的反碼碼Add加加法指令令A(yù)dd指指令將<<shift__operand>表表示的數(shù)數(shù)據(jù)與寄寄存器<<RD>>中的值值相加,,并把結(jié)結(jié)果保存存在<RD>中中,同時(shí)時(shí)根據(jù)操操作的結(jié)結(jié)果更新新CPSR中相相應(yīng)的條條件標(biāo)志志位用途:實(shí)實(shí)現(xiàn)兩個(gè)個(gè)操作數(shù)數(shù)相加例:addrx,,rx,##1Addrd,,rx,rx,lsl#nAdc帶帶位加法法指令A(yù)dc指指令將<<shift__operand>表表示的數(shù)數(shù)據(jù)與寄寄存器<<RD>>中的值值相加,,再加上上CPSR中的的C條件件標(biāo)志位位的值,,并把結(jié)結(jié)果保存存在<RD>中中,同時(shí)時(shí)根據(jù)操操作的結(jié)結(jié)果更新新CPSR中相相應(yīng)的條條件標(biāo)志志位Adc帶帶位加法法指令指令的用用途Adc指指令和add指指令聯(lián)合合使用可可實(shí)現(xiàn)兩兩個(gè)64位操作作數(shù)的相相加。例:設(shè)寄寄存器r0和r1中放放置一個(gè)個(gè)64位位源操作作數(shù),其其中r0中放置置低32位數(shù)值值;r2和r3中放置置另一個(gè)個(gè)64位位源操作作數(shù),其其中r2中放置置低32位數(shù)值值,則倆倆個(gè)64位數(shù)的的加法操操作為::Addsr4,r0,r2Adcr5,,r1,r3Sub減減法指令令Sub指令從從寄存器器<RN>中減減去<shift_operand>表示示的數(shù)據(jù)據(jù),并把把結(jié)果保保存在<<RD>>中,同同時(shí)根據(jù)據(jù)操作的的結(jié)果更更新CPSR中中相應(yīng)的的條件標(biāo)標(biāo)志位指令用途途:實(shí)現(xiàn)現(xiàn)兩個(gè)操操作數(shù)相相減Subrx,,rx,##1Sbc帶帶位減法法指令Sub指指令從寄寄存器<<RN>>中減去去<shift_operand>>表示的的數(shù)據(jù),,再減去去CPSR中的的C條件件標(biāo)志位位的反碼碼,并把把結(jié)果保保存在<<RD>>中,同同時(shí)根據(jù)據(jù)操作的的結(jié)果更更新CPSR中中相應(yīng)的的條件標(biāo)標(biāo)志位Sbc帶帶位減法法指令指令的用用途sbc指指令和subs指令聯(lián)聯(lián)合使用用可實(shí)現(xiàn)現(xiàn)兩個(gè)64位操操作數(shù)的的相減。。例:設(shè)寄寄存器r0和r1中放放置一個(gè)個(gè)64位位源操作作數(shù),其其中r0中放置置低32位數(shù)值值;r2和r3中放置置另一個(gè)個(gè)64位位源操作作數(shù),其其中r2中放置置低32位數(shù)值值,則倆倆個(gè)64位數(shù)的的減法操操作為::subsr4,r0,r2sbcr5,,r1,r3Rsb逆逆向減減法指令令rsb指指令從<<shift__operand>表表示的數(shù)數(shù)據(jù)中減減去寄存存器<RD>的的值,并并把結(jié)果果保存在在<RD>中,,同時(shí)根根據(jù)操作作的結(jié)果果更新CPSR中相應(yīng)應(yīng)的條件件標(biāo)志位位例:Rsbrd,,rx,##0Rsbrd,,rx,rx,lsl#nRsc帶帶位逆逆向減法法指令rsc指指令從<<shift__operand>表表示的數(shù)數(shù)據(jù)中減減去寄存存器<RD>的的值,再再減去CPSR中C條條件標(biāo)志志位的反反碼,并并把結(jié)結(jié)果保存存在<RD>中中,同時(shí)時(shí)根據(jù)操操作的結(jié)結(jié)果更新新CPSR中相相應(yīng)的條條件標(biāo)志志位Rsc帶帶位逆逆向減法法指令例:求一個(gè)64位數(shù)數(shù)的負(fù)數(shù)數(shù)。64位數(shù)放放在寄存存器r0,r1中,其其負(fù)數(shù)放放在r2,r3中,其其中r0,r2中放低低32位位值Rsbsr2,r0,##0Rscr3,,r1,#0邏輯指令令A(yù)nd邏邏輯與與操作指指令A(yù)nd指指令將將<shift_operand>>表示的的數(shù)據(jù)與與寄存器器<RD>的值值按位作作邏輯與與操作,,并把結(jié)結(jié)果保存存在<RD>中中,同時(shí)時(shí)根據(jù)操操作的結(jié)結(jié)果更新新CPSR中相相應(yīng)的條條件標(biāo)志志位And邏邏輯與與操作指指令指令用途途And指指令可可用于提提取寄存存器中某某些位的的值。具具體做法法是設(shè)置置一個(gè)掩掩碼值,,將該值值中對(duì)應(yīng)應(yīng)于寄存存器中欲欲提取的的位設(shè)1,其他他位設(shè)為為0。將將寄存器器的值與與該掩碼碼值作與與操作。。Orr邏邏輯或操操作指令令orr指指令將將<shift_operand>>表示的的數(shù)據(jù)與與寄存器器<RD>的值值按位作作邏輯或或操作,,并把結(jié)結(jié)果保存存在<RD>中中,同時(shí)時(shí)根據(jù)操操作的結(jié)結(jié)果更新新CPSR中相相應(yīng)的條條件標(biāo)志志位Orr邏邏輯或操操作指令令指令用途途orr指指令可用用于將寄寄存器中中某些位位的值置置1。具具體做法法是設(shè)置置一個(gè)掩掩碼值,,將該值值中對(duì)應(yīng)應(yīng)于寄存存器中欲欲置位的的位設(shè)1,其他他位設(shè)為為0。將將寄存器器的值與與該掩碼碼值作或或操作。。eor邏邏輯異或或操作指指令eor指指令將<<shift__operand>表表示的數(shù)數(shù)據(jù)與寄寄存器<<RD>>的值按按位作邏邏輯異或或操作,,并把結(jié)結(jié)果保存存在<RD>中中,同時(shí)時(shí)根據(jù)操操作的結(jié)結(jié)果更新新CPSR中相相應(yīng)的條條件標(biāo)志志位eor邏邏輯異或或操作指指令用途:Eor指指令可用用于將寄寄存器中中某些位位的值取取反。將將某一位位與0做做異或操操作,該該位值不不變;與與1做異異或操作作,該位位置將被被求反。。Bic位位清除除指令Bic指指令將<<shift__operand>表表示的數(shù)數(shù)據(jù)與寄寄存器<<RD>>的值的的反碼按按位作邏邏輯與操操作,并并把結(jié)果果保存在在<RD>中,,同時(shí)根根據(jù)操作作的結(jié)果果更新CPSR中相應(yīng)應(yīng)的條件件標(biāo)志位位可用于將將寄存器器中某些些位的值值設(shè)置為為0。比較指令令Cmp比比較指令令Cmp指指令從寄寄存器<<RN>>中減去去<shifter__operand>表表示的數(shù)數(shù)值,根根據(jù)操作作的結(jié)果果更新CPSR中相應(yīng)應(yīng)的條件件標(biāo)志位位,后面面的指令令就可以以根據(jù)CPSR中相應(yīng)應(yīng)的條件件標(biāo)志位位來(lái)判斷斷是否執(zhí)執(zhí)行。Cmp指指令與subs指令的的區(qū)別在在于cmp指令令不保存存操作結(jié)結(jié)果。Cmn基基于相反反數(shù)的比比較指令令Tst位位測(cè)試試指令Teq相相等測(cè)試試指令乘法指令令Mul32位位乘法指指令Mul實(shí)實(shí)現(xiàn)兩個(gè)個(gè)32位位數(shù)的乘乘積,并并將結(jié)果果存放到到一個(gè)32位的的寄存器器中,同同時(shí)根據(jù)據(jù)運(yùn)算結(jié)結(jié)果設(shè)置置CPSR中相相應(yīng)的條條件標(biāo)志志位由于兩個(gè)個(gè)32位位的數(shù)相相乘結(jié)果果為64位,mul指指令僅僅僅保存了了結(jié)果的的低32位,所所以對(duì)于于帶符號(hào)號(hào)的和無(wú)無(wú)符號(hào)的的操作數(shù)數(shù)來(lái)說(shuō)mul指指令執(zhí)行行的結(jié)果果相同。。寄存器為為r15時(shí),指指令執(zhí)行行的結(jié)果果不可預(yù)預(yù)測(cè)MlaMla實(shí)實(shí)現(xiàn)兩個(gè)個(gè)32位位數(shù)的乘乘積,再再將乘積積加上第第3個(gè)操操作數(shù),,并將結(jié)結(jié)果存放放到一個(gè)個(gè)32位位的寄存存器中,,同時(shí)根根據(jù)運(yùn)算算結(jié)果設(shè)設(shè)置CPSR中中相應(yīng)的的條件標(biāo)標(biāo)志位Mlar0,,r1,r2,r3Smull64有符符號(hào)數(shù)乘乘法指令令smull實(shí)現(xiàn)現(xiàn)兩個(gè)32位有有符號(hào)數(shù)數(shù)的乘積積,乘積積結(jié)果的的高32位存放放到一個(gè)個(gè)32位位的寄存存器<RDHI>中,,低32位存放放到另一一個(gè)32位的寄

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論