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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

ATPCS和AAPCS

發(fā)布時間:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ATPCS和AAPCS 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

基本概念

ATPCS (ARM-Thumb Procedure Call Standard)

規(guī)定了一些子程序間調用的基本規(guī)則,這些規(guī)則包括子程序調用過程中寄存器的使用規(guī)則,數(shù)據(jù)棧的使用規(guī)則,參數(shù)的傳遞規(guī)則。有了這些規(guī)則之后,單獨編譯的C語言程序就可以和匯編程序相互調用。
使用ADS的C語言編譯器編譯的C語言子程序滿足用戶指定的ATPCS類型。而對于匯編語言來說,則需要用戶來保證各個子程序滿足ATPCS的要求。

AAPCS (ARM Archtecture Procedure Call Standard)

2007年ARM公司正式推出了AAPCS標準,AAPCS是ATPCS的改進版,目前, AAPCS和ATPCS都是可用的標準

寄存器使用規(guī)則

子程序間通過寄存器R0~R3來傳遞參數(shù)。這時,寄存器R0~R3可記作a0~a3。被調用的子程序在返回前無需恢復寄存器R0~R3的內容。 在子程序中,使用寄存器R4~R11來保存局部變量。這時,寄存器R4~R11可以記作v1~v8。如果在子程序中使用了寄存器v1~v8中的某些寄存器,則子程序進入時必須保存這些寄存器的值,在返回前必須恢復這些寄存器的值。在Thumb程序中,通常只能使用寄存器R4~R7來保存局部變量。 寄存器R12用作過程調用中間臨時寄存器,記作IP。在子程序之間的連接代碼段中常常有這種使用規(guī)則。 寄存器R13用作堆棧指針,記作SP。在子程序中寄存器R13不能用作其他用途。寄存器SP在進入子程序時的值和退出子程序時的值必須相等。 寄存器R14稱為連接寄存器,記作LR。它用于保存子程序的返回地址。如果在子程序中保存了返回地址,寄存器R14則可以用作其他用途。 寄存器R15是程序計數(shù)器,記作PC。它不能用作其它用途。

堆棧使用規(guī)則

ATPCS規(guī)定堆棧為FD(Full Descending: sp指向最后一個壓入的值,數(shù)據(jù)棧由高地址向低地址生長)類型,即滿遞減堆棧,并且對堆棧的操作是8字節(jié)對齊。所以經常使用的指令就有STMFD和LDMFD。對于匯編程序來說,如果目標文件中包含了外部調用,則必須滿足下列條件:外部接口的堆棧必須是8字節(jié)對齊的。在匯編程序中使用PRESERVE8偽指令告訴連接器,本匯編程序數(shù)據(jù)是8字節(jié)對齊的。

參數(shù)傳遞規(guī)則

根據(jù)參數(shù)個數(shù)是否固定,可以將子程序分為參數(shù)個數(shù)固定的子程序和參數(shù)個數(shù)可變化的子程序。 這兩種子程序的參數(shù)傳遞規(guī)則是不一樣的。

4.1 參數(shù)個數(shù)可變子程序參數(shù)傳遞規(guī)則

對于參數(shù)個數(shù)可變的子程序,當參數(shù)個數(shù)不超過4個時,可以使用寄存器R0~R3來傳遞參數(shù);當參數(shù)超過4個時,還可以使用堆棧來傳遞參數(shù)。 在傳遞參數(shù)時,將所有參數(shù)看作是存放在連續(xù)的內存字單元的字數(shù)據(jù)。然后,依次將各字數(shù)據(jù)傳遞到寄存器R0,R1,R2和R3中。如果參數(shù)多于4個,則將剩余的字數(shù)據(jù)傳遞到堆棧中。入棧的順序與參數(shù)傳遞順序相反,即最后一個字數(shù)據(jù)先入棧。

4.2 參數(shù)個數(shù)固定子程序參數(shù)傳遞規(guī)則

如果系統(tǒng)不包含浮點運算的硬件部件,浮點參數(shù)會通過相應的規(guī)則轉換成整數(shù)參數(shù)(若沒有浮點參數(shù),此步省略),然后依次將各字數(shù)據(jù)傳送到寄存器R0~R3中。如果參數(shù)多于4個,將剩余的字數(shù)據(jù)傳送堆棧中,入棧的順序與參數(shù)順序相反,即最后一個字數(shù)據(jù)先入棧。在參數(shù)傳遞時,將所有參數(shù)看作是存放在連續(xù)的內存字單元的字數(shù)據(jù)。

子程序結果返回規(guī)則

子程序中結果返回的規(guī)則如下:

