![嵌入式第4章arm指令集系統(tǒng)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/27/d19413cc-da2b-4e25-904a-3d91e466ef46/d19413cc-da2b-4e25-904a-3d91e466ef461.gif)
![嵌入式第4章arm指令集系統(tǒng)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/27/d19413cc-da2b-4e25-904a-3d91e466ef46/d19413cc-da2b-4e25-904a-3d91e466ef462.gif)
![嵌入式第4章arm指令集系統(tǒng)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/27/d19413cc-da2b-4e25-904a-3d91e466ef46/d19413cc-da2b-4e25-904a-3d91e466ef463.gif)
![嵌入式第4章arm指令集系統(tǒng)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/27/d19413cc-da2b-4e25-904a-3d91e466ef46/d19413cc-da2b-4e25-904a-3d91e466ef464.gif)
![嵌入式第4章arm指令集系統(tǒng)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/27/d19413cc-da2b-4e25-904a-3d91e466ef46/d19413cc-da2b-4e25-904a-3d91e466ef465.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1TM1n配套教材:配套教材:ARMARM嵌入式系統(tǒng)結(jié)構(gòu)與編程嵌入式系統(tǒng)結(jié)構(gòu)與編程,邱鐵邱鐵 編著,清華大學出版社,編著,清華大學出版社,2009,32009,3ARMARM嵌入式系統(tǒng)結(jié)構(gòu)與編程嵌入式系統(tǒng)結(jié)構(gòu)與編程2TM第第4章章ARM指令集系統(tǒng)指令集系統(tǒng)ARM微處理器的指令集可以分為數(shù)據(jù)處理指微處理器的指令集可以分為數(shù)據(jù)處理指令、跳轉(zhuǎn)指令、程序狀態(tài)寄存器(令、跳轉(zhuǎn)指令、程序狀態(tài)寄存器(PSR)處)處理指令、加載理指令、加載/存儲指令、協(xié)處理器指令和雜存儲指令、協(xié)處理器指令和雜類指令六大類。類指令六大類。本章將分類介紹本章將分類介紹ARM指令語法格式、指令編指令語法格式、指令編碼格式和碼格式和
2、ARM指令的詳細功能。指令的詳細功能。3TM3內(nèi)容提要內(nèi)容提要41 數(shù)據(jù)處理指令數(shù)據(jù)處理指令42 ARM分支指令分支指令43 加載加載/存儲指令存儲指令44 批量加載批量加載/存儲指令存儲指令45 交換指令交換指令46 程序狀態(tài)寄存器程序狀態(tài)寄存器PSR訪問指令訪問指令47 協(xié)處理器操作指令協(xié)處理器操作指令48 異常產(chǎn)生指令異常產(chǎn)生指令4TM44.3 加載加載/存儲指令存儲指令n用于操作用于操作32位的字類型數(shù)據(jù)以及位的字類型數(shù)據(jù)以及8位無符號位無符號的字節(jié)類型數(shù)據(jù);的字節(jié)類型數(shù)據(jù);n用于操作用于操作16位半字類型數(shù)據(jù)和位半字類型數(shù)據(jù)和8位的有符號位的有符號字節(jié)類型數(shù)據(jù)。字節(jié)類型數(shù)據(jù)。5TM5
3、431 加載加載/存儲字、無符號字節(jié)指令存儲字、無符號字節(jié)指令n1 LDR/STR指令指令nLDRcond Rd,nSTRcond Rd,nLDRcondT Rd,nSTRcondT Rd,6TM67TM7n2 LDRB/STRB指令指令nLDRcondB Rd,nSTRcondB Rd,nLDRcond BT Rd,nSTRcondBT Rd,8TM8操作執(zhí)行操作執(zhí)行寫操作不執(zhí)行基地址寄存器回操作執(zhí)行基地址寄存器回寫值減去地址偏移量為基址寄存器內(nèi)存地址值加上地址偏移量為基址寄存器內(nèi)存地址后變址操作前變址操作位立即數(shù)偏移量為式偏移量為寄存器移位形為指令執(zhí)行的條件StoreLoadLWRnadd
4、ressRnaddressUPI。cond:0:1:0:1:0:1:0:112:0:19TM9432 半字、有符號字節(jié)訪問指令半字、有符號字節(jié)訪問指令n半字數(shù)據(jù)訪問指令用于內(nèi)存中的數(shù)據(jù)與寄存器低半字數(shù)據(jù)訪問指令用于內(nèi)存中的數(shù)據(jù)與寄存器低16位數(shù)據(jù)進行操作,有符號字節(jié)訪問指令可實現(xiàn)向寄位數(shù)據(jù)進行操作,有符號字節(jié)訪問指令可實現(xiàn)向寄存器加載存器加載8位的有符號字節(jié)數(shù)據(jù)。位的有符號字節(jié)數(shù)據(jù)。n對于向寄存器加載無符號半字數(shù)據(jù),寄存器的高對于向寄存器加載無符號半字數(shù)據(jù),寄存器的高16位位bits31:16清零;清零;n對于向寄存器加載有符號半字數(shù)據(jù),寄存器的高對于向寄存器加載有符號半字數(shù)據(jù),寄存器的高16
5、位位bits31:16用符號位擴展為用符號位擴展為32位;位;n對于向寄存器加載有符號字節(jié)數(shù)據(jù),寄存器的高對于向寄存器加載有符號字節(jié)數(shù)據(jù),寄存器的高24位位bits31:8用符號位擴展為用符號位擴展為32位。位。10TM10nLDRcondH Rd,nSTRcondH Rd,nLDRcondSH Rd, nLDRcondSB Rd, 11TM11n偏移量為立即數(shù)的指令編碼類型偏移量為立即數(shù)的指令編碼類型12TM12nARM微處理器所支持批量數(shù)據(jù)加載微處理器所支持批量數(shù)據(jù)加載/存儲指令存儲指令可以一次性實現(xiàn)一片連續(xù)的存儲器單元和多可以一次性實現(xiàn)一片連續(xù)的存儲器單元和多個寄存器之間進行傳送數(shù)據(jù)。個
6、寄存器之間進行傳送數(shù)據(jù)。n批量數(shù)據(jù)加載指令用于將一片連續(xù)的存儲器批量數(shù)據(jù)加載指令用于將一片連續(xù)的存儲器中的數(shù)據(jù)傳送到多個寄存器中,批量數(shù)據(jù)存中的數(shù)據(jù)傳送到多個寄存器中,批量數(shù)據(jù)存儲指令能夠?qū)崿F(xiàn)將多個寄存器中的內(nèi)容一次儲指令能夠?qū)崿F(xiàn)將多個寄存器中的內(nèi)容一次性的存放到一片連續(xù)的存儲器中。性的存放到一片連續(xù)的存儲器中。 13TM13基本批量字數(shù)據(jù)加載基本批量字數(shù)據(jù)加載/存儲指令存儲指令n批量加載:批量加載:nLDM !, n批量存儲:批量存儲:nSTM !, 14TM14操作執(zhí)行操作執(zhí)行寫操作不執(zhí)行基地址寄存器回操作執(zhí)行基地址寄存器回寫地址向下變化地址向上變化表示地址變化的方向后變址操作前變址操作為
7、指令執(zhí)行的條件StoreLoadLWdownwardsupwardsUUP。cond:0:1:0:1)(:0)(:1:0:115TM15n注意事項:注意事項:n* Rn不允許為程序計數(shù)器不允許為程序計數(shù)器PC(R15)n* 指令中寄存器和連續(xù)內(nèi)存地址單元的對應(yīng)關(guān)系:指令中寄存器和連續(xù)內(nèi)存地址單元的對應(yīng)關(guān)系:編號低的寄存器對應(yīng)內(nèi)存低地址單元,編號高的寄編號低的寄存器對應(yīng)內(nèi)存低地址單元,編號高的寄存器對應(yīng)內(nèi)存高地址單元。存器對應(yīng)內(nèi)存高地址單元。n*如果指令中基址寄存器如果指令中基址寄存器在寄存器列表在寄存器列表中,而且指令中尋址方式指定指令執(zhí)行中,而且指令中尋址方式指定指令執(zhí)行后更新基址寄存器后更
8、新基址寄存器 的值,則指令執(zhí)行會產(chǎn)生的值,則指令執(zhí)行會產(chǎn)生不可預(yù)知的結(jié)果。不可預(yù)知的結(jié)果。16TM16示例解析示例解析nMOVR1,#0 x9000nMOVR0,#0 x11nMOVR2,#0 x22nMOV R3,#0 x33nMOV R4,#0 x44nMOV R5,#0 x55nSTMDB R1! ,R0,R2-R517TM17存儲情況如下存儲情況如下18TM18用戶模式下的批量字數(shù)據(jù)加載用戶模式下的批量字數(shù)據(jù)加載/存儲指存儲指令令n用戶模式下的批量字數(shù)據(jù)加載用戶模式下的批量字數(shù)據(jù)加載/存儲指令操作存儲指令操作實現(xiàn)的操作是:即使處理器工作在特權(quán)模式實現(xiàn)的操作是:即使處理器工作在特權(quán)模式下
9、,存儲系統(tǒng)也將訪問看成是處理器在用戶下,存儲系統(tǒng)也將訪問看成是處理器在用戶模式下,因此所加載模式下,因此所加載/存儲的寄存器組為用戶存儲的寄存器組為用戶模式下的寄存器。該指令寄存器列表中不包模式下的寄存器。該指令寄存器列表中不包含程序計數(shù)器含程序計數(shù)器PC,不允許對基地址寄存器回,不允許對基地址寄存器回寫操作。寫操作。19TM19n用戶模式下的批量字數(shù)據(jù)加載用戶模式下的批量字數(shù)據(jù)加載/存儲指令匯編存儲指令匯編語法格式為語法格式為n批量加載:批量加載:LDM , n批量存儲:批量存儲:STM , 20TM20帶帶PSR操作的批量字數(shù)據(jù)加載指令操作的批量字數(shù)據(jù)加載指令 n在帶在帶PSR操作的批量字
10、數(shù)據(jù)加載指令中,程操作的批量字數(shù)據(jù)加載指令中,程序計數(shù)器序計數(shù)器PC包含在指令寄存器列表中。包含在指令寄存器列表中。n該指令將數(shù)據(jù)從連續(xù)的內(nèi)存單元中讀取到指該指令將數(shù)據(jù)從連續(xù)的內(nèi)存單元中讀取到指令中寄存器列表中的各寄存器中。它同時將令中寄存器列表中的各寄存器中。它同時將目前處理器模式對應(yīng)的目前處理器模式對應(yīng)的SPSR寄存器內(nèi)容復(fù)寄存器內(nèi)容復(fù)制到制到CPSR寄存器中。寄存器中。 21TM21n批量加載:批量加載:LDM !, n批量存儲:批量存儲:STM !, 22TM22示例解析:示例解析:n如何用帶如何用帶PSR操作的批量字數(shù)據(jù)加載指令實現(xiàn)操作的批量字數(shù)據(jù)加載指令實現(xiàn)IRQ中斷的返回?中斷的
11、返回? n 在進入在進入IRQ中斷處理程序時,首先計算返回地址,并保存相關(guān)的寄存器中斷處理程序時,首先計算返回地址,并保存相關(guān)的寄存器n SUBR14,R14,#4 ;n STMFD R13!, R0-R3, R12, LR n 如果如果IRQ中斷處理程序返回到被中斷的進程則執(zhí)行下面的指令。該指令中斷處理程序返回到被中斷的進程則執(zhí)行下面的指令。該指令從數(shù)據(jù)棧中恢復(fù)寄存器從數(shù)據(jù)棧中恢復(fù)寄存器R0R3及及R12的值,將返回地址傳送到的值,將返回地址傳送到PC中,并中,并將將SPSR_irq值復(fù)制到值復(fù)制到CPSR中中n LDMFD R13!, R0-R3, R12, PC 23TM234.5 交換
12、指令交換指令nARM指令支持原子操作,主要是用來對信號指令支持原子操作,主要是用來對信號量的操作,因為信號量操作的要求是作原子量的操作,因為信號量操作的要求是作原子操作,即在一條指令中完成信號量的讀取和操作,即在一條指令中完成信號量的讀取和修改操作。修改操作。 24TM24字數(shù)據(jù)交換指令字數(shù)據(jù)交換指令 nSWP是對字數(shù)據(jù)操作指令,用于將一個寄存是對字數(shù)據(jù)操作指令,用于將一個寄存器器Rn為地址的內(nèi)存字數(shù)據(jù)單元的內(nèi)容讀取到為地址的內(nèi)存字數(shù)據(jù)單元的內(nèi)容讀取到一個寄存器一個寄存器中,同時將另一個寄存器中,同時將另一個寄存器Rm的內(nèi)容寫入到該內(nèi)存單元中。的內(nèi)容寫入到該內(nèi)存單元中。nSWP , , 25T
13、M25字節(jié)數(shù)據(jù)交換指令字節(jié)數(shù)據(jù)交換指令 nSWPB是對字節(jié)操作指令,用于將一個寄存器是對字節(jié)操作指令,用于將一個寄存器Rn為為內(nèi)存地址的字節(jié)數(shù)據(jù)單元的內(nèi)容讀取到一個寄存器內(nèi)存地址的字節(jié)數(shù)據(jù)單元的內(nèi)容讀取到一個寄存器Rd中,寄存器中,寄存器Rd的高的高24設(shè)置為設(shè)置為0,同時將另一個寄,同時將另一個寄存器存器Rm的低的低8位數(shù)值寫入到該內(nèi)存單元中位數(shù)值寫入到該內(nèi)存單元中 nSWPB , ,26TM264.6程序狀態(tài)寄存器程序狀態(tài)寄存器PSR訪問指令訪問指令n程序狀態(tài)寄存器程序狀態(tài)寄存器PSR訪問指令用來實現(xiàn)通用訪問指令用來實現(xiàn)通用寄存器與程序狀態(tài)寄存器之間的數(shù)據(jù)傳輸,寄存器與程序狀態(tài)寄存器之間的
14、數(shù)據(jù)傳輸,共有兩條:讀程序狀態(tài)寄存器指令共有兩條:讀程序狀態(tài)寄存器指令MRS和寫和寫程序狀態(tài)寄存器指令程序狀態(tài)寄存器指令MSR。n這類指令可以用來修改這類指令可以用來修改CPSR,通常是通過,通常是通過“讀取讀取-修改修改-寫回寫回”的操作序列來實現(xiàn)。的操作序列來實現(xiàn)。27TM27n存儲器訪問指令關(guān)于訪問地址的合成與確定存儲器訪問指令關(guān)于訪問地址的合成與確定是應(yīng)該重點掌握的內(nèi)容是應(yīng)該重點掌握的內(nèi)容,具本具本參考教材參考教材ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程嵌入式系統(tǒng)結(jié)構(gòu)與編程第第4章章4.3, 4.4節(jié)節(jié)28TM28讀程序狀態(tài)寄存器指令讀程序狀態(tài)寄存器指令 nMRS指令用于將狀態(tài)寄存器的內(nèi)容傳送到通指
15、令用于將狀態(tài)寄存器的內(nèi)容傳送到通用寄存器中。這是程序獲得程序狀寄存器用寄存器中。這是程序獲得程序狀寄存器PSR數(shù)據(jù)的唯一方法。數(shù)據(jù)的唯一方法。 nMRS , CPSRnMRS , SPSR29TM29寫程序狀態(tài)寄存器指令寫程序狀態(tài)寄存器指令 nMSR指令用于將通用寄存器的內(nèi)容或一個立即數(shù)傳指令用于將通用寄存器的內(nèi)容或一個立即數(shù)傳送到程序狀態(tài)寄存器中,實現(xiàn)對程序狀態(tài)寄存器的修送到程序狀態(tài)寄存器中,實現(xiàn)對程序狀態(tài)寄存器的修改。改。 MSR CPSR_, MSR SPSR_, 30TM30n fields設(shè)置狀態(tài)寄存器中需要操作的位域。狀態(tài)寄存器分為設(shè)置狀態(tài)寄存器中需要操作的位域。狀態(tài)寄存器分為4個
16、個8位的域:位的域: bits31:24為條件標志位域,用為條件標志位域,用f表示;表示;bits23:16狀態(tài)位域,用狀態(tài)位域,用s表示;表示; bits15:8擴展位域,用擴展位域,用x表示;表示;bits7:0控制位域,用控制位域,用c表示;表示;31TM31n第二操作數(shù)第二操作數(shù)operand2的構(gòu)成形式有以下兩種形式:的構(gòu)成形式有以下兩種形式:n 為將要傳送到狀態(tài)寄存器中的立即為將要傳送到狀態(tài)寄存器中的立即數(shù);數(shù);n寄存器包含將要傳送到狀態(tài)寄存器中的數(shù)據(jù)。寄存器包含將要傳送到狀態(tài)寄存器中的數(shù)據(jù)。nR(bit22)為)為0時,寫時,寫CPSR;R(bit22)為)為1時時,寫,寫SPS
17、R。32TM324.7 協(xié)處理器操作指令協(xié)處理器操作指令n協(xié)處理器操作是協(xié)處理器操作是ARM處理器對協(xié)處器進行管處理器對協(xié)處器進行管理,也就是理,也就是ARM處理器的相關(guān)操作通過發(fā)送處理器的相關(guān)操作通過發(fā)送指令給協(xié)處理器,讓協(xié)處理器來完成。指令給協(xié)處理器,讓協(xié)處理器來完成。ARM微處理器最多可支持微處理器最多可支持16個協(xié)處理器,用于各個協(xié)處理器,用于各種協(xié)處理操作。種協(xié)處理操作。 33TM33協(xié)處理器數(shù)據(jù)操作指令協(xié)處理器數(shù)據(jù)操作指令 n協(xié)處理器數(shù)據(jù)操作指令協(xié)處理器數(shù)據(jù)操作指令CDP用法:用法:ARM處理器處理器通知通知ARM協(xié)處理器執(zhí)行特定的操作,若協(xié)處理協(xié)處理器執(zhí)行特定的操作,若協(xié)處理器不
18、能成功完成特定的操作,則產(chǎn)生未定義指令器不能成功完成特定的操作,則產(chǎn)生未定義指令異常。異常。 nCDP , 34TM34ncond為指令執(zhí)行的條件碼。當為指令執(zhí)行的條件碼。當忽略時指令為無條件忽略時指令為無條件執(zhí)行。執(zhí)行。nCRd為目標寄存器的協(xié)處理器寄存器。為目標寄存器的協(xié)處理器寄存器。nCRn為存放第為存放第1個源操作數(shù)的協(xié)處理器寄存器。個源操作數(shù)的協(xié)處理器寄存器。nCRm為存放第為存放第2個源操作數(shù)的協(xié)處理器寄存器。個源操作數(shù)的協(xié)處理器寄存器。nCp_num為協(xié)處理器的編碼。為協(xié)處理器的編碼。nopcode1為協(xié)處理器將執(zhí)行操作的第一操作碼。為協(xié)處理器將執(zhí)行操作的第一操作碼。nopcod
19、e2為協(xié)處理器將執(zhí)行操作的第二操作碼。(可選)為協(xié)處理器將執(zhí)行操作的第二操作碼。(可選)35TM35協(xié)處理器加載協(xié)處理器加載/存儲指令存儲指令 n協(xié)處理器的加載協(xié)處理器的加載/存儲指令可以用來實現(xiàn)存儲指令可以用來實現(xiàn)ARM處理器與協(xié)處理器之間的數(shù)據(jù)傳輸,共有兩處理器與協(xié)處理器之間的數(shù)據(jù)傳輸,共有兩條:協(xié)處理器數(shù)據(jù)加載指令條:協(xié)處理器數(shù)據(jù)加載指令LDC和協(xié)處理器和協(xié)處理器數(shù)據(jù)存儲指令數(shù)據(jù)存儲指令STC。36TM36n協(xié)處理器的加載存儲指令匯編語法格式如下協(xié)處理器的加載存儲指令匯編語法格式如下:nLDCL ,nSTCL ,37TM37n Rn為為ARM處理器的通用寄存器,它用作基地址寄處理器的通用
20、寄存器,它用作基地址寄存器。存器。n需要注意的是,匯編語法格式中的需要注意的是,匯編語法格式中的L是表示傳輸?shù)氖潜硎緜鬏數(shù)臄?shù)據(jù)為長整數(shù),其對應(yīng)指令編碼中的數(shù)據(jù)為長整數(shù),其對應(yīng)指令編碼中的“N”。而指令。而指令二進制編碼中的二進制編碼中的“L”是用來區(qū)別是用來區(qū)別LDC和和STC指令。指令。38TM38n1協(xié)處理器數(shù)據(jù)加載指令協(xié)處理器數(shù)據(jù)加載指令LDCnLDC指令用于將一系列連續(xù)的內(nèi)存單元的數(shù)指令用于將一系列連續(xù)的內(nèi)存單元的數(shù)據(jù)讀取到協(xié)處理器的寄存器中,并由協(xié)處理據(jù)讀取到協(xié)處理器的寄存器中,并由協(xié)處理器來決定傳輸?shù)淖謹?shù)。如果協(xié)處理器不能成器來決定傳輸?shù)淖謹?shù)。如果協(xié)處理器不能成功的執(zhí)行該操作,將產(chǎn)
21、生未定義的指令異常功的執(zhí)行該操作,將產(chǎn)生未定義的指令異常中斷。中斷。 39TM39n2協(xié)處理器數(shù)據(jù)存儲指令協(xié)處理器數(shù)據(jù)存儲指令STCnSTC指令將協(xié)處理器的寄存器中的數(shù)據(jù)寫入指令將協(xié)處理器的寄存器中的數(shù)據(jù)寫入到一系列連續(xù)的內(nèi)存單元中,并由協(xié)處理器到一系列連續(xù)的內(nèi)存單元中,并由協(xié)處理器來決定傳輸?shù)淖謹?shù)。如果協(xié)處理器不能成功來決定傳輸?shù)淖謹?shù)。如果協(xié)處理器不能成功的執(zhí)行該操作,將產(chǎn)生未定義指令異常中斷的執(zhí)行該操作,將產(chǎn)生未定義指令異常中斷。 40TM40ARM寄存器與協(xié)處理器寄存器數(shù)據(jù)傳輸指令寄存器與協(xié)處理器寄存器數(shù)據(jù)傳輸指令 nARM寄存器與協(xié)處理器寄存器數(shù)據(jù)傳輸指令寄存器與協(xié)處理器寄存器數(shù)據(jù)傳輸
22、指令用來實現(xiàn)用來實現(xiàn)ARM通用寄存器與協(xié)處理器寄存器通用寄存器與協(xié)處理器寄存器之間的數(shù)據(jù)傳輸,共有兩條:之間的數(shù)據(jù)傳輸,共有兩條:ARM寄存器到寄存器到協(xié)處理器寄存器的數(shù)據(jù)傳送指令協(xié)處理器寄存器的數(shù)據(jù)傳送指令MCR和協(xié)處和協(xié)處理器寄存器到理器寄存器到ARM寄存器的數(shù)據(jù)傳送指令寄存器的數(shù)據(jù)傳送指令MRC。 41TM41nARM寄存器與協(xié)處理器寄存器數(shù)據(jù)傳輸指令寄存器與協(xié)處理器寄存器數(shù)據(jù)傳輸指令匯編語法格式如下:匯編語法格式如下:MCR , MRC , 42TM4243TM43n1ARM寄存器到協(xié)處理器寄存器的數(shù)據(jù)傳送指令寄存器到協(xié)處理器寄存器的數(shù)據(jù)傳送指令MCRnMCR指令將指令將ARM處理器的
23、寄存器中的數(shù)據(jù)傳送到處理器的寄存器中的數(shù)據(jù)傳送到協(xié)處理器的寄存器中。如果協(xié)處理器不能成功的執(zhí)協(xié)處理器的寄存器中。如果協(xié)處理器不能成功的執(zhí)行該操作,將產(chǎn)生未定義的指令異常中斷。行該操作,將產(chǎn)生未定義的指令異常中斷。 n MCR p6,2,R0,CR1,CR2,4 ;指令將;指令將ARM寄存器寄存器R0中數(shù)據(jù)傳送到協(xié)處理器中數(shù)據(jù)傳送到協(xié)處理器p6的寄存器的寄存器中,其中中,其中R0是存放源操作數(shù)的是存放源操作數(shù)的ARM寄存器,寄存器,CR1和和CR2是作為目標寄存器的協(xié)處理器寄存器,操作是作為目標寄存器的協(xié)處理器寄存器,操作碼碼1為為2,操作碼,操作碼2為為444TM44n2協(xié)處理器寄存器到協(xié)處理
24、器寄存器到ARM寄存器的數(shù)據(jù)傳送指令寄存器的數(shù)據(jù)傳送指令MRCn MRC指令將協(xié)處理器的寄存器中的數(shù)據(jù)傳送到指令將協(xié)處理器的寄存器中的數(shù)據(jù)傳送到ARM處理器的寄存器中。如果協(xié)處理器不能成功的處理器的寄存器中。如果協(xié)處理器不能成功的執(zhí)行該操作,將產(chǎn)生未定義的指令異常中斷執(zhí)行該操作,將產(chǎn)生未定義的指令異常中斷 nMRC p10,3,R3,CR3,CR4,6 ; 指令將協(xié)指令將協(xié)處理器處理器p10寄存器中的數(shù)據(jù)傳送到寄存器中的數(shù)據(jù)傳送到ARM寄存器寄存器R3中中,其中,其中R3是存放目標操作數(shù)的是存放目標操作數(shù)的ARM寄存器,寄存器,CR3和和CR4是作為目標寄存器的協(xié)處理器寄存器,操作是作為目標寄
25、存器的協(xié)處理器寄存器,操作碼碼1為為3,操作碼,操作碼2為為6 45TM454.8 異常產(chǎn)生指令異常產(chǎn)生指令nARM處理器所支持的異常產(chǎn)生指令有兩條:處理器所支持的異常產(chǎn)生指令有兩條:n軟中斷指令軟中斷指令SWIn斷點調(diào)試指令斷點調(diào)試指令BKPT(用于(用于ARM V5及以上的及以上的版本)版本)46TM46軟中斷指令軟中斷指令 nSWI(SoftWare Interrupt)指令用于產(chǎn)生軟件指令用于產(chǎn)生軟件中斷,它將處理器置于監(jiān)控模式中斷,它將處理器置于監(jiān)控模式(SVC),從,從地址地址0 x08開始執(zhí)行指令。開始執(zhí)行指令。nARM通過這種機制實現(xiàn)用戶模式對操作系統(tǒng)通過這種機制實現(xiàn)用戶模式對操作系統(tǒng)中特權(quán)模式的程序調(diào)用,也就是使用戶程序中特權(quán)模式的程序調(diào)用,也就是使用戶程序調(diào)用操作系統(tǒng)的系統(tǒng)程序成為可能。調(diào)用操作系統(tǒng)的系統(tǒng)程序成為可能。 47TM47nSWI ,n操作系統(tǒng)在操作系統(tǒng)在SWI的異常處理程序中提供相應(yīng)的系統(tǒng)服務(wù),指的異常處理程序中提供相
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園文化建設(shè)與學校發(fā)展戰(zhàn)略
- 行為習慣與孩子未來家庭教育的長遠影響
- DB6103T 80-2025獼猴桃園覆土栽培香菇技術(shù)規(guī)范
- 不可撤銷物業(yè)服務(wù)合同范例
- 中保人壽幸福家園保險合同范本(A)
- 臨街旺鋪租賃合同樣本
- 二手車買賣合同(權(quán)威版)
- 業(yè)務(wù)拓展與培訓合作合同
- 上海市物流運輸合同范本
- 個人信用擔保貸款合同范文
- 電力安全工作規(guī)程(電網(wǎng)建設(shè)部分)2023年
- 呆死帳的發(fā)生與預(yù)防課件
- 10000中國普通人名大全
- 導數(shù)常見函數(shù)圖像
- 起重機械安裝吊裝危險源辨識、風險評價表
- 華北理工兒童口腔醫(yī)學教案06兒童咬合誘導
- 中國建筑項目管理表格
- 高一3班第一次月考總結(jié)班會課件
- 公共政策分析導論教學課件匯總完整版電子教案
- 我國油菜生產(chǎn)機械化技術(shù)(-119)
- 大跨度斜拉橋上部結(jié)構(gòu)施工技術(shù)(圖文并茂)
評論
0/150
提交評論