日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ARM指令集

發布時間:2023/12/20 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ARM指令集 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ARM指令的基本格式

?? ?ARM指令的基本格式為:
?? ?<Opcode> {<Cond>} {S} <Rd>, <Rn> { , <Opcode2> }
?? ?
?? ?其中,<>內的項是必需的,{}內的項是可選的。
?? ?
?? ?1)Opcode項
?? ?Opcode是指令助記符,即操作碼,說明指令需要執行的操作,在指令中是必需的。
?? ?
?? ?2)Cond項(command)
?? ?Cond項表明了指令的執行的條件,每一條ARM指令都可以在規定的條件下執行,每條ARM指令包含4位的條件碼,位于指令的最高4位[31:28]。
?? ?條件碼共有16種,每種條件碼用2個字符表示,這兩個字符可以添加至指令助記符的后面,與指令同時使用。
?? ?當指令的執行條件滿足時,指令才被執行,否則指令被忽略。如果在指令后不寫條件碼,則使用默認條件AL(無條件執行)。
?? ?
?? ??? ??? ??? ??? ??? ?指令的條件碼
?? ?
?? ?條 件 碼?? ??? ??? ?助記符后綴?? ??? ??? ?標??? 志?? ??? ??? ??? ?含??? 義
?? ?0000?? ??? ??? ?EQ?? ??? ??? ??? ??? ?Z置位?? ??? ??? ??? ?相等equal
?? ?0001?? ??? ??? ?NE?? ??? ??? ??? ??? ?Z清零?? ??? ??? ??? ?不相等not equal
?? ?0010?? ??? ??? ?CS?? ??? ??? ??? ??? ?C置位?? ??? ??? ??? ?無符號數大于或等于Carry Set
?? ?0011?? ??? ??? ?CC?? ??? ??? ??? ??? ?C清零?? ??? ??? ??? ?無符號數小于
?? ?0100?? ??? ??? ?MI?? ??? ??? ??? ??? ?N置位?? ??? ??? ??? ?負數minus
?? ?0101?? ??? ??? ?PL?? ??? ??? ??? ??? ?N清零?? ??? ??? ??? ?正數或零plus
?? ?0110?? ??? ??? ?VS?? ??? ??? ??? ??? ?V置位?? ??? ??? ??? ?溢出
?? ?0111?? ??? ??? ?VC?? ??? ??? ??? ??? ?V清零?? ??? ??? ??? ?沒有溢出
?? ?1000?? ??? ??? ?HI?? ??? ??? ??? ??? ?C置位Z清零?? ??? ??? 無符號數大于high
?? ?1001?? ??? ??? ?LS?? ??? ??? ??? ??? ?Z置位C清零?? ??? ??? 無符號數小于或等于less
?? ?1010?? ??? ??? ?GE?? ??? ??? ??? ??? ?N等于V?? ??? ??? ??? 帶符號數大于或等于
?? ?1011?? ??? ??? ?LT?? ??? ??? ??? ??? ?N不等于V?? ??? ??? ? 帶符號數小于least
?? ?1100?? ??? ??? ?GT?? ??? ??? ??? ??? ?Z清零且(N等于V)?? ?帶符號數大于great
?? ?1101?? ??? ??? ?LE?? ??? ??? ??? ??? ?Z清零或(N不等于V)? 帶符號數小于或等于
?? ?1110?? ??? ??? ?AL?? ??? ??? ??? ??? ?忽略?? ??? ??? ??? ? 無條件執行all
?? ?1111
?? ?
?? ?
?? ?
?? ?條件碼應用舉例:
?? ?例:比較兩個值大小,并進行相應加1處理,C語言代碼為:
?? ?if? ( a > b )? a++;
?? ?else? b++;
?? ?
?? ?對應的ARM指令如下(其中R0中保存a 的值,R1中保存b的值):
?? ?CMP? R0, R1? ; R0與R1比較,做R0-R1的操作
?? ?ADDHI? R0, R0, #1? ;若R0 > R1, 則R0 = R0 + 1
?? ?ADDLS? R1, R1, #1? ; 若R0 <= R1, 則R1 = R1 + 1
?? ?
?? ?CMP比較指令,用于把一個寄存器的內容和另一個寄存器的內容或一個立即數進行比較,同時更新CPSR中條件標志位的值。指令將第一操作數減去第二操作數,但不存儲結果,只更改條件標志位。
?? ?CMP? R1, R0? ;做R1-R0的操作。
?? ?CMP? R1,#10? ;做R1-10的操作。
?? ?
?? ?3)S項(sign)
?? ?S項是條件碼設置項,它決定本次指令執行的結果是否影響至CPSR寄存器的相應狀態位的值。該項是可選的,使用時影響CPSR,否則不影響CPSR。
?? ?
?? ?4)Rd項(destination)
?? ?Rd是指令中的目標寄存器,它是必需的。根據指令的不同,有些指令中要求Rd必須有R0~R7之間,有些要求Rd必須在R0~R14之間,有些則沒有特殊要求。
?? ?
?? ?5)Rn項
?? ?Rn是第一個操作數的寄存器,和Rd一樣,不同的指令對其的使用有不同的要求。
?? ?
?? ?6)Opcode2項
?? ?Opcode2項是第二個操作數,在ARM指令中,該操作數有三種形式:立即數形式、寄存器Rm形式和寄存器加移位形式(Rm, shift)。
?? ?
?? ?SUB? R3,? R1,? #10
?? ?SUB? R3,? R1,? R2
?? ?SUB? R3,? R1,? R2,? LSL? #2
?? ?SUB? R3,? R1,? R2,? LSL? R0


ARM指令詳解

ARM指令集可分為以下6類:
1.跳轉指令
2.數據處理指令
3.程序狀態寄存器(PSR)處理指令
4.加載/存儲指令
5.協處理器指令
6.異常產生指令

一、跳轉指令
?? ?用于實現程序流程的跳轉,在ARM程序中有兩種方法可以實現程序流程的跳轉:
?? ?1)、是使用專門的跳轉指令,
?? ?2)、是直接向程序計數器PC寫入跳轉地址值。
?? ?
?? ?第二種方法可以實現在4GB的地址空間中的任意跳轉,
?? ?在跳轉之前結合使用 MOV LR , PC 等類似指令,可以保存將來的返回地址值,
?? ?從而實現在4GB連續的線性地址空間的子程序調用。
?? ?
?? ?ARM指令集中的跳轉指令可以完成從當前指令向前或向后的32MB的地址空間的跳轉,包括以下4條指令:
?? ?B 跳轉指令
?? ?BL 帶返回的跳轉指令
?? ?BX 帶狀態切換的跳轉指令
?? ?BLX 帶返回和狀態切換的跳轉指令
?? ?
?? ?
?? ?B 指令的格式為:
?? ?B{條件} 目標地址
?? ?
?? ?B指令是最簡單的跳轉指令。一旦遇到一個B 指令,ARM 處理器將立即跳轉到給定的目標地址,從那里繼續執行。
?? ?B Label程序無條件跳轉到標號Label處執行
?? ?CMP R1, #0
?? ?BEQ Label
?? ?當CPSR寄存器中的Z條件碼置位時,程序跳轉到標號Label處執行。
?? ?
?? ?
?? ?BL指令的格式為:
?? ?BL{條件} 目標地址
?? ?
?? ?BL 是另一個跳轉指令,但跳轉之前,會在寄存器R14中保存PC當前值,因此,可以通過將R14 的內容重新加載到PC中,
?? ?來返回到跳轉指令之后的那個指令處執行。該指令是實現子程序調用的一個基本但常用的手段。
?? ?BL Label 當程序無條件跳轉到標號Label處執行時,同時將當前的PC值保存到R14中
?? ?
?? ?
?? ?BX指令的格式為:
?? ?BX{條件} 目標地址
?? ?
?? ?BX指令跳轉到指令中所指定的目標地址,目標地址處的指令既可以是ARM指令,也可以是Thumb指令。
?? ?BX指令中所指定的目標地址,只能使用寄存器的尋址方式,即跳轉的目標地址應先保存在一個寄存器中。
?? ?指令在實現跳轉的同時,完成處理器的工作狀態的切換(ARM狀態與Thumb狀態間的切換)。
?? ?BX指令中,用寄存器的最低位來指示切換到哪一個工作狀態。
?? ?如寄存器最低位為1,則把目標地址處的代碼解釋為Thumb代碼,進入Thumb工作狀態,并自動將CPSR中的控制位T置1。
?? ?若寄存器最低位為0,則把目標地址處的代碼解釋為ARM代碼,進入ARM工作狀態,并自動將CPSR中的控制位T置0。
?? ?
?? ?
?? ?BLX指令的格式為:
?? ?BLX 目標地址
?? ?
?? ?BLX指令 從ARM指令集跳轉到指令中所指定的目標地址,并將處理器的工作狀態有ARM狀態切換到Thumb狀態,該指令同時將PC的當前內容保存到寄存器R14中。
?? ?因此,當子程序使用Thumb指令集,而調用者使用ARM指令集時,可以通過BLX指令實現子程序的調用和處理器工作狀態的切換。
?? ?同時,子程序的返回可以通過將寄存器R14值復制到PC中來完成。
?? ?
?? ?ADRL? R0,? ThumbFun + 1???? ;生成分支地址并置最低位為 1
?? ?
?? ?BX? R0? ??? ??? ??? ??? ??? ?;跳轉到R0所指定的地址,并切換處理器到Thumb工作狀態
?? ?
?? ?...
?? ?
?? ?ThumbFun ?
?? ?
?? ?...???? ??? ??? ??? ??? ??? ?;Thumb匯編指令
?? ?
?? ?
?? ?
二、數據處理指令