結果為一個32位整數(shù)時,可以通過寄存器R0返回; 結果為一個64位整數(shù)時,可以通過寄存器R0和R1返回; 結果為一個浮點數(shù)時,可以通過浮點運算部件的寄存器f0、d0或s0來返回; 結果為復合型浮點數(shù)(如復數(shù))時,可以通過寄存器f0~fn或d0~dn來返回; 對于位數(shù)更多的結果,需要通過內存來傳遞。

  寄存器的使用規(guī)則:

  寄存器 R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15

  ATPCS名稱 a1 a2 a3 a4 v1 v2 v3 v4 WR v5 v6 SB v7 SL v8 FP

  IP SP LR PC 1.子程序間通過寄存器R0~R3來傳遞參數(shù)。被調用的子程序在返回前無須恢復寄存器R0~R3的內容。

  2.在子程序中,使用寄存器R4~R11來保存局部變量。這時,寄存器R4~R11可以記為v1~v8。如果在子程序中使用了寄存器v1~v8中的某些寄存器,則子程序進入時必須保存這些寄存器的值,在返回前必須恢復這些寄存器的值。在Thumb程序中,通常只能使用寄存器R4~R7來保存局部變量。另外R9,R10和R11還有一個特殊作用,分別記為:靜態(tài)基址寄存器SB,數(shù)據(jù)棧限制指針SL和楨指針FP。

  3.寄存器R12用做過程調用中間臨時寄存器IP。寄存器R13用做堆棧指針SP。在子程序中寄存器R13不能用做其它用途。寄存器SP在進入子程序時的值和退出子程序的值必須相等。寄存器R14稱為鏈接寄存器LR,它用于保存子程序的返回地址。如果在子程序中保存了返回地址,寄存器R14則可以用做其他用途。寄存器R15為程序計數(shù)器PC,不能用做其他用途。

  4.只有寄存器R0~R7,SP,LR和PC可以在Thumb狀態(tài)下使用,其中R7常常作為Thumb狀態(tài)的工作寄存器,記為WR。

  數(shù)據(jù)棧使用規(guī)則:

  1.滿降序棧(FD),且8字節(jié)對齊。

  關于PCS與ATPCS的一點介紹
  如果讀者使用的是ADS1.2編譯器,那么ATPCS.pdf文檔就在X:/Program Files/ARM/ADSv1_2/PDF/specs目錄里面。(X:/指的是ADS1.2編譯器所在的安裝盤)什么是PCS,什么是ATPCS?

  PCS即Procedure Call Standard(過程調用規(guī)范),ATPCS即ARM-THUMB procedure call standard。

  PCS規(guī)定了應用程序的函數(shù)可以如何分開地寫,分開地編譯,最后將它們連接在一起,所以它實際上定義了一套有關過程(函數(shù))調用者與被調用者之間的協(xié)議。PCS強制實現(xiàn)如下約定:調用函數(shù)如何傳遞參數(shù)(即壓棧方法,以何種方式存放參數(shù)),被調用函數(shù)如何獲取參數(shù),以何種方式傳遞函數(shù)返回值。PCS的制訂是一系列指標的“tradeoff(折衷)”(因為很大程度上涉及系統(tǒng)的一些性能),如會涉及生成代碼的大小,調試功能的支持,函數(shù)調用上下文處理速度以及內存消耗。當然,通過編譯器的支持可以讓生成的代碼有不同的特性,如gcc編譯選項可以支持或不支持framepointer來支持深入調試功能或提高程序運行性能。PCS是體系結構密切相關的,直接涉及編譯器如何使用處理器提供的應用寄存器,如編譯器使用什么寄存器作為棧指針,利用哪些寄存器作直接傳參等。值得注意的是,沒有誰規(guī)定說PCS是必須這樣而不是那樣的。它是應用相關的。任何一個操作系統(tǒng)和應用可以處于它自身的考慮定義自己的PCS。當然,如果那樣,也必須有自己的編譯器。而實際上,在一個處理器設計時,都會有某種假設,所以PCS某種程度上應該是一樣的。

  ATPCS是基于ARM指令集和THUMB指令集過程調用的規(guī)范。

  寄存器的使用規(guī)則:

  寄存器的使用必須滿足下面的規(guī)則:

  1. 子程序間通過寄存器R0 R3來傳遞參數(shù),這時,寄存器R0R3可以記作A1-A4。被調用的子程序在返回前無需恢復寄存器R0-R3的內容。

  2. 在子程序中,使用寄存器R4 R11來保存局部變量.這時,寄存器R4-R11可以記作V1-V8。如果在子程序中使用到了寄存器V1-V8中的某些寄存器,子程序進入時必須保存這些寄存器的值,在返回前必須恢復這些寄存器的值;對于子程序中沒有用到的寄存器則不必進行這些操作。在Thumb程序中,通常只能使用寄存器R4-R7來保存局部變量。

  3. 寄存器R12用作子程序間scratch寄存器(用于保存SP,在函數(shù)返回時使用該寄存器出棧),記作ip。在子程序間的連接代碼段中常有這種使用規(guī)則。

  4. 寄存器R13用作數(shù)據(jù)棧指針,記作sp。在子程序中寄存器R13不能用作其他用途。寄存器sp在進入子程序時的值和退出子程序時的值必須相等。

  5. 寄存器R14稱為連接寄存器,記作lr。它用于保存子程序的返回地址。如果在子程序中保存了返回地址,寄存器R14則可以用作其他用途。

  6. 寄存器R15是程序計數(shù)器,記作pc。它不能用作其他用途。

  ATPCS規(guī)則 (2008-10-21 16:04:14) 標簽:atpcs arm 雜談 分類:嵌入式ARM

  基本ATPCS… 基本ATPCS規(guī)定了在子程序調用時的一些基本規(guī)則,包括以下三個方面的內容: 各寄存器的使用規(guī)則及其相應的名字; 數(shù)據(jù)棧的使用規(guī)則; 參數(shù)傳遞的規(guī)則. 相對于其他類型的ATPCS,滿足基本ATPCS的程序的執(zhí)行速度更快,所占用的內存更少. 但是它不能提供以下的支持: ARM程序和THUMB程序相互調用; 數(shù)據(jù)以及代碼的位置無關的支持; 子程序的可重入性; 數(shù)據(jù)棧檢查的支持. 而派生的其他幾種特定的ATPCS就是在基本ATPCS的基礎上再添加其他的規(guī)則而形成的.其目的就是提供上述的功能…

   寄存器的使用規(guī)則:

   1. 子程序通過寄存器R0~R3來傳遞參數(shù). 這時寄存器可以記作: A0~A3 , 被調用的子程序在返回前無需恢復寄存器R0~R3的內容.

   2. 在子程序中,使用R4~R11來保存局部變量,這時寄存器R4~R11可以記作: V1~V8 .如果在子程序中使用到V1~V8的某些寄存器,子程序進入時必須保存這些寄存器的值,在返回前必須恢復這些寄存器的值,對于子程序中沒有用到的寄存器則不必執(zhí)行這些操作.在THUMB程序中,通常只能使用寄存器R4~R7來保存局部變量.

   3.寄存器R12用作子程序間scratch寄存器,記作ip; 在子程序的連接代碼段中經常會有這種使用規(guī)則.

   4. 寄存器R13用作數(shù)據(jù)棧指針,記做SP,在子程序中寄存器R13不能用做其他用途. 寄存器SP在進入子程序時的值和退出子程序時的值必須相等.

   5. 寄存器R14用作連接寄存器,記作lr ; 它用于保存子程序的返回地址,如果在子程序中保存了返回地址,則R14可用作其它的用途.

   6. 寄存器R15是程序計數(shù)器,記作PC ; 它不能用作其他用途.

   7. ATPCS中的各寄存器在ARM編譯器和匯編器中都是預定義的.

   數(shù)據(jù)棧的使用規(guī)則

   棧指針通常可以指向不同的位置.當棧指針指向棧頂元素(即最后一個入棧的數(shù)據(jù)元素)時,稱為FULL棧.當棧指針指向與棧頂元素相鄰的一個元素時,稱為Empty棧. 數(shù)據(jù)棧的增長方向也可以不同. 當數(shù)據(jù)棧向內存減小的地址方向增長時,稱為Descending棧; 當數(shù)據(jù)棧向著內存地址增加的方向增長時,稱為Ascending棧. 綜合這兩種特點可以由以下4種數(shù)據(jù)棧: FD ED FA EA . ATPCS規(guī)定數(shù)據(jù)棧為FD類型,并對數(shù)據(jù)棧的操作是8字節(jié)對齊的,下面是一個數(shù)據(jù)棧的示例及相關的名詞.

   1.數(shù)據(jù)棧棧指針.stack pointer 指向最后一個寫入棧的數(shù)據(jù)的內存地址.

   2.數(shù)據(jù)棧的基地址.stack base 是指數(shù)據(jù)棧的最高地址.由于ATPCS中的數(shù)據(jù)棧是FD類型的,實際上數(shù)據(jù)棧中最早入棧數(shù)據(jù)占據(jù)的內存單元是基地址的下一個內存單元.

   3.數(shù)據(jù)棧界限.stack limit 是指數(shù)據(jù)棧中可以使用的最低的內存單元地址.

   4.已占用的數(shù)據(jù)棧.used stack 是指數(shù)據(jù)棧的基地址和數(shù)據(jù)棧棧指針之間的區(qū)域.其中包括數(shù)據(jù)棧棧指針對應的內存單元.

   5.數(shù)據(jù)棧中的數(shù)據(jù)幀(stack frames) 是指在數(shù)據(jù)棧中,為子程序分配的用來保存寄存器和局部變量的區(qū)域.

   異常中斷的處理程序可以使用被中斷程序的數(shù)據(jù)棧,這時用戶要保證中斷的程序數(shù)據(jù)棧足夠大. 使用ADS編譯器產生的目標代碼中包含了DRFAT2格式的數(shù)據(jù)幀.在調試過程中,調試器可以使用這些數(shù)據(jù)幀來查看數(shù)據(jù)棧中的相關信息.而對于匯編語言來說,用戶必須使用FRAME偽操作來描述數(shù)據(jù)棧中的數(shù)據(jù)幀.ARM匯編器根據(jù)這些偽操作在目標文件中產生相應的DRFAT2格式的數(shù)據(jù)幀.

   在ARMv5TE中,批量傳送指令LDRD/STRD要求數(shù)據(jù)棧是8字節(jié)對齊的,以提高數(shù)據(jù)的傳送速度.用ADS編譯器產生的目標文件中,外部接口的數(shù)據(jù)棧都是8字節(jié)對齊的,并且編譯器將告訴連接器: 本目標文件中的數(shù)據(jù)棧是8字節(jié)對齊的. 而對于匯編程序來說,如果目標文件中包含了外部調用,則必須滿足以下條件: 外部接口的數(shù)據(jù)棧一定是8位對齊的,也就是要保證在進入該匯編代碼后,直到該匯編程序調用外部代碼之間,數(shù)據(jù)棧的棧指針變化為偶數(shù)個字; 在匯編程序中使用PRESERVE8偽操作告訴連接器,本匯編程序是8字節(jié)對齊的.

   參數(shù)的傳遞規(guī)則.

   根據(jù)參數(shù)個數(shù)是否固定,可以將子程序分為參數(shù)個數(shù)固定的子程序和參數(shù)個數(shù)可變的子程序.這兩種子程序的參數(shù)傳遞規(guī)則是不同的.

   1.參數(shù)個數(shù)可變的子程序參數(shù)傳遞規(guī)則

   對于參數(shù)個數(shù)可變的子程序,當參數(shù)不超過4個時,可以使用寄存器R0~R3來進行參數(shù)傳遞,當參數(shù)超過4個時,還可以使用數(shù)據(jù)棧來傳遞參數(shù). 在參數(shù)傳遞時,將所有參數(shù)看做是存放在連續(xù)的內存單元中的字數(shù)據(jù)。然后,依次將各名字數(shù)據(jù)傳送到寄存器R0,R1,R2,R3; 如果參數(shù)多于4個,將剩余的字數(shù)據(jù)傳送到數(shù)據(jù)棧中,入棧的順序與參數(shù)順序相反,即最后一個字數(shù)據(jù)先入棧. 按照上面的規(guī)則,一個浮點數(shù)參數(shù)可以通過寄存器傳遞,也可以通過數(shù)據(jù)棧傳遞,也可能一半通過寄存器傳遞,另一半通過數(shù)據(jù)棧傳遞.

   2.參數(shù)個數(shù)固定的子程序參數(shù)傳遞規(guī)則

   對于參數(shù)個數(shù)固定的子程序,參數(shù)傳遞與參數(shù)個數(shù)可變的子程序參數(shù)傳遞規(guī)則不同,如果系統(tǒng)包含浮點運算的硬件部件,浮點參數(shù)將按照下面的規(guī)則傳遞: 各個浮點參數(shù)按順序處理;為每個浮點參數(shù)分配FP寄存器;分配的方法是,滿足該浮點參數(shù)需要的且編號最小的一組連續(xù)的FP寄存器.第一個整數(shù)參數(shù)通過寄存器R0~R3來傳遞,其他參數(shù)通過數(shù)據(jù)棧傳遞.

   子程序結果返回規(guī)則

   1.結果為一個32位的整數(shù)時,可以通過寄存器R0返回.

   2.結果為一個64位整數(shù)時,可以通過R0和R1返回,依此類推.

   3.結果為一個浮點數(shù)時,可以通過浮點運算部件的寄存器f0,d0或者s0來返回.

   4.結果為一個復合的浮點數(shù)時,可以通過寄存器f0-fN或者d0~dN來返回.

   5.對于位數(shù)更多的結果,需要通過調用內存來傳遞.

