chapter3 ARM指令系統(tǒng)_第1頁
chapter3 ARM指令系統(tǒng)_第2頁
chapter3 ARM指令系統(tǒng)_第3頁
chapter3 ARM指令系統(tǒng)_第4頁
chapter3 ARM指令系統(tǒng)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 第3章 ARM指令系統(tǒng)主講人:梅魁志2006年春上第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第2頁一 ARM指令系統(tǒng)特點 1 預(yù)備知識計算機體系結(jié)構(gòu):馮諾依曼結(jié)構(gòu):ARM7哈佛體系結(jié)構(gòu):ARM9程序計數(shù)器PC:存放指令在存儲器地址中位置的寄存器。圖 1-1 計算機的基本結(jié)構(gòu)存儲器輸出輸入運算器控制器數(shù)據(jù)線路控制信號第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第3頁ARM處理器處理器和存儲器組織:標(biāo)準(zhǔn)的ARM字是32位的;數(shù)據(jù)操作:ARM編程模型-ARM處理器中算術(shù)和邏輯運算不能直接在存儲器單元上執(zhí)行。ARM

2、采用LOAD/STORE結(jié)構(gòu),在寄存器和存儲器之間傳輸數(shù)值要用到LOAD/STORE指令??刂屏鳎築指令(分支指令)。SHARC處理器存儲器組織:指令由48位組成,一個基本的數(shù)據(jù)字32位,一個地址是32位;分為程序存儲器(PM)和數(shù)據(jù)存儲器(DM)。第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第4頁2 ARM指令系統(tǒng)特點1)數(shù)據(jù)類型)數(shù)據(jù)類型Byte(8 bits) Halfword(16 bits) Word(32 bits)。ARM協(xié)處理器可以支持另外的數(shù)據(jù)類型,如浮點數(shù)據(jù)類型,但ARM的核沒有明確的支持。2)存儲器組織)存儲器組織小端(littl

3、e-endian)和大端(big-endian):這兩種方式的不同在于最低位字節(jié)的地址是否在最高位字節(jié)的地址之前。例如0 x12345678存放如下:地 址:A+3 A+2 A+1 A 大端內(nèi)容:78 56 34 12 小端內(nèi)容:12 34 56 78 第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第5頁3) 指令的條件執(zhí)行指令的條件執(zhí)行ADD R0, R0, R1 ;ADD R0, R0, R1 ;基本的加法基本的加法( (把把 R1 R1 的值增加到的值增加到 R0)R0),它不,它不影響狀態(tài)寄存器。影響狀態(tài)寄存器。ADDADDS S R0, R0,

4、 R1 ; R0, R0, R1 ;加法,只不過它導(dǎo)致更改狀態(tài)寄存器。加法,只不過它導(dǎo)致更改狀態(tài)寄存器。 ADDADDEQEQS R0, R0, R1;S R0, R0, R1;加法,更改狀態(tài)寄存器。它是一個有條加法,更改狀態(tài)寄存器。它是一個有條件的指令。只有前一個操作的結(jié)果是件的指令。只有前一個操作的結(jié)果是 EQ EQ 時它才執(zhí)行。時它才執(zhí)行。4)4)協(xié)處理器的作用協(xié)處理器的作用ARM內(nèi)核可以提供協(xié)處理器接口,通過擴展協(xié)處理器完成更加復(fù)雜的功能,ARM還包含多條協(xié)處理器指令。數(shù)據(jù)運算、ARM寄存器至協(xié)處理器、協(xié)處理器至ARM寄存器、存儲器至協(xié)處理器、協(xié)處理器至存儲器。第第3 3章章ARMAR

5、M指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第6頁5) 具有靈活的第二操作數(shù)具有靈活的第二操作數(shù) MOV R0,R1,LSL #1; (R1)*2R06) Thumb指令指令 ARM有兩種指令集:16位Thumb指令集和32位ARM指令集。處理器一開始總在arm狀態(tài),可使用BX指令轉(zhuǎn)換到Thumb狀態(tài)。7) 具有具有RISC指令的特點指令的特點ARM指令屬于RISC指令,具有指令少、等長等特點。8) 立即數(shù)和直接地址立即數(shù)和直接地址由于指令統(tǒng)一為32位,因此一般立即數(shù)為512位。同理,直接(或相對)地址一般為24位。第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入

