亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? arm 指令格式和時序.htm

?? ARM指令集
?? HTM
?? 第 1 頁 / 共 4 頁
字號:
FD	IA	DB
</PRE>S 為控制兩個特殊的功能,它們被匯編器指示為在指令的結束處放置“^”: 
<UL>
  <LI>如果設置了 S 位,并且指令是 LDM 而 R15 在寄存器列表中,則: 
  <UL>
    <LI>在 26-bit 特權模式下,裝載 R15 的所有 32 位。 
    <LI>在 26-bit 用戶模式下,裝載 R15 的 4 個標志位和 24 個 PC 位。忽略裝載值的位 27、26、1 和 0。 
    <LI>在 32-bit 模式下,裝載 R15 的所有 32 位,但要注意底端的兩位總是零,所以忽略裝載到它們的任何東西。除此之外,把當前模式的 
    SPSR 傳送到 CPSR;因為用戶模式沒有 SPSR,這種類型的指令不應該用在 32-bit 用戶模式下。 </LI></UL>
  <LI>如果設置了 S 位,并且要么指令是 STM 要么 R15 
  不在寄存器列表中,則傳送用戶模式的寄存器而不是當前模式的寄存器。在用戶模式下不應該使用這個指令。 </LI></UL>
<P>特殊情況發生在基址寄存器存在于要傳送的寄存器列表中的時候。 
<UL>
  <LI>基址寄存器總是可以被裝載而沒有任何問題。但是,如果基址寄存器被裝載則不能指定寫回 - 你不能同時把寫回值和裝載值二者寫到基址寄存器中! 
  <LI>如果不使用寫回則可以存儲基址寄存器而沒有任何問題。 
  <LI>如果在存儲包含基址寄存器的一個寄存器列表的時候使用了寫回,則只有在基址寄存器是列表的第一個的情況下,才在寫回之前寫基址寄存器的值到內存。其他情況,寫到內存中的值未被定義。 
  </LI></UL>
<P>進一步的特殊情況發生在程序計數器存在于要裝載和保存的寄存器列表中。 
<UL>
  <LI>(在 26 位模式下) PSR 總是與 PC 一起保存((在所有模式下) PC 總是超出當前執行的指令的地址 12 字節,而不是通常的 8 字節)。 

  <LI>在裝載時,只有在設置了 S 位的時候,才影響 PSR 的在當前模式下可改變的位。 </LI></UL>
<P>PC 不應該作為基址寄存器。 
<P>塊裝載使用 nS + 1N + 1I + (1S + 1N 如果改變了 PC )個周期,而塊存儲使用 (n-1)S + 2N 
個周期,這里的“n”是被傳送的字的數目。 
<P><A name=Software>
<H3>軟件中斷</H3></A><PRE>xxxx1111 yyyyyyyy yyyyyyyy yyyyyyyy
</PRE>
<P>典型的匯編語法: <PRE>       SWI   "OS_WriteI"
       SWINE &amp;400C0
</PRE>
<P>在遇到軟件中斷的時候,ARM 切換到 SVC 模式中,把 R15 的當前值保存到 R14_SVC 中,并跳轉到內存中的位置 8,它假定在這里可以找到一個 
SWI 處理例程來解碼剛才執行的 SWI 指令的低 24 位,并以特定于操作系統的方式做與 SWI 編號有關的事情。 
<P>在 ARM 上寫的操作系統典型的使用 SWI 來為編程者提供各種例程。 
<P>執行 SWI 指令使用 2S + 1N 個周期(加上解碼 SWI 編號和執行適當例程使用的時間)。 
<P><A name=CoproOp>
<H3>協處理器數據操作</H3></A><PRE>xxxx1110 oooonnnn ddddpppp qqq0mmmm
</PRE>
<P>典型的匯編語法: <PRE>       CDP p, o, CRd, CRn, CRm, q
       CDP p, o, CRd, CRn, CRm