幾種特定的ATPCS…

   A.支持數(shù)據(jù)棧限制檢查的ATPCS.

   如果在程序設計期間能夠準確地計算出程序所需的內存總量,就不需要進行數(shù)據(jù)棧的檢查,但是在通常情況下這是很難做到的,這時需要進行數(shù)據(jù)棧的檢查. 在進行數(shù)據(jù)棧的檢查時,使用寄存器R10作為數(shù)據(jù)棧限制指針,這時寄存器R10又記作sl.用戶在程序中不能控制該寄存器.具體來說,支持數(shù)據(jù)棧限制的ATPCS要滿足下面的規(guī)則: 在已經占有的棧的最低地址和sl之間必須有256字節(jié)的空間,也就是說,sl所指的內存地址必須比已經占用的棧的最低地址低256個字節(jié).當中斷處理程序可以使用用戶的數(shù)據(jù)棧時,在已經占用的棧的最低地址和sl之間除了必須保留的256個字節(jié)的內存單元外,還必須為中斷處理預留足夠的內存空間; 用戶在程序中不能修改sl的值;數(shù)據(jù)棧棧指針sp的值必須不小于sl的值.

   與支持數(shù)據(jù)棧限制檢查的ATPCS相關的編譯/匯編選項有下面幾種: 選項/SWST 指示編譯器生成的代碼遵守支持數(shù)據(jù)棧限制檢查的ATPCS,用戶在程序設計期間不能夠準確計算程序所需的數(shù)據(jù)棧大小時,需要指定該選項;選項/noswst指示編譯器生成的代碼不支持數(shù)據(jù)棧限制檢查的功能,用戶在程序設計期間能夠準確計算出程序所需的數(shù)據(jù)棧大小,可以指定該選項,這個選項是默認的;選項/SWSTNA 如果匯編程序對于是否進行數(shù)據(jù)棧檢查無所謂,而與該匯編程序連接的其他程序指定了選項swst/noswst,這時使用該選項.

   編寫遵守支持數(shù)據(jù)棧限制檢查的ATPCS的匯編語言程序.

   對于C程序和C++程序來說,如果在編譯時指定了選項SWST,生成的目標代碼將遵守支持數(shù)據(jù)棧限制檢查的ATPCS. 對于匯編語言程序來說,如果要遵守支持數(shù)據(jù)棧限制檢查的ATPCS,用戶在編寫程序時必須滿足支持數(shù)據(jù)棧限制檢查的ATPCS所要求的規(guī)則,然后指定選項SWST,下面介紹用戶編寫匯編語言程序時的一些要求.

   葉子子程序是指不調用別的程序的子程序.

   數(shù)據(jù)棧小于256字節(jié)的葉子子程序不許要進行數(shù)據(jù)棧檢查,如果幾個子程序組合起來構成的葉子子程序數(shù)據(jù)棧也小于256字節(jié),這個規(guī)則同樣適用; 數(shù)據(jù)棧小于256字節(jié)的非葉子子程序可以使用下面的代碼段來進行數(shù)據(jù)棧檢查.

  ARM程序使用: SUB sp,sp,#size ;#size 為sp和sl之間必須保留的空間大小   CMP sp,sl;BLLO _ARM_stack_overflowTHUMB程序使用: ADD sp,#-size ; #size為sp和sl之間必須保留的空間大小CMP sp,sl;BLLO _THUMB_stack_overflow數(shù)據(jù)棧大于256字節(jié)的子程序,為了保證sp的值不小于數(shù)據(jù)棧可用的內存單元最小的地址值,需要引入相應的寄存器.ARM程序使用下列代碼: SUB ip,sp,#size;CMP ip,sl;BLLO _ARM_stack_overflowTHUMB程序使用下列代碼: LDR wr,#-size;ADD wr,sp;CMP wr,sl;BLLO _THUMB_stack_overflow支持只讀段位置無關的ATPCS...支持可讀寫段位置無關的ATPCS...支持ARM程序和THUMB程序混合使用的ATPCS...

   在編譯或匯編時,使用/intework告訴編譯器或匯編器生成的目標代碼遵守支持ARM程序和THUMB程序混合使用的ATPCS,它用在以下場合: 程序中存在ARM程序調用THUMB程序的情況;程序中存在THUMB程序調用ARM程序的情況;需要連接器來進行ARM狀態(tài)和THUMB狀態(tài)切換的情況;.在下述情況下使用選項nointerwork:程序中不包含THUMB程序;用戶自己進行ARM程序和THUMB程序切換.需要注意的是:在同一個C/C++程序中不能同時有ARM指令和THUMB指令.

  處理浮點運算的ATPCS...ATPCS規(guī)則1 (2008-10-21 15:56:12) 標簽:atpcs規(guī)則雜談 分類:嵌入式ARM參數(shù)傳遞規(guī)則參數(shù)不超過4個時,可以使用寄存器R0~R3來傳遞參數(shù),當參數(shù)超過4個時,還可以使用數(shù)據(jù)棧來傳遞參數(shù)。結果為一個32位整數(shù)時,可以通過寄存器R0返回結果為一個64位整數(shù)時,可以通過寄存器R0和R1返回,依次類推。匯編程序、C程序及C++程序相互調用C 程序調用匯編程序:o 匯編程序的設置要遵循ATPCS 規(guī)則,保證程序調用時參數(shù)的正確傳遞。o 在匯編程序中使用EXPORT 偽指令聲明本子程序,使其它程序可以調用此子程序。o 在C 語言程序中使用extern 關鍵字聲明外部函數(shù)(聲明要調用的匯編子程序),即可調用此匯編子程序。o 調用匯編的C 函數(shù):o 示例#includeextern void strcopy(char *d,const char *s) //聲明外部函數(shù),即要調用的匯編  //子程序int main(void){const char *srcstr=“First string-source”; //定義字符串常量char dstsrt[] =“Second string-destination”;//定義字符串變量printf(“Before copying:/n”);printf(“’%s’/n ‘%s/n,”srcstr,dststr); //顯示源字符串和目標字符串的內容strcopy(dststr,srcstr); //調用匯編子程序,R0=dststr,R1=srcstrprintf(“After copying:/n”)printf(“’%s’/n ‘%s/n,”srcstr,dststr); //顯示strcopy 復制字符串結果return(0);}o 被調用匯編子程序:AREA SCopy,CODE,READONLYEXPORT strcopy ;聲明匯編程序strcopy,以便外部程序引用strcopy ;R0 為目標字符串的地址;R1 為源字符串的地址 ;LDRB R2,[R1],#1 ;讀取字節(jié)數(shù)據(jù),源地址加1STRB R2,[R0],#1 ;保存讀取的1 字節(jié)數(shù)據(jù),目標地址加1CMP r2,#0 ;判斷字符串是否復制完畢BNE strcopy ;沒有復制完畢,繼續(xù)循環(huán)MOV pc,lr ;返回END匯編程序調用C程序o 匯編程序的設置要遵循ATPCS 規(guī)則,保證程序調用時參數(shù)的正確傳遞.o 在匯編程序中使用IMPORT 偽指令聲明將要調用的C 程序函數(shù).o 在調用C 程序時,要正確設置入口參數(shù),然后使用BL 調用.o 匯編調用C 程序的C 函數(shù):int sum5(int a,lit b, int c,int d,int e){return(a+b+c+d+e); //返回5 個變量的和}o 匯編調用C 程序的匯編程序AREA sample, CODE,READONLYIMPORT sum5 ;聲明外部標號sum5,即C 函數(shù)sum5()CALLSUMSTMFD SP! {LR} ;LR 寄存器放棧ADD R1,R0,R0 ;設置sum5 函數(shù)入口參數(shù),R0 為參數(shù)aADD R2,R1,R0 ;R1 為參數(shù)b,R2 為參數(shù)cADD R3,R1,R2,STR R3,[SP,# -4]! ;參數(shù)e 要通過堆棧傳遞ADD R3,R1,R1 ;R3 為參數(shù)dBL sum5 ;調用sum5(),結果保存在R0ADD SP,SP#4 ;修正SP 指針LDMFD SP,PC ;子程序返回END

  嵌入式C編程

  概述:

  C語言的優(yōu)點是運行速度快、編譯效率高、移

  植性好和可讀性強。C語言支持模塊化程序設計,支持自頂

  向下的結構化程序設計方法。因此在嵌入式程序設計中經

  常會用到C語言程序設計。

  嵌入式C語言程序設計是利用基本的C語言知識,面向

  嵌入式工程實際應用進行程序設計。也就是說它首先是C語

  言程序設計,因此必須符合C語言基本語法,只是它是面向

  嵌入式的應用而設計的程序。

   C語言的“預處理偽指令”在嵌入式程序設計中的應用。

  1、文件包含偽指令

  格式:

  #include <頭文件名.h> ;標準頭文件

  #include “頭文件名.h” ;自定義頭文件

  2、宏定義偽指令

  格式:

  # define 宏標識符 宏體

  例:

n #define U32 unsigned intn #define U16 unsigned shortn #define S32 intn #define S16 short intn #define U8 unsigned charn #define S8 char

  3、條件宏:先測試是否定義過某宏標識符,然后決定如何處理。這樣做是為了避免重復定義。

  格式:

 #ifdef 宏標識符#undef 宏標識符#define 宏標識符 宏體#else#define 宏標識符 宏體#endif例:#ifdef INCLUDE_SERIAL#undef NUM_TTY#define NUM_TTY N_UART_CHANNELS#undef CONSOLE_TTY#define CONSOLE_TTY 0#undef CONSOLE_BAUD_RATE#define CONSOLE_BAUD_RATE 115200#endif

  4、條件編譯偽指令

  格式

 #if(條件表達式1)#elif(條件表達式2)#elif(條件表達式n)#else#endif

  這樣,編譯時,編譯器僅對#if()…#endif之間滿足某一條

  件表達式的源文件部分進行編譯。

  使用寄存器變量

  當對一個變量頻繁被讀寫時,需要反復訪問內存,從而花費大量的存取時間。

  為此,C語言提供了一種變量,即寄存器變量。這種變量存放在CPU的寄存器中,

  使用時,不需要訪問內存,而直接從寄存器中讀寫,從而提高效率。寄存器變量的

  說明符是register。對于循環(huán)次數(shù)較多的循環(huán)控制變量及循環(huán)體內反復使用的變量

  均可定義為寄存器變量,而循環(huán)計數(shù)是應用寄存器變量的最好候選者。

  例:

WORD Addition(BYTE n){register is=0; for(i=1;i<=n;i++){s=s+i;}return s;}

  活用位操作 (熟練掌握)

  使用C語言的位操作可以減少除法和取模的運算。在計算機程序中數(shù)

  據(jù)的位是可以操作的最小數(shù)據(jù)單位,理論上可以用“位運算”來完成所有的

  運算和操作,因而,靈活的位操作可以有效地提高程序運行的效率 。

  例:

int i,j;i = 879 / 16;j = 562 % 32;int i,j;i = 879 >> 4;j = 562 - (562 >> 5 << 5);例 int Ra ;//Ra[15:16]=11Ra &= ~(3<<15);

  C語言位運算除了可以提高運算效率外,在嵌入式

  系統(tǒng)的編程中,它的另一個最典型的應用,而且十分廣

  泛地正在被使用著的是位間的(&)、(|)、非(~)

  操作,這跟嵌入式系統(tǒng)的編程特點有很大關系。

  例:

rGPCDAT=(rGPCDAT&0xFFFFFFF0)|0x0ErINTMSK&=~(BIT_TIMER1)

  數(shù)據(jù)指針

  在嵌入式系統(tǒng)的編程中,常常要求在特定的內存單元讀寫內容,匯編有對應的

  MOV指令,而除C/C++以外的其它編程語言基本沒有直接訪問絕對地址的能力。在

  嵌入式系統(tǒng)的實際調試中,多借助C語言指針所具有的對絕對地址單元內容的讀寫能

  力。以指針直接操作內存多發(fā)生在如下幾種情況:

  n 某I/O芯片被定位在CPU的存儲空間而非I/O空間,而且寄存器對應于

  某特定地址;

  n 兩個CPU之間以雙端口RAM通信,CPU需要在雙端口RAM的特定單

  元(稱為mail box)書寫內容以在對方CPU產生中斷;

  n 讀取在ROM或FLASH的特定單元所燒錄的漢字和英文字模。

  例:

int *p = (int *)0xF000FF00 ;*p=0xABCD;#define rGPACON (*(volatile unsigned *)0x56000000);rGPACON=0x1234;

  關鍵字volatile

  一般這個修飾符用來告知編譯器,被修飾的變量是個“易變的”變

  量(volatile的本意是“易變的”),防止編譯器進行優(yōu)化。將變量加上

  volatile修飾,則編譯器保證對此變量的讀寫操作都不會被優(yōu)化。

  用法

  1、中斷服務程序中修改的供其它程序檢測的變量需要加volatile。

  2、多任務環(huán)境下各任務間共享的標志應該加volatile。

  3、存儲器映射的硬件寄存器通常也要加volatile說明,因為每次對它的讀寫都可能由不同意義。

總結

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

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

一本—道久久a久久精品蜜桃 | 在线播放 日韩专区 | 久久亚洲专区 | 久久午夜精品影院一区 | 国产高清不卡av | 日本黄色a级大片 | 在线播放第一页 | 永久免费视频国产 | 黄色a在线观看 | 午夜性色 | 亚州国产视频 | 久久久久日本精品一区二区三区 | 91九色老 | 午夜av剧场 | sm免费xx网站 | 婷婷精品国产一区二区三区日韩 | 国内精品视频一区二区三区八戒 | 免费看片在线观看 | 久久在线观看视频 | 欧美日韩伦理一区 | 超碰在线94 | 久久久久久久久久亚洲精品 | 免费视频资源 | 亚洲精品网站 | av中文字幕在线观看网站 | 日韩精品一区二区三区免费观看 | 亚洲国产日本 | 天天躁日日躁狠狠躁av麻豆 | 在线观看91 | 看毛片网站 | 国产精品免费av | 成人h动漫在线看 | 天天天干夜夜夜操 | 欧美激情在线看 | 国产大片免费久久 | 亚洲在线看 | 超碰人人做 | 国产免费黄视频在线观看 | 成人在线观看影院 | 91成人看片| 在线观看视频国产一区 | 久草国产视频 | 99在线热播精品免费99热 | 激情视频91 | 国产丝袜一区二区三区 | 亚洲国产中文字幕在线观看 | 天天射一射 | 日韩精品一区二区在线观看 | 精品产品国产在线不卡 | 日韩欧美国产激情在线播放 | 毛片美女网站 | 久久精品亚洲国产 | 96av在线视频| 色婷婷国产精品一区在线观看 | 成人久久国产 | 中文字幕在线字幕中文 | 中文在线www | 正在播放五月婷婷狠狠干 | 国产精品久久久久永久免费观看 | 伊人黄 | 成人免费看片98欧美 | 成人中文字幕在线 | www日韩欧美 | 亚洲欧美日韩中文在线 | 亚洲国产中文字幕 | 欧美一级片免费在线观看 | 久久99热精品这里久久精品 | 婷婷丁香激情 | 香蕉免费在线 | 在线网站黄 | 99爱视频在线观看 | 免费av网址在线观看 | 99久久精品国产系列 | 日韩三级视频在线观看 | 天天干天天摸天天操 | 国产精品一区二区在线看 | 999久久久欧美日韩黑人 | 成人影片在线免费观看 | av资源免费在线观看 | 99精品免费久久久久久久久日本 | 国产精品手机在线播放 | 久久tv | 国内三级在线 | 亚洲精品在线免费播放 | 亚洲午夜精品久久久久久久久久久久 | 国产大片免费久久 | 中文字幕一区二区在线观看 | 亚洲狠狠婷婷综合久久久 | 国产五月婷婷 | 人人干人人模 | 日韩免费在线观看视频 | 99久久久国产精品美女 | 日韩成人免费在线电影 | 欧美日韩一区二区三区在线观看视频 | 五月天色站 | 激情视频在线高清看 | 日本69hd| 国产精品手机播放 | 亚洲精品黄色在线观看 | 激情久久婷婷 | 成年在线观看 | 国内揄拍国产精品 | 波多野结衣电影一区 | 婷婷午夜天| 韩国一区二区三区视频 | 超碰九九 | 久久久久久久国产精品视频 | av免费黄色 | 亚洲激情av| 久久躁日日躁aaaaxxxx | 在线成人免费av | 精品久久毛片 | 高清精品在线 | avove黑丝 | 91丨九色丨高潮 | 久久精品4 | 亚洲视频免费在线观看 | 婷婷视频在线观看 | 又紧又大又爽精品一区二区 | 国产伦精品一区二区三区免费 | 久久天堂亚洲 | 国内精品亚洲 | 成人一级片免费看 | 免费特级黄毛片 | 91精品综合在线观看 | 91精品国产综合久久久久久久 | 婷婷在线网站 | 91在线视频在线观看 | 色香蕉在线视频 | 一区二区三区韩国免费中文网站 | 黄色免费大全 | 毛片视频网址 | 日本不卡一区二区 | 免费在线观看的av网站 | 日韩欧美高清视频在线观看 | 欧美一区二区三区在线看 | 成人h电影 | 黄色精品网站 | 国产97在线视频 | 久久资源在线 | 免费在线色视频 | 91精品国产高清自在线观看 | 在线播放国产一区二区三区 | 国产成人av福利 | 婷婷免费在线视频 | 精品亚洲免a | 久久看毛片 | 天天爽天天爽夜夜爽 | 亚洲区另类春色综合小说 | 96视频在线 | 亚洲片在线 | 日日躁夜夜躁xxxxaaaa | 久久午夜电影 | 国内视频在线 | 国产又粗又猛又色又黄网站 | 日韩三级在线观看 | 久久99热这里只有精品 | 人人爽人人爽人人片av | 97精品国产97久久久久久粉红 | 人人躁 | 韩国精品在线观看 | 国产午夜精品一区二区三区四区 | 手机在线看片日韩 | 国产伦精品一区二区三区无广告 | 91精品视频一区 | 国产精品久久久亚洲 | 国产毛片久久 | 欧美精品免费在线观看 | 又色又爽又黄高潮的免费视频 | 国产精品人人做人人爽人人添 | 91九色蝌蚪视频网站 | 成年人视频在线 | 在线观看免费高清视频大全追剧 | 麻豆首页 | 精品久久久久久亚洲综合网站 | 国产精品嫩草影院9 | 六月色播| 国产精品毛片一区二区在线看 | 色香网 | 91社区国产高清 | 国产精品久久久久999 | 三级av中文字幕 | 国产精品入口a级 | 成人av动漫在线观看 | 国产情侣一区 | 欧美在线不卡一区 | 国产精品一区二 | 亚洲精品久久久久久国 | 麻豆成人精品视频 | 久久综合色天天久久综合图片 | 黄色小说免费在线观看 | av福利网址导航大全 | 久久福利综合 | 久久精品久久精品久久精品 | 黄色高清视频在线观看 | 久久精品国产一区二区三区 | 亚洲色图27p| 粉嫩av一区二区三区入口 | 黄色电影在线免费观看 | 久久久久久高潮国产精品视 | 中文字幕丰满人伦在线 | 久久免费看av | 久久久影院一区二区三区 | 欧美激情精品久久久久久免费 | 久久精品黄 | 精品毛片在线 | 中文字幕 婷婷 | 国产精品久久久久国产精品日日 | 国内丰满少妇猛烈精品播 | 日本色小说视频 | 日韩资源在线观看 | 日本黄色免费网站 | 又爽又黄在线观看 | 6080yy午夜一二三区久久 | 91在线播 | 国产 欧美 在线 | 国产在线一线 | 久久一区二区三区国产精品 | 99久久精品无码一区二区毛片 | 色狠狠狠| 国产专区视频在线观看 | 91麻豆精品国产91久久久无需广告 | 69国产精品视频免费观看 | 婷婷综合网 | 欧美午夜精品久久久久久浪潮 | 国产美女视频 | 国产在线播放一区二区 | 91成人天堂久久成人 | 日韩h在线观看 | 精品久久久久久久久久国产 | 久草在线观看视频免费 | 在线直播av | 国产亚洲在线视频 | 久久综合偷偷噜噜噜色 | 久久精品久久久久久久 | 国产欧美综合在线观看 | 色播五月激情五月 | 欧美电影黄色 | 九月婷婷色 | 韩国一区二区三区视频 | 一区二区激情 | 99久久精品国产观看 | 99精品国产一区二区三区不卡 | 国产色a在线观看 | 久久歪歪 | 亚洲国产精久久久久久久 | 亚洲免费精品视频 | 久久久免费网站 | 99久热在线精品视频观看 | 久草视频免费观 | 国产1级毛片| 国产精品免费视频一区二区 | 精品国产一区二区三区av性色 | 在线免费高清视频 | 亚洲精品在线免费观看视频 | 久久免费毛片视频 | av电影中文字幕在线观看 | 97精品国产91久久久久久 | 人人插人人| a电影在线观看 | 久草久热 | 成人国产在线 | 日韩伦理片一区二区三区 | 久久经典视频 | av成人免费| а天堂中文最新一区二区三区 | 国产精品免费大片视频 | 中文字幕国产 | 国产精品久久电影观看 | 天天干天天做 | 日本久久中文字幕 | 午夜精品电影一区二区在线 | 午夜av影院 | 五月天丁香视频 | 成年人看片网站 | 日韩理论在线播放 | 免费国产一区二区视频 | 狠狠操综合网 | 免费观看一级 | 日韩精品五月天 | 亚洲精品中文字幕视频 | 97色国产| 国产精品久久久久永久免费观看 | 久久在线一区 | 综合国产视频 | 亚洲成人欧美 | 超碰免费公开 | 亚洲精品乱码久久久久久蜜桃91 | 91精品国产成 | 日韩免费视频 | 日韩网 | 黄在线免费观看 | 成人亚洲欧美 | 久久久精品一区二区三区 | 久久免费在线视频 | 欧美一进一出抽搐大尺度视频 | 久久精视频 | 98精品国产自产在线观看 | 久久污视频 | 国产精品99免费看 | 中文字幕日本电影 | 色视频网页 | 中文字幕有码在线 | 狠狠色狠狠色终合网 | 99福利片 | 欧美精品xxx| 国产成人精品av在线观 | 日韩免费久久 | 国产在线2020 | 精品国产激情 | 久久狠狠干 | 超碰在线人人97 | 精品久久久久久一区二区里番 | 国产美女主播精品一区二区三区 | 一级成人网 | 91视频 - v11av | 五月天电影免费在线观看一区 | 欧美午夜一区二区福利视频 | 看毛片网站| 亚洲一区二区天堂 | 久久黄色美女 | 国产一级片网站 | 9在线观看免费高清完整版在线观看明 | 精品在线一区二区 | 成人免费视频播放 | 午夜精品视频福利 | 久久久久欠精品国产毛片国产毛生 | 婷婷av综合 | 成年人在线免费看 | 999男人的天堂 | 欧美在线视频一区二区 | 亚洲精品视频 | 视频91 | 欧美一区二区在线看 | 欧美片网站yy | 天天插夜夜操 | 狠狠干夜夜 | 国产不卡在线 | 日韩精品久久久久久久电影竹菊 | 亚洲精品国精品久久99热一 | 国内精品久久久久久久97牛牛 | 天天婷婷| av中文字幕在线免费观看 | 亚洲精品18p | 伊人黄色网 | www178ccom视频在线 | 国产精品婷婷 | 亚洲九九九在线观看 | 中文字幕有码在线播放 | 国产精品久久久久久99 | 久久久一本精品99久久精品 | 黄色精品一区 | 亚洲狠狠婷婷综合久久久 | 中日韩男男gay无套 日韩精品一区二区三区高清免费 | 激情综合五月网 | 欧美精品久久久久久久久久丰满 | 成人夜晚看av | 99久久网站| 精品视频999 | 中文字幕 成人 | 欧美日韩一区二区在线观看 | 在线视频 国产 日韩 | 三级黄色在线 | 欧美日韩精品在线观看 | 日韩黄色一级电影 | 国产精品久久久久久久久久久久午 | 久久美女高清视频 | 日日操夜 | av高清网站在线观看 | 五月婷婷,六月丁香 | 色一色在线 | 成年人视频免费在线 | 天天操天天干天天爱 | 婷婷精品在线视频 | 狠狠搞,com| 国产一区在线不卡 | 97成人在线观看视频 | 国产首页 | 欧美视频在线二区 | 综合网天天 | 美女av免费| 欧美性大战久久久久 | 精品久久久久久一区二区里番 | 久久不卡国产精品一区二区 | 黄色大片免费播放 | 91久久人澡人人添人人爽欧美 | 中国一区二区视频 | 亚洲尺码电影av久久 | 日韩二区三区 | 久草在线视频中文 | 国产色中涩| 91在线欧美 | 99久久久久国产精品免费 | 操老逼免费视频 | www.黄色| 国产成人久久精品一区二区三区 | 久草视频看看 | 在线观看国产 | 99精品在线免费 | 亚洲高清资源 | 国产精品mm | 欧美亚洲一级片 | 成年人免费电影 | www.天天干| 日韩高清片 | 四虎视频 | 国内精品久久久久久久久久久 | 精品久久久久久亚洲综合网站 | 免费观看www视频 | 国产丝袜在线 | 午夜在线免费视频 | 日韩有码第一页 | 成人av免费在线观看 | 人人澡视频 | 九九亚洲视频 | 欧美性色综合网 | 久久96 | 久久久精品电影 | 久久99欧美 | 久久无码精品一区二区三区 | 国产手机在线观看视频 | av在线短片 | 97国产在线| 国产精品黄色 | 最新91在线视频 | 玖玖爱国产在线 | 亚洲国产精品推荐 | 久久综合九色综合久久久精品综合 | 久久在线视频精品 | 欧美日韩午夜 | 久久在线免费 | 国产精品ssss在线亚洲 | 亚洲日本韩国一区二区 | 久久综合久久久 | 在线观看免费av片 | 日韩欧美高清一区二区三区 | 国产中文字幕网 | 日韩a级免费视频 | 久久经典视频 | 国产精品永久久久久久久久久 | av中文字幕网站 | 91人网站| 超碰夜夜| 国产丝袜网站 | 天天操人人干 | 国产一二三区在线观看 | 精品久久美女 | 成人网页在线免费观看 | 久久精品久久精品 | 午夜精品久久久久久久久久久 | 久久国产热视频 | 国产成人av一区二区三区在线观看 | 亚洲午夜精 | 丝袜美腿亚洲综合 | 特黄特色特刺激视频免费播放 | 精品美女在线视频 | 中文字幕av网站 | 国产精品久久久久久高潮 | 色香蕉在线视频 | 456成人精品影院 | 久久视频在线看 | 亚洲伦理一区 | 久久精品免费电影 | 五月激情亚洲 | 成人97人人超碰人人99 | 国产精品第10页 | 国产精品毛片一区视频播不卡 | 99免费视频 | 国产精品18久久久久久久 | www.久久成人 | 日本精品视频一区二区 | 99在线精品视频在线观看 | 韩国精品一区二区三区六区色诱 | www.国产毛片 | 久久精品99国产国产 | 成人免费看黄 | 久久精品久久精品久久精品 | av网在线观看 | 免费能看的黄色片 | 国产精品久久久久久久av电影 | 99精品免费久久久久久日本 | 射综合网| 在线观看电影av | 国产999精品视频 | 日韩av电影中文字幕 | 国产精品手机播放 | 超碰人人乐 | 亚洲精品福利在线观看 | 久久免费看 | 奇米导航 | 黄色免费在线看 | 久久久久久久18 | 久久伦理影院 | av免费在线免费观看 | 西西444www大胆高清图片 | 97在线看片 | 久久呀| wwxxx日本| 亚洲精品黄 | 国产不卡在线 | 亚洲香蕉视频 | 日韩乱理 | www.久久久.com | www178ccom视频在线 | 免费性网站| 亚洲国产一区二区精品专区 | 91在线视频免费播放 | av日韩av| 天堂网av 在线 | 午夜少妇 | 日韩在线三区 | 狠狠88综合久久久久综合网 | 日韩欧美视频在线免费观看 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 色之综合网 | 欧美日韩性视频 | 91高清完整版在线观看 | 日本性久久 | 成人黄色电影在线播放 | 一级精品视频在线观看宜春院 | 欧美日韩在线精品一区二区 | 久久系列 | 六月丁香婷婷久久 | 免费日韩高清 | 人人澡澡人人 | 99热国产在线中文 | 日本女人的性生活视频 | 精品国产免费观看 | 成人羞羞免费 | 最新av免费在线观看 | 午夜精品久久久久久久久久 | 九九热中文字幕 | 久久精品首页 | 天天干天天天天 | 欧美激情精品 | 欧美日韩视频在线一区 | 国产精品亚洲人在线观看 | 欧美国产不卡 | 狠狠夜夜 | av专区在线 | 九九免费精品视频在线观看 | 99麻豆久久久国产精品免费 | 欧美激情综合色综合啪啪五月 | 久久精品人人做人人综合老师 | 成人黄大片 | 日韩r级在线 | 国产精品9999久久久久仙踪林 | 国产精品专区在线 | 久久精品国产亚洲 | 69av免费视频 | 日韩深夜在线观看 | 久草视频免费播放 | 日本免费一二三区 | 17videosex性欧美 | 精品国产99| 亚洲视频免费 | 在线成人av | 97伊人网| 精品自拍网 | 国产 日韩 在线 亚洲 字幕 中文 | 久久这里只有精品视频99 | 中文字幕日韩一区二区三区不卡 | 国产午夜精品一区 | 国产一区在线视频 | 久久午夜羞羞影院 | 日韩av影片在线观看 | 97视频免费播放 | 久久亚洲精品国产亚洲老地址 | 九九视频免费在线观看 | 国产不卡在线观看视频 | 日韩com| 黄色大全免费网站 | 国产精品中文在线 | 国产69精品久久99的直播节目 | 精品国产伦一区二区三区免费 | 久草在线免费色站 | 日韩色在线观看 | 天天综合网~永久入口 | 99精品国产一区二区 | 日韩午夜网站 | 欧美日韩一区二区视频在线观看 | www.国产在线视频 | 激情五月在线 | 91精品国自产在线观看欧美 | 国产高清专区 | 在线 你懂| 一区二区三区在线影院 | 色婷婷国产 | 国内99视频 | 久久精品123 | 国产手机视频精品 | 国产中文字幕在线看 | 91精品久久久久久综合乱菊 | 国产一二区在线观看 | 国产精品 日韩 欧美 | 涩涩网站在线看 | 探花视频在线观看免费 | av电影免费在线 | 香蕉久久久久久av成人 | 久久综合之合合综合久久 | 欧美亚洲xxx | 丁香综合五月 | 亚洲成a人片在线观看网站口工 | 18国产精品白浆在线观看免费 | 大型av综合网站 | 国产精品免费视频一区二区 | 丁香网五月天 | 日韩欧美精品在线视频 | 亚洲午夜精品久久久久久久久久久久 | 国产精品岛国久久久久久久久红粉 | 午夜私人影院久久久久 | 久久久久久久免费 | www视频免费在线观看 | 天天看天天干天天操 | 美女一二三区 | 天天操夜夜做 | 干干操操 | 日韩精品一区二区三区免费观看视频 | 国产精品18久久久久vr手机版特色 | 成人日批视频 | 中文字幕 国产专区 | 伊人久久精品久久亚洲一区 | 日韩免费视频在线观看 | 四虎影视成人永久免费观看亚洲欧美 | 中文字幕 婷婷 | 亚洲精品视频免费在线观看 | 日韩大片在线播放 | 丝袜制服天堂 | 久久综合九色综合久99 | 亚洲国产成人精品久久 | 亚洲性xxxx| 超碰av在线 | 欧美成a人片在线观看久 | 一区二区av| av在线免费播放网站 | 国产成人精品国内自产拍免费看 | 国产精品第54页 | 国产精品久久久久久欧美 | 在线观看av大片 | 成人av网站在线播放 | 丝袜美腿一区 | 五月天免费网站 | 探花视频网站 | 美女视频黄在线 | 国产剧情在线一区 | 亚洲a在线观看 | 中文综合在线 | 人人模人人爽 | 国产精品婷婷午夜在线观看 | 麻豆 91 在线| 欧美日韩成人 | 国产高清在线不卡 | 亚洲精品美女久久17c | avav片| 欧美大片www | www.色五月.com | 久久激情日本aⅴ | 久久精品福利 | 国产xvideos免费视频播放 | 亚洲免费av电影 | 中文在线√天堂 | 久热只有精品 | 美女免费视频观看网站 | 精品在线观看免费 | 伊人资源视频在线 | 在线国产一区二区 | 人成电影网 | 日本精品在线看 | 在线播放精品一区二区三区 | 亚洲一区二区三区在线看 | 日韩av看片| 久久久久久久久久免费 | 91免费日韩 | 天天综合久久综合 | 亚洲国产三级 | 玖玖视频精品 | 亚洲精品高清视频 | 国产精品欧美激情在线观看 | 欧美日韩一区二区在线观看 | 少妇bbw搡bbbb搡bbb | 久久久麻豆视频 | 精品久久久久久久久亚洲 | 婷婷九九 | 日韩视频免费 | 成人免费观看网站 | 中文字幕在线免费看 | 欧美午夜a | 最近中文字幕在线中文高清版 | 午夜精品久久久久久久99 | 2020天天干夜夜爽 | 在线电影a| 精品免费视频 | 精品久久久久久久久久久久 | 久久免费视频精品 | 91精品导航| 五月婷婷,六月丁香 | 国产成人免费在线 | 日本 在线 视频 中文 有码 | 久久久久福利视频 | 国产精品99久久久久人中文网介绍 | 国产中文字幕在线看 | 91免费看黄色 | 久久一视频 | 视频在线观看入口黄最新永久免费国产 | 91欧美视频网站 | 久久久在线视频 | 久久九九久久精品 | 中文字幕第一页在线播放 | 特片网久久 | 福利av影院 | 最新午夜电影 | 精品视频| 国产精品乱码高清在线看 | 日韩中文字幕网站 | 免费av在| 成人免费看片98欧美 | 日韩精品一区二区三区水蜜桃 | 81国产精品久久久久久久久久 | 天天做日日做天天爽视频免费 | 国产成人精品久久久久蜜臀 | 亚洲一区 影院 | 久久精品国产精品亚洲 | 91精品小视频 | av免费在线看网站 | 精品国产日本 | 亚洲精品视频在线免费播放 | 国产亚洲在线观看 | 黄色av网站在线观看 | 涩涩网站在线观看 | 成人a级免费视频 | 九九在线免费视频 | 久久久久久久免费观看 | 成人免费观看网站 | 久久精品高清 | 93久久精品日日躁夜夜躁欧美 | 国产精品区在线观看 | 国产高清黄 | 超碰免费97| 黄污视频大全 | 亚洲精品国产精品国自产观看 | 日韩激情精品 | 中文字幕视频网站 | 亚洲aaa级| 日韩中文字幕免费在线播放 | 欧美精品网站 | 欧美性成人| 在线观看国产日韩 | 91亚洲国产| 综合色爱| 在线观看午夜av | 91麻豆免费版| 欧美日高清视频 | 婷婷丁香五 | 香蕉在线观看视频 | 亚洲精品男人的天堂 | 狠狠操电影网 | 亚洲精品视频观看 | 亚洲一区视频在线播放 | 2022久久国产露脸精品国产 | 国产精品免费看 | 亚洲美女视频网 | 五月婷网 | 国产97视频在线 | 亚州精品天堂中文字幕 | 日日干夜夜骑 | 日韩av成人| 国产精品久久久久永久免费 | 人人澡人人爽欧一区 | 免费看的黄色 | 韩国一区二区三区视频 | 精品国产一区二区三区久久久久久 | 一级黄色免费 | 国产精品99久久久久久大便 | 在线观看国产亚洲 | 亚洲成人av片 | 国产91勾搭技师精品 | 日韩一区二区三区观看 | 国产精品美乳一区二区免费 | 日韩黄色软件 | 亚洲国产精品va在线看黑人动漫 | 五月天丁香 | 亚洲欧洲在线视频 | 国产成人精品午夜在线播放 | 中文字幕在线网址 | 国产精品自产拍在线观看蜜 | 在线视频免费观看 | 国产精品1024 | 99视频偷窥在线精品国自产拍 | 操综合| 九草在线视频 | 久久精品成人欧美大片古装 | 日韩理论片中文字幕 | 四虎影视成人精品国库在线观看 | 天天天在线综合网 | 欧美巨乳波霸 | 九九九九九九精品 | 欧洲av在线| 久久精品视频网址 | 国产成人免费在线 | 九九热久久免费视频 | 伊甸园av在线| 波多野结衣在线观看视频 | 狠狠干夜夜操 | 亚洲一区日韩精品 | 免费看片黄色 | 久久久久久久久久久久国产精品 | 国产精品国内免费一区二区三区 | 久久精品中文字幕一区二区三区 | 久草在线资源观看 | 中文字幕韩在线第一页 | 青春草国产视频 | 免费看av在线 | 久久精品日产第一区二区三区乱码 | 福利精品在线 | 国产精品久久久久久久久久久久午夜 | 国产精品久久亚洲 | 成人av av在线| 久久久久亚洲天堂 | 免费a现在观看 | 九色免费视频 | 欧美日韩一区二区在线观看 | 久久久久久99精品 | av性网站| 天天鲁天天干天天射 | 一区二区中文字幕在线观看 | 91精品视频在线看 | 少妇搡bbbb搡bbb搡69 | 国产精品地址 | 久久九九国产视频 | 欧美a级成人淫片免费看 | 天天综合网天天综合色 | 激情欧美一区二区三区 | 久久久精品久久 | 操操操综合 | 欧美国产亚洲精品久久久8v | 五月婷网 | 日韩av免费在线电影 | 一区二区三区高清不卡 | 蜜臀av网站 | 五月婷香 | 亚洲资源片| 91精品国产乱码在线观看 | 日本不卡123| 婷婷五天天在线视频 | 国产黄a三级三级三级三级三级 | 免费欧美精品 | 久草视频在线免费 | 五月天天色 | 97超碰在线资源 | 日韩电影精品一区 | 少妇精品久久久一区二区免费 | 久久香蕉国产精品麻豆粉嫩av | 香蕉视频在线观看免费 | 综合久久五月天 | 夜夜看av| 亚洲欧美视频在线观看 | 国产精品久久久久久高潮 | 精品99久久 | 日韩三级免费 | 在线免费观看视频 | 午夜久久福利影院 | 久久影院精品 | 美女视频黄的免费的 | 久久精品亚洲综合专区 | 热久久这里只有精品 | 欧美三级高清 | 欧美极品久久 | 国产精品一区二区62 | av免费在线网 | 香蕉影院在线观看 | 高清久久久 | 久久久久激情 | 天天综合天天做天天综合 | 一区二区久久久久 | 欧美另类巨大 | 亚洲一区二区三区四区精品 | 国产香蕉97碰碰久久人人 | 精品国产中文字幕 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 亚洲精品456在线播放 | 亚洲精品在线资源 | 国产亚洲小视频 | 亚洲免费不卡 | 伊人天天干 | 日韩在线视频网 | 99产精品成人啪免费网站 | 久久99精品久久只有精品 | 久久国产精品区 | 日韩最新在线视频 | 亚洲欧美999| 国产成人在线免费观看 | 免费无遮挡动漫网站 | 成人资源在线观看 | 国产毛片久久久 | 欧美极品xxxxx | 久草综合视频 | 天天曰夜夜操 | 久久人人爽人人片 | 久久公开免费视频 | 五月天色婷婷丁香 | 免费美女久久99 | 综合中文字幕 | 精品久久久久久久久久久院品网 | 久久1电影院 | 国产精品久久99综合免费观看尤物 | 婷婷激情小说网 | 亚洲精欧美一区二区精品 | 亚洲精品在| 欧美激情视频一区二区三区 | 午夜视频黄 | 国产精品视频全国免费观看 | av在线播放国产 | 国产高清99| 婷婷丁香狠狠爱 | 日日干精品 | 日韩精品久久久久久中文字幕8 | 欧美另类高清 videos | 欧美电影在线观看 | 九九九在线观看视频 | 中文字幕人成乱码在线观看 | 国产在线日韩 | 国产精品久免费的黄网站 | 色狠狠久久av五月综合 | 天堂va在线观看 | 国产91精品一区二区麻豆亚洲 | 久久久久久毛片精品免费不卡 | 99riav1国产精品视频 | 亚洲精品在线观看网站 | 99精品电影 | 欧美坐爱视频 | 综合色播 | 日韩无在线 | 天天干天天拍 | 久久久久久久久久久黄色 | 俺要去色综合狠狠 | 欧美日韩一区久久 | 九色91福利 | 国产精品美女999 | 欧美日韩中文在线观看 | 天天艹日日干 | 少妇视频一区 | 五月天婷婷丁香花 | 久久字幕网 | 国产一级高清 | 免费在线播放视频 | 国产精品免费在线视频 | 精品国产一区二区三区免费 | 国产精品高清在线 | 91大神dom调教在线观看 | 成人av电影免费观看 | 国产精品美女毛片真酒店 | 国产成人久久精品一区二区三区 | 精品国产乱码久久久久久久 | 亚洲成av人片 | 中文字幕一区2区3区 | 久久国产综合视频 | 国产一区二区三区在线 | 色综合久久综合中文综合网 | 国产呻吟在线 | 91精品国产电影 | 中文字幕免费在线 | 24小时日本在线www免费的 | 免费成人在线视频网站 | 五月的婷婷 | 人人澡人人舔 | 婷婷精品国产一区二区三区日韩 | 久久久久欧美精品999 | 国产99久久久精品 | 国产尤物视频在线 | 国产一级片播放 | 久久dvd| 中文字幕黄色av | 久久久久久久av麻豆果冻 | 午夜影院三级 | 麻豆影视网 | wwwwww黄 | 色.www| 99电影| www欧美日韩 | 麻豆影视在线播放 | 久久久久久久久毛片精品 | 在线看污网站 | 亚洲精品自拍 | 一区二区三区不卡在线 | 久久久久美女 | 久久久久久久久久久久电影 | 国产在线观看免费观看 | 国产成人一区二区精品非洲 | 97精品超碰一区二区三区 | 欧美一区二区在线刺激视频 | 伊人色综合网 | 日韩av一区在线观看 | 久久久久久久久福利 | 久久久久国产一区二区 | 日韩视频一区二区在线观看 | 国内视频在线 | 日日操狠狠干 | 亚洲自拍偷拍色图 |