6、式系統(tǒng)概論2022-1-8第7頁二 ARM指令系統(tǒng) 分支類指令 數(shù)據(jù)處理類指令 數(shù)據(jù)傳送類指令 協(xié)處理器類指令 雜項指令第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第8頁1 ARM指令的尋址方式 l立即數(shù)尋址例:ADD R3 , R3 , #2 ; (R3)+2R3l 寄存器尋址例:ADD R0, R1, R2; (R1)+(R2)R0l寄存器間接尋址例:LDR R0 , R3; (R3)R0l寄存器變址前索引尋址:LDR R0 , R1, #4!; (R1)+4)R0后索引尋址:LDR R0,R1,#4 ; R1 R0; R1+4R1基址+索引尋址:

7、LDR R0,R1,R2 ; R1+R2 R0第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第9頁l 多寄存器尋址LDMIA R1,R0,R2,R5; R0R1,R2R1+4,R5R1+8l 堆棧尋址堆棧:按特定順序進行存儲的存儲區(qū),后進先出LIFO或先進后出FILO。l 塊拷貝尋址LDMIA R0!,R2-R9; R0R2, R0+4R3,;R0R0+4*7STMIA R1,R2-R9上述代碼實現(xiàn)R0指向的位置拷貝到R1指向的位置。l 相對尋址 例:B rel;(PC)+relPC 第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論

8、2022-1-8第10頁2 ARM指令的條件執(zhí)行每條ARM指令都是條件執(zhí)行,并根據(jù)執(zhí)行結(jié)果來選擇是否更新條件碼;若要更新條件碼,則指令中須包含后綴S。一些指令(CMP、CMN、TST和TEQ)不需要后綴S,因為它們唯一的功能是更新標(biāo)志。N置位結(jié)果為負(fù)MI0101C置為大于CS/HS*0010Z置位不等NE0001Z置位相等EQ0000標(biāo)志位含義條件代碼操作碼31-28第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第11頁3 ARM轉(zhuǎn)移類指令A(yù)RM轉(zhuǎn)移類指令完成循環(huán)、調(diào)用子程序和從ARM狀態(tài)轉(zhuǎn)向Thumb狀態(tài)等功能,包括B、BL、BX和BLX指令。(1)B

9、/BL指令: B、BL指令完成當(dāng)前執(zhí)行指令地址的轉(zhuǎn)移。例1 條件轉(zhuǎn)移CMP R0, #5;如果R0小于5;BLT SUB1;則轉(zhuǎn) SUB1 ;BGE SUB2;否則轉(zhuǎn) SUB2。第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第12頁例2 程序調(diào)用BL SUB ;調(diào)用子程序SUB; ; 返回點;SUB . ; 子程序入口;MOV PC , R14; 執(zhí)行完返回。例3 執(zhí)行十次循環(huán)MOV R0 ,#10 ; 設(shè)置循環(huán)次數(shù);LOOP SUBS R0 ,#1;循環(huán)次數(shù)減1;BNE LOOP;如果循環(huán)次數(shù)不0 , 繼續(xù)循環(huán);. ; 否則結(jié)束循環(huán)。第第3 3章章AR

10、MARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第13頁(2)BX /BLX BX、BLX指令用來支持Thumb指令集,可以使處理器由ARM指令轉(zhuǎn)向執(zhí)行Thumb指令或者由Thumb指令返回執(zhí)行ARM指令。BX|BLX condRm BLX BLX-Branch with Link and Exchange第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第14頁例1 B label ; branch unconditionally to label BCC label; branch to label if carry flag is

11、clear BEQ label; branch to label if zero flag is set MOV PC,#0 ; R15=0,branch to location zero BL func ;subroutine call to function func MOV PC,LR; R15=R14,return to instruction after BL MOV LR,PC ; LDR PC,=func; 第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第15頁 例2 Thumb子程序調(diào)用 CODE32 ;ARM 代碼 BLX TSUB ;

