国产午夜福利在线观看红一片,久久精品国产再热青青青,又硬又粗又大一区二区三区视频,中文字幕乱码免费,久久超碰97文字幕 ,中国精学生妹品射精久久

最新更新最新專題

您的位置:首頁 > ppt下載 > PPT課件 > 儀器設(shè)備PPT > arm整套介紹ppt課件

arm整套介紹ppt課件下載

素材大。
2.50 MB
素材授權(quán):
免費(fèi)下載
素材格式:
.ppt
素材上傳:
ppt
上傳時(shí)間:
2018-03-16
素材編號(hào):
183491
素材類別:
儀器設(shè)備PPT

素材預(yù)覽

arm整套介紹ppt課件

這是一個(gè)關(guān)于arm整套介紹ppt課件,包括了ARM7TDMI(-S)指令系統(tǒng),ARM處理器尋址方式,ARM指令系統(tǒng)概述,ARM匯編語言程序設(shè)計(jì),ARM-Thumb交互工作等內(nèi)容。第3章 ARM7TDMI(-S)指令尋址方式 3.1 ARM7TDMI(-S)指令系統(tǒng)簡(jiǎn)介 3.1 ARM7TDMI(-S)指令系統(tǒng) ARM指令集與Thumb指令集的關(guān)系 指令格式 ARM指令集——指令格式 指令格式 ARM指令集——第2個(gè)操作數(shù) 3.2 ARM處理器尋址方式尋址方式分類 3.2 ARM處理器尋址方式尋址方式分類——立即尋址 3.2 ARM處理器尋址方式尋址方式分類——寄存器尋址 3.2 ARM處理器尋址方式尋址方式分類——寄存器間接尋址 3.2 ARM處理器尋址方式尋址方式分類——基址尋址 3.2 ARM處理器尋址方式尋址方式分類——基址尋址 3.2 ARM處理器尋址方式尋址方式分類——相對(duì)尋址 3.2 ARM處理器尋址方式尋址方式分類——寄存器移位尋址 3.2 ARM處理器尋址方式尋址方式分類——寄存器移位尋址 3.2 ARM處理器尋址方式尋址方式分類——寄存器移位尋址,歡迎點(diǎn)擊下載arm整套介紹ppt課件。

arm整套介紹ppt課件是由紅軟PPT免費(fèi)下載網(wǎng)推薦的一款儀器設(shè)備PPT類型的PowerPoint.

