版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、指令格式意義示例ADCADC條件 目的,操作數(shù)1 ,操作數(shù)2帶進(jìn)位的32位數(shù)加法目的操作數(shù)1+操作數(shù)2 + !CADDADD條件 目的,操作數(shù)1 ,操作數(shù)232位數(shù)相加目的操作數(shù)1+操作數(shù)2ANDAND條件 目的,操作數(shù)1,操作數(shù)232位數(shù)的邏輯與目的操作數(shù)1&操作數(shù)2BB條件目標(biāo)地址相對(duì)劭熊才旨令(32M,26b)助熊至目的地,PC 目標(biāo)地址BEQ相等則助娥(Branch if EQual)BNE不相等則助熊(Branch if Not Equal)BGE大于或等于雌(Branch if Greater than or Equa )BGT大于劭貓(Branch if Greater
2、Than )BICBIC條件S目的,操作數(shù)1 ,操作數(shù)232位數(shù)的邏輯位清零類似ANDBKPTBKPT 16位的立即數(shù)斷點(diǎn)指令BLBL條件目標(biāo)地址帶的相對(duì)助解指令(PCR14,雌)BLE小于或等于蹦專(Branch if Less than or Equal )BLEQ帶等于雌(Branch with Link if EQual)BLLT帶小于劭喉(Branch with Link if Less Than )BLT小于螃(Branch if Less Than )BLXBLX 目帶的切換用?。≒C R14尉觸并切換為thumb)BXBX條件目標(biāo)地址切換四常助熊并切換(ARM/Thumb)CD
3、P CDP2CDP條件協(xié)處理器編碼,協(xié)處理器操作碼1 , 目的寄存器,源寄存器1,源寄存器2,協(xié)處理 器操作碼2。協(xié)處理器數(shù)據(jù)處理操作CLZ零計(jì)數(shù)CMNCMN條件操作數(shù)1,操作數(shù)2匕限兩個(gè)數(shù)的相反數(shù)CMPCMP條件操作數(shù)1,操作數(shù)232位數(shù)臃操作數(shù)1 -操作數(shù)2更新CPSREOREOR條件S目的,操作數(shù)1 ,操作數(shù)232位邏輯異或目的 操作數(shù)1XOR操作數(shù)2LDC LDC2LDC條件L協(xié)處理器編碼,目的寄存器,源寄存器從協(xié)處理器取一個(gè)或多個(gè)32位值LDC P3 , C4 , RO ;P3: C4 R0LDMLDM (或STM ) 條件類型基址寄存器 1從存送多個(gè)32位字到ARM寄存器regis
4、ter Memery寄存器列表SLDRLDR條件目的,(存儲(chǔ)器地址從虛擬地址取一個(gè)單個(gè)的32位值至寄存器Register存儲(chǔ)器地址LDR條件B 目的,存儲(chǔ)器地址讀一個(gè)字節(jié)LDR條件H 目的,存儲(chǔ)器地址讀半字(即16位)MCRMCR2MCRRMCR條件協(xié)處理器編碼,協(xié)處理器操作碼1 , 源寄存器,目的寄存器1,目的寄存器2,協(xié)處 理器操作碼2。從寄存器送數(shù)據(jù)到協(xié)處理器MCR P3 , 3 , RO , C4 , C5 , 6 MARM 處理器寄存器R0中的數(shù)據(jù)傳送至此辦處理器P3的寄存器C4和C5中MLAMLAmS目的,操作數(shù)1,操作數(shù)2 ,操作數(shù)332位乘累加目的 操作數(shù)1*操作數(shù)2 +操作數(shù)
5、3MOVMOV條件目的,源操作數(shù)傳送一個(gè)32位數(shù)到寄存器目的源操作數(shù)MRC MRC2MRRCMRC條件協(xié)處理器編碼,協(xié)處理器操作碼1 , 目的寄存器,源寄存器1 ,源寄存器2,協(xié)處理 器操作碼20從協(xié)處理器傳送數(shù)據(jù)到寄存器MRC P3 , 3 , RO , C4 , C5,6;該指令將協(xié)處理器P3的寄存器中的數(shù)據(jù)傳送到ARM處理器寄存器中MRSMRS條件通用寄存器 狀態(tài)寄存器(CPSR把狀態(tài)寄存器的值送到通用寄存器Register 狀態(tài)寄存器或 SPSR)MSRMSR條件程序狀態(tài)寄存器(CPSR或SPSR_域,操作數(shù)把通用寄存器的值傳送到狀態(tài)寄存器CPSR或SPSR域 操作數(shù)MULM U L條
6、件目的,操作數(shù)1,操作數(shù)232位乘結(jié)果MODE(2八32),目的 操作數(shù)1*操作數(shù)2MVNMVN條僅4S目的,源操作數(shù)把一個(gè)32位數(shù)的邏輯"非"送到寄存器目的 (取反)源操作數(shù)ORRORR條件 目的,操作數(shù)1 ,操作數(shù)232位邏碼目的操作數(shù)1 OR操作數(shù)2PLD預(yù)緘是示指令QADD有符號(hào)32位飽和加QDADD有符號(hào)雙32位飽和加QSUB有符號(hào)32位飽和減QDSUB有符號(hào)雙32位飽和減RSBRSB條件 目的,操作數(shù)1 ,操作數(shù)2逆向32位減法目的操作數(shù)2 -操作數(shù)1RSCRSC條件S目的,操作數(shù)1 ,操作數(shù)2帶進(jìn)位的逆向32法減法目的操作數(shù)2 -操作數(shù)1-!CSBCSBC條件
7、S目的,操作數(shù)1 ,操作數(shù)2帶進(jìn)位的32位減法目的=操作數(shù)1-操作數(shù)2-!CSMLAxy有符號(hào)乘累加(16位*16位)+32位=32位SMLALSMLAL條件S目的Low ,目的High ,操作數(shù)1,操作數(shù)264位有符售乘累加(32位*32位)+64位=64位)目的L (操作1*操作2)L+目的L目的H (操作1*操作2)H +目的HSMALxy64位有符售乘累加(32位*32位)+64位=64位)SMLAWy號(hào)乘累加(32位*16位)> >16位)+32位=32位SMULLSMULL條件S目的Low ,目的High ,操作數(shù)1,操作數(shù)264位有符號(hào)乘累加(32位*32位)=64位
8、SMULxy有符號(hào)乘Q6位*16位=32位)SMULWy有符號(hào)乘(32位*16位>> 16位=32位)STC STC2STC條件L協(xié)處理器編碼,源寄存器,目的寄從協(xié)處理器中把一個(gè)或多個(gè)32位值存到存STC P3 , C4 , RO ;P3:C4 R0存器STMLDM (或STM ) 條件類型基址寄存器 ! ,寄存器列表八把多個(gè)32位的寄存器值存放到存Mem RegisterSTRSTR條件源寄存器,存儲(chǔ)器地址把寄存器的值存到一個(gè)存的虛地址間存儲(chǔ)器地址RegisterSTR條件B源寄存器,存儲(chǔ)器地址8位(R的低8位)的字節(jié)數(shù)據(jù)傳送到存儲(chǔ)器STR條件H源寄存器,存儲(chǔ)器地址16位的半字?jǐn)?shù)
9、據(jù)傳送到存儲(chǔ)器SUBSUB條件目的,操作數(shù)1,操作數(shù)232位減法目的操作數(shù)1-操作數(shù)2SWISWI條件 24位的立即數(shù)軟中斷無(wú)立即數(shù)時(shí),默認(rèn)為R0SWPSWP條件目的,源寄存器1,源寄存器2把一個(gè)字或者一個(gè)字節(jié)和一個(gè)寄存器值交換SWP條件B目的,源寄存器1,源寄存器2字的作TEQTEQ條件操作數(shù)1 ,操作數(shù)2等值測(cè)試TSTTST條件操作數(shù)1 ,操作數(shù)2位測(cè)試UMLALU M LAL條件S目的Low ,目的寄存器High,操作數(shù)1,操作數(shù)264位無(wú)符售乘累加(32位*32位)+64位=64位)UMULLUMULL條件S目的L,目的H,操作數(shù)L操作數(shù)264位無(wú)符號(hào)乘累加(32位*32位)=64位A
10、RM )匚編偽指令符號(hào)定義Symbol DefinitionGBLA、GBLL、GBLSGBLA:定義一個(gè)全局的數(shù)字變量,并初始化為0GBLL :定義一個(gè)全局的邏輯變量,并初始化為F (假)GBLS:定義一個(gè)全局的字符串變量,并初始化為空LCLA、LCLL、LCLSLCLA:定義一個(gè)局部的數(shù)字變量,并初始化為0LCLL:定義一個(gè)局部的邏輯變量,并初始化為F (假)LCLS:定義一個(gè)局部的字符串變量,并初始化為空SETA、SETL、SETSSETA偽指令用于給一個(gè)數(shù)學(xué)變量賦值SETL偽指令用于給一個(gè)邏輯變量賦值SETS偽指令用于給一個(gè)字符串變量賦值RUST名稱RLIST 寄存器列表RUST偽指令
11、可用于對(duì)一個(gè)通用寄存器列表定義名稱,使用該偽指令定義的名稱可在ARM指令LDM/STM中使用。數(shù)據(jù)定義Data DefinitionDCB用于分配一片連續(xù)的字節(jié)存儲(chǔ)單兀并用指定的數(shù)據(jù)初始化標(biāo)號(hào)DCB表達(dá)式DCW ( DCWU )用于分配一片連續(xù)的半字存儲(chǔ)單元并用指定的數(shù)據(jù)初始化DCD ( DCDU )用于分配一片連續(xù)的字存儲(chǔ)單元并用指定的數(shù)據(jù)初始化DCFD ( DCFDU )用于為雙精度的浮點(diǎn)數(shù)分配一片連續(xù)的字存儲(chǔ)單兀并用指定的數(shù)據(jù)初始化DCFS ( DCFSU )用于為單精度的浮點(diǎn)數(shù)分配一片連續(xù)的字存儲(chǔ)單兀并用指定的數(shù)據(jù)初始化DCQ ( DCQU )用于分配一片以8字節(jié)為單位的連續(xù)的存儲(chǔ)單元
12、并用指定的數(shù)據(jù)初始化SPACESPACE偽指令用于分配一片連續(xù)的存儲(chǔ)區(qū)域并初始化為0 ,其中,表達(dá)式為要分配的字節(jié)數(shù)。SPACE也可用"% "代替。標(biāo)號(hào)SPACE表達(dá)式MAP用于定義一個(gè)結(jié)構(gòu)化的存表首地址。MAP也可用"人"代替MAP表達(dá)式,基址寄存器FIELD用于定義一個(gè)結(jié)構(gòu)化的存表的數(shù)據(jù)域。FILED也可用代替標(biāo)號(hào)FIELD表達(dá)式匯編控制IF、ELSE、ENDIF條件編譯AssemblyControlWHILE . WEND循環(huán)MACRO s MEND宏MEXIT用于從宏定義中助熊出去其它AREACODE/DATA/READONLY/READWRIT
13、E/ALAIN/COMMONAREA段名屬性1 ,屬性2,ALIGN通過(guò)添加填充字節(jié)的方式,使當(dāng)前位置滿足一定的對(duì)齊方式.ALIEN=3 ;指定后面的指令為8字書對(duì)齊,2人3=8,可取值0-31.CODE16 x CODE32CODE16偽指令通知編譯器,其后的指令序列為16位的Thumb指令.CODE32偽指令通知編譯器,其后的指令序列為32位的ARM指令。只通知編譯器其后指令的類型,并不能對(duì)處理器進(jìn)行狀態(tài)的切換。ENTRY指定匯編程序的入口點(diǎn)END通知編譯器已經(jīng)到了源程序的結(jié)尾EQU用于為程序中的常量、標(biāo)號(hào)等定義 個(gè)等效的字符名稱,類似于C語(yǔ)言中的# define o其中EQU可用 “代替
14、EXPORT 域 GLOBAL)在程序中聲明一個(gè)全局的標(biāo)號(hào),該標(biāo)號(hào)可在其他的文件中引用。EXPORT可 用GLOBAL代替。標(biāo)號(hào)在程序中區(qū)分大小寫,WEAK選項(xiàng)聲明其他的同名 標(biāo)號(hào)優(yōu)先于該標(biāo)號(hào)被引用IMPORT通知編譯器要使用的標(biāo)號(hào)在其他的源文件中定義,但要在當(dāng)前源文件中引 用,而且無(wú)論當(dāng)前源文件是否引用該標(biāo)號(hào),該標(biāo)號(hào)均會(huì)被加入到當(dāng)前源文件 的符號(hào)表中。標(biāo)號(hào)在程序中區(qū)分大小寫,WEAK選頊表示當(dāng)所有的源文件 都沒(méi)有定義這樣一個(gè)標(biāo)號(hào)時(shí),編譯器也不給出錯(cuò)誤信息EXTERN通知編譯器要使用的標(biāo)號(hào)在其他的源文件中定義,但要在當(dāng)前源文件中引 用,如果當(dāng)前源文件實(shí)際并未引用該標(biāo)號(hào),該標(biāo)號(hào)就不會(huì)被加入到當(dāng)前
15、源文 件的符號(hào)表中。標(biāo)號(hào)在程序中區(qū)分大號(hào)GET(或 INCLUDE)將一個(gè)源文件包含到當(dāng)前的源文件中,并將被包含的源文件在當(dāng)前位置進(jìn)行5匚編處理INCBIN將一個(gè)目標(biāo)文件或數(shù)據(jù)文件作為進(jìn)制數(shù)據(jù)包含到當(dāng)前的源文件中RN給一個(gè)寄存器定義一個(gè)別名Temp RN R0ROUT給個(gè)局部變量定義作用圍#立即數(shù),&十六進(jìn)制數(shù),B .表示當(dāng)前PC指針(死循環(huán))ARM條件碼操作碼31:28助記符擴(kuò)展雌標(biāo)志狀態(tài)0000EQ相等/等于0Z=l0001NE不等z=o0010CS/HS進(jìn)位/無(wú)符號(hào)數(shù)高于或等于C= = l0011CC/LO硼位先?婚數(shù)彳舒c=o0100MI負(fù)數(shù)N =l0101PL正數(shù)或0N =
16、=00110VS溢出V= = l0111VC未溢出v=o1000HI無(wú)符號(hào)數(shù)高于(大于)C= = l&&Z=01001LS(小C=0|Z=l1010GE有大十蠅N = =V1011LT有符號(hào)數(shù)小于N!=V1100GT有符號(hào)數(shù)大于Z=0 &&N = =V1101LE有符號(hào)數(shù)小于于Z=l | N!=V1110AL總是(al ways)任何狀態(tài)1111NV從不(never)(不要使用)無(wú)CPSR312827876540NZCVUnusedIFT(=lthumbr=0Arm)mode位31 : 24為條件位域,用f表示;位23 : 16為狀態(tài)位域,用s表示; 位15 :
17、 8為擴(kuò)展位域,用x表示;位7 : 0為控制位域,用c表示; 與指令MSR相關(guān)關(guān)于移位LSL邏輯左移(低位填0)通用寄存器,LSL操作數(shù)LSR邏輯右移(高位填0)通用寄存器,LSR操作數(shù)ASL算術(shù)左移(低位填0)通用寄存器,ASL操作數(shù)ASR算術(shù)右移(符號(hào)位填充高位)通用寄存器,ASR操作數(shù)ROR循環(huán)右移通用寄存器,ROR操作數(shù)RRX帶C的循環(huán)右移通用寄存器,RRX操作數(shù)中斷向量表AddressHigh Address0x0000 0000OxFFFF 0000RESET0x0000 0004OxFFFF 0004UNDEF0x0000 0008OxFFFF 0008SWI0x0000 000
18、COxFFFF 000CPABT0x0000 0010OxFFFF 0010DABT0x0000 0014OxFFFF 00140x0000 0018OxFFFF 0018IRQ0x0000 001COxFFFF 001CFIQAPCS寄存器使用約定寄存器ADCS名稱ADCS作用0al變?cè)?/整數(shù)結(jié)果/臨時(shí)寄存器1a2變?cè)?/臨時(shí)寄存器2a3變?cè)?/臨時(shí)寄存器3a4變?cè)?/臨時(shí)寄存器4V1寄存器變量15v2寄存器變量26v3寄存器變量37v4寄存器變量48v5寄存器變量59sb/v6靜態(tài)基/寄存器變量610sl/v7堆棧B即寄存器變量711fp幀指針12ip臨時(shí)寄存器/新sb部單元調(diào)用13sp
19、當(dāng)前堆棧幀的低端14Ir地址/臨時(shí)寄存器15PC程序計(jì)數(shù)器Load and Store 指令LDR RO z R1;才存存儲(chǔ)器地址為R1的字?jǐn)?shù)據(jù)讀入寄存器R0。LDR RO z RI , R2LDR RO z RI , #8;將存儲(chǔ)器地址為RI+8的字讀入寄存器R0o;將存儲(chǔ)器地址為R1 + R2的字?jǐn)?shù)據(jù)讀入寄存器R0oLDR RO z RI , R2 !LDR RO z RI , #8 !;將存儲(chǔ)器地址為R1+8的字讀入寄存器R0 ,并將新地址R1+8寫入Rl0LDR RO , RI , R2;將存儲(chǔ)器地址為R1的字?jǐn)?shù)據(jù)讀入寄存器R0 ,并將新地址R1十R2寫入RloLDR RO JR1,
20、R2, LSL#2 !;將存儲(chǔ)器地址為RI + R2x4的字?jǐn)?shù)據(jù)讀入寄存器R0 ,并將新地址R1十R2x4寫入R1。LDR RO JR1 , R2 , LSL#2;將存儲(chǔ)器地址為R1的字?jǐn)?shù)據(jù)讀入寄存器R0 ,并將新地址R1十R2x4寫入R1。LDRB RO , R1;將存儲(chǔ)器地址為R1的字節(jié)讀入寄存器R0 ,并將R0的高24位清零。;將存儲(chǔ)器地址為R1 + R2的字?jǐn)?shù)據(jù)讀入寄存器R0 ,并將新地址R1+R2寫入RloLDRB RO, R1, #8LDRH RO , R1;將存儲(chǔ)器地址為R1的半字讀入寄存器R0 ,并將R0的高16位清零。;將存儲(chǔ)器地址為R1 + 8的字節(jié)數(shù)據(jù)讀入寄存器R0 ,并
21、將R0的高24位清零。LDRH RO JR1, #8;將存儲(chǔ)器地址為Rl + 8的半字?jǐn)?shù)據(jù)讀入寄存器R0 ,并將R0的高16位清零。LDRH RO JR1 , R2;將存儲(chǔ)器地址為R1十R2的半字?jǐn)?shù)據(jù)讀入寄存器R0 ,并將R0的高16位清零。STR RO JR1 , # 8;將R0中的字?jǐn)?shù)據(jù)寫入以R1為地址的存儲(chǔ)器中,并將新地址R1+8寫入RloSTR RO , RI r #8;將RO中的字寫入以R1 + 8為地址的存儲(chǔ)器中。STRB RO , R1;將寄存器R0中的字節(jié)數(shù)據(jù)寫入以R1為地址的存儲(chǔ)器中。STRB RO , R1 , # 8;將寄存器R0中的字節(jié)數(shù)據(jù)寫入以R1 + 8為地址的存儲(chǔ)器中。STRH RO , R1;將寄存器R0中的半字?jǐn)?shù)據(jù)寫入以R1為地址的存儲(chǔ)器中
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度城市更新改造項(xiàng)目場(chǎng)地平整與舊房拆除合同3篇
- 2025版多功能打印機(jī)及耗材供應(yīng)一體化服務(wù)合同示范3篇
- 初三上學(xué)期期末英語(yǔ)作文預(yù)測(cè)范文10篇
- 2024年物流公司貨運(yùn)代理服務(wù)協(xié)議3篇
- 2024年適用:跨境電子商務(wù)物流協(xié)議
- ERP系統(tǒng)供應(yīng)與銷售協(xié)議細(xì)則(2024年版)版
- 2辦公樓物業(yè)管理2024年合同
- 2024幼兒園教職工知識(shí)產(chǎn)權(quán)保密及競(jìng)業(yè)禁止合同3篇
- 2024年:房產(chǎn)補(bǔ)充協(xié)議書范本精要
- 2024幼兒園教師勞動(dòng)權(quán)益保障與教學(xué)管理合同范本6篇
- 北師大版一年級(jí)上冊(cè)數(shù)學(xué)全冊(cè)教案(教學(xué)設(shè)計(jì))及教學(xué)反思
- 教育機(jī)構(gòu)日常運(yùn)營(yíng)與管理指南
- 海上移動(dòng)平臺(tái)入級(jí)規(guī)范2024年第1次變更通告
- 人教版PEP小學(xué)六年級(jí)英語(yǔ)下冊(cè)教案全冊(cè)
- ☆問(wèn)題解決策略:直觀分析 教案 2024-2025學(xué)年北師大版七年級(jí)數(shù)學(xué)上冊(cè)
- (小學(xué)組)全國(guó)版圖知識(shí)競(jìng)賽考試題含答案
- 節(jié)假日臨時(shí)活動(dòng)保安服務(wù)方案
- ICD-10疾病編碼完整版
- 2025年湖北省襄陽(yáng)某中學(xué)自主招生物理模擬試卷(附答案解析)
- 工程力學(xué)課后習(xí)題答案1
- 6S視覺(jué)管理之定置劃線顏色管理及標(biāo)準(zhǔn)樣式
評(píng)論
0/150
提交評(píng)論