12、調(diào)用Thumb 指令TSUB子程序 CODE16 ; Thumb 代碼執(zhí)行 TSUB ;Thumb 指令TSUB子程序 BX R14 ; 返回ARM 代碼第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第16頁4 ARM數(shù)據(jù)處理指令(1) 第二操作數(shù)大多數(shù)ARM通用數(shù)據(jù)處理指令有一個靈活的第二操作數(shù),可能的格式為:a immed-8r:常量的表達(dá)式。b Rm , shift 算術(shù)右移ASR、邏輯左移和右移(LSL LSR)、循環(huán)右移ROR和RRX(帶進位位)。第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第17頁(a

13、) 算術(shù)右移ASR(c) 循環(huán)右移ROR(b) 邏輯右移LSR 和邏輯左移LSL00(d) 帶擴展的循環(huán)右移RRXCS=1第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第18頁(2) 數(shù)據(jù)運算類指令指令名指令含義操作AND位與Rd:=Rn AND Op2EOR位或Rd:=Rn EOR Op2SUB相減Rd:=Rn - Op2RSB反向相減Rd:=Op2 - Rn ADD相加Rd:=Rn + Op2ADC帶進位相加Rd:=Rn + Op2+CSBC帶借位相減Rd:=Rn -Op2 +C-1RSC反向帶借位相減Rd:= Op2-Rn +C-1TST測試Scc

14、 on Rn AND Op2TEQ測試是否相等Scc on Rn EOR Op2CMP比較Scc on Rn - Op2CMN負(fù)向比較Scc on Rn + Op2ORR位或Rd:=Rn OR Op2MOV傳送Rd:= Op2BIC位請零Rd:=Rn AND NOT Op2MVN負(fù)向傳送Rd:=NOT Op2第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第19頁指令名指令含義結(jié)果 MUL 乘法(結(jié)果為32位)Rd:=Rm*RsMLA乘法累加(結(jié)果為32位)Rd+=Rm*RsUMULL無符號數(shù)乘法(結(jié)果為64位)RdHi:RdLo:=Rm*RsUMLAL無

15、符號數(shù)乘法累加(結(jié)果為64位)RdHi:RdLo+=Rm*RsSMULL有符號數(shù)乘法(結(jié)果為64位)RdHi:RdLo:=Rm*RsSMLAL有符號數(shù)乘法累加(結(jié)果64位)RdHi:RdLo+=Rm*RsSMULxy有符號半字乘法(結(jié)果為32位)Rd:=Rm*RsSMLAxy有符號半字乘累加(結(jié)果為32位)Rd:=Rm*Rs+RnSMULWy有符號32位16位乘法(結(jié)果為高32位)Rd:=Rm*RsSMLAWy有符號32位16位乘累加(結(jié)果為高32位)Rd:=Rm*Rs+RnSMLALxy有符號半字乘法(結(jié)果為32位)RdHi:RdLo+=Rm*Rs第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)

16、概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第20頁例:SMLALLES R8 , R9 , R7 , R6;R8=R9*R7+R6SMULLNE R0 , R1, R9 , R0;(R0:R1)=R9*R0(3) 傳送和傳送“非”指令MOV condsRd,operand2;MVN condsRd,operand2;(4) CMP、CMN、TST和TEQ比較、比較反值、測試和測試相等指令。第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第21頁條件碼0 03128272524210操作數(shù)1201916151211s操作數(shù)2RnRd目的寄存器操作數(shù)寄存器1設(shè)

17、置條件碼算術(shù)/邏輯功能118701176 5 430#循環(huán)移位8位立即數(shù)#移位Sh0Rm移位長度移位類型操作數(shù)寄存器21187 65 4 30立即數(shù)對齊方式寄存器移位長度Rs01ShRm12502526指令的字節(jié)碼結(jié)構(gòu)第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第22頁5 Load/Store類指令(1)(1)單字和無符號字節(jié)單字和無符號字節(jié)Load/StoreLoad/Store類指令類指令功能:提供ARM寄存器和內(nèi)存之間單字節(jié)或單字?jǐn)?shù)據(jù)的傳送。格式:a 零偏移(zero offset)LDR|STRBTRd,Rn ;(Rn)Rd 零偏移指的是將Rn