第3章 ARM7TDMI(-S)指令尋址方式 3.1 ARM7TDMI(-S)指令系統(tǒng)簡(jiǎn)介 3.1 ARM7TDMI(-S)指令系統(tǒng) ARM指令集與Thumb指令集的關(guān)系 指令格式 ARM指令集——指令格式 指令格式 ARM指令集——第2個(gè)操作數(shù) 3.2 ARM處理器尋址方式尋址方式分類 3.2 ARM處理器尋址方式尋址方式分類——立即尋址 3.2 ARM處理器尋址方式尋址方式分類——寄存器尋址 3.2 ARM處理器尋址方式尋址方式分類——寄存器間接尋址 3.2 ARM處理器尋址方式尋址方式分類——基址尋址 3.2 ARM處理器尋址方式尋址方式分類——基址尋址 3.2 ARM處理器尋址方式尋址方式分類——相對(duì)尋址 3.2 ARM處理器尋址方式尋址方式分類——寄存器移位尋址 3.2 ARM處理器尋址方式尋址方式分類——寄存器移位尋址 3.2 ARM處理器尋址方式尋址方式分類——寄存器移位尋址 3.2 ARM處理器尋址方式尋址方式分類——寄存器移位尋址 3.2 ARM處理器尋址方式尋址方式分類——寄存器移位尋址 3.2 ARM處理器尋址方式尋址方式分類——寄存器移位尋址 3.2 ARM處理器尋址方式尋址方式分類——寄存器移位尋址 3.2 尋址方式移位尋址 3.2 ARM處理器尋址方式尋址方式分類——堆棧尋址 3.2 ARM處理器尋址方式尋址方式分類——堆棧尋址 3.2 ARM處理器尋址方式尋址方式分類——堆棧尋址 3.2 ARM處理器尋址方式尋址方式分類——堆棧尋址 3.2 ARM處理器尋址方式尋址方式分類——堆棧尋址 3.2 ARM處理器尋址方式尋址方式分類——多寄存器尋址 3.2 ARM處理器尋址方式尋址方式分類——多寄存器尋址 3.2 ARM處理器尋址方式尋址方式分類——多寄存器尋址 簡(jiǎn)單的ARM程序 簡(jiǎn)單的ARM程序 4.1 指令格式 ARM指令集——指令格式 4.1 指令格式 ARM指令集——第2個(gè)操作數(shù) 4.1 指令格式 ARM指令集——第2個(gè)操作數(shù) 4.1 指令格式 ARM指令集——第2個(gè)操作數(shù) 4.1 指令格式 ARM指令集——第2個(gè)操作數(shù) 4.1 指令格式 ARM指令集——第2個(gè)操作數(shù) 4.1 指令格式 ARM指令集——第2個(gè)操作數(shù) 4.1 指令格式 ARM指令集——第2個(gè)操作數(shù) 4.2 條件碼 ARM指令集——條件碼 4.2 條件碼 ARM指令集——條件碼 ARM指令 ARM指令的種類: 存儲(chǔ)器訪問指令 數(shù)據(jù)處理指令 乘法指令 ARM分支指令 協(xié)處理器指令 雜項(xiàng)指令 偽指令 4.3 存儲(chǔ)器加載/存儲(chǔ)指令 ARM指令集——存儲(chǔ)器加載/存儲(chǔ)指令 4.4 ARM數(shù)據(jù)處理指令 ARM指令集——ARM數(shù)據(jù)處理指令 4.5 乘法指令 ARM指令集——乘法指令 4.6 分支指令 ARM指令集——分支指令 4.7 協(xié)處理器指令 ARM指令集——協(xié)處理器指令 SWI指令產(chǎn)生軟件中斷時(shí),處理器將執(zhí)行如下操作: 將SWI指令的下一條指令地址保存到R14_svc. 將CPSR保存到SPSR_svc中. 將CPSR[4:0]設(shè)置為0b10011,進(jìn)入管理模式,并將CPSR[7]置為1,以禁止IRQ。將PC設(shè)置為0x08,從該處開始執(zhí)行指令。 軟件中斷處理完畢,通過以下指令返回:  MOVS PC,R14_svc 第5章 ARM匯編語言程序設(shè)計(jì) ARM匯編語言語句格式 ARM匯編語言的語句格式: {symbol}{instruction|directive|pseudo-instruction}{comment} 5.1.ARM匯編語言的偽操作 、宏指令和偽指令 5.1.ARM匯編語言的偽操作 、宏指令和偽指令 5.1.ARM匯編語言的偽操作 、宏指令和偽指令 5.1.ARM匯編語言的偽操作 、宏指令和偽指令 ARM匯編語言偽指令 ARM偽指令 ADS編譯環(huán)境下的ARM偽操作和宏指令 變量定義舉例 GBLA   arithmetic ;聲明一個(gè)全局的算術(shù)變量 arithmatic SETA 0xEF ;向該變量賦值 SPACE arithmetic  ;使用該變量 GBLL logical    ;聲明一個(gè)全局的邏輯變量 logical SETL {TRUE}  ;向該變量賦值 局部變量定義舉例 MACRO      ;聲明一個(gè)宏 $ label message $ a ;宏的原型,宏的名稱為  ;message,有一個(gè)參數(shù)$ a LCLS string ;聲明一個(gè)局部串變量string String SETS “error” ;向該變量賦值 $ label ;代碼 INFO 0,”string”:CC: : STR: $ a ;使用該串變量 MEND ;宏定義結(jié)束 MAP 8192 consta FIELD 4 constb FIELD 4 x FIELD 8 y FIELD 8 string FIELD 16 MACRO {$label} macroname {$parameter} …             ;宏代碼 MEND 局部變量定義舉例 MACRO      ;聲明一個(gè)宏 $ label message $ a ;宏的原型,宏的名稱為  ;message,有一個(gè)參數(shù)$ a LCLS string ;聲明一個(gè)局部串變量string String SETS “error” ;向該變量賦值 $ label ;代碼 INFO 0,”string”:CC: : STR: $ a ;使用該串變量 MEND ;宏定義結(jié)束 GNU編譯環(huán)境下的ARM偽操作與宏指令 ARM匯編程序?qū)嵗⒁?ADS編譯環(huán)境下的匯編代碼與GNU編譯環(huán)境下(Embest IDE內(nèi)部集成GNU的開發(fā)工具)有較多不同點(diǎn),主要是符號(hào)及偽操作的不同. 5.2 ARM匯編語言語句格式 ARM匯編中的文件格式: 5.2 ARM匯編語言語句格式 ARM匯編語言語句格式: 5.2 ARM匯編語言語句格式 ARM匯編語言的語句格式: 注意: ● 在ARM 匯編語言中,各個(gè)指令、偽指令及偽操作的助記符可全部用大寫字母,也可全部用小寫字母,但不能在一個(gè)助記符中既有大寫字母又有小寫字母. ● 源程序中,在語句之間適當(dāng)?shù)夭迦肟招,可提高源代碼的可讀性. ● 如果一條語句很長(zhǎng),為了提高可讀性,可使用”\”將該長(zhǎng)語句分成若干行來寫,在”\”之后不能再有其他字符,包括空格和制表符. 5.2 ARM匯編語言語句格式 ARM匯編語言中的符號(hào) 5.2 ARM匯編語言語句格式 ARM匯編語言中的符號(hào)----變量 5.2 ARM匯編語言語句格式 ARM匯編語言中的符號(hào)----數(shù)字常量 5.2 ARM匯編語言語句格式 ARM匯編語言中的符號(hào)----標(biāo)號(hào) 5.2 ARM匯編語言語句格式 ARM匯編語言中的符號(hào)----局部標(biāo)號(hào) 5.2 ARM匯編語言語句格式 ARM匯編語言中的表達(dá)式 5.2 ARM匯編語言語句格式 ARM匯編語言中的表達(dá)式----字符串表達(dá)式 5.2 ARM匯編語言語句格式 ARM匯編語言中的表達(dá)式----字符串表達(dá)式 5.2 ARM匯編語言語句格式 ARM匯編語言中的表達(dá)式----字符串表達(dá)式 5.2 ARM匯編語言語句格式 ARM匯編語言中的表達(dá)式----字符串表達(dá)式 5.2 ARM匯編語言語句格式 ARM匯編語言中的表達(dá)式---字符串表達(dá)式 5.2 ARM匯編語言語句格式 ARM匯編語言中的表達(dá)式---字符串表達(dá)式 5.2 ARM匯編語言語句格式 ARM匯編語言中的表達(dá)式---字符串表達(dá)式 5.2 ARM匯編語言語句格式 ARM匯編語言中的表達(dá)式---字符串表達(dá)式 局部變量定義舉例 MACRO      ;聲明一個(gè)宏 $ label message $ a ;宏的原型,宏的名稱為。籱essage,有一個(gè)參數(shù)$ a LCLS string ;聲明一個(gè)局部串變量string String SETS “error” ;向該變量賦值 $ label ;代碼 INFO 0,”string”:CC: : STR: $ a ;使用該串變量 MEND ;宏定義結(jié)束 5.2 ARM匯編語言語句格式 ARM匯編語言中的表達(dá)式---數(shù)字表達(dá)式 5.2 ARM匯編語言語句格式 ARM匯編語言中的表達(dá)式---數(shù)字表達(dá)式 5.2 ARM匯編語言語句格式 ARM匯編語言中的表達(dá)式---數(shù)字表達(dá)式 5.2 ARM匯編語言語句格式 ARM匯編語言中的表達(dá)式---數(shù)字表達(dá)式 5.2 ARM匯編語言語句格式 ARM匯編語言中的表達(dá)式---數(shù)字表達(dá)式 5.2 ARM匯編語言語句格式 ARM匯編語言中的表達(dá)式---數(shù)字表達(dá)式 5.2 ARM匯編語言語句格式 ARM匯編語言中的表達(dá)式---基于寄存器和基于PC的表達(dá)式 5.2 ARM匯編語言語句格式 ARM匯編語言中的表達(dá)式----邏輯表達(dá)式 5.2 ARM匯編語言語句格式 ARM匯編語言中的表達(dá)式----邏輯表達(dá)式 5.2 ARM匯編語言語句格式 ARM匯編語言中的表達(dá)式----邏輯表達(dá)式 5.2 ARM匯編語言語句格式 ARM匯編語言中的表達(dá)式----其他操作符 5.2 ARM匯編語言語句格式以ADS編譯器下匯編語言程序設(shè)計(jì)的格式為例,來說明ARM匯編語言程序的基本格式. 5.2 ARM匯編語言語句格式 5.2 ARM匯編語言程序格式 5.2 ARM匯編語言語句格式 5.3 ARM匯編語言編程的重點(diǎn) ARM數(shù)據(jù)處理操作 5.3 ARM匯編語言編程的重點(diǎn) ARM數(shù)據(jù)處理操作 5.3 ARM匯編語言編程的重點(diǎn) ARM數(shù)據(jù)處理操作 5.3 ARM匯編語言編程的重點(diǎn) 設(shè)置條件碼 5.3 ARM匯編語言編程的重點(diǎn) 設(shè)置條件碼 5.3 ARM匯編語言編程的重點(diǎn) 設(shè)置條件碼 CMP R0,R1 CMPEQ R2,R3 ADDEQ R4,R4,#1 ;If((a==b)&&(c==d)) e++ 5.3 ARM匯編語言編程的重點(diǎn) 設(shè)置條件碼 5.3 ARM匯編語言編程的重點(diǎn) 設(shè)置條件碼 5.3 ARM匯編語言編程的重點(diǎn) 匯編語言子程序調(diào)用及返回 5.3 ARM匯編語言編程的重點(diǎn) 匯編語言子程序調(diào)用及返回 5.3 ARM匯編語言編程的重點(diǎn) 匯編語言子程序調(diào)用及返回 5.3 ARM匯編語言編程的重點(diǎn) 跳轉(zhuǎn)表 5.3 ARM匯編語言編程的重點(diǎn) 跳轉(zhuǎn)表 5.3 ARM匯編語言編程的重點(diǎn) 跳轉(zhuǎn)表 5.3 ARM匯編語言編程的重點(diǎn) ARM與Thumb 之間的狀態(tài)轉(zhuǎn)換及函數(shù)的互相調(diào)用 ARM匯編程序?qū)嵗?在ADS與GNU編譯環(huán)境下的簡(jiǎn)單ARM指令程序 AREA Block,CODE,READONLY NUM EQU 20 ENTRY LDR R0,=src LDR R1,=dst MOV R2,#NUM MOV SP,#0x400 Bcopy MOVS R3,R2,LSR#3 BEQ Cword STMFD SP!,{R4-R11} Ocopy LDMIA R0!,{R4-R11} STMIA R1!,{R4-R11} SUBS R3,R3,#1 BNE Ocopy LDMFD SP!,{R4-R11} Cword ANDS R2,R2,#7 BEQ Stop Wcopy LDR R3,[R0],#4 STR R3,[R1],#4 SUBS R2,R2,#1 BNE Wcopy Stop MOV R0,#0x18 LDR R1,=0x20026 SWI 0x123456 AREA Bdata,DATA,READWRITE src DCD 1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4 dst DCD 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 END 第6章 ARM-Thumb交互工作 6.1 Thumb指令集 Thumb指令集 簡(jiǎn)單的Thumb程序 6.1 Thumb 指令集 Thumb指令集與ARM指令集的區(qū)別 6.1 Thumb指令集 Thumb存儲(chǔ)器訪問指令 5.1 ARM匯編語言偽指令 Thumb存儲(chǔ)器訪問指令 6.1 Thumb指令 Thumb存儲(chǔ)器訪問指令 6.1 Thumb指令 Thumb存儲(chǔ)器訪問指令 6.1 Thumb指令 Thumb數(shù)據(jù)處理指令 5.1 ARM匯編語言偽指令 Thumb數(shù)據(jù)處理指令——數(shù)據(jù)傳送指令 5.1 ARM匯編語言偽指令 Thumb數(shù)據(jù)處理指令——算術(shù)邏輯運(yùn)算指令 5.1 ARM匯編語言偽指令 Thumb分支指令 6.2 ARM-Thumb交互工作 ARM與Thumb 之間的狀態(tài)轉(zhuǎn)換及函數(shù)的互相調(diào)用 6.2 ARM-Thumb交互工作 ARM與Thumb 之間的狀態(tài)轉(zhuǎn)換及函數(shù)的互相調(diào)用 6.2 ARM-Thumb交互工作 ARM與Thumb 之間的狀態(tài)轉(zhuǎn)換及函數(shù)的互相調(diào)用 6.2 ARM-Thumb交互工作 ARM與Thumb 之間的狀態(tài)轉(zhuǎn)換及函數(shù)的互相調(diào)用 6.2 ARM-Thumb交互工作 ARM與Thumb 之間的狀態(tài)轉(zhuǎn)換及函數(shù)的互相調(diào)用 6.4 交互子程序和Veneer 調(diào)用者程序和被調(diào)用程序均在一個(gè)源程序中,可進(jìn)行交互工作,如若兩種狀態(tài)下的程序位于不同的文件中,能否進(jìn)行交互工作呢?答案是肯定的,只要程序編寫過程中遵守ARM和Thumb過程調(diào)用標(biāo)準(zhǔn)ATPCS(ARM and Thumb Procedure Call Standards),程序間就可以進(jìn)行交互工作.此時(shí)需要設(shè)置相應(yīng)的編譯選項(xiàng),使編譯器按照ATPCS規(guī)則編譯程序,ARM連接器在檢測(cè)到ARM和Thumb混和編程的時(shí)候,會(huì)自動(dòng)產(chǎn)生并插入一個(gè)稱為偽裝(veneer)的小代碼段,用來根據(jù)程序需要完成ARM - Thumb狀態(tài)的切換。 6.4 交互子程序和Veneer 交互編譯選項(xiàng)這個(gè)編譯選項(xiàng)就是-apcs/interwork。通過使用-apcs/interwork編譯項(xiàng),可以強(qiáng)制在子程序返回時(shí)使用BX LR指令而非MOV PC, LR指令。例:兩個(gè)處于不同狀態(tài)的匯編程序間的交互工作。 6.4 交互子程序和Veneer 我們可以通過下面的操作完成兩文件間的交互工作: armasm arm.s armasm thumb.s –apcs/interwork armlink arm.o thumb.o 通常在編譯程序時(shí),我們應(yīng)盡量選用-apcs/interwork選項(xiàng)。-apcs/interwork編譯器選項(xiàng)可以保證所有的ARM和Thumb 、C或C++編譯器編譯的模塊能夠在各種處理器狀態(tài)間相互調(diào)用: tcc -apcs /interwork armcc -apcs /interwork tcpp -apcs /interwork armcpp -apcs /interwork 在interwork選項(xiàng)下編譯的代碼模塊會(huì)比原Thumb或ARM代碼模塊大一些,例如對(duì)Thumb程序,典型的會(huì)增加約2%的容量。因此沒有必要對(duì)所有的程序進(jìn)行交互編譯,只對(duì)那些包含交互子程序調(diào)用的程序進(jìn)行交互編譯即可。 6.4 交互子程序和Veneer Veneer 所謂Veneer是由連接器自動(dòng)生成并插入到匯編程序的一小段代碼。通常在下面兩種情況下,連接器會(huì)生成Veneer:(1)被調(diào)用程序包含狀態(tài)切換; (2)被調(diào)用程序的地址超出了調(diào)用指令的尋址范圍。連接時(shí),連接器先找到veneer,再連接需調(diào)用的程序。根據(jù)被調(diào)用程序的狀態(tài),以及其與調(diào)用者間距離的遠(yuǎn)近,Veneer包含三種狀態(tài):長(zhǎng)、短以及內(nèi)嵌。由此可見,Veneer的使用會(huì)增加代碼的長(zhǎng)度。如果調(diào)用者在距離相距不遠(yuǎn)的空間內(nèi)多次調(diào)用相同的程序,則連接器會(huì)盡量使用相同的Veneer,而非生成新的Veneer,從而在一定程度上減小了代碼量。為了使Veneer盡量的減少占用空間,我們可以采取以下兩種措施: (1)盡量使關(guān)聯(lián)的程序的存儲(chǔ)空間靠近; (2)較少狀態(tài)切換。 6.4 交互子程序和Veneer 利用Veneer,在滿足下列規(guī)則的條件下,可以方便的進(jìn)行C和C++以及匯編語言程序間的交互工作: (1)調(diào)用者程序的編寫可不考慮交互工作的問題,對(duì)于匯編語言編寫的程序使用BL指令進(jìn)行程序調(diào)用。 (2)若被調(diào)用程序?yàn)镃語言程序,使用-apcs /interwork選項(xiàng)進(jìn)行編譯;若被調(diào)用程序?yàn)閰R編語言程序,設(shè)置其INTERWORK屬性并用BX lr返回。 在Embest IDE集成開發(fā)環(huán)境中,對(duì)于交互工作的編譯設(shè)置起來更為簡(jiǎn)單,只需根據(jù)情況,在屬性設(shè)置界面的assembler對(duì)話框中選中“make the assembled code as supporting interworking”或在complier對(duì)話框中選中“ARM interworking”或“Thumb interworking”即可。 6.3 ARM v5T擴(kuò)展 ARM的體系結(jié)構(gòu)大致可以分為5個(gè)主要的版本:ARM v1T、 ARM v2T 、 ARM v3T 、 ARM v4T 、 ARM v5T 前面介紹的ARM7TDMI-S處理器內(nèi)核使用的是ARM v4T 版本, ARM v5T版本的ARM體系結(jié)構(gòu)中增加了額外的對(duì)交互工作的支持,除BX指令外,增加了BLX指令,另外LDR,LDM及POP指令也可以進(jìn)行程序狀態(tài)的切換. 6.3 ARM v5T擴(kuò)展 ARM的體系結(jié)構(gòu)大致可以分為5個(gè)主要的版本:ARM v1T、 ARM v2T 、 ARM v3T 、 ARM v4T 、 ARM v5T 前面介紹的ARM7TDMI-S處理器內(nèi)核使用的是ARM v4T 版本, ARM v5T版本的ARM體系結(jié)構(gòu)中增加了額外的對(duì)交互工作的支持,除BX指令外,增加了BLX指令,另外LDR,LDM及POP指令也可以進(jìn)行程序狀態(tài)的切換.IOM紅軟基地

PPT分類Classification

Copyright:2009-2024 紅軟網(wǎng) rsdown.cn 聯(lián)系郵箱:rsdown@163.com

黑ICP備2025041396號(hào)-1