?? ?數據處理指令可分為數據傳送指令、算術邏輯運算指令、比較指令等。
?? ?數據傳送指令用于在寄存器和存儲器之間進行數據的雙向傳輸。
?? ?算術邏輯運算指令完成常用的算術與邏輯的運算,該類指令不但將運算結果保存在目的寄存器中,同時更新CPSR中的相應條件標志位。
?? ?
?? ?1)數據傳送指令(MOV、MVN)
?? ?
?? ?MOV指令的格式為:
?? ?MOV{條件}{S} 目的寄存器,源操作數
?? ?
?? ?MOV指令完成從另一個寄存器、被移位的寄存器或將一個立即數加載到目的寄存器。
?? ?其中S選項決定指令的操作是否影響CPSR中條件標志位的值,當沒有S時指令不更新CPSR中條件標志位的值。
?? ?指令示例:
?? ?MOV R1, R0 ?? ??? ??? ?;將寄存器R0的值傳送到寄存器R1
?? ?MOV PC, R14?? ??? ??? ?;將寄存器R14的值傳送到PC,常用于子程序返回
?? ?MOV R1, R0, LSL#3 ?? ?;將寄存器R0的值左移3位后傳送到R1
?? ?
?? ?
?? ?MVN指令的格式為:
?? ?MVN{條件}{S} 目的寄存器,源操作數
?? ?
?? ?MVN指令可完成從另一個寄存器、被移位的寄存器、或將一個立即數加載到目的寄存器。
?? ?與MOV指令不同之處是在傳送之前按位被取反了,即把一個被取反的值傳送到目的寄存器中。
?? ?其中S決定指令的操作是否影響CPSR中條件標志位的值,當沒有S時指令不更新CPSR中條件標志位的值。
?? ?MVN R0,#0xff ;R0 <--- 0xffffff00
?? ?MVN? R1, R2
   MOV? PC, R14?? ?;將寄存器R14的值傳送給PC,用于子程序返回。

?? ?2)數據比較指令(CMP、CMN、TST、TEQ)
?? ?
?? ?CMP{條件} 操作數1,操作數2
?? ?
?? ?CMP指令用于把一個寄存器的內容和另一個寄存器的內容或立即數進行比較,同時更新CPSR中條件標志位的值。
?? ?該指令進行一次減法運算,但不存儲結果,只更改條件標志位。
?? ?標志位表示的是操作數1與操作數2的關系(大、小、相等),例如,當操作數1大于操作操作數2,則此后的有GT 后綴的指令將可以執行。
?? ?
?? ?指令示例:
?? ?CMP R1,?? ?R0? ;將寄存器R1的值與寄存器R0的值相減,并根據結果設置CPSR的標志位
?? ?CMP R1,#100 ;將寄存器R1的值與立即數100相減,并根據結果設置CPSR的標志位
?? ?
?? ?CMN{條件} 操作數1,操作數2
?? ?
?? ?CMN 指令用于把一個寄存器的內容和另一個寄存器的內容或立即數取反后進行比較操作,根據運算結果影響CPSR中的標志位。
?? ?該指令實際完成操作數1和操作數2相加,并根據結果更改條件標志位。
?? ?
?? ?
?? ?TST{條件} 操作數1,操作數2
?? ?
?? ?TST指令用于把一個寄存器的內容和另一個寄存器的內容或立即數進行按位的與運算,并根據運算結果更新CPSR中條件標志位的值。
?? ?操作數1是要測試的數據,而操作數2是一個位掩碼,根據測試結果設置相應標志位。
?? ?當位與結果為0時,EQ位被設置。該指令一般用來檢測是否設置了特定的位。
?? ?TST指令通常和EQ、NE條件碼配合使用,當所有測試位為0時,EQ有效,而只要有一個測試位不為0,則NE有效。
?? ?
?? ?指令示例:
?? ?TST R1, #%1 ;用于測試在寄存器R1中是否設置了最低位(%表示二進制數)。
?? ?TST R0, #0X0000 0040 ;指令用來測試R0的位3是否為1。
?? ?
?? ?TEQ{條件} 操作數1,操作數2
?? ?
?? ?TEQ相等測試指令,用于把一個寄存器的內容和另一個寄存器的內容或立即數進行按位的異或運算,并根據運算結果更新CPSR中的條件標志位。
?? ?指令用于比較兩個操作數是否相等。如果相等,則 Z = 1,否則Z = 0。
?? ?指令通常和EQ、NE條件碼配合使用
?? ?
?? ?
?? ?3)算術運算類指令(ADD、ADC、SUB、SBC、RSB、RSC)
?? ?
?? ?算術運算類指令 {條件} {S} 目的寄存器,操作數1,操作數2
?? ?目的寄存器,操作數1和操作數2使用的寄存器必須在R0~R7之間。
?? ?操作數1應該是一個寄存器,操作數2可以是一個寄存器、被移位的寄存器或一個立即數。
?? ?
?? ?ADD指令完成的功能是將操作數1加上操作數2,結果送到目的寄存器。
?? ?ADC指令完成的功能是將操作數1加上操作數2,再加上標志位C的值,結果送到目的寄存器。
?? ?SUB指令完成的功能是將操作數1減去操作數2,結果送到目的寄存器。
?? ?SBC指令完成的功能是將操作數1減去操作數2,再減去標志位C的取反值,結果送到目的寄存器。
?? ?RSB逆向減法指令完成的功能是將操作數2減去操作數1,結果送到目的寄存器。
?? ?RSC帶借位的逆向減法指令完成的功能是將操作數2減去操作數1,再減去標志位C的取反值,結果送到目的寄存器。
?? ?
?? ?
?? ?ADD{條件}{S} 目的寄存器,操作數1,操作數2
?? ?
?? ?ADD指令用于把兩個操作數相加,并將結果存放到目的寄存器中。
?? ?操作數1應是一個寄存器,操作數2可以是一個寄存器,被移位的寄存器,或一個立即數。
?? ?指令示例:
?? ?ADD R0, R1, R2 ?? ??? ??? ?;R0 = R1 + R2
?? ?ADD R0, R1, #256 ?? ??? ?;R0 = R1 + 256
?? ?ADD R0, R2, R3, LSL#1?? ?;R0 = R2 + (R3 << 1)
?? ?
?? ?SUB{條件}{S} 目的寄存器,操作數1,操作數2
?? ?
?? ?SUB指令用于把操作數1減去操作數2,并將結果存放到目的寄存器中。
?? ?操作數1應是一個寄存器,操作數2可以是一個寄存器,被移位的寄存器,或一個立即數。
?? ?SUB R0, R1, R2 ?? ??? ??? ?;R0 = R1 - R2
?? ?SUB R0, R1,?? ?#256 ?? ??? ?;R0 = R1 - 256
?? ?SUB R0, R2,?? ?R3,?? ?LSL#1 ?? ?;R0 = R2 - (R3 << 1)
?? ?
?? ?ADDS? R1, R1, #10? ??? ??? ?;結果影響標志位
??? ADD?? R1, R1, R2? ??? ??? ? ;結果不影響標志位
??? ADD?? R3, R1, R2, LSL #2? ? ; R3 = R1 + ( R2 << 2 )