18、的內(nèi)容作為傳送數(shù)據(jù)的地址。b 前變址(pre-indexed offset)LDR|STRBRd,Rn,!前變址指的是在數(shù)據(jù)傳送之前,將偏移量加到Rn中,其結(jié)果作為傳送數(shù)據(jù)的存儲地址。第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第23頁c 程序相對偏移(programrelative)LDR | STRRd ,LABEL;(LABEL)Rd程序相對偏移指的是由PC計算偏移量,并將PC作為Rn生成前變址指令。不能使用后綴“!”。LDR Rd , Label 等于LDR Rd , R15 , Label-PC d 后變址(post-indexed offs

19、et)LDR | STRBT Rd,Rn ,后變址指的是將Rn的值用作傳送數(shù)據(jù)的存儲器地址,數(shù)據(jù)傳送后,偏移量加到Rn中,結(jié)果寫回Rn。LDR Rd , Rn , offset 等價為:(Rn)Rd,(Rn)+offsetRn。第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第24頁條件碼0 13128272524210201916151211L偏移量RnRd目的寄存器基寄存器存/取回寫(自動變址)1101176 5 43012位立即數(shù)#移位Sh0Rm移位長度移位類型偏移量寄存器02512526PUBW23 22無符號數(shù) 字節(jié)/字加/減前變址/后變址字節(jié)碼

20、格式 第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第25頁例1將R0中的內(nèi)容存放進外設(shè)中。LDR R1,UARTADD; 將UART地址放進R1中STRB STRB R0,R1 ;將數(shù)據(jù)放進外設(shè)中例 2 LDR R8,R10;LDRNE R2,R5,#960??;Z1STR R2,R9,#consta-struc;STRB R0,R3,-R8,ASR #2;STR R5,R7,#-8;store R5(R7),R7=R7-8第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第26頁(2 2)半字和有符號字節(jié))半字和有符

21、號字節(jié)Load/StoreLoad/Store類指令類指令功能:提供ARM寄存器和內(nèi)存之間半字(16位)和有符號字節(jié)(8位)數(shù)據(jù)的傳送。格式:a 零偏移(zero offset)LDR | STR H | SH | SB Rd,Rnb 前變址(pre-indexed offset)LDR|STRH|SH|SB Rd,Rn, !c 程序相對偏移(pregramrelatve)LDR|STRH|SH|SB Rd,LABEL第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第27頁d 后變址(post-indexed offset)LDR|STRH|SH|SB R

22、d, Rn , 其中:H|SH|SB 表示數(shù)據(jù)類型選擇SH 對有符號半字(僅LDR)H 對無符號半字;SB 對有符號字節(jié)(僅LDR)。(3 3)雙字)雙字Load/StoreLoad/Store類指令類指令功能:提供ARM寄存器和內(nèi)存之間雙字(64位)數(shù)據(jù)的傳送。 區(qū)別:LDR | STR D Rd,Rn第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第28頁(4 4)多寄存器)多寄存器Load/StoreLoad/Store類指令類指令功能:裝入和存儲多個寄存器,傳送R0R15的組合。 1)標(biāo)準(zhǔn)格式LDM | STM Rn! , 2)非用戶模式下,當(dāng)前的

23、SPSR寫入CPSR中,轉(zhuǎn)向用戶模式,寄存器組包含PC。LDM Rn! , 3)非用戶模式下,用下面格式可以實現(xiàn)訪問用戶模式的寄存器,但寄存器組不包含PC。LDM | STM Rn , 第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第29頁6 協(xié)處理器類指令(1)CDP/CDP2功能:完成協(xié)處理器寄存器數(shù)據(jù)操作(2)LDC/STC功能:在寄存器和協(xié)處理器之間傳送數(shù)據(jù)(3)MRC/MRC2/MCR/MCR2功能:在協(xié)處理器與ARM寄存器之間傳數(shù)據(jù)。(4)MCRR/MRRC功能:在2個ARM寄存器和協(xié)處理器間傳數(shù)據(jù)。第第3 3章章ARMARM指令系統(tǒng)嵌入式系