</PRE>
<P>把這個指令傳遞給協處理器 p,告訴它在協處理器寄存器 CRn 和 CRm 上,進行操作 o,并把結果放置到 Crd 中。 
<P>可以使用 qqq 提供與操作有關的補充信息。 
<P>這些指令的準確意思依賴于使用的特定的協處理器;上面只是推薦的位的用法(實際上 FPA 就不遵守它)。 唯一強制的部分是 pppp 必須是協處理器編號: 
協處理器設計者自由的按需要分配 oooo、nnnn、dddd、qqq 和 mmmm。 
<P>如果協處理器以與推薦的不同的方式使用這些位,可能需要使用匯編器宏來對人有意義的指令語法轉換成正確的 CDP 指令。對最常使用的協處理器如 
FPA,許多匯編器有額外的內置助記符并自動做這個轉換。(例如,匯編 MUFEZ F0,F1,#10 成等價的 CDP 1,1,CR0,CR9,CR15,3。) 
<P>當前定義的協處理器編號包括: <! center BOXED ;                                               l l. ><PRE>1 和 2	浮點單元
15	Cache 控制器
</PRE>
<P>如果做了到協處理器的一個調用而協處理器未做響應(通常因為它不存在!),則調用未定義指令向量(完全同于后面描述的未定義指令)。這用于在沒有 FPA 
的機器上透明的提供 FP 支持。 
<P>執行這些指令使用 1S + bI 個周期,這里的 b 是協處理器在接受指令之前導致 ARM 忙等的周期數目: 這在協處理器控制之下。 
<P><A name=CoproTrans>
<H3>協處理器數據傳送和寄存器傳送</H3></A><PRE>xxxx110P UNWLnnnn DDDDpppp oooooooo LDC/STC
xxxx1110 oooLNNNN ddddpppp qqq1MMMM MRC/MCR
</PRE>
<P>它們還是依賴于使用的特定協處理器 p。 
<P>N 和 D 表示協處理器寄存器編號,n 和 d 是 ARM 處理器編號。o 是協處理器使用的操作。 M 表示協處理器自由的按需使用的位。 
<P>在第一種形式中,如果 L=1 則表示 LDC,否則是 STC。這些指令分別的表現得象 LDR 或 STR,在帶有立即數偏移量的各種情況下,有下列例外。 
<UL>
  <LI>偏移量是 4*(oooooooo),不是通常的 12-bit 常數。 
  <LI>如果指定了 P=0 (過后變址),則 W 必須是 1,而 W 是 1 只是指示要求寫回,而不是告訴內存系統 這是一個用戶模式傳送。為將來的擴充保留 
  P=0 和 W=0 的指令。 
  <LI>在裝載或存儲一個或更多協處理器寄存器時,協處理器從 DDDD 和 N 位確定要裝載或存儲多少和哪個寄存器: ARM 
  所做的就是傳送一個字到/從指示的地址,接著傳送另一個到/從指示的地址 + 4,接著傳送一個到/從指示的地址 + 8,以此類推,直到協處理器告訴它停止。 
  <LI>作為慣例,DDDD 表示要裝載或存儲的(第一個)協處理器寄存器,而 N 以某種方式表示長度,使用 N=1 
  指示一個“長”形式。協處理器設計者可以自由的忽略它... 
  <LI>下面是匯編語法: <PRE>LDC    p,CRd,[Rn,#20]   ;短形式 (N=0), 預先變址
STCL   p,CRd,[Rn,#-32]! ;長形式 (N=1), 帶寫回的預先變址
LDCNEL p,CRd,[Rn],#-100 ;長形式 (N=1), 過后變址
</PRE></LI></UL>
<P>在第二種形式中,如果 L=1 則表示 MRC, 否則是 MCR。MRC 傳送一個協處理器寄存器到一個 ARM 寄存器, MCR 
做反方向傳送(字母看起來象是寫反了,記住在 ARM 匯編器中目的通常寫在左邊)。 
<P>MCR 傳送 ARM 寄存器 Rd 的內容到協處理器。協處理器基于 ooo、dddd、qqq 和 MMMM 
字段的值自由的做它想做的任何事情,盡管有一個“標準的”解釋: 把它寫到協處理器寄存器 CRN,使用操作 ooo,用 CRM 和 qqq 
提供可能的補充控制。匯編語法是: <PRE>       MCR   p,o,Rd,CRN,CRM,q
</PRE>
<P>給 MCR 指令的 Rd 不應該是 R15。 
<P>MRC 從協處理器傳送一個單一的字并把它放置到 ARM 寄存器 Rd 中。協處理器使用與 MCR 
相同的字段自由的以任何方式生成這個字,有一個標準的解釋:它來自 CRN,使用操作 ooo,用 CRM 和 qqq 提供可能的補充控制。匯編語法是: <PRE>       MRC   p,o,Rd,CRN,CRM,q
</PRE>
<P>如果給 MRC 指令的 Rd 是 R15,使用傳送的字的頂端 4 位來設置標志;丟棄余下的 28 位。(例如,這種機制用于浮點比較指令。) 
<P>執行 LDC 和 STC 使用 (n-1)S + 2N + bI 個周期, MRC 使用 1S+bI+1C 個周期,而 MCR 使用 1S + 
(b+1)I + 1C 個周期,這里的 b 是協處理器在接受指令之前導致 ARM 忙等的周期數目: 這在協處理器控制之下,而 n 
是傳送的字的數目(注意這在協處理器而不是 ARM 的控制下) 
<P><A name=Swap>
<H3>單一數據交換(ARM 3 和以后,包括 ARM 2aS)</A> </H3><PRE>xxxx0001 0B00nnnn dddd0000 1001mmmm
</PRE>
<P>典型的匯編語法: <PRE>       SWP Rd, Rm, [Rn]
</PRE>
<P>這些指令裝載一個內存的一個字(用寄存器 Rn 給出地址)到一個寄存器 Rd 并存儲寄存器 Rm 到相同的地址。Rm 和 Rd 
可以是同一個寄存器,在這種情況下交換寄存器和內存位置的內容。裝載和存儲操作通過設置 LOCK 
引角(pin)為高電平來在操作期間鎖定在一起,這指示內存管理器它們應當被沒有中斷的完成。 
<P>如果設置了 B 位,則傳送一字節的內存,否則傳送一個字。 
<P>Rd、Rn、和 Rm 都不能是 R15。 
<P>執行這個指令使用 1S + 2N + 1I 個周期。 
<P><A name=Status>
<H3>狀態寄存器傳送(ARM 6 和以后)</A> </H3><PRE>xxxx0001 0s10aaaa 11110000 0000mmmm  MSR  寄存器形式
xxxx0011 0s10aaaa 1111rrrr bbbbbbbb  MSR  立即數形式
xxxx0001 0s001111 dddd0000 00000000  MRS
</PRE>
<P>典型的匯編語法: <PRE>       MSR   SPSR_all, Rm          ;aaaa = 1001
       MSR   CPSR_flg, #&amp;F0000000  ;aaaa = 1000
       MSRNE CPSR_ctl, Rm          ;aaaa = 0001
       MRS   Rd, CPSR
</PRE>
<P>設置 s 位時意味著訪問當前特權模式的 SPSR,而不是 CPSR。只能在特權模式下執行這個命令的時候設置此位。 
<P>使用 MSR 來傳送一個寄存器或常數到一個狀態寄存器。 
<P>aaaa 位接受下列值: <! center BOXED ;                                               l l. ><PRE>值	意思

0001	設置有關的 PSR 的控制位。
1000	設置有關的 PSR 的標志位。
1001	設置有關的 PSR 的控制位和標志位(就是說所有現存的位)。
</PRE>其他的值為將來的擴充而保留。 
<P>在寄存器形式中,源寄存器是 Rm。在立即數形式中,來源是 #b, ROR #2r。 
<P>R15 不應該被指定為 MRS 指令的源寄存器。 
<P>使用 MRS 來傳送處理器的狀態到一個寄存器。 
<P>dddd 位存儲目的寄存器的編號;Rd 一定不能是 R15。 
<P>N.B. 指令編碼對應于對應與操作碼(opcode)是 10xx 并清除了 S 位的數據處理指令(就是測試指令)。 
<P>執行這些指令總是使用 1S 個周期。 
<P><A name=Undefined>
<H3>未定義指令</H3></A><PRE>xxxx0001 yyyyyyyy yyyyyyyy 1yy1yyyy 專屬 ARM 2
xxxx011y yyyyyyyy yyyyyyyy yyy1yyyy
</PRE>
<P>這些指令目前未定義。在遇到未定義指令時,ARM 切換到 SVC 模式(在 ARM 3 和以后)或 Undef 模式(在 ARM 6 和以后),把 R15 
的舊有值放置到 R14_SVC (或 R14_UND)中并跳轉到一個位置,在那里它希望找到解碼這個未定義指令的代碼并相應的執行它。 
<P>注意: 
<UL>
  <LI>這些指令被文檔為“未定義的”,原因是這種方式下它們進入未定義指令處理器陷阱。許多其他指令是以更寬松的方式未被定義的,而不說出它們做什么。 
  例如,下面形式的位模式(pattern): <PRE>               xxxx0000 01xxxxxx xxxxxxxx 1001xxxx
</PRE>與數據處理的指令、乘法、長乘法和 SWP 指令有關,但卻不是其中一個的原因是: 
  <UL>
    <LI>數據處理指令的位 25 = 0 和位 4 = 1 時有寄存器控制的移位,所以必須位 7 = 0。 
    <LI>乘法指令的位 23:22 = 00。 
    <LI>長乘法指令的位 23:22 = 1U。 
    <LI>SWP指令的位 24 = 1。 
  </LI></UL>這些指令只是簡單的未定義做什么,但是上面列出的那些指令實際上<B>定義</B>為進入未定義指令陷阱,至少直到將來為它們找到某種用途。 
  <LI>注意“專屬 ARM2”的未定義指令包括了在 ARM3/ARM2as 和以后成為 SWP 的那些指令。 </LI></UL>
<P>  
<HR>
<A name=Credits>
<H2>Credits</H2></A>
<P>This document was originally written by Robin Watts, with considerable 
consultation with Steven Singer. It was then later updated by Mark Smith to 
include more information on ARMs later than 2. 
<P>David Seal provided a huge list of corrections and amendments, and 
unwittingly provided the basis for the timing information in a posting to 
usenet. 
<P>Various corrections were also submitted/posted by Olly Betts, Clive Jones, 
Alain Noullez, John Veness, Sverker Wiberg and Mark Wooding. 
<P>Thanks to everyone that helped (and if I have missed you here, please let me 
know.) 
<P><B>Just because I have included peoples addresses here, please do not take 
this as an invitation to mail them any questions you may have!</B> <PRE>Olly Betts	olly@mantis.co.uk
Paul Hankin	pdh13@cus.cam.ac.uk
Robert Harley	robert@edu.caltech.cs
Clive Jones	Clive.Jones@armltd.co.uk
Alain Noullez	anoullez@zig.inria.fr
David Seal	&lt;address withheld by request&gt;
Steven Singer	s.singer@ph.surrey.ac.uk
Mark Smith	ee91mds2@brunel.ac.uk
John Veness	john@uk.ac.ox.drl
Robin Watts	Robin.Watts@comlab.ox.ac.uk
Sverker Wiberg	sverkerw@Student.csd.UU.SE
Mark Wooding	csuov@csv.warwick.ac.uk
</PRE>
<P>For those not on the internet, messages can be sent by snail mail to: <PRE>Robin Watts
St Catherines College,
Oxford,
OX1 3UJ
</PRE></BODY></HTML>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91网上在线视频| 欧美一区二区女人| 蜜桃精品在线观看| 日本一区二区免费在线观看视频| 91精品福利视频| 国产精品一区二区视频| 日日欢夜夜爽一区| 一区二区三区四区激情| 国产精品私人自拍| 精品久久久三级丝袜| 69久久99精品久久久久婷婷| 91在线观看污| 成人高清免费观看| 国产精品影视在线| 精品一区二区三区蜜桃| 天天免费综合色| 亚洲午夜在线视频| 亚洲视频一区二区免费在线观看| 国产清纯白嫩初高生在线观看91 | 国产精品12区| 韩国精品免费视频| 蜜臀精品一区二区三区在线观看| 亚洲最大的成人av| 亚洲人精品一区| 国产精品高清亚洲| 国产精品久久久一区麻豆最新章节| 亚洲精品一区二区三区四区高清 | 国产精品影视网| 狠狠色综合色综合网络| 免费一级片91| 日韩激情一区二区| 日本不卡123| 日本中文一区二区三区| 日韩二区三区四区| 日本成人在线视频网站| 男人的j进女人的j一区| 美女国产一区二区| 国产在线播放一区| 国产99精品国产| 欧美日韩一区二区在线观看视频| 欧美图区在线视频| 欧美理论电影在线| 日韩欧美高清在线| 精品欧美一区二区在线观看| 久久久99精品免费观看| 国产女人水真多18毛片18精品视频 | 亚洲精品精品亚洲| 亚洲激情在线激情| 五月激情综合婷婷| 久久99蜜桃精品| 国产 日韩 欧美大片| av中文字幕不卡| 在线视频你懂得一区| 欧美视频在线一区二区三区| 欧美日韩成人一区二区| 精品乱人伦一区二区三区| 久久久影院官网| 国产精品乱码一区二三区小蝌蚪| 亚洲美女视频一区| 日韩中文字幕一区二区三区| 激情综合色综合久久综合| 国产sm精品调教视频网站| 91社区在线播放| 69堂国产成人免费视频| 久久精品夜夜夜夜久久| 亚洲免费观看高清完整版在线 | 老司机一区二区| 国产经典欧美精品| 欧洲在线/亚洲| 日韩欧美成人激情| 国产精品国产三级国产aⅴ原创| 亚洲宅男天堂在线观看无病毒| 秋霞av亚洲一区二区三| 懂色av中文字幕一区二区三区 | 久久精品亚洲麻豆av一区二区| 亚洲视频图片小说| 久久99久久精品| 91麻豆精东视频| 日韩天堂在线观看| 亚洲人成人一区二区在线观看| 奇米777欧美一区二区| av亚洲精华国产精华精华 | 欧美一级生活片| 中文字幕国产一区| 日本亚洲三级在线| 色综合久久久久综合体桃花网| 日韩精品一区二区在线观看| 国产精品久久久久久久浪潮网站 | 国产在线精品一区二区夜色| 成人毛片视频在线观看| 欧美男男青年gay1069videost | 欧美裸体bbwbbwbbw| 中文字幕av一区二区三区| 视频在线观看一区二区三区| 大美女一区二区三区| 日韩欧美国产三级电影视频| 亚洲一区在线视频观看| www.亚洲免费av| 欧美精品一区二区三区在线| 午夜视频在线观看一区二区三区| 国产成人福利片| 日韩女优电影在线观看| 亚洲一级二级在线| 91性感美女视频| 欧美韩国日本综合| 国产一区二区在线电影| 91精品福利在线一区二区三区 | 午夜av一区二区三区| 91在线云播放| 久久婷婷国产综合国色天香| 五月婷婷欧美视频| 在线亚洲一区二区| 国产精品久久久久久久岛一牛影视| 激情偷乱视频一区二区三区| 欧美一区二区黄色| 五月天丁香久久| 欧美日韩国产小视频在线观看| 国产精品国产三级国产有无不卡| 国产91在线观看丝袜| 久久久.com| 精品一区二区三区在线观看国产 | 麻豆一区二区三区| 91麻豆精品国产91久久久久久久久 | 精品视频一区二区不卡| 亚洲精选免费视频| 日本韩国精品在线| 亚洲乱码一区二区三区在线观看| www.日韩av| 亚洲特黄一级片| 91小视频免费看| 亚洲精品视频在线观看网站| 97久久精品人人做人人爽50路 | 亚洲国产日韩在线一区模特| 色综合天天综合狠狠| 综合久久给合久久狠狠狠97色 | 久久精品视频在线看| 国产老肥熟一区二区三区| 久久视频一区二区| 国产美女娇喘av呻吟久久| 久久久久久久久久美女| 国产酒店精品激情| 国产精品传媒视频| 色婷婷香蕉在线一区二区| 亚洲国产中文字幕| 555夜色666亚洲国产免| 美日韩一区二区| 久久久蜜桃精品| 成人美女在线视频| 亚洲日本一区二区三区| 欧美体内she精高潮| 天使萌一区二区三区免费观看| 欧美一级xxx| 激情五月婷婷综合| 一区在线播放视频| 欧美电影在线免费观看| 国产一区视频导航| 亚洲欧美成人一区二区三区| 欧美图片一区二区三区| 麻豆精品视频在线| 国产精品久久久久一区| 欧美性色aⅴ视频一区日韩精品| www.66久久| 亚洲一区在线视频观看| 日韩欧美一级精品久久| 国产黄色成人av| 一区二区欧美国产| 日韩免费观看高清完整版| www.日本不卡| 日韩精品1区2区3区| 国产女主播一区| 欧美日韩一区高清| 国产成人免费av在线| 亚洲国产欧美在线人成| 久久久亚洲综合| 欧美日韩亚洲另类| 国产成人自拍在线| 日韩主播视频在线| 亚洲四区在线观看| 日韩欧美国产一区二区在线播放| 成人av电影在线| 免费看欧美美女黄的网站| 日韩美女视频一区二区| 日韩一区二区三区高清免费看看| thepron国产精品| 蜜臀久久99精品久久久久久9| 亚洲视频一区二区免费在线观看| 欧美大片拔萝卜| 91久久奴性调教| 国产99久久久国产精品潘金网站| 五月天激情综合| 亚洲美女在线一区| 欧美国产日本视频| 精品免费一区二区三区| 欧美网站大全在线观看| 99热99精品| 国产馆精品极品| 久久不见久久见免费视频7| 午夜精品福利视频网站| 亚洲女人小视频在线观看| 久久久久国产免费免费|