?? ?SUB? R0, R1, #256 ??? ??? ? ;R0 = R1 - 256 , 結果不影響標志位
?? ?SUBS? R0, R2, R3, LSL #1 ?? ;R0 = R2 - ( R3 <<1 ),結果影響標志位
?? ?SUB? SP, #380? ??? ??? ??? ?;SP = SP - 380
?? ?SBC? R0, R1, R2 ?? ??? ??? ?;R0 = R1 - R2 - !C
?? ?RSC? R0, R1, R2 ?? ??? ??? ?;R0 = R2 - R1 - !C
?? ?
?? ?4)邏輯運算類指令(AND、ORR、EOR、BIC)
?? ?
?? ?AND{條件}{S} 目的寄存器,操作數1,操作數2
?? ?
?? ?AND指令用于在兩個操作數上進行邏輯與運算,并把結果放置到目的寄存器中。
?? ?操作數1應是一個寄存器,操作數2可以是一個寄存器,被移位的寄存器,或一個立即數。
?? ?該指令常用于屏蔽操作數1的某些位。
?? ?S選項,說明運算結果影響CPSR的條件標志位,沒有S選項,則不影響CPSR的條件標志位。
?? ?AND R0, R0, #3 ?? ?;該指令保持R0的0、1位,其余位清零。
?? ?
?? ?
?? ?ORR{條件}{S} 目的寄存器,操作數1,操作數2
?? ?
?? ?ORR指令用于在兩個操作數上進行邏輯或運算,并把結果放置到目的寄存器中。
?? ?操作數1應是一個寄存器,操作數2可以是一個寄存器,被移位的寄存器,或一個立即數。
?? ?該指令常用于設置操作數1的某些位。
?? ?ORR R0, R0, #3? ;該指令設置R0的0、1位,其余位保持不變。
?? ?
?? ?
?? ?EOR{條件}{S} 目的寄存器,操作數1,操作數2
?? ?
?? ?EOR(異或)指令常用于將操作數1的某個位取反。與0相異或,保持不變,與1相異或,則取反。
?? ?
?? ?
?? ?BIC{cond}{S} Rd, Rn, operand2
?? ?
?? ?BIC指令用于清除Rn 中的某些位,并把結果存放在Rd中,操作數operand2 為32位的掩碼,如果掩碼中設置了某一位為1,則清除這一位。未設置的掩碼位保持不變。
?? ?BIC R0, R0, #%1011 ;將R0的0,1,3位清零,其余位不變。
?? ?
?? ?5)乘法指令與乘加指令
?? ?
?? ?ARM微處理器支持的乘法指令與乘加指令共有6條,可分為運算結果為32位和結果為64位兩類,與前面的數據處理指令不同,
?? ?指令中的所有操作數、目的寄存器必須為通用寄存器,不能對操作數使用立即數或被移位的寄存器,
?? ?同時,目的寄存器和操作數1必須是不同的寄存器。
?? ?
?? ?MUL{條件}{S} 目的寄存器,操作數1,操作數2
?? ?
?? ?目的寄存器 = 操作數1 × 操作數2,同時可以根據運算結果設置CPSR中相應的條件標志位N和Z。
?? ?MUL指令完成將操作數1與操作數2的乘法運算,并把結果放置到目的寄存器中,同時可以根據運算結果設置CPSR中相應的條件標志位。
?? ?其中,操作數1和操作數2均為32位的有符號數或無符號數。
?? ?
?? ?MUL R0, R1, R2 ?? ?;R0 = R1 × R2
?? ?MULS R0, R1, R2 ;R0 = R1 × R2,同時設置CPSR中的相關條件標志位
?? ?

?? ?MLA {條件} {S} 目的寄存器,操作數1, 操作數2, 操作數3
?? ?
?? ?目的寄存器 = 操作數1 × 操作數2 + 操作數3,同時可以根據運算結果設置CPSR中相應的條件標志位N和Z。
?? ?操作數1和操作數2均為32位的有符號數或無符號數。
?? ?
?? ?
?? ?SMULL指令(S:Signed, 有符號)
?? ?SMULL {條件} {S} 目的寄存器Low,目的寄存器High,操作數1, 操作數2
?? ?
?? ?目的寄存器Low = (操作數1 × 操作數2 )的低32位,
?? ?目的寄存器High = (操作數1 × 操作數2 )的高32位,同時可以根據運算結果設置CPSR中相應的條件標志位。
?? ?操作數1和操作數2均為32位的有符號數。
?? ?
?? ?SMULL? R0, R1, R2, R3?? ?;R0 = (R2 ×R3)的低32位, R1 = (R2 ×R3)的高32位。
?? ?
?? ?
?? ?
?? ?SMLAL指令(S:Signed, 有符號)
?? ?SMLAL {條件} {S} 目的寄存器Low,目的寄存器High,操作數1, 操作數2
?? ?
?? ?目的寄存器Low = (操作數1 × 操作數2 )的低32位 + 目的寄存器Low,
?? ?目的寄存器High = (操作數1 × 操作數2 )的高32位 + 目的寄存器High,同時可以根據運算結果設置CPSR中相應的條件標志位。
?? ?操作數1和操作數2均為32位的有符號數。
?? ?
?? ?SMLAL? R0, R1, R2, R3?? ?;R0 = (R2 ×R3)的低32位 + R0,
?? ??? ??? ??? ??? ??? ??? ?;R1 = (R2 ×R3)的高32位 + R1。
?? ?
?? ?
?? ?UMULL指令(U:UnSigned, 無符號)
?? ?UMULL {條件} {S} 目的寄存器Low,目的寄存器High,操作數1, 操作數2
?? ?
?? ?目的寄存器Low = (操作數1 × 操作數2 )的低32位,
?? ?目的寄存器High = (操作數1 × 操作數2 )的高32位,同時可以根據運算結果設置CPSR中相應的條件標志位。
?? ?操作數1和操作數2均為32位的無符號數。
?? ?
?? ?UMULL? R0, R1, R2, R3?? ?;R0 = (R2 ×R3)的低32位, R1 = (R2 ×R3)的高32位。
?? ?
?? ?
?? ?
?? ?UMLAL指令(U:UnSigned, 無符號)
?? ?UMLAL {條件} {S} 目的寄存器Low,目的寄存器High,操作數1, 操作數2
?? ?
?? ?目的寄存器Low = (操作數1 × 操作數2 )的低32位 + 目的寄存器Low,
?? ?目的寄存器High = (操作數1 × 操作數2 )的高32位 + 目的寄存器High,同時可以根據運算結果設置CPSR中相應的條件標志位。
?? ?操作數1和操作數2均為32位的無符號數。
?? ?
?? ?UMLAL? R0, R1, R2, R3
?? ?;R0 = (R2 ×R3)的低32位 + R0,
?? ?;R1 = (R2 ×R3)的高32位 + R1。
?? ?
?? ?
三、程序狀態寄存器訪問指令

?? ?ARM微處理器支持程序狀態寄存器訪問指令,用于在程序狀態寄存器和通用寄存器之間傳送數據。
?? ?
?? ?MRS {條件}? 通用寄存器, 程序狀態寄存器(CPSR、SPSR)
?? ?
?? ?將狀態寄存器的內容傳送到通用寄存器。
?? ?使用環境:
?? ?1)當需要改變程序狀態寄存器的內容時,可用MRS將狀態寄存器的內容讀入到通用寄存器,修改后再寫回到程序狀態寄存器。
?? ?2)當在異常處理或進程切換時,需要保存程序狀態寄存器的值,可先用該指令讀出程序狀態寄存器的值,然后保存。
?? ?
?? ?
?? ?MSR {條件}? 程序狀態寄存器(CPSR、SPSR)_<域>,操作數
?? ?
?? ?將操作數的內容傳送到程序狀態寄存器的特定域中。其中,操作數可以為通用寄存器或立即數。
?? ?<域>用于設置程序狀態寄存器中需要操作的位,32位的程序狀態寄存器分為4個域:
?? ?
?? ?f域:位31~位24為條件標志位域;
?? ?s域:位23~位16為狀態位域;
?? ?x域:位15~位8為擴展位域;
?? ?c域:位7~位0為控制位域;
?? ?
?? ?該指令通常用于恢復或改變程序狀態寄存器的內容,在使用時,一般要在MSR指令中指明將要操作的域。
?? ?
?? ?使用環境:
?? ?1)當需要改變程序狀態寄存器的內容時,可用MRS將狀態寄存器的內容讀入到通用寄存器,修改后再寫回到程序狀態寄存器。
?? ?2)當在異常處理或進程切換時,需要保存程序狀態寄存器的值,可先用該指令讀出程序狀態寄存器的值,然后保存。
?? ?
?? ?MSR? CPSR, R0 ?? ??? ??? ?;CPSR←R0
?? ?MSR? SPSR_c, R0 ??? ??? ?;傳送R0到SPSR,但僅修改SPSR中的控制位域
?? ?MSR? CPSR_c, #0XD3 ?? ?; CPSR[7..0] = 0XD3 , 即切換到管理模式
?? ?MSR? CPSR_cxsf, R3 ??? ?; CPSR ← R3
?? ?
?? ?注意:只有在特權模式下,才能修改狀態寄存器。
?? ?程序中不能通過MSR指令直接修改CPSR中的T控制位來實現ARM/Thumb狀態的切換,必須使用BX指令來完成處理器狀態的切換。
?? ?MRS與MSR配合使用,可以實現CPSR或SPSR寄存器的讀/修改/寫操作,進行處理器模式 切換,進行允許/禁止IRQ/FIQ中斷等的設置。
?? ?
?? ?例:使能IRQ中斷
?? ?MRS? R0, CPSR
?? ?BIC? R0, R0, #0X80
?? ?MSR? CPSR_c, R0
?? ?MOV? PC, LR
?? ?
?? ?例:禁止IRQ中斷
?? ?MRS? R0, CPSR
?? ?ORR? R0, R0, #0X80
?? ?MSR? CPSR_c, R0
?? ?MOV? PC,? LR
?? ?
四、存儲器加載/存儲指令

?? ?用于在寄存器和存儲器之間傳送數據,加載指令用于將存儲器中的數據傳送到寄存器,存儲指令則將寄存器中的數據傳送到存儲器。
?? ?存儲器加載/存儲指令分為單個存儲器加載/存儲指令和多個存儲器加載/存儲指令。

?? ?1)單個存儲器加載/存儲指令
?? ?
?? ?LDR字數據加載指令;
?? ?LDRH(Half)半字數據加載指令;
?? ?LDRB字節數據加載指令;
?? ?STR字數據存儲指令;
?? ?STRH半字數據存儲指令;
?? ?STRB字節數據存儲指令。


?? ?? 加載指令

?? ?加載指令 {條件} 目的寄存器, <存儲器地址>
?? ?
?? ?LDR? R0, [R1]? ??? ??? ??? ?;將地址為R1的字數據讀入R0。
?? ?LDR? R0, [R1, R2] ??? ??? ??? ?;將地址為R1+R2的字數據讀入R0。
?? ?LDR? R0, [R1, #4]?? ??? ??? ?;將地址為R1+4的字數據讀入R0。
?? ?LDR? R0, [R1, R2]!?? ??? ??? ?;將地址為R1+R2的字數據讀入R0,并將新地址R1+R2寫入R1。
?? ?LDR? R0, [R1, R2, LSL #2 ]!?? ?;將地址為R1 + R2 × 4的字數據讀入R0,并將新地址R1 + R2 × 4寫入R1。


?? ?LDRH指令用于從存儲器中將一個16位的半字數據傳送到目的寄存器中,同時將寄存器的高16位清零。
?? ?LDRH? R0, [R1]?? ;將地址為R1的半字數據讀入R0,并將R0的高16位清零。
?? ?LDRB指令用于從存儲器中將一個8位的字節數據傳送到目的寄存器中,同時將寄存器的高24位清零。
?? ?LDRB? R0, [R1]?? ;將地址為R1的字節數據讀入R0,并將R0的高24位清零。
?? ?注意:當是字操作時,操作數的地址必須是字對齊的,如果是半字操作,操作數的地址必須是半字對齊。否則,讀出的數據是無效,隨機的。
?? ?
?? ?LDR? R0, [R1, # 2]
?? ?LDRH? R0, [R1, # 1]
?? ?
?? ?
?? ?存儲指令
?? ?
?? ?存儲指令 {條件} 源寄存器, <存儲器地址>
?? ?
?? ?STR? R0, [R1], #8? ;將R0中的字數據寫入以R1為地址的存儲器中,并將新地址R1+8寫入R1。
?? ?STR? R0, [R1 , #8] ;將R0中的字數據寫入以R1+8為地址的存儲器中。
?? ?
?? ?
?? ?STRH指令用于從源寄存器中將一個16位的半字數據傳送到存儲器中。該半字數據為源寄存器中的低16位。
?? ?STRH? R0, [R1, #8]? ;將寄存器R0中的低16位寫入以R1 + 8為地址的存儲器中。
?? ?
?? ?
?? ?STRB指令用于從源寄存器中將一個8位的字節數據傳送到存儲器中。該字節數據為源寄存器中的低8位。
?? ?注意:當是字操作時,操作的地址必須是字對齊的,如果是半字操作,操作的地址必須是半字對齊。否則,讀出的數據是無效,隨機的。
?? ?
?? ?
?? ?2)批量數據加載/存儲指令
?? ?可以一次在一片連續的存儲器單元和多個寄存器之間傳送數據,批量加載指令用于將一片連續的存儲器中的數據傳送到多個寄存器,批量數據存儲指令完成相反的操作。

?? ?LDM(或STM)指令(Load Data To Multiple Register)
?? ?LDM(或STM) {條件} {類型} 基址寄存器{!}? ,寄存器列表{^}
?? ?
?? ?{類型}為以下幾種情況:
?? ?
?? ??? ??? ?類 型?? ??? ??? ??? ?含???? 義
?? ??? ??? ?IA?? ??? ??? ??? ?每次操作后,地址加4
?? ??? ??? ?IB?? ??? ??? ??? ?每次操作前,地址加4
?? ??? ??? ?DA?? ??? ??? ??? ?每次操作后,地址減4
?? ??? ??? ?DB?? ??? ??? ??? ?每次操作前,地址減4
?? ??? ??? ?FD?? ??? ??? ??? ?滿遞減堆棧
?? ??? ??? ?ED?? ??? ??? ??? ?空遞減堆棧
?? ??? ??? ?FA?? ??? ??? ??? ?滿遞增堆棧
?? ??? ??? ?EA?? ??? ??? ??? ?空遞增堆棧
?? ?
?? ?{!}為可選后綴,若選用,則當數據傳送完畢之后,將最后的地址寫入基址寄存器,否則基址寄存器的內容不改變。
?? ?基址寄存器不允許為R15,寄存器列表可以為R0 ~ R15的任意組合。
?? ?{^}為可選后綴,當指令為LDM且寄存器列表中包含有R15,選用該后綴表示:除了正常的數據傳送之外,還將SPSR復制到CPSR。同時,該后綴還表示傳入或付傳出的是用戶模式下的寄存器,而不是當前模式下的寄存器。
?? ?
?? ?例:
?? ?STMFD? SP!, {R0 - R7 , LR}?? ;現場保存,將R0 - R7 , LR入棧,滿遞減堆棧。
?? ?LDMFD? SP!, {R0 - R7 , PC}^? ;恢復現場,異常處理返回,滿遞減堆棧
?? ?在進行數據復制時,先設置好源數據指針,然后使用塊拷貝尋址指令進行讀取和存儲。而在堆棧操作中,則要先設置堆棧指針SP,然后使用堆棧尋址指令實現堆棧操作。


五、數據交換指令
?? ?
?? ?支持在存儲器和寄存器之間交換數據。
?? ?
?? ?SWP ((Swap)字數據交換指令;
?? ?SWPB? 字節數據交換指令。
?? ?
?? ?交換指令? {條件} 目的寄存器, 源寄存器1, [源寄存器2]
?? ?
?? ?SWP? R0, R1, [R2] ?? ?;將R2所指的存儲器中的字數據傳送到R0,同時將R1中的字數據傳送到R2所指的存儲器單元。
?? ?顯然,當源寄存器1與目的寄存器是同一個寄存器時,就完成了寄存器與存儲器間的交換操作。
?? ?SWPB指令用于將源寄存器2所指向的存儲器中的字節數據到目的寄存器中,目的寄存器的高24位清零,同時將源寄存器1中的低8位數據(低位字節)傳送到源寄存器2所指向的存儲器中。
?? ?
?? ?
六、異常產生指令
?? ?
?? ?異常指令有兩條:SWI軟件中斷指令和BKPT斷點中斷指令。
?? ?
?? ?SWI? {條件}? 24位的立即數
?? ?
?? ?產生軟件中斷,方便用戶程序調用操作系統的系統例程。
?? ?切換運行模式到管理模式,設置PC來執行在地址0X08處的下一條指令,設置相應的R13_svc和R14_svc。該指令的操作與執行BL 0X08這條指令的效果是相同的。不同的地方在于,SWI還帶有指明系統例程的類型的“24位的立即數”。在具體應用中,為便于記憶,可以使用字符串代替“24位的立即數”,例如:SWI? “OS_Write0”和 SWI? 0X02是一樣的。當指令中24位的立即數被忽略時,系統例程的類型由通用寄存器R0的內容決定。傳送給系統例程的參數通過通用寄存器來傳遞。
?? ?
?? ?
?? ?BKPT? 16位的立即數
?? ?
?? ?用于產生軟件斷點中斷,執行時中斷正常指令,進入相應的調試子程序。
?? ?
?? ?
七、協處理器指令
?? ?
?? ?ARM處理器可支持多達16個協處理器,每個協處理器只執行針對其自身的協處理指令。
?? ?ARM的協處理器指令主要用于ARM處理器初始化、協處理器的數據處理操作、在ARM處理器與協處理器的寄存器之間傳送數據、在協處理器和存儲器之間傳送數據。
?? ?ARM協處理器指令有以下5條:
?? ?
?? ?1)CDP協處理器數據操作指令;
?? ?2)LDC協處理器數據加載指令;
?? ?3)STC協處理器數據存儲指令;
?? ?4)MCR? ARM處理器寄存器到協處理器寄存器的數據傳送指令;
?? ?5)MRC? 協處理器寄存器到ARM處理器寄存器的數據傳送指令。
?? ?
?? ?1)CDP指令
?? ?
?? ?CDP {條件}協處理器編碼,協處理器操作碼1,目的寄存器,源寄存器1,源寄存器2,協處理器操作碼2
?? ?用于ARM處理器通知協處理器執行特定的操作,若協處理器不能執行指定的操作,則產生未定義指令異常。
?? ?注意:指令中涉及到的寄存器都是協處理器的寄存器,不涉及ARM處理器的寄存器和存儲器。操作碼1、操作碼2是協處理器要執行的操作。
?? ?
?? ?CDP? p5, 1, c3, c4, c5, 2
?? ?;指示協處理器P5,執行操作1,可選操作為2;C3, C4, C5是相應的協處理器寄存器。
?? ?
?? ?2)LDC指令
?? ?
?? ?LDC {條件}{L}協處理器編碼,目的寄存器,[源寄存器]
?? ?
?? ?用于將源寄存器所指向的存儲器中的字數據傳送到目的寄存器中。若協處理器不能成功執行,則產生未定義指令異常。選項{L}表示指令為長讀取操作,可用于雙精度數據的傳輸。
?? ?注意:指令中涉及到的源寄存器是ARM處理器的寄存器。
?? ?
?? ?LDC? P3, C4, [R2, #4]
?? ?
?? ?3) STC指令
?? ?
?? ?STC {條件}{L}協處理器編碼,源寄存器,[目的寄存器]
?? ?
?? ?用于將源寄存器中的字數據傳送到目的寄存器所指向的存儲器中。若協處理器不能成功執行,則產生未定義指令異常。選項{L}表示指令為長讀取操作,可用于雙精度數據的傳輸。
?? ?
?? ?注意:指令中涉及到的目的寄存器是ARM處理器的寄存器。
?? ?
?? ?STC? P3, C4, [R0]
?? ?
?? ?;將協處理器P3的寄存器C4中的數據傳送到ARM處理器的寄存器R0所指向的存儲器.
?? ?
?? ?4)MCR指令
?? ?
?? ?MCR {條件} 協處理器編碼,協處理器操作碼1,源寄存器,目的寄存器1,目的寄存器2,協處理器操作碼2
?? ?MCR指令用于將ARM處理器寄存器中的數據傳送到協處理器的寄存器中。若協處理器不能完成這個操作,將引發未定義指令異常。源寄存器為ARM處理器的寄存器。
?? ?
?? ?5)MRC指令
?? ?
?? ?MRC {條件}協處理器編碼,協處理器操作碼1,目的寄存器,源寄存器1,源寄存器2,協處理器操作碼2
?? ?MRC指令用于將協處理器寄存器中的數送到ARM處理器的寄存器中。若協處理器不能完成這個操作,將引發未定義指令異常。源寄存器為ARM處理器的寄存器。
?? ?
?? ?MRC? P3 , 3 , R0 , C4 , C5 , 6
?? ?;將協處理器P3的寄存器C4與C5中的數據傳送到ARM的寄存器中,并執行編號為3和6的操作。
?? ?
?? ?
?? ?
?? ?Thumb指令集合
?? ?
?? ?Thumb指令集是ARM指令集的一個子集,允許指令編碼為16位的長度,Thumb指令集在保留32位代碼優勢的同時,大大節省了系統的存儲空間。
?? ?當處理器在執行ARM程序段時,稱ARM處理器處于ARM工作狀態,當處理器在執行Thumb程序段時,稱ARM處理器處于Thumb工作狀態。
?? ?在編寫Thumb指令時,先要用偽指令CODE16聲明以下為Thumb指令代碼,在ARM指令代碼中可以使用BX指令跳轉到Thumb指令代碼片。同樣編寫ARM代碼時,則使用偽指令CODE32進行聲明,在Thumb指令代碼中使用BX指令可以跳轉到ARM指令代碼處。
?? ?大多數Thumb指令是無條件執行的,而幾乎所有的ARM指令都是有條件執行的。由于Thumb數據處理指令中的目的寄存器與其中的一個源寄存器相同,Thumb指令在指令編碼時由三個操作數改為兩個操作數。
?? ?通常實現同樣的程序功能時,所需的Thumb指令的條數比ARM指令多。但使用Thumb指令集合的代碼有以下特點:
?? ?
?? ?1)比ARM代碼更節略存儲空間。
?? ?2)使用的指令條數比ARM代碼多。
?? ?3)若使用32位的存儲器,ARM代碼比Thumb代碼快約40%。
?? ?4)若使用16位的存儲器,Thumb代碼比ARM代碼快約40%~50%。
?? ?5)與ARM代碼相比較,使用Thumb代碼,存儲器的功耗會降低約30%。

總結

以上是生活随笔為你收集整理的ARM指令集的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

亚洲一区在线看 | 999久久国产精品免费观看网站 | 狠狠的操狠狠的干 | 国产成人亚洲在线电影 | 免费看久久久 | 免费午夜av | 国产精品成人一区二区 | 波多野结衣精品视频 | 成人小视频在线观看免费 | av高清影院 | 国产一区二区三区午夜 | 久久久久 | 久久av中文字幕片 | 国产精品99免费看 | 日韩在线视频一区二区三区 | 亚洲精品黄色在线观看 | 久草在线视频免费资源观看 | 日本一区二区三区视频在线播放 | 欧美精品三级在线观看 | 天天做日日做天天爽视频免费 | 日韩午夜三级 | 中文字幕日韩免费视频 | av大片网站| 亚洲天天看 | 粉嫩av一区二区三区四区在线观看 | 日韩影视大全 | 99热高清 | 国产小视频你懂的在线 | 欧美一级视频免费看 | 日本黄色免费电影网站 | 91精品国产自产在线观看永久 | 最新av免费在线观看 | 国产精品大尺度 | 偷拍精偷拍精品欧洲亚洲网站 | 久久精品视频免费播放 | 国产一级在线观看 | 97精产国品一二三产区在线 | 激情综合网婷婷 | 国产成人精品一区二区三区在线 | 黄色网www | 又黄又爽又湿又无遮挡的在线视频 | 日韩午夜在线播放 | 成人高清av在线 | 亚洲精品乱码白浆高清久久久久久 | 色综合色综合久久综合频道88 | 日韩久久精品 | 九草视频在线观看 | 欧亚日韩精品一区二区在线 | 久久成年人网站 | 高清视频一区二区三区 | 欧美日韩一区二区视频在线观看 | 中文字幕在线精品 | 成人 国产 在线 | 久久亚洲免费视频 | 久久久wwww| 日日夜夜天天综合 | 91在线国产观看 | 日韩色视频在线观看 | 亚洲精品女人 | 久久久久久久久久福利 | 国内外成人免费在线视频 | 久久午夜电影 | 久久视频网 | 免费一级特黄毛大片 | 日韩免费观看高清 | 99久国产| 午夜电影久久久 | 日韩一二区在线 | 高清不卡毛片 | 久久av网 | 国产精品岛国久久久久久久久红粉 | 国产拍揄自揄精品视频麻豆 | 欧美一区二区三区免费看 | 韩国av免费在线 | 午夜的福利| 国产一级淫片在线观看 | 亚洲夜夜综合 | 亚洲电影第一页av | 国产精品久久久久久一二三四五 | 成人网看片 | 五月婷婷综合色拍 | 91精品久久香蕉国产线看观看 | 国产精品美女久久久久久久久 | 国产视频午夜 | 九色91在线| av在线看片| 国产黄免费 | 美女网站在线 | 99色免费视频 | 99国产精品视频免费观看一公开 | 久久免费国产 | 一级一级一片免费 | 91成人精品一区在线播放69 | 久久精品99精品国产香蕉 | 97自拍超碰 | 99中文字幕在线观看 | 日韩艹 | 午夜精品久久久久99热app | 国内精品久久久久久中文字幕 | 国产精品一区二区 91 | 久久国产精品电影 | 激情视频二区 | 黄p网站在线观看 | 韩国av一区二区三区在线观看 | 99高清视频有精品视频 | 波多野结衣一区三区 | 久久精彩免费视频 | 天天综合五月天 | 91欧美日韩国产 | 日韩高清av| 在线中文字幕电影 | 久久婷婷久久 | 激情视频亚洲 | 中文字幕久久精品亚洲乱码 | 美女久久 | 国产经典av| 国产视频二区三区 | av在线播放免费 | 日韩视频免费在线 | 色五月色开心色婷婷色丁香 | 男女拍拍免费视频 | 国产一级在线看 | www.夜色.com| 在线有码中文 | 日本中文字幕影院 | 91丨九色丨国产丨porny精品 | 国产精品一区二区久久精品爱微奶 | 国产最顶级的黄色片在线免费观看 | 亚洲综合激情小说 | 国产精品成人一区二区三区 | 国内三级在线 | 国产免费观看久久 | 久久精品视频在线 | 韩国av电影在线观看 | 一级欧美一级日韩 | 日本久久久精品视频 | 丝袜精品视频 | 日韩女同一区二区三区在线观看 | 91九色国产视频 | 四虎国产精品免费观看视频优播 | 久久国产精品二国产精品中国洋人 | 99久久精品日本一区二区免费 | 亚欧洲精品视频在线观看 | 手机看片99 | 久久久国产精品成人免费 | 亚洲一级电影 | 国产视频不卡 | 粉嫩av一区二区三区四区五区 | 婷婷婷国产在线视频 | 99久久99热这里只有精品 | 在线国产视频一区 | 国内综合精品午夜久久资源 | 久久免费视频精品 | 特级西西444www大胆高清无视频 | 国产欧美综合视频 | 97超碰资源 | 中文字字幕在线 | 一区在线播放 | 国产一区视频在线播放 | 日韩免费在线视频观看 | 亚洲高清久久久 | 中文字幕av全部资源www中文字幕在线观看 | 黄在线免费观看 | 色91在线视频 | 久久五月天色综合 | 狠狠久久婷婷 | 亚洲黄色在线免费观看 | 精品免费久久 | 久久网址| 丁香视频全集免费观看 | 国产成人综合精品 | 日日摸日日添日日躁av | 毛片永久免费 | 51精品国自产在线 | 精品在线观看一区二区 | 午夜精品av在线 | 欧美嫩草影院 | 亚洲成年片 | 国产成人精品久 | 久久成人亚洲欧美电影 | 久久久久亚洲精品 | 日本资源中文字幕在线 | 在线视频你懂得 | 国产91综合一区在线观看 | 成人一级电影在线观看 | 国产精品99久久久 | 一区二区三区国产欧美 | 午夜精品一区二区三区可下载 | 亚洲午夜精品久久久久久久久 | 天天曰| 久久人人插 | 在线成人小视频 | 日日碰夜夜爽 | 久久成熟 | 中文字幕在线观看视频一区 | 在线观看av免费观看 | 成人免费在线网 | 六月激情| 天天天综合 | 日本成人免费在线观看 | 有没有在线观看av | 黄色成人av | 日韩精品中文字幕在线播放 | 日韩中文字幕国产精品 | 亚洲伊人网在线观看 | 日日婷婷夜日日天干 | 婷婷国产精品 | 国产精品免费久久久久影院仙踪林 | 亚洲激情六月 | 最近在线中文字幕 | 国精产品999国精产品岳 | 亚洲女人天堂成人av在线 | 黄色网址在线播放 | 国产视频欧美视频 | 国产亚洲人成网站在线观看 | 五月天伊人网 | 欧美性爽爽 | 香蕉网址 | 日韩av电影手机在线观看 | 久久伊人婷婷 | 夜夜躁日日躁狠狠久久av | 国产日韩欧美精品在线观看 | 国产色在线,com | 99这里只有精品99 | 国产精品美女久久久久久久 | 色婷婷导航 | 欧美日韩一区二区三区视频 | 狠狠狠狠狠干 | 免费观看午夜视频 | 免费观看丰满少妇做爰 | 激情 亚洲 | 日韩专区在线观看 | 香蕉影院在线观看 | 免费毛片aaaaaa | 久久五月天色综合 | 亚洲蜜桃在线 | 色狠狠操 | 成人午夜毛片 | 午夜久久久久久久 | 国产一级黄色片免费看 | 99麻豆久久久国产精品免费 | 亚洲成人av片在线观看 | 免费视频久久久久 | 亚洲不卡在线 | 毛片视频网址 | 天天操月月操 | 国产日本三级 | 亚洲1区在线 | 亚洲国产视频a | 亚洲男男gaygayxxxgv | 在线视频 国产 日韩 | 成人福利在线 | 日日夜夜精品免费观看 | 黄色一级在线观看 | 最新极品jizzhd欧美 | 亚洲视频免费在线 | 成片免费观看视频999 | 国产亚洲精品电影 | 五月天婷婷在线观看视频 | 国产二区精品 | 亚洲经典视频在线观看 | 久久久午夜精品理论片中文字幕 | 国产精品黄 | 一区二区三区四区五区在线 | 成人精品一区二区三区中文字幕 | 伊人天天色 | 亚洲人成免费 | 三级毛片视频 | 国产精品亚洲成人 | 欧美综合色在线图区 | 国产超碰在线 | 国产精品va最新国产精品视频 | 国产精品久久久久久超碰 | 免费观看黄色12片一级视频 | 激情av网| 欧美国产大片 | 99热 精品在线 | 久久国产精品一国产精品 | 国产91精品看黄网站 | 最近中文字幕在线 | 国产高清免费视频 | 最近2019中文免费高清视频观看www99 | 在线免费黄色 | 欧美疯狂性受xxxxx另类 | 91成人在线看 | 日日操狠狠干 | 在线视频91| 91成人区| 可以免费观看的av片 | 国产在线免费 | 欧美成人基地 | 久久人人干 | 亚洲国产美女精品久久久久∴ | 在线影院 国内精品 | 欧美日韩高清在线 | 精品福利网站 | 久久99久久99精品免视看婷婷 | 91人人网 | www.久久com| 国产精品久久久久久久久婷婷 | 激情电影影院 | 91亚洲精品国偷拍自产在线观看 | 久久久久久久久久毛片 | 国产一级二级三级在线观看 | 国产成人a v电影 | 久久久网站 | 免费看91的网站 | 日韩高清不卡一区二区三区 | 免费热情视频 | 国产精品自在欧美一区 | 97人人模人人爽人人喊中文字 | 国产日韩亚洲 | 亚洲在线视频观看 | 狠狠躁夜夜av | 丁香六月激情 | 国产美女被啪进深处喷白浆视频 | 中文字幕日本特黄aa毛片 | 天天操天天干天天摸 | 国产麻豆传媒 | 香蕉在线播放 | 五月天综合婷婷 | 久草在线视频中文 | 亚洲视频一区二区三区在线观看 | 国产精品一区在线观看 | 天天操狠狠干 | 久久夜av | 欧美一区日韩一区 | 久久国产影视 | 在线视频观看91 | 天天操天天操天天操天天操天天操天天操 | 国产精品久久电影观看 | 日韩特黄av | 国产小视频在线观看免费 | 99操视频 | 日韩电影精品 | 黄a网| 午夜久久美女 | 香蕉网址 | 精品黄色片 | 国产精品一区二区在线免费观看 | 午夜少妇 | 99热在线这里只有精品 | 欧美日韩精品久久久 | 亚洲精品一区二区在线观看 | 久久a热6 | 久久久久激情视频 | 青青河边草免费直播 | 伊人色播| av大全在线免费观看 | 中文字幕婷婷 | 日批网站在线观看 | 亚洲国产精品激情在线观看 | 婷婷激情五月综合 | 综合网成人 | 午夜18视频在线观看 | 精品v亚洲v欧美v高清v | 最近更新好看的中文字幕 | 日韩特级毛片 | www.色综合.com | 国产91在线播放 | 日韩综合一区二区 | 亚洲激情 欧美激情 | 69国产盗摄一区二区三区五区 | 国产成人久久精品一区二区三区 | 国产 日韩 欧美 中文 在线播放 | 深夜精品福利 | 天天天天天干 | 欧美在线视频一区二区三区 | 色婷婷亚洲精品 | 久久久久久久久久久福利 | 精品一二 | 国产日韩欧美视频 | 中文字幕在线网址 | 国产视频中文字幕 | 国产在线观看你懂得 | 欧美精品久久久久久久久久久 | 麻豆精品视频在线 | 日日夜夜草 | 国产三级精品三级在线观看 | 国产xvideos免费视频播放 | 亚洲国产最新 | a天堂一码二码专区 | 成人黄色大片网站 | 激情网色| 久久久精品在线观看 | 99在线视频网站 | 国产在线高清视频 | 久久久久久毛片精品免费不卡 | 中文字幕在线观看免费高清完整版 | 欧美伦理一区二区三区 | 91精品视频免费观看 | 99精品视频在线播放观看 | 日日干天夜夜 | 麻豆视频免费在线观看 | 国产一级一片免费播放放 | 人人插人人 | 久久久午夜精品福利内容 | 国产精品白丝jk白祙 | 98精品国产自产在线观看 | 精品一二 | 91麻豆精品国产91久久久无需广告 | 最新免费av在线 | 亚洲精品视频中文字幕 | 香蕉91视频| 97超碰香蕉| 亚洲精品免费在线观看 | 日韩在线视频在线观看 | 天天干夜夜爱 | 韩日视频在线 | 久久免费高清视频 | 九九免费精品 | 国产精品99久久99久久久二8 | 免费中文字幕在线观看 | 亚洲精品国产精品国 | 成人av网站在线 | 人人揉人人揉人人揉人人揉97 | 99精品国产一区二区三区麻豆 | 亚洲免费视频观看 | 欧美成a人片在线观看久 | 免费情缘| 久久久午夜精品福利内容 | 久久久久国产精品免费免费搜索 | 婷婷 综合 色 | 夜夜躁日日躁狠狠躁 | 91传媒视频在线观看 | 日韩在线观看视频中文字幕 | 99久久99视频只有精品 | 免费黄色在线网址 | 精品久久久久久久久中文字幕 | 久久久久久久久久国产精品 | 久久久亚洲网站 | 激情伊人五月天 | 亚洲成年人av | 天天操天天射天天 | 国产亚洲aⅴaaaaaa毛片 | 欧美成人黄 | 美女视频黄频大全免费 | 亚洲天天摸日日摸天天欢 | 五月婷婷六月丁香在线观看 | 国产 精品 资源 | 在线免费观看亚洲视频 | 亚洲精品99久久久久中文字幕 | 亚洲精品1234区 | 国产日本亚洲高清 | 在线观看日韩视频 | 日韩v欧美v日本v亚洲v国产v | 天天舔天天射天天操 | 免费在线观看av网站 | 国产在线 一区二区三区 | 欧美另类tv | 综合网欧美 | 99福利片| 久久99热精品这里久久精品 | 亚欧洲精品视频在线观看 | 69av网| 日韩高清在线观看 | av黄色在线观看 | 91色欧美| 中文字幕成人网 | 亚洲黄色在线观看 | 久久蜜臀av | 免费成人在线视频网站 | 欧美孕妇视频 | www日韩欧美 | www亚洲国产 | 国产成人精品三级 | 91亚洲精品在线 | 免费看在线看www777 | 蜜臀久久99精品久久久久久网站 | 国产精品福利久久久 | 香蕉视频久久久 | 黄色免费av | 中文字幕 影院 | 国产在线a免费观看 | 日本成址在线观看 | 欧美成a人片在线观看久 | www.国产视频 | av中文字幕日韩 | 免费成人在线观看视频 | 国产精品日韩久久久久 | 久久激五月天综合精品 | 久久久精品 一区二区三区 国产99视频在线观看 | 午夜av一区 | 国产玖玖精品视频 | 欧美黑吊大战白妞欧美 | 国内久久久久久 | 免费观看完整版无人区 | av视屏在线播放 | 一区二区伦理 | 亚洲激情p | 国产午夜精品一区二区三区四区 | 中文字幕乱码视频 | 国产麻豆果冻传媒在线观看 | 亚洲免费公开视频 | 在线va网站 | 伊人中文字幕在线 | 亚在线播放中文视频 | 国产成人一区二区在线观看 | 91大神在线观看视频 | 开心激情五月网 | 欧美性超爽| 成人h视频在线播放 | 欧美日韩免费在线观看视频 | 99久久精品日本一区二区免费 | 国产精品久久久久三级 | av免费在线观看网站 | 国产三级在线播放 | 国产日韩欧美精品在线观看 | 久久久香蕉视频 | 九九电影在线 | 欧美a√大片 | 麻豆精品视频在线观看免费 | 亚洲高清网站 | 久久tv| 免费在线观看污网站 | 欧美日韩国产在线一区 | www五月天 | 四虎伊人| 久久九精品 | 欧美福利网址 | 四虎永久免费 | 日韩一级电影在线 | 在线观看网站你懂的 | 午夜久久电影网 | 久草视频视频在线播放 | 97天天综合网| 亚洲综合色丁香婷婷六月图片 | 综合中文字幕 | 一区二区理论片 | 日本公妇在线观看高清 | av片中文 | 狠狠色丁香婷婷综合久久片 | 91久久国产综合精品女同国语 | 在线观看网站av | 四虎国产精品免费 | 最新av在线免费观看 | 高清免费在线视频 | 成 人 黄 色视频免费播放 | 欧美在线资源 | 日韩av视屏 | 国产精品 美女 | 欧美在线视频一区二区三区 | 国产精品一区在线 | 亚洲国产视频网站 | 99色视频在线 | 欧美在线free | 中文字幕在线一二 | 亚洲精品视频网站在线观看 | 51精品国自产在线 | 久久国产精品系列 | 九九热在线观看 | 精品国产伦一区二区三区 | 少妇高潮流白浆在线观看 | 国产精品麻豆91 | 高清色免费 | 中文字幕在线观看网站 | 啪啪肉肉污av国网站 | 777久久久| 久久男人中文字幕资源站 | a级片韩国 | 欧美极品xxx | 在线观看精品一区 | 天天艹天天干天天 | 黄a网| 在线观看av黄色 | 4438全国亚洲精品观看视频 | 国产精品久久人 | 久久精品一级片 | 久久国内视频 | 成人国产精品入口 | 欧美一级网站 | 久久精品视频国产 | 这里只有精品视频在线观看 | 国产成人精品久久久 | 久久首页 | av福利在线免费观看 | 欧美黄色特级片 | 美女精品在线观看 | 人人爱人人舔 | 亚洲精品美女 | 欧美日韩中文在线观看 | 中文字幕在线久一本久 | 天堂麻豆| 91最新视频在线观看 | 日韩爱爱网站 | 六月激情婷婷 | 一二三区视频在线 | 国产成人精品一区二区三区在线观看 | 色综合天天综合网国产成人网 | 黄色成年| 97色资源 | 天天天天天天干 | 九九爱免费视频在线观看 | 久艹视频免费观看 | 伊人国产在线观看 | 一区二区三区高清 | 欧美国产亚洲精品久久久8v | 91成品视频 | 婷婷激情在线 | 日韩欧美xx | 蜜臀av性久久久久蜜臀aⅴ流畅 | 91精品欧美一区二区三区 | 欧美性生活一级片 | 91成人久久| 91成人在线免费观看 | 亚洲丝袜一区二区 | 在线免费高清一区二区三区 | 国产精品丝袜久久久久久久不卡 | 在线视频日韩精品 | 在线免费观看的av网站 | 亚洲三级黄色 | 五月天亚洲综合 | 色丁香久久 | 久久婷婷网 | 丝袜美腿亚洲综合 | 国产r级在线观看 | 日韩在线观看视频在线 | 爱爱av在线 | 久在线观看视频 | 成人av电影在线播放 | 69绿帽绿奴3pvideos | 黄色激情网址 | 欧美一级电影免费观看 | 国产精品高 | 911av视频 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 久久免费99精品久久久久久 | 成人av在线资源 | 在线不卡的av| 国产在线综合视频 | 日韩一区二区在线免费观看 | 国产精品毛片一区二区在线 | 免费观看成年人视频 | 91免费视频网站在线观看 | 4hu视频| 国产精彩在线视频 | 日韩av综合网站 | 国产免费又爽又刺激在线观看 | 欧美日韩免费观看一区=区三区 | 日韩一级成人av | 免费成人在线观看 | 中文字幕一区二区三区乱码不卡 | 视频一区在线免费观看 | 免费日韩 精品中文字幕视频在线 | 亚洲乱码精品久久久久 | 久久精品国产免费看久久精品 | www最近高清中文国语在线观看 | 日韩精品专区在线影院重磅 | 国产黄a三级三级三级三级三级 | 久久久久看片 | 久久天天草| 日本午夜在线亚洲.国产 | 久久国产精品一区二区三区四区 | 三三级黄色片之日韩 | 美女免费网站 | 久久久久 | 日韩中文字幕视频在线 | 久久久久久久免费看 | 欧美一级日韩三级 | av直接看 | 日日综合 | 伊人伊成久久人综合网站 | 成人动态视频 | 免费高清av在线看 | 国产色久| 亚洲国产美女精品久久久久∴ | 欧美日韩裸体免费视频 | 99精品电影 | 天天爽夜夜爽精品视频婷婷 | 九九精品视频在线观看 | 91在线文字幕 | 欧美一进一出抽搐大尺度视频 | 91少妇精拍在线播放 | 久久精品国产精品 | 96久久欧美麻豆网站 | 久久视频在线免费观看 | 亚洲va欧美 | 国产精品一区在线 | 亚洲一区视频免费观看 | 久久欧美综合 | 99精品视频网站 | 国产免费视频在线 | 亚洲影视九九影院在线观看 | 色就色,综合激情 | www.久久99| 午夜精品福利一区二区三区蜜桃 | 青草视频网 | 国产一区国产二区在线观看 | 欧美美女视频在线观看 | 97天天综合网 | 毛片网在线| 日韩av中文字幕在线免费观看 | 黄网av在线| 免费av成人在线 | 免费av大片 | 青春草免费在线视频 | 99国产一区二区三精品乱码 | 91手机视频 | 天天操天天干天天玩 | 午夜精品一区二区三区免费 | 国产在线更新 | 国产视频精品视频 | 麻豆精品视频在线观看免费 | 精品视频一区在线观看 | 亚洲午夜久久久久久久久久久 | 夜夜操综合网 | 色婷婷国产精品 | 99久高清在线观看视频99精品热在线观看视频 | 成人免费亚洲 | 国内精品久久天天躁人人爽 | 国产视频资源在线观看 | 中文免费 | 成片视频在线观看 | 国产999精品久久久久久麻豆 | 怡红院成人在线 | 国产视频亚洲 | 天天摸天天舔天天操 | 日韩中文字幕91 | 久久公开视频 | 日韩电影黄色 | 超碰97人人爱| 九九在线播放 | 四虎影视8848dvd | 国产又粗又猛又黄又爽的视频 | 在线免费观看黄网站 | 久久久亚洲成人 | 国产精品国产三级国产aⅴ9色 | 国产高清第一页 | 国产美女久久久 | 在线观看免费日韩 | 国产成人精品久久亚洲高清不卡 | 久久艹在线 | 欧美精品亚洲精品日韩精品 | 米奇四色影视 | 欧美午夜精品久久久久久浪潮 | aaa日本高清在线播放免费观看 | 国产97av| 97精品久久| 久久精品看 | 五月婷久久 | 亚洲精品小视频 | 在线免费观看成人 | 亚洲 综合 专区 | 国产1区2区 | 久久久久综合视频 | 91精品区| 成人一级免费电影 | 国产精品久久网 | 黄色小网站在线 | 爱干视频| 天天操网站 | 久久成人综合 | 亚洲日日日 | 在线视频亚洲 | 在线免费观看视频a | 射射射av | 爱色av.com | 久久草在线免费 | 亚洲视频精品在线 | 日本在线观看中文字幕 | 亚洲亚洲精品在线观看 | 亚洲日韩欧美视频 | 国产成人精品亚洲日本在线观看 | 国产美女免费观看 | 特级a老妇做爰全过程 | 国内精品中文字幕 | 成人黄色小视频 | 免费黄色av电影 | 国产麻豆精品传媒av国产下载 | 在线免费高清一区二区三区 | 丝袜制服综合网 | 黄色精品免费 | 毛片在线播放网址 | 日韩欧美成 | 久久影视精品 | 日本久久精品视频 | 超碰在线资源 | 国产成人av电影在线观看 | 在线观看91久久久久久 | 天天操天天射天天 | 日日躁夜夜躁aaaaxxxx | 国产伦精品一区二区三区四区视频 | 怡红院av久久久久久久 | aa一级片| 亚洲成人精品久久久 | 激情网五月天 | 香蕉视频4aa | 伊人网综合在线观看 | www.黄色网.com | 国产91成人| 国产一区二区三区四区在线 | 91精选| 久久国产精品一二三区 | 丁香六月在线观看 | 欧美另类高清 | 97人人模人人爽人人喊中文字 | 久久兔费看a级 | 国产精品成久久久久 | 99久久久国产精品免费观看 | 亚洲天堂香蕉 | 91福利区一区二区三区 | 色九九影院 | 国产999精品久久久久久 | 中文字幕在线观看网址 | 狠狠插狠狠干 | 色婷婷中文 | 欧美色插 | 国产成人一区二区三区久久精品 | 五月天激情视频在线观看 | 免费网站观看www在线观看 | 狠狠干狠狠色 | 亚洲精品综合在线观看 | 992tv在线成人免费观看 | 91九色在线视频观看 | 亚洲 中文字幕av | 国产女人免费看a级丨片 | 日韩色在线观看 | 97色噜噜 | 久久久99国产精品免费 | 日韩视频免费 | 天天干天天干天天色 | 美女视频久久黄 | 国产成人精品电影久久久 | 亚洲国产精品小视频 | bayu135国产精品视频 | 黄色大片av | 最新中文字幕在线播放 | 久久精品国产一区二区三区 | 亚洲色图av | 激情视频免费在线观看 | 国产美女视频 | 不卡的av在线 | 欧美激情奇米色 | 日本黄区免费视频观看 | 最近中文国产在线视频 | 日韩高清网站 | av日韩中文 | 久草网站在线观看 | 黄色免费电影网站 | 狠狠狠干狠狠 | 亚洲精品久久激情国产片 | 国产精彩视频一区 | 成人黄色毛片 | 午夜在线免费观看 | 九九精品毛片 | 亚洲视频在线视频 | 99热最新地址 | 日韩毛片在线一区二区毛片 | 亚洲视频在线观看免费 | 免费在线一区二区 | 欧美久久久久久久 | 久久精品视频网 | 欧美成人tv| 亚洲视频一级 | 91视频在线自拍 | 五月婷av | 黄色一区二区在线观看 | 91刺激视频 | 九色91av | 99在线观看精品 | 青青视频一区 | 久久免费毛片 | 久久精品精品电影网 | 国产天天爽 | 国产剧情一区二区 | 免费黄色av | 三上悠亚一区二区在线观看 | 九九久久在线看 | 狠狠色香婷婷久久亚洲精品 | 4438全国亚洲精品观看视频 | 欧美精品久久久久久久久老牛影院 | 日韩精品视频在线观看免费 | 欧美天天干 | 国产精品一区二区av | 四虎在线影视 | 国产精品午夜在线观看 | 美女视频黄网站 | 日韩视频中文 | 亚洲国产人午在线一二区 | 狠狠狠色丁香综合久久天下网 | 96国产在线 | 91精品国产综合久久婷婷香蕉 | 在线观看日本韩国电影 | 国产精品96久久久久久吹潮 | 精品久久国产 | 免费看av片网站 | 国产婷婷一区二区 | 天天爱天天色 | 日本精品在线看 | 久久视频二区 | 一区二区三区动漫 | 久草91视频 | 国产精品自产拍在线观看桃花 | 在线 视频 亚洲 | 亚洲动漫在线观看 | 在线国产91 | 亚洲精品视频二区 | 国产精品视频地址 | 午夜精品一二区 | 国产精品网红直播 | 色视频网站在线 | 一区二区激情视频 | 伊人天堂网 | 激情视频一区二区三区 | 国产成人精品三级 | 亚洲春色综合另类校园电影 | 久久艹艹 | 色99网| 久久视频一区 | 天天综合91 | 人人插超碰 | 顶级bbw搡bbbb搡bbbb | 欧美日韩视频在线 | 亚洲国产丝袜在线观看 | 久久精品—区二区三区 | 久久精品日产第一区二区三区乱码 | 福利网在线 | 色多多视频在线 | 人人干狠狠干 | 亚洲电影一区二区 | 999国产在线| 日韩免费观看视频 | 一本一道波多野毛片中文在线 | 亚洲日本黄色 | 国产黄影院色大全免费 | 91麻豆精品91久久久久同性 | 欧美日韩aa| 91麻豆国产福利在线观看 | 国产成人综合在线观看 | 国产精品久久久一区二区三区网站 | av在线收看| 国产色视频一区二区三区qq号 | 成人中文字幕在线观看 | 91人人澡人人爽 | 国产黄色片一级 | 色偷偷888欧美精品久久久 | 国产精品麻豆果冻传媒在线播放 | 亚洲国产一区在线观看 | 日本三级人妇 | 九九视频免费观看视频精品 | 国产精美视频 | 在线成人性视频 | 亚洲电影在线看 | 日韩啪视频 | 亚洲视频专区在线 | 99视频这里有精品 | 婷婷开心久久网 | 国产黄av| 成人在线视频网 | 狂野欧美激情性xxxx欧美 | 在线网站黄| 久久热亚洲 | 麻豆国产精品永久免费视频 | 视频一区视频二区在线观看 | 欧洲性视频 | 激情综合啪啪 | 久久国产一区 | 精品亚洲欧美无人区乱码 | 欧美日韩中文在线视频 | 日韩在线视频国产 | 93久久精品日日躁夜夜躁欧美 | 久久精品国产v日韩v亚洲 | 亚洲视频 视频在线 | 国产视频一区在线播放 | 在线亚洲免费视频 | 久久高清免费观看 | 天天天天天天天天操 | 黄色a视频免费 | 国产精品12| 伊人久久五月天 | 可以免费看av | 亚洲精品视频偷拍 | 欧美一区二区三区激情视频 | 国产小视频免费在线网址 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 91av视频在线观看 | 久久精品中文视频 | 午夜一级免费电影 | 日日日干| 人人干网| 日韩高清免费在线 | 国产一区免费在线观看 | av看片网| 免费看的国产视频网站 | 欧美成人一区二区 | 亚洲成人精品国产 | 日韩午夜视频在线观看 | 男女日麻批 | 精品一区二区精品 | 一区二区三区视频网站 | 亚洲国产三级在线 | 亚洲日本一区二区在线 | 久久久电影 | 国产福利一区二区在线 | 欧美日韩综合在线 | 午夜久久久久久久久久久 | 国产精品国产三级国产专区53 | 日韩久久久|