24、統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第30頁7 雜項指令(1)狀態(tài)寄存器傳送內(nèi)容至通用寄存器指令格式:MRS Rd , CPSR | SPSR(2)通用寄存器傳送內(nèi)容至狀態(tài)寄存器指令MSR CPSR_f|SPSR_f,MSR CPSR_|SPSR_,Rm(3)斷點指令(V5T)格式: BKPT immed_16;功能:支持軟件調(diào)試,進入相應(yīng)調(diào)試子程序;第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第31頁(4)軟件中斷指令格式:SWI immed_24 功能:執(zhí)行系統(tǒng)調(diào)用,處理器進入管理模式,并從地址0 x08開始執(zhí)行指令。CPSR保存到SPSR

25、中,執(zhí)行轉(zhuǎn)移到SWI向量。例1 輸出字符AMOV R0 , #A ; 從R0中得到ASWI SWI_WriteC ; 然后顯示第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第32頁三 Thumb指令系統(tǒng) 1 定義定義 Thumb指令集是ARM指令集的子集,Thumb只使用有限的ARM寄存器 2 注意注意 并非所有的ARM處理器都可以執(zhí)行Thumb指令; CPSR中的T位決定是執(zhí)行Thumb還是ARM指令; 大部分的Thumb指令與ARM指令類似,不過在寄存器、立即數(shù)、尋址等方面會有些差異。第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)

26、概論2022-1-8第33頁四 ARM宏匯編ARM的宏匯編語言定義了一系列宏指令,其主要作用為符號定義、數(shù)據(jù)定義、匯編控制、宏定義核棧中數(shù)據(jù)幀的描述等。1 預(yù)定義變量預(yù)定義變量R0R15(r1r15),F0F15(f1f15),sp等。2 偽指令偽指令對匯編起控制作用的特殊命令。ARM指令和Thumb偽指令。3 指示符指示符AREA、CODE16、CODE32、END、DATA、DCB、DCD等。第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第34頁五 ARM匯編程序設(shè)計1 概述例1 ARM指令集的匯編程序1 AREA example, CODE, RE

27、ADONLY2 ;Name this block of code ARMex.3 ENTRY ; Mark first instruction to execute4 start MOV R0, #10 ; Set up parameters5 MOV R1, #36 ADD R0, R0, R1 ; R0 = R0 + R17 stop MOV R0, #0 x18 ; angel_SWIreason_ReportException8 LDR R1, =0 x20026 ; ADP_Stopped_Application Exit9 SWI 0 x123456 ; Angel semihos

28、ting ARM SWI10 END ; Mark end of file 偽指令第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第35頁例例 2 Thumb2 Thumb指令集的匯編程序指令集的匯編程序 1 AREA ThumbSub, CODE, READONLY ; Name this block of code2 ENTRY; Mark first instruction to execute3 CODE32 ; Subsequent instructions are ARM4 header ADR R0, start + 1; Processor

29、 starts in ARM state,5 BX R0 ; so small ARM code header used6 ; to call Thumb main program.7 CODE16 ; Subsequent instructions are Thumb.8 start9 MOV R0, #10 ; Set up parameters10 MOV R1, #3 11 BL doadd ; Call subroutine12 stop13 MOV R0, #0 x18 ; angel_SWIreason_ReportException14 LDR R1, =0 x20026 ; ADP_Stopped_ApplicationExit15 SWI 0 xAB ; Angel semihosting Thumb SWI16 doadd17 ADD R0, R0, R1 ; Subroutine code18 MOV pc, lr ; Return from subroutine.19 END ; Mark end of file第第3 3章章ARMARM指令系統(tǒng)嵌入式系統(tǒng)概論指令系統(tǒng)嵌入式系統(tǒng)概論2022-1-8第36頁2 ARM匯編程序設(shè)計(1) 程序模塊結(jié)構(gòu) AREA聲明+代碼本身+END語句(2) AR

溫馨提示

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

最新文檔

評論

0/150